• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Script Requests/Sharing/Discussion

Status
Not open for further replies.
Zel said:
Well, once again I'm getting into pokescript when I don't really use it hehe... XD

But, it seems to have the same problem with the givepokemon command. All of you, if you want to use the givepokemon command, you must use it as your last command (of course you need "end" after it), else it will truncate your script, in your specific case, it will not reproduce the message "you received a Zigzagoon", and will not set the flag, thus making the event keep repeating as you keep talking to the person.

So, as a suggestion for Irish Witch, maybe you should try to, when you are compiling, if you find a givepokemon command, put it in the bottom of the script, or something, so they can put it anywhere, and the program makes the work. ;)

Actually I just made an important discovery. I knew it didn't have to be last because of this post I made back here: A Professional Give Pokemon Script this is a fully tested script that have used in my own hack that not only gives you a pokemon but has a clause in it so the script wont crash if you already have a full party and also lets you rename the pokemon.....

so I just tried putting a bunch of #raw 0 after the givepokemon command and your script worked.
Spoiler:

Givepokemon must just take too long to process so stuff written after that sometimes gets ignored.

I also fixed the following;
$Whatisit 1= You Recieved a zigzagoon!
- Needs a space between 1 and =
givepokemon 0x288 5 0
- 288 is zigzagoon, not 0x288

When I compile with these changes your script worked fine.
Next build will have the #raw 's built into the givepokemon command, keep and eye out for the update.
 
Last edited:
no i didnt forgot the $ and i dont really think there is something wrong with the script becouse zel/RinniP helped really much with it and with making pokescript so i could compile it actually if u readed one page back/two


Spoiler:
 
Pkay.. Now I get it...
Monkey: Just do this:
Code:
#org $StartMarket
lock
faceplayer
pokemart $marketValues
release
end

#org $marketValues
#binary int 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8
#binary int 0x9 0xa 0xb 0xc 0x13 0x14 0x0

Zel,
I was doubtful about those commands in the first place. All this trouble and that was all that was needed....
.... I assume you did test that script first, and if so what rom. Maybe all this problem was a r/s vs fr/lg thing. That command aparantly wasn't necessary in ruby.
(And no, it's not a difference in my program. I tried compiling your script with pokescript AND with scripted. They both crashed in the same manner!)

Also: Settle this for me.. When I was looking at scripted's source code it seamed to behave the same way mine does.
Put 0x (or &h) in front and it's hex. Leave it out and it's decimal.....
... Is that or is that not the case, or is it maybe only like that in a certain version of scripted :/

Originally Posted by foofatron said:
Spoiler:


I doesn't work i type it in the people offsets and it doesn't work.The person just stands there and says nothing.

Um, my very first suggestion is re-organising your offsets so their not jumping around all over the place. Like This:
Spoiler:
 
Last edited:
its just the same script u posted before so this one:

Code:
#org $StartMarket
lock
faceplayer
pokemart $marketValues
release
end

#org $marketValues
#binary int 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8
#binary int 0x9 0xa 0xb 0xc 0x13 0x14 0x0
 
Pics attached from my run of the script...

Try putting the script on a fresh rom (no changes on it). If it works then it means you somehow stuffed up the rom with all the mucking around we did earlier.

If thats the case, I hope you kept the buffer files. It will save you having to re-compile if you just open the buffer files all at once, burn them and plug in the new offsets into your maps!
 
k will try it with clean rom will edit later

edit: yup now it works:) to bad i can start over again for me hack:(
 
Last edited:
That's something I'm actually working towards.. I'm currently working on a record editor for changing stuff like trainer info etc, and once I'm done with that I'll hook it into a project manager.
Literally: when you open a rom with the project manager it creates a folder for your hack containing all the .buf files, undo data, a copy of the original rom, and a history of everything you did to it.
If something you put into the rom stuffs it up you can then select 'Undo' to restore it.... And if it's really bad you can tell it 'Re-Compile All', deselect anything you think might have caused problems and save time re-constructing your rom!
 
Here is how I do it I put a script sign thing then a person and type in the offset $800000 on the person and the script thing so it looks like this. [P]
 
Woi.....
Everyone in here... please help me...

Does anyone know how to make shiny poke battle...???

one more, what the fuction of
writebytetooffset
callasm
killscript
in scripted...
 
This is taken from the info for rubikon (the language of scripted) on my website and is copied almost verbatim from scripteds documentation:

Code:
 Advanced Commands

I strongly advise not fiddling with these commands. They are strictly for advanced users only and the practical uses of many of them are still questionable.

KILLSCRIPT
Removes a script from a script bank and clear all values, flags and script stuff.

LOADPOINTER <bank> <pointer>
Loads data from a location into a script bank. Can be used for a number of things, including displaying text.

COPYSCRIPTSBANK <bank1> <bank2>
Copy information from one script bank to another.

COPYBYTE <pointer> <pointer>
Copies a byte from location 1 to location 2

COPYVARIFNOTZERO <variable> <Variable>
Copies the data in system variable A to system Variable B

CALLASM <pointer>
Calls a non-standard system routine not represented in this command structure.

WRITEBYTETOOFFSET <byte> <pointer>
Writes a byte to an offset

LOADBYTEFROMPOINTER <bank> <pointer>
Opposite of above
In other words its stuff that could be used for a number of things, but we aren't sure what yet.


As for shiney pokemon battles. The only sure way we know is to hack a make a backup pokemon (there are blanks in the list) and give it a different color scheme. There may be a way to force a shiny battle using a combination of the commands above but I don't think anybody knows it!
 
How would i make it so you talk to a person, and a battle with mew starts?
 
Maybe any one know
what i have to put into script that the people will desapire after end of script
 
Zel,
I was doubtful about those commands in the first place. All this trouble and that was all that was needed....
.... I assume you did test that script first, and if so what rom. Maybe all this problem was a r/s vs fr/lg thing. That command aparantly wasn't necessary in ruby.
(And no, it's not a difference in my program. I tried compiling your script with pokescript AND with scripted. They both crashed in the same manner!)

Also: Settle this for me.. When I was looking at scripted's source code it seamed to behave the same way mine does.
Put 0x (or &h) in front and it's hex. Leave it out and it's decimal.....
... Is that or is that not the case, or is it maybe only like that in a certain version of scripted :/

Of course I tested the script, since, in fact, that's what I've been using all along in my hack! :P
And, everything I always say is for Fire Red, that's all I know of, anyway. That's why I always say to be careful if I say something for FR, and you want to try it on R/S/E.

I don't know what you did when you were compiling, but here are my results...

Spoiler:


[EDIT]: By the way... I have Scripted version 1.0.0.3, are we on the same wave?

Anyway... Since the problem has been solved. Then that settles it, I think. Peace! :D

How would i make it so you talk to a person, and a battle with mew starts?

Basically, by using the wildbattle command. It should go like this:

#org 0xSomewhere
wildbattle 0xPoke 0xLevel 0xStyle
end


Of course, this would be the easy way, and it would keep repeating, to avoid that, just use flags.

#org 0xSomewhere
checkflag 0xMyFlag
if 0x1 jump 0xSomewhere2
setflag 0xMyFlag
wildbattle 0xPoke 0xLevel 0xStyle
end

#org 0xSomewhere2
release
end

Additionally, if you use the "MyFlag" value in the sprite's People ID (in AdvanceMap), the sprite will dissappear as soon as you end the battle.

Problem with this simple script is that the battle may end because of fainting the opponent, catching it, or simply running away. The script would be a bit more complicated to forbid the run. I haven't done that yet.

Maybe any one know
what i have to put into script that the people will desapire after end of script

Using flags, as always. Basically, it is what I told before. Setting a flag, and putting it into the corresponding sprite's People ID value. Of course, applymovements are a must so that first the sprite would walk away (and move it somewhere it cannot be seen, 'cause the dissappearing will take effect once you reload the map, by entering a house, or switching maps), and I think that's what you need, right?
 
Last edited:
And, everything I always say is for Fire Red, that's all I know of, anyway. That's why I always say to be careful if I say something for FR, and you want to try it on R/S/E.

I don't know what you did when you were compiling, but here are my results...

.....

Oh, and when it comes to the compilation of the "weird part" of hex without 0x, what it does is...

Spoiler:


By the way... I have Scripted version 1.0.0.3, are we on the same wave?

Anyway... Since the problem has been solved. Then that settles it, I think. Peace! :D

:t143: Yeah, it must be specifically a FR/LG thing. My guess is that it has something to do with the way it displays on the screen because the pokemart command isn't a construct or anything and as I said. Compiled in Scripted it behaved the same way....

As for my version of Scripted itself.... The Fileversion of the compiled one is 1.00.0003
but I suppose I don't know whether the source was an earlier version. I Think it's the same...... It came in a package with the Elitemap37 source just like Elitemap37 itself.....
*shrug*

:t315: Thanks for helping me find another bug in my program btw.. If people don't throw weird stuff at it I never find stuff like Rinni reported to me!

Problem with this simple script is that the battle may end because of fainting the opponent, catching it, or simply running away. The script would be a bit more complicated to forbid the run. I haven't done that yet.

I have a partial answer to this, but I have yet to make sense of it.
Using gameshark the following command will mark you as having 'caught' all pokemon. This command (to my knowledge) sets all the little binary flags that represent 'Caught Pokemon' and 'Seen Pokemon'
I know that by using ComparefarByte command it should be possible to check for a specific pokemon but I have yet to figure out the memory addresses from this command.....

If you have any idea by all means enlighten me:
Spoiler:


That and with everything else I haven't really played with them all that much...
 
Last edited:
I'm working with Firered and can't seem to get the script right. I'm trying to emulate the givepokemon script in Oak's PokeBalls. Here's the script:
Code:
#org 0x800000
lock
faceplayer
checkflag 0x10
if 0x1 call 0x800100
msgbox 0x800150
callstd 0x5
compare LASTRESULT 0x1
if 0x1 jump 0x800200
release
end

#org 0x800100
msgbox 0x800300
callstd 0x6
release
end

#org 0x800200
setflag 0x10
msgbox 0x8800250
callstd 0x6
givepokemo 0x98 0x5 0x8B
release
end

#org 0x800150
= Do you want the GRASS POKeMON\nCHIKORITA?
#org 0x800300
= It's one of the many POKeBALLs PROF.\nMAPLE has set out for new TRAINERs.
#org 0x800250
= You recieved a CHIKORITA from PROF.\nMAPLE!
Everything's just fine in the script except when it's over. I set the people ID to 0010, like the flag, yet it doesn't disappear... And when I reload the map the sprite is still there, the script repeats itself, and you can get the Chikorita again. Other than that, the flags and script work all right. It would be nice to have the, "You got a Pokemon," music go off and be able to name it when you recieve Chikorita though. Any help? Did I get the script wrong?
 
Well, at the moment your missing the n on givepokemon....

Also, try this idea. We've discovered that the givepokemon command seams to take time to process. It's possible it's causing the release command to be missed and messing up the changes from the setflag command.

Try writing that last function like this:

#org 0x800200
setflag 0x10
msgbox 0x8800250
callstd 0x6
givepokemon 0x98 0x5 0x8B
#raw 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
release
end

The #raw statement equates to a chunk of NOP commands and will make sure the script has time to finish before releaseing the sprite. You may have to shuffle the offsets for you text along 0xf bytes if you try this.
 
I'm wondering is there any way of having a pokemon follow you around in Fire Red like pikachu did in yellow?

And i need a script to have the player start out with two pokemon instead of one. The second one is a predetermined one in slot 275.
 
Okay, this is more difficult of a question.
So, I commend anyone who gets this.

This is a "Trading" script, not via link, but in the game, from computer to you.

Okay, my problem is... I compile a script, but after the script compiles, all the stuff I put in there is gone.
And yes, I'm using Free Space I found on the rom.

Here's it before compiling.
Code:
'-----------------------
#org 0x6D5EF4
#autobank on
lock
faceplayer
checkflag 0x99
if 0x1 goto 0x6D5F0E
setvar 0x8008 0x0
copyvar 0x8004 0x8008
special2 LASTRESULT 0xFC
copyvar 0x8009 LASTRESULT
msgbox 0x86D5F28 '"Do you nickname your..."
callstd 0x5
compare LASTRESULT 0x0
if 0x1 jump 0x6D5F42
special 0x9F
#raw 0x27
copyvar 0x800A 0x8004
compare 0x8004 0xFF
if 0x1 jump 0x6D5F42
copyvar 0x8005 0x800A
special2 LASTRESULT 0xFF
copyvar 0x800B LASTRESULT
#raw 0x22
killscript
#raw 0x80
callstd 0x80
if 0x5 goto 0x6D5F5C
copyvar 0x8004 0x8008
copyvar 0x8005 0x800A
special 0xFD
special 0xFE
#raw 0x27
msgbox 0x86D5F76 '"Eheheheh, ooh, this ..."
callstd 0x4
setflag 0x99
release
end

'-----------------------
#org 0x6D5F0E
msgbox 0x86D5F90 '"Don't you get curiou..."
callstd 0x4
release
end

'-----------------------
#org 0x6D5F42
msgbox 0x86D5FAA '"Aww, it's a good POK..."
callstd 0x4
release
end

'-----------------------
#org 0x6D5F42
msgbox 0x86D5FAA '"Aww, it's a good POK..."
callstd 0x4
release
end

'-----------------------
#org 0x6D5F5C
#raw 0x7D
nop
callstd 0x80
msgbox 0x86D5FC4 '"But that's no \v\h02..."
callstd 0x4
release
end


'---------
' Strings
'---------
#org 0x6D5F28
= Do you nickname your POKéMON?\nI gave a cool name to mine.\pBut when I call my POKéMON by that\nname, people laugh at me...\pIf it's okay with you, want to trade\nyour \v\h02 for my \v\h03?
#org 0x6D5F76
= Eheheheh, ooh, this is so exciting!
#org 0x6D5F90
= Don't you get curious about what other\npeople named their POKéMON?
#org 0x6D5FAA
= Aww, it's a good POKéMON...
#org 0x6D5FAA
= Aww, it's a good POKéMON...
#org 0x6D5FC4
= But that's no \v\h02.\nTch, that's so disappointing...

Here it is after.
Code:
'-----------------------
#org 0x6D5EF4
lock
faceplayer
checkflag 0x99
if 0x1 call 0x6D5F0E
setvar 0x8008 0x0
copyvar 0x8004 0x8008
special2 LASTRESULT 0xFC
msgbox 0x86D5F90 '"Don't you get curiou..."
callstd 0x4
release
end

'-----------------------
#org 0x6D5F0E
msgbox 0x86D5F90 '"Don't you get curiou..."
callstd 0x4
release
end


'---------
' Strings
'---------
#org 0x6D5F90
= Don't you get curious abouAww, it's a good POKéMON..But that's no \v\h02.\nTch, that's so disappointing...
#org 0x6D5F90
= Don't you get curious abouAww, it's a good POKéMON..But that's no \v\h02.\nTch, that's so disappointing...

And here is what it says in ScriptED
ScriptED said:
Spoiler:

Thanks. Good Luck!
 
Status
Not open for further replies.
Back
Top