• 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

i got this far in the script what do i do now (yes some comands are wrong like it says ****ing ship but they will get changed for the real comand) if this helps its for a boat

Spoiler:
 
Where do i save the script too once ive edited it ? :S
If you want to save the script as a file somewhere on your PC, just go to File > Save as

I you want to compile the script into your ROM, then click the Compile button.
Spoiler:
 
This was really helpful :D

But how do I put my scripts into the ROM? It doesn't let me click the compile thing, it's greyed out instead of being blue
 
Last edited:
Hi guys Im having a bit of a problem, no matter what apply movement script i use, the game just seems to freeze as soo as i tread on the script square, ive made sure my persons id is correct and ive tried the example script in this tutorial and one taken from the game :( any ideas ?
 
OK, so I am currently in the beginning stage a a ROM Hack. And I have the great idea, make the three starters random, so that you don't know if you are going to get Bulbasaur, Chicorita, or Treeko for your grass choice. Now I know how to do a random script, and I know how to set flags. It's just that this is really confusing. I need to set a random flag 1, 2, or 3, that is activated in another script....I don't know if this is making any sense....so I set 1 of 3 flags, go talk to someone that will tell you 1 of 3 things, but no text box shows up but you still hear that all present bleep click sound and the lock faceplayer stuff still works. I just don't know what to do. Help.
 
Incredible Tutorial! now im gunna try and learn this all tonight so i can de-noob myself & make my awesome game :|
 
Hello. Can you tell me how can i make a script like first battle in FR where we can see advice about batteling and there should be no transfer to poke center if we lose...I hope You are know what i mean, my English is not enought good to write it correctly...Thanks for answers

@Edit:
I know how it works let's look
trainerbattle 0x0 0x001 0x0 @1 @2 it's a standart
trainerbattle 0x9 0x001 0x0 @1 @2 I change first byte but there was no efect
trainerbattle 0x9 0x001 0x3 @1 @2 When i change first and third bytes it works like in fr

But if i want to do script without Oak's fighting instructions( I mean the same script so if we lose we are still in map with rival)? What should i do?
Can someone post a description of fight types (first byte). In this tutorial we can find only two descriptions 0x0 and 0x1, and maybe someone can say something more about the third byte ?:)
 
Last edited:
Help

I made this fairly basic code to let my prof give the player a starter pokemon for my hack. my lab area is the same as FR and my code uses lots of flags as I am not very advanced at scripting yet so do not know how to much else.
As far as I can tell it should work fine but when I try to talk to the prof nothing happens! Here is the code
Code:
#dynamic 0x71A5B4
#org @start
lock
faceplayer
checkflag 0x8C1
if 0x1 goto @repeat
checkflag 0x8C2
if 0x1 goto @getdex
checkflag 0x8C4
if 0x1 goto @go
checkflag 0x8C3
if 0x1 goto @congrats
checkflag 0x8C5
if 0x1 goto @how
msgbox @welcome 0x6
setflag 0x8C1
release
end
#org @repeat
msgbox @getpkmn 0x6
release
end
#org @getdex
msgbox @pokedex 0x6
setflag 0x829
msgbox @nowgo 0x6
setflag 0x8C4
release
end
#org @go
msgbox @nowgo 0x6
release
end
#org @congrats
msgbox @urgreat 0x6
release
end
#org @how
msgbox @howsit 0x6
release
end
#org @welcome
= Aaah you must\nbe [player].\lYour mother said\lyou would be coming.\pAnyway, formalities\naside I assume\lyou know why\lyou're here.\pI want you to\ngo on quest for\lme and explore the\lentire PLAZO region.\pYou see I have been\nworking on a new\lmachine, an electronic\lencyclopedia of all\lpokemon.\lI call it the\l"Pokedex"\lBut there is one\lshortfall of my\linvention.\lIt does not have\lany data programmed\linto it already,\lwhich is where you\lcome in.\pI need you to gain\ndata on every\lpokemon that inhabits\lour world, because\lonly then will my machine be\lcomplete.\pIn order to help\nyou on your quest\lI have had my\laides capture three\lrare pokemon.\lyou may take one\lof these to begin\lyour journey.
#org @getpkmn
= Don't be shy.\pGo on and get one\nof those pokemon!
#org @nowgo
= Now go explore\nthe beautiful landscape\lthat is the\lPLAZO region.
#org @urgreat
= Congratulations!\nI always knew you\lwere destined for\lgreatness [player]!
#org @howsit
= Hows my old\npokemon coming\lalong?
#org @pokedex
= Now listen closely,\nthis pokedex is a\lprototype, and the\lonly one in the\lworld, so treat\lit with EXTREME\lCARE!\pAnyway I'm very\nglad you have decided\lto do this little\ljob for me so\lthankyou
.
Any help would be greatly appreciated
 
godangit

really ticks me off. ok, so good tutorial however something is wrong with my xse. I did all you said, for example here is my code

'-----------------------
#org 0xE3DCF0
#org @start
msgbox @sign 0x3
end
#org @hello
= WOOT! Testing!




yet, when i compile (i save rubicon thingy, then click compile after loading rom and file). And when i click compile
it says no dynamic offset specified. and i tried typing
#dynamic 0xE3DCF0 in place of #org 0xE3DCF0
and then above it yet it won't let me compile. ARGH! please help...
 
Last edited:
Ok, I've got this little problem, I don't know if it has been mentioned yet, but I really want to know.

Whenever I use applymovement on a person with the ID of 10+ it doesn't work.

Here's an example

Spoiler:


Also,

#org 0xE3DCF0
#org @start
msgbox @sign 0x3
end
#org @hello
= WOOT! Testing

Your problem is that you have to make one line space before going to #org @start, I think. Also your script is a little bit confusing for me, who mostly put all the #org 's at the bottom.
But here's your fixed script

Code:
#dynamic 0xE3DCF0
 
#org @start
lock
msgbox @sign 0x3
closeonkeypress
end
 
#org @sign
=WOOT! Testing

You also have to name the #org the same thing as your msgbox.
You wrote #org @hello, which will make your script unuseable.
If you already have solved the problem, then apologies.
 
Last edited:
Ok, I've got this little problem, I don't know if it has been mentioned yet, but I really want to know.

Whenever I use applymovement on a person with the ID of 10+ it doesn't work.

Here's an example

Spoiler:
It's because your giving it a number in hexadecimal when you prefix it with "0x". The hexadecimal number for 10 is 0xA, or you can just put 10.
Code:
applymovement [B]0xA[/B] @move
Code:
applymovement [B]0x0A[/B] @move
Code:
applymovement [B]10[/B] @move
^^ They all do the same thing.
 
FRIIIIIIIIIIIIIIIIIIICK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! now it won't let me godang save the freaking thing. i saved it, compiled it, and when i try to load up the script (that i used - thanks both of you), for firered my bad, it won't work. this is really ticking me off. (breathes in, breathes out...) nevermind, im not mad. but still, how do you compile it so it will ACTUALLy work?.. sorry for being so dumb. >.<
 
Help me.... If anyone knows how to make professor oak (or anyone, for that matter) give you the NATIONALdex without needing all the kanto pokemon, then can someone tell me how? thanks...
 
How can I make a "check happines" script? Is it possible?

In most (if not all) of the Gen. III games there is a person who will tell the player how happy their lead pokémon is. If you can find that script (Google it or something), then you can decompile the script for that person, examine the code, and make your own.
 
Ok i have compared those scripts in different game, and main line of this script is:

special2 LASTRESULT 0xE6

Ok. But now i want to know how to use special 2 in different situations, becouse it is used in scripts like check happines or check catched pokemons (pokedex status). Is there any description of bytes using with special 2 ??
 
Ok i have compared those scripts in different game, and main line of this script is:

special2 LASTRESULT 0xE6

Ok. But now i want to know how to use special 2 in different situations, becouse it is used in scripts like check happines or check catched pokemons (pokedex status). Is there any description of bytes using with special 2 ??

Yeah, that seems to be the key line. It seems that the happiness of the first pokémon is stored in LASTRESULT. The commands after the 'special2' branch off to different scripts based on how happy the pokémon is. Here's a table linking each value to each level of happiness (source: Psypokes):

Code:
Value:	Happiness:
0	0
1	1-49
2	50-99
3	100-149
4	150-199
5	200-249
6	250-255

So, for example, if you want to give the player an item if their lead pokémon has at least 200 happiness, the script would look like this:

Code:
...
special LASTRESULT 0xE6
copyvar 0x8000 LASTRESULT    // The game does this so you should do it too
compare 0x8000 0x5
if B_>= goto @happy
...

#org @happy
giveitem blah blah blah
 
Back
Top