The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.


Advertise here

Reply
 
Thread Tools
  #1    
Old May 2nd, 2012, 12:36 AM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros

Advertise here
tajaros' Xtreme Scripting Tutorial

First update to the latest version of XSE some commands may not work in the old versions of it. Here's a download link for the latest version. LINK

First of all I like to thank the following people for helping me learn how to script.

1. Foullump
2. thethethethe
3. diegoisawesome
4. Hackmew
5. Mastermind_X

For my opinion XSE is the best scripting program there is. XSE stands for Xtreme Script Editor (Not really extreme don't mind the title xD).

There are many features XSE covers that other scripting programs don't. Like Pokescript, PKSV, Diamond Cutter, and Easy Script Maker.

All of the scripts here are tested and working.

Some Feature's XSE has:
1. Dynamic Offsets
2. Use Of Hex Values
3. Less than a second script compiling.
4. Decompiling and can open scripts with Advance Map.
5. A Text Adjuster to adjust the text to align properly.
6. Can be use to shrink or expand the Rom.
7. Has a Free-Space Finder.
8. Has a Hex Viewer.
9. A calculator.
10. A mini-notepad to keep codes.

Firstly I'll teach everyone how to compile scripts.

First of all you must load your Rom. And then script! After scripting click the Compile or the gear Icon on top of XSE. Then copy the very first offset and paste it on Advance Map where your event is.

That is all. :)

Now to start things.

Pointers

Dynamic offsets are great additions to it. In every script you must type first the dynamic offset you are going to use.

For safe scripting it will be best if you use an offset greater than 0x800000 it has a lot Free Space on it. XSE will automatically find free-space in a matter of less than a second.

For pointers you have to put the Character "@" Then your pointer name. The name could be anything just make sure it doesn't include spaces. So here's an example pointer, "@pointer".

@Pokemon - Proper Pointer
@Pokemon Hacking - Improper

Pointer are things that label your script they will be useful when using goto and call commands which will be explained later in the Tutorial.

And don't worry if you have made a typo or something XSE will automatically check errors in your script when you compile them. There will be a warning box that says the specific code line location.

Now for the real deal.

Message Scripts

I'll put an example at first and explain it later.

Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @hi 0x6
release
end

#org @hi
= Hello everyone!/nHappy Hacking.
Ok, time to explain.

#dynamic 0x800000 - Finds Free-Space around offset 0x800000. Always type this before anything.
#org @start - Starts the script. Remember the pointer can be anything just don't use spaces.
lock - Locks the player.
faceplayer - Makes the NPC face the player.
msgbox @hi 0x6 - Loads a normal text box. I will explain how they are used later.
#org @hi - Loads the text to be displayed in the text box.
release - releases the player.
end - ends the script.

The textbox message will be like this.
Quote:
Hello everyone!
Happy Hacking.
Extra Message Commands:
\c - refers to the color.
\h - used with hex values.
\l - makes a new line after /n.
\p - use to continue the script to a new box.
\n - makes a new line.
\v - used for stored text.

\c is used for colors. Here's an example script.

Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @hi 0x6
release
end

#org @hi
= \c\h01\h04Hello!
The textbox will appear like this.
Quote:
Hello!
Color Commands: Firered and Leafgreen Only.
Spoiler:
White - \c\h01\h00
Black - \c\h01\h02
Grey - \c\h01\h03
Red - \c\h01\h04
Orange - \c\h01\h05
Dark Green - \c\h01\h06
Cyan - \c\h01\h07
Blue - \c\h01\h08
Light Blue - \c\h01\h09


But, those are made easier by the use of XSE. Here are much easier commands for colors.

Color Commands:

Fire Red/Leaf Green
Spoiler:
White - [white_fr]
Black - [black_fr]
Gray - [grey_fr]
Red - [red_fr]
Orange - [orange_fr]
Green - [green_fr]
Light Green - [lightgreen_fr]
Blue - [blue_fr]
Light Blue - [lightblue_fr]
Light Blue 2 - [lightblue2_fr]
Cyan - [cyan_fr]
Light Blue 3 - [lightblue3_fr]
Navy Blue - [navyblue_fr]
Dark Navy Blue - [darknavyblue_fr]


Ruby/Sapphire
Spoiler:
Transparent - [transp_rs]
Dark Gray - [darkgrey_rs]
Red - [red_rs]
Light Green - [lightgreen_rs]
Blue - [blue_rs]
Yellow - [yellow_rs]
Cyan - [cyan_rs]
Magenta - [magenta_rs]
Gray - [grey_rs]
Black - [black_rs]
Light Gray - [lightgrey_rs]
White - [white_rs]
Sky Blue - [skyblue_rs]
Dark Sky Blue - [darkskyblue_rs]


Emerald
Spoiler:
White - [white_em]
Dark Gray - [darkgrey_em]
Gray - [grey_em]
Red - [red_em]
Orange - [orange_em]
Green - [green_em]
Light Green - [lightgreen_em]
Blue - [blue_em]
Light Blue - [lightblue_em]
White 4 - [white4_em]
Lime Green- [limegreen_em]
Aqua - [aqua_em]
Navy - [navy_em]


Now for \h.

It's used for symbols that the game cannot display and some alternative method to make a text appear. This things are in hex.

So \h1B displays é

Here are the the Hex Codes.

Spoiler:
00=
01=À
02=Á
03=Â
04=Ç
05=È
06=É
07=Ê
08=Ë
09=Ì
0B=Î
0C=Ï
0D=Ò
0E=Ó
0F=Ô
10=Æ
11=Ù
12=Ú
13=Û
14=Ñ
15=ß
16=à
17=á
19=ç
1A=è
1B=é
1C=ê
1D=ë
1E=ì
20=î
21=ï
22=ò
23=ó
24=ô
25=æ
26=ù
27=ú
28=û
29=ñ
2A=º
2B=ª
2C=·
2D=&
2E=+
34=[Lv]
35==
36=;
51=¿
52=¡
53=[PK]
54=[MN]
55=[PO]
56=[Ke]
57=[BL]
58=[OC]
59=[K]
5A=Í
5B=%
5C=(
5D=)
68=â
6F=í
79=[U]
7A=[D]
7B=[L]
7C=[R]
A1=0
A2=1
A3=2
A4=3
A5=4
A6=5
A7=6
A8=7
A9=8
AA=9
AB=!
AC=?
AD=.
AE=-
AF=·
B0=[...]
B1="
B2=["]
B3='
B4=[']
B5=[m]
B6=[f]
B7=$
B8=,
B9=[x]
BA=/
BB=A
BC=B
BD=C
BE=D
BF=E
C0=F
C1=G
C2=H
C3=I
C4=J
C5=K
C6=L
C7=M
C8=N
C9=O
CA=P
CB=Q
CC=R
CD=S
CE=T
CF=U
D0=V
D1=W
D2=X
D3=Y
D4=Z
D5=a
D6=b
D7=c
D8=d
D9=e
DA=f
DB=g
DC=h
DD=i
DE=j
DF=k
E0=l
E1=m
E2=n
E3=o
E4=p
E5=q
E6=r
E7=s
E8=t
E9=u
EA=v
EB=w
EC=x
ED=y
EE=z
EF=[>]
F0=:
F1=Ä
F2=Ö
F3=Ü
F4=ä
F5=ö
F6=ü
F7=[u]
F8=[d]
F9=[l]
FA=\l
FB=\p
FC=\c
FD=\v
FE=\n
FF=\x


\n is used for a new line.

So if your text is like this, Happy Birthday!\nFriend!

It will appear like this.
Quote:
Happy Birthday!
Friend!
\l is used for a new line too. But, it can only be used after \n is used.

So if your text is like this, Happy Birthday!\nTo You!\lFriend!

It will appear like this.
Quote:
Happy Birthday!
To You!
Friend!
\p is used for a new textbox.

So if it's like this, Pokemon is...\pthe best!

Quote:
Pokemon is...
Quote:
the best!
And finally \v It's used for text that are already stored in the Rom.

Here are some codes using \v.

\v\h01 - Player Name
\v\h06 - Rival Name

Or it could be like this too in XSE.

[player] - Player Name
[rival] - Rival Name

And that's it for extra message commands.

Message Box Numbers

0x2

- Like a normal textbox but, already includes the lock, faceplayer and release commands.

Quote:
#dynamic 0x800000

#org @start
msgbox @hi 0x2
end

#org @hi
= I'm looking at you.
In-Game Screenshot:


0x3

- Used for signpost scripts. It doesn't Include the Lock and Faceplayer command. It only shows the sign textbox when used in a sign.

Quote:
#dynamic 0x800000

#org @start
msgbox @earth 0x3
end

#org @earth
= You are here on Earth.
In-Game Screenshot:


0x4

- A normal text box as well. The thing is it doesn't close until the closeonkeypress command is used. It's used right after the msgbox command.

Quote:
#dynamic 0x800000

#org @start
msgbox @cantclose 0x4
end

#org @cantclose
= I'm stuck for being fat.
In-Game Screenshots:




0x5

- Used for yes/no questions. It will automatically show the multichoice box for the yes/no question. This would be useful in hacks that requires the player's decision. More things, and commands for this would be explained later.

Quote:
#dynamic 0x800000

#org @start
msgbox @question 0x5
end

#org @question
= Are you human?
In-Game Screenshot:


0x6

- Just another normal textbox. No lock and faceplayer command on it.

Quote:
#dynamic 0x800000

#org @start
msgbox @hello 0x6
end

#org @hello
= Hello, \v\h01!
In-Game Screenshot:


Flags

- Flags are like bookmarks they can be placed, they can be checked, and can be removed. They are also used to a person event and be placed in the person ID and be set so it will disappear without even using the hidesprite command. The hidesprite command will be explained later in the Tutorial.

There are also many flags that are being used in the game. Luckily in Fire Red Jpan made a patch that makes it clean. So that mean there will be no flags that are already set.

Here are some flags that are already being used in the game. Note: Please refrain from using these flags they can make your hack buggy.

Fire Red/ Leaf Green:
Spoiler:
0x1
0x2
0x3
0x4
0x5
0x6
0x2B
0x2C
0x2E
0x2F
0x30
0x31
0x32
0x33
0x34
0x35
0x36
0x37
0x39
0x3D
0x3E
0x3F
0x40
0x41
0x42
0x43
0x44
0x45
0x46
0x47
0x48
0x49
0x4A
0x4B
0x4C
0x4D
0x50
0x52
0x54
0x58
0x59
0x5C
0x5D
0x5F
0x62
0x63
0x64
0x65
0x66
0x67
0x68
0x69
0x6A
0x6B
0x72
0x75
0x7A
0x7B
0x7C
0x7D
0x7E
0x80
0x81
0x82
0x84
0x85
0x86
0x88
0x8B
0x8C
0x8D
0x8E
0x91
0x92
0x93
0x94
0x95
0x96
0x97
0x98
0x99
0x9A
0x9B
0x9C
0x9E
0x9F
0xA0
0xA1
0xA2
0xAA
0xAD
0xAE
0xB1
0xB2
0xB3
0xB4
0xD5
0xD6
0xD7
0xDC
0xEA
0x109
0x10A
0x10B
0x118
0x119
0x11A
0x11B
0x120
0x121
0x124
0x125
0x126
0x127
0x128
0x129
0x142
0x143
0x144
0x163
0x16A
0x16E
0x16F
0x188
0x189
0x190
0x191
0x192
0x1A7
0x1A8
0x1B6
0x1B7
0x1B8
0x1CE
0x1CF
0x1D0
0x219
0x21A
0x21F
0x230
0x231
0x232
0x233
0x234
0x235
0x236
0x237
0x238
0x239
0x23A
0x23B
0x23C
0x23D
0x23F
0x240
0x241
0x243
0x244
0x245
0x246
0x247
0x248
0x249
0x24A
0x24B
0x24D
0x24E
0x24F
0x250
0x251
0x252
0x253
0x254
0x255
0x256
0x257
0x258
0x259
0x25B
0x25E
0x263
0x264
0x265
0x266
0x267
0x268
0x269
0x26A
0x26B
0x26C
0x26D
0x26E
0x26F
0x270
0x271
0x272
0x273
0x274
0x275
0x276
0x278
0x27A
0x27B
0x27C
0x27D
0x27E
0x27F
0x280
0x281
0x282
0x283
0x284
0x285
0x286
0x287
0x288
0x289
0x28A
0x28B
0x28C
0x28D
0x290
0x291
0x292
0x293
0x294
0x295
0x296
0x297
0x298
0x29A
0x29B
0x29C
0x29D
0x29E
0x29F
0x2A0
0x2A1
0x2A2
0x2A3
0x2A5
0x2A6
0x2BB
0x2BC
0x2BD
0x2BE
0x2BF
0x2C0
0x2C1
0x2C2
0x2C3
0x2C4
0x2C5
0x2C6
0x2C7
0x2C8
0x2C9
0x2CA
0x2CB
0x2CC
0x2CD
0x2CE
0x2CF
0x2D0
0x2D1
0x2D2
0x2D3
0x2D4
0x2D5
0x2D6
0x2D7
0x2D8
0x2D9
0x2DA
0x2DB
0x2DC
0x2DD
0x2E1
0x2E2
0x2E3
0x2E4
0x2E5
0x2EC
0x2ED
0x2EE
0x2EF
0x2F0
0x2F1
0x2F2
0x2F3
0x2F4
0x2F5
0x2F6
0x2F7
0x2F8
0x2F9
0x2FA
0x2FB
0x2FC
0x2FD
0x2FE
0x2FF
0x4B0
0x4B1
0x4B2
0x4B3
0x4B4
0x4B5
0x4B6
0x4B7
0x4B8
0x4B9
0x4BA
0x4BB
0x4BC
0x805
0x807
0x820
0x821
0x822
0x823
0x824
0x825
0x826
0x827
0x828
0x829
0x82C
0x82D
0x82F
0x830
0x834
0x83E
0x841
0x842
0x844
0x845
0x846
0x847
0x848
0x849
0x84A
0x84B
0x890
0x891
0x892
0x893
0x894
0x895
0x896
0x897
0x898
0x899
0x89A
0x89B
0x89C
0x89D
0x89E
0x89F
0x8A0
0x8A1
0x8A2
0x8A3
0x8A4
0x8A5
0x8A6
0x8A7
0x8A8
0x8A9
0x8AA
0x8AB
0x8AC
0x8AD
0x8AE
0x8AF
0x8B0
0x8B1
0x8B2
0x8B3
0x8B4
0x8B5
0x8B6
0x8B7
0x8B8
0x8B9
0x8BA
0x8BB
0x8BC
0x8BD
0x8BE
0x8BF
0x8C0
0x8C1
0x8C2


Ruby/Sapphire:
Spoiler:
0x1
0x2
0x3
0x4
0x5
0x6
0x11
0x12
0x13
0x14
0x15
0x16
0x17
0x18
0x19
0x1A
0x1B
0x1C
0x1D
0x1E
0x1F
0x20
0x2B
0x2C
0x2E
0x2F
0x30
0x31
0x32
0x33
0x34
0x35
0x36
0x37
0x38
0x39
0x3D
0x3E
0x3F
0x40
0x41
0x42
0x43
0x44
0x45
0x46
0x47
0x48
0x49
0x4A
0x4B
0x4C
0x4D
0x50
0x51
0x52
0x54
0x58
0x59
0x5A
0x5B
0x5C
0x5D
0x5E
0x5F
0x60
0x62
0x63
0x64
0x65
0x66
0x67
0x68
0x69
0x6A
0x6B
0x6D
0x6E
0x6F
0x70
0x71
0x72
0x73
0x74
0x75
0x76
0x77
0x79
0x7A
0x7B
0x7C
0x7D
0x7E
0x7F
0x80
0x81
0x82
0x83
0x84
0x85
0x86
0x87
0x88
0x89
0x8A
0x8B
0x8C
0x8D
0x8E
0x8F
0x90
0x91
0x92
0x93
0x94
0x95
0x96
0x97
0x98
0x99
0x9A
0x9B
0x9C
0x9E
0x9F
0xA0
0xA1
0xA2
0xA3
0xA4
0xA5
0xA6
0xA7
0xA8
0xA9
0xAA
0xAB
0xAC
0xAD
0xAE
0xAF
0xB0
0xB1
0xB2
0xB3
0xB4
0xB5
0xB6
0xB7
0xB8
0xB9
0xBA
0xBB
0xBC
0xBD
0xBE
0xBF
0xC0
0xC1
0xC2
0xC3
0xC4
0xC5
0xC6
0xC7
0xC8
0xC9
0xCA
0xCB
0xCC
0xCD
0xCE
0xD0
0xD1
0xD4
0xD5
0xD6
0xD7
0xD8
0xD9
0xDA
0xDB
0xDC
0xDD
0xDE
0xDF
0xE0
0xE1
0xE2
0xE3
0xE4
0xE5
0xE6
0xE7
0xE8
0xE9
0xEA
0xEB
0xEC
0xED
0xEE
0xEF
0xF0
0xF1
0xF2
0xF3
0xF4
0xF5
0xF6
0xF7
0xF8
0xF9
0xFA
0xFB
0xFC
0xFE
0xFF
0x100
0x101
0x102
0x103
0x104
0x105
0x106
0x107
0x108
0x109
0x10A
0x10B
0x10D
0x10E
0x10F
0x110
0x111
0x112
0x113
0x114
0x115
0x116
0x117
0x118
0x119
0x11A
0x11B
0x11C
0x11D
0x11E
0x11F
0x120
0x121
0x122
0x124
0x125
0x126
0x127
0x128
0x129
0x12A
0x12B
0x12C
0x12D
0x12E
0x138
0x140
0x141
0x142
0x143
0x144
0x163
0x16A
0x16E
0x16F
0x188
0x189
0x190
0x191
0x192
0x194
0x1A7
0x1A8
0x1A9
0x1AA
0x1B6
0x1B7
0x1B8
0x1CE
0x1CF
0x1D0
0x1E5
0x1E6
0x1ED
0x1EE
0x1EF
0x219
0x21A
0x21F
0x230
0x231
0x232
0x233
0x234
0x235
0x236
0x237
0x238
0x239
0x23A
0x23B
0x23C
0x23D
0x23F
0x240
0x241
0x243
0x244
0x245
0x246
0x247
0x248
0x249
0x24A
0x24B
0x24D
0x24E
0x24F
0x250
0x251
0x252
0x253
0x254
0x255
0x256
0x257
0x258
0x259
0x25B
0x25E
0x263
0x264
0x265
0x266
0x267
0x268
0x269
0x26A
0x26B
0x26C
0x26D
0x26E
0x26F
0x270
0x271
0x272
0x273
0x274
0x275
0x276
0x278
0x279
0x27A
0x27B
0x27C
0x27D
0x27E
0x27F
0x280
0x281
0x282
0x283
0x284
0x285
0x286
0x287
0x288
0x289
0x28A
0x28B
0x28C
0x28D
0x28E
0x28F
0x290
0x291
0x292
0x293
0x294
0x295
0x296
0x297
0x298
0x29A
0x29B
0x29C
0x29D
0x29E
0x29F
0x2A0
0x2A1
0x2A2
0x2A3
0x2A5
0x2A6
0x2BB
0x2BC
0x2BD
0x2BE
0x2BF
0x2C0
0x2C1
0x2C2
0x2C3
0x2C4
0x2C5
0x2C6
0x2C7
0x2C8
0x2C9
0x2CA
0x2CB
0x2CC
0x2CD
0x2CE
0x2CF
0x2D0
0x2D1
0x2D2
0x2D3
0x2D4
0x2D5
0x2D6
0x2D7
0x2D8
0x2D9
0x2DA
0x2DB
0x2DC
0x2DD
0x2E1
0x2E2
0x2E3
0x2E4
0x2E5
0x2E6
0x2E7
0x2E8
0x2EC
0x2ED
0x2EE
0x2EF
0x2F0
0x2F1
0x2F2
0x2F3
0x2F4
0x2F5
0x2F6
0x2F7
0x2F8
0x2F9
0x2FA
0x2FB
0x2FC
0x2FD
0x2FE
0x2FF
0x300
0x301
0x302
0x303
0x305
0x307
0x308
0x309
0x30A
0x30B
0x30C
0x30D
0x310
0x311
0x31C
0x31D
0x31E
0x31F
0x320
0x321
0x322
0x323
0x326
0x327
0x328
0x329
0x32E
0x32F
0x330
0x333
0x335
0x336
0x33C
0x33D
0x33F
0x343
0x348
0x349
0x34D
0x34E
0x350
0x351
0x354
0x356
0x357
0x358
0x35A
0x35B
0x35C
0x362
0x364
0x365
0x366
0x36D
0x36E
0x370
0x371
0x372
0x373
0x379
0x37A
0x37B
0x37C
0x37D
0x37E
0x380
0x381
0x382
0x384
0x385
0x386
0x387
0x388
0x389
0x38A
0x38F
0x390
0x391
0x393
0x394
0x395
0x396
0x39E
0x39F
0x3A0
0x3A5
0x3A6
0x3A7
0x3A8
0x3A9
0x3AC
0x3AD
0x3AE
0x3B0
0x3B1
0x3B2
0x3B3
0x3B4
0x3B5
0x3B7
0x3B8
0x3B9
0x3BA
0x3BB
0x3BC
0x3BD
0x3BE
0x3BF
0x3C1
0x3C2
0x3C3
0x3C4
0x3C5
0x3C7
0x3C8
0x3CD
0x3CE
0x3CF
0x3D0
0x3D1
0x3D2
0x3D3
0x3D4
0x3D6
0x3D7
0x3D8
0x3D9
0x3DA
0x3DB
0x3DC
0x3DD
0x3DE
0x3DF
0x436
0x4B0
0x4B1
0x4B2
0x4B3
0x4B4
0x4B5
0x4B6
0x4B7
0x4B8
0x4B9
0x4BA
0x4BB
0x4BC
0x4BD
0x4C1
0x4C9
0x4CD
0x4D4
0x4DD
0x4DE
0x4DF
0x4E0
0x800
0x801
0x802
0x804
0x805
0x806
0x807
0x808
0x809
0x80A
0x80B
0x80C
0x80D
0x80E
0x80F
0x810
0x811
0x812
0x813
0x814
0x815
0x816
0x817
0x818
0x819
0x81A
0x81B
0x81C
0x81D
0x81E
0x820
0x821
0x822
0x823
0x824
0x825
0x826
0x827
0x828
0x829
0x82A
0x82B
0x82C
0x82D
0x82F
0x830
0x832
0x834
0x83A
0x83B
0x83C
0x83D
0x83E
0x83F
0x840
0x841
0x842
0x843
0x844
0x845
0x846
0x847
0x848
0x849
0x84A
0x84B
0x84C
0x84F
0x850
0x851
0x852
0x853
0x854
0x855
0x856
0x857
0x858
0x859
0x85A
0x85B
0x85C
0x85E
0x85F
0x860
0x861
0x863
0x890
0x891
0x892
0x893
0x894
0x895
0x896
0x897
0x898
0x899
0x89A
0x89B
0x89C
0x89D
0x89E
0x89F
0x8A0
0x8A1
0x8A2
0x8A3
0x8A4
0x8A5
0x8A6
0x8A7
0x8A8
0x8A9
0x8AA
0x8AB
0x8AC
0x8AD
0x8AE
0x8AF
0x8B0
0x8B1
0x8B2
0x8B3
0x8B4
0x8B5
0x8B6
0x8B7
0x8B8
0x8B9
0x8BA
0x8BB
0x8BC
0x8BD
0x8BE
0x8BF
0x8C0
0x8C1
0x8C2
0x8CA
0x8CB
0x8CC
0x8CD
0x8CE
0x8CF
0x8D0
0x8D1
0x8D2


Emerald:
Spoiler:
0x1
0x2
0x3
0x4
0x11
0x12
0x13
0x14
0x15
0x16
0x17
0x18
0x19
0x1A
0x1B
0x1C
0x1D
0x1E
0x1F
0x38
0x41
0x47
0x48
0x49
0x4A
0x50
0x51
0x52
0x53
0x58
0x59
0x5A
0x5B
0x5C
0x5D
0x5E
0x5F
0x60
0x61
0x62
0x63
0x64
0x65
0x66
0x67
0x69
0x6A
0x6B
0x6C
0x6D
0x6E
0x6F
0x70
0x71
0x73
0x74
0x75
0x76
0x77
0x78
0x79
0x7A
0x7B
0x7C
0x7D
0x7E
0x7F
0x80
0x81
0x82
0x83
0x84
0x85
0x86
0x87
0x88
0x89
0x8A
0x8B
0x8C
0x8D
0x8E
0x8F
0x90
0x91
0x92
0x93
0x94
0x95
0x97
0x98
0x99
0x9A
0x9B
0x9C
0x9D
0x9E
0x9F
0xA0
0xA1
0xA2
0xA3
0xA4
0xA5
0xA6
0xA7
0xA8
0xA9
0xAA
0xAB
0xAC
0xAE
0xAF
0xB0
0xB1
0xB2
0xB3
0xB4
0xB5
0xB6
0xB7
0xB8
0xB9
0xBA
0xBB
0xBC
0xBD
0xBE
0xBF
0xC0
0xC1
0xC2
0xC3
0xC4
0xC5
0xC6
0xC7
0xC8
0xC9
0xCA
0xCB
0xCC
0xCD
0xCE
0xCF
0xD0
0xD1
0xD2
0xD3
0xD4
0xD5
0xD7
0xD8
0xD9
0xDA
0xDB
0xDD
0xDE
0xDF
0xE0
0xE1
0xE2
0xE3
0xE4
0xE5
0xE6
0xE7
0xE8
0xE9
0xEA
0xEB
0xEC
0xED
0xEE
0xEF
0xF0
0xF1
0xF2
0xF3
0xF4
0xF5
0xF6
0xF7
0xF8
0xF9
0xFA
0xFB
0xFC
0xFD
0xFE
0xFF
0x100
0x101
0x102
0x103
0x104
0x105
0x106
0x107
0x108
0x109
0x10A
0x10B
0x10D
0x10E
0x10F
0x110
0x111
0x112
0x113
0x114
0x115
0x116
0x117
0x118
0x119
0x11A
0x11B
0x11C
0x11D
0x11E
0x11F
0x120
0x121
0x122
0x124
0x125
0x126
0x127
0x128
0x129
0x12A
0x12B
0x12C
0x12D
0x12E
0x12F
0x130
0x131
0x132
0x133
0x134
0x135
0x136
0x137
0x138
0x139
0x140
0x141
0x143
0x14E
0x14F
0x150
0x151
0x152
0x153
0x154
0x155
0x156
0x157
0x159
0x15A
0x15B
0x191
0x192
0x194
0x1A9
0x1AA
0x1AC
0x1AD
0x1AE
0x1AF
0x1B0
0x1B1
0x1B2
0x1B3
0x1B4
0x1B5
0x1B6
0x1B7
0x1B8
0x1B9
0x1BA
0x1BB
0x1BC
0x1BD
0x1BE
0x1BF
0x1C0
0x1C1
0x1C2
0x1C3
0x1C4
0x1C5
0x1C6
0x1C7
0x1C8
0x1C9
0x1CA
0x1CB
0x1CC
0x1CD
0x1CE
0x1CF
0x1D0
0x1D1
0x1D2
0x1D4
0x1D5
0x1D6
0x1D7
0x1D8
0x1D9
0x1DB
0x1DC
0x1DD
0x1ED
0x1EE
0x1EF
0x1F5
0x1F6
0x23B
0x23C
0x23D
0x23E
0x23F
0x246
0x247
0x248
0x249
0x24F
0x25E
0x265
0x266
0x281
0x287
0x288
0x289
0x28A
0x28E
0x28F
0x2BC
0x2BD
0x2BF
0x2C0
0x2C1
0x2C2
0x2C3
0x2C4
0x2C5
0x2C6
0x2C7
0x2C8
0x2C9
0x2CA
0x2CB
0x2CC
0x2CE
0x2CF
0x2D0
0x2D1
0x2D2
0x2D6
0x2D8
0x2DA
0x2DC
0x2DF
0x2E0
0x2E1
0x2E2
0x2E3
0x2E4
0x2E5
0x2E6
0x2E7
0x2E8
0x2E9
0x2EA
0x2F1
0x2F2
0x2F3
0x2F4
0x2F6
0x2F7
0x2F8
0x2F9
0x2FA
0x2FB
0x2FC
0x2FE
0x2FF
0x300
0x301
0x302
0x303
0x307
0x308
0x309
0x30A
0x30B
0x30C
0x30D
0x30E
0x30F
0x310
0x311
0x313
0x314
0x319
0x31C
0x31D
0x31E
0x31F
0x320
0x321
0x322
0x323
0x326
0x327
0x328
0x329
0x32E
0x32F
0x330
0x331
0x332
0x333
0x335
0x336
0x337
0x33A
0x33B
0x33C
0x33D
0x33E
0x33F
0x340
0x343
0x347
0x348
0x349
0x34A
0x34B
0x34C
0x34D
0x34E
0x34F
0x350
0x351
0x354
0x356
0x357
0x358
0x359
0x35A
0x35B
0x35C
0x35E
0x35F
0x360
0x361
0x362
0x365
0x366
0x369
0x36A
0x36D
0x36E
0x370
0x371
0x372
0x373
0x379
0x37A
0x37B
0x37C
0x37D
0x37E
0x380
0x381
0x382
0x384
0x385
0x386
0x387
0x388
0x389
0x38A
0x390
0x391
0x393
0x394
0x395
0x396
0x39C
0x39E
0x39F
0x3A0
0x3A1
0x3A5
0x3A6
0x3A7
0x3A8
0x3A9
0x3AC
0x3AD
0x3AE
0x3B0
0x3B1
0x3B2
0x3B3
0x3B4
0x3B5
0x3B7
0x3B8
0x3B9
0x3BA
0x3BB
0x3BC
0x3BD
0x3BE
0x3BF
0x3C1
0x3C2
0x3C3
0x3C4
0x3C5
0x3C7
0x3C8
0x3CD
0x3CE
0x3CF
0x3D0
0x3D1
0x3D2
0x3D3
0x3D4
0x3D7
0x3D8
0x3DF
0x3E0
0x3E1
0x3E2
0x3E5
0x3E6
0x3E7
0x436
0x4F0
0x4F1
0x4F2
0x4F3
0x4F4
0x4F5
0x4F6
0x4F7
0x4F8
0x4FB
0x4FC
0x4FD
0x4FE
0x860
0x861
0x862
0x864
0x865
0x866
0x867
0x868
0x869
0x86A
0x86B
0x86C
0x86D
0x86E
0x870
0x871
0x872
0x873
0x874
0x875
0x876
0x877
0x878
0x879
0x87A
0x87B
0x87C
0x87E
0x880
0x889
0x88A
0x88B
0x892
0x89A
0x89B
0x89C
0x89D
0x89E
0x89F
0x8A0
0x8A1
0x8A3
0x8A4
0x8A5
0x8A6
0x8A7
0x8A8
0x8A9
0x8AA
0x8AB
0x8AF
0x8B0
0x8B1
0x8B2
0x8B3
0x8B4
0x8B5
0x8B6
0x8B7
0x8B8
0x8B9
0x8BA
0x8BB
0x8BC
0x8BE
0x8BF
0x8C0
0x8C1
0x8C3
0x8C4
0x8C5
0x8C6
0x8C7
0x8C8
0x8C9
0x8CA
0x8CB
0x8CC
0x8CD
0x8CE
0x8CF
0x8D0
0x8D1
0x8D2
0x8D3
0x8D4
0x8D5
0x8D6
0x8D8
0x8D9
0x8DA
0x8DC
0x8DD
0x8DE
0x8DF
0x8E0
0x8E1
0x8E2
0x921
0x92A
0x92B
0x92C
0x92D
0x92E
0x92F
0x930
0x931
0x932
0x934


So here's a script I'll explain it later on.

Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
checkflag 0x500
if 0x1 goto @dont
msgbox @i 0x6
setflag 0x500
release
end

#org @dont
msgbox @said 0x6
end

#org @i
= I don't want to talk to you\nanymore.

#org @said
= I said I don't want to!
checkflag 0x500 - Checks if flag 0x500 is already been set. If it isn't it continues the script.
if 0x1 goto @dont - Checks if true, and if true it goes to pointer @dont. If you put 0x0 it checks if it is false, then goes to pointer @don't
setflag 0x500 - Set's the flag 0x500.

Remember:
0x1 - True
0x0 - False

And now to explain clearflag scripts. I will still be using flag 0x500.

Quote:
#dynamic 0x800000

#org @start
lock
checkflag 0x500
if 0x0 goto @apologize
msgbox @phone 0x6
clearflag 0x500
release
end

#org @apologize
msgbox @sorry 0x6
release
end

#org @phone
= Friend: What? You have some\nproblems with your other Friend?\pHere's my phone so you can\napologize to your other friend.

#org @sorry
= Friend: Hello Friend! :)
clearflag 0x500 - Clears flag 0x500, or removes the flag.
checkflag 0x500 - Checks if flag 0x500 has already been set.
if 0x0 goto @apologize - Checks if false and goes to pointer @apologize

Note: You can use the text adjuster when typing text so it will be properly adjusted. You can go to tools then Text Adjuster. Or simple Ctrl+T. :)

And here's a list of special flags in the games.

Fire Red:
Spoiler:
0x820 – Activates First Badge
0x821 - Activates Second Badge
0x822 - Activates Third Badge
0x823 - Activates Fourth Badge
0x824 - Activates Fifth Badge
0x825 - Activates Sixth Badge
0x826 - Activates Seventh Badge
0x827 - Activates Eighth Badge
0x828 - Activates Pokemon Menu
0x829 - Activates Pokedex Menu
0x82F - Activates Running Shoes


Ruby/Sapphire:
Spoiler:
0x800 - Activates Pokemon Menu
0x801 - Activates Pokedex Menu
0x802 - Activates Pokenav Menu
0x807 - Activates First Badge
0x808 - Activates Second Badge
0x809 - Activates Third Badge
0x80A - Activates Fourth Badge
0x80B - Activates Fifth Badge
0x80C - Activates Sixth Badge
0x80D - Activates Seventh Badge
0x80E - Activates Eighth Badge
0x860 - Activates Running Shoes


Emerald:
Spoiler:
0x860 - Activates Pokemon Menu
0x861 - Activates Pokedex Menu
0x862 - Activates Pokenav Menu
0x867 - Activates First Badge
0x868 - Activates Second Badge
0x869 - Activates Third Badge
0x86A - Activates Fourth Badge
0x86B - Activates Fifth Badge
0x86C - Activates Sixth Badge
0x86D - Activates Seventh Badge
0x86E - Activates Eighth Badge
0x8C0 - Activates Running Shoes
Badge flags and the running shoes flag found by Crocky.


And that's all for Flags.

Yes/No Scripts

- Scripts that uses the msgbox 0x5 command. It let's you pick between two choices.

I'll explain this later. First here's a script.

Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @are 0x5
compare 0x800D 0x1
if 0x1 goto @yes
compare 0x800D 0x0
if 0x0 goto @no
end

#org @yes
msgbox @blurry 0x6
release
end

#org @no
msgbox @alien 0x6
release
end

#org @are
= Are you human?

#org @blurry
= Oh, sorry to judge you lad.\pIt's just that I have poor\neyesight.

#org @alien
= You're an alien!
msgbox @are 0x5 - Makes a textbox with the yes or no function.
compare 0x800D 0x1 - Get's the lastresult and the 0x1 beside it means yes.
if 0x1 goto @yes - Checks if true and if Yes is selected the script continues to pointer @yes.
compare 0x800D 0x1 - Get's the lastresult and the 0x0 beside it means no.
if 0x1 goto @no - Checks if true and if No is selected the script continues to pointer @no.

Note: Lastresult and 0x800D are the same. It's just that Lastresult isn't used in the latest version of XSE. And remember also that;

0x1 - Yes
0x0 - No

And that covers Yes/No scripts.

Giveitem

- This is the command so you can give Items. You can use this too to give Rare Candies and Master Balls for free! xD

Pretty easy to do the command goes like this. giveitem 0x(Item No.) 0x(Quantity) 0x0 (Remember to put 0x0 at the end.) Remember to have them in hex.

Here's an example script. I'm also going to make a flag so the person can only give you once.

Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
checkflag 0x510
if 0x1 goto @already
msgbox @hi 0x6
giveitem 0x1 0x1 0x0
setlfag 0x510
release
end

#org @already
msgbox @igave 0x6
release
end

#org @hi
= Hello there Trainer.\pHere's a present from me to you.\pSo kindly leave me alone.

#org @igave
= Didn't I already gave you an Item?\pScram!
giveitem 0x1 0x1 0x0 - Gives one Masterball. (Oh yeah!)
It also has the auto receive message and a jingle too.

And here the Item List in Hex.

Item List:
Spoiler:
0000 = No Item
0001 = Master Ball
0002 = Ultra Ball
0003 = Great Ball
0004 = Poke Ball
0005 = Safari Ball
0006 = Net Ball
0007 = Dive Ball
0008 = Nest Ball
0009 = Repeat Ball
000A = Timer Ball
000B = Luxury Ball
000C = Premier Ball
000D = Potion
000E = Antidote
000F = Burn Heal
0010 = Ice Heal
0011 = Awakening
0012 = Parlyz Heal
0013 = Full Restore
0014 = Max Potion
0015 = Hyper Potion
0016 = Super Potion
0017 = Full Heal
0018 = Revive
0019 = Max Revive
001A = Fresh Water
001B = Soda Pop
001C = Lemonade
001D = MooMoo Milk
001E = Energy Powder
001F = Energy Root
0020 = Heal Powder
0021 = Revival Herb
0022 = Ether
0023 = Max Ether
0024 = Elixer
0025 = Max Elixer
0026 = Lava Cookie
0027 = Blue Flute
0028 = Yellow Flute
0029 = Red Flute
002A = Black Flute
002B = White Flute
002C = Berry Juice
002D = Sacred Ash
002E = Shoal Salt
002F = Shoal Shell
0030 = Red Shard
0031 = Blue Shard
0032 = Yellow Shard
0033 = Green Shard
003F = HP Up
0040 = Protein
0041 = Iron
0042 = Carbos
0043 = Calcium
0044 = Rare Candy
0045 = PP Up
0046 = Zinc
0047 = PP Max
0049 = Guard Spec
004A = Dire Hit
004B = X Attack
004C = X Defend
004D = X Speed
004E = X Accuracy
004F = X Special
0050 = Poke Doll
0051 = Fluffy Tail
0053 = Super Repel
0054 = Max Repel
0055 = Escape Rope
0056 = Repel
005D = Sun Stone
005E = Moon Stone
005F = Fire Stone
0060 = Thunder Stone
0061 = Water Stone
0062 = Leaf Stone
0067 = Tiny Mushroom
0068 = Big Mushroom
006A = Pearl
006B = Big Pearl
006C = Stardust
006D = Star Piece
006E = Nugget
006F = Heart Scale
0079 = Orange Mail
007A = Harbor Mail
007B = Glitter Mail
007C = Mech Mail
007D = Wood Mail
007E = Wave Mail
007F = Bead Mail
0080 = Shadow Mail
0081 = Tropic Mail
0082 = Dream Mail
0083 = Fab Mail
0084 = Retro Mail
0085 = Cheri Berry
0086 = Chesto Berry
0087 = Pecha Berry
0088 = Rawst Berry
0089 = Aspear Berry
008A = Leppa Berry
008B = Oran Berry
008C = Persim Berry
008D = Lum Berry
008E = Sitrus Berry
008F = Figy Berry
0090 = Wiki Berry
0091 = Mago Berry
0092 = Aguav Berry
0093 = Iapapa Berry
0094 = Razz Berry
0095 = Bluk Berry
0096 = Nanab Berry
0097 = Wepear Berry
0098 = Pinap Berry
0099 = Pomeg Berry
009A = Kelpsy Berry
009B = Qualot Berry
009C = Hondew Berry
009D = Grepa Berry
009E = Tamato Berry
009F = Cornn Berry
00A0 = Magost Berry
00A1 = Rabuta Berry
00A2 = Nomel Berry
00A3 = Spelon Berry
00A4 = Pamtre Berry
00A5 = Watmel Berry
00A6 = Durin Berry
00A7 = Belue Berry
00A8 = Liechi Berry
00A9 = Ganlon Berry
00AA = Salac Berry
00AB = Petaya Berry
00AC = Apicot Berry
00AD = Lansat Berry
00AE = Starf Berry
00AF = Enigma Berry
00B3 = Bright Powder
00B4 = White Herb
00B5 = Macho Brace
00B6 = Exp Share
00B7 = Quick Claw
00B8 = Soothe Bell
00B9 = Mental Herb
00BA = Choice Band
00BB = King's Rock
00BC = Silver Powder
00BD = Amulet Coin
00BE = Cleanse Tag
00BF = Soul Dew
00C0 = Deep Sea Tooth
00C1 = Deep Sea Scale
00C2 = Smoke Ball
00C3 = Everstone
00C4 = Focus Band
00C5 = Lucky Egg
00C6 = Scope Lens
00C7 = Metal Coat
00C8 = Leftovers
00C9 = Dragon Scale
00CA = Light Ball
00CB = Soft Sand
00CC = Hard Stone
00CD = Miracle Seed
00CE = Black Glasses
00CF = Black Belt
00D0 = Magnet
00D1 = Mystic Water
00D2 = Sharp Beak
00D3 = Poison Barb
00D4 = Nevermelt Ice
00D5 = Spell Tag
00D6 = Twisted Spoon
00D7 = Charcoal
00D8 = Dragon Fang
00D9 = Silk Scarf
00DA = Up-Grade
00DB = Shell Bell
00DC = Sea Incense
00DD = Lax Incense
00DE = Lucky Punch
00DF = Metal Powder
00E0 = Thick Club
00E1 = Stick
00FE = Red Scarf
00FF = Blue Scarf
0100 = Pink Scarf
0101 = Green Scarf
0102 = Yellow Scarf
0103 = Mach Bike
0104 = Coin Case
0105 = ItemFinder
0106 = Old Rod
0107 = Good Rod
0108 = Super Rod
0109 = S.S. Ticket
010A = Contest Pass
010C = Wailmer Pail
010D = Devon's Goods
010E = Soot Sack
010F = Basement Key
0110 = Acro Bike
0111 = PokeBlock Case
0112 = Letter
0113 = Eon Ticket
0114 = Red Orb
0115 = Blue Orb
0116 = Scanner
0117 = Go-Goggles
0118 = Meteorite
0119 = Rm.1 Key
011A = Rm.2 Key
011B = Rm.4 Key
011C = Rm.6 Key
011D = Storage Key
011E = Root Fossil
011F = Claw Fossil
0120 = Devon Scope
0121 = TM01 (Focus Punch)
0122 = TM02 (Dragon Claw)
0123 = TM03 (Water Pulse)
0124 = TM04 (Calm Mind)
0125 = TM05 (Roar)
0126 = TM06 (Toxic)
0127 = TM07 (Hail)
0128 = TM08 (Bulk Up)
0129 = TM09 (Bullet Seed)
012A = TM10 (Hidden Power)
012B = TM11 (Sunny Day)
012C = TM12 (Taunt)
012D = TM13 (Ice Beam)
012E = TM14 (Blizzard)
012F = TM15 (Hyper Beam)
0130 = TM16 (Light Screen)
0131 = TM17 (Protect)
0132 = TM18 (Rain Dance)
0133 = TM19 (Giga Drain)
0134 = TM20 (Safeguard)
0135 = TM21 (Frustration)
0136 = TM22 (Solar Beam)
0137 = TM23 (Iron Tail)
0138 = TM24 (Thunderbolt)
0139 = TM25 (Thunder)
013A = TM26 (Earthquake)
013B = TM27 (Return)
013C = TM28 (Dig)
013D = TM29 (Psychic)
013E = TM30 (Shadow Ball)
013F = TM31 (Brick Break)
0140 = TM32 (Double Team)
0141 = TM33 (Reflect)
0142 = TM34 (Shock Wave)
0143 = TM35 (Flamethrower)
0144 = TM36 (Sludge Bomb)
0145 = TM37 (Sandstorm)
0146 = TM38 (Fire Blast)
0147 = TM39 (Rock Tomb)
0148 = TM40 (Aerial Ace)
0149 = TM41 (Torment)
014A = TM42 (Facade)
014B = TM43 (Secret Power)
014C = TM44 (Rest)
014D = TM45 (Attract)
014E = TM46 (Thief)
014F = TM47 (Steel Wing)
0150 = TM48 (Skill Swap)
0151 = TM49 (Snatch)
0152 = TM50 (Overheat)
0153 = HM01 (Cut)
0154 = HM02 (Fly)
0155 = HM03 (Surf)
0156 = HM04 (Strength)
0157 = HM05 (Flash)
0158 = HM06 (Rock Smash)
0159 = HM07 (Waterfall)
015A = HM08 (Dive)
015D = {Oak's Parcel}
015E = {Poke Flute}
015F = {Secret Key}
0160 = {Bike Voucher}
0161 = {Gold Teeth}
0162 = {Old Amber}
0163 = {Card Key}
0164 = {Elevator Key}
0165 = {Dome Fossil}
0166 = {Helix Fossil}
0167 = {Silph Scope}
0168 = {Bicycle}
0169 = {Town Map}
016A = {Battle Searcher}
016B = {Voice Checker}
016C = {TM Case}
016D = {Berry Bag}
016E = {Help TV}
016F = {Tri-Pass}
0170 = {Rainbow Pass}
0171 = {Tea}
0172 = {Mystery Ticket}
0173 = {Aurora Ticket}
0174 = {Konaire}
0175 = {Ruby Plate}
0176 = {Sapphire Plate}
01F4 = [Jail Key]
01F5 = [Elevator Key]
01F6 = [Small Tablet]
01F7 = [F-Disk]
01F8 = [R-Disk]
01F9 = [L-Disk]
01FA = [D-Disk]
01FB = [U-Disk]
01FC = [Subway Key]
01FD = [Maingate Key]
01FE = [Card Key]
01FF = [Down St. Key]
0200 = [DNA Sample 1]
0201 = [Bayleef DNA]
0202 = [DNA Sample 2]
0203 = [Quilava DNA]
0204 = [DNA Sample 3]
0205 = [Croconaw DNA]
0206 = [DNA Sample 4]
0207 = [Sudowoodo DNA]
0208 = [DNA Sample 5]
0209 = [Misdreavus DNA]
020A = [DNA Sample 6]
020B = [Mightyena DNA]
020C = [DNA Sample 7]
020D = [Raikou DNA]
020E = [DNA Sample 8]
020F = [Entei DNA]
0210 = [DNA Sample 9]
0211 = [Suicune DNA]
0212 = [Data ROM]
0213 = [Steel Teeth]
0214 = [Gear]
0215 = [Red ID Badge]
0216 = [Green ID Badge]
0217 = [Blue ID Badge]
0218 = [Yellow ID Badge]
0219 = [Time Flute]
021A = [Ein File S]
021B = [Ein File H]
021C = [Ein File C]
021D = [Ein File P]
021E = [Cologne Case]
021F = [Joy Scent]
0220 = [Excite Scent]
0221 = [Vivid Scent]
0222 = [Powerup Part]
0223 = [Ein File F]


And that pretty much does it for the GiveItem Command.

GivePokemon

- This is the command that give's you a Pokemon. but In order to access them in the Main Menu you have to set the flag to activate the Pokemon Menu. The flag is 0x828 in FireRed.

The Command goes like this;

givepokemon 0x(Pokemon No.) 0x(Level) 0x(Held Item) 0x0 0x0 0x0. Remember to put those 3 0x0 i the end.

Here's an example script. I will also explain how to give proper nicknames . Of course I'll have the Pokemon Menu enabled.

Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
checkflag 0x828
if 0x1 goto @how
msgbox @give 0x5
compare 0x800D 0x1
if 0x1 goto @get
compare 0x800D 0x0
if 0x1 goto @ok
end

#org @get
givepokemon 0x19 0x5 0x44 0x0 0x0 0x0
fanfare 0x13E
msgbox @receive 0x4
waitfanfare
closeonkeypress
setflag 0x828
msgbox @givenickname 0x5
compare 0x800D 0x1
if 0x1 goto @name
compare 0x800D 0x0
if 0x1 goto @go
end

#org @ok
msgbox @oh 0x6
release
end

#org @name
setvar 0x8004 0x0
call @nickname
goto @takecare

#org @nickname
fadescreen 0x1
special 0x9E
waitstate
return

#org @go
closeonkeypress
goto @takecare

#org @takecare
msgbox @please 0x6
release
end

#org @how
msgbox @check 0x6
release
end

#org @give
= Hello there.\pBy any chance would you want to\nhave this Pikachu?

#org @oh
= Oh, I see...

#org @receive
= [black_fr]\v\h01 received a Pikachu from the\nOld Man.

#org @givenickname
= [black_fr]Would you like to give your\nPokémon a nickname?

#org @please
= Please take care of my dear\nPikachu.

#org @check
= How's my old Pokémon?
Now with this you will get a level 5 Pikachu holding a Rare Candy. ^_^ And you will get to nickname it.

In-Game Screenshot:






You can also just call offset 0x1A74EB. But, in case your using Jpan's engine you should do it like this.

checkflag 0x828 - Checks if the flag for the Pokemon Menu is set. I used this flag because this is the player's first Pokemon.
if 0x1 goto @how - If true goes to pointer @how.
givepokemon 0x19 0x5 0x44 0x0 0x0 0x0 - Give's a level 5 Pikachu holding a Rare Candy.
fanfare 0x13E - Plays the fanfare when receiving a Pokemon. (The Fanfare list is also found in Advance Map) I'll give the fanfare list later in the tutorial
waitfanfare - Is a command that ways for the fanfare to be finish so the script will continue.
setflag 0x828 - Set's the flag for the Pokemon Menu.
call @nickname - Call is a command to call scripts which in this case is pointer @nickname
goto @takecare - Same as call it goes to the script which is pointer @takecare
fadescreen 0x1 - An effect to make the screen black. More about this will be explained later.
special 0x9E - Is a command that is needed for the nickname event to be done. More things about specials will be explained later.
waitstate - Wait's for the special to be finished. This is put always after a special command.
return - Is a command to return to the list script it was called upon in this case. The one that called it is pointer @name and continues to the rest of the script.

And of course the Pokemon List.

Pokemon List:
Spoiler:
0001 = BULBASAUR
0002 = IVYSAUR
0003 = VENUSAUR
0004 = CHARMANDER
0005 = CHARMELEON
0006 = CHARIZARD
0007 = SQUIRTLE
0008 = WARTORTLE
0009 = BLASTOISE
000A = CATERPIE
000B = METAPOD
000C = BUTTERFREE
000D = WEEDLE
000E = KAKUNA
000F = BEEDRILL
0010 = PIDGEY
0011 = PIDGEOTTO
0012 = PIDGEOT
0013 = RATTATA
0014 = RATICATE
0015 = SPEAROW
0016 = FEAROW
0017 = EKANS
0018 = ARBOK
0019 = PIKACHU
001A = RAICHU
001B = SANDSHREW
001C = SANDSLASH
001D = NIDORAN Female
001E = NIDORINA
001F = NIDOQUEEN
0020 = NIDORAN Male
0021 = NIDORINO
0022 = NIDOKING
0023 = CLEFAIRY
0024 = CLEFABLE
0025 = VULPIX
0026 = NINETALES
0027 = JIGGLYPUFF
0028 = WIGGLYTUFF
0029 = ZUBAT
002A = GOLBAT
002B = ODDISH
002C = GLOOM
002D = VILEPLUME
002E = PARAS
002F = PARASECT
0030 = VENONAT
0031 = VENOMOTH
0032 = DIGLETT
0033 = DUGTRIO
0034 = MEOWTH
0035 = PERSIAN
0036 = PSYDUCK
0037 = GOLDUCK
0038 = MANKEY
0039 = PRIMEAPE
003A = GROWLITHE
003B = ARCANINE
003C = POLIWAG
003D = POLIWHIRL
003E = POLIWRATH
003F = ABRA
0040 = KADABRA
0041 = ALAKAZAM
0042 = MACHOP
0043 = MACHOKE
0044 = MACHAMP
0045 = BELLSPROUT
0046 = WEEPINBELL
0047 = VICTREEBEL
0048 = TENTACOOL
0049 = TENTACRUEL
004A = GEODUDE
004B = GRAVELER
004C = GOLEM
004D = PONYTA
004E = RAPIDASH
004F = SLOWPOKE
0050 = SLOWBRO
0051 = MAGNEMITE
0052 = MAGNETON
0053 = FARFETCH'D
0054 = DODUO
0055 = DODRIO
0056 = SEEL
0057 = DEWGONG
0058 = GRIMER
0059 = MUK
005A = SHELLDER
005B = CLOYSTER
005C = GASTLY
005D = HAUNTER
005E = GENGAR
005F = ONIX
0060 = DROWZEE
0061 = HYPNO
0062 = KRABBY
0063 = KINGLER
0064 = VOLTORB
0065 = ELECTRODE
0066 = EXEGGCUTE
0067 = EXEGGUTOR
0068 = CUBONE
0069 = MAROWAK
006A = HITMONLEE
006B = HITMONCHAN
006C = LICKITUNG
006D = KOFFING
006E = WEEZING
006F = RHYHORN
0070 = RHYDON
0071 = CHANSEY
0072 = TANGELA
0073 = KANGASKHAN
0074 = HORSEA
0075 = SEADRA
0076 = GOLDEEN
0077 = SEAKING
0078 = STARYU
0079 = STARMIE
007A = MR.MIME
007B = SCYTHER
007C = JYNX
007D = ELECTABUZZ
007E = MAGMAR
007F = PINSIR
0080 = TAUROS
0081 = MAGIKARP
0082 = GYARADOS
0083 = LAPRAS
0084 = DITTO
0085 = EEVEE
0086 = VAPOREON
0087 = JOLTEON
0088 = FLAREON
0089 = PORYGON
008A = OMANYTE
008B = OMASTAR
008C = KABUTO
008D = KABUTOPS
008E = AERODACTYL
008F = SNORLAX
0090 = ARTICUNO
0091 = ZAPDOS
0092 = MOLTRES
0093 = DRATINI
0094 = DRAGONAIR
0095 = DRAGONITE
0096 = MEWTWO
0097 = MEW

0098 = CHIKORITA
0099 = BAYLEEF
009A = MEGANIUM
009B = CYNDAQUIL
009C = QUILAVA
009D = TYPHLOSION
009E = TOTODILE
009F = CROCONAW
00A0 = FERALIGATR
00A1 = SENTRET
00A2 = FURRET
00A3 = HOOTHOOT
00A4 = NOCTOWL
00A5 = LEDYBA
00A6 = LEDIAN
00A7 = SPINARAK
00A8 = ARIADOS
00A9 = CROBAT
00AA = CHINCHOU
00AB = LANTURN
00AC = PICHU
00AD = CLEFFA
00AE = IGGLYBUFF
00AF = TOGEPI
00B0 = TOGETIC
00B1 = NATU
00B2 = XATU
00B3 = MAREEP
00B4 = FLAAFFY
00B5 = AMPHAROS
00B6 = BELLOSSOM
00B7 = MARILL
00B8 = AZUMARILL
00B9 = SUDOWOODO
00BA = POLITOED
00BB = HOPPIP
00BC = SKIPLOOM
00BD = JUMPLUFF
00BE = AIPOM
00BF = SUNKERN
00C0 = SUNFLORA
00C1 = YANMA
00C2 = WOOPER
00C3 = QUAGSIRE
00C4 = ESPEON
00C5 = UMBREON
00C6 = MURKROW
00C7 = SLOWKING
00C8 = MISDREAVUS
00C9 = UNOWN
00CA = WOBBUFFET
00CB = GIRAFARIG
00CC = PINECO
00CD = FORRETRESS
00CE = DUNSPARCE
00CF = GLIGAR
00D0 = STEELIX
00D1 = SNUBBULL
00D2 = GRANBULL
00D3 = QWILFISH
00D4 = SCIZOR
00D5 = SHUCKLE
00D6 = HERACROSS
00D7 = SNEASEL
00D8 = TEDDIURSA
00D9 = URSARING
00DA = SLUGMA
00DB = MAGCARGO
00DC = SWINUB
00DD = PILOSWINE
00DE = CORSOLA
00DF = REMORAID
00E0 = OCTILLERY
00E1 = DELIBIRD
00E2 = MANTINE
00E3 = SKARMORY
00E4 = HOUNDOUR
00E5 = HOUNDOOM
00E6 = KINGDRA
00E7 = PHANPY
00E8 = DONPHAN
00E9 = PORYGON
00EA = STANTLER
00EB = SMEARGLE
00EC = TYROGUE
00ED = HITMONTOP
00EE = SMOOCHUM
00EF = ELEKID
00F0 = MAGBY
00F1 = MILTANK
00F2 = BLISSEY
00F3 = RAIKOU
00F4 = ENTEI
00F5 = SUICUNE
00F6 = LARVITAR
00F7 = PUPITAR
00F8 = TYRANITAR
00F9 = LUGIA
00FA = HO-OH
00FB = CELEBI

0115 = TREECKO
0116 = GROVYLE
0117 = SCEPTILE
0118 = TORCHIC
0119 = COMBUSKEN
011A = BLAZIKEN
011B = MUDKIP
011C = MARSHTOMP
011D = SWAMPERT
011E = POOCHYENA
011F = MIGHTYENA
0120 = ZIGZAGOON
0121 = LINOONE
0122 = WURMPLE
0123 = SILCOON
0124 = BEAUTIFLY
0125 = CASCOON
0126 = DUSTOX
0127 = LOTAD
0128 = LOMBRE
0129 = LUDICOLO
012A = SEEDOT
012B = NUZLEAF
012C = SHIFTRY
012D = NINCADA
012E = NINJASK
012F = SHEDINJA
0130 = TAILLOW
0131 = SWELLOW
0132 = SHROOMISH
0133 = BRELOOM
0134 = SPINDA
0135 = WINGULL
0136 = PELIPPER
0137 = SURSKIT
0138 = MASQUERAIN
0139 = WAILMER
013A = WAILORD
013B = SKITTY
013C = DELCATTY
013D = KECLEON
013E = BALTOY
013F = CLAYDOL
0140 = NOSEPASS
0141 = TORKOAL
0142 = SABLEYE
0143 = BARBOACH
0144 = WHISCASH
0145 = LUVDISC
0146 = CORPHISH
0147 = CRAWDAUNT
0148 = FEEBAS
0149 = MILOTIC
014A = CARVANHA
014B = SHARPEDO
014C = TRAPINCH
014D = VIBRAVA
014E = FLYGON
014F = MAKUHITA
0150 = HARIYAMA
0151 = ELECTRIKE
0152 = MANECTRIC
0153 = NUMEL
0154 = CAMERUPT
0155 = SPHEAL
0156 = SEALEO
0157 = WALREIN
0158 = CACNEA
0159 = CACTURNE
015A = SNORUNT
015B = GLALIE
015C = LUNATONE
015D = SOLROCK
015E = AZURILL
015F = SPOINK
0160 = GRUMPIG
0161 = PLUSLE
0162 = MINUN
0163 = MAWILE
0164 = MEDITITE
0165 = MEDICHAM
0166 = SWABLU
0167 = ALTARIA
0168 = WYNAUT
0169 = DUSKULL
016A = DUSCLOPS
016B = ROSELIA
016C = SLAKOTH
016D = VIGOROTH
016E = SLAKING
016F = GULPIN
0170 = SWALOT
0171 = TROPIUS
0172 = WHISMUR
0173 = LOUDRED
0174 = EXPLOUD
0175 = CLAMPERL
0176 = HUNTAIL
0177 = GOREBYSS
0178 = ABSOL
0179 = SHUPPET
017A = BANETTE
017B = SEVIPER
017C = ZANGOOSE
017D = RELICANTH
017E = ARON
017F = LAIRON
0180 = AGGRON
0181 = CASTFORM
0182 = VOLBEAT
0183 = ILLUMISE
0184 = LILEEP
0185 = CRADILY
0186 = ANORITH
0187 = ARMALDO
0188 = RALTS
0189 = KIRLIA
018A = GARDEVOIR
018B = BAGON
018C = SHELGON
018D = SALAMENCE
018E = BELDUM
018F = METANG
0190 = METAGROSS
0191 = REGIROCK
0192 = REGICE
0193 = REGISTEEL
0194 = KYOGRE
0195 = GROUDON
0196 = RAYQUAZA
0197 = LATIAS
0198 = LATIOS
0199 = JIRACHI
019A = DEOXYS
019B = CHIMECHO

Note: This is for Fire Red mainly all the scripts here are for Fire Red.

And that's it for Givepokemon.

Fanfare, Sound, and Playsong.

- Are things sounds and fanfares that can be called upon in a script. Pretty useful in events it would be much better.

Here how the commands go;

fanfare 0x(Fanfare no.) - Plays a fanfare.

waitfanfare - Wait's for the fanfare to finish.

sound 0x(sound no.) - Plays a sound.

playsong 0x(song no.) 0x0 - Uses the same list with Fanfare.

This 4 commands below are used with the playsong command to make the song stop.

fadedefault - used for the current music to the maps default music.

fadesong - Gently fades to another song.

fadeout - Fades out the currently playing song.

fadein - Fades the currently playing song back in.

Here are the list of the musics... :)

For Fanfares and Songs: (For Fire Red Only.)
Spoiler:
0105 Healing (RS)
0106 Level Up
0107 Evolution Start
0108 Evolution/Safari
0109 Battle 1
010A Battle 2
010B Unknown/Not listed in Sappy
010C Fanfare 1
010D Fanfare 2
010E You Fail It!
010F You Fail It Again!
0110 Follow Me
0111 Game Corner
0112 Evil Lurks
0113 Gym
0114 Jigglypuff's Song
0115 Introduction
0116 Pokemon Theme
0117 Cinnabar Island
0118 Lavender Town
0119 Healing
011A Bicycle
011B Encounter 1
011C Encounter 2
011D Encounter 3
011E You're In The Hall of Fame!
011F Viridian Forest
0120 Mount Moon
0121 Abandoned Place
0122 End Credits
0123 Route Theme 1
0124 Route Theme 2/Intro
0125 Route Theme 3
0126 Route Theme 4
0127 Indigo Plateau
0128 Battle 3
0129 Battle 4
012A Battle 5
012B Battle 6
012C Pallet Town
012D Oak's Lab
012E Oak's Theme
012F Pokemon Center
0130 SS Anne
0131 Surf's Up
0132 Pokemon Tower
0133 Silph Co.
0134 Cerulean City
0135 Celadon City
0136 Victory 1
0137 Victory 2
0138 Victory 3
0139 Vermillion City
013A Viridian City and Pewter City
013B Gary's Theme
013C Gary's Theme (bis)
013D Fanfare 3
013E Fanfare 4
013F You caught a Pokemon!
0140 Trainer Card Photo
0141 Gamefreak
0142 Victory 2 (bis)
0143 Intro Message 1
0144 Intro Message 2
0145 Intro Message 3
0146 Game Corner (+1)
0147 Game Corner (+2)
0148 Net Corner
0149 Mystery Connection
014A Game Corner (+3)
014B Mount Ember
014C Follow Me (alt)
014D Water Labyrinth
014E Tanoby Ruins
014F Islands 1-3
0150 Islands 4-5
0151 Islands 6-7(AKA Violet City Theme from GSC)
0152 PokeFlute
0153 Battle - Deoxys
0154 Battle 5 (+1)
0155 Battle 5 (+2)
0156 Encounter 4
0157 Deoxys Encounter
0158 Trainer Tower
0159 Pallet Town (fame mix)
015A Teachy TV

Sound List:
Spoiler:
0x0 - Blank Noise (Stops BGM, not other S.E.)
0x1 - Use Item
0x2 - Log onto PC
0x3 - Turn off PC
0x4 - Turn on PC
0x5 - Click Noise
0x6 - Open Menu
0x7 - Wall Bump
0x8 - Door Open
0x9 - Exit Room
0xA - Jump
0xB - Bike Bell
0xC - Loud Crash (Like dropping of a heavy object)
0xD - Loud Crash (Higher pitch, and with echo)
0xE - Loud Crash (3 in rapid sucession, with long echo)
0xF - Low Pitch Pokeball Open
0x10 - Pokeball Close
0x11 - Flee S.E.
0x12 - PokeCenter Door Open
0x13 - Strange Noise (Like Water at the beginning, then like electricity)
0x14 - Low Pitch crash
0x15 - Super high pitch beep
0x16 - Error / False sound
0x17 - PokeCenter Pokeball Load up (Pokeballs being placed onto the heal machine.)
0x18 - PokeCasino Reel Stop
0x19 - Insert Coin into Machine
0x1A - Buzz (False/fail at Casino)
0x1B - EXP gauge
0x1C - Hop (Like on an Acro Bike)
0x1D - Lock / Break small rock?
0x1E - Unlock
0x1F - Strange Sound (Like a dor being locked, but different...)
0x20 - Strange Sound (A singular version of the previous sound)
0x21 - Crash sound (With echo)
0x22 - Singular Metal attack Sound (Like when using steel wing, but singular)
0x23 - Ice Break
0x24 - Ice Crack
0x25 - Falling
0x26 - Strange Sound (Super Low Pitch Ice Break?)
0x27 - Warp Away
0x28 - Warp Return
0x29 - Electricity?
0x2A - Turn Winch (Like in Winona's Gym)
0x2B - Truck Driving (Loop)
0x2C - Truck Stoping
0x2D - Truck Brake
0x2E - Truck Open
0x2F - Airplane Turbines
0x30 - Save
0x31 - Pokeball Bounce (Like in a trade)
0x32 - Pokeball Bounce (Quieter)
0x33 - Pokeball Bounce (Even Quieter)
0x34 - Pokeball Bounce (Even Quieter Still)
0x35 - Pokeball Open (Like in a trade)
0x36 - Throw Pokeball
0x37 - Musical Decoration Pad (Low C)
0x38 - Musical Decoration Pad (D)
0x39 - Musical Decoration Pad (E)
0x3A - Musical Decoration Pad (F#)
0x3B - Musical Decoration Pad (G)
0x3C - Musical Decoration Pad (A)
0x3D - Musical Decoration Pad (B)
0x3E - Musical Decoration Pad (High C)
0x3F - Mud Ball Smash
0x40 - Wodden Board
0x41 - Get Money
0x42 - P.A. (Like when an elevator is done, or end of Safari Zone)
0x43 - Water Baloon Pop (Low)
0x44 - Water Baloon Pop (Med)
0x45 - Water Baloon Pop (High)
0x46 - Wodden Smash
0x47 - Wooden Break
0x48 - Poison Afliction
0x49 - Conveyor Belt
0x4A - Conveyor Belt 2 (Loop)
0x4B - Conveyor Belt 2 (end)
0x4C - Loud Noise (Like a low conveyor belt 2) (Loop)
0x4D - Loud Noise (End)
0x4E - Light noise (Like a High conveyor belt 2) (Loop)
0x4F - Light Noise (End)
0x50 - Strange Noise (Like sonething being absorbed into a dark void. Sound goes from high to low)
0x51 - Strange Noise (Like an extension of hte previous sound. Sound goes from Low to Super Low)
0x52 - Buzz (Like a Circular Saw)
0x53 - Low Health Alert (Loop) (Can Not Be Turned Off Without Map Refresh)
0x54 - Level Up Ding
0x55 - Low Grumbling (Like a Diesel Engine) (Loop)
0x56 - Low Grumbling (End)
0x57 - Swipe Sound (Loop)
0x58 - Sell Item
0x59 - Low Ding (Like a really low "Low C" note)
0x5A - High Pitch Swipe
0x5B - High Pitch Swipe (Reverse)
0x5C - Smack
0x5D - Small Noise (Like a person kicking dirt)
0x5E - VS Seeker?
0x5F - Light Jingle
0x60 - Explosion
0x61 - Explosion (After Effect / Cont)
0x62 - STRONG Wind (Or Crowd Screaming? My PC to slow to tell...)
0x63 - Low Slamming sound (Like someone setting down a heavy box.)
0x64 - Red / Blue Orb
0x65 - Computer Chatter (One High Pitch Blip)
0x66 - Computer Chatter (2 Blips, pattern: MedHi-High)
0x67 - Computer Chatter (High Pitch PC on?)
0x68 - Computer Chatter (High Pitch PC off?)
0x69 - Computer Chatter (PC Scanning)
0x6A - Glass Breaking?
0x6B - Light Shuffle sound (Like feet sliding across the floor)
0x6C - High Pitch Quiet Blip
0x6D - Small Sound (Like a twig snaping)
0x6E - Strange Sound (Like low pitch Ice Shimmering, or Use of Flute)
0x6F - Loud Bang (Like a gun shot, but different)
0x70 - Lout Buzz
0x71 - Metal Sheen (Like on steel wing, but a little longer)
0x72 - Curse Attack
0x73 - Baton Pass Attack (Like a swipeing / falling sound)
0x74 - Low Crash
0x75 - Bubble Attack (Launch)
0x76 - Substitute attack?
0x77 - Watyer Gun Attack (Launch)
0x78 - Rain Dance Attack
0x79 - Slash Attack
0x7A - Gust Attack?
0x7B - Very Strange Sound (Like a downward Spiral?)
0x7C - Rock Smash Attack? (In Battle or not? I Can't tell)
0x7D - Powerful Wind (Loop)
0x7E - Powerful Wind (End)
0x7F - Pound Attack?
0x80 - Throwing Sound (Like Bait in the Safari Zone)
0x81 - Deep Slashing noise
0x82 - Ice Ball Attack
0x83 - Loud Swipe?
0x84 - Deep Bang (Like someone hit something hard with a big log...)
0x85 - Beam Attack Charge Sound. (Like Solar Beam's Charging sound)
0x86 - Deep Bang (Similar to 0x84)
0x87 - Bubbling Noise
0x88 - Throwing noise (Slightly Higher Pitch)
0x89 - VERY DEEP Throwing sound
0x8A - Deep Explosion like sound
0x8B - Deep Wave-like sound
0x8C - Strange Sound (A Smack Noise, tehn a Short Deep Explosion-ish sound)
0x8D - Deep Bubbling
0x8E - Deep Crash (Like a super deep opening pokeball)
0x8F - Deep Fire
0x90 - Deep Smack
0x91 - Low Whirling
0x92 - High Pitch Powerful Wind (Loop)
0x93 - High Pitch Powerful Wind (End)
0x94 - High Pitch Shuffling
0x95 - Loud Noise (No Explaination)
0x96 - Wing Flapping (Singular)
0x97 - Wing Flapping (Decending Octaves, High To Low)
0x98 - Kicking Sand?
0x99 - High Pitch Whips Sound
0x9A - Strange Sound (No Explaination)
0x9B - Whirling Upwards (Short....)
0x9C - Super Strong Wind Burst
0x9D - MEGA ULTRA Strong wind burst. (I think....)
0x9E - MEGA ULTRA Strong wind burst. (Pitch Goes up, then down, more like actual wind...)
0x9F - Small Noise (Like a twig breaking)
0xA0 - Splash Attack Flopping sound (Singular)
0xA1 - Sandpaper-ish?
0xA2 - Small Noise (No Explaination)
0xA3 - Stretching noise?
0xA4 - Speeding up fan? (Pitch raises, that is all)
0xA5 - Sing Attack
0xA6 - Perish Song Attack
0xA7 - Ice? (Souns like when a pokemon gets frozen...)
0xA8 - Noise (No Explaination)
0xA9 - Little Sound (No explaination...)
0xAA - Loud Sound (No Explaination)
0xAB - Explosion-ish Sound
0xAC - Recover Attack
0xAD - Absorb Smack (The sound before the absorbtion)
0xAE - Metal Sound?
0xAF - Aurora Beam (Small)
0xB0 - Aurora Beam (Main)
0xB1 - Confusion
0xB2 - Drum?
0xB3 - Amnesia "?" Appear
0xB4 - Egg Crack?
0xB5 - Amnesia (Deeper ? Sound)
0xB6 - Loud Hover Sound (Decending)
0xB7 - Loud Hover Sound (Acending)
0xB8 - Strange Sound (Sounds like a speed up, then an upward whirling noise)
0xB9 - Smack (With Echo)
0xBA - Wooshing noise
0xBB - Frustration "Angry" Symbols
0xBC - Small Metalic "Bling" sound
0xBD - Whisping noise
0xBE - Rest Attack
0xBF - Shattering Ice
0xC0 - Deep Watery noise
0xC1 - Strange Noise (No Explaination)
0xC2 - Solar Beam (Launch)
0xC3 - Sunny Day Attack
0xC4 - Strange Noise (Sounds like a small absorption, but not from any absorb attacks...)
0xC5 - Strange Noise (Previous sound, in reverse)
0xC6 - Small Noise (No Explaination)
0xC7 - Swift Attack (Singular - higher pitch)
0xC8 - Swift Attack (Singular - Longer)
0xC9 - Swift Attack (Singular - Lower Pitch)
0xCA - Odor Sleuth Attack
0xCB - Small Noise (Like a twig Snapping... again)
0xCC - Strange noise (Like... Ding, Dong... Ding, Dong....)
0xCD - Strange noise (Frustration "Angry" Symbols... highrt pitch)
0xCE - Noise (Decending Sound)
0xCF - Loud Crash (Very Deep)


And that pretty much explains for fanfares, sounds, and songs. :)

Specials

- This are used for special events that can help a lot when making hacks.

Here are the Special Lists.

Specials:
Spoiler:
special 0x0 - Heal Pokemon
special 0x3C - Acess Bill's PC (FR/LG)
special 0x98 - Going up to Mountain (R/S)
special 0x9C - Wally Catch (R/S)
special 0x9F - choose A Pokemon (R/S)
special 0xE0 - Pokeblock Case (R/S)
special 0x10F - Restart Game
special 0x110 - Hall of Fame and Credits
special 0x111 - Elevator Animation
special 0x119 - Groudons Orb effect (R/S)
special 0x131 - Earthquake (R/S)
special 0x132 - Show Floors
special 0x136 - Earthquake (FR/LG)
special 0x137 - Lava Battle
special 0x156 - Battle with Ghost (FR/LG)
special 0x157 - Get on Bike (FR/LG)
special 0x161 - Start Surfing (FR/LG)
special 0x166 - Nickname
special 0x16F - Activate National Dex (FR/LG)
special 0x17B - Seagallop Animation
special 0x191 - SS. Anne Leaving
special 0x1F3 - Activate National Dex (Emerald)


So with this I'm gonna make a healing script.

Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @rest 0x4
closeonkeypress
fadescreen 0x1
fanfare 0x100
special 0x0
waitfanfare
fadescreen 0x0
msgbox @there 0x6
release
end

#org @rest
= Oh, \v\h01 you seem tired.\pYou should take some rest.

#org @there
= There you and your Pokémon look\ngreat.
fanfare 0x100 - Is the healing jingle.
special 0x0 - The special command to heal Pokemon.

And if you want your Earthquake special to work perfectly. Input this before special 0x136.
Quote:
setvar 0x8004 0xF
setvar 0x8005 0xF
setvar 0x8006 0xF
setvar 0x8007 0xF
And that's it for Specials.

RemoveItem

- A command to used to remove Items in the bag. This command will be great for delivery quests.

Here's how the command works;

removeitem 0x(Item no.) 0x(Quantity)

And here's a script that takes your 5 Pokeballs from your bag.

Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
checkflag 0x545
if 0x1 goto @haha
msgbox @hello 0x6
removeitem 0x4 0x5
msgbox @alakazam 0x6
setlflag 0x545
release
end

#org @haha
msgbox @cant 0x6
release
end

#org @hello
= Hello there Trainer!\pI am a Magician and will make your\n5 Pokeballs in your bag disappear.\p\v\h01: O...k...?\pOk, get ready!\pAbra!\pKadabra!\pAlakazam!

#org @alakazam
= See they're gone now!\pIt's magic.

#org @cant
= What?!\pYou want your Poke Balls back?\pThey're gone so SCRAM!
removeitem 0x4 0x5 - This will remove 5 poke Balls from your bag.

And that pretty much explains things about the Removeitem Command.

CheckItem

- This command checks for a certain Item in your bag before the script continues. It's good for checkpoints and some other things for your Rom Hacks.

Here's how the command goes;

checkitem 0x(Item No.) 0x(Quantity)

Now this script is kinda tricky cause I will check if the Item is greater than 1.

Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @doyou 0x5
compare 0x800D 0x1
if 0x1 goto @check
compare 0x800D 0x0
if 0x0 goto @understand
end

#org @check
checkitem 0xD 0x1
compare 0x800D 0x1
if 0x4 goto @wow
msgbox @liar 0x6
release
end

#org @understand
msgbox @ok 0x6
release
end

#org @wow
msgbox @use 0x6
release
end

#org @doyou
= Hello there do you have a Potion\nwith you?

#org @liar
= Your a liar.

#org @ok
= Oh, ok...

#org @use
= Wow, you can use that to heal\nPokémon.
checkitem 0xD 0x1 - Checks if you have one potion with you.
if 0x4 goto @wow - Checks if you have one or more Potions, if true goes to pointer @wow.

You might ask how did you know that? If you need values to be checked this things can be useful. I made a table for them.

Quote:
Lower Than (0x0)
Equals (0x1)
Greater Than (0x2)
Lower than or Equal to (0x3)
Greater than or Equal to (0x4)
Not exactly equal to (0x5)
Pretty useful huh? Use it in Checkitem or some other value relating scripts.

And that's it for CheckItem.

WildBattle

- Ever wanted to have your own WildBattle script? Then you can use this command. You can use this to make Legendaries appear and capture em! xD

Here's how the command works;

wildbattle 0x(Pokemon no.) 0x(Level) 0x(Held Item)

And for an add on you can use these commands as well to make it realistic.

cry 0x(Pokemon No.) 0x0 - This will play a cry of a certain Pokemon.

waitcry - This command is set after the cry command. It waits for the cry to finish.

And Fadescreen's can be great after the battle here are fadescreens in a table.
Quote:
0x0 - Black To Normal
0x1 – Normal To Black
0x2 – White To Normal
0x3 – Normal To White
Anyway, here's an example script.
Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
cry 0x19 0x0
msgbox @roar 0x6
waitcry
wildbattle 0x19 0x5 0xCA
fadescreen 0x0
hidesprite 0x800F
fadescreen 0x1
setflag 0x300
release
end

#org @roar
= PIKACHU: PIKA!
cry 0x19 0x0 - Plays Pikachu's Cry.
waitcry - Waits for the cry to finish.
wildbattle 0x19 0x5 0xCA - Makes a Wild battle with a Level 5 Pikachu holding a Light Ball.
hidesprite 0x800F - Makes the sprite of the last person talked to disappear. More about Hidesprite will be xplained later.

300 must be input in the person ID in A-map so that Pikachu's Sprite will be gone forever.

Reminder: If you are using Jpan's Engine you can put special 0x25 to make the Pokemon shiny.

And that's all for WildBattle.

Checkgender

- This command checks you gender in the game. Pretty useful in genderbending sotrylines... xD

Just a simple checkgender command followed by the decision part of the script. Here's an example script for everyone to understand better.

Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @hmm 0x4
checkgender
compare 0x800D 0x1
if 0x1 goto @female
compare 0x800D 0x0
if 0x1 goto @male
end

#org @female
closeonkeypress
msgbox @yourf 0x6
release
end

#org @male
closeonkeypress
msgbox @yourm 0x6
release
end

#org @hmm
= Hmm...

#org @yourf
= Your a Female!

#org @yourm
= Your a Male!
checkgender - The command that checks your gender in the game.
compare 0x800D 0x1 - Checks if the player is female.
if 0x1 goto @female - If female, goes to pointer @female.
compare 0x800D 0x0 - Checks if the player is male.
if 0x1 goto @male - If male, goes to pointer @male.

And that covers things about Checkgender.

Applymovement

- Ever wanted to make someone move? :) Then you can, with the Applymovement command. This makes a specific sprite move in the game with a script.

Here's how the command works;

applymovement 0x(person event no.) @pointer <- This is the pointer for the Raw commands so moving will be possible. And if you don't know what Person event no. is. Here is where you can see it.

If you want your player to move use 0xFF as your person event no. And if you the camera/screen to move use 0x7F as your person event no.

And here's another command after the applymovement.

waitmovement 0x0 - Practically just waits for the movement to be finished and keep it on 0x0. :)

And if you want a follow me script or a script that can make people move at the same time. Your script must be set like this.

applymovement 0x(Person Event no.) @pointer
applymovement 0x(Person Event no.) @pointer
waitmovement 0x0

Just make it like that. :)

And to make commands for movements you will need this.

Fire Red/ Leaf Green:
Spoiler:
#raw 0x0 = Face Down
#raw 0x1 = Face Up
#raw 0x2 = Face Left
#raw 0x3 = Face Right
#raw 0x4 = Face Down (Faster)
#raw 0x5 = Face Up (Faster)
#raw 0x6 = Face Left (Faster)
#raw 0x7 = Face Right (Faster)
#raw 0x8 = Step Down (Very Slow)
#raw 0x9 = Step Up (Very Slow)
#raw 0xA = Step Left (Very Slow)
#raw 0xB = Step Right (Very Slow)
#raw 0xC = Step Down (Slow)
#raw 0xD = Step Up (Slow)
#raw 0xE = Step Left (Slow)
#raw 0xF = Step Right (Slow)
#raw 0x10 = Step Down (Normal)
#raw 0x11 = Step Up (Normal)
#raw 0x12 = Step Left (Normal)
#raw 0x13 = Step Right (Normal)
#raw 0x14 = Jump2 Down
#raw 0x15 = Jump2 Up
#raw 0x16 = Jump2 Left
#raw 0x17 = Jump2 Right
#raw 0x18 = Delay1
#raw 0x19 = Delay2
#raw 0x1A = Delay3
#raw 0x1B = Delay4
#raw 0x1C = Delay5
#raw 0x1D = Step Down (Fast)
#raw 0x1E = Step Up (Fast)
#raw 0x1F = Step Left (Fast)
#raw 0x20 = Step Right (Fast)
#raw 0x21 = Step on the Spot Down (Normal)
#raw 0x22 = Step on the Spot Up (Normal)
#raw 0x23 = Step on the Spot Left (Normal)
#raw 0x24 = Step on the Spot Right (Normal)
#raw 0x25 = Step on the Spot Down (Faster)
#raw 0x26 = Step on the Spot Up (Faster)
#raw 0x27 = Step on the Spot Left (Faster)
#raw 0x28 = Step on the Spot Right (Faster)
#raw 0x29 = Step on the Spot Down (Fastest)
#raw 0x2A = Step on the Spot Up (Fastest)
#raw 0x2B = Step on the Spot Left (Fastest)
#raw 0x2C = Step on the Spot Right (Fastest)
#raw 0x2D = Face Down (Delayed)
#raw 0x2E = Face Up (Delayed)
#raw 0x2F = Face Left (Delayed)
#raw 0x30 = Face Right (Delayed)
#raw 0x31 = Slide Down (Slow)
#raw 0x32 = Slide Up (Slow)
#raw 0x33 = Slide Left (Slow)
#raw 0x34 = Slide Right (Slow)
#raw 0x35 = Slide Down (Normal)
#raw 0x36 = Slide Up (Normal)
#raw 0x37 = Slide Left (Normal)
#raw 0x38 = Slide Right (Normal)
#raw 0x39 = Slide Down (Fast)
#raw 0x3A = Slide Up (Fast)
#raw 0x3B = Slide Left (Fast)
#raw 0x3C = Slide Right (Fast)
#raw 0x3D = Slide Running on Right Foot (Down)
#raw 0x3E = Slide Running on Right Foot (Up)
#raw 0x3F = Slide Running on Right Foot (Left)
#raw 0x40 = Slide Running on Right Foot (Right)
#raw 0x41 = Slide Running on Left Foot (Down)
#raw 0x42 = Slide Running on Left Foot (Up)
#raw 0x43 = Slide Running on Left Foot (Left)
#raw 0x44 = Slide Running on Left Foot (Right)
#raw 0x46 = Jump Facing Left (Down)
#raw 0x47 = Jump Facing Down (Up)
#raw 0x48 = Jump Facing Up (Left)
#raw 0x49 = Jump Facing Left (Right)
#raw 0x4A = Face Player
#raw 0x4B = Face Against Player
#raw 0x4C = Lock Sprite Facing
#raw 0x4D = Release Sprite Facing
#raw 0x4E = Jump Down
#raw 0x4F = Jump Up
#raw 0x50 = Jump Left
#raw 0x51 = Jump Right
#raw 0x52 = Jump in Place (Facing Down)
#raw 0x53 = Jump in Place (Facing Up)
#raw 0x54 = Jump in Place (Facing Left)
#raw 0x55 = Jump in Place (Facing Right)
#raw 0x56 = Jump in Place (Facing Down/Up)
#raw 0x57 = Jump in Place (Facing Up/Down)
#raw 0x58 = Jump in Place (Facing Left/Right)
#raw 0x59 = Jump in Place (Facing Right/Left)
#raw 0x60 = Hide Sprite
#raw 0x61 = Show Sprite
#raw 0x62 = Exclamation Mark (!)
#raw 0x63 = Question Mark (?)
#raw 0x64 = Cross (X)
#raw 0x65 = Double Exclamation Mark (!!)
#raw 0x66 = Happy (^_^)
#raw 0xFE = End of Movements


Ruby/Sapphire/Emerald:
Spoiler:
#raw 0x00 = Face Down
#raw 0x01 = Face Up
#raw 0x02 = Face Left
#raw 0x03 = Face Right
#raw 0x04 = Step Down (Slow)
#raw 0x05 = Step Up (Slow)
#raw 0x06 = Step Left (Slow)
#raw 0x07 = Step Right (Slow)
#raw 0x08 = Step Down (Normal)
#raw 0x09 = Step Up (Normal)
#raw 0x0A = Step Left (Normal)
#raw 0x0B = Step Right (Normal)
#raw 0x0C = Jump2 Down
#raw 0x0D = Jump2 Up
#raw 0x0E = Jump2 Left
#raw 0x0F = Jump2 Right
#raw 0x10 = Delay1
#raw 0x11 = Delay2
#raw 0x12 = Delay3
#raw 0x13 = Delay4
#raw 0x14 = Delay5
#raw 0x15 = Step Down (Fast)
#raw 0x16 = Step Up (Fast)
#raw 0x17 = Step Left (Fast)
#raw 0x18 = Step Right (Fast)
#raw 0x19 = Step on the Spot Down (Slow)
#raw 0x1A = Step on the Spot Up (Slow)
#raw 0x1B = Step on the Spot Left (Slow)
#raw 0x1C = Step on the Spot Right (Slow)
#raw 0x1D = Step on the Spot Down (Normal)
#raw 0x1E = Step on the Spot Up (Normal)
#raw 0x1F = Step on the Spot Left (Normal)
#raw 0x20 = Step on the Spot Right (Normal)
#raw 0x21 = Step on the Spot Down (Faster)
#raw 0x22 = Step on the Spot Up (Faster)
#raw 0x23 = Step on the Spot Left (Faster)
#raw 0x24 = Step on the Spot Right (Faster)
#raw 0x25 = Step on the Spot Down (Fastest)
#raw 0x26 = Step on the Spot Up (Fastest)
#raw 0x27 = Step on the Spot Left (Fastest)
#raw 0x28 = Step on the Spot Right (Fastest)
#raw 0x29 = Slide Down
#raw 0x2A = Slide Up
#raw 0x2B = Slide Left
#raw 0x2C = Slide Right
#raw 0x2D = Slide Down
#raw 0x2E = Slide Up
#raw 0x2F = Slide Left
#raw 0x30 = Slide Right
#raw 0x31 = Slide Down
#raw 0x32 = Slide Up
#raw 0x33 = Slide Left
#raw 0x34 = Slide Right
#raw 0x35 = Slide Running Down
#raw 0x36 = Slide Running Up
#raw 0x37 = Slide Running Left
#raw 0x38 = Slide Running Right
#raw 0x3A = Jump Facing Left (Down)
#raw 0x3B = Jump Facing Down (Up)
#raw 0x3C = Jump Facing Up (Left)
#raw 0x3D = Jump Facing Left (Right)
#raw 0x3E = Face Player
#raw 0x3F = Face Against Player
#raw 0x40 = Lock Sprite Facing
#raw 0x41 = Release Sprite Facing
#raw 0x42 = Jump Down
#raw 0x43 = Jump Up
#raw 0x44 = Jump Left
#raw 0x45 = Jump Right
#raw 0x46 = Jump in Place (Facing Down)
#raw 0x47 = Jump in Place (Facing Up)
#raw 0x48 = Jump in Place (Facing Left)
#raw 0x49 = Jump in Place (Facing Right)
#raw 0x4A = Jump in Place (Facing Down/Up)
#raw 0x4B = Jump in Place (Facing Up/Down)
#raw 0x4C = Jump in Place (Facing Left/Right)
#raw 0x4D = Jump in Place (Facing Right/Left)
#raw 0x4E = Face Left
#raw 0x54 = Hide Sprite
#raw 0x55 = Show Sprite
#raw 0x56 = Exclamation Mark (!)
#raw 0x57 = Question Mark (?)
#raw 0x58 = Love (<3)
#raw 0x62 = Walk Down
#raw 0x63 = Walk Down
#raw 0x64 = Face Down (Delayed)
#raw 0x65 = Face Up (Delayed)
#raw 0x66 = Face Left (Delayed)
#raw 0x67 = Face Right (Delayed)
#raw 0x70 = Jump in Place (Facing Down)
#raw 0x71 = Jump in Place (Facing Up)
#raw 0x72 = Jump in Place (Facing Left)
#raw 0x73 = Jump in Place (Facing Right)
#raw 0x74 = Jump Down Running
#raw 0x75 = Jump Up Running
#raw 0x76 = Jump Left Running
#raw 0x77 = Jump Right Running
#raw 0x78 = Jump2 Down Running
#raw 0x79 = Jump2 Up Running
#raw 0x7A = Jump2 Left Running
#raw 0x7B = Jump2 Right Running
#raw 0x7C = Walk on the Spot (Down)
#raw 0x7D = Walk on the Spot (Up)
#raw 0x7E = Walk on the Spot (Left)
#raw 0x7F = Walk on the Spot (Right)
#raw 0x80 = Slide Down Running
#raw 0x81 = Slide Up Running
#raw 0x82 = Slide Left Running
#raw 0x83 = Slide Right Running
#raw 0x84 = Slide Down
#raw 0x85 = Slide Up
#raw 0x86 = Slide Left
#raw 0x87 = Slide Right
#raw 0x88 = Slide Down on Left Foot
#raw 0x89 = Slide Up on Left Foot
#raw 0x8A = Slide Left on Left Foot
#raw 0x8B = Slide Right on Left Foot
#raw 0x8C = Slide Left diagonally (Facing Up)
#raw 0x8D = Slide Right diagonally (Facing Up)
#raw 0x8E = Slide Left diagonally (Facing Down)
#raw 0x8F = Slide Right diagonally (Facing Down)
#raw 0x90 = Slide2 Left diagonally (Facing Up)
#raw 0x91 = Slide2 Right diagonally (Facing Up)
#raw 0x92 = Slide2 Left diagonally (Facing Down)
#raw 0x93 = Slide2 Right diagonally (Facing Down)
#raw 0x96 = Walk Left
#raw 0x97 = Walk Right
#raw 0x98 = Levitate
#raw 0x99 = Stop Levitating
#raw 0x9C = Fly Up Vertically
#raw 0x9D = Land
#raw 0xFE = End of Movements


Ok, let's do it in a script. :) I'm gonna have the player move at the same time with another person.
Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @hello 0x6
applymovement 0xff @move
applymovement 0x1 @move
waitmvoement 0x0
msgbox @yay 0x6
release
end

#org @hello
= Hey, there!\pLet's walk three steps up!

#org @move
#raw 0x11
#raw 0x11
#raw 0x11
#raw 0xfe

#org @yay
= Yay!\pWe look so romantic.
applymovement 0xff @move - Makes the player move with the raw's at pointer @move.
applymovement 0x1 @move - Makes the sprite with Person Event #1 move with the raw's at pointer @move.
waitmovement 0x0 - Waits for the movement to be finished.
#raw 0x11
#raw 0x11 - Step Up (Normal)
#raw 0x11
#raw 0xfe - End of movements. (Remember to put this at the end of movement raws.)

Some things to remember:

Person Event # FF - is the players person event no.
Person Event # 7F - is the camera/screen's person event no.
#raw 0xfe - Ends movements must be put at the end of movement raws.
waitmovement 0x0 - Always put after the applymovement command.
Remember to have the person event no. in hex. You can convert decimal to hex by using XSE as well.

And that's all for Applymovement's.

Hidesprite and Showsprite

- This two commands can be used for major/minor events. Hidesprite is used to make a person event no. to vanish/disappear. And Showsprite makes them appear again. However to make a person vanish permanently you have to use a flag and input it on the person ID no.

Here's how the commands work;

Hidesprite 0x(Person Event no.)

Showsprite 0x(Person Event no.)


Here's a script to make it easier to understand.
Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @hey 0x6
fadescreen 0x1
hidesprite 0x1
fadescreen 0x0
sound 0x15
applymovement 0xff @pop
waitmovement 0x0
msgbox @haha 0x6
fadescreen 0x1
showsprite 0x1
fadescreen 0x0
sound 0x15
applymovement 0xff @pop
waitmovement 0x0
msgbox @now 0x6
fadescreen 0x1
hidesprite 0x1
setflag 0x750
fadescreen 0x0
msgbox @ok 0x6
release
end

#org @hey
= Hey, hey!\pI just discovered a new trick\nlook, look!

#org @pop
#raw 0x62
#raw 0xfe

#org @haha
= Haha, you can't see me.\pBut, I can see you!\pOk, I'll go back to normal.

#org @now
= Haha, unbelievable right?\pLet me do it again.\pDissapear!

#org @ok
= Ok, time to go back now.\pHuh?\pI can't go back to normal!\pHELP!
hidesprite 0x1 - Makes person event no.1 disappear
showsprite 0x1 - Makes person event no. 1 appear again.

I used a flag to make him disappear completely hehe...

Remember:
If you want to make a person disappear completely use a flag and input it in the person ID in Advance-Map.

And please do not use #raw 0x60 so you can make sprites disappear it will appear again after you move again.

And that's all for Hidesprite and Showsprite commands.

SetVars

- This is quite complicated in scripting. This are used for script boxes and level scripts. More about Level scripts will be explained later in the Tutorial. SetVars are somewhat like flags but the difference is that scripts that need setvars doesn't work without them. They will either freeze or crash. They are also used in the script so that the script will not happen again.

This is how they work.

setvar 0x(variable) 0x(value)

You have to set them up in A-map. The variable in the Var Number and the value in the unknown.

So here's an example variable.

setvar 0x5000 0x1

It should be like this in A-map.



You have to -1 in the value so 1-1=0 so I recommend everyone to just use 1 as your value in script boxes and level scripts so it will just be 0. :)

There will be further things about setvars later on the tutorial.

For now this will be the things that Setvar covers. :)

Trainerbattles

- This is a command that makes you battle a trainer. Since Trainerbattles covers a wide area I'll explain this one by one. You can edit the trainers using A-Trainer the best Trainer Editor out there.

Ok first let's start with trainerbattle 0x0.

Trainerbattle 0x0
This is just a normal trainer battle command. Used by Normal trainer in the game.

This is how the command works in trainerbattle 0x0;

trainerbattle 0x0 0x(Trainer ID) 0x0 @see @win <- You need these two pointer for the messages that the trainer will say when you see the trainer before the battle and when you win the battle.

And make a msgbox @pointer 0x6 after it. It will be the message that it will say after losing the battle.

Here's an example script.
Quote:
#dynamic 0x800000

#org @start
trainerbattle 0x0 0x1 0x0 @see @win
msgbox @after 0x6
end

#org @see
= Haha, our eyes meet!\pWe must battle!

#org @win
= Your strong!

#org @after
= I should train my Pokémon more.
It should already been explained so I'll go to the next one.

Trainerbattle 0x1

Trainerbattle 0x1 is used by Gym Leaders in the game.

This is how trainerbattle 0x1 works in the game.

trainerbattle 0x1 0x(Trainer ID) 0x0 @see @win @later <- Later is the pointer to the script that it will do after the battle like giving a badge an Item or talking about something. And you can just use a flag so you can point it to a script after defeating the trainer.

Here's an example script.
Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
checkflag 0x828
if 0x1 goto @finish
msgbox @hello 0x6
trainerbattle 0x1 0x1 0x0 @see @win @later
end

#org @finish
msgbox @good 0x6
release
end

#org @later
msgbox @congrats 0x6
fanfare 0x13E
msgbox @receive 0x4
waitfanfare
closeonkeypress
setlfag 0x820
msgbox @take 0x6
giveitem 0x121 0x1
release
end

#org @hello
= Hello there Trainer.\pWelcome to my Gym!\pSo you want a battle?\pOf course you want!

#org @see
= Let's do this!

#org @win
= I accept my defeat.

#org @good
= You must travel to the next Gym.\pThere you will meet another Gym\nLeader who's stronger than me.

#org @congrats
= Congratulations!\pYou have successfully defeated me!\pHere have this badge!

#org @receive
= \v\h01 received a Gym Badge!

#org @take
= Here take this as well.
Reminder: flag 0x820 is the flag for the Boulderbadge in Fire Red and Leaf Green.

And that explains things about trainerbattle 0x1.

Trainerbattle 0x3

- This command is like the others but unlike 0x1 it automatically continues through the script. Use for long event battles.

Here's how the command works;

trainerbattle 0x3 0x(Trainer ID) 0x0 @win <- It's only the win text because it will continue through the script.

Here's an example script.
Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @what 0x6
trainerbattle 0x3 0x1 0x0 @win
msgbox @after 0x6
fadescreen 0x1
hidesprite 0x1
fadescreen 0x0
setflag 0x642
release
end

#org @what
= What do you want KID?!

#org @win
= Hmph!

#org @after
= Your one annoying KID.\pYou know that?\pDon't talk to me again.
You can see that it continues through the script.

And that's all for Trainerbattle 0x3.

Trainerbattle 0x4

- Now this command is used for Double Battles you can edit the Double Battle setting in A-trainer.

Here's how the command works;

trainerbattle 0x4 0x(Trainer ID) 0x0 @see @win @2Pokemon <- This is a text that will be said if you don't have 2 Pokemon with you. It automatically uses the countpokemon command to check if you have two or more Pokemon with you. I will explain things about countpokemon later on.

Here's an example script.
Quote:
#dynamic 0x800000

#org @start
trainerbattle 0x4 0x1 0x0 @see @win @2Pokemon
msgbox @after 0x6
end

#org @see
= James: We can do this Jessie!

#org @win
= James: Oh, no Jessie are you ok?

#org @2Pokemon
= James: You don't have 2 Pokémon\nwith you.\pDo you want us to defeat you\neasily?
That's pretty much it for trainerbattle 0x4.

Trainerbattle 0x5

- is used for single rematch battles. Used outdoors so this will be the battle when you use the VS SEEKER.

Here's how the command works;

The script for this command has two trainerbattles the other one is 0x0 And after that command you have to put this.
special2 0x800D 0x39
compare 0x800D 0x1
if 0x1 goto @(pointer for the script which has trainerbattle 0x5.)

trainerbattle 0x5 0x(Trainer ID) 0x0 @saw @win <- I put saw because I wanted a new message when rematching the trainer. But, the win message is still the same.

Here's an example script to put more understanding to it.

Quote:
#dynamic 0x800000

#org @start
trainerbattle 0x0 0x1 0x0 @see @win
special2 0x800D 0x39
compare 0x800D 0x1
if 0x1 goto @rematch
msgbox @after
end

#org @remeatch
trainerbattle 0x5 0x1 0x0 @saw @win
msgbox @after 0x6
end

#org @see
= Hello there!\pLet's Battle our Pokémon!

#org @win
= Your good!

#org @after
= Some Pokémon evolve by using Items\nand some through Trades.

#org @saw
= I won't back down from a\nchallenge!
Here you can see how the command was used. special2 will be explained later on. So if you have defeated the Trainer and used your VS SEEKER after that then you will have a rematch with the trainer which is the sole purpose of trainerbattle 0x5.

And that's all for Trainerbattle 0x5.

Trainerbattle 0x7

- Just like 0x5 this is used for rematches. But, this time it's for 0x4 or for a Double Battle.

Here's how the command work;

Same as 0x5 you need this after the trainerbattle for 0x4.

special2 0x800D 0x39
compare 0x800D 0x1
if 0x1 goto @(pointer to rematch script.)

trainerbattle 0x7 0x(Trainer ID) 0x0 @saw @win @2Pokemon

Here's an example script.
Quote:
#dynamic 0x800000

#org @start
trainerbattle 0x4 0x1 0x0 @see @win @2Pokemon
special2 0x800D 0x39
compare 0x800D 0x1
if 0x1 goto @rematch
msgbox @after 0x6
end

#org @rematch
trainerbattle 0x7 0x1 0x0 @saw @win @2Pokemon
msgbox @after 0x6
end

#org @see
= Spongebob: Can you defeat me and\nPatrick?

#org @win
= Spongebob: What? We lost?

#org @2Pokemon
= Spongebob: There will be no fun if\nyou don't have enough Pokémon to\lbattle.

#org @after
= Spongebob: We'll win next time\nright Patrick?\pPatrick: ...

#org @saw
= Spongebob: It's payback time.
And that's it for Trainerbattle 0x7.

Trainerbattle 0x9

The same as 0x3 but it has a text when you lose.

Here's how the command works;

trainerbattle 0x9 0x(Trainer ID) 0x0 @win @lose <- This is the pointer for the text when you lose the battle.

Here's an example script for everyone.
Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
checkflag 0x310
if 0x1 goto @done
msgbox @hi 0x6
trainerbattle 0x9 0x1 0x0 @win @lose
msgbox @after 0x6
setflag 0x310
release
end

#org @done
msgbox @after 0x6
release
end

#org @hi
= Hi there, care for a battle?

#org @win
= Your stronger than me.

#org @lose
= It seems that I'm much stronger\nthan you.

#org @after
= You have what it takes to become\nthe next CHAMPION.
Well that explains things for Trainerbattle 0x9.

And that's all for Trainerbattle commands.

CountPokemon

- This command is used for counting the amount of Pokemon in your party and goes through a decision in the script for a certain use.

Here's how the command works;

Countpokemon <- Just that and use the decision script.

Ex.
Checks 1 Pokemon.
Quote:
countpokemon
compare 0x800D 0x1
if 0x1 goto @resume
Checks for 2 Pokemon
Quote:
countpokemon
compare 0x800D 0x2
if 0x1 goto @resume
Checks for 3 Pokemon
Quote:
countpokemon
compare 0x800D 0x3
if 0x1 goto @resume
Checks for 4 Pokemon
Quote:
countpokemon
compare 0x800D 0x4
if 0x1 goto @resume
Checks for 5 Pokemon
Quote:
countpokemon
compare 0x800D 0x5
if 0x1 goto @resume
Checks for 6 Pokemon
Quote:
countpokemon
compare 0x800D 0x6
if 0x1 goto @resume
Remember this table is helpful for decision scripts.
Quote:
Lower Than (0x0)
Equals (0x1)
Greater Than (0x2)
Lower than or Equal to (0x3)
Greater than or Equal to (0x4)
Not exactly equal to (0x5)
And here's an example script.
Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @can't 0x4
countpokemon
compare 0x800D 0x2
if 0x4 goto @proceed
closeonkeypress
msgbox @sorry 0x6
release
end

#org @proceed
closeonkeypress
msgbox @oh 0x6
fadescreen 0x1
hidesprite 0x1
fadescren 0x0
setflag 0x555
release
end

#org @can't
= Guard: You can't proceed further\nif you don't have at least 2\lPokémon with you.\pHmm...

#org @sorry
= Guard: Sorry you don't have 2\nPokémon with you.\pI suggest capturing more so you\ncan enter.

#org @oh
= Guard: Oh, you have 2 Pokémon with\nyou.\pYou may proceed.
countpokemon - Counts your current Pokemon in your party.
compare 0x800D 0x2 - Checks for 2 Pokemon.
if 0x4 goto @proceed - Checks if the result is greater than or equal to 2. If true goes to pointer @proceed.

And that's all for CountPokemon.

Giveegg

- This is a command like the Givepokemon command the only difference is it gives an egg of a specific Pokemon.

Here's how the command works;

Quote:
giveegg 0x(Pokemon no.)
Pretty easy right?

Here's a script to put more understanding to it.
Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @would 0x5
compare 0x800D 0x1
if 0x1 goto @give
compare 0x800D 0x0
if 0x1 goto @ok
end

#org @give
countpokemon
compare 0x800D 0x6
if 0x1 goto @deposit
msgbox @here 0x6
giveegg 0x196
fanfare 0x13E
msgbox @receive 0x6
waitfanfare
msgbox @legendary 0x6
fadescreen 0x1
hidesprite 0x1
fadescreen 0x0
setflag 0x200
release
end

#org @ok
msgbox @oh 0x6
release
end

#org @deposit
msgbox @seems 0x6
release
end

#org @would
= Hello there young Trainer!\pWould you care to have this egg?

#org @here
= Here.\pPlease take care of it it's a very\nspecial egg.

#org @receive
= [black_fr]\v\h01 received an EGG!

#org @legendary
= That egg belongs to a Legendary\nPokémon.\pThat only lays an egg every 10,000\nyears.\pPlease take good care of it. I'll\nbe going now.

#org @oh
= Oh, ok I understand.

#org @seems
= It seems you don't have anymore\nspace in your party you better\ldeposit a Pokémon in a nearby\lPokémon Center.
giveegg 0x196 - Gives you an egg of a Rayquaza! ^_^

That's all for giveegg.

Weather Commands

- If you can manipulate the weather you can make an epic hack. xD

Here's how the command works;

Quote:
setweather 0x(Weather no.)
- Set's the weather to be called upon.

Quote:
doweather
- Does the weather that you have set. Must be used after the weather has been set.

Here's the weather list.

Weather List:
Spoiler:
None = 0x0
Reflected Clouds = 0x1
Normal = 0x2
Rain = 0x3
3 Snowflakes = 0x4
Thunderstorm = 0x5
Fog = 0x6
Snow = 0x7
Sandstorm = 0x8
Diagonal Fog = 0x9
Thin Fog = 0xA
Bit Dark = 0xB
Overheat = 0xC
Thunderstorm2 = 0xD
None = 0xE

You can view them in A-map as well.

Here's an example script.
Quote:
#dynamic 0x800000

#org @start
lock
msgbox @i'm 0x6
setweather 0x3
doweather
msgbox @great
release
end

#org @i'm
= I'm on a lucky streak today.\pWhat could possibly go wrong?

#org @great
= GREAT!\pJust my luck.
setweather 0x3 - Set's a rainy weather.
doweather - Does the weather.

And that's all for Weather Commands.

Pokemart


- Do you want to have your own items in A-map or maybe put the Masterball and Rare Candy there? xD Well you can do that with the Pokemart command.

The command goes like this;

Quote:
pokemart @(pointer to the raw's)
The raw's work like this, #raw 0x(Item no.) Pretty easy right? And remember to put #raw 0x0 at the end. Just like in applymovement you have to put #raw 0xfe at the end of the movements. But, in pokemart you'll use #raw 0x0.

Here's an example script for that.
Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
preparemsg @hi
waitmsg
pokemart @mart
msgbox @come 0x6
release
end

#org @hi
= Hi there, Trainer!\pMay I help you?

#org @come
= Please come again.

#org @mart
#raw 0xD
#raw 0xE
#raw 0xF
#raw 0x10
#raw 0x11
#raw 0x12
#raw 0x0
It will let me choose from Potion, Antidote, Burn Heal, Ice Heal, Awakening, Paralyz heal.

The preparemsg command will be explained later.

And that's all for Pokemart.

Lockall and Releaseall

- same as the normal lock and release functions. But, this lock's all, and releases all.

Just put, lockall and releaseall. That's all in to it pretty much easy.

Preparemsg and Waitmsg


Same as the normal text box the only difference is it doesn't have a variable next to it. Just the pointer. And waitmsg is just like closeonkeypress the command is to close the message.

Here's how the command works;

Quote:
preparemsg @(pointer to your message)
Quote:
waitmsg
Pretty much easy if you already read through the tutorial so I'll leave it that way so that's all for Preparemsg and Waitmsg.

Warps

- warps are used in doors. They are pretty much useful for travelling scripts. :) Warps have many kinds but, I'll explain them all one by one.

This is how warps work;

Quote:
warp 0x(map bank) 0x(map no.) 0x(warp no.) 0x0 0x0
Pretty easy right?

Now for warp to position.

Warp To Position

- Just like the normal warp command but the last 3 values are changed. The warp number is changed into 0xFF it let's the script know that we're warping the player to a certain position.

Quote:
warp 0x(map bank) 0x(map no.) 0xFF 0x(X Coordinate) 0x(Y Coordinate)
The coordinates can be viewed in A-map.

That's it for warp to position.

Warpmuted

- Just like the normal warp instead it doesn't include the warp sound.

Here's how the command works;

Quote:
warpmuted 0x(map bank) 0x(map no.) 0x(warp no.) 0x0 0x0
And that's for Warpmuted.

Warpwalk

- Also like the normal warp but, it includes the walking effect or sound.

Here's how the command works;

Quote:
warpwalk 0x(map bank) 0x(map no.) 0x(warp no.) 0x0 0x0
That's it for warpwalk.

Warphole

Same as the others but only uses two values. Has the hole effect.

Here's how the command work;

Quote:
warphole 0x(map bank) 0x(map no.)
That's it for warphole now on to the next one.

Warpteleport

- Just like the other warps but has the teleport effect.

Here's how the command works;

Quote:
warpteleport 0x(map bank) 0x(map no.) 0x(warp no.) 0x0 0x0
That's it for warps!

Showpokepic and Hidepokepic

- used to make sprites appear in a box. Can only be used to make Pokemon Sprites appear.

The command goes like this;

Quote:
showpokepic 0x(Pokemon no.) 0x(X Coordinate) 0x(Y Coordinate)
Remember that (10/A, 3) is the center of the screen. 10/A is X and 3 is Y.

and hidepokepic is just simply used to hide the Pokepic. :P

Here's an example script.
Quote:
#dynamic 0x800000

#org @start
lock
faceplayer
showpokepic 0xFA 0xA 0x3
msgbox @have 0x5
compare 0x800D 0x1
if 0x1 goto @yes
compare 0x800D 0x0
if 0x1 goto @no
end

#org @yes
hidepokepic
msgbox @lucky 0x6
release
end

#org @no
hidepokepic
msgbox @oh 0x6
release
end

#org @have
= Have you seen this magnificent\nPokémon before?

#org @lucky
= Wow, your lucky.

#org @oh
= Oh, me too...
This just shows a pokepic of Ho-oh in the center of the screen.

In-Game Screenshot:


And that's all for showpokepic and hidepokepic.

MoveSprite

- This command is used to move a sprite instantly.

Here's how the command works;

Quote:
movesprite 0x(Person Event No.) 0x(X Coordinate) 0x(Y Coordinate)
You can view the X and Y coordinates in A-map. If you read through the Tutorial I think this will not require anymore further explanation.

Reminder: Do not try to move the player or use 0xFF as your person event. The screen will not be properly adjusted and you'll end up getting trapped. (Even with Walk Through Wall Codes and editing their Movement Permission in A-map).

And that's all for Movesprite.

SetMapTile

- This is a command in a script to edit the tiles of the specific tileset you have in the map in-game.

Here's how it works.

Quote:
setmaptile 0x(X Coordinate) 0x(Y Coordinate) 0x(Tile No.) 0x(Movement Permission.)
You can view the X,Y and Tile No. in A-map.

And if you want to make that block passable put 0x0, If not put 0x1.

0x0 - Passable
0x1 - Blocked

And that's all for SetMaptile.

$Money Commands$

- This is used to update your money, remove, and view it. Used in Pokemarts and such.

Givemoney

- Pretty much like any give scripts it just gives money in hex of course.

Here's how it works for example we want $500 Poke Dollars so it would be 500 and if you convert 500 into hex it will be 1F4 so here's a command to explain it.

Quote:
givemoney 0x(Amount of Money in hex) 0x0
That's all for Givemoney.

Paymoney

- Same as remove commands just removes a certain amount of money from the player so for example you have received 500 Poke Dollars and you want to take it back then I'll use this.

Quote:
paymoney 0x1F4 0x0
That's all for Paymoney.

Callasm

- This is a command to call asm routines in the game. Very useful in major events.

This is how the command works;

Quote:
callasm 0x(offset +1)
You should use so you can call asm routines, you must first insert the routine using a hex editor. But, I won't get any further about that since it will make more complicated explanation's.

That's all for Callasm.

Level Scripts

- You may have already noticed but Script Boxes in front of doors doesn't work when you enter. In that case you don't need a script box but, you need a level script. A level script can be edited in the header in A-map.

First we need a script make sure it ha a setvar in the end of it. :)

Quote:
#dynamic 0x800000

#org @start
lock
sound 0x15
applymovement 0xff @pop
waitmovement 0x0
msgbox @realize 0x6
setvar 0x4000 0x1
release
end

#org @pop
#raw 0x62
#raw 0xfe

#org @realize
= \v\h01: Woah, I just realised that\nI'm outside the house.
Now do what I say.

Go to A-map and open your map then go to Header you should see there Map Script. It looks like this. Then press add.



And then click the drop-down menu list in script type and select script type 2.



There are many types of level script and you must pick the appropriate one for your script.

First of all.

"setmaptile" script [01] - It's mainly used for setmaptile commands and weather commands.

Validates values, loads handler to 0x03000EB0 (playback) [02] - The most often used script type. All things are can be done in this script type, applymovement, trainerbattles, give scripts, flags, wildbattles, etc. But it's better to use this command when you warp into a house or building. You can just use a script box if you didn't warp it will be much easier and will save up some time.

On entering map/not on menu close [03] - This is used for flags, var comparing, and some other things.

Validates values, loads handler to 0x03000F28 [04] - Same as #2 used when you warp into a house or building.

Ok, you should now compile your script. Then put the offset in script offset 2;



Now remember I made a setvar in the end of the script so I have to put the variable in flag and value in value. And since our value is 1 you have to subtract it by 1 so you don't need to input anything in the value box. Just put 4000 on the flag box.



After that click save Map scripts and your done. Now to test it out.


It worked, but look... It's somewhat messed up.



To fix this go to header in A-map again. Then press Ctrl+H then copy the Map Script Offset.



Now decompile that in XSE. First click the Level Script next to decompile then press decompile.



Next is find the 0xFFFF in the script.



Now delete those F's and replace it with a zero.



Now Compile it then press save in A-map

Test it out.



Ta Daa! Your very first Level script.

And that covers everything about Level Scripts.

END

The Tutorial may be updated from time to time(mostly when I feel like it), in the meantime enjoy hacking! :)

And that concludes tajaros' Xtreme Scripting Tutorial. If you have any questions you can ask me, or simply post here on the thread.

Downloads:
XSE
A-trainer
Jpan's Firered Hacked Engine
__________________

Last edited by tajaros; October 29th, 2012 at 04:52 PM.
Reply With Quote
  #2    
Old May 2nd, 2012, 03:58 PM
itari's Avatar
itari
悪魔の妹
Community Supporter
 
Join Date: Mar 2010
Location: 紅魔館
Age: 17
Gender: Female
Nature: Relaxed
No. Why teach beginners to use pokescript?
It is horribly outdated, and doesn't even have all of the commands!
Plus, it is known to have lots of bugs.

Why continue to use a horse when you have a car?
__________________
Touhou Puppet Play: Sapphire

SubscriptAdvanced SongType Effectiveness EditorTilemap CreatorPython IPS Patcher
Reply With Quote
  #3    
Old May 2nd, 2012, 05:54 PM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Just for fun what else....
__________________
Reply With Quote
  #4    
Old May 2nd, 2012, 06:38 PM
droomph's Avatar
droomph
mmm gurl that 90s
Community Supporter
 
Join Date: Sep 2011
Location: bar'jách
Age: 17
Gender: Male
Nature: Impish
Quote:
Originally Posted by tajaros View Post
Just for fun what else....
If that's the case, foullump and thethethethe have great Pokéscript tutorials, and diegoisawesome has a great XSE tutorial.

We've already covered these, and if anyone wanted to they could ask in those threads instead.

It's not that I want to say that that tutorial was bad, but...we don't really need it...
__________________
did u no there r 21 letters in the alphabet
o i forgot 5
uraqt


Reply With Quote
  #5    
Old May 6th, 2012, 02:07 PM
TheAgentBrandon's Avatar
TheAgentBrandon
Togepi
 
Join Date: Apr 2012
Location: The Middle of Nowhere
Gender: Male
Nature: Timid
To be honest I found this tutorial very helpful! I'm a beginner at this and I appreciate the help!
Reply With Quote
  #6    
Old May 6th, 2012, 05:59 PM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Quote:
Originally Posted by TheAgentBrandon View Post
To be honest I found this tutorial very helpful! I'm a beginner at this and I appreciate the help!
Glad I could help..... :D
__________________
Reply With Quote
  #7    
Old June 2nd, 2012, 06:10 PM
Renegade's Avatar
Renegade
Time for real life...
 
Join Date: Nov 2011
Location: United States
Gender: Male
Nature: Careful
Great tutorial! I will be sure to come to this thread if I need any help in the future.

I didn't see this command in your tutorial and is a working one.

Movesprite

Here it is:

#org $script
lock
faceplayer
message $t1
$t1 1 = Someone on your screen will\nnow be instantly moved.
boxset 6

Then comes the moving part of the script:

movesprite 0x01 0x02 0x04 (The sprite # to move, X Coords, Y Coords)

Then the ending:

release
end

NOTE: This is a bad command to use for 0xFF because it will make the player become off-center with the screen. You won't be able to get back to the middle.

*Sorry if this was already in the tutorial, I didn't see it *

Last edited by Renegade; June 2nd, 2012 at 06:27 PM. Reason: Your double post has been automatically merged.
Reply With Quote
  #8    
Old June 24th, 2012, 01:44 AM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Can mod close this please?
__________________
Reply With Quote
  #9    
Old October 28th, 2012, 09:46 PM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Ok, sorry for the double post but, I have made the tut to be primarily for XSE.

Hope, this tutorial would be helpful.
__________________
Reply With Quote
  #10    
Old October 28th, 2012, 11:15 PM
Lugia_Da_Boss's Avatar
Lugia_Da_Boss
Togepi
 
Join Date: Jun 2012
Gender: Male
This is the wild battle command, as if obvious from it's name(I ripped this from Moltres' code): setwildbattle 0x91 0x32 0x0. Anyway, I was wondering which of those values next to it decides what Pokemon you are battling, if any of them do. I need to know this stuff because I'm currently unsure of how to set up my own legendary battles.
Reply With Quote
  #11    
Old October 28th, 2012, 11:34 PM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Quote:
Originally Posted by Lugia_Da_Boss View Post
This is the wild battle command, as if obvious from it's name(I ripped this from Moltres' code): setwildbattle 0x91 0x32 0x0. Anyway, I was wondering which of those values next to it decides what Pokemon you are battling, if any of them do. I need to know this stuff because I'm currently unsure of how to set up my own legendary battles.
Here's the answer for that:

Setwildbattle is just like the normal wildbattle command.

Quote:
setwildbattle 0x(Pokemon no.) 0x(Level) 0x(Held item)
And you can use the dowildbattle command to trigger the command. You can still use the wildbattle command for Legendaries the only difference is in legendary wild pokemon battle there's this music that's going to be played.

Hope this helps.
__________________
Reply With Quote
  #12    
Old October 28th, 2012, 11:36 PM
Lugia_Da_Boss's Avatar
Lugia_Da_Boss
Togepi
 
Join Date: Jun 2012
Gender: Male
Quote:
Originally Posted by tajaros View Post
Here's the answer for that:

Setwildbattle is just like the normal wildbattle command.



And you can use the dowildbattle command to trigger the command. You can still use the wildbattle command for Legendaries the only difference is in legendary wild pokemon battle there's this music that's going to be played.

Hope this helps.
But, isn't Moltres' no. way above 91?
Reply With Quote
  #13    
Old October 28th, 2012, 11:39 PM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Quote:
Originally Posted by Lugia_Da_Boss View Post
But, isn't Moltres' no. way above 91?
Remember that it's in hex convert 0x91 to decimal, It will be 145 which is Moltres no. Use the table I posted above.
__________________
Reply With Quote
  #14    
Old October 28th, 2012, 11:42 PM
Lugia_Da_Boss's Avatar
Lugia_Da_Boss
Togepi
 
Join Date: Jun 2012
Gender: Male
Moltres' no. is 146 though...
Reply With Quote
  #15    
Old October 28th, 2012, 11:46 PM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Quote:
Originally Posted by Lugia_Da_Boss View Post
Moltres' no. is 146 though...
Yeah, I know that too. I used XSE to convert that and 0x91 is equal to 145. :/
__________________
Reply With Quote
  #16    
Old October 28th, 2012, 11:58 PM
Lugia_Da_Boss's Avatar
Lugia_Da_Boss
Togepi
 
Join Date: Jun 2012
Gender: Male
Quote:
Originally Posted by tajaros View Post
Yeah, I know that too. I used XSE to convert that and 0x91 is equal to 145. :/
But if it equals 145, how come I'm battling Moltres in the game, when he is 146?
Reply With Quote
  #17    
Old October 29th, 2012, 12:27 AM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Quote:
Originally Posted by Lugia_Da_Boss View Post
But if it equals 145, how come I'm battling Moltres in the game, when he is 146?
You already said you got Moltres ad Zapdos' script mixed up, so that might be the problem.
__________________
Reply With Quote
  #18    
Old October 29th, 2012, 12:30 AM
Lugia_Da_Boss's Avatar
Lugia_Da_Boss
Togepi
 
Join Date: Jun 2012
Gender: Male
Quote:
Originally Posted by tajaros View Post
You already said you got Moltres ad Zapdos' script mixed up, so that might be the problem.
I posted that ages before that conversation in the other thread where I realised the problem.
Reply With Quote
  #19    
Old November 5th, 2012, 08:40 PM
lcovenl
Unhatched Egg
 
Join Date: May 2010
Gender: Male
Thanks for this tutorial, just wanna ask if you can give an example of a script for a legendary battle that takes only once if you captured that legendary pokemon, thanks in advance,
Reply With Quote
  #20    
Old November 6th, 2012, 12:50 AM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Quote:
Originally Posted by lcovenl View Post
Thanks for this tutorial, just wanna ask if you can give an example of a script for a legendary battle that takes only once if you captured that legendary pokemon, thanks in advance,
What do you mean? Like a Legendary battle and disappears after battle? You can just use my Wildbattle script and set a flag it should work well.

Or you can use the setwildbattle command like how other legendaries are battled. I'll provide an example later on.
__________________
Reply With Quote
  #21    
Old November 6th, 2012, 05:09 PM
lcovenl
Unhatched Egg
 
Join Date: May 2010
Gender: Male
Quote:
Originally Posted by tajaros View Post
What do you mean? Like a Legendary battle and disappears after battle? You can just use my Wildbattle script and set a flag it should work well.

Or you can use the setwildbattle command like how other legendaries are battled. I'll provide an example later on.
What i mean is that
1. when i battle that pokemon an i kill that pokemon i can still fight it again.
2. when i was lost with that pokemon i can still fight it again.
3. when i captured it the pokemon will vanish forever.

you see i can't understand well the tutorial part of "compare".
Reply With Quote
  #22    
Old November 6th, 2012, 05:23 PM
Naruto200's Avatar
Naruto200
Togepi
 
Join Date: Oct 2012
Location: In a freaking house, where else lol
Gender: Male
Nature: Brave
Okay, I want to make a haunted house area like 'strange house' except for the moving furnature thing cause that's way too advanced.( and obviously very limited thanks to firered being the rom...)

What I want to do is I want it to play a floor creeking sound when you step on the tile, it plays the sound only when you walk on the tile and at no other time.
Reply With Quote
  #23    
Old November 7th, 2012, 01:25 AM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Quote:
Originally Posted by Naruto200 View Post
Okay, I want to make a haunted house area like 'strange house' except for the moving furnature thing cause that's way too advanced.( and obviously very limited thanks to firered being the rom...)

What I want to do is I want it to play a floor creeking sound when you step on the tile, it plays the sound only when you walk on the tile and at no other time.
Then use a script box in every tile, that should work... xD
__________________
Reply With Quote
  #24    
Old November 7th, 2012, 08:32 AM
Naruto200's Avatar
Naruto200
Togepi
 
Join Date: Oct 2012
Location: In a freaking house, where else lol
Gender: Male
Nature: Brave
lol it wouldn't be creepy if it played the sound on every tile. Besides, it's a 80 tall and 20 wide map ._. do you have any idea how long it's going to take completing it?

It's going to be a disturbing visit to a disturbing house for some unwary youtube membes.

Also whenever I try to do scripts in levels my game just freezes :/
even if it's just a simple follow me script....
Reply With Quote
  #25    
Old November 13th, 2012, 01:33 AM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Quote:
Originally Posted by Naruto200 View Post
lol it wouldn't be creepy if it played the sound on every tile. Besides, it's a 80 tall and 20 wide map ._. do you have any idea how long it's going to take completing it?

It's going to be a disturbing visit to a disturbing house for some unwary youtube membes.

Also whenever I try to do scripts in levels my game just freezes :/
even if it's just a simple follow me script....
Did you changed 0xffff with 0x0? It will work if you followed everything that I wrote there.
__________________
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 04:30 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.