PDA

View Full Version : [Scripting] Pokescript Tutorial


wingzro17
February 4th, 2008, 03:48 PM
Today I'm gonna teach how to use Irish Witch's Pokescript.
Thanks to most of the scripting tutorials here, I can now make advanced
scripts.

Intro
Well,Pokescript uses commands.It might be confusing,but what other way is there?
Scripting is what makes a hack a hack.

Compiling
Well after you make a script,save it as a .rbc file.
Example:
Myscript.rbc
Next,goto that file.Right click on it and click on compile script.
Then you'll see (LOG) Instant.
After everything is done,you'll see BUF RITE. Click on the blue book thing.
Then load your Rom. Once SEARCH is up,click on the little flashlight thing.
Now here is where you can choose to overwrite a script's offset or make a new space.
00 means overwrite. FF means new space. FF is usually in the 800000's
So then click the VERY FIRST offset.
Example:&H802C60 or &HD30C8D.
Goto the bottom.Now copy EVERYTHING EXECPT THE &H <---- part.
Now go click assign.Goto file,destination.Then select your ROM.
Then goto FILE,BURN.
You still got your offset?
YOU BETTER! Well then if you use A-MAP,If you add a new person,You'll see that
the offset(RIGHT ABOVE PEOPLE ID) is $000000. Now paste the offset over the
000000 ONLY. LEAVE the $ alone or just add it when you paste.MAKE SURE TO ALWAYS HAVE THE $ IN THE BEGINING OF EACH OFFSET IN A-MAP.


Making Text
This is the easiest kind of script.Some people like using A-text. WELL THIS IS BETTER.
So let's say you want someone to say this:
DUDE:Oh hi! How are you?How is your Pokemon?
Well let's start up by doing this:
#org $start
Thats ALWAYS in the begining of each script. $start can be anything like $dog or $me.
So let's go on to the next part:
lock
faceplayer

lock and faceplayer are usually important.
Lock stops the person if moving and faceplayer....well it makes him face you.

Now the next part.
message $text
boxset 6

The message $text is what you need to make text. Again,the $text can be anything.
boxset 6 means that the textbox is a regular textbox. ALWAYS PUT THAT IF YOU WANT A REGULAR TEXTBOX. boxset 5 is question,but we'll get to that later.

Now the last part:
release
end

Release releases the player and end of course...ends a script.
You may be asking WHERE IS THE TEXT?
Well we're not done yet.

Now here is the text:
#org $text
$text 1 = DUDE:Oh hi! How are you?n\How is your Pokemon?

So we usually put that on the bottom. Oh and \n means ither half of the textbox and \pmeans next textbox. USE THAT WHEN YOU USE ABOUT 15 CHARACTERS OR SO.
TRUST ME. THERE WILL BE A GLITCH IF YOU DON'T USE \n \p OFTEN.

So the whole script would look like this:
#org $start
lock
faceplayer
message $text
boxset 6
release
end

#org $text
$text 1 = DUDE:Oh hi! How are you?\nHow is your Pokemon?

So thats about it.

Now lets do wildbattles.

WILDBATTLES

Ok,so you want to make a level 5 bulbasaur battle you.
To make a cry do this
cry 1
Just put the POKEDEX NUMBER OF IT ONLY!
It doesn't work for me so lets move on.

wildbattle 1 5 0

1 stands for the Pokemon's number 5 is the level and 0 is the terrain.
I forgot the terrain numbers though. xP
Oh yea. Here are the list of Pokemon.

#define PKMN_MISSINGNO 0

'.-------------------------.
'| KANTO |
''-------------------------'
#define PKMN_BULBASAUR 1
#define PKMN_IVYSAUR 2
#define PKMN_VENUSAUR 3
#define PKMN_CHARMANDER 4
#define PKMN_CHARMELEON 5
#define PKMN_CHARIZARD 6
#define PKMN_SQUIRTLE 7
#define PKMN_WARTORTLE 8
#define PKMN_BLASTOISE 9
#define PKMN_CATERPIE 10
#define PKMN_METAPOD 11
#define PKMN_BUTTERFREE 12
#define PKMN_WEEDLE 13
#define PKMN_KAKUNA 14
#define PKMN_BEEDRILL 15
#define PKMN_PIDGEY 16
#define PKMN_PIDGEOTTO 17
#define PKMN_PIDGEOT 18
#define PKMN_RATTATA 19
#define PKMN_RATICATE 20
#define PKMN_SPEAROW 21
#define PKMN_FEAROW 22
#define PKMN_EKANS 23
#define PKMN_ARBOK 24
#define PKMN_PIKACHU 25

#define PKMN_RAICHU 26
#define PKMN_SANDSHREW 27
#define PKMN_SANDSLASH 28
#define PKMN_NIDORAN_F 29
#define PKMN_NIDORINA 30
#define PKMN_NIDOQUEEN 31
#define PKMN_NIDORAN_M 32
#define PKMN_NIDORINO 33
#define PKMN_NIDOKING 34
#define PKMN_CLEFAIRY 35
#define PKMN_CLEFABLE 36
#define PKMN_VULPIX 37
#define PKMN_NINETALES 38
#define PKMN_JIGGLYPUFF 39
#define PKMN_WIGGLYTUFF 40
#define PKMN_ZUBAT 41
#define PKMN_GOLBAT 42
#define PKMN_ODDISH 43
#define PKMN_GLOOM 44
#define PKMN_VILEPLUME 45
#define PKMN_PARAS 46
#define PKMN_PARASECT 47
#define PKMN_VENONAT 48
#define PKMN_VENOMOTH 49
#define PKMN_DIGLETT 50

#define PKMN_DUGTRIO 51
#define PKMN_MEOWTH 52
#define PKMN_PERSIAN 53
#define PKMN_PSYDUCK 54
#define PKMN_GOLDUCK 55
#define PKMN_MANKEY 56
#define PKMN_PRIMEAPE 57
#define PKMN_GROWLITHE 58
#define PKMN_ARCANINE 59
#define PKMN_POLIWAG 60
#define PKMN_POLIWHIRL 61
#define PKMN_POLIWRATH 62
#define PKMN_ABRA 63
#define PKMN_KADABRA 64
#define PKMN_ALAKAZAM 65
#define PKMN_MACHOP 66
#define PKMN_MACHOKE 67
#define PKMN_MACHAMP 68
#define PKMN_BELLSPROUT 69
#define PKMN_WEEPINBELL 70
#define PKMN_VICTREEBEL 71
#define PKMN_TENTACOOL 72
#define PKMN_TENTACRUEL 73
#define PKMN_GEODUDE 74
#define PKMN_GRAVELER 75

#define PKMN_GOLEM 76
#define PKMN_PONYTA 77
#define PKMN_RAPIDASH 78
#define PKMN_SLOWPOKE 79
#define PKMN_SLOWBRO 80
#define PKMN_MAGNEMITE 81
#define PKMN_MAGNETON 82
#define PKMN_FARFETCHED 83
#define PKMN_DODUO 84
#define PKMN_DODRIO 85
#define PKMN_SEEL 86
#define PKMN_DEWGONG 87
#define PKMN_GRIMER 88
#define PKMN_MUK 89
#define PKMN_SHELLDER 90
#define PKMN_CLOYSTER 91
#define PKMN_GASTLY 92
#define PKMN_HAUNTER 93
#define PKMN_GENGAR 94
#define PKMN_ONIX 95
#define PKMN_DROWZEE 96
#define PKMN_HYPNO 97
#define PKMN_KRABBY 98
#define PKMN_KINGLER 99
#define PKMN_VOLTORB 100

#define PKMN_ELECTRODE 101
#define PKMN_EXEGGCUTE 102
#define PKMN_EXEGGUTOR 103
#define PKMN_CUBONE 104
#define PKMN_MAROWAK 105
#define PKMN_HITMONLEE 106
#define PKMN_HITMONCHAN 107
#define PKMN_LICKITUNG 108
#define PKMN_KOFFING 109
#define PKMN_WEEZING 110
#define PKMN_RHYHORN 111
#define PKMN_RHYDON 112
#define PKMN_CHANSEY 113
#define PKMN_TANGELA 114
#define PKMN_KANGASKHAN 115
#define PKMN_HORSEA 116
#define PKMN_SEADRA 117
#define PKMN_GOLDEEN 118
#define PKMN_SEAKING 119
#define PKMN_STARYU 120
#define PKMN_STARMIE 121
#define PKMN_MR_MIME 122
#define PKMN_SCYTHER 123
#define PKMN_JYNX 124
#define PKMN_ELECTABUZZ 125

#define PKMN_MAGMAR 126
#define PKMN_PINSIR 127
#define PKMN_TAUROS 128
#define PKMN_MAGIKARP 129
#define PKMN_GYARADOS 130
#define PKMN_LAPRAS 131
#define PKMN_DITTO 132
#define PKMN_EEVEE 133
#define PKMN_VAPOREON 134
#define PKMN_JOLTEON 135
#define PKMN_FLAREON 136
#define PKMN_PORYGON 137
#define PKMN_OMANYTE 138
#define PKMN_OMASTAR 139
#define PKMN_KABUTO 140
#define PKMN_KABUTOPS 141
#define PKMN_AERODACTYL 142
#define PKMN_SNORLAX 143
#define PKMN_ARTICUNO 144
#define PKMN_ZAPDOS 145
#define PKMN_MOLTRES 146
#define PKMN_DRATINI 147
#define PKMN_DRAGONAIR 148
#define PKMN_DRAGONITE 149
#define PKMN_MEWTWO 150

#define PKMN_MEW 151

'.-------------------------.
'| JOHTO |
''-------------------------'
#define PKMN_CHIKORITA 152
#define PKMN_BAYLEEF 153
#define PKMN_MEGANIUM 154
#define PKMN_CYNDAQUIL 155
#define PKMN_QUILAVA 156
#define PKMN_TYPHLOSION 157
#define PKMN_TOTODILE 158
#define PKMN_CROCONAW 159
#define PKMN_FERALIGATR 160
#define PKMN_SENTRET 161
#define PKMN_FURRET 162
#define PKMN_HOOTHOOT 163
#define PKMN_NOCTOWL 164
#define PKMN_LEDYBA 165
#define PKMN_LEDIAN 166
#define PKMN_SPINARAK 167
#define PKMN_ARIADOS 168
#define PKMN_CROBAT 169
#define PKMN_CHINCHOU 170
#define PKMN_LANTURN 171
#define PKMN_PICHU 172
#define PKMN_CLEFFA 173
#define PKMN_IGGLYBUFF 174
#define PKMN_TOGEPI 175

#define PKMN_TOGETIC 176
#define PKMN_NATU 177
#define PKMN_XATU 178
#define PKMN_MAREEP 179
#define PKMN_FLAAFFY 180
#define PKMN_AMPHAROS 181
#define PKMN_BELLOSSOM 182
#define PKMN_MARILL 183
#define PKMN_AZUMARILL 184
#define PKMN_SUDOWOODO 185
#define PKMN_POLITOED 186
#define PKMN_HOPPIP 187
#define PKMN_SKIPLOOM 188
#define PKMN_JUMPLUFF 189
#define PKMN_AIPOM 190
#define PKMN_SUNKERN 191
#define PKMN_SUNFLORA 192
#define PKMN_YANMA 193
#define PKMN_WOOPER 194
#define PKMN_QUAGSIRE 195
#define PKMN_ESPEON 196
#define PKMN_UMBREON 197
#define PKMN_MURKROW 198
#define PKMN_SLOWKING 199
#define PKMN_MISDREAVUS 200

#define PKMN_UNOWN 201
#define PKMN_WOBBUFFET 202
#define PKMN_GIRAFARIG 203
#define PKMN_PINECO 204
#define PKMN_FORRETRESS 205
#define PKMN_DUNSPARCE 206
#define PKMN_GLIGAR 207
#define PKMN_STEELIX 208
#define PKMN_SNUBBULL 209
#define PKMN_GRANBULL 210
#define PKMN_QWILFISH 211
#define PKMN_SCIZOR 212
#define PKMN_SHUCKLE 213
#define PKMN_HERACROSS 214
#define PKMN_SNEASEL 215
#define PKMN_TEDDIURSA 216
#define PKMN_URSARING 217
#define PKMN_SLUGMA 218
#define PKMN_MAGCARGO 219
#define PKMN_SWINUB 220
#define PKMN_PILOSWINE 221
#define PKMN_CORSOLA 222
#define PKMN_REMORAID 223
#define PKMN_OCTILLERY 224
#define PKMN_DELIBIRD 225

#define PKMN_MANTINE 226
#define PKMN_SKARMORY 227
#define PKMN_HOUNDOUR 228
#define PKMN_HOUNDOOM 229
#define PKMN_KINGDRA 230
#define PKMN_PHANPY 231
#define PKMN_DONPHAN 232
#define PKMN_PORYGON2 233
#define PKMN_STANTLER 234
#define PKMN_SMEARGLE 235
#define PKMN_TYROGUE 236
#define PKMN_HITMONTOP 237
#define PKMN_SMOOCHUM 238
#define PKMN_ELEKID 239
#define PKMN_MAGBY 240
#define PKMN_MILTANK 241
#define PKMN_BLISSEY 242
#define PKMN_RAIKOU 243
#define PKMN_ENTEI 244
#define PKMN_SUICUNE 245
#define PKMN_LARVITAR 246
#define PKMN_PUPITAR 247
#define PKMN_TYRANITAR 248
#define PKMN_LUGIA 249
#define PKMN_HO-OH 250

#define PKMN_CELEBI 251

'.-------------------------.
'| HOENN |
''-------------------------'
#define PKMN_TREECKO 277
#define PKMN_GROVYLE 278
#define PKMN_SCEPTILE 279
#define PKMN_TORCHIC 280
#define PKMN_COMBUSKEN 281
#define PKMN_BLAZIKEN 282
#define PKMN_MUDKIP 283
#define PKMN_MARSHTOMP 284
#define PKMN_SWAMPERT 285
#define PKMN_POOCHYENA 286
#define PKMN_MIGHTYENA 287
#define PKMN_ZIGZAGOON 288
#define PKMN_LINOONE 289
#define PKMN_WURMPLE 290
#define PKMN_SILCOON 291
#define PKMN_BEAUTIFLY 292
#define PKMN_CASCOON 293
#define PKMN_DUSTOX 294
#define PKMN_LOTAD 295
#define PKMN_LOMBRE 296
#define PKMN_LUDICOLO 297
#define PKMN_SEEDOT 298
#define PKMN_NUZLEAF 299
#define PKMN_SHIFTRY 300

#define PKMN_NINCADA 301
#define PKMN_NINJASK 302
#define PKMN_SHEDINJA 303
#define PKMN_TAILLOW 304
#define PKMN_SWELLOW 305
#define PKMN_SHROOMISH 306
#define PKMN_BRELOOM 307
#define PKMN_SPINDA 308
#define PKMN_WINGULL 309
#define PKMN_PELIPPER 310
#define PKMN_SURSKIT 311
#define PKMN_MASQUERAIN 312
#define PKMN_WAILMER 313
#define PKMN_WAILORD 314
#define PKMN_SKITTY 315
#define PKMN_DELCATTY 316
#define PKMN_KECLEON 317
#define PKMN_BALTOY 318
#define PKMN_CLAYDOL 319
#define PKMN_NOSEPASS 320
#define PKMN_TORKOAL 321
#define PKMN_SABLEYE 322
#define PKMN_BARBOACH 323
#define PKMN_WHISCASH 324
#define PKMN_LUVDISC 325

#define PKMN_CORPHISH 326
#define PKMN_CRAWDAUNT 327
#define PKMN_FEEBAS 328
#define PKMN_MILOTIC 329
#define PKMN_CARVANHA 330
#define PKMN_SHARPEDO 331
#define PKMN_TRAPINCH 332
#define PKMN_VIBRAVA 333
#define PKMN_FLYGON 334
#define PKMN_MAKUHITA 335
#define PKMN_HARIYAMA 336
#define PKMN_ELECTRIKE 337
#define PKMN_MANECTRIC 338
#define PKMN_NUMEL 339
#define PKMN_CAMERUPT 340
#define PKMN_SPHEAL 341
#define PKMN_SEALEO 342
#define PKMN_WALREIN 343
#define PKMN_CACNEA 344
#define PKMN_CACTURNE 345
#define PKMN_SNORUNT 346
#define PKMN_GLALIE 347
#define PKMN_LUNATONE 348
#define PKMN_SOLROCK 349
#define PKMN_AZURILL 350

#define PKMN_SPOINK 351
#define PKMN_GRUMPIG 352
#define PKMN_PLUSLE 353
#define PKMN_MINUN 354
#define PKMN_MAWILE 355
#define PKMN_MEDITITE 356
#define PKMN_MEDICHAM 357
#define PKMN_SWABLU 358
#define PKMN_ALTARIA 359
#define PKMN_WYNAUT 360
#define PKMN_DUSKULL 361
#define PKMN_DUSCLOPS 362
#define PKMN_ROSELIA 363
#define PKMN_SLAKOTH 364
#define PKMN_VIGOROTH 365
#define PKMN_SLAKING 366
#define PKMN_GULPIN 367
#define PKMN_SWALOT 368
#define PKMN_TROPIUS 369
#define PKMN_WHISMUR 370
#define PKMN_LOUDRED 371
#define PKMN_EXPLOUD 372
#define PKMN_CLAMPERL 373
#define PKMN_HUNTAIL 374
#define PKMN_GOREBYSS 375

#define PKMN_ABSOL 376
#define PKMN_SHUPPET 377
#define PKMN_BANETTE 378
#define PKMN_SEVIPER 379
#define PKMN_ZANGOOSE 380
#define PKMN_RELICANTH 381
#define PKMN_ARON 382
#define PKMN_LAIRON 383
#define PKMN_AGGRON 384
#define PKMN_CASTFORM 385
#define PKMN_VOLBEAT 386
#define PKMN_ILLUMISE 387
#define PKMN_LILEEP 388
#define PKMN_CRADILY 389
#define PKMN_ANORITH 390
#define PKMN_ARMALDO 391
#define PKMN_RALTS 392
#define PKMN_KIRLIA 393
#define PKMN_GARDEVOIR 394
#define PKMN_BAGON 395
#define PKMN_SHELGON 396
#define PKMN_SALAMENCE 397
#define PKMN_BELDUM 398
#define PKMN_METANG 399
#define PKMN_METAGROSS 400

#define PKMN_REGIROCK 401
#define PKMN_REGICE 402
#define PKMN_REGISTEEL 403
#define PKMN_KYOGRE 404
#define PKMN_GROUDON 405
#define PKMN_RAYQUAZA 406
#define PKMN_LATIAS 407
#define PKMN_LATIOS 408
#define PKMN_JIRACHI 409
#define PKMN_DEOXYS 410
#define PKMN_CHIMECHO 411


So there is the list.
The script would look like:
#org $battle
lock
faceplayer
message $roar
boxset 6
wildbattle 1 5 0
release
end

#org $roar
$roar 1 = Bulbasaur:Bul..Bulba!


So now what?
Giving Pokemon? Or movement?
Meh.I'll go with giving.I don't wanna type right now.

Giving Pokemon

Well here is the command
givepokemon 1 5 0

Your going to have to use that list above again.

So it would look like:
#org $give
lock
faceplayer
checkflag 0x200
if B_true goto $hi
message $give
boxset 6
givepokemon 1 5 0
setflag 0x200
setflag 0x828
release
end

#org $hi
message $yo
boxset 6
release
end

#org $give
$give 1 = Oh \v\h01! Take this!\n\v\h01 recieved a Bulbasaur!

#org $yo
$yo 1 = Oh,hi \v\h01!


Now flags keep on things from repeating.
The basic flag commands are:
checkflag setflag clearflag
checkflag checks if it has been done or not.
setflag makes it so that the flag has happened
clearflag is the opposite of checkflag.


setflag 0x828 gives the Pokemon menu (but you need to give one first)
setflag 0x829 gives the Pokedex menu in FR/LG


Well now thats over...we'll do movements.

Movements

Well movements are kinda complicated for some newbies. If you get used to it,it'll be easy!
Well lest start off with the begining.

First do this
#org $start
checkflag 0x???
if B_true goto $release

So we DON'T use lock and faceplayer.
Checkflag 0x??? can be anything. Just remember to set the exact same flag later and don't use the same flag over and over again. I'll put the the flag section later.
Now for the next command.

applymovement 0x?? $move

Applymovement moves the player and $move is the offset or..some..er.. uh.. lets just call it an offset. well you have to put the EXACT same offset on the bottom if you change it.
?? stands for the person's number on A-map.
Next part.

pause 0x20
message $forgot
boxset 6
setflag 0x???
release
end

Everything else is about the same.
Pause pauses the script until the moving person has taken 2 steps. 0x30 would be 3 and
0x10 would be 1 and so on.

#org $release
release
end

Your wondering why it is just a release
end. Well if we step on something,we don't wanna the screen to pop up and say:
MOM:Hi honey!
lol.

Anyway,here is the next part.
#org $move
$move 1 ; #binary 0x12 0x12 0xFE

Now ; is the same as =, so don't worry.
#binary means .... well I do't really know ALL of this stuff so...
any way it means some kind of movement.
0x12 means move left. 0xFE ALWAYS IS AT THE END OF EACH MOVEMENT.

Here are the list of movements in Fire Red:
[' Specials
0x4A ' Face player
0x4B ' Face against player
0x60 ' Disappear (removes the sprite, but the person can still be interacted with)
0x62 ' "!" pops up
0x63 ' "?" pops up
0x64 ' "X" pops up (vs-seeker cant fight)
0x65 ' "!!" pops up (vs-seeker can fight)
0x66 ' "" pops up

' walking
0x01 ' step Up0
0x02 ' step Left0
0x03 ' step Right0
0x04 ' step Down0
0x08 ' step down1
0x09 ' step up1
0x0A ' step left1
0x0B ' step right1
0x0C ' step down2
0x0D ' step up2
0x0E ' step left2
0x0F ' step right2
0x10 ' step down3
0x11 ' step up3
0x12 ' step left3
0x13 ' step right3
0x1D ' step down4
0x1E ' step up4
0x1F ' step left4
0x20 ' step right4

' jump in place looking where it says
0x52 ' jump0 down
0x53 ' jump0 up
0x54 ' jump0 left
0x55 ' jump0 right

' jump in place looking in the order it says
0x56 ' jump0 down/up
0x57 ' jump0 up/down
0x58 ' jump0 left/right
0x59 ' jump0 right/left

' Jump Direction
0x4E ' jump1 down
0x4F ' jump1 up
0x50 ' jump1 left
0x51 ' jump1 right

0x14 ' jump2 down
0x15 ' jump2 up
0x16 ' jump2 left
0x17 ' jump2 right

0x46 ' jumpLookingLeft1 down
0x47 ' jumpLookingDown1 up (jump backwards)
0x48 ' jumpLookingUp1 left
0x49 ' jumpLookingLeft right (jump backwards)

So it would look like this:
#org $start
checkflag 0x???
if B_true goto $release
applymovement 0x01 $move
pause 0x20
message $forgot
boxset 6
setflag 0x???
release
end

#org $release
release
end

#org $move
$move 1 ; #binary 0x12 0x12 0xFE

#org $forgot
$forgot 1 = MOM:Honey! Aren't you supposed\nto get a Pokemon from\pPROF.OAK?

Remember \n FIRST \p NEXT and keep on using it. For example:
hi! \nyo! \pwazzup! \nWeird.

Now in A-map, when use the GREEN script box, on the top of the thing where it says offset,
there is the 1st unkown,var number,var value,then the 2nd unkown.
I have no clue what they are,but for the 1st unkown write 03 00 then on the var NUMBER write 50 40.
That'll stop your script from freezing.

Flags
Flags are what stop scripts from repeating. It's ok to use 0x200 to like 500 or something.
Try not to use the 0x800's.
Use checkflag 0x??? to check the flag you want.
Make sure to use B_true if it already happend or B_false if it did happen.
So
checkflag 0x???
if B_true/false goto $???

YES/NO
To make a yes/no question, you need to chenge boxset 6 to 5.
so boxset 5.
After that you have to put this:
compare LASTRESULT 1
Then you write:
If B_false/true goto $??
So if yes or if you want it to goto no,goto $offset or whatever it is.
So the whole scirpt would look like this:
#org $start
lock
faceplayer
message $doyou
boxset 5
comapre LASTRESULT 1
if B_true goto $ha
message $no
boxset 6
release
end

#org $ha
message $lol
boxset 6
release
end

#org $doyou
$doyou 1 = Are you a bad hacker?

#org $lol
$lol 1 = Hahahahahah!\nHe's laughing so hard...

#org $no
$no 1 = Oh sure you aren't.

So thats the boxset YES_NO or something like that. Those kinds of things are like for very,very advanced scripters.Mabye.

Pokepal2007
February 10th, 2008, 09:27 AM
Nice tut this has helped me thamks

/Circa
February 11th, 2008, 12:12 AM
I noticed quite a few errors in your tutorial, though i'm not going to go over all of them, just some basic ones, I consider revising your tutorial.

One is, you used setflag 0x828 after you got your pokemon, you need it before you get it or the pokemon wont register or it'll stuff up, that happens to me atleast.

And in your sentences, you used \n as:
Hello! \nHow are you?

That'll just appear as normal, you either start your sentence right after the = or you put a space before the next sentence.

Hello!\n How are you?

Do you get it?

wingzro17
February 11th, 2008, 03:44 PM
I noticed quite a few errors in your tutorial, though i'm not going to go over all of them, just some basic ones, I consider revising your tutorial.

One is, you used setflag 0x828 after you got your pokemon, you need it before you get it or the pokemon wont register or it'll stuff up, that happens to me atleast.

And in your sentences, you used \n as:
Hello! \nHow are you?

That'll just appear as normal, you either start your sentence right after the = or you put a space before the next sentence.

Hello!\n How are you?

Do you get it?

Thanks for pointing it out.

iPredator
February 11th, 2008, 11:18 PM
Thanks but how do i hack, where do i start

I want to make a good game so you guys can play

bitter_doom
February 12th, 2008, 04:19 AM
heyy uhmm im not sure whats going wrong, but when i do it, it just comes up with a small box up the top of the screen then crashes, im not sure what it is anyhelp?? please pm me then

iPredator
February 12th, 2008, 08:43 AM
its really difficult might aswell let the pros do it

derv1205
February 12th, 2008, 10:46 AM
heyy uhmm im not sure whats going wrong, but when i do it, it just comes up with a small box up the top of the screen then crashes, im not sure what it is anyhelp?? please pm me then
You can post your script so we can help you

bitter_doom
February 12th, 2008, 01:28 PM
well heres my script....


#org $start
lock
faceplayer
message $text
boxset 6
release
end

#org $text
$text 1 = testing

Jack of Bl♠des
February 12th, 2008, 03:33 PM
This is a pretty nice tutorial. It's simple, easy to understand, and looks like there will be many improvements. I can't wait to see the movement commands for Ruby/Sapphire.

derv1205
February 12th, 2008, 05:10 PM
well heres my script....


#org $start
lock
faceplayer
message $text
boxset 6
release
end

#org $text
$text 1 = testing
Uhmm, the script is correct ... What appears exactly?

And, i dont think this will help, but you can put it like this:
#org $start
lock
faceplayer
message $text
$text 1 = testing
boxset 6
release
end

/Circa
February 12th, 2008, 09:46 PM
Sometimes it's where you put the script, and for someone reason some scripts dont work with the $start command, mine never did. But it sometimes also depends on the rom, are you using Ruby or FireRed? The script looked fine though :l.

DeadlySplash
February 13th, 2008, 04:27 AM
I'm having trouble. When I use your Yes/No script, I'm not changing anything in it but when I give it to a guy in my game, he asks "Are you a bad hacker?" and then no matter what I pick, yes or no, the "Are you a bad hacker?" message stays on the screen, even when I can walk away. What am I doing wrong?

BTW it's Pokemon Sapphire I'm hacking, not FR/LG.

mackoo
February 14th, 2008, 11:28 AM
Oh, the tutorial is good, I'm compiling everything good, but why this still happens?
http://i25.tinypic.com/11r4y9z.png
Please, reply it. I don't know what to do. Do I need to put all scripts in a speciall folder special named, or is it something with ROM? Please help...

TB Pro
February 14th, 2008, 06:34 PM
Oh, the tutorial is good, I'm compiling everything good, but why this still happens?
http://i25.tinypic.com/11r4y9z.png
Please, reply it. I don't know what to do. Do I need to put all scripts in a speciall folder special named, or is it something with ROM? Please help...

We can't fix anything withoutm the script man.......

mackoo
February 14th, 2008, 11:23 PM
This was just a simple script for test:
#org $begin
lock
faceplayer
message $howareyou
$howareyou 1 =Hey \v\h01!\nHows your journey going?
boxset 6
release
end
But it happens with everyone.
Do I need to use special version of Ruby (us/e) - or better, what version are you using. Do I need to story every sctipts in special folder, or better where are you storing yours. I think, this can only help, because scripts are ok, and they're good compiled - this is what happens after "burn":
http://i31.tinypic.com/wmlbif.png
Maybe this is solving a problem?

wingzro17
February 15th, 2008, 07:52 AM
This was just a simple script for test:
#org $begin
lock
faceplayer
message $howareyou
$howareyou 1 =Hey \v\h01!\nHows your journey going?
boxset 6
release
end
But it happens with everyone.
Do I need to use special version of Ruby (us/e) - or better, what version are you using. Do I need to story every sctipts in special folder, or better where are you storing yours. I think, this can only help, because scripts are ok, and they're good compiled - this is what happens after "burn":
Maybe this is solving a problem?

$howareyou 1 =Hey \v\h01!\nHows your journey going?
Try putting a space between like this
$howareyou 1 = Hey \v\h01!\nHows your journey going?
If you have a problem with compiling, I suggest re-installing pokescript.

qwerty10
April 2nd, 2008, 04:23 PM
heyy uhmm im not sure whats going wrong, but when i do it, it just comes up with a small box up the top of the screen then crashes, im not sure what it is anyhelp?? please pm me then

Same thing happens to me. I get a small box in the top right and freezes. It is not the script because I copied and pasted the first complete script, just to see if it works, and followed everything step by step at least 7 different times, and still ended freezing.

danoftheworld
May 1st, 2008, 09:05 AM
Thanks for the tut. Helpful ;)

KatLee
May 17th, 2008, 07:32 AM
Uh, I want to change to text that professor Oak says at the beginning of fire red when you start out and he tells you about pokemon... how do I do that?

Mortar
May 17th, 2008, 09:03 AM
Uh, I want to change to text that professor Oak says at the beginning of fire red when you start out and he tells you about pokemon... how do I do that?

Use the program called Advance-Text.

Jawash
May 18th, 2008, 05:57 PM
ok i altered your wild battle script slightly and it works perfect.
i just want o know how to gwt the roar to actually happen...
and i've tried other tutorials in altering the fadescreen 0 effect =,='
didn't do it right, so i'm going to settle for this and a roar ;]
plz!!

Lass_Ness
February 22nd, 2012, 05:10 PM
Heeeey. Still can't compile script, despite reinstalling pokescript a few times and making sure Pokescript ad PkmnAdv are both saved to 'Pokewitch'. Can anybody help please?

shadowdragon17
March 21st, 2012, 02:23 PM
In Ruby version, I can get my sprites to move, but I want them to disappear after (like they walk down some stairs or through a door). How do I do this?

tajaros
May 1st, 2012, 02:39 AM
In Ruby version, I can get my sprites to move, but I want them to disappear after (like they walk down some stairs or through a door). How do I do this?

First you need to download the latest Pokescript so you can use the removesprite code. Then set flags for the person..

Ex.
removesprite - removes the sprite from the map
First you need to now the person event number for example
the sign post lady in Pallet Town is person event no: 1 in order to
remove her input this removesprite 1 the number varies on the person event no.
now for a realistic effect you can put fadescreen before the removesprite code
fadescreen - fades the screen for effect
there are types of fadescreen but the two main types are
fadescreen 1 and fadescreen 0
and for it to never happen again you need to input a flag...

Now for flags
checkflag 0x120 <- Checks the flag if already happen
setflag 0x120 <- set's the flag\make's the flag happen

Next go to advance map now you can see the Person ID
replace it with the flag you set...
setflag 0x120 = $0120

And that's it......
oh and for the door sound here it is
Fire Red version only...
playsound - plays the sound you want via hex
playsound 0x8 <- Door sound
playsound 0x9 <- Stair sound
and also put nop on the next line so it will look like this

playsound 0x8
nop

put it after the applymovement script or anything else xDDDDD
oh almost forgot the playsound hex code is for Pokemon FireRed version
so just search the ruby hex sounds on google but i rather prefer you use FireRed because the commands for it are wide spread for much convenience...

NOTE: ONLY FOR THE LATEST POKESCRIPT DATABASE you can download it from either GOOGLE or Irish Witch's site....

I'll give you a sample script

#org $script
lock
faceplayer
checkflag 0x120
message $gone
$gone 1 = I can become invisible.
boxset 6
removesprite 1
setflag 0x120
release
end

put this script to the person event no. 1 in your map and see if it worked.

Mr.Luigi
May 5th, 2012, 11:21 AM
No matter what I try, the person that I set this script to won't respond at all when I face them and press "A." Any ideas on how to fix this in FireRed would be greatly appreciated.

#org $script
lock
faceplayer
checkflag 0x1200
if b_true goto $alreadygotone
message $wantpoke
$wantpoke 1 =Hey,\nit's dangerous out there.\pTake this Machop.
boxset 6
givepokemon 0x42 0x5 0x0
message $received
$received 1 = [PLAYER] received Machop!
boxset 6
setflag 0x1200
message $pokedex
$pokedex 1 = Here! \nTake this Pokédex, too!
boxset 6
setflag 0x828
setflag 0x829
message $recieved1
$recieved1 1 = [PLAYER] recieved the Pokédex!
boxset 6
message $gsball
$gsball 1 = Here's the GS Ball you needed.
boxset 6
setflag 0x825
message $recieved2
$recieved2 1 = [PLAYER] recieved the GS Ball!
boxset 6
message $league
$league 1 = You should challenge the \nOrange League!
boxset 6
setvar 0x6000 0x0001
release
end

#org $alreadygotone
lock
faceplayer
message $howsit
$howsit 1 =How are you and Machop?
boxset 6
release
end

tajaros
May 6th, 2012, 02:43 AM
No matter what I try, the person that I set this script to won't respond at all when I face them and press "A." Any ideas on how to fix this in FireRed would be greatly appreciated.

#org $script
lock
faceplayer
checkflag 0x1200
if b_true goto $alreadygotone
message $wantpoke
$wantpoke 1 =Hey,\nit's dangerous out there.\pTake this Machop.
boxset 6
givepokemon 0x42 0x5 0x0
message $received
$received 1 = [PLAYER] received Machop!
boxset 6
setflag 0x1200
message $pokedex
$pokedex 1 = Here! \nTake this Pokédex, too!
boxset 6
setflag 0x828
setflag 0x829
message $recieved1
$recieved1 1 = [PLAYER] recieved the Pokédex!
boxset 6
message $gsball
$gsball 1 = Here's the GS Ball you needed.
boxset 6
setflag 0x825
message $recieved2
$recieved2 1 = [PLAYER] recieved the GS Ball!
boxset 6
message $league
$league 1 = You should challenge the \nOrange League!
boxset 6
setvar 0x6000 0x0001
release
end

#org $alreadygotone
lock
faceplayer
message $howsit
$howsit 1 =How are you and Machop?
boxset 6
release
end

Here's a Working script...

#org $script
lock
faceplayer
checkflag 0x1200
if b_true goto $alreadygotone
message $wantpoke
$wantpoke 1 =Hey,\nit's dangerous out there.\pTake this Machop.
boxset 6
givepokemon 66 5 0
fanfare 0x13E
message $received
$received 1 = \v\h01 received Machop!
boxset 6
waitfanfare
message $pokedex
$pokedex 1 = Here!\nTake this Pokédex, too!
boxset 6
fanfare 0x13E
message $recieved1
$recieved1 1 = \v\h01 recieved the Pokédex!
boxset 6
waitfanfare
message $gsball
$gsball 1 = Here's the GS Ball you needed.
boxset 6
fanfare 0x13E
message $recieved2
$recieved2 1 = \v\h01 recieved the GS Ball!
boxset 6
waitfanfare
message $league
$league 1 = You should challenge the\nOrange League!
boxset 6
setflag 0x828
setflag 0x829
setflag 0x1200
release
end

#org $alreadygotone
message $howsit
$howsit 1 =How are you and Machop?
boxset 6
release
end

Isn't setflag 0x825 a badge flag
and you must only use setvar to script boxes....
and you already have lock and faceplayer twice....
Hope this helps.... :)

Mr.Luigi
May 6th, 2012, 08:00 AM
Yes, that flag is for the soul badge. There are only 4 badges in the orange league and i needed to use surf outside of battle.
Anyway, thanks for helping, I "copy-paste-d" your script, but the person still doesn't respond at all to facing and pressing "A." The sound that you hear when you scroll through the messages sounds every time i press "A," but no message pops up, the person doesn't face, and I can still move.
If it's not fixable, oh well, I'll have to deal with it.

tajaros
May 6th, 2012, 06:04 PM
@Mr.Luigi
I found the Problem you did not put in a space in the first message
-message $wantpoke
$wantpoke 1 =Hey,\nit's dangerous out there.\pTake this Machop.
boxset 6

Should be like this
message $wantpoke
$wantpoke 1 = Hey,\nit's dangerous out there.\pTake this Machop.
boxset 6

:)

PokemonGiratinaX
June 25th, 2012, 07:30 AM
How to make a script for Updating Pokedex in FireRed ?
PS : Sorry if you can't understand.

noah0155
August 15th, 2012, 03:58 PM
#org $script
setvar 0x6001 0x00001
applymovement 3 $oh
$oh 1 ; #binary 0x62 0x13 0xFE
pausemove 0
setflag 0x2000
setflag 0x1215
message $guy
$guy 1 = Hey kid you can't pass\nBy you need\pTo Get a POKEMON from Prof.\nOak!
boxset 6
applymovement 3 $idk
$idk 1 ; #binary 0x62 0x60 0xFE
pausemove 0
message $2
$2 1 = Oh you got a POKEMON here\nYou go\pThen!
boxset 6
setmaptile 0xD 0x27 0xE7 0x1
release
end

check out my sig for a download of my beta of POKEMON FLAMING FIRE!

Aeolus Gaming
December 8th, 2013, 09:01 PM
I am new to scripting, but since I followed everything in the video I watched, I don't think I made an error. I made the script and compiled it, then burned it into the rom, and gave the offset to one of the people in Pallet Town. When I go into the game and talk to said character, My player is locked, and so is the other character, but there is no message whatsoever, and the rest of the game still runs (the other people walk around, the flowers animate, and the music plays).

Here is the code (just in case):

#org $techey
lock
faceplayer
massage $tech
$tech 1 = Insert message here.
boxset 6
release
end

karatekid552
December 9th, 2013, 05:26 AM
Please don't revive threads on out of date hacking techniques. Pokescript was to put to rest a long time ago. Go see tutorials for PKSVUI or XSE. I have used both and they are much more robust.

I personally use XSE and the latest version can be found on Gamer2020's tools thread. Diegoisawesome also has a great tutorial for it.

Closed.

~karatekid552

Edit: I know the thread revival limit doesn't apply here, however, I am doing you a favor because if you needed any help, no one would help you. If you post in the Script Help Thread using Pokescript, people will ignore you or tell you to use XSE. It is just the way of hacking.