• 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.

Sierra's MEGA-HUGE XSE Scripting Tutorial

3
Posts
11
Years
  • Seen Jun 19, 2016
Use Cyclone instead :) It's easier when it comes to creating wild battles.

Cyclone is a tile editor n I'm not lookin for that. I just want the wildbattle script that can play the legendary music while in battle. And another question that came to me right now. How can I get the Regi battle music from Emerald to Firered?
 

Sniper

ふゆかい
1,412
Posts
10
Years
Cyclone is a tile editor n I'm not lookin for that. I just want the wildbattle script that can play the legendary music while in battle. And another question that came to me right now. How can I get the Regi battle music from Emerald to Firered?

Sorry, I meant PokeTronic. You need to export the music from Emerald by using sappy then import it to FireRed.
 
3
Posts
11
Years
  • Seen Jun 19, 2016
Sorry, I meant PokeTronic. You need to export the music from Emerald by using sappy then import it to FireRed.
Do u have a good copy of PokeTronic cause the ones that exist on download sites most times dont work plus have viruses. The last time I tried to download it from a couple of sites it was not workin plus I got a virus. So if u have it n u can give it tom me I'd be glad.
 
1
Posts
10
Years
  • Age 23
  • Seen Oct 9, 2017
I can't figure out how to actually get the rom to use the code! NOTHING I CAN FIND WILL TELL ME! I can script a bit but I can never get the script into the ROM! Please help
 

machomuu

Stuck in Hot Girl Summer
10,507
Posts
16
Years
I can't figure out how to actually get the rom to use the code! NOTHING I CAN FIND WILL TELL ME! I can script a bit but I can never get the script into the ROM! Please help
Watch this rather terrible textless, voiceless tutorial I made in all of 5 minutes. It's bad, but it's to the point and I made it on the spot.

Spoiler:
 

Tyranitar Killer

Tyranibeast
72
Posts
10
Years
Nice tutorial, Just wondering two things you didn't put in,
1. How to do a script that stops you from passing untill you have done something
Here I want one where a guy stops you from entering a gym as the leader is gone until you have beaten 7 gyms
2. How do you get the Follow-me script
 

Sniper

ふゆかい
1,412
Posts
10
Years
Nice tutorial, Just wondering two things you didn't put in,
1. How to do a script that stops you from passing untill you have done something
Here I want one where a guy stops you from entering a gym as the leader is gone until you have beaten 7 gyms
2. How do you get the Follow-me script

1. Use checkflag and
2. Check Research & Development section
 
7
Posts
10
Years
  • Age 33
  • Seen May 20, 2014
I'm having trouble fixing my scripts. I would modify my script on a separate .rbc file, then open up the old script from AdvanceMap, then paste the modified script over it, then click compile. When I close XSE and re-open the script from AdvanceMap, it just shows the old script. I've tried it many times, keeping the same offset. I don't want to have to change the offset and take up more space every time I modify the script :(
 

DaisukE

Just feel it burning ^^
113
Posts
10
Years
0x3
Spoiler:
Replace the pointer hello or the first one..
Just a small error in the script...may have been told before...but yah its just an small human error......just saying no offense...
 
Last edited:

Sniper

ふゆかい
1,412
Posts
10
Years
I'm having trouble fixing my scripts. I would modify my script on a separate .rbc file, then open up the old script from AdvanceMap, then paste the modified script over it, then click compile. When I close XSE and re-open the script from AdvanceMap, it just shows the old script. I've tried it many times, keeping the same offset. I don't want to have to change the offset and take up more space every time I modify the script :(

That's not good. Rather just put your new script for example:

Code:
#dynamic 0x800000

#org @start
msgbox @1 0x6
release
end

= This is my script
Input on XSE 1.1.1 then click the blue gears to compile rather than saving it to .rbc then put the offset in the NPC. I suggest you use A-map 1.92 if something comes up wrong just tell me. Re-read the tutorial to know if what script you would really want to put in.

Replace the pointer hello or the first one..
Just a small error in the script...may have been told before...but yah its just an small human error......just saying no offense...

And no. If you edit a saved script on the rom. It would cause damage to other script causing it to bug. If the number of words is more than the original script, the space will grow bigger and that's why it leads to bug because it saves over to another saved script.
 
Last edited:

DaisukE

Just feel it burning ^^
113
Posts
10
Years
That's not good. Rather just put your new script for example:

Code:
#dynamic 0x800000

#org @start
msgbox @1 0x6
release
end

= This is my script
Input on XSE 1.1.1 then click the blue gears to compile rather than saving it to .rbc then put the offset in the NPC. I suggest you use A-map 1.92 if something comes up wrong just tell me. Re-read the tutorial to know if what script you would really want to put in.



And no. If you edit a saved script on the rom. It would cause damage to other script causing it to bug. If the number of words is more than the original script, the space will grow bigger and that's why it leads to bug because it saves over to another saved script.


Do u even know scripting..no offense but u should have read carrefully what i posted...

I said the pointers are not set properly....and btw its not an compiled script...ugh.....and aif u r talking about editing a script in advance map...it would give u pointers like 0x(offset) but in xse its our made llike @start.....ummmm...kinda sorry if i was rude but please check that my posts spoiler in quotes.....sorry if i was rude..


Looks like it was just a misunderstanding
 
Last edited:
4
Posts
10
Years
  • Age 27
  • Seen Sep 6, 2015
Hello everyone,

I'm having some trouble compiling my scripts...

The script I'm using is:
'---------------
#org 0x527702
checkflag 0x994
if 0x1 goto 0x527703

'---------------
#org 0x527703
lockall
msgbox 0x8527704 MSG_KEEPOPEN '"Hmmm... \pI should beat the\nPokem..."
closeonkeypress
applymovement MOVE_PLAYER 0x8527705
waitmovement 0x0
releaseall
end


'---------
' Strings
'---------
#org 0x527704
= Hmmm... \pI should beat the\nPokemon league first!


'-----------
' Movements
'-----------
#org 0x527705
#raw 0x9 'Step Up (Normal)
#raw 0xFE 'End of Movements

I want to make a certain area where only players who have defeated the league champion can go, I added a script tile in the hall of fame that sets the players flag 994.

When I compiled it and added the offset to the script tile in Advance Map, it works and looks fine, but when I trigger it in game, the script resets into this:
'---------------
#org 0x527702
checkflag 0xC269
callstd 0xFE
buffercontestype 0xAD 0xADAD
nop
(I used free space finder to find a free offset, when I checked it, it was empty/free, but after it resetted to the script above, it stays like that)

I have no idea what causes this :/.

More info:
Advance map version: 1.9.5
XSE version: 1.1.1
Pokemon version: Emerald
Experience: little ;D

Please get back to me a.s.a.p. :0.

Sincerely,
DoC
 
Last edited:
6,355
Posts
18
Years
  • Seen Apr 16, 2020
Hello everyone,
I'm having some trouble compiling my scripts...
The script I'm using is:
I want to make a certain area where only players who have defeated the league champion can go, I added a script tile in the hall of fame that sets the players flag 994.
When I compiled it and added the offset to the script tile in Advance Map, it works and looks fine, but when I trigger it in game, the script resets into this:
(I used free space finder to find a free offset, when I checked it, it was empty/free, but after it resetted to the script above, it stays like that)
I have no idea what causes this :/.
More info:
Advance map version: 1.9.5
XSE version: 1.1.1
Pokemon version: Emerald
Experience: little ;D
Mail: [email protected]
Please get back to me a.s.a.p. :0.
Sincerely,
DoC

You did look for free space, but the commands you used at 527702 take up space that is written over 527703 and 527704. For example, the checkflag command needs X bytes and the goto one needs Y bytes, so your next offset should be X+Y bytes after 527702. I suggest simply scripting dynamically, you simply define an offset at the beginning and the script editor compiles everything in free space and returns the offsets used to you. So for example:

#dynamic 0x80000

#org @start
checkflag 0x994
if 0x1 goto @next
end

#org @next
lockall
msgbox @message MSG_KEEPOPEN '"Hmmm[.] \pI should beat the\nPokém..."
closeonkeypress
applymovement MOVE_PLAYER @move
waitmovement 0x0
releaseall
end

#org @message
= Hmmm[.] \pI should beat the\nPokémon league first!

#org @move
#raw 0x9 'Step Up (Normal)
#raw 0xFE 'End of Movements


I put an end command after the checkflag, since if the flag is not set the game will freeze otherwise.
Also, if you're using trigger scripts, I suggest not using flags at all since they're unnecessary. Trigger scripts take a variable value and a number. So for example, if your script's variable value is 52C0 and its variable value is 0, the trigger script will always be executed as long as 52C0's value in the game is 0, which is the default value. So instead of setting a flag, once the setvar 0x52C0 0x1 command is executed in any script, your trigger script would not execute again, unless you set the variable's value to 0 again.
 
4
Posts
10
Years
  • Age 27
  • Seen Sep 6, 2015
Oh thanks a lot for the help!

I thought the @stuff was outdated, since I probably messed up the first time using it lol.
Will take a look at what you two said in a couple of hours, when I'm home.

Thanks again!

-DoC
 
4
Posts
10
Years
  • Age 27
  • Seen Sep 6, 2015
Hmm... It works better now, thanks a lot for the dynamic scripting explenation!~

But now when the flag isn't set and I pass the tile, the game freezes (sound still continues to roll). However when the flag is set, it works fine (it lets me pass without stopping or so).

How should I fix this? :o
 
6,355
Posts
18
Years
  • Seen Apr 16, 2020
Hmm... It works better now, thanks a lot for the dynamic scripting explenation!~

But now when the flag isn't set and I pass the tile, the game freezes (sound still continues to roll). However when the flag is set, it works fine (it lets me pass without stopping or so).

How should I fix this? :o

Can you post the script you compiled? And did you include an "end" command after the "goto" part in the beginning of the script like I said in my post?
 
Back
Top