• 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.
I need a script please:

I need a script that enables you the Nat Pokédex I already have the text:

Hey you!\nYou have a Pokédex right?\pHi! my name is Celio.\pI come from a far region\nnamed Kanto.?\pI work at the ONE\nISLAND with BILL.\p Oh sorry! I see you\nhave to go.\p Let me update your\nPokédex really quick!\p...........\n...........\p............\pNow you have the Nat.\nPokédex\pSee You! I'll be here\nstudying some rare\nPokémon..

and this text like the text when you talk to the people after the event:
Hi! I have seen some\nSHINX aruond here!\p You should look for one!



Thanks Bye!
 
For anyone that needed them(other than me)here are all of the Pokescript commands.

NOP
Does absolutely nothing

END
Ends the currently running script

RETURN
Returns to the previous script location after the use of CALL or GOSUB

IF <value> goto/call <pointer>
The if statement checks the value of the LASTRESULT variable, which is set by a compare statement or a statement like checkgender. After checking it will perform either a goto or a call function as described above. Alternately you can use the words JUMP and GOSUB

SETVAR <variable> <value>
Sets one of 60,000 odd system variables to a specific value. Can be used to refer to objects on the maps or for processing complex data.

COMPARE [CONSTRUCT]
In it's natural form it compares one of the system variables to any given value. The result is then placed at location &H800D (Defined as LASTRESULT) so you can look at it with the if statement.
It is also possible however to use the keywords var, byte, and farbyte to make comparisons between system variables, byte values and values at a specific pointer.
Therefore valid uses of this command are:

compare <variable> <value>
compare var <variable> var <variable>
compare var <variable> byte <value>
compare var <variable> farbyte <pointer>
compare farbyte <pointer> var <variable>
compare farbyte <pointer> byte <value>
compare farbyte <pointer> farbyte <pointer>

CALL <pointer>
Alias: GOSUB <pointer>
Executes a script at another location, returning to the original script when a RETURN command is called.

GOTO <pointer>
Alias: JUMP<pointer>
Causes script execution to continue at another location but cannot be returned from.

PAUSE <delay>
Pauses script execution to a number of seconds.

SETFLAG <index>
Sets one of 60,000 odd boolean flags that are stored in the players save game file. These can be used to make changes to the game or map that will be kept after the game is turned off.

CLEARFLAG <index>
Clears one of 60,000 odd boolean flags that are stored in the players save game file. These can be used to make changes to the game or map that will be kept after the game is turned off.

CHECKFLAG <index>
Checks the state of one of 60,000 odd Boolean flags that are stored in the players save game file. These can be used to make changes to the game or map that will be kept after the game is turned off.

MESSAGE <pointer>
Alias: msgbox <pointer>
Loads text from a location into memory for displaying on the screen. Usually followed by BOXSET.

BOXSET <type>
Alias: callstd <type>
Displays the text loaded by MSGBOX and updates the screen. Type of boxes are:
0 - 'Find Object'
1 - 'Obtained Object'
2 - 'Recieved Pokemon'
5 - 'Yes/No'
6 - Text Box


Pokemon Commands
These commands are specific to pokemon and the game of pokemon and may change between editions of the game.... Maybe.

JINGLE
Plays a sound effect

CHECKGENDER
Checks the gender of the player and puts the result in LASTRESULT

FACEPLAYER
If script called from an object/person on the map then it causes that person to face the player.

LOCK
If script called from an object/person on the map then it causes any movement for that person to halt.

RELEASE
If script called from an object/person on the map then it restore movement to that person after the use of LOCK.

CRY <bank> <Species>
Plays the cry of a specific pokemon. Mainly used for overworld pokemon.

WARP <map bank> <map no> <warp exit>
Causes the player to be transferred to a warp icon on a specific map.

CHECKITEM <item no>
Checks if an item is in the players inventory.

DELETEITEM <itemno> <count>
Removes x number of specified item.

GIVEITEM <Item> <count>
Gives the player x number of specified item.

APPLYMOVEMENT <sprite no> <Pointer>
Attached the movement data at the pointer location to a specific sprite on the calling map.

PAUSEMOVE <method>
Method is currently not been explored but with a value of 0 this will pause the script until all movement commands have been processed

TRAINERBATTLE <Type> <Trainer> (ptr Intro) <ptr Defeat>
Instigates a trainer battle with the three pointer being the challenge text, defeat text and rebattle text.
Known types are:

0 - Normal Battle
1 - Gym Battle
2 - Normal battle no logging
3 - Gym Battle No logging : Used for re-battle
4 - Dual Battles
5 - Rebattle.

COUNTPOKEMON
Deposits the number of pokemon in your party into address 0x8004. Can be checked with compare or used by namepokemon.

SELECTPOKEMON
Displays the 'Select Pokemon' Dialog and places the location of the selected pokemon in 0x8004.

GIVEPOKEMON <pokemon> <level> <item>
Gives the player a wild pokemon and registers it. Location in party of new pokemon placed in 0x8004

NAMEPOKEMON
Opens the rename dialog effecting the pokemon specified in address 0x8004

POKEMART <pointer>
Opens the pokemart menu using data at the given pointer.

WILDBATTLE <race> <level> <mode>
Cues a wild battle, useful for overworld pokemon such as legendary pokemon.
Mode indicates the appearance of the battle and must be a value between 1 and 4. If ommitted 1 will be used by default.

SETWEATHER <value>
Sets the current weather in preperation for doweather.

DOWEATHER
Causes the newly set weather to take effect.


System Commands
These commands perform graphics and audio effects and are not specific to the game.

FADESCREEN <mode>
Causes the screen to fade in or fade out according to a value (1 or 0)

FADEIN
Causes newly set music to fade into the foreground.

FADEOUT
Causes the currently playing music to fade into the default map music.

FANFARE <song number>
Plays backgroud music

WAITFANFARE <song number>
Waits for music triggered with Fanfare to stop playing

PLAYSOUND <song number>
Plays music.

FADESOUND <song number>
Fades from current song into another.

MOVESPRITE <sprite> <x> <y>
Causes the specified sprite to simply disappear then reappear elsewhere.

SETMAPTILE <x> <y> <tile no> <attributes>
Sets the tile at a position on the current map to a different value and state.

SPECIAL <command>
Calls a special script designed specifically for pokemon, such as the choose pokemon script.

SPECIAL1 <variable> <command>
Similar to SPECIAL but can return a value in the specified variable.

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>

LOADBYTEFROMPOINTER <bank> <pointer>
 
Code:
#org $begin
Lock
Faceplayer
applymovement 0x3 $exxclamation
message $speechshow
boxset 6
release
end

#org $exxclamation
$exxclamaion 1 ; #binary 0x57

#org $speechshow
$speechshow 1 = Argh! Its just you! If you\ ever get a chance, I would\ prefer a doughnut than a coffee.

hmm well ive done this script it pauses anyone know ehy or maybe fix it?
 
On this command:"CRY <bank> <Species>
Plays the cry of a specific pokemon. Mainly used for overworld pokemon."
What do I put in the <bank> part? (sorry if it's a stupid question, I'm still new to this.:\)
 
Code:
#org $begin
Lock
Faceplayer
applymovement 0x3 $exxclamation
message $speechshow
boxset 6
release
end

#org $exxclamation
$exxclamaion 1 ; #binary 0x57

#org $speechshow
$speechshow 1 = Argh! Its just you! If you\ ever get a chance, I would\ prefer a doughnut than a coffee.

hmm well ive done this script it pauses anyone know ehy or maybe fix it?

Here I'll fix your script.
Code:
#org $begin
Lock
Faceplayer
applymovement 0x3 $exxclamation
message $speechshow
boxset 6
release
end

#org $exxclamation
$exxclamaion 1 ; #binary 0x57 0xFE

#org $speechshow
$speechshow 1 = Argh! Its just you! If you\n ever get a chance, I would\l prefer a doughnut than a coffee.

On this command:"CRY <bank> <Species>
Plays the cry of a specific pokemon. Mainly used for overworld pokemon."
What do I put in the <bank> part? (sorry if it's a stupid question, I'm still new to this.:\)

It's not that stupid. You'd be surprised how people have asked this. Use this as an example. This is a cry for lugia. Just change the second number.
cry 0xA1 249
 
Here I'll fix your script.
Code:
#org $begin
Lock
Faceplayer
applymovement 0x3 $exxclamation
message $speechshow
boxset 6
release
end

#org $exxclamation
$exxclamaion 1 ; #binary 0x57 0xFE

#org $speechshow
$speechshow 1 = Argh! Its just you! If you\n ever get a chance, I would\l prefer a doughnut than a coffee.



It's not that stupid. You'd be surprised how people have asked this. Use this as an example. This is a cry for lugia. Just change the second number.
cry 0xA1 249


Goly god thethethe is a massive help in this thread thank you.
 
Hey all! It's me again... I have a question.., though...

how can I activate the Pokemon Menu, this time, in a Ruby ROM..?

I'm ginna use that knowledge for future use.

Thanks in advance and good day to all!
Code:
[B]Ruby - Sapphire
setflag 0x800 - Turn on PokeMenu
setflag 0x801 - Turn on Pokedex
setflag 0x802 - Turn on Pokemon Navigator
setflag 0x807-80E - all badges 
special 0x9C - ChoosePokemon (choose starterpokémon)
special 0x9D - WallyCatch (Wally catch the ralts..)[/B]
There you go, next time search. :)
 
I have a problem with a wild battle script I typed up, It works
fine when I talk to the npc in the game but then after I kill/catch the pokemon it is still there afterwards, but if I leave and return it won't be there. How can I make it vanish right after battle? Heres the script I used
Code:
#org $start
cry 0xA1 112
pause 0x10
message $rhydon
$rhydon 1 = RAAAAWWRRRRR!!
boxset 6
wildbattle 112 50 2
setflag 0x200
fadescreen 0
release
end
 
Will this script work? I know I have to add movement in but is there anything else that I'm missing:

#org $startscript
lock
faceplayer
checkflag 200
if B_True goto $goahead
message $nope
$nope 1=you can't go through.
release
end

#org $ok
message $goahead
$goahead 1=Alright\lyou can go through.
(movement would go here so she/he could move out of the way)
end

And it would be used along with this:

#org $youcan
lock
faceplayer
message $dddddd
$dddddd 1=you can leave the town\lnow.
set weather <wather goes here>
do weather
message $storm
$storm 1=I don't know if it's safe now.
release
end
 
seems ok the only thing is the command do weather u wrote it with the space but it's "doweather". and it doesn't work XD it's = to my previous post. if u can make it work, tell me.

Spoiler:
 
help

can i have a script what makes a person disapeer when you beat the indigo plateu it is for pokemon leafgreen. and i dont mean make me disapeer make a person who stand still disappers
 
Code:
#org $begin
Lock
Faceplayer
applymovement 0x3 $exxclamation
message $speechshow
boxset 6
release
end

#org $exxclamation
$exxclamaion 1 ; #binary 0x57

#org $speechshow
$speechshow 1 = Argh! Its just you! If you\ ever get a chance, I would\ prefer a doughnut than a coffee.
It pauses and goes to some jibaish thing!
Does it have anything to with that im hacking ruby?
The game freezes
 
How do I make event Pokemon?

How do I make event Pokemon, like Articuno, when you talk to it, you battle it. How do I do that? I need to know for FireRed cause I'm making a hack, also I want the battle to have the Legendary Battle music, you need PokeScript or something like that right? I just don't know how to use it, if you know how to help me I'd appreciate it, thank you.
 
I need help with Poke Event scripting I know NOTHING about scripting and I need help, I need Poke Event scripts for the following Pokemon in FireRed.

Drsgonite: Level 70 (Mewtwo Battle Music)

Mew: Level 50 (Deoxys Battle Music)

Raikou: Level 50 (Legendary Bird Battle Music, I know RS has a Legendary Beast Remix, I dunno about FR, if FR does please use that music for the beasts instead of the bird music)

Entei: Level 50 (Legendary Bird Battle Music, I know RS has a Legendary Beast Remix, I dunno about FR, if FR does please use that music for the beasts instead of the bird music)

Suicune: Level 50 (Legendary Bird Battle Music, I know RS has a Legendary Beast Remix, I dunno about FR, if FR does please use that music for the beasts instead of the bird music)

Celebi: Level 50 (Deoxys Battle Music)

Regirock: Level 50 (Legendary Bird Battle Music)

Regice: Level 50 (Legendary Bird Battle Music)

Registeel: Level 50 (Legendary Bird Battle Music)

Latias: Level 60 (Mewtwo Battle Music)

Latios: Level 60 (Mewtwo Battle Music)

Kyogre: Level 70 (Mewtwo Battle Music)

Groudon: Level 70 (Mewtwo Battle Music)

Rayquaza: Level 70 (Mewtwo Battle Music)

Jirachi: Level 50 (Deoxys Battle Music)

Deoxys (I don't like how he's level 30): Level 60 (Deoxys Battle Music)

If anyone has the time to make me these scripts I'd greatly appreciate it, also when you post em, could you explain how to import the scripts into the ROM, I don't know how to, :(
 
Last edited:
Hi everyone! It's me again.

I wanna ask how does the 'fademusic' works...

Example, the map music is LITTLEROOT...

1. in the first part of the script, should I put fademusic first so the current music will stop playing..?

2. is the music gonna play again after the script, or should I put playsound in the last part of the script..?

3. (if #2's answer is a 'put s playsound') what's the music number of the music in PETALBURG WOODS in Ruby..?

Thanks in advance.
 
Status
Not open for further replies.
Back
Top