• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • 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.
Hi All!

I was just wondering if anyone could have a quick look at this script and let me know if I have made any errors in it. It just doesn't seem to run. When I enter the script tile, the game just freezes! :\

The script is for [People No. 7] to move one step to the left and then talk to the player and give 5 Pokéballs. I am using Ruby btw.

org $start
checkflag 0x200
if B_true goto $done
applymovement 0x07 $move
pause 0x30
message $text
boxset 6
giveitem 0x4 5
setflag 0x200
release
end

#org $done
release
end

#org $move
$move 1 ; #binary 0x06 0xFE

#org $text
$text 1 = I'm sure these will be useful!

Thanks for any help in advance!
 
:O

Can someone tell me whats wrong with this script?
it works fine, but after the battle the guy issnt walking away :S
Code:
#org $starthisscript
checkflag 0x799
if 1 goto $done
applymovement 0x7 $moverival2
$moverival2 1 ; #binary [COLOR="Red"][B]---REMOVED---[/B][/COLOR]
pausemove 0
trainerbattle 0 0x146 $before $after2 $further
$before = [COLOR="Red"][B]---REMOVED---[/B][/COLOR]
$after2 = [COLOR="Red"][B]---REMOVED---[/B][/COLOR]
release
end

#org $done
release
end

#org $further
applymovement 0x7 $moverival111
$moverival111 1 ; #binary [COLOR="Red"][B]---REMOVED---[/B][/COLOR]
pausemove 0
setflag 0x799
#raw 53
#raw 07
#raw 00
release
end
I'm not used to trainerbattle scripts, so can someone tell me whats wrong?
Thanks in Advance or what people say..;)

btw, it is for FireRed
 
What map is Mew on? I can't find the map. If I can find the map, I can find the script, because I'd assume that it's similiar to the "Ghost," a special is used after the battle to make it a "special" battle.

i put it in on the 1st town to test the script as i said it is before you get the pokedex
 
Thanks thethethethe. But now I have 2 more questions for anyone.

First is: How would you make a command to activate a pokemon Cry? I checked Irish Witch's tutorial, but it's outdated and doesn't work.

Second is: how do you do the setmaptile command?

@Kristian - It could be your offset. Try either 0x07 or just 7.
 
Alright, I'm trying to work on a hack for a new game, and need a bit of assistance, on a certain hack script.

I need a script where you walk up to a character and have to press A to talk to them. The character will be a trainer. (if this is necessary to the script, the character will only have one Pokemon). After the battle, the same trainer will battle the main character as a wild Pokemon (please do not question this) (I am aware that I will have to add the same sprite in two areas, too. =P). Afterwards, the character will finish the battle, and walk back down the stairs. When trying to do so, he will be stopped and a Pokemon will run up to the main character and join his/her party. (if the main character has 6, the pokemon will wait there until the main character come back for it).


This will be on Sky Pillar [Sapphire version], if this information is necessary.


It'd be appreciated if the answer to this could be PMd to me, or if I could be informed that a reply has been made to my request.


If the above isn't possible, please let me know, and I'll see if I can re-write the situation to go within Sapphire's scripting limitations.

Thanks in advance, and credit will be given to whomever helps me with this scripting

Hmm, it seems this was overlooked. I am going to quote this in case somebody who could help me may not have seen it. If there is a rule against this, I apologize, please send me a PM about this, and I'll be sure to not to do so again. :P
 
i put it in on the 1st town to test the script as i said it is before you get the pokedex

Sorry, I meant in a normal FR rom. I want to check the mew script within the rom and see if any specials are used and if any affect the mey obeying you.

Thanks thethethethe. But now I have 2 more questions for anyone.

First is: How would you make a command to activate a pokemon Cry? I checked Irish Witch's tutorial, but it's outdated and doesn't work.

Second is: how do you do the setmaptile command?

@Kristian - It could be your offset. Try either 0x07 or just 7.

Cry isn't coded correctly in the Pokescript Database, use this.
Code:
cry 0xA1 0x<pokemon>
#raw 0x02 0x00

Setmaptile works like this.
I haven't really tested this, but I heard from a reliable source that this works.
Code:
special 0x8E   'I heard that it's needed to be their for the setmaptile to run.
setmaptile 0x<X co-ordinate> 0x<y-co-ordinate> 0x<tile> 0x<movement permission>

@Gamemaster1379
Sorry, I'm just not really in the mood to write scripts. I'm just helping little problems. All the advice I'll give you is this... If you attempt to write the script yourself first. You're more likely to get a response if all people need to do is fix mistakes in a script that doesn't work. If you have a long request, like yours, you probably won't get an answer.
If you don't know how to script, there are lots of good tutorials that you can help you in the process of learning.
 
Sorry, I meant in a normal FR rom. I want to check the mew script within the rom and see if any specials are used and if any affect the mey obeying you.

I didn't think mew was an event in FR/LG and besides that I used an LG rom to test it for later insertion into FR.

These are the offsets I used.
Spoiler:


And this is the code.
Spoiler:
 
Sorry, I meant in a normal FR rom. I want to check the mew script within the rom and see if any specials are used and if any affect the mey obeying you.



Cry isn't coded correctly in the Pokescript Database, use this.
Code:
cry 0xA1 0x<pokemon>
#raw 0x02 0x00

Setmaptile works like this.
I haven't really tested this, but I heard from a reliable source that this works.
Code:
special 0x8E   'I heard that it's needed to be their for the setmaptile to run.
setmaptile 0x<X co-ordinate> 0x<y-co-ordinate> 0x<tile> 0x<movement permission>

@Gamemaster1379
Sorry, I'm just not really in the mood to write scripts. I'm just helping little problems. All the advice I'll give you is this... If you attempt to write the script yourself first. You're more likely to get a response if all people need to do is fix mistakes in a script that doesn't work. If you have a long request, like yours, you probably won't get an answer.
If you don't know how to script, there are lots of good tutorials that you can help you in the process of learning.

I understand, but there's always a slim chance. In the meantime, I'm trying to figure out certain types of script I'll need....What would really help is if I knew how to access the scripts already in the game and look at their coding to figure out which ones I may need. =P
 
I understand, but there's always a slim chance. In the meantime, I'm trying to figure out certain types of script I'll need....What would really help is if I knew how to access the scripts already in the game and look at their coding to figure out which ones I may need. =P

Well, there are few decompilers that can do it for you. There's ScriptED, which, in my opinion, isn't very helpful. There's Scriptdec and Pokemon Script Viewer. They can all be found in the tools section. I'd say scrictdec is the best one to use because it has a more extensive command database than the other 2.
And there is one more option, manually decompiling the script in hex. I'm pretty sure that you won't be doing that.
 
i asked a time before but i dont thing anyone noticed, so i'll as again, is there something wrong with this script? it works fine, but after the trainerbattle the guy issnt walking away.;o
Code:
#org $starthisscript
checkflag 0x799
if 1 goto $done
applymovement 0x7 $moverival2
$moverival2 1 ; #binary [COLOR="Red"][B]---REMOVED---[/B][/COLOR]
pausemove 0
trainerbattle 0 0x146 $before $after2 $further
$before = [COLOR="Red"][B]---REMOVED---[/B][/COLOR]
$after2 = [COLOR="Red"][B]---REMOVED---[/B][/COLOR]
release
end

#org $done
release
end

#org $further
applymovement 0x7 $moverival111
$moverival111 1 ; #binary [COLOR="Red"][B]---REMOVED---[/B][/COLOR]
pausemove 0
setflag 0x799
#raw 53
#raw 07
#raw 00
release
end
I'm not used to trainerbattle scripts, so can someone tell me whats wrong?
Thanks in Advance or what people say..;)

btw, it is for FireRed
 
Cry isn't coded correctly in the Pokescript Database, use this.
Code:
cry 0xA1 0x<pokemon>
#raw 0x02 0x00

Setmaptile works like this.
I haven't really tested this, but I heard from a reliable source that this works.
Code:
special 0x8E   'I heard that it's needed to be their for the setmaptile to run.
setmaptile 0x<X co-ordinate> 0x<y-co-ordinate> 0x<tile> 0x<movement permission>

So if I wanted to make a setmaptile script, I would choose the X and Y and then the number of the tile block?

What I mean is, say I wanted to set Tile 01A6, the water tile for a lake. I would do

Code:
special 0x8E
setmaptile 0x13 0x21 0x01A6 0x?

And what would I do for the movement permission?

Also, I make this script, but

1. After it says message $whoa, The person walks one step too much, but all of the scripts should not make that happen.

2. After the battle, it doesn't continue on Further.

Code:
$org $begin
checkflag 0x828
if 1 goto $done
checkflag 0x201
if 1 goto $done
applymovement 17 $mw1
pausemove 0
message $whoa
boxset 6
applymovement 17 $mw2
applymovement 0xFF $mw2
pausemove 0
applymovement 0xFF $mw3
pausemove 0
applymovement 17 $mw4
applymovement 0xFF $mw4
pausemove 0
message $man
boxset 6
applymovement 7 $mw5
pausemove 0
cry 0xA1 0x131
#raw 0x02 0x00
message $lapcry
boxset 6
message $d
boxset 6
setflag 0x204
setflag 0x828
givepokemon 131 5 8B
jingle
message $gotpoke
boxset 6
#raw 53
#raw 01
#raw 00
message $namepoke
boxset 5
compare LASTRESULT 1
if 0 goto $next
namepoke
applymovement 23 $mw6
pausemove 0
message $hey
boxset 6
trainerbattle 0x00 0x009 $before $after $further
release
end

#org $next
applymovement 23 $mw6
pausemove 0
message $hey
boxset 6
trainerbattle 0x00 0x009 $before $after $further
release
end

#org $namepoke
$namepoke 1 = Would you like to give\nLapras a nickname?

#org $mw1
$mw1 1 ; #binary 0x11 0x13 0x4A 0xFE

#org $whoa
$whoa 1 = Whoa, this is really cool.\nHey, \v\h01, come\psee the Lapras!

#org $mw2
$mw2 1 ; #binary 0x12 0xFE

#org $mw3
$mw3 1 ; #binary 0x10 0x12 0XFE

#org $mw4
$mw4 1 ; #binary 0x10 0xFE

#org $man
$man 1 = Man, that lapras looks so sad.\nMaybe you should\ptry to cheer it\nup, \v\h01.

#org $mw5
$mw5 1 ; #binary 0x11 0xFE

#org $d
$d 1 = Whoa!  Lapras looks\nlike it wants to\pcome with you!\nHere, I have a pokeball.\pHere, catch it!

#org $gotpoke
$gotpoke 1 = You obtained a Lapras!

#org $lapcry
$lapcry 1 = Laaaaa...

#org $mw6
$mw6 1 ; #binary 0x12 0x10 0x10 0xFE

#org $hey
$hey 1 = HEY!  You can't catch\nthe pokemon here!\pGive it back!

#org $before
$before 1 = You won't give it\nback?  Fine, I'll\pbattle you for\nit back!

#org $after
$after 1 = Why you little...

#org $further
message $he
boxset 6
applymovement 23 $mw7
pausemove 0
message $wow
boxset 6
applymovement 17 $mw8
pausemove 0
setflag 0x201
release
end

#org $he
$he 1 = Eh, what the... GAH!

#org $mw7
$mw7 1 ; #binary 0x11 0x11 0x13 0x13 0x13 0x13 0x13 0x13 0x13 0x13 0x60 0xFE

#org $wow
$wow 1 = Wow, \v\h01,\nthat was amazing!\pI can't wait until\nI get my pokemon!\nCome on,\plet's head back to\nmy house.

#org $mw8
$mw8 1 ; #binary 0x11 0x13 0x13 0x13 0x13 0x13 0x13 0x13 0x13 0x60 0xFE

#org $done
release
end
 
i asked a time before but i dont thing anyone noticed, so i'll as again, is there something wrong with this script? it works fine, but after the trainerbattle the guy issnt walking away.;o

I did this a while ago as well, and I kept checking throught it and I couldn't find anything wrong with my script. You've done exactly what I did. I've put the problem in bold. 0 tells the command that it doesn't continue onto further. If it is a "1" it will continue.
Code:
#org $starthisscript
checkflag 0x799
if 1 goto $done
applymovement 0x7 $moverival2
$moverival2 1 ; #binary ---REMOVED---
pausemove 0
trainerbattle [b]0[/b] 0x146 $before $after2 $further
$before = ---REMOVED---
$after2 = ---REMOVED---
release
end

#org $done
release
end

#org $further
applymovement 0x7 $moverival111
$moverival111 1 ; #binary ---REMOVED---
pausemove 0
setflag 0x799
#raw 53
#raw 07
#raw 00
release
end

So if I wanted to make a setmaptile script, I would choose the X and Y and then the number of the tile block?

What I mean is, say I wanted to set Tile 01A6, the water tile for a lake. I would do

Code:
special 0x8E
setmaptile 0x13 0x21 0x01A6 0x?

And what would I do for the movement permission?

Also, I make this script, but

1. After it says message $whoa, The person walks one step too much, but all of the scripts should not make that happen.

2. After the battle, it doesn't continue on Further.

Code:
$org $begin
checkflag 0x828
if 1 goto $done
checkflag 0x201
if 1 goto $done
applymovement 17 $mw1
pausemove 0
message $whoa
boxset 6
applymovement 17 $mw2
applymovement 0xFF $mw2
pausemove 0
applymovement 0xFF $mw3
pausemove 0
applymovement 17 $mw4
applymovement 0xFF $mw4
pausemove 0
message $man
boxset 6
applymovement 7 $mw5
pausemove 0
cry 0xA1 0x131
#raw 0x02 0x00
message $lapcry
boxset 6
message $d
boxset 6
setflag 0x204
setflag 0x828
givepokemon 131 5 8B
jingle
message $gotpoke
boxset 6
#raw 53
#raw 01
#raw 00
message $namepoke
boxset 5
compare LASTRESULT 1
if 0 goto $next
namepoke
applymovement 23 $mw6
pausemove 0
message $hey
boxset 6
trainerbattle 0x00 0x009 $before $after $further
release
end

#org $next
applymovement 23 $mw6
pausemove 0
message $hey
boxset 6
trainerbattle 0x00 0x009 $before $after $further
release
end

#org $namepoke
$namepoke 1 = Would you like to give\nLapras a nickname?

#org $mw1
$mw1 1 ; #binary 0x11 0x13 0x4A 0xFE

#org $whoa
$whoa 1 = Whoa, this is really cool.\nHey, \v\h01, come\psee the Lapras!

#org $mw2
$mw2 1 ; #binary 0x12 0xFE

#org $mw3
$mw3 1 ; #binary 0x10 0x12 0XFE

#org $mw4
$mw4 1 ; #binary 0x10 0xFE

#org $man
$man 1 = Man, that lapras looks so sad.\nMaybe you should\ptry to cheer it\nup, \v\h01.

#org $mw5
$mw5 1 ; #binary 0x11 0xFE

#org $d
$d 1 = Whoa!  Lapras looks\nlike it wants to\pcome with you!\nHere, I have a pokeball.\pHere, catch it!

#org $gotpoke
$gotpoke 1 = You obtained a Lapras!

#org $lapcry
$lapcry 1 = Laaaaa...

#org $mw6
$mw6 1 ; #binary 0x12 0x10 0x10 0xFE

#org $hey
$hey 1 = HEY!  You can't catch\nthe pokemon here!\pGive it back!

#org $before
$before 1 = You won't give it\nback?  Fine, I'll\pbattle you for\nit back!

#org $after
$after 1 = Why you little...

#org $further
message $he
boxset 6
applymovement 23 $mw7
pausemove 0
message $wow
boxset 6
applymovement 17 $mw8
pausemove 0
setflag 0x201
release
end

#org $he
$he 1 = Eh, what the... GAH!

#org $mw7
$mw7 1 ; #binary 0x11 0x11 0x13 0x13 0x13 0x13 0x13 0x13 0x13 0x13 0x60 0xFE

#org $wow
$wow 1 = Wow, \v\h01,\nthat was amazing!\pI can't wait until\nI get my pokemon!\nCome on,\plet's head back to\nmy house.

#org $mw8
$mw8 1 ; #binary 0x11 0x13 0x13 0x13 0x13 0x13 0x13 0x13 0x13 0x60 0xFE

#org $done
release
end

Since I've never really used the command, I've never tried it. But I'm pretty sure that the movement permission is the same as the movement permissions in a-map. (0xC, free movement; 0x1, no mevement.)

You have the same problem as Krisitan's Script. Change the 0x00 in the trainerbattle to 0x01 and it should work.

In a script in LoD, I had that same problem. It was taking steps that weren't shown in the script. I don't know why it did that but this is what I did to get around it.
I made a copy of the rom and used this one as a "sacrifice."
I just kept changing the movements, adding movements(one didn't move enough), removing movements, changed pointers, just changed lots of different things and kept re-compiling the script into the new rom and it eventually worked.
It's probably just a problem in compiling.

Also, \pHi\nMy\lname\lis\lthethethethe not \pHi\nMy\nname\nis\thethethethe. The second one won't work correctly. It will only show;
Hi
My
and then it will move to the next part of the script. You made this mistake in some of the text.
\pI can't wait until\nI get my pokemon!\nCome on
Come on won't show.
 
Hi All!

Just wondering if someone could have a quick look at this piece of code I'm having a problem with.

Right, ALL of the script works, except for this piece:

message $nameTreeko
$nameTreeko 1 = Do you want to give a nickname\nto TREEKO?
boxset 5
compare LASTRESULT 1
if B_FALSE goto $checkPosition [1]
namepokemon
goto $checkPosition [2]
...the script ends here.

[1] So, if I choose not to give the pokemon a nickname, the correct offset is loaded.

[2] But, when I do choose to give the pokemon a nickname, the "goto $checkPosition" is not loaded.

Either I've missed something really stupid, or there is a flaw in my method.

Please, please help me!

Thanks in advance!


Edit: added a reply

\pI can't wait until\nI get my pokemon!\nCome on

Oh and the reason the "Come on" won't show, I think, is because it should look like this:

\pI can't wait until\nI get my pokemon!\pCome on
 
Last edited:
Hi All!

Just wondering if someone could have a quick look at this piece of code I'm having a problem with.

Right, ALL of the script works, except for this piece:

message $nameTreeko
$nameTreeko 1 = Do you want to give a nickname\nto TREEKO?
boxset 5
compare LASTRESULT 1
if B_FALSE goto $checkPosition [1]
namepokemon
goto $checkPosition [2]
...the script ends here.

[1] So, if I choose not to give the pokemon a nickname, the correct offset is loaded.

[2] But, when I do choose to give the pokemon a nickname, the "goto $checkPosition" is not loaded.

Either I've missed something really stupid, or there is a flaw in my method.

Please, please help me!

Thanks in advance!


Edit: added a reply



Oh and the reason the "Come on" won't show, I think, is because it should look like this:

I prefer to write things involving the compare 0x800D 0x1 like this.
Code:
message $nameTreeko
$nameTreeko 1 = Do you want to give a nickname\nto TREEKO?
boxset 5
compare LASTRESULT 1
if 1 goto $namepoke
goto $checkPosition

#org $namepoke
namepokemon
goto $checkPosition

#org $checkposition

Just a little re-arranging.
I try to only use
Code:
compare LASTRESULT 1
if B_true goto $yes

And the other thing I was just explaining to ~*Pikafan*~ that there was a mistake. He can either have it like
Code:
\pI can't wait until\nI get my pokemon!\[b]p[/b]Come on
or like this.
Code:
\pI can't wait until\nI get my pokemon!\[b]l[/b]Come on
but not like this.
Code:
\pI can't wait until\nI get my pokemon!\[b]n[/b]Come on

EDIT: ~*Pikafan*~, I decided to test out the setmaptile command, because I thought of an idea for LoD, that might be interesting and it needed the setmaptile.
It works like this.
Here's a simple script showing the setmaptile.

Code:
#org $start
checkflag 0x200
if 1 goto $done
setmaptile 0x0C 0x01 0x05 0x01
setmaptile 0x0C 0x01 0x04 0x00
special 0x8E
setflag 0x200
release
end

#org $done
release
end
The first three commands are the same as I explained before. The fourth argument, is the movement allowed. 0x1=Blocked off, 0x0=Freely moveable.
And instead of going before the setmaptile, the special follows the commands. This allows the tiles to "refresh" and appear without you having to walk off the screen for it to appear.
Sorry, for the "false" info. I probably should have made sure of everything first.
 
Last edited:
Can anybody help?!
It is that I already tried vary times to do script to activate and to disable the EARTHQUAKE, but he continues working and restraint the movement of PLAYER.(FOR Fire Red US)

The script is that:

#org $oioi
lock
faceplayer
message $1
$1 1 = Quer ver um TERREMOTO?
boxset 6
special 0x136
#raw 0x27
<--the script locks here and the earthquake doesn't stop!
message $2
$2 1 = TUdo bem!?
boxset 6
release
end
 
Thanks for the advice thethethethe, but I still can't get the script to run properly.

I'm starting to think that "namepokemon" ends a script, and therefor cannot run anything afterwards. Do you know anything about this?

Thanks!
 
I want to know How would I make a Trainerbattle Script, that is from a Trigger, If you lose you have to keep on battling until won. Just like in Pokemon White, except when/If you lose, you Have to keep on battling. Is this already implemented in the command?

The version is LeafGreen.
 
I want to know How would I make a Trainerbattle Script, that is from a Trigger, If you lose you have to keep on battling until won. Just like in Pokemon White, except when/If you lose, you Have to keep on battling. Is this already implemented in the command?

The version is LeafGreen.
Also How come this script won't work?
Code:
#org $start
checkflag 0x207
if b_true goto $done
applymovement 0x01 $move
pausemove 0
message $battle
boxset 6
trainerbattle 0x00 0x015 $before $after $further
release
end

#org $move
$move 1 ; 0x10 0x10 0x10 0x10 0x10 0xFE

#org $battle
$battle 1 = Hey \v\h01, Hows it going?\nLets Check our pokemon!

#org $before
$before 1 = Don't Be Scared now.

#org $after
after 1 = I've underestimated you. Oh Well.

#org $further
message $battle1
boxset 6
applymovement 0x01 $go
pausemove 0
#raw 53
#raw 01
nop
setflag 0x207
release
end

#org $done
release
end

#org $go
$go 1 ; 0x11 0x11 0x11 0x11 0x11 0xFE

#org $battle1
$battle1 1 = Looks like I have to practice,\nsee yah!
It is a simple Trigger script for the rival. The "$further" won't work, and after the battle the rival just stands there. Anyone, preferably good at scripting?
 
Status
Not open for further replies.
Back
Top