• 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

SPG

Pyroblock
88
Posts
13
Years
  • Age 27
  • Seen May 4, 2013
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:
 

timaeus222

Music Composer, Mixing/Mastering Engineer
56
Posts
13
Years
Thanks for this guide! I did what Felix Kulpa was trying to do, sort of. I couldn't figure out how to do it until I saw settrainerflag :)
 
1,421
Posts
13
Years
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:
 

SHIVO

I suck at competitive Pokémon
2
Posts
13
Years
  • Seen Apr 15, 2011
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:
13
Posts
16
Years
  • Seen Jun 14, 2011
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 ?
 

FANOFFIRESTARTERS!!!

Call me FOFS
40
Posts
15
Years
  • Seen Sep 11, 2021
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.
 

papercut210

Ninetails
7
Posts
13
Years
  • Age 31
  • Seen Sep 25, 2016
Incredible Tutorial! now im gunna try and learn this all tonight so i can de-noob myself & make my awesome game :|
 
32
Posts
13
Years
  • Seen May 9, 2015
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:
1
Posts
14
Years
  • Seen Sep 10, 2018
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
 

Ninjutsu95

Bad decisions = Good stories
44
Posts
13
Years
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:

Olli

I am still bathing in a summer's afterglow
2,583
Posts
13
Years
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:

Darthatron

巨大なトロール。
1,152
Posts
18
Years
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.
 

Ninjutsu95

Bad decisions = Good stories
44
Posts
13
Years
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. >.<
 

potasho

Internet Lynx
1
Posts
16
Years
  • VA
  • Seen Apr 12, 2017
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...
 

Echidna

i don't care what's in your hair
2,077
Posts
13
Years
use special 0x16F
if u don't know how to insert that into the context, go away and learn :D
 

colcolstyles

Yours truly
1,588
Posts
15
Years
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.
 
32
Posts
13
Years
  • Seen May 9, 2015
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 ??
 

colcolstyles

Yours truly
1,588
Posts
15
Years
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