PDA

View Full Version : [Tutorial] XSE Scripting Tutorial


Pages : 1 [2]

Dudemanword
November 2nd, 2008, 07:19 PM
Umm this is a great tool. The Scripts compile perfectly when I edit them through advancemap. However when I go to a person that has the edited script, he says the same unedited script as before. how do I change this?

0m3GA ARS3NAL
November 2nd, 2008, 11:48 PM
Question... About the Multichoice command,

multichoice 0xL 0xT 0xID 0xB

L = left coordinate
T = Top Coordinate
ID = Choice List ID
B = B can exit or not

What would I use to fill these variables?
for instance, if I were to say, use 0x5 as my "Left Coordinate" and 0x5 as my "Top Coordinate"
Will my multichoice box show up on 0x5, 0x5 on my map, or will it be 5 spaces tall, and 5 spaces wide? Or what does they mean?
and also, does anyone have a list of what each of the variables for "Choice List ID" would equal?
and lastly, if I set my last parameter to 0x1, will that make it so B can not be used? or is it 0x0, and if I do use the B button to cancel, does it continue the script, or do I need to set a special pointer?

Darthatron
November 3rd, 2008, 12:47 AM
Umm this is a great tool. The Scripts compile perfectly when I edit them through advancemap. However when I go to a person that has the edited script, he says the same unedited script as before. how do I change this?
Read back a few posts, or pages... I've forgotten... But I posted before. :)
Question... About the Multichoice command,

multichoice 0xL 0xT 0xID 0xB

L = left coordinate
T = Top Coordinate
ID = Choice List ID
B = B can exit or not

What would I use to fill these variables?
for instance, if I were to say, use 0x5 as my "Left Coordinate" and 0x5 as my "Top Coordinate"
Will my multichoice box show up on 0x5, 0x5 on my map, or will it be 5 spaces tall, and 5 spaces wide? Or what does they mean?
and also, does anyone have a list of what each of the variables for "Choice List ID" would equal?
and lastly, if I set my last parameter to 0x1, will that make it so B can not be used? or is it 0x0, and if I do use the B button to cancel, does it continue the script, or do I need to set a special pointer?
Top/left are how many blocks they are from the top left corner. Just test until you get a good position, or use 0x0 for both.
I don't have a list.
0x1 = B can be pressed.

HackMew
November 3rd, 2008, 02:43 AM
[...] and also, does anyone have a list of what each of the variables for "Choice List ID" would equal?

Yes, I do. I've already put the lists in the coming guide.

0m3GA ARS3NAL
November 3rd, 2008, 03:45 AM
Top/left are how many blocks they are from the top left corner. Just test until you get a good position, or use 0x0 for both.
I don't have a list.
0x1 = B can be pressed.
Thankies Darth! ^_^ I needed this!

Yes, I do. I've already put the lists in the coming guide.
:shocked: You just made me want the guide even more darn you! I need a huge compilation of the lists in the games, so far I have been making them myself by experimenting with variables, but... wow, I cant wait! :t201-w::t201-o::t201-o::t201-t:

:t201-h::t201-a::t201-c::t201-k::t201-m::t201-e::t201-w:
:t201-r::t201-u::t201-z::t201-l::t201-s::t201-!:
I know, the writing in Unknown is a bit much.. but you rule so much! Your work, your attitude, everything!...

Sorry, I'm a bit too much of a crazed fan eh?

kokkok
November 7th, 2008, 08:07 PM
erm...when i click on the Scripts compile button,it gives me some dynamic offset like @main. do i need to replace it with the @main or just close it?

Darthatron
November 7th, 2008, 08:33 PM
erm...when i click on the Scripts compile button,it gives me some dynamic offset like @main. do i need to replace it with the @main or just close it?

The number next to @main is the offset you need to run the script. So put that number in the "Script" section in A-Map.

gangstajoe
November 8th, 2008, 03:52 AM
My XSE gives an error on these words:
- Lock
- FacePlayer
- Release
- End

I don't get it. Can someone help? Please??

Darthatron
November 8th, 2008, 04:01 AM
My XSE gives an error on these words:
- Lock
- FacePlayer
- Release
- End

I don't get it. Can someone help? Please??

Try making it all lowercase, it should work.

gangstajoe
November 8th, 2008, 04:19 AM
Try making it all lowercase, it should work.

Thanks, it works. Now i can finally make my own game xD

i have a another question. How can you make a trainer? I know how i put one in, but how can i set his pokemon?

DemonParia
November 13th, 2008, 11:47 AM
Ugh! I've been working on this for a while. I'm using XSE (XSE is AWESOME) and put this script on it. However, it reports an error on the line 'givepokemon 3 100 1'. This is the full script:

#dynamic 0x2E4FB7
#org @begin
lock
faceplayer
checkflag 0x200
if B_true goto @done
message @person
boxset 6
givepokemon 3 100 1
setflag 0x200
release
end

#org @done
message @person2
boxset 6
release
end

#org @person
@person = Ah! Hello, NIKOLAI. The POKéMON\nyou wanted is here.\pTake it, and deposit the money\nlater.

#org @person2
@person2 = Wait! You're not NIKOLAI!\pHmm. The POKéMON seems to like you.\nI guess you can keep it.



I just want to know if I'm using the right givepokemon thing.

Madridista
November 13th, 2008, 12:15 PM
@demonparia
#dynamic 0x2E4FB7

#org @begin
lock
faceplayer
checkflag 0x200
if B_true goto @done
message @person
callstd 0x6
givepokemon 0x3 0x100 0x1 0x0 0x0 0x0
setflag 0x200
release
end

#org @done
message @person2
callstd 0x6
release
end

#org @person
@person = Ah! Hello, NIKOLAI. The POKéMON\nyou wanted is here.\pTake it, and deposit the money\nlater.

#org @person2
@person2 = Wait! You're not NIKOLAI!\pHmm. The POKéMON seems to like you.\nI guess you can keep it.
After the 'givepokemon' command, 0x(pokemon's pokedex number translated into hex) 0x(level) 0x(item number in hex) always add 0x0 0x0 0x0.

DemonParia
November 13th, 2008, 01:07 PM
When I do what you said, there is still an error on the line 'givepokemon' even with doing what you said to do. "Error 6 Overflow on line 10. Wrong parameter type. Line: givepokemon 0x3 0x100 0x1 0x0 0x0 0x0"

So, what now?

EDIT: Nevermind, I figured it out.

gangstajoe
November 22nd, 2008, 03:53 AM
I want to make a trainer, but i don't know how to put in the pokemon of the trainer..
Can someone tell me how to do that?

Madridista
November 22nd, 2008, 01:18 PM
For that you will need A-tack, I suppose.

Darthatron
November 23rd, 2008, 06:23 AM
I want to make a trainer, but i don't know how to put in the pokemon of the trainer..
Can someone tell me how to do that?
You need a trainer editor for that. Ask in the Simple Questions if you need more help on this subject.
For that you will need A-tack, I suppose.
No. >_>

score_under
November 23rd, 2008, 07:06 AM
It would seem your ROM is corrupt. Try putting the script into a new offset, and if it still happens, then you'll need to start again (unless you have back ups).
I don't think his #dynamic was actually free space, because I found that some clusters of FFFF~etc are actually, in some obscure way, required by the ROM.
Any free space past 0x800000 (half the ROM size) is usually safe.
Also, its \n, not /n.
My XSE gives an error on these words:
- Lock
- FacePlayer
- Release
- End

I don't get it. Can someone help? Please??Time to re-download? It should work.
__________________
My signature would have been received very badly in this thread, so I removed it :P

gangstajoe
November 24th, 2008, 07:19 AM
I used a give script, but it won't work. it is TM 29, it says i have it. if i look in my bag, i don't have it. Can someone check if it's good?

#dynamic 0x800000

#org @potion
giveitem 0x13D 0x0 0x1
end


Ps. Sorry for my english

Hiche..
November 24th, 2008, 08:46 AM
I used a give script, but it won't work. it is TM 29, it says i have it. if i look in my bag, i don't have it. Can someone check if it's good?

#dynamic 0x800000

#org @potion
giveitem 0x13D 0x0 0x1
end


Ps. Sorry for my english

Try this:

#dynamic 0x800000

#org @potion
giveitem 0x13D 0x1
end

or

#dynamic 0x800000

#org @potion
giveitem 0x13D 0x1 0x0
end

Hope that helps.

gangstajoe
November 24th, 2008, 11:12 AM
Try this:

#dynamic 0x800000

#org @potion
giveitem 0x13D 0x1
end

or

#dynamic 0x800000

#org @potion
giveitem 0x13D 0x1 0x0
end

Hope that helps.

Thanks, it works. Only now they keep giving the item xD. But i don't mind, it's really handy.

Roland Auron
November 24th, 2008, 03:42 PM
Whenever I go to Open, before I can compile, it can never find the rom right for some reason. Any way to fix this?

HackMew
November 24th, 2008, 03:45 PM
Thanks, it works. Only now they keep giving the item xD. But i don't mind, it's really handy.

Yes, because you need a flag:


#dynamic 0x800000

#org @potion
checkflag 0x1001
if B_TRUE goto @end
giveitem 0x13D 0x1 0x0
setflag 0x1001
end

#org @end
release
end

Anyway, since it's a person, it would be nice it he/she says something else and not just give you the item.


Whenever I go to Open, before I can compile, it can never find the rom right for some reason. Any way to fix this?
Could you explain a bit more what do you mean exactly?

Roland Auron
November 24th, 2008, 03:57 PM
When I go to file and open to open the rom, I go where my rom is at, where it always is, and when I open the folder it says the folder is empty, but when I open it normaly through the desktop the rom is right where it should be.

HackMew
November 24th, 2008, 04:04 PM
When I go to file and open to open the rom, I go where my rom is at, where it always is, and when I open the folder it says the folder is empty, but when I open it normaly through the desktop the rom is right where it should be.

You need to select GameBoy Advance ROMs from the Open dialog, indeed.

Roland Auron
November 24th, 2008, 04:27 PM
Where do I go to change that?

HackMew
November 25th, 2008, 12:01 AM
Where do I go to change that?

There's an Open button in the toolbar. Click it and and Open dialog will be shown. From there, you'll see a combobox where "Script Files" is selected by default.

VanillaThunderbolt
November 25th, 2008, 04:07 PM
Mmkay, I'm a scripting noob, not gonna lie.
I followed the tutorial and understand basic scripting.
How do I
1) Make it so after the script the player moves a certain direction? [Say down 1 space.]
2) After another event, this script isn't there anymore? [Like with the old guy in FR before/after you get the Pokedex].

Roland Auron
November 25th, 2008, 11:50 PM
Whenever I click the open button it goes to my documents, so I do not see anything about Open dialog. Sorry I am very new to this.

machomuu
November 26th, 2008, 05:39 AM
Whenever I click the open button it goes to my documents, so I do not see anything about Open dialog. Sorry I am very new to this.
At the bottom right of the documents thingy, it will say it's only looking for rubikons, it's a drop-down menu, click to and change it to gameboy advance roms

HackMew
November 26th, 2008, 06:41 AM
Mmkay, I'm a scripting noob, not gonna lie.
I followed the tutorial and understand basic scripting.
How do I
1) Make it so after the script the player moves a certain direction? [Say down 1 space.]
2) After another event, this script isn't there anymore? [Like with the old guy in FR before/after you get the Pokedex].

1) You just need to use the applymovement command (plus waitmovement 0x0).
The applymovement command has 2 params. The first one is the people number, the second is the pointer to the movements. For movements, see the tutorials around here.

2) In this case you need to use checkflag/setflag.

0m3GA ARS3NAL
November 27th, 2008, 03:46 AM
1) You just need to use the applymovement command (plus waitmovement 0x0).
The applymovement command has 2 params. The first one is the people number, the second is the pointer to the movements. For movements, see the tutorials around here.

2) In this case you need to use checkflag/setflag.

I think that was a bit complicated... you might wanna try speaking... typing in a way that people can understand.. not everyone is as experienced in scripting or XSE as much as you or I....

To put what HackMew just said a bit simpler...

1) Try putting the applymovement command in your script, where you want it of course.
it looks like this. (In XSE)
applymovement 0 @pointer1

Applymovemnt is the command, and the 2 things after it are the parameters that are required to make the script work.

0 stands for the persons "People #" the People # can be found in Advance Map. when you click on a person.

the @pointer1 in the applymovement command is the thing that tells the command where to look for your movements.
You can type anything other than pointer1 if you want, so long as it does not have any spaces in it.

later in the script you have to type...

#org @pointer1

This is our movements!

underneath that, you would type #raw 00 FE

#raw tells XSE that you are typing in a line of raw code.
00 is the games movement code for the "Step one space down"
and FE tells the game to stop movements. If you don't have this, the game will freeze.

after your applymovemnt command is writen you need to put
waitmovement 0x0
or the script will freeze also...


alltogether, your applymovement would look like this....

#dynamic 0x800000

#org @start
lock
applymovement 0 @pointer1
waitmovement 0x0
release
end

#org @pointer1
#raw 00 FE

If you want that script to go away after you have done it, include the checkflag 0x1001 command before all of it...

it will check and see if flag # 1001 is set.
a flag is an in-game bit of information that tells tha game that something has happened, in short, it is a huge help in controlling in-game events.

We'll use 0x1001 as our flag, since I know for a fact it is safe.
(There are many flags, but some are used by the game, so you don't want to use them...)

so, add checkflag 0x1001 right after the lock command

lock
checkflag 0x1001

next, you need to tell the game what to check 1001 for...
after the line checkflag 0x1001, add if b_true goto @pointer2

this will make the game check to see if the flag is set, if it is, it will skip over whatever is underneath it, and move to a new section of the script.

We are not done yet... just activating the script wont set the flag, no, we need to set it maually, by adding a setflag command right under our waitmovement 0x0

waitmovement 0x0
setflag 0x1001

finally, we need to make a new section of the script, so, above the line
#org @pointer1

type in...
#org @pointer2

...
end

#org @pointer2

#org @pointer1
#raw 00 FE

now, if we do this, and we try activating the script twice, it will freeze, since the 2nd section of the script has no commands... so we want to add...

release
end

right under it.

all together, our script would look like this.
[spoiler]#dynamic 0x800000

#org @start
lock
checkflag ox1001
if b_true goto @pointer2
applymovement 0 @pointer1
waitmovement 0x0
setflag 0x1001
release
end

#org @pointer2
release
end

#org @pointer1
#raw 00 FE

That is all about that really...

[css-span="text-decoration: blink;"]Too long? Too bad... or as we say on 4chan... tl:dr... To long;didn't read[/css-span]

And now a question to those who actually read this sentence, let alone read the whole script...

Should I write an XSE tutorial? In your opinion...

Shadowlink77
November 27th, 2008, 04:05 AM
When i first started hacking pokemon roms I began with Pokescript what exactly are the Pros and Consof XSE?

It would be awasome if someone could list that for me. I need to know if i should be switching.
Please and Ty

0m3GA ARS3NAL
November 27th, 2008, 04:22 AM
When i first started hacking pokemon roms I began with Pokescript what exactly are the Pros and Consof XSE?

It would be awasome if someone could list that for me. I need to know if i should be switching.
Please and Ty

Pros of XSE:

Over 200 listed commands
A debugging app built in, so if there is an error in your script, it will tell you 99% of the time
A De-Compiling engine that is much more accurate than Pokescript
There are no Compiling errors in XSE
A GUI (Graphical User Interface)
A built in Hex-Decimal Calculator
A text-adjuster to help you tell when your text is too large for the game's text boxes
Correct De-compilation of level scripts
You can use both Static offsets, and Dynamic offsets, even in the same script. Static offset 0x8800000 Dynamic offset @start
A live updat, so you can check for updates, without having to browse the internet!

Cons of XSE................. Hmm....... An un-editable database? heh, not that important...
_______________________________________________________________________
Pros of PokeScript........ Editable database? lol That is all I can think of...

Cons of Pokescript

You have to type the script in notepad. (Or a similar program)
Errors in the coding of hte program, leads to ROM corruption / ccrashing
not having as many features and helpful stuff as XSE...

As you can clearly see, XSE out-classes Pokescript.

Make the switch, it is worth it.

Roland Auron
November 30th, 2008, 06:30 PM
I'm confused again. When I go to compile the Compiler Output pops up. I have tried to save it, but I'm unsure what to do. What am I messing up now?

pokemon hacker id
November 30th, 2008, 06:36 PM
for some reason it wont load my rom it u cant even see the rom

any 1 no wats rong??

0m3GA ARS3NAL
November 30th, 2008, 08:36 PM
for some reason it wont load my rom it u cant even see the rom

any 1 no wats rong??

When you go to poen your ROM, there is a dropdown box that allows you to pick between script files. ( .rbh .rbc etc etc...) and roms

Hoshiko Aki
December 1st, 2008, 01:02 PM
How do i made a give pokemon script?

Raizaiel
December 6th, 2008, 01:01 PM
Bah. I'm running XSE through Advance Map and I cannot get any of these damned scripts to work. The messages keep overriding the others and bleeding through, and half of the scripts decompile back into "checkobedience" after I compile them, therefore not doing anything when I walk up to some one and try to talk to them. Also, what XSE likes to do is alter my coding after I open the rom. It'll change my @talk or @speak or @garbledyflook to an offset number, which is fine...if it didn't duplicate a digit when it used that offset number again in the ending two lines of the script. Therefore, the message never pops up because, despite me doing everything exactly like the book, somehow my scripts mess up and change themselves into something that just doesn't work.

I've been stumped for hours. Could somebody help me?

An example of two message scripts, first is a person, second is another person.



#dynamic 0x16580B
#org @start
lock
faceplayer
message @text '"Technology is incredible!\pYou can ..." [THIS PART IS AUTOMATIC]
boxset 0x6
release
end

#org @text
= Technology is incredible!\pYou can now download and burn all\nsorts of movies via the Internet!



#dynamic 0x800323
#org @start
lock
faceplayer
message @text
boxset 0x6
release
end

#org @text
= The gym leader here is a secret./pI think it's someone from another town.

0m3GA ARS3NAL
December 6th, 2008, 01:44 PM
Bah. I'm running XSE through Advance Map and I cannot get any of these damned scripts to work. The messages keep overriding the others and bleeding through, and half of the scripts decompile back into "checkobedience" after I compile them, therefore not doing anything when I walk up to some one and try to talk to them. Also, what XSE likes to do is alter my coding after I open the rom. It'll change my @talk or @speak or @garbledyflook to an offset number, which is fine...if it didn't duplicate a digit when it used that offset number again in the ending two lines of the script. Therefore, the message never pops up because, despite me doing everything exactly like the book, somehow my scripts mess up and change themselves into something that just doesn't work.

I've been stumped for hours. Could somebody help me?

An example of two message scripts, first is a person, second is another person.



#dynamic 0x16580B
#org @start
lock
faceplayer
message @text '"Technology is incredible!\pYou can ..." [THIS PART IS AUTOMATIC]
boxset 0x6
release
end

#org @text
= Technology is incredible!\pYou can now download and burn all\nsorts of movies via the Internet!



#dynamic 0x800323
#org @start
lock
faceplayer
message @text
boxset 0x6
release
end

#org @text
= The gym leader here is a secret./pI think it's someone from another town.

Well, your first problem is trying to compile a script while running through A-map... I suggest just writing the script you need, then compiling it to the rom, then trying it out.... It would save you the hassle of your problem. Just load up XSE, write your scripts, then save them into the same folder, then go to tools, and batch compiler... select your ROM< and the folder where your script are, then check the scripts you want and hit compile!

HackMew
December 6th, 2008, 01:54 PM
Bah. I'm running XSE through Advance Map and I cannot get any of these damned scripts to work. The messages keep overriding the others and bleeding through, and half of the scripts decompile back into "checkobedience" after I compile them, therefore not doing anything when I walk up to some one and try to talk to them. Also, what XSE likes to do is alter my coding after I open the rom. It'll change my @talk or @speak or @garbledyflook to an offset number, which is fine...if it didn't duplicate a digit when it used that offset number again in the ending two lines of the script. Therefore, the message never pops up because, despite me doing everything exactly like the book, somehow my scripts mess up and change themselves into something that just doesn't work.

I've been stumped for hours. Could somebody help me?
[...]

See my answer (http://www.pokecommunity.com/showpost.php?p=4174983&postcount=148) in the other thread.

machomuu
December 6th, 2008, 03:33 PM
I've been wondering this for a while, when you decompile a script, is there a way to recompile it into regular script form?

Darthatron
December 6th, 2008, 06:53 PM
I've been wondering this for a while, when you decompile a script, is there a way to recompile it into regular script form?

You mean decompile them into a Dynamic Script? Not in the public version. :D

HackMew
December 7th, 2008, 02:36 AM
I've been wondering this for a while, when you decompile a script, is there a way to recompile it into regular script form?

Let me say that what you get is the regular form. On the newest version, through, you will be able to refactor the script after decompiling aka converting it to dynamic.

machomuu
December 7th, 2008, 12:36 PM
Let me say that what you get is the regular form. On the newest version, through, you will be able to refactor the script after decompiling aka converting it to dynamic.
Ooooh. Thanks Hackmew :D.

pokemon hacker id
December 7th, 2008, 04:15 PM
I have something like this but it won't load my rom any one know whats wrong ???????

Darthatron
December 8th, 2008, 02:40 AM
I have something like this but it won't load my rom any one know whats wrong ???????

Unless you have this specific program, or tell us exactly which program you are using, we can't help you. :\

HackMew
December 8th, 2008, 03:59 AM
I have something like this but it won't load my rom any one know whats wrong ???????

It will load the ROM. You just need to select "GameBoy Advance ROMs" from the Open dialog.

groudonlover
December 8th, 2008, 07:51 AM
How do you use the givepokemon command???

HackMew
December 8th, 2008, 07:59 AM
How do you use the givepokemon command???

Why don't you just decompile an in-game, working script? You'll get what you need in no time.
Don't forget to check the Command Help too.

pokemon hacker id
December 8th, 2008, 02:51 PM
yes it's the x.s.e. and I'm using Pokemon Fire Red (U)(Squirrels)

HackMew
December 8th, 2008, 02:54 PM
yes it's the x.s.e. and I'm using Pokemon Fire Red (U)(Squirrels)

Please read my answer above.

pokemon hacker id
December 9th, 2008, 01:26 PM
ok when i try to compile my script something pops up at the top it said script outset what do i do from their

also heres a script thing i'm trying so please tell me how to fix it to work it just soposed to be a simple movement

#Dynamic 0x2DD4E4

#ORG @Main
Lockall
applymovement MOVE_PLAYER 0x2DD4E6
Release
End

'-----------
' Movements
'-----------
#ORG 0x2DD4E5
#raw 11 'Step Up (Normal)
#raw FE 'End of Movements





sorry about all the questions I'm not good with tutorials my A.D.D. just keeps getting worse



visit my hack http://www.pokecommunity.com/showthread.php?t=161802 note I'll make this a banner when I learn how to make them
and tell me what you think

Darthatron
December 9th, 2008, 07:04 PM
ok when i try to compile my script something pops up at the top it said script outset what do i do from their

also heres a script thing i'm trying so please tell me how to fix it to work it just soposed to be a simple movement

#Dynamic 0x2DD4E4

#ORG @Main
Lockall
applymovement MOVE_PLAYER 0x2DD4E6
Release
End

'-----------
' Movements
'-----------
#ORG 0x2DD4E5
#raw 11 'Step Up (Normal)
#raw FE 'End of Movements





sorry about all the questions I'm not good with tutorials my A.D.D. just keeps getting worse



visit my hack http://www.pokecommunity.com/showthread.php?t=161802 note I'll make this a banner when I learn how to make them
and tell me what you think

Change the line
applymovement MOVE_PLAYER 0x2DD4E6
to...
applymovement MOVE_PLAYER 0x2DD4E5
Because at the moment you're not pointing to anything. It should work now.

pokemon hacker id
December 9th, 2008, 07:47 PM
one other problem when i try to open the script it doesn't open the right thing it opens a script that sais


'-----------------------
#org 0x2DD4E7
nop

HackMew
December 10th, 2008, 02:22 AM
one other problem when i try to open the script it doesn't open the right thing it opens a script that sais


'-----------------------
#org 0x2DD4E7
nop

If you don't know how to use static offsets, use only dynamic ones.
Recompile your script with dynamic offsets/pointers only and try again.

kokkok
December 17th, 2008, 10:53 PM
eh...how do i stop the person to stop giving me pokemon?

#dynamic 0x000000

#org @123
lock
faceplayer
givepokemon 0xA3 0x5 0x0 0x0 0x0 0x0
fanfare 0x101
checkflag 0x828
if 0x1 goto 0x834ECE4
compare LASTRESULT 0x0
if 0x1 goto 0x816C4A6
compare LASTRESULT 0x1
if 0x1 goto 0x81A927C
release
end

'-----------------------
#org @take_care
msgbox @talk1 '" hope you're taking good care of\nH..."
callstd 0x6
release
end

'-----------------------
#org 0x16C4A6
hidesprite 0x2
fanfare 0x101
msgbox2 @get '""[player] obtained an HootHoot!" "
waitmsgbox
waitfanfare
bufferpokemon 0x0 0x85
msgbox @Nick '""Do you want to give a nickname to\..."
callstd 0x5
compare LASTRESULT 0x0
if 0x1 goto 0x816C514
call 0x81A8C27
call 0x81A74EB
goto 0x816C514
end

'-----------------------
#org 0x1A927C
textcolor 0x3
msgbox @no_space '"There's no more room for POKéMON!\p..."
callstd 0x4
release
end

'-----------------------
#org 0x16C514
setflag 0x263
release
end

'-----------------------
#org 0x1A8C27
countpokemon
subvar LASTRESULT 0x1
copyvar 0x8004 LASTRESULT
return

'-----------------------
#org 0x1A74EB
fadescreen 0x1
special 0x9E
waitstate
return


'---------
' Strings
'---------
#org @talk1
= hope you're taking good care of\nHootHoot.

#org @get
= "[player] obtained an HootHoot!"

#org @Nick
= "Do you want to give a nickname to\nHootHoot?"

#org @no_space
= There's no more room for POKéMON!\pThe POKéMON BOXES are full and\ncan't accept any more!

Ninja Caterpie
December 17th, 2008, 11:26 PM
setflag 0x828 and checkflag at the start.

Dr Gregory House
December 18th, 2008, 02:14 AM
setflag 0x828 and checkflag at the start.

somehow...i don't think this is a starter pokemon script.

kokkok
December 18th, 2008, 04:20 AM
its not working..haha..its abit buggy also

PlatniumPiano
December 21st, 2008, 11:28 AM
Ok, so I have a question...

What script is needed (in XSE) to have a sprite show up for one event, and the next time you enter that route/cave/town have it dissapear?

gangstajoe
December 26th, 2008, 02:05 AM
I found a Wild Pokemon Script, but it don't work. can somebody tell me what's wrong with it?
The script:

#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @pokemon
callstd 0x2
startwildbattle 0x131 0x32 0x0
release
end

#org @pokemon
= guwaaa!

HackMew
December 26th, 2008, 06:15 AM
I found a Wild Pokemon Script, but it don't work. can somebody tell me what's wrong with it?
The script:

#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @pokemon
callstd 0x2
startwildbattle 0x131 0x32 0x0
release
end

#org @pokemon
= guwaaa!

I see you're using an old XSE version: please update it. See my thread ;)

#dynamic 0x800000

#org @start
cry 0x131
msgbox @pokemon @2
waitcry
wildbattle2 0x131 0x32 0x0 0x0
end

#org @pokemon
= guwaaa!

gangstajoe
December 27th, 2008, 01:23 AM
I see you're using an old XSE version: please update it. See my thread ;)

#dynamic 0x800000

#org @start
cry 0x131
msgbox @pokemon @2
waitcry
wildbattle2 0x131 0x32 0x0 0x0
end

#org @pokemon
= guwaaa!

I cant find it, sorry. do you have a link to it?

SmashLucario
January 7th, 2009, 07:06 PM
Thanks for the Tut. Now I'm understanding how to use it. :)

joker05
January 11th, 2009, 02:05 AM
thank you very much ı like youuu

deathscythe
January 11th, 2009, 10:13 AM
Apparently, the LOCK function is not really necessary. It would be cooler looking when you're talking to a character and the other character still moves around.

Shaymew
January 12th, 2009, 05:07 PM
Hi...um when i follow the directions exactly, some message appears saying "Too less Peramiters on line 6. The correct number is 2" how do i fix this?

Late
January 13th, 2009, 06:43 AM
#Dynamic 0x8008F2

#org @start
lock
faceplayer
trainerbattle 1 0x0 0x1 0x1 @challenge @lost
message @boo 0x6
release
end

#org @lost
= I lost!

#org @challenge
= I kill you!

#org @boo
= So... I didn't kill you...


What's wrong with this script? I try to make a trainer, but when I go to battle he says o^. It must say I kill you... I just began scripting...

I solved my problem myself! (That was my fourth script ever!!! XD)

Shaymew
January 17th, 2009, 07:48 PM
Hi can you tell me whats wrong with this script?

#dynamic 0xE3CF64
#org @start
lock
faceplayer
givepokemon 0x123 0x2 0x0 0x0 0x0 0x0
msgbox @text 0x6
release
end
'====================
#org @Hi
= Hello! Talk to everyone you see!\nI have something to tell you\pHI! Talk to people you see!\nHere! Take this Scyther!\pI have something for you!\nThe Trainer Society told me of you!\pThey told me to tell you to talk \nto E-V-E-R-Y-O-N-E you see! \p\nYou might just get special things!\p

Late
January 17th, 2009, 10:50 PM
Just put...
msgbox @Hi 0x6 , not msgbox @text 0x6
Because you have that @Hi at your text. You need the same word.
I think it's ready then, but if you talk to same man again. You will get scyther again...

Lukeyjohnno
January 18th, 2009, 08:01 AM
I don't really know if I'm allowed to request scripts, or for help here, but, do you mind explaining to me in PM how to make a wildbattle script without walking pressing a on someone?
Like walking into the grass and a Pokémon appears?

gangstajoe
January 20th, 2009, 08:39 AM
I don't know if i can ask it here, but i need some serious help.
I want a script, that if you step on it, it will say something, and then you do one step down, untill a setflag is activated.
Please help me.

Editman
January 21st, 2009, 06:14 PM
Mine keeps saying unknown keyword "boxset" at line 7 when i try to do a diolouge script

Surf
January 21st, 2009, 06:21 PM
I don't know if i can ask it here, but i need some serious help.
I want a script, that if you step on it, it will say something, and then you do one step down, untill a setflag is activated.
Please help me.

#dynamic 0x800000
#org @start
checkflag 0x
if 0x0 (Means if not done) goto @move
release
end

#org @move
lock
msgbox @talk 0x6
applymovement 0xFF @move1
waitmovement 0x0
release
end

#org @move1
#raw 0x10
#raw 0xFE

#talk
= TEXT HERE

Hope that helped

Editman
January 21st, 2009, 06:24 PM
#dynamic 0x800000

#org @main
lock
faceplayer
msgbox @msg 0x6
release
end

#ORG @Speak
= Hayden:It's about time [Player]/nI was waiting on you/n[rival]'s mom was looking for you!

I followed the Tutorial Perfectly how come this doesnt work?

Surf
January 21st, 2009, 06:27 PM
#dynamic 0x800000

#org @main
lock
faceplayer
msgbox @msg 0x6
release
end

#org @Speak
= Hayden:It's about time [Player]/nI was waiting on you/n[rival]'s mom was looking for you!

I followed the Tutorial Perfectly how come this doesnt work?

Don't captilize ORG or else it might not work
what was wrong with it BTW

Editman
January 21st, 2009, 06:30 PM
Well it keeps saying error 13 type mismatch on line 6
Missing Dynamic label

Oh Lowercasing ORG did'nt work V_V

Surf
January 21st, 2009, 06:32 PM
#dynamic 0x800000

#org @main
lock
faceplayer
msgbox @msg 0x6
release
end

#org @msg
= Hayden:It's about time [Player]/nI was waiting on you/n[rival]'s mom was looking for you!

I followed the Tutorial Perfectly how come this doesnt work?

Ahh you used two different Dynamic labels for the same msg
the fix is in bold

Editman
January 21st, 2009, 06:41 PM
thanks, I guess i should have caught that!

gangstajoe
January 22nd, 2009, 07:13 AM
#dynamic 0x800000
#org @start
checkflag 0x
if 0x0 (Means if not done) goto @move
release
end

#org @move
lock
msgbox @talk 0x6
applymovement 0xFF @move1
waitmovement 0x0
release
end

#org @move1
#raw 0x10
#raw 0xFE

#talk
= TEXT HERE

Hope that helped

i tried it, but it doesn't work. as first it sayd he can't reconize #talk, so i changed that in #org @talk, and then it works, but when i putted in the game it will freeze. Did i do something wrong? :(

NTHKP
January 23rd, 2009, 04:50 AM
i tried it, but it doesn't work. as first it sayd he can't reconize #talk, so i changed that in #org @talk, and then it works, but when i putted in the game it will freeze. Did i do something wrong? :(
Change #talk to #org @talk and open up Advance Map, type in 4000 for the script's Var Number, 0003 for Unknown. That should work.
Also, if you're using R/S/E roms, use 0x04 to walk down 1 step; if you're using FR/LG roms then use 0x08.

gangstajoe
January 23rd, 2009, 06:12 AM
Change #talk to #org @talk and open up Advance Map, type in 4000 for the script's Var Number, 0003 for Unknown. That should work.
Also, if you're using R/S/E roms, use 0x04 to walk down 1 step; if you're using FR/LG roms then use 0x08.

Thanks, he steps back now. But now there is a other problem :disappoin. It don't say anything, if i step on it, it send me back without text.
It's pretty funny, but if you know how to solve the problem, that would be awesome.

NTHKP
January 23rd, 2009, 07:23 AM
Thanks, he steps back now. But now there is a other problem :disappoin. It don't say anything, if i step on it, it send me back without text.
It's pretty funny, but if you know how to solve the problem, that would be awesome.
Since you didn't show me the script I can't figure out what was wrong with it. How about trying this script:

#dynamic 0x800000

#org @start
checkflag 0x1008
if 0x0 goto @move
release
end

#org @move
lock
msgbox @e 0x6
applymovement 0xFF @move1
waitmovement 0x0
release
end

#org @move1
#raw 0x4
#raw 0xfe

#org @e
= Back off!

gangstajoe
January 23rd, 2009, 09:54 AM
Since you didn't show me the script I can't figure out what was wrong with it. How about trying this script:

#dynamic 0x800000

#org @start
checkflag 0x1008
if 0x0 goto @move
release
end

#org @move
lock
msgbox @e 0x6
applymovement 0xFF @move1
waitmovement 0x0
release
end

#org @move1
#raw 0x4
#raw 0xfe

#org @e
= Back off!

It's the same problem.. and if you want the script:

#dynamic 0x800000

#org @start
checkflag 0x200
if 0x0 goto @move
release
end

#org @move
lock
msgbox @talk 0x6
applymovement 0xFF @move1
waitmovement 0x0
release
end

#org @move1
#raw 0x04
#raw 0xFE

#org @talk
= It isn't smart to go without a pokemon!

NTHKP
January 23rd, 2009, 09:43 PM
It's the same problem.. and if you want the script:

#dynamic 0x800000

#org @start
checkflag 0x200
if 0x0 goto @move
release
end

#org @move
lock
msgbox @talk 0x6
applymovement 0xFF @move1
waitmovement 0x0
release
end

#org @move1
#raw 0x04
#raw 0xFE

#org @talk
= It isn't smart to go without a pokemon!

That's really weird! I tried your script on my Emerald, Sapphire & Fire Red roms, and it worked just perfectly. I don't think there's any problem with the script. Perhaps there's some problem with the roms you use, or the hack tools.

gangstajoe
January 24th, 2009, 02:09 AM
That's really weird! I tried your script on my Emerald, Sapphire & Fire Red roms, and it worked just perfectly. I don't think there's any problem with the script. Perhaps there's some problem with the roms you use, or the hack tools.

It can't be the rom, because i use Sapphire, and you tried it. Maybe it's my XSE, i got version 1.0.0, i'll try to update it, and see if it works.

EDIT:
I update my XSE to 1.1.1, and now it's working :D Thanks for everything, i now have to find how i can let him step up, to the right or the left xD

NTHKP
January 24th, 2009, 03:50 AM
It can't be the rom, because i use Sapphire, and you tried it. Maybe it's my XSE, i got version 1.0.0, i'll try to update it, and see if it works.

EDIT:
I update my XSE to 1.1.1, and now it's working :D Thanks for everything, i now have to find how i can let him step up, to the right or the left xD

Then you should take a look at diegoisawesome's MEGA-HUGE XSE Scripting Tutorial. There's a part that shows lists of PKMN movement. Here:
http://www.pokecommunity.com/showthread.php?t=164276

Lukeyjohnno
January 24th, 2009, 05:23 AM
Right, I have a script that I'm using so that you go into the grass and talk to a pokemon sprite and go into battle. The only thing is, the pokemon comes out like this:

http://img164.imageshack.us/img164/4329/1636pokemonfireredversius6.png

Here is the script:
'---------------
#org 0x800000
lock
faceplayer
msgbox 0x8800023 MSG_NORMAL '"???: Rio...lu..?"
cry 0x6 0x0
wildbattle 0x252 0x1E 0x8B
fadescreen 0x1
fadescreen 0x0
hidesprite LASTTALKED
setflag 0x200
release
end


'---------
' Strings
'---------
#org 0x800023
= ???: Rio...lu..?

The pokémon is 0x252 because it is an added pokémon, can I get any help?

NTHKP
January 24th, 2009, 06:54 AM
Right, I have a script that I'm using so that you go into the grass and talk to a pokemon sprite and go into battle. The only thing is, the pokemon comes out like this:

http://img164.imageshack.us/img164/4329/1636pokemonfireredversius6.png

Here is the script:
'---------------
#org 0x800000
lock
faceplayer
msgbox 0x8800023 MSG_NORMAL '"???: Rio...lu..?"
cry 0x6 0x0
wildbattle 0x252 0x1E 0x8B
fadescreen 0x1
fadescreen 0x0
hidesprite LASTTALKED
setflag 0x200
release
end


'---------
' Strings
'---------
#org 0x800023
= ???: Rio...lu..?

The pokémon is 0x252 because it is an added pokémon, can I get any help?

I think you must've mistakenly put in 0x252 into the script. Since 252 in HEX equals 594 in DEC, and there are only 411 pokemon in the game (including the 25 unused ones). So fix that and it'll work.

gangstajoe
January 24th, 2009, 11:08 AM
Then you should take a look at diegoisawesome's MEGA-HUGE XSE Scripting Tutorial. There's a part that shows lists of PKMN movement. Here:
http://www.pokecommunity.com/showthread.php?t=164276

thank you so much for that link! that will help me for some time. it got lots of details :D.

Lukeyjohnno
January 24th, 2009, 11:18 AM
I think you must've mistakenly put in 0x252 into the script. Since 252 in HEX equals 594 in DEC, and there are only 411 pokemon in the game (including the 25 unused ones). So fix that and it'll work.

Oh! Thanks so much!!
Now, can anyone help me, lol, again?
Say after she's given the pokémon, make it so you can't see her sprite anymore?
I dunno where to put the hidesprite...

NTHKP
January 24th, 2009, 06:17 PM
Oh! Thanks so much!!
Now, can anyone help me, lol, again?
Say after she's given the pokémon, make it so you can't see her sprite anymore?
I dunno where to put the hidesprite...

If your problem is: after fighting the pokemon, the spite did vanish, but if you take just one step then it will appear again, then open up Advance Map, type in 0200 for Person ID. (0200 is the value of the flag you used in the script, if you change this value, then change Person ID as well).

Lukeyjohnno
January 25th, 2009, 01:37 AM
If your problem is: after fighting the pokemon, the spite did vanish, but if you take just one step then it will appear again, then open up Advance Map, type in 0200 for Person ID. (0200 is the value of the flag you used in the script, if you change this value, then change Person ID as well).

I put 0200 into the AMap, and it didn't change anything.
What I really need is:
Person to give the pokémon.
Then say "I have to leave now."
Then make it fade the screen, and the person is gone.

NTHKP
January 25th, 2009, 04:11 AM
I put 0200 into the AMap, and it didn't change anything.
What I really need is:
Person to give the pokémon.
Then say "I have to leave now."
Then make it fade the screen, and the person is gone.

OK, try this:

#dynamic 0x800000

#org @give
lock
faceplayer
msgbox @poke 0x6
givepokemon 0x192 0x1e 0x1 0x0 0x0 0x0
msgbox @received 0x6
fanfare 0x13e
waitfanfare
msgbox @leave 0x6
fadescreen 0x1
hidesprite LASTTALKED
fadescreen 0x0
setflag 0x1000
release
end

#org @received
= \v\h01 RECEIVED A POKEMON!

#org @leave
= I have to leave now.

#org @poke
= I've got something for you.

I've already tested this on my FireRed rom, and it worked. Remember to change the Person ID into 1000.

Lukeyjohnno
January 25th, 2009, 10:10 AM
OK, try this:

#dynamic 0x800000

#org @give
lock
faceplayer
msgbox @poke 0x6
givepokemon 0x192 0x1e 0x1 0x0 0x0 0x0
msgbox @received 0x6
fanfare 0x13e
waitfanfare
msgbox @leave 0x6
fadescreen 0x1
hidesprite LASTTALKED
fadescreen 0x0
setflag 0x1000
release
end

#org @received
= \v\h01 RECEIVED A POKEMON!

#org @leave
= I have to leave now.

#org @poke
= I've got something for you.

I've already tested this on my FireRed rom, and it worked. Remember to change the Person ID into 1000.

Thanks so much bro.
You're helping me out alot, I'll just stick this into my ROM now..

EDIT: Okay, so it worked, but I need it to activate the pokémon menu, how do I do this?

EDIT2: Nevermind I sorted it, thanks a bunch ;D

EDIT3: After testing it out completely. I left the house after obtaining the pokemon.
I walked back in the house, and he was back there again...

NTHKP
January 25th, 2009, 08:27 PM
Thanks so much bro.
You're helping me out alot, I'll just stick this into my ROM now..

EDIT: Okay, so it worked, but I need it to activate the pokémon menu, how do I do this?

EDIT2: Nevermind I sorted it, thanks a bunch ;D

EDIT3: After testing it out completely. I left the house after obtaining the pokemon.
I walked back in the house, and he was back there again...

That can't be! When I first made a script of this hidesprite kind, I also had the same problem of the sprite reappearing like that. But then, I discovered that if I gave the sprite's PERSON ID the same value of the flag I used in the script (thanks to HackMew's built-in Guide in XSE), the problem would be solved.
It's possible that you've got an older version of XSE. If so, update it and see if it works.

EDIT: It's also possible that the flag you set in the script was already cleared. In that case just use another flag.

Lukeyjohnno
January 26th, 2009, 12:02 PM
That can't be! When I first made a script of this hidesprite kind, I also had the same problem of the sprite reappearing like that. But then, I discovered that if I gave the sprite's PERSON ID the same value of the flag I used in the script (thanks to HackMew's built-in Guide in XSE), the problem would be solved.
It's possible that you've got an older version of XSE. If so, update it and see if it works.

EDIT: It's also possible that the flag you set in the script was already cleared. In that case just use another flag.
Well, what I have found out, is that i'll go back into the house, and he'll still be there, i'll take the pokémon off him and leave the house again. I go back in and he's gone for good.
I did edit the script a little bit, to fit my needs. I'll repost it to see if I have change something I shouldn't have:
'---------------
#org 0x800988
lock
faceplayer
msgbox 0x88009F2 MSG_NORMAL '"I've got something for you."
givepokemon 0xFC 0x5 0x0 0x0 0x0 0x0
fanfare 0x13E
msgbox 0x88009C4 MSG_NORMAL '"[player] recieved a RIOLU!"
setflag 0x828
msgbox 0x88009DB MSG_NORMAL '"I have to leave now."
fadescreen 0x1
hidesprite LASTTALKED
fadescreen 0x0
setflag 0x1000
release
end


'---------
' Strings
'---------
#org 0x8009F2
= I've got something for you.

#org 0x8009C4
= vÀ recieved a RIOLU!

#org 0x8009DB
= I have to leave now.

ninjaman
March 1st, 2009, 12:15 PM
can some one give me a script for a 16,15 gym with 5 or 6 pokemon and sript for a in game clock or tut for these plz i need help

Xatoku
March 9th, 2009, 10:22 AM
Umm whenever I click "compile" it says that "Too less paremeters on line 6. The correct number is 2"

The script is,
#Dynamic 0x800000

#ORG @Main
Lock
FacePlayer
Message @Speak
BoxSet 0x6
Release
End

#ORG @Speak
= This is a message!

What do I need to fix?

chinchil123
March 11th, 2009, 09:01 AM
Thanks for this tut it really helped. ^-^

Benzee
March 14th, 2009, 08:19 AM
Hey, first let me say that this is a cool tutorial and I look forward to using it. When I tried to make a script for a test sign, I followed your steps. Here is my script.

#dynamic 0x800426

#org @msg
Lock
Faceplayer
msgbox @msg 0x3
release
end

#org @start
= Hola!

Now I hit compile script, but I don't know how to insert it into the game. I tried setting the offset number in advance-map to $800426, but then whenever I open it, it's a different one. I've been trying to figure it out for a while, but I have yet to figure out what I am doing wrong. Any help would be appreciated.

Edit: Just figured out the problem. Great guide.

Chibi Robo
March 22nd, 2009, 04:04 PM
Ive made my script and compiled but how do I put it on advance map into a person?

Zanny77
March 24th, 2009, 07:58 PM
Erm, I am not sure what's going on. I have XSE up and I tried to run this on the fat guy in front of Prof. Oak's lap.

#dynamic 0x800000
#org @start
lock
faceplayer
message @tutorial 0x5
compare LASTRESULT 1
if b_true goto @yes
compare LASTRESULT 0
if b_true goto @no
release
end

#org @tutorial
= Do you like Cannibal Corpse?

#org @yes
message @pressyes 0x6
release
end

#org @no
message @pressno 0x6
release
end

#org @pressyes
= Good job!\pI'd give you a cookie\p...\pIf I had one...

#org @pressno
= .....octopus...

I also went into Advance Map and changed his script offset to 800000, but it's not working. What's wrong?

(Also, I'm not sure if this does anything, but I moved him into in front of the house and changed his position to "look up."

AL_91
March 25th, 2009, 08:24 AM
Whats wrong with this:



#org $16B0000
lock
faceplayer
checkflag 0x1000
if b_true goto $alredygot
message $getitem
$getitem 1 = Your pokedex is upgradet
boxset 6
giveitem 0xD 0x5
setflag 0x1000
release
end

#ORG $alredygot
lock
faceplayer
message $onlyone
$onlyone 1 = Do you like your new pokedex
boxset 6
release
end

thetribemaster
March 25th, 2009, 10:44 AM
@AL_91

Try this, I even went to the trouble of fixing your grammar :D
DONT COPY AND PASTE


#dynamic 0x[insert offset from FSF]
#org @start
lock
faceplayer
checkflag 0x923 (unless already used)
if 0x1 goto @alredygot
msgbox @getitem 0x6
giveitem 0xD 0x5 MSG_OBTAIN
setflag 0x923
release
end

#ORG @alredygot
msgbox @onlyone 0x6
release
end

#org @getitem
= Your pokedex is upgraded.

#org @onlyone
= Do you like your new pokedex?


@Zanny77

Try this one, same as above


#dynamic 0x800000
#org @start
lock
faceplayer
msgbox @tutorial 0x5
compare LASTRESULT 0x1
if 0x1 goto @yes
message @pressno 0x6
release
end

#org @yes
msgbox @pressyes 0x6
release
end

#org @tutorial
= Do you like Cannibal Corpse?

#org @pressyes
= Good job!\pI'd give you a cookie\p\hB0\pIf I had one\hB0

#org @pressno
= \hB0octopus\hB0


@HFI

Seriously, did you read the thread, or just post, type in the offset XSE gave you into the "Script offset" field (by default it will have $000000 in it) type it like this, say the offset was 800000, then it would say $800000.

AL_91
March 25th, 2009, 12:48 PM
now i learned how to use FSF
but..

#dynamic 0x9C0B20
#org @start
lock
faceplayer
checkflag 0x923
if 0x1 goto @alredygot
msgbox @getitem 0x6 <-?
giveitem ?????? <------ what sould i put here??
setflag 0x923
release
end

#ORG @alredygot
msgbox @onlyone 0x6
release
end

#org @getitem
= Your pokedex is upgraded.

#org @onlyone
= Do you like your new pokedex?


------------------------------------------

pkmnhackersonline says
[F301] = Emerald national dex

thetribemaster
March 25th, 2009, 05:54 PM
That depends on what you want to give, the script you gave me would give you 5 potions.
Oh, you want to give the national dex, thats a special.

Replace giveitem xxx xxx xxx with

special 0x1F3

AL_91
March 25th, 2009, 09:38 PM
...
if 0x1 goto @alredygot
msgbox @getitem 0x6
special 0x1F3
setflag 0x923
release
...
Like this??

#Dynamic 0x800000

#org 0xE3CF65
lock
faceplayer
checkflag 0x10B
if 0x1 jump 0xE3CF8B
setflag 0x10B
special 0x1F3
msgbox 0x8E3CF97
callstd 0x6
fanfare 0x13E
msgbox 0x8E3CFB3
callstd 0x6
release
end

#org 0xE3CF8B
lock
faceplayer
msgbox 0x8E3CFC6
callstd 0x6
release
end

#org 0xE3CF97
= text
#org 0xE3CFB3
= Pokedex Upgradet
#org 0xE3CFC6
= Like your new pokedex?

game works with this but very slowly (and sorry for my bad english)

i fixed it. thanx for help

Southparkerstan
March 26th, 2009, 03:12 AM
Hi, I have a problem with XSE. Whenever i hit the compile button, i get a message that says "Too les parameters on line 6. The correct number is 2." Whats the problem?
Here's the script:
#Dynamic 0x800000
#ORG @Main
Lock
FacePlayer
Message @Speak
BoxSet 0x6
Release
End
#ORG @Speak
= This is a test script.

AL_91
March 26th, 2009, 03:34 AM
for national dex i used


'-----------------------
#org 0x869630
lock
faceplayer
checkflag 0x10A
if 0x1 call 0x8869652
special 0x1F3
setflag 0x10A
fanfare 0x13E
msgbox 0x8869678 '"Your POKéDEX was upgraded!"
callstd 0x6
waitfanfare
release
end

'-----------------------
#org 0x869652
msgbox 0x886965E '"Like your new POKéDEX?"
callstd 0x6
release
end


'---------
' Strings
'---------
#org 0x869678
= Your POKéDEX was upgraded!

#org 0x86965E
= Like your new POKéDEX?

Matteron (96)
March 29th, 2009, 08:05 AM
This is a really short tut.

darkmaster0
April 1st, 2009, 09:26 AM
Something is wrong. I can edit scripts that are already in the game but I can't add my own. It compiles successfuly but doesn't open the right script in advance map.

Flip-destiny
April 1st, 2009, 04:46 PM
I need help =/

I followed the tutorial and then I clicked Compile and this message appeared, "Too less parameters on line 6. The correct number is 2."

What does that mean, please help!

Bao
April 1st, 2009, 06:49 PM
okay i must be doing something wrong here.

so i'll edit one script like say a signpost and compile it. than i'll go and edit a different signpost and compile it. BUT, if i go back to recheck on the first script i edit, it changes by itself. it becomes a mixture of both scripts that i've edit...

what am i doing wrong??

HentaiHentai
April 1st, 2009, 08:37 PM
okay i must be doing something wrong here.

so i'll edit one script like say a signpost and compile it. than i'll go and edit a different signpost and compile it. BUT, if i go back to recheck on the first script i edit, it changes by itself. it becomes a mixture of both scripts that i've edit...

what am i doing wrong??

Use a Free Space Finder.
Compile script to a free space.
and it will work.

I am assuming your editing signs that are already in game.
Dont.
Make a new one and get the offset from FSF.
Then compile. Thats how. Try it.

Chibi Robo
April 2nd, 2009, 06:43 AM
@AL_91
Seriously, did you read the thread, or just post, type in the offset XSE gave you into the "Script offset" field (by default it will have $000000 in it) type it like this, say the offset was 800000, then it would say $800000.

Ok thanks I must of skimed over that part (Sometimes I read too quickly and miss some parts of the tutorial)

Bao
April 2nd, 2009, 11:22 AM
Use a Free Space Finder.
Compile script to a free space.
and it will work.

I am assuming your editing signs that are already in game.
Dont.
Make a new one and get the offset from FSF.
Then compile. Thats how. Try it.
hey thanks for the help! i will try it out and see if it'll work =]

Ark_Dragon
April 6th, 2009, 03:48 AM
Ok so i want to start scripting and the tut at beggining seems helpful, but can someone lock any important posts to the top, because theres a lot here to read and i dont want to miss anything too good! xD

Dragonmaster91
April 6th, 2009, 02:44 PM
I need help =/

I followed the tutorial and then I clicked Compile and this message appeared, "Too less parameters on line 6. The correct number is 2."

What does that mean, please help!
Can't help unless you post your script.

Giratina the master
April 6th, 2009, 03:31 PM
Why does it send me messae saying
no #dirrectives were found cannot compile

xyzmetal
April 17th, 2009, 07:46 PM
I followed the tutorial and my script is:

#Dynamic 0x800000

#ORG @Main
Lock
FacePlayer
Message @Speak
BoxSet 0x6
Release
End
#ORG @Speak
= This is a message!

A message keeps popping up saying "Too less parameters online 6. The correct number is 2." What does that mean?

machomuu
April 17th, 2009, 09:00 PM
I followed the tutorial and my script is:

#Dynamic 0x800000

#ORG @Main
Lock
FacePlayer
Message @Speak
BoxSet 0x6
Release
End
#ORG @Speak
= This is a message!

A message keeps popping up saying "Too less parameters online 6. The correct number is 2." What does that mean?
Fixed
#Dynamic 0x800000

#ORG @Main
Lock
FacePlayer
Msgbox @Speak 0x6
Release
End

#ORG @Speak
= This is a message!

It is now Msgboc instead of message then boxset.

0m3GA ARS3NAL
April 17th, 2009, 10:30 PM
It is now Msgboc instead of message then boxset.

Actually, it is
msgbox
OR
message

Both work fine, the new part about it is the last byte.
That is boxset.

Instead of;
message @lol
boxset 0x6

now you have to type;
message @lol 0x6

You see, not much of a difference.
Just clarifying that both msgbox and message work... of course, the initial question would not have been asked if people were smart enough to read the guide that is INCLUDED WITH XSE, it tells you all of the changes since the update!

Larsa Solidor
April 18th, 2009, 03:59 AM
You have absolutely no idea how long i have been looking for a good XSE scripting tutorial! THANK YOU SOOOOOOO MUCH!!!!

xyzmetal
April 18th, 2009, 05:37 AM
So I tried it and nwo it says Error 13 "Type Dismatch" on line 6. Missing dynamic label.
My script is

#Dynamic 0x800000

#ORG @Main
Lock
FacePlayer
message @lol 0x6
Release
End

#ORG @Speak
= This is a message!

And on line 6 I have = message @lol 0x6. Any help for that? P.S. The guide doesnt tell you how to deal with error codes.

kaka1918
April 23rd, 2009, 05:24 AM
yes is very good tutoriel I can take it to make it in my site with a French translation (with credit )

falls
April 23rd, 2009, 06:22 AM
not sure wat I am doing wrong. when i put it on a script event not a person event, i just walk right over it...

Pokemon12345678901
May 4th, 2009, 04:41 PM
Hi the compile button is gray not blue and it not letting me click it. help

colcolstyles
May 4th, 2009, 04:59 PM
Hi the compile button is gray not blue and it not letting me click it. help
Do you have a ROM loaded in XSE? If not, the Compile button will be unclickable.

spartan3572
May 6th, 2009, 02:20 PM
I am trying to make a person give you money, but once i compile the script, then i exit out and go back to it, the script is blank. I think there might be a problem with my script, can someone help me?

'---------------
#org 0x000000
lock
faceplayer
msgbox 0x000000 MSG_NORMAL '"Here have some money."
givemoney 00002710 MSG_OBTAIN
release
end

'---------
' Strings
'---------
#org 0x000000
= Here have some money.




also how do i tell how much money the person is giving?

colcolstyles
May 6th, 2009, 02:27 PM
I am trying to make a person give you money, but once i compile the script, then i exit out and go back to it, the script is blank. I think there might be a problem with my script, can someone help me?

'---------------
#org 0x000000
lock
faceplayer
msgbox 0x000000 MSG_NORMAL '"Here have some money."
givemoney 00002710 MSG_OBTAIN
release
end

'---------
' Strings
'---------
#org 0x000000
= Here have some money.




also how do i tell how much money the person is giving?
Don't compile it to '0x000000'. Try something around 0x800000. And for the text, don't put the same offset that you put at the top of the script. Add like 0x100 to it (so that'd be 0x800100 or whatever).
Or you could just use dynamic offsets...

spartan3572
May 7th, 2009, 05:39 PM
thanks, i didnt compile it to 0x000000, i just change that for this. But i did change the offset for the text and that worked. Thanks again

How do you create the script for a trainer battle? i have made the trainer using advance trainer, but i dont know what script to write for it. can anyone help?

colcolstyles
May 7th, 2009, 06:42 PM
How do you create the script for a trainer battle? i have made the trainer using advance trainer, but i dont know what script to write for it. can anyone help?
Both thethethethe's scripting tutorial and diego's XSE adaptation of said tutorial explain how to do that in detail.

Balkia
June 7th, 2009, 05:48 PM
wheres update im interested on learning more

Heres what happened when i tried on Emerald

http://bypass.google.com/picture.php?albumid=3652&pictureid=25300

Arrlop
June 16th, 2009, 10:01 AM
is it worth transferring over from Pokescript to XSE

Gamer2020
June 16th, 2009, 10:27 AM
is it worth transferring over from Pokescript to XSE
Yes it is.
It's easier to learn and has some great features.
I think most people these days use XSE.

Arrlop
June 16th, 2009, 10:48 AM
Cheers Will take your advice, shame really i liked Pokescript.

MetalGod
June 19th, 2009, 09:04 PM
Howdy I just have a quick question:

I am getting this error when trying to compile: "Error 13 "Type Mismatch" on line 9. Missing #define"
Here is the exact code:

#dynamic 0x800001

#org @start
faceplayer
lock
checkflag 0x7
if 0x1 goto @got
msgbox @pokeballs 0x5
compare LASTRESULT 0x1
if 0x1 goto @give
msgbox @no 0x2
release
end

#org @give
giveitem 0x1 0x6 MSG_OBTAIN
setflag 0x7
msgbox @have 0x2
release
end

#org @got
msgbox @have 0x2
release
end

#org @pokeballs
= Would you like some Master\nBalls?

#org @no
= No? Well okay...

#org @have
= If you use those they ALWAYS\nwork!\p...\p...\p...\pLike your mom at a\nstreet corner... :P


And thanks in advance.This is just a test script, and because of that error I can't do any YES \ NO msgboxs.

~Metal God

ShinyBlaziken
June 20th, 2009, 01:28 AM
Hi,
I tried to make a person talk to me.
So i made the Script that was described here.
#Dynamic 0x800000

#ORG @Start
Lock
FacePlayer
Message @speak
BoxSet 0x6
Release
End

#ORG @Speak
= Hi!!

But when I'm trying to Compile it, it says that there is something wrong in line 6 (Message @speak)
But i don't know why...

tonyroolz
June 22nd, 2009, 05:48 PM
i know it sounds really stupid but how do I know what the offset is? (im a n00b)

My Cyndaquil is on Fire!
June 23rd, 2009, 07:09 AM
I followed everything for the tutorial Darthron but when I paste the offset in A map and it says for some reason no script aditor defined.
I would appreciate help from cooley, 0mega and other sgood scripters
Thanks~

hashtag
June 23rd, 2009, 07:43 AM
Well, this tut is for an old XSE. So, copying a script wouldn't work anyway :\

Regigiygas
June 24th, 2009, 05:47 PM
Out of curiosity, where would you find a more recent tutorial?

Tropical Sunlight
June 25th, 2009, 03:37 AM
Out of curiosity, where would you find a more recent tutorial?
Diegoisawesome's tut should be the one.

0m3GA ARS3NAL
June 25th, 2009, 10:57 PM
i know it sounds really stupid but how do I know what the offset is? (im a n00b)

Oh boy, get ready for a wall of text.

An offset is a location in a ROM.
For instance. 0x800000

0x800000 is found in a ROM< at byte number 0x800000, this could be the pointer to an image, or trainer battle data, or whatever it may be, in a scripters case, it is often the offset used to put our scripts.
Why? Because there is A LOT of free space in a ROM there, that is why!
Now, using a scripting engine, like XSE, we can write 0x800000 as our dynamic starting point! (This means that we tell XSE to start looking for free space at 0x800000.)
The reason it is called dynamic is because it wont need to be 0x800000 all the time, so XSE changes it for us, so we don't have to search for free space any more. It, DYNAMICALLY CHANGES! WOOT.
Anywho, offsets are used in many places for a ROM hacker.
For instance, a ROM hacker working in Advance Map may need a scripts offset to give to an overworld, and make it so when you talk to the person, or step on the tile, an even will happen.
A scripter may have a script in there hack, that points to a script they already put in there hack, so they will point the script at that offset to use it, instead of re-writing it, and putting it in twice.
Even artists that make new pixel art need offsets, so they know where to insert there images... as a hacker, you WILL be using offsets often, so get to know your rom hacking terms, any questions? Ask it in the simple question thread, located HERE http://www.pokecommunity.com/showthread.php?t=79614 (http://www.pokecommunity.com/showthread.php?t=79614).
Be sure to be nice, and if you are not answered right wait, wait about 10 posts, and ask again.

bradiz13
July 8th, 2009, 05:08 PM
This is a great tut...Its very easy to understand. I thankyou.

SSJALEX
July 20th, 2009, 11:41 AM
awesome tutorial! i am gonna give it a try soon! this iis very easy to understand! :)

flamezy boi
July 24th, 2009, 08:17 PM
try changing message @....
boxset 0x6
to
msgbox @..... 0x6, it should work ^^

.Seth
July 24th, 2009, 09:07 PM
Diegoisawesome's tut should be the one.
His has errors too, just so you know.

Pikachu fan
August 16th, 2009, 12:54 AM
I'm currently working on a hack
called pokemon ruby diamond and
i'm trying to compile this script:


#Dynamic 0x6B09F8

#ORG @Main
Lock
FacePlayer
checkflag 0x200
GivePokemon 151 30 0
if b_false goto @recieved
message @recieved
setflag 0x200
Release
End

#ORG @gotit
message @howis
boxset 0x2
End

#ORG @recieved
= Here is a rare Pokemon!

#ORG @howis
= How is MEW?


but every time i try to compile the script
a pop up says:

Error 13 'type mismatch' in file ..... on line 7
Missing #define or parameter

Line: GivePokemon 151 30 0

someone tell me whats wrong plzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzz

.Seth
August 16th, 2009, 01:20 AM
I'm currently working on a hack
called pokemon ruby diamond and
i'm trying to compile this script:


#Dynamic 0x6B09F8

#ORG @Main
Lock
FacePlayer
checkflag 0x200
GivePokemon 151 30 0
if b_false goto @recieved
message @recieved
setflag 0x200
Release
End

#ORG @gotit
message @howis
boxset 0x2
End

#ORG @recieved
= Here is a rare Pokemon!

#ORG @howis
= How is MEW?


but every time i try to compile the script
a pop up says:

Error 13 'type mismatch' in file ..... on line 7
Missing #define or parameter

Line: GivePokemon 151 30 0

someone tell me whats wrong plzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzz
Begging won't get you anywhere. And this is a tutorial, not a Script Help Thread, like the one in the main ROM hacking forum you should go to for this.
Also, read your error code. You forgot "0 0 0" after the digits in the givepokemon command.

●•ΛΣЯӨЩ•●
August 16th, 2009, 03:20 AM
the give pokemon there has to be

Givepokemon 0x[your pokemon] 0x[its level] 0x[its item] 0x0 0x0 0x0

Lukeyjohnno
August 16th, 2009, 12:09 PM
I wasn't sure if you could ask for help here?
If I am wrong pleae tell me and I will delete the post.
#dynamic 0x800A71

#ORG @start
checkflag 0x828
if 0x1 goto @done
setflag 0x828
msgbox @begin 0x6
applymovement 0xFF @playermove
pause 0x50
msgbox @message 0x6
fanfare 0x13E
msgbox @recieved 0x6
waitfanfare
givepokemon 0xFC 0x5 0x8B 0x0 0x0 0x0
release
end

#ORG @begin
= [red_fr][PLAYER], come here please!

#ORG @done
release
end

#ORG @playermove
#raw 0x11
#raw 0x11
#raw 0x11
#raw 0x11

#ORG @message
= [red_fr]Hello [PLAYER].\pI have your POKéMON here, I have\nnever seen a POKéMON like this one\lbefore... It must be very rare!\lWell here it is, take care of it.

#ORG @recieved
= [black_fr][PLAYER] recieved RIOLU!

After hours of trying to figure it out, I couldn't.
The code flows well, until it finishes, and I can't move, I can bring up the L or R menu but thats it. I also can't use "waitmovement 0x0" as it also freezes the character, so I'm using pause.

Can anyone tell me if there is anything wrong with the code?

.Seth
August 16th, 2009, 03:44 PM
the give pokemon there has to be

Givepokemon 0x[your pokemon] 0x[its level] 0x[its item] 0x0 0x0 0x0
You don't have to use hex, like he did.

Pikachu fan
August 18th, 2009, 10:10 PM
oh sory its just someone else posted a help question and i needed help.
i didn't know about a help thread sory for wasting your time folks.

G Deoxys
September 2nd, 2009, 02:17 AM
i done exactly what u said and it says error:

Too less parameters on line 6. the correct number is 2


????
please help...

colcolstyles
September 2nd, 2009, 09:11 AM
Too less parameters on line 6. the correct number is 2
It means exactly that. XSE error codes are designed to let you know precisely what when wrong and where.

Open up your script in XSE and use the number on the left side of the window to navigate yourself to line 6. The error is on that line. I haven't seen your script so I can't tell you what's wrong but if you follow this tutorial, you should be able to figure it out for yourself ;)

wolfbane15
September 2nd, 2009, 04:48 PM
I'm having the same problem as g deoxys, and this is my script:
#Dynamic 0x2DD100
#ORG @start
Lock
FacePlayer
Message @oldman
BoxSet 0x6
Release
End
#ORG @oldman
= My wife spends all day in the\n garden!\p It's annoying!

Matt140
September 2nd, 2009, 05:30 PM
I'm having the same problem as g deoxys, and this is my script:
#Dynamic 0x2DD100
#ORG @start
Lock
FacePlayer
Message @oldman
BoxSet 0x6
Release
End
#ORG @oldman
= My wife spends all day in the\n garden!\p It's annoying!

I've not been into the hacking scene for a while, but, the below script will work:

#Dynamic 0x2DD100
#org @start
lock
faceplayer
message @oldman 0x06
release
end

#org @oldman
= My wife spends all day in the\n garden!\p It's annoying!

Boxset has been replaced with the second parameter of message/msgbox, one odd thing though, is that XSE still recognizes boxset (it still displays it's parameters).. I'll contact HackMew about the problem (unless someone knows of a reason why this is happening??)

0m3GA ARS3NAL
September 2nd, 2009, 05:37 PM
I've not been into the hacking scene for a while, but, the below script will work:

#Dynamic 0x800000
#org @start
lock
faceplayer
message @oldman 0x06
release
end

#org @oldman
= My wife spends all day in the\n garden!\p It's annoying!

Boxset has been replaced with the second parameter of message/msgbox, one odd thing though, is that XSE still recognizes boxset (it still displays it's parameters).. I'll contact HackMew about the problem (unless someone knows of a reason why this is happening??)

WOAH, okay, first of all, don't EVER compile a script to an offset like that.
Compile it to 0x800000, changes in the quote.

Matt140
September 3rd, 2009, 05:45 AM
Just spoken to HackMew, and yep, boxset has been deprecated and replaced with the second parameter.

wolfbane15
September 3rd, 2009, 04:52 PM
oh, okay then thanks :)
but at 0m3GA, i just used free space finder but i'll go from that from now on

0m3GA ARS3NAL
September 3rd, 2009, 05:03 PM
oh, okay then thanks :)
but at 0m3GA, i just used free space finder but i'll go from that from now on

Yeah, the reason you don't ever want to put scripts there is because that is where vital information on the game is kept.
The safest location to start from is 0x800000, because that is ROM space.

colcolstyles
September 3rd, 2009, 07:40 PM
Yeah, the reason you don't ever want to put scripts there is because that is where vital information on the game is kept.
The safest location to start from is 0x800000, because that is ROM space.
Say wha???
Although I agree that's it's probably safest to choose an offset deeper into the ROM, it's not necessary. There's nothing wrong with his offset, so long as he used Free Space Finder to find it. FSF (as the name implies) finds free space. If it wasn't free space and it was being used by the unmodified game, it probably wouldn't be filled with a sea of 'FF'. Also, 0x800000 is only free space for Fire Red. I believe it's used in Emerald and it's possible that it's used in Ruby/Sapphire as well.

Though I'd really appreciate it if you could clarify what you mean by "ROM space". I'm at a loss as to what exactly you were trying to say there :\

0m3GA ARS3NAL
September 3rd, 2009, 07:59 PM
Say wha???
Although I agree that's it's probably safest to choose an offset deeper into the ROM, it's not necessary. There's nothing wrong with his offset, so long as he used Free Space Finder to find it. FSF (as the name implies) finds free space. If it wasn't free space and it was being used by the unmodified game, it probably wouldn't be filled with a sea of 'FF'. Also, 0x800000 is only free space for Fire Red. I believe it's used in Emerald and it's possible that it's used in Ruby/Sapphire as well.

Though I'd really appreciate it if you could clarify what you mean by "ROM space". I'm at a loss as to what exactly you were trying to say there :\

0x00000000 - 0x01FFFFFF is BIOS data within the Image of a GBA Game, the data that starts teh game and all that. (GBA games usually have the extention .gba, but sometimes .bin)
0x02000000 - 0x02FFFFFF is WRAM (This changes as you play the game, so space that might look free, will often NOT be free as you play the game.)
0x03000000 - 0x03FFFFFF is IRAM (Same as WRAM, what looks like Free Space, Wont be free when you play the game.)
0x04000000 - 0x04FFFFFF is I/O data (As before, it is NOT free space when you play the game.)
0x05000000 - 0x05FFFFFF is Pallet data (Which DOES change as you play teh game, loading different pallets and such.)
0x60000000 - 0x06FFFFFF is VRAM (Once again, NOT free, FF's and 00's WILL change when you play the game.)
And finally.
0x70000000 - 0x07FFFFFF is OAM (This data holds sprites, so if a map has TONS of different sprites, grass, and other animated objects, it will often be loaded into here, so it too is not free space.)
0x08000000 - 0x0FFFFFFF is ROM space, data that can not be edited with commands such as writebytetooffset, it holds data such as compressed images, music, and, scripts, amongst other things that the different RAM's read and load.

It is safest to start inserting data at 0x800000 (Except in Emeralds case, where a location further into the ROM is preffered.) because it wont have any possibility of randomly changing during gameplay.

colcolstyles
September 3rd, 2009, 08:06 PM
*slaps forehead*
Okay, I might not be very knowledgeable on the subject of GBA hardware and all that jazz but the offset he specified with the #dynamic preprocessing directive was 0x2DD100. That's 0x82DD100. Which is in the ROM. You can't compile a script to the WRAM. That's ludicrous!

0m3GA ARS3NAL
September 4th, 2009, 10:31 AM
*slaps forehead*
Okay, I might not be very knowledgeable on the subject of GBA hardware and all that jazz but the offset he specified with the #dynamic preprocessing directive was 0x2DD100. That's 0x82DD100. Which is in the ROM. You can't compile a script to the WRAM. That's ludicrous!

Actually;
0x2DD100 would not be 082DD100, it would be 002DD100, which is indeed located in WRAM.

(Since offsets are D-Words, 0x2DD100 is really 002DD100, much like how 0x800000 is 00800000.

The frontal 08 that you mentioned, is only used in pointers, which even then would be pointing to WRAM, 082DD100.)

So Yeah, so long as your Dynamic Offset is 0x800000 or later, you will not compile into the GBA's RAM locations...

colcolstyles
September 4th, 2009, 12:40 PM
Actually;
0x2DD100 would not be 082DD100, it would be 002DD100, which is indeed located in WRAM.

(Since offsets are D-Words, 0x2DD100 is really 002DD100, much like how 0x800000 is 00800000.

The frontal 08 that you mentioned, is only used in pointers, which even then would be pointing to WRAM, 082DD100.)

So Yeah, so long as your Dynamic Offset is 0x800000 or later, you will not compile into the GBA's RAM locations...
...
But...but this is madness! You can't compile scripts to RAM. It's just impossible. You compile them to the ROM, the Read-Only Memory. XSE can only compile scripts to the ROM. You can't access the RAM using a hex editor. So how in God's name are you supposed to compile a script to the RAM?

Here, explain this:
The girl in Pallet Town in FR (person event #1) has a script assigned to her, the offset of which is '$16575C'. According to you, that script is located in the BIOS data. See how that makes no sense whatsoever? It's located in the ROM.

But I want you to prove me wrong. Please. Go out there, compile a script to the WRAM or wherever you feel like it, and then come back to me with your results.

0m3GA ARS3NAL
September 4th, 2009, 01:06 PM
...
But...but this is madness! You can't compile scripts to RAM. It's just impossible. You compile them to the ROM, the Read-Only Memory. XSE can only compile scripts to the ROM. You can't access the RAM using a hex editor. So how in God's name are you supposed to compile a script to the RAM?

Here, explain this:
The girl in Pallet Town in FR (person event #1) has a script assigned to her, the offset of which is '$16575C'. According to you, that script is located in the BIOS data. See how that makes no sense whatsoever? It's located in the ROM.

But I want you to prove me wrong. Please. Go out there, compile a script to the WRAM or wherever you feel like it, and then come back to me with your results.

I've done it before, stuffed up my game.
And BIOS data is only in use when the game starts. All rom data is moved down... (Except foreign data... which is left in place, such as scripts we insert.)

If you insert a script into free space around there, (ESPECIALLY small scripts that take up little space) You could easily fill in some 00's or FF's that are actually part of code used my the game...
That is what I have been trying to say, a lot of those FF's and 00's are actually part of ASM codes made to run the game.

colcolstyles
September 4th, 2009, 01:37 PM
I've done it before, stuffed up my game.
And BIOS data is only in use when the game starts. All rom data is moved down... (Except foreign data... which is left in place, such as scripts we insert.)

If you insert a script into free space around there, (ESPECIALLY small scripts that take up little space) You could easily fill in some 00's or FF's that are actually part of code used my the game...
That is what I have been trying to say, a lot of those FF's and 00's are actually part of ASM codes made to run the game.
Fair enough. I agree with you on that last bit (I already said that I do) but you still haven't explained how you can compile a script to the WRAM (or anything other than the ROM, for that matter). Please, enlighten me.

0m3GA ARS3NAL
September 4th, 2009, 02:05 PM
Fair enough. I agree with you on that last bit (I already said that I do) but you still haven't explained how you can compile a script to the WRAM (or anything other than the ROM, for that matter). Please, enlighten me.

Well it isn't technically RAM... XD
It's stuff the RAM reads from.
I admit I made a little mistake there, lol.
In any case, you really should just start at 0x800000 and work down... THat is the point I have been trying to get across.

DestinyBender
September 5th, 2009, 06:58 PM
Good job! Lots of help for me :)

BlazingCobaltX
September 10th, 2009, 06:53 AM
When I write my script, it gives me an error: Unknown keyword: lock on line 4. Why?

G Deoxys
September 19th, 2009, 05:04 AM
hey how do i make this script work?

#Dynamic 0x800000

#org @start
lock
faceplayer
checkflag 0x828
if 0x1 goto @sry
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
fanfare 0x13E
waitfanfare
setflag 0x828
msgbox @yay 0x6
release
end

#org @sry
msgbox @sorry 0x6
end

#org @yay
= You got Bulbasaur!

#org @sorry
= I can't give you anymore.

--------------------------------
can somebody tell me how i actually make this work?

0m3GA ARS3NAL
September 19th, 2009, 03:05 PM
hey how do i make this script work?

#Dynamic 0x800000

#org @start
lock
faceplayer
checkflag 0x828
if 0x1 goto @sry
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
fanfare 0x13E
waitfanfare
setflag 0x828
msgbox @yay 0x6
release
end

#org @sry
msgbox @sorry 0x6
release
end

#org @yay
= You got Bulbasaur!

#org @sorry
= I can't give you anymore.

--------------------------------
can somebody tell me how i actually make this work?

Added a release in the script, it should work fine.
There are no problems with it, if you have not figured out how to insert it properly, please read the guide that comes with XSE. (Open XSE and press F2)

G Deoxys
September 19th, 2009, 11:00 PM
i read most of it and it didn't tell me...

0m3GA ARS3NAL
September 20th, 2009, 12:34 AM
i read most of it and it didn't tell me...

The guide is not going to baby you into doing it, it gives you MORE than enough information needed to learn to do it yourself.)
There are plenty of tutorials here on PC, if you don't have the initiative to at least look around for a bit, then you are not ready to ROM hack.

But since you are probably going to complain that you cant find it, I'll tell you how to do it.

There are 2 ways you can do this.
I will tell you the way I do it.


First of all, make sure this script is saved as an RBC file. (Do so by putting it into XSE and saving it...)
Now, click;
Tools
then click Batch Compiler.

Now, first, find the ROM you want to insert the script into.
Next, navigate to the folder where you saved the script.

Finally, select your script, and hit compile.

Now look for @start in the window that appeared, it should be easy to find.
Next to it should be an offset, copy that into the "Script Offset" place in A-Map.

Now simply make sure the person is configured to actually RUN the script...
(The first "Unknown" setting when you have a person highlighted in A-Map, should be set to 03)

And there you go.

G Deoxys
September 20th, 2009, 12:47 AM
thanks, all i had wrong was the 03 part......

rokrdude
December 8th, 2009, 06:35 PM
I want to make national dex (instead of normal region pokedex) available at the start of ruby game

What changes should i do in the script?


Originally Posted by Forgotten Memory


PokéScript
#raw 0x11 0x02 0x00 0x6B 0x02 0x02 0x11 0x03 0x01 0x6B 0x02 0x02
#raw 0x11 0xDA 0xBE 0x4E 0x02 0x02 0x11 0x67 0x5A 0x6A 0x02 0x02

XSE
writebytetooffset 0x2 0x2026B00
writebytetooffset 0x3 0x2026B01
writebytetooffset 0xDA 0x2024EBE
writebytetooffset 0x67 0x2026A5A


Not 100% sure but i think the xse commands are not valid for new version

Also i am using advance map and xse and Script editor but i am not able to find the script where pokedex menu is activated.

Pls some can tell me the correct commands and where to place it to activate national dex in Ruby at the start!!!!

Desman3000
December 21st, 2009, 11:32 AM
Wow, great tutorial! I only knew how to move OWs. Now I can do whatever I want. Thanks for the great info!

ArcticLucario
January 1st, 2010, 07:47 AM
um, how do I start up the program, I can't find the opener tool for this, just alot of files
please help, I clicked on xse but it wont work, please help

altariaking
January 1st, 2010, 12:16 PM
how would I make a script where at the beggining of the gamr you are watching a battle and then when it ends you are back in your room watching tv, and then it says "...and we have a new pokemon league champion! thanks for watching!"

Apollo-player
January 6th, 2010, 08:33 AM
hey, i may have missed it on some other pages. but is there an applymovement script. i cant remember how to do it.
and how do you change the direction??
oh and Artic Lucario you may have to get a new version

Ps:hi
January 8th, 2010, 12:13 PM
I am having trouble with script as well. here is mine:

#dynamic 0x800000
#org @begin
lock
faceplayer
message @llama
boxset 6
message @ok
boxset 6
message @next
boxset 6
release
end
#org @llama
= Man:did you ever wonder how cool the\nsea is?
#org @ok
= Man:I mean, just look at it.\nfilled with so many different\lpokemon.\lThanks for listenning to me. have\lthis.
#org @next
= You Receaved a \lmysterious...\lpokemon?
fanfare 0x13E
givepokemon 0x1 0x9 0x0 0x0 0x0 0x0
setflag 0x828


HELP PLEASE!!!

Omega Zero
January 8th, 2010, 12:21 PM
I am having trouble with script as well. here is mine:

#dynamic 0x800000
#org @begin
lock
faceplayer
message @llama
boxset 6
message @ok
boxset 6
message @next
boxset 6
release
end
#org @llama
= Man:did you ever wonder how cool the\nsea is?
#org @ok
= Man:I mean, just look at it.\nfilled with so many different\lpokemon.\lThanks for listenning to me. have\lthis.
#org @next
= You Receaved a \lmysterious...\lpokemon?
fanfare 0x13E
givepokemon 0x1 0x9 0x0 0x0 0x0 0x0
setflag 0x828


HELP PLEASE!!!There are no such thing as boxsets anymore.. and besides everything is nearly in the wrong place lemme fix it up :)

#dynamic 0x800000
#org @begin
lock
faceplayer
message @llama 0x6
message @ok 0x6
message @next 0x6
fanfare 0x13E
givepokemon 0x1 0x9 0x0 0x0 0x0 0x0
setflag 0x828
release
end
#org @llama
= Man:did you ever wonder how cool the\nsea is?
#org @ok
= Man:I mean, just look at it.\nfilled with so many different\lpokemon.\lThanks for listenning to me. have\lthis.
#org @next
= You Receaved a \lmysterious...\lpokemon?

There try that..

Ps:hi
January 8th, 2010, 03:47 PM
There are no such thing as boxsets anymore.. and besides everything is nearly in the wrong place lemme fix it up :)

#dynamic 0x800000
#org @begin
lock
faceplayer
message @llama 0x6
message @ok 0x6
message @next 0x6
fanfare 0x13E
givepokemon 0x1 0x9 0x0 0x0 0x0 0x0
setflag 0x828
release
end

#org @llama
= Man:did you ever wonder how cool the\nsea is?
#org @ok
= Man:I mean, just look at it.\nfilled with so many different\lpokemon.\lThanks for listenning to me. have\lthis.
#org @next
= You Receaved a \lmysterious...\lpokemon?

There try that..[/QUOTE]
so far it didn't work. The person doesn't talk. I'll try a non-hacked with rom and see if that works.

EDIT:
I just needed to upgrade XSE thanks!

Dude_flibble_07
January 8th, 2010, 04:03 PM
hey, need a bit of help. when I click compile, it comes up with a log and when I test things out, nothing has changed unless I ovewrite another script. can anyone help?

Ps:hi
January 8th, 2010, 05:55 PM
hey, need a bit of help. when I click compile, it comes up with a log and when I test things out, nothing has changed unless I ovewrite another script. can anyone help?
Could you please post a screen shot? I might be able to help you.

deserttwister
January 9th, 2010, 06:33 AM
hello im new here i wanted to make my own hack i have a problem with this scritp
#dynamic 0x800000


#org @1
checkflag 0x828
if 0x1 goto @done
msgbox @want 0x5 '"So, you chose Exeggcute?"
compare LASTRESULT 0x1
if 0x1 goto @yes
end

#org @want
= So, you chose Exeggcute?

#org @yes
givepokemon 0x66 0x5 0x0 0x0 0x0 0x0
msgbox @take 0x5
compare LASTRESULT 0x1
if 0x1 goto @name
setflag 0x828
Special 0x16F

#org @name
Special 0x166

#org @done
msgbox @have 0x2

#org @have
= You've already taken a Pokemon!

#org @take
= Do you want to give your\nPokemon a name?
im using xse and it gives me error 13

gallade234
January 24th, 2010, 03:00 PM
i have a problem when trying to compile my script to my rom a message appeareds saying "too less parameters on line 4 the correct number is 2" can any one tell me how to fix this here's the script
#Dynamic 0x800000

#ORG @Main
Lock
Faceplayer
Checkflag 0x828
if 0x1 goto @done
Msgbox @Give 0x6
Givepokemon 0x19 0x20 0xCA 0x0 0x0 0x0
Release
end

#ORG @Give
= Hi i rescued this\p pokemon from team\p rocket do you want it?!

#ORG @done
Msgbox @alreadygot 0x6
Release
end

wikus 123
January 29th, 2010, 08:44 PM
hello everyone my first reply in poke community
my question: when i try to compile my script it says ''too less parameters on line 6". What the hell does that mean and how to fix it ?
thanks to anyone who answers.

0m3GA ARS3NAL
January 29th, 2010, 08:57 PM
hello everyone my first reply in poke community
my question: when i try to compile my script it says ''too less parameters on line 6". What the hell does that mean and how to fix it ?
thanks to anyone who answers.

Well, did you READ it?
XSE is telling you exactly what is wrong with your script.
On line 6, you need at least one more parameter...
Next time, read the error message, it will always help you out.

wikus 123
January 29th, 2010, 09:00 PM
umm what is parameter?
thanks iand yes iam a noob

umm yes a noob question again
what is parameter?

0m3GA ARS3NAL
January 29th, 2010, 09:08 PM
Well, commands in XSE, PKSV, PokeScript, ScriptED, etc etc, are set up like this...

[Command] [Parameter]

For instance:

sound 0x2
The command is sound, and the parameter is 0x2, you see?
Some commands have more than one parameter...

compare LASTRESULT 0x2

Compare is the command
LASTRESULT (Or ox800D) is the first parameter
and 0x2 is the second parameter.
Now what XSE is telling you, that you don't have enough parameters on the 6th line of your script.

Post your script here, I'll point out what is wrong if you don't have it by now...

wikus 123
January 29th, 2010, 09:08 PM
explain arameter please thank you

#Dynamic 0x800000
#ORG @Start
Lock
Faceplayer
Message @Speak
Boxset 0x6
Release
End
#ORG @Speak
=Hello!

0m3GA ARS3NAL
January 29th, 2010, 09:18 PM
explain arameter please thank you

#dynamic 0x800000
#ORG @Start
lock
faceplayer
message @Speak 0x6
release
end
#ORG @Speak
= Hello!

Changes are in the quote, in BOLD RED
Here are a few pointers.
1: You shouldn't capitalize every command, it makes it harder to read amazingly enough.
2: The newest XSE doesn't use boxset anymore, instead, it adds the boxset onto message...
3: VERY IMPORTANT, when making a message, be sure to have a space between the = and the message itself...
#ORG @Speak
=Hello!
The little bit of code above is BAD, the = is touching the letters!
#ORG @Speak
= Hello!
THAT is better! lol

Try to compile it now, it should work perfectly.

wikus 123
January 29th, 2010, 09:20 PM
thank you omega arsenal
i will try it

so thats why i have trouble
i have the new version
what do i do next to the window that came up

0m3GA ARS3NAL
January 29th, 2010, 09:27 PM
I'm done helping, time for you to read a few tutorials... or even better, have XSE open and press F2, and read that WHOLE thing.
ALL of it, you won't really need my help after you do.

wikus 123
January 29th, 2010, 09:35 PM
thanks anyway iam just a starter so iam a noob

0m3GA ARS3NAL
January 29th, 2010, 09:37 PM
That's what that guide is for, it is a guide to help people completely new to scripting.

suckybowler12
March 9th, 2010, 05:36 PM
hey my script isn't working can anyone help???

#dynamic 0x800002

#org @start
lock
faceplayer
msgbox @yesno 0x5
if 0x1 goto @yes
if 0x0 goto @no
release
end

#org @yes
msgbox @yes2 0x6
release
end

#org @no
msgbox @no2 0x6
release
end

#org @yesno
= Are you stupid???

#org @yes2
= HAHAHA!!!

#org @no2
= Liar!!!



I talk to the guy and he asks the question but no matter how i answer he says "Liar!!!"

Ty2
March 21st, 2010, 06:27 PM
Every time I try to make a script it always says that Release, End, GivePokemon, etc. Are unknown keywords. Yes I am using XSE. How do I fix this problem?

shadowv12
April 10th, 2010, 06:39 AM
Thanks. I really had problems with scripting on xse.

Pheonix_slayer
April 12th, 2010, 07:14 AM
Ok, number one, in what circumstance do you start making a script from scratch.
number 2, how do you change scripts
number 3, you kinda rushed it.
anyone care to explain?

Magic
April 12th, 2010, 07:58 AM
Ok, number one, in what circumstance do you start making a script from scratch.
number 2, how do you change scripts
number 3, you kinda rushed it.
anyone care to explain?

1. In almost every case if you want to be a hacker.

2. In the same way you make them - try following this or one of the other tutorials.

3. This is in no way rushed, read it, it goes through all key commands and even some that will rarely be used.

Mudkipzrock
April 12th, 2010, 08:16 AM
I cant find my ROM
I try to ...
well u know
File:open
I dont see my Fire Red Or Emerald in that

Magic
April 12th, 2010, 08:20 AM
I cant find my ROM
I try to ...
well u know
File:open
I dont see my Fire Red Or Emerald in that

in XSE you open rbc / other script files, you don't have to open the ROM file.

Write your script, save it, then go batch compiler, and find your ROM in the top section. This is probably the easiest way to compile as you can do multiple scripts at once.

Make sure you double check where your ROM file is located

Binary
April 13th, 2010, 10:10 AM
in XSE you open rbc / other script files, not ROM files.

No, you can open rom files. Else, what are you going to compile the script in if you don't have a rom file >.>.

0m3GA ARS3NAL
April 13th, 2010, 10:48 AM
No, you can open rom files. Else, what are you going to compile the script in if you don't have a rom file >.>.

Well, you CAN open the ROM if you want, or you can use the batch compiler.

xGGxToiZ
April 13th, 2010, 11:06 PM
hey my script isn't working can anyone help???

#dynamic 0x800002

#org @start
lock
faceplayer
msgbox @yesno 0x5
compare 0x800D 0x1
if 0x1 goto @yes
msgbox @no2 0x6
release
end

#org @yes
msgbox @yes2 0x6
release
end

#org @yesno
= Are you stupid???

#org @yes2
= HAHAHA!!!

#org @no2
= Liar!!!



I talk to the guy and he asks the question but no matter how i answer he says "Liar!!!"

The ones in bold are the corrections. You should only have one if. (Though you can have both but this one is much less complicated.)

compare 0x800D 0x1
- 0x1 stands for "YES"

or you can do this:
#dynamic 0x800002

#org @start
lock
faceplayer
msgbox @yesno 0x5
compare 0x800D 0x0
if 0x1 goto @no
msgbox @yes2 0x6
release
end

#org @no
msgbox @no2 0x6
release
end

#org @yesno
= Are you stupid???

#org @yes2
= HAHAHA!!!

#org @no2
= Liar!!!

In this case, 0x0 stands for "no"

Hope it helps! ^^

Schiffy
April 15th, 2010, 02:03 PM
Only a few questions:
1. how do you make a sprite disappear/reappear?
2. how do you make the screen fade to give the sprite time to disappear?
(together they would be known as the basic Team Rocket tactic)

xGGxToiZ
April 15th, 2010, 10:39 PM
Only a few questions:

1. how do you make a sprite disappear/reappear?
2. how do you make the screen fade to give the sprite time to disappear?
(together they would be known as the basic Team Rocket tactic)

Let's see . .
We have hidesprite and showsprite commands. (Temporary)
We also have setflag and clearflag. (Permanent)

I have an example:

#dynamic 0x800000

#org @Start
lock
faceplayer
msgbox @1 0x4
closeonkeypress
fadescreen 0x1
hidesprite 0x1(People#)
fadescreen 0x0
msgbox @2 0x6
setflag 0x1000
release
end

#org @1
= Now you see me . .

#org @2
= Now you don't!


And the flag 1000, you have to put it in the "Person ID" Box.
So:
Person ID: |1000|

Try it! Hope it helps ^^

Schiffy
April 16th, 2010, 02:56 AM
thanks, i needed that, but i still can't figure out how to compile it, the tutorial on the first page wasn't in depth enough

xGGxToiZ
April 17th, 2010, 12:20 AM
thanks, i needed that, but i still can't figure out how to compile it, the tutorial on the first page wasn't in depth enough

Here, this might help:

First, open the ROM in XSE:
http://farm5.static.flickr.com/4058/4527837846_bbc0ab7ee7_m.jpg

Then put the script in:
http://farm5.static.flickr.com/4050/4527837872_2dfcfdc482_m.jpg
(Don't add the "(People#)" beside the hidesprite)

Next, press the gear looking button.
Or press Ctrl+Shift+C to compile.

http://farm5.static.flickr.com/4015/4527837904_fa69c8903d_m.jpg
That should appear. (Remember to copy the offset!)

Close XSE and open your ROM in A-map.
Then put the data in: (in red)
http://farm5.static.flickr.com/4009/4527837922_d161fe506f_m.jpg

Then save and test it in-game.

Hope it solves your problem! ^^

iYesith
April 18th, 2010, 02:26 AM
Damn i read all this and the only thing i can do is make simple messages... I NEED HELP BIGTIME... my msn is [email protected] ... and i made a thread askin 4 help please help...please....T_T

Schiffy
April 18th, 2010, 08:32 AM
@xGGxToiZ ok, I'm still having minor problems now, i get errors when i try to compile
these are the first two i got:
apparently there supposed to be TWO spaces between the command msgbox and the @(whatever), but i fixed that
the other is the fact that it doesn't recognize the command "boxset" this is part of my script to give a level 50 Venasaur:

#org @give
givepokemon 0x3 0x50 0x0 0x0 0x0 0x0
fanfare 0x13E
waitfanfare
setflag 0x1200
msgbox @poke
boxset 0x6
release
end

Darthatron
April 18th, 2010, 09:16 PM
@xGGxToiZ ok, I'm still having minor problems now, i get errors when i try to compile
these are the first two i got:
apparently there supposed to be TWO spaces between the command msgbox and the @(whatever), but i fixed that
the other is the fact that it doesn't recognize the command "boxset" this is part of my script to give a level 50 Venasaur:

#org @give
givepokemon 0x3 0x50 0x0 0x0 0x0 0x0
fanfare 0x13E
waitfanfare
setflag 0x1200
msgbox @poke 0x6
release
end

The boxset command was removed in the new versions of XSE.

Can a mod please lock this thread? It's completely out dated.

Spherical Ice
April 18th, 2010, 10:32 PM
Look above. :3


/locks thread