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

Sierra's MEGA-HUGE XSE Scripting Tutorial

Hello Diego. First before anything your tutorial acts as an excellent reference for me. It's almost as if a professional wrote it.

Now here is my problem. I have a script that suppose to move my player but after its completed my player freezes on the spot without the msgbox function activating.
Below is my code.

Also do you know how to get XSE NOT to autogenerate extra code? It sometimes likes to generate extra unneeded movement commands.

Code:
'---------------
#org 0x80050A
checkflag 0x8D4
if 0x1 goto 0x880054C
setflag 0x8D4
lock
applymovement MOVE_PLAYER 0x880052C
waitmovement 0x0
release
msgbox 0x8800534 MSG_NORMAL '"you notice a pokeball"
closeonkeypress
end
 
'---------------
#org 0x80054C
release
end
 
 
'---------
' Strings
'---------
#org 0x800534
= you notice a pokeball
 
 
'-----------
' Movements
'-----------
#org 0x80052C
#raw 0x56 'Exclamation Mark (!)
#raw 0x0 'Face Down
#raw 0x1 'Face Up
#raw 0x2 'Face Left
#raw 0x3 'Face Right
#raw 0x2 'Face Left
#raw 0x3 'Face Right

It only does that when you forget 0xFE at the end of the movements, so it reads the bytes after as movements.
 
So the extra movement generation was because the compiler was trying to guess the movements after to prevent bugs?
 
So the extra movement generation was because the compiler was trying to guess the movements after to prevent bugs?

Nope, the byte, to end the movements there wasn't present, so XSE and the ROM believed the bytes after were movements, until it got too an FF or FE. So just remember to put 0xFE at the end of your movements.
 
Script trouble!

okay, now i'm trying to compile a shaymin wildbattle script to my fir red hack

#dynamic 0x3AE35F

#org @start
lock
faceplayer
msgbox @1 0x6
cry 0x363 0x0
wildbattle 0x363 0x7 0x8B
fadescreen 0x1
fadescreen 0x0
hidesprite 0x800F
setflag 0x200
release
end

#org @1
= Shay!

that was the script and every time i try to compile it
it says
"Error 13 type mismatch in file ..... on line 8 missing #define or parameter
Line: wildbattle 0x363 0x7 0x8B

and before you say "Shaymin isn't in fire red!" I replaced roselia
with shaymin.

what is wrong with my script?
 
the wildbatlle command is:
0x(number of the pokemon yo want in HEX) 0x(level of the pokemon) 0x(item)
 
Thanks! This tutorial really helped me!
- You're the MAN!
 
Thanks, now I just need roselias number is in hex
what is it?

EDIT: nevermind i found it
 
Last edited:
If i use an Level script, i'll be frozen.

When I decompile it, and make it an level script, i get this:

Code:
'---------------
#org 0x14E924
#raw 0x0

But when ik compile this, i don't get an offset, i get this:

Code:
eXtreme Script Editor v1.1.1
-------------------------------------
09-02-2009 12:02:10
-------------------------------------
Output wordt geopent: C:\Users\FSC\Downloads\Sunshine\1Pokémon Sunshine Hack2.gba...
Verwerken van input script...
2 - #ORG
 > lNewOffset = 0x14E924
3 - #RAW
 > bOut = 0x0
-------------------------------------
Bezig met opruimen...
Output sluiten...
Verwerking van input voltooid in 0,014 seconden.
(It's in dutch)

I copied this offset: > lNewOffset = 0x14E924
But then i get frozen.
 
I copied the "Give Pokemon" Script, and when i talk to the person that has that script it says:

Hows Charmander?

When u don't get the charmander
 
I use PKSUV, & I have no idea how to work it. I have read guides on it, but still can't nut it out. I am going to download XSE, so it will be much easier, special thanks to your guide. :) Good job.
 
hey deigo, for some reason, when I do a mssgboxbox the text comes out like this

Hi(press A)

This is pissing me off(press A)

I want to fix this(press A)

instead of going

Hi(press A)
This is pissing me off (A)
I want to fix this (A)

and Im phrasing it like this in XSE
Hi\nThis is pissing me off\lI want to fix this

So any tips?
 
Map connecters are the first I chose to learn XD
 
Hmm A Request From me.Is There Anyway to make a make an earthquake,make it's flag to setflag 0x(blblabla) and after defeating the evil guys the map resets to normal?? like can i use

checkflag 0x...
if 0x1 goto @battle
release
end

#org @battle
pokemonbattle or whatsoever..
msgbox
fadescreen
clearflag
release
end

is that anyway i could make it happen?
 
This is an amazing guide, it's helped me learn all of my XSE scripting so far. However I have one tiny tiny question;
When using the \c color command, how do you use that correctly?

Like, for example:
\c[orange_fr]You received a Pokémon!

Would that be correct?
 
This is an amazing guide, it's helped me learn all of my XSE scripting so far. However I have one tiny tiny question;
When using the \c color command, how do you use that correctly?

Like, for example:
\c[orange_fr]You received a Pokémon!

Would that be correct?

You can either write it as [orange_fr]You received a Pokémon! or \c\h05You received a Pokémon!
 
Back
Top