Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page [Tutorial] Spenceroone3's Scripting Tutorial

Notices
For all updates, view the main page.

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.



Closed Thread
 
Thread Tools
  #1    
Old October 31st, 2007 (09:37 PM). Edited June 21st, 2008 by spenceroone3.
spenceroone3's Avatar
spenceroone3 spenceroone3 is offline
<he eats lots of burgers.
Team Kanto
 
Join Date: Aug 2007
Location: In your closet
Gender:
Nature: Hasty
Posts: 215
Send a message via Windows Live Messenger to spenceroone3
Intro: This is all done on Pokescript, my favorite working compiler!! I thought of making this tut to help people. Yes, I know that Irish Witch, Foullump, and Semele have all made their tutorials, and I thought of making my own. I wrote this up all in my spare time, it is time I put it to good use!

Table of Contents
1. Simple talking script
Compiling
2. Yes/No script
3. Movement scripts
4. Giveitem scripts
5. Givepokemon scripts
6. Flags
7. Warps
8. Randomization
9. Text colour
10. Weather
11. Wildbattles
12. Gender/Sex

Tutorial One: Simple talking script!
First open note pad and write this down:
Code:
#org $Showtext
That will start the script. the $ sign goes in front off all offsets.
Then do this:
Code:
lock
faceplayer
That makes the person who you are talking to turn to face you. If they are the type that looks around, or walks around, lock keeps them in place.
Now onto the message:
Code:
message $Hello
$Hello 1 = How ya going?\pGood? That's awesome!!
boxset 6
Remember the $ sign goes in front of all offsets. You can make any type of talking script just by editing the talking part. /p means new paragraph, /n means next line, and /l is a new paragraph but with a different effect to the /p one. Boxset 6 is the type of Message box it is in. Boxset 6 is the normal text box. Boxset 5 is the Yes/No textbox.
Now we better end this script:
Code:
release
end
Release is the opposite of lock and faceplayer, and end MUST be used to end the script, or else.
Here is the complete script:
Code:
#org $Showtext
lock
faceplayer
message $Hello
$Hello 1 = How ya going?\pGood? That's awesome!!
boxset 6
release
end
Compiling
Save your script in notepad as an rbc. . Then right click it and you should see a "Compile script" option. If you don't then go to Piemans tutorial. Now, after pressing compile, pokescript will come up, but just close it after it has finished. Now bufrite will come up, so you press the book and select your ROM. A box will come up, press the torch icon and offsets will come up. Select one and press "Assign" and then go to "file" in bufrite and press "Burn" now remember that offset by clicking on "Offsets" tab. Remember the first offset and put it into "offset" in A-map.
Now it should work. If you have any questions, don't PM me, just ask in this thread.

Tutorial Two:Yes/No script!
Open notepad and do all of what I told you in the last tut.
Make three things a person could say, maybe these(This is not how you put them into a script):
Code:
Are you dumb??
If Yes,: Hahaha!
If No, : Yes you are!!
Now, to put them into a talking script, write all this up:
Code:
#org $Sillyquestion
lock
faceplayer
message $Aredumb
$Aredumb 1 = Are you dumb??
boxset 5
compare LASTRESULT B_TRUE
if B_False goto $Yesuare
message $Laugh
$Laugh 1 = Hahaha!
Boxset 6
release
end

#org $Yesuare
lock
faceplayer
message $Yesuare2
$Yesuare2 1 = Oh yes you are!!
boxset 6
release
end
Notice how I used Boxset 5 instead of Boxset 6 at the question?

For the next tut, you will need to have this
by your side...

Tutorial Three: Movement Scripts
Yes yes, I suck at these. They probably won't even work
but I'll have a try at them.
The following script will make your player walk up three steps.
Customize it a bit. I'll explain a bit more at the end.

Code:
#org $Move1
checkflag 0x200
if B_TRUE goto $Done
applymovement 0xFF $move
pause 0x30
setflag 0x200
end

#org $Done
end

#org $move
$move 1; #Binary 0x11 0x11 0x11 0xFE
The pause 0x30 is the number of steps taken x10, making 30. 0xFE MUST go at the end of every list of movements. Refer to the page I posted before this tut to customize this. Remember this: Applymovement 0xFF

The 0xFF makes the main character move. For someone else to move, put their map number in instead, for example, if it was this:
Code:
applymovement 0x01 $Whogivesthe
Then the person with map number 0x01 would move.
Also, to make these things move, you must place a script. When you stand on it, it is supposed to move you forward 3 steps. To make them work, you will notice something like this in A-Map:
Code:
Unknown: 00 00
Var Number: 00 00
Change that to this:
Code:
Unknown: 03 00
Var Number: 50 40
And so ends yet another tut!!

Tutorial Four: Giveitem scripts
These are pretty easy, but before you go, you'll need a list of items.
Spoiler:

* 1 Master Ball
* 2 Ultra Ball
* 3 Great Ball
* 4 Poké Ball
* 5 Safari Ball
* 6 Net Ball
* 7 Dive Ball
* 8 Nest Ball
* 9 Repeat Ball
* A Timer Ball
* B Luxury Ball
* C Premier Ball
* D Potion
* E Antidote
* F Burn Heal
* 10 Ice Heal
* 11 Awakening
* 12 Parlyz Heal
* 13 Full Restore
* 14 Max Potion
* 15 Hyper Potion
* 16 Super Potion
* 17 Full Heal
* 18 Revive
* 19 Max Revive
* 1A Fresh Water
* 1B Soda Pop
* 1C Lemonade
* 1D Moomoo Milk
* 1E Energypowder
* 1F Energy Root
* 20 Heal Powder
* 21 Revival Herb
* 22 Ether
* 23 Max Ether
* 24 Elixir
* 25 Max Elixir
* 26 Lava Cookie
* 27 Blue Flute
* 28 Yellow Flute
* 29 Red Flute
* 2A Black Flute
* 2B White Flute
* 2C Berry Juice
* 2D Sacred Ash
* 2E Shoal Salt
* 2F Shoal Shell
* 30 Red Shard
* 31 Blue Shard
* 32 Yellow Shard
* 33 Green Shard
* 3F HP Up
* 40 Protein
* 41 Iron
* 42 Carbos
* 43 Calcium
* 44 Rare Candy
* 45 PP Up
* 46 Zinc
* 47 PP Max
* 49 Guard Spec.
* 4A Dire Hit
* 4B X Attack
* 4C X Defend
* 4D X Speed
* 4E X Accuracy
* 4F X Special
* 50 Poké Doll
* 51 Fluffy Tail
* 53 Super Repel
* 54 Max Repel
* 55 Escape Rope
* 56 Repel
* 5D Sun Stone
* 5E Moon Stone
* 5F Fire Stone
* 60 Thunderstone
* 61 Water Stone
* 62 Leaf Stone
* 67 Tinymushroom
* 68 Big Mushroom
* 6A Pearl
* 6B Big Pearl
* 6C Stardust
* 6D Star Piece
* 6E Nugget
* 6F Heart Scale
* 79 Orange Mail
* 7A Harbor Mail
* 7B Glitter Mail
* 7C Mech Mail
* 7D Wood Mail
* 7E Wave Mail
* 7F Bead Mail
* 80 Shadow Mail
* 81 Tropic Mail
* 82 Dream Mail
* 83 Fab Mail
* 84 Retro Mail
* 85 Cheri Berry
* 86 Chesto Berry
* 87 Pecha Berry
* 88 Rawst Berry
* 89 Aspear Berry
* 8A Leppa Berry
* 8B Oran Berry
* 8C Persim Berry
* 8D Lum Berry
* 8E Sitrus Berry
* 8F Figy Berry
* 90 Wiki Berry
* 91 Mago Berry
* 92 Aguav Berry
* 93 Iapapa Berry
* 94 Razz Berry
* 95 Bluk Berry
* 96 Nanab Berry
* 97 Wepear Berry
* 98 Pinap Berry
* 99 Pomeg Berry
* 9A Kelpsy Berry
* 9B Qualot Berry
* 9C Hondew Berry
* 9D Grepa Berry
* 9E Tamato Berry
* 9F Cornn Berry
* A0 Magost Berry
* A1 Rabuta Berry
* A2 Nomel Berry
* A3 Spelon Berry
* A4 Pamtre Berry
* A5 Watmel Berry
* A6 Durin Berry
* A7 Belue Berry
* A8 Liechi Berry
* A9 Ganlon Berry
* AA Salac Berry
* AB Petaya Berry
* AC Apicot Berry
* AD Lansat Berry
* AE Starf Berry
* AF Enigma Berry
* B3 Brightpowder
* B4 White Herb
* B5 Macho Brace
* B6 Exp. Share
* B7 Quick Claw
* B8 Soothe Bell
* B9 Mental Herb
* BA Choice Band
* BB King's Rock
* BC Silverpowder
* BD Amulet Coin
* BE Cleanse Tag
* BF Soul Dew
* C0 Deepseatooth
* C1 Deepseascale
* C2 Smoke Ball
* C3 Everstone
* C4 Focus Band
* C5 Lucky Egg
* C6 Scope Lens
* C7 Metal Coat
* C8 Leftovers
* C9 Dragon Scale
* CA Light Ball
* CB Soft Sand
* CC Hard Stone
* CD Miracle Seed
* CE Blackglasses
* CF Black Belt
* D0 Magnet
* D1 Mystic Water
* D2 Sharp Beak
* D3 Poison Barb
* D4 Nevermeltice
* D5 Spell Tag
* D6 Twistedspoon
* D7 Charcoal
* D8 Dragon Fang
* D9 Silk Scarf
* DA Up-grade
* DB Shell Bell
* DC Sea Incense
* DD Lax Incense
* DE Lucky Punch
* DF Metal Powder
* E0 Thick Club
* E1 Stick
* FE Red Scarf
* FF Blue Scarf
* 100 Pink Scarf
* 101 Green Scarf
* 102 Yellow Scarf
* 103 Mach Bike
* 104 Coin Case
* 105 Itemfinder
* 106 Old Rod
* 107 Good Rod
* 108 Super Rod
* 109 S.S. Ticket
* 10A Contest Pass
* 10C Wailmer Pail
* 10D Devon Goods
* 10E Soot Sack
* 10F Basement Key
* 110 Acro Bike
* 111 PokéBlock Case
* 112 Letter
* 113 Eon Ticket
* 114 Red Orb
* 115 Blue Orb
* 116 Scanner
* 117 Go-goggles
* 118 Meteorite
* 119 Rm. 1 Key
* 11A Rm. 2 Key
* 11B Rm. 4 Key
* 11C Rm. 6 Key
* 11D Storage Key
* 11E Root Fossil
* 11F Claw Fossil
* 120 Devon Scope
* 121 TM01
* 122 TM02
* 123 TM03
* 124 TM04
* 125 TM05
* 126 TM06
* 127 TM07
* 128 TM08
* 129 TM09
* 12A TM10
* 12B TM11
* 12C TM12
* 12D TM13
* 12E TM14
* 12F TM15
* 130 TM16
* 131 TM17
* 132 TM18
* 133 TM19
* 134 TM20
* 135 TM21
* 136 TM22
* 137 TM23
* 138 TM24
* 139 TM25
* 13A TM26
* 13B TM27
* 13C TM28
* 13D TM29
* 13E TM30
* 13F TM31
* 140 TM32
* 141 TM33
* 142 TM34
* 143 TM35
* 144 TM36
* 145 TM37
* 146 TM38
* 147 TM39
* 148 TM40
* 149 TM41
* 14A TM42
* 14B TM43
* 14C TM44
* 14D TM45
* 14E TM46
* 14F TM47
* 150 TM48
* 151 TM49
* 152 TM50
* 153 HM01
* 154 HM02
* 155 HM03
* 156 HM04
* 157 HM05
* 158 HM06
* 159 HM07
* 15A HM08
* 15D Oak's Parcel
* 15E Poké Flute
* 15F Secret Key
* 160 Bike Voucher
* 161 Gold Teeth
* 162 Old Amber
* 163 Card Key
* 164 Lift Key
* 165 Helix Fossil
* 166 Dome Fossil
* 167 Silph Scope
* 168 Bicycle
* 169 Town Map
* 16A VS Seeker
* 16B Fame Checker
* 16C TM Case
* 16D Berry Pouch
* 16E Teachy TV
* 16F Tri-pass
* 170 Rainbow Pass
* 171 Tea
* 172 Mysticticket
* 173 Auroraticket
* 174 Powder Jar
* 175 Ruby
* 176 Sapphire
Say we wanted to make a person give you a free potion.
This is a Yes/No script to give you one.
Code:
#org $Sillyquestion
lock
faceplayer
checkflag 0x200
If B_TRUE goto $Done
message $Freepo
$Freepo 1 = Would you like a free POTION?
boxset 5
compare LASTRESUILT B_TRUE
if B_False goto $Nothanks1
message $Hereitis
$Hereitis 1 = Here ya go!
Boxset 6
giveitem 0xD 0x1
setflag 0x200
release
end

#org $Nothanks1
lock
faceplayer
message $Nothanks
$Nothanks 1 = Oh yes you are!!
boxset 6
release
end

#org $Done
lock
faceplayer
message $Noneleft
$Noneleft 1 = I'm sorry, I don't have\nany POTIONS left.
release
end
The last bit at the end shows what happens if you already have the potion. The giveitem 0xD 0x1 part is, obviously, you get 1 potion. Changing that will give you a different item or a different number of them. You don't have to write in "[PLAYER] has recieved POTION" because giveitem does that automatically. The checkflag at the start makes sure you don't get x999 potions :lol:. And so I have ended another great tut! Next up in line: Give Pokemon Scripts!

Tutorial Five: Give Pokemon Scripts!
First you will need a list of Pokemon. Lucky for you, I have one.
Spoiler:
#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
Now that you have that, you must create the small script. I want a Charmander, so I shall make this:
Code:
givepokemon 4 5 0
That gives me a Charmander level 5 not holding anything. The first number is the number of the Pokemon, the second number is the Lv, and the third number is the number of the item!!! Oh, and it won't show anything like "You recieved the CHARMANDER" you actually have to put that in! Here is the script in action, taken from Pokemon PinkMew:
Code:
#org $begin
lock
faceplayer
checkflag 0x232
if B_true goto $gotit
message $q
boxset 6
message $mygod
boxset 6
givepokemon 4 5 0
message $NameCharm
boxset 5
setflag 0x232
setflag 0x828
release
end

#org $gotit
message $hi
boxset 6
release
end

#org $hi
$hi 1 = How's my old CHARMANDER?

#org $q
$q 1 = To get past here, you'll\nneed a pokemon.\pTake this CHARMANDER.

#org $mygod
$mygod 1 = You received the CHARMANDER!

message $NameCharm
$NameCharm 1 = Would You like to give \nCHARMANDER a name?
boxset 5
compare LASTRESULT 1
if b_False goto $seeya
Namepokemon
setflag 0x203

message $seeya
$seeya 1 = Thanks!
release
end
Tutorial Six: Flags!
This will be short since it is only about flags!!
Okay, the effect of flags:
Quote:
Setflag~ Sets the flag.
Checkflag~ Checks the flag.
removeflagflag~ Opposite of Setflag.

Make sure for every different flag you use a different flag.
So in every script you make don't have 0x200 as your flag.

Tutorial Seven: Warps
You will need this for scripts like movement scripts leading to a house.
Here is a good base for one of these:
Code:
warp 0x[map bank] 0x[map] 0x[warp]
Now, here is it leading to PALLET TOWN:
Code:
warp 0x30 0x0 0x1
You can put that in ANY of your scripts.

Tutorial Eight: Randomization!

As of my latest sucess on the Script/Discussion/Sharing thread, I credit Dabomstew for helping me peronally with this one.

You're probably wondering were you would need this. The slowbro in Cerulean. Stuff like that. First, do this:
Code:
#org $Begin
lock
faceplayer
#raw 0x8F
#raw 0x04 0x00
copyvar 0x8008 0x800D
That extra part will begin the randomziation. But you then need to add this:
[code]compare 0x8008 0x0
if 0x1 call $Yes
compare 0x8008 0x1
if 0x1 call $No
release
end

$org $Yes
$Yes 1 = Yes! Yes! Yes!
boxset 6
release
end

#org $No
$No 1 = No! No! No!
boxset 6
release
end[/code
Tutorial Nine: Text Colour!
First write up the beginninng of the script:
Code:
#org $Hello
lock
faceplayer
message $Color
$Color 1 = ??
boxset 6
release
end
Well that is the start, I better show you how to add colouring. First get this command:
Code:
\c\h01\hXX
Put it in this part of our script:
Code:
$Color 1 = \c\h01\h09How are you going?
Notice how I put that 09 after the 'H'? That is the colour's number. Here is some more:
Spoiler:
00 - white
02 - black (System messages and reading signs)
03 - gray
04 - red (Female colour}
05 - orange
06 - dark green
07 - cyan
08 - dark blue (Male colour)
09 - lighter blue
0b - bluish grey
Another tut done! What next? Weather!

Tutorial Ten: Weather!
This is pretty simple really. First, you need to knwo these hex numbers:
Quote:
0 = Normal
3 = Rain
4 = Snowflakes
5 = Thunderstorm
6 = Fog
7 = Ash
8 = Sandstorm
9 = Fog 2
A = Fog
B = Dark
C = Hot sun
D = Thunderstorm 2
E = Underwater
Okay, now you need to put it into it's script.
Code:
setweather 0xB
doweather
It is even possible (If you can script that well )
to use this code in R/S/E to make a Day/Night system. To make the weather stop, make another part of the script go to 'Normal' weather.
Whats next?
Wildbattles?
Okay...

Tutorial Eleven: Wildbattles!
Back in a sec... K, I'm back! Yeah, I'm gonna try to teach you some wildbattle scripts. Let's go!!!
First you need to know the Pokemon's cry.
Code:
cry [Pokemon's Number]
Pretty long script, isn't it? Yes, I better show you what it looks like if there was sometihng there.
Code:
cry 151
That will make my fave pokemon, Mew, cry. Now for the rest of the script...
We need to make the wildbattle. You can refer back to tutorial siz to get the Pokemon's numbers to make the cry script and the wildbattle script. Here is your wildbattle script:
Code:
wildbattle [Pokemon's Number] [Pokemon's Level] [Terrain]
Wait? Terrain? Oh, I see I need to give you a list of terrains.
Code:
0 = grass
1 = water
2 = rock
3 = sand
So here is the script I want for it....
Code:
wildbattle 151 30 0
That will make me battle a level 30 Mew in some grass. Now here is the whole script:
Code:
#org $Wildbattle
lock
faceplayer
cry 5
message $mewcry
$mewcry 1 = Mew: Lalalala!
boxset 6
checkflag 0x500
if 0x1 goto $Wildbattle
release
end

#org $Wildbattle
lock
wildbattle 151 30 0
release
setflag 0x500
#raw 53
fadescreen 0
end
It doesn't work, but I'm about to fix it

That is another tut finished! Next up: Gender/Sex

Tutorial Twelve: Gender/Sex!
To do this, you must put this in your script:
Code:
checkgender
compare LASTRESULT 0x1
if 0x1 goto $Male
The 0x1 in bold means "Check for male" And then the next 0x1 (In italics) "if yes"
so now we can use it all:
Code:
#org $Gender
lock
faceplayer
checkgender
compare LASTRESULT 0x1
if 0x1 goto $Male
message $Female
$Female 1 = You're a beautiful little girl.
boxset 6
release
end

#org $Male
$Male 1 = You're a handsome little boy.
boxset 6
release
end
Compile that into your game, and it shall work. If it doesn't...
Next tutorial... Money and coins!
Things to expect in future updates:
-Money Commands
-Coin Case Commands
-Field moves
__________________
<wtf? A lugi-oh?
<What the hell did you do to my Arceus?
  #2    
Old November 3rd, 2007 (07:19 AM).
Geeked's Avatar
Geeked Geeked is offline
Pokemon Crimson Version
Team Johto
 
Join Date: Jun 2007
Age: 21
Gender: Male
Nature: Adamant
Posts: 363
*First reply* Good luck with this tutorial spencer its seems quite easy for noobiez
__________________
Coming soon I guess?
  #3    
Old November 3rd, 2007 (07:31 AM).
Kristian's Avatar
Kristian Kristian is offline
Team Johto
 
Join Date: Sep 2007
Location: Norway? :b
Nature: Calm
Posts: 170
This is a nice tutorial for new beginners..
btw, where is step 4? it jumps from step 3 to step 5..
and hope you will add more commands..
  #4    
Old November 3rd, 2007 (07:47 AM).
Binary's Avatar
Binary Binary is offline
え?
Team Johto
 
Join Date: Aug 2007
Age: 20
Posts: 3,994
Yes very handy tutorial spencercoone,
hope you add some more commands
__________________
  #5    
Old November 3rd, 2007 (11:16 AM).
Swampert 22's Avatar
Swampert 22 Swampert 22 is offline
Is making tools for you...
Team Kanto
Silver Tier
 
Join Date: Sep 2005
Location: Switzerland
Age: 24
Gender: Male
Nature: Brave
Posts: 393
Hey good tut clearly outlining the simple steps! I'm looking forward to those other thing to expect, I've been wanting to know how to do field commands for some time! Keep it up! oh and whats a GIANT SCRIPT?
__________________

I've made some tools for Pokémon hacking! Please check out the thread... Swampert Tools Showcase

Head over to my thread to check out my latest tool, Pokémon Red/Blue Trainer Editor!

Visit my site for Pokémon ROM Hacking tools! Swampert Tools Homepage
  #6    
Old November 3rd, 2007 (02:07 PM). Edited November 3rd, 2007 by spenceroone3.
spenceroone3's Avatar
spenceroone3 spenceroone3 is offline
<he eats lots of burgers.
Team Kanto
 
Join Date: Aug 2007
Location: In your closet
Gender:
Nature: Hasty
Posts: 215
Send a message via Windows Live Messenger to spenceroone3
Yes! It's finally up! I'm quickly gonna edit it! A giant script is a very big script made up of lots of different commands, such as my stealitem script, or the evil magikarp. Thank you every body, I'm going to have to repair my tut a bit.
__________________
<wtf? A lugi-oh?
<What the hell did you do to my Arceus?
  #7    
Old November 3rd, 2007 (02:20 PM).
OsherStyle OsherStyle is offline
Team Hoenn
 
Join Date: Oct 2007
Posts: 18
whene i add a script to a man on the oldale town on my game, i add a giving pokemon script, when i go to talk to the man, nothing happenend, and thet not talking!
help !
  #8    
Old November 3rd, 2007 (02:21 PM).
spenceroone3's Avatar
spenceroone3 spenceroone3 is offline
<he eats lots of burgers.
Team Kanto
 
Join Date: Aug 2007
Location: In your closet
Gender:
Nature: Hasty
Posts: 215
Send a message via Windows Live Messenger to spenceroone3
You need to learn how to compile. That means I better get a nice pokescript tut up for those people
__________________
<wtf? A lugi-oh?
<What the hell did you do to my Arceus?
  #9    
Old November 3rd, 2007 (02:26 PM).
OsherStyle OsherStyle is offline
Team Hoenn
 
Join Date: Oct 2007
Posts: 18
Look your PM's, send to me your MSN please
  #10    
Old November 3rd, 2007 (03:14 PM).
♠εx's Avatar
♠εx ♠εx is offline
Working on my hack, busy also.
Team Kalos
 
Join Date: May 2007
Gender:
Nature: Adamant
Posts: 299
It is helpfull, but most of this is found off PHO x].
Also, I think you should explain what the flags do a bit more.
What if someone wants to disable a script when you do another? Or change it completely.
__________________
Made A New Account - Crashink

Yes, this does mean Icy Blue will be locked down, but only for a short time while I fix my bugs.

- Crashink.
  #11    
Old November 3rd, 2007 (03:18 PM).
spenceroone3's Avatar
spenceroone3 spenceroone3 is offline
<he eats lots of burgers.
Team Kanto
 
Join Date: Aug 2007
Location: In your closet
Gender:
Nature: Hasty
Posts: 215
Send a message via Windows Live Messenger to spenceroone3
I have removeflag? And I'm haven't actually finished that tut, I'm going to use all the flags in Kike-Scotts tut, with some of my own.
__________________
<wtf? A lugi-oh?
<What the hell did you do to my Arceus?
  #12    
Old November 3rd, 2007 (03:19 PM).
OsherStyle OsherStyle is offline
Team Hoenn
 
Join Date: Oct 2007
Posts: 18
thank a lot for the help
  #13    
Old November 3rd, 2007 (06:15 PM).
cooley's Avatar
cooley cooley is offline
///Keepin' it simple
Team Hoenn
Silver Tier
 
Join Date: Feb 2007
Location: United States
Age: 20
Gender: Male
Nature: Impish
Posts: 1,150
Send a message via Windows Live Messenger to cooley Send a message via Skype™ to cooley
This is great for beginners(not the ones that don't know how to compile, or save a .rbc)
But How many Scripting tutorials do we need? This one is great!
__________________

  #14    
Old November 4th, 2007 (01:06 PM).
spenceroone3's Avatar
spenceroone3 spenceroone3 is offline
<he eats lots of burgers.
Team Kanto
 
Join Date: Aug 2007
Location: In your closet
Gender:
Nature: Hasty
Posts: 215
Send a message via Windows Live Messenger to spenceroone3
Okay guys, I'm going to add a bit more onto this, namely these:
~Compiling~
~Checkgender~
I'm going to do Compiling first, it is too important to keep back.
__________________
<wtf? A lugi-oh?
<What the hell did you do to my Arceus?
  #15    
Old November 5th, 2007 (08:39 AM).
Juan Juan is offline
Brazilian with a bad English
Team Kanto
 
Join Date: Jun 2007
Location: Pindamonhangaba - SP
Age: 24
Nature: Adamant
Posts: 92
In the Weather Script, it has that to place some value in the fields "Unknown and
Var Number" of a-map?
I left thus and he did not function:
Unknown: 00 00
Var Number: 00 00
__________________
  #16    
Old November 5th, 2007 (08:59 AM).
Prof. 9 Prof. 9 is offline
Team Johto
 
Join Date: Jun 2006
Location: Netherlands
Gender: Male
Posts: 151
Can you explain the randomization script a bit more? For example, can you tell which command does what, and how it works?

Thanks in advance =D
  #17    
Old November 5th, 2007 (11:23 AM).
Haile Selassie IV's Avatar
Haile Selassie IV Haile Selassie IV is offline
.
Team Kanto
 
Join Date: Mar 2007
Location: Aker, Amsterdam, Noord-Holland, The Netherlands, Europe, The Earth.
Age: 22
Nature: Modest
Posts: 82
Your YES/NO screws up. Yes and No become combined.
__________________
Cna yuo raed tihs? Olny 55% of plepoe can.

I cdnuolt blveiee taht I cluod aulaclty uesdnatnrd waht I was rdanieg. The phaonmneal pweor of the hmuan mnid, aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it dseno't mtaetr in waht oerdr the ltteres in a wrod are, the olny iproamtnt tihng is taht the frsit and lsat ltteer be in the rghit pclae. The rset can be a taotl mses and you can sitll raed it whotuit a pboerlm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe. Azanmig huh? yaeh and I awlyas tghuhot slpeling was ipmorantt!
fi yuo cna raed tihs, palce it in yuor siantugre.
  #18    
Old November 5th, 2007 (02:02 PM).
spenceroone3's Avatar
spenceroone3 spenceroone3 is offline
<he eats lots of burgers.
Team Kanto
 
Join Date: Aug 2007
Location: In your closet
Gender:
Nature: Hasty
Posts: 215
Send a message via Windows Live Messenger to spenceroone3
Quote originally posted by Prof. 9:
Can you explain the randomization script a bit more? For example, can you tell which command does what, and how it works?

Thanks in advance =D
Yeah sure man. I'll explain it all in the tutorial, watch out for it!
__________________
<wtf? A lugi-oh?
<What the hell did you do to my Arceus?
  #19    
Old November 10th, 2007 (03:40 PM).
EVIL DARK MEW's Avatar
EVIL DARK MEW EVIL DARK MEW is offline
Advanced Pokemaniac
Team Kanto
 
Join Date: Jun 2007
Location: GRAVEYARD
Gender:
Nature: Hasty
Posts: 36
Send a message via Windows Live Messenger to EVIL DARK MEW
Quote originally posted by spenceroone3:
[code] LASTRESUILT B_TRUE
if B_False goto $Yesuare
message $Laugh
$Laugh 1 = Hahaha!
Boxset 6
release
end
correct me if i am wrong but this script is a bit incorrect
*first of all it should be compare last result 1

Quote originally posted by spenceroone3:
#org $Wildbattle
lock
faceplayer
cry 5
message $mewcry
$mewcry 1 = Mew: Lalalala!
boxset 6
checkflag 0x500
if 0x1 goto $Wildbattle
release
end
Don't call for a lock here or the script will not work
  #20    
Old November 10th, 2007 (04:12 PM).
thethethethe thethethethe is offline
Team Johto
 
Join Date: Jun 2007
Location: Melbourne, Australia
Gender: Male
Posts: 1,104
Quote originally posted by EVIL DARK MEW:
correct me if i am wrong but this script is a bit incorrect
*first of all it should be compare last result 1



Don't call for a lock here or the script will not work
Sorry, you're wrong.
b_true = 1
They mean the same thing.

and the Lock makes no difference here, he just doesn't need the second lock in $Wildbattle but it does look like the cry won't work.
__________________
Gone.
  #21    
Old November 10th, 2007 (09:47 PM).
spenceroone3's Avatar
spenceroone3 spenceroone3 is offline
<he eats lots of burgers.
Team Kanto
 
Join Date: Aug 2007
Location: In your closet
Gender:
Nature: Hasty
Posts: 215
Send a message via Windows Live Messenger to spenceroone3
I personally have never gotten a wildbattle of that type to work, though I have gotten a basic one to work.
__________________
<wtf? A lugi-oh?
<What the hell did you do to my Arceus?
  #22    
Old November 10th, 2007 (10:29 PM).
thethethethe thethethethe is offline
Team Johto
 
Join Date: Jun 2007
Location: Melbourne, Australia
Gender: Male
Posts: 1,104
Quote originally posted by spenceroone3:
I personally have never gotten a wildbattle of that type to work, though I have gotten a basic one to work.
If you can't get that wildbattle to work, why would you post it in your tutorial? That's kind of stupid isn't it. That's like me trying to teach Дон Пач about tiling (I don't know anything about tiling).
__________________
Gone.
  #23    
Old November 11th, 2007 (12:16 AM).
spenceroone3's Avatar
spenceroone3 spenceroone3 is offline
<he eats lots of burgers.
Team Kanto
 
Join Date: Aug 2007
Location: In your closet
Gender:
Nature: Hasty
Posts: 215
Send a message via Windows Live Messenger to spenceroone3
LOL. I just put it there for the commands. If people start having BAD problems, I'll go back in there and test it and fix it up. Besides, I'm pretty sure there are other ways too.
__________________
<wtf? A lugi-oh?
<What the hell did you do to my Arceus?
  #24    
Old November 11th, 2007 (04:28 AM).
Juan Juan is offline
Brazilian with a bad English
Team Kanto
 
Join Date: Jun 2007
Location: Pindamonhangaba - SP
Age: 24
Nature: Adamant
Posts: 92
In the Weather Script, it has that to place some value in the fields "Unknown and
Var Number" of a-map?
I left thus and he did not function:
Unknown: 00 00
Var Number: 00 00
__________________
  #25    
Old November 11th, 2007 (03:31 PM).
coin3's Avatar
coin3 coin3 is offline
Team Hoenn
 
Join Date: Aug 2006
Nature: Adamant
Posts: 84
It should be:

Unknown: 03 00
Var Number: 50 40
__________________

Click here to feed me a Rare Candy!




My friends: DP Master, Spenceroone3, Hiidoran, Destinedjagold.
Spoiler:

My family. I am twins with Spenceroon3 .
Dad: Celebi_XD
Mom: Sea_Guardian
Best friend(S): ___________
Brother(s): Gotron228, Godot
Sister(s): ___________
Twin (Coin3 can get triplets though as well): Spenceroone3
Best enemy(s): Kid Nino
Girlfriend/Pair: _____________
Closed Thread
Quick Reply

Sponsored Links
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

Forum Jump


All times are UTC -8. The time now is 11:03 AM.