Vai al commento

[GBA] Paco's Megahuge Scripting Guide


PacoScarso

Post raccomandati

Potrebbe contenere degli errori di formattazione, dato che proviene da un altro sito su cui l'ho postata, e non verrà inserita tutta in una volta (appunto perché devo riformattare tutto).
 

COMANDI GENERALI

:Wooper: Messaggio (msgbox)

Fa letteralmente comparire la casella del messaggio, niente di più, niente di meno.

 
Cita

#dynamic 0x??????


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

#org @pointer
= Metti qui il tuo messaggio


Per inserire a dovere il messaggio, usate l'adattatore di testo di XSE.

  • #dynamic 0x?????? -> Cerca un offset libero per lo script. Al posto di ?????? mettete 800000.
  • #org @start -> Indica l'inizio dello script
  • lock -> Blocca il giocatore
  • faceplayer -> Fa in modo che la persona con cui parli guardi il giocatore
  • msgbox @pointer 0x6 -> Comando del messaggio normale
  • release -> Rilascia il giocatore
  • end -> Termina lo script
 


:Wooper: Altri tipi di messaggio

 
  • msgbox @pointer 0x2 -> messaggio che ha già tra le sue funzioni lock, faceplayer e release.
  • msgbox @pointer 0x3 -> Usato per i cartelli, non ha le funzioni lock e faceplayer.
  • msgbox @pointer 0x4 -> Messaggio che rimane aperto e che ha bisogno del closeonkeypress per essere tolto.
  • msgbox @pointer 0x5 -> Messaggio che fa comparire le opzioni YES/NO, ma lo vedremo nel dettaglio più avanti.
  • msgbox @pointer 0x6 -> Un messaggio normalissimo.


:Wooper: Flags

A.k.a. come facciamo a non far ripetere gli eventi due volte?

Spoiler

 

Cita

#dynamic 0x800000


#org @start
lock
faceplayer
checkflag 0x1500
if 0x1 goto @next
msgbox @msg 0x6
setflag 0x1500
release
end

#org @next
msgbox @msg2 0x6
release
end

#org @msg
= Ciao.

#org @msg2
= Ti ho già salutato, pepega.

  • checkflag 0x???? -> Controlla se la flag 0x???? sia attiva o meno e salva un valore; 0 se non è attiva, 1 se è attiva.
  • if 0x? goto @next -> Controlla se la flag sia attiva o meno. Se è attiva (if 0x1) allora fai continuare lo script da @next; se non è attiva (if 0x0) fai continuare lo script da next). Nel caso in cui il valore salvato dal checkflag sia diverso da quello dell'if, fa continuare lo script normalmente.
  • setflag 0x???? -> Setta la flag.

In pratica lo script funzionerà in questo modo:

 

Cita

Controllo che la flag 0x1500 sia attiva


Non è attiva, quindi faccio continuare lo script normalmente
MESSAGGIO "Ciao"
Attivo la flag 0x1500
Fine dello script

 

Ci parliamo una seconda volta

 

Cita

Controllo che la flag 0x1500 sia attiva


È attiva, quindi faccio continuare lo script da @next
MESSAGGIO "Ti ho già salutato, pepega"
Fine dello script

 

D'ora in poi lo script continuerà da @next.

Per rimuovere una flag basta inserire in uno script il comando clearflag 0x????.

 

FLAG IMPORTANTI

 

FIRE RED

 

 


0x820 – Attiva la prima medaglia
0x821 - Attiva la seconda medaglia
0x822 - Attiva la terza medaglia
0x823 - Attiva la quarta medaglia
0x824 - Attiva la quinta medaglia
0x825 - Attiva la sesta medaglia
0x826 - Attiva la settima medaglia
0x827 - Attiva l'ottava medaglia
0x828 - Attiva il menu Pokémon
0x829 - Attiva il Pokédex
0x82F - Attiva le scarpe da corsa


RUBY

 

 


0x800 - Attiva il menu Pokémon
0x801 - Attiva il Pokédex
0x802 - Attiva il Pokénav
0x807 - Attiva la prima medaglia
0x808 - Attiva la seconda medaglia
0x809 - Attiva la terza medaglia
0x80A - Attiva la quarta medaglia
0x80B - Attiva la quinta medaglia
0x80C - Attiva la sesta medaglia
0x80D - Attiva la settima medaglia
0x80E - Attiva l'ottava medaglia
0x860 - Attiva le scarpe da corsa


EMERALD

 

 


0x860 - Attiva il menu Pokémon
0x861 - Attiva il Pokédex
0x862 - Attiva il Pokénav
0x867 - Attiva la prima medaglia
0x868 - Attiva la seconda medaglia
0x869 - Attiva la terza medaglia
0x86A - Attiva la quarta medaglia
0x86B - Attiva la quinta medaglia
0x86C - Attiva la sesta medaglia
0x86D - Attiva la settima medaglia
0x86E - Attiva l'ottava medaglia
0x8C0 - Attiva le scarpe da corsa

 

 

 

 

:Wooper: Givepokemon

Ovvero lo script che permette al giocatore di ricevere un Pokémon.

 
Cita

givepokemon 0x? 0x? 0x? 0x0 0x0 0x0

 

  • Primo 0x? -> Al posto di ? dovete inserire l'id associato alla specie Pokémon, in esadecimale
  • Secondo 0x? -> Al posto di ? dovete inserire il livello del Pokémon in esadecimale
  • Terzo 0x? -> Al posto di ? dovete inserire l'id associato a un oggetto che volete fargli tenere in esadecimale. Nel caso in cui non volete dargli oggetti, lasciate 0x0.

     

    ID POKÉMON
     
     

    BULBASAUR 1
    IVYSAUR 2
    VENUSAUR 3
    CHARMANDER 4
    CHARMELEON 5
    CHARIZARD 6
    SQUIRTLE 7
    WARTORTLE 8
    BLASTOISE 9
    CATERPIE 10
    METAPOD 11
    BUTTERFREE 12
    WEEDLE 13
    KAKUNA 14
    BEEDRILL 15
    PIDGEY 16
    PIDGEOTTO 17
    PIDGEOT 18
    RATTATA 19
    RATICATE 20
    SPEAROW 21
    FEAROW 22
    EKANS 23
    ARBOK 24
    PIKACHU 25
    RAICHU 26
    SANDSHREW 27
    SANDSLASH 28
    NIDORAN|f| 29
    NIDORINA 30
    NIDOQUEEN 31
    NIDORAN|m| 32
    NIDORINO 33
    NIDOKING 34
    CLEFAIRY 35
    CLEFABLE 36
    VULPIX 37
    NINETALES 38
    JIGGLYPUFF 39
    WIGGLYTUFF 40
    ZUBAT 41
    GOLBAT 42
    ODDISH 43
    GLOOM 44
    VILEPLUME 45
    PARAS 46
    PARASECT 47
    VENONAT 48
    VENOMOTH 49
    DIGLETT 50
    DUGTRIO 51
    MEOWTH 52
    PERSIAN 53
    PSYDUCK 54
    GOLDUCK 55
    MANKEY 56
    PRIMEAPE 57
    GROWLITHE 58
    ARCANINE 59
    POLIWAG 60
    POLIWHIRL 61
    POLIWRATH 62
    ABRA 63
    KADABRA 64
    ALAKAZAM 65
    MACHOP 66
    MACHOKE 67
    MACHAMP 68
    BELLSPROUT 69
    WEEPINBELL 70
    VICTREEBEL 71
    TENTACOOL 72
    TENTACRUEL 73
    GEODUDE 74
    GRAVELER 75
    GOLEM 76
    PONYTA 77
    RAPIDASH 78
    SLOWPOKE 79
    SLOWBRO 80
    MAGNEMITE 81
    MAGNETON 82
    FARFETCH'D 83
    DODUO 84
    DODRIO 85
    SEEL 86
    DEWGONG 87
    GRIMER 88
    MUK 89
    SHELLDER 90
    CLOYSTER 91
    GASTLY 92
    HAUNTER 93
    GENGAR 94
    ONIX 95
    DROWZEE 96
    HYPNO 97
    KRABBY 98
    KINGLER 99
    VOLTORB 100
    ELECTRODE 101
    EXEGGCUTE 102
    EXEGGUTOR 103
    CUBONE 104
    MAROWAK 105
    HITMONLEE 106
    HITMONCHAN 107
    LICKITUNG 108
    KOFFING 109
    WEEZING 110
    RHYHORN 111
    RHYDON 112
    CHANSEY 113
    TANGELA 114
    KANGASKHAN 115
    HORSEA 116
    SEADRA 117
    GOLDEEN 118
    SEAKING 119
    STARYU 120
    STARMIE 121
    MR. MIME 122
    SCYTHER 123
    JYNX 124
    ELECTABUZZ 125
    MAGMAR 126
    PINSIR 127
    TAUROS 128
    MAGIKARP 129
    GYARADOS 130
    LAPRAS 131
    DITTO 132
    EEVEE 133
    VAPOREON 134
    JOLTEON 135
    FLAREON 136
    PORYGON 137
    OMANYTE 138
    OMASTAR 139
    KABUTO 140
    KABUTOPS 141
    AERODACTYL 142
    SNORLAX 143
    ARTICUNO 144
    ZAPDOS 145
    MOLTRES 146
    DRATINI 147
    DRAGONAIR 148
    DRAGONITE 149
    MEWTWO 150
    MEW 151
    CHIKORITA 152
    BAYLEEF 153
    MEGANIUM 154
    CYNDAQUIL 155
    QUILAVA 156
    TYPHLOSION 157
    TOTODILE 158
    CROCONAW 159
    FERALIGATR 160
    SENTRET 161
    FURRET 162
    HOOTHOOT 163
    NOCTOWL 164
    LEDYBA 165
    LEDIAN 166
    SPINARAK 167
    ARIADOS 168
    CROBAT 169
    CHINCHOU 170
    LANTURN 171
    PICHU 172
    CLEFFA 173
    IGGLYBUFF 174
    TOGEPI 175
    TOGETIC 176
    NATU 177
    XATU 178
    MAREEP 179
    FLAAFFY 180
    AMPHAROS 181
    BELLOSSOM 182
    MARILL 183
    AZUMARILL 184
    SUDOWOODO 185
    POLITOED 186
    HOPPIP 187
    SKIPLOOM 188
    JUMPLUFF 189
    AIPOM 190
    SUNKERN 191
    SUNFLORA 192
    YANMA 193
    WOOPER 194
    QUAGSIRE 195
    ESPEON 196
    UMBREON 197
    MURKROW 198
    SLOWKING 199
    MISDREAVUS 200
    UNOWN 201
    WOBBUFFET 202
    GIRAFARIG 203
    PINECO 204
    FORRETRESS 205
    DUNSPARCE 206
    GLIGAR 207
    STEELIX 208
    SNUBBULL 209
    GRANBULL 210
    QWILFISH 211
    SCIZOR 212
    SHUCKLE 213
    HERACROSS 214
    SNEASEL 215
    TEDDIURSA 216
    URSARING 217
    SLUGMA 218
    MAGCARGO 219
    SWINUB 220
    PILOSWINE 221
    CORSOLA 222
    REMORAID 223
    OCTILLERY 224
    DELIBIRD 225
    MANTINE 226
    SKARMORY 227
    HOUNDOUR 228
    HOUNDOOM 229
    KINGDRA 230
    PHANPY 231
    DONPHAN 232
    PORYGON2 233
    STANTLER 234
    SMEARGLE 235
    TYROGUE 236
    HITMONTOP 237
    SMOOCHUM 238
    ELEKID 239
    MAGBY 240
    MILTANK 241
    BLISSEY 242
    RAIKOU 243
    ENTEI 244
    SUICUNE 245
    LARVITAR 246
    PUPITAR 247
    TYRANITAR 248
    LUGIA 249
    HO-OH 250
    CELEBI 251
    TREECKO 277
    GROVYLE 278
    SCEPTILE 279
    TORCHIC 280
    COMBUSKEN 281
    BLAZIKEN 282
    MUDKIP 283
    MARSHTOMP 284
    SWAMPERT 285
    POOCHYENA 286
    MIGHTYENA 287
    ZIGZAGOON 288
    LINOONE 289
    WURMPLE 290
    SILCOON 291
    BEAUTIFLY 292
    CASCOON 293
    DUSTOX 294
    LOTAD 295
    LOMBRE 296
    LUDICOLO 297
    SEEDOT 298
    NUZLEAF 299
    SHIFTRY 300
    NINCADA 301
    NINJASK 302
    SHEDINJA 303
    TAILLOW 304
    SWELLOW 305
    SHROOMISH 306
    BRELOOM 307
    SPINDA 308
    WINGULL 309
    PELIPPER 310
    SURSKIT 311
    MASQUERAIN 312
    WAILMER 313
    WAILORD 314
    SKITTY 315
    DELCATTY 316
    KECLEON 317
    BALTOY 318
    CLAYDOL 319
    NOSEPASS 320
    TORKOAL 321
    SABLEYE 322
    BARBOACH 323
    WHISCASH 324
    LUVDISC 325
    CORPHISH 326
    CRAWDAUNT 327
    FEEBAS 328
    MILOTIC 329
    CARVANHA 330
    SHARPEDO 331
    TRAPINCH 332
    VIBRAVA 333
    FLYGON 334
    MAKUHITA 335
    HARIYAMA 336
    ELECTRIKE 337
    MANECTRIC 338
    NUMEL 339
    CAMERUPT 340
    SPHEAL 341
    SEALEO 342
    WALREIN 343
    CACNEA 344
    CACTURNE 345
    SNORUNT 346
    GLALIE 347
    LUNATONE 348
    SOLROCK 349
    AZURILL 350
    SPOINK 351
    GRUMPIG 352
    PLUSLE 353
    MINUN 354
    MAWILE 355
    MEDITITE 356
    MEDICHAM 357
    SWABLU 358
    ALTARIA 359
    WYNAUT 360
    DUSKULL 361
    DUSCLOPS 362
    ROSELIA 363
    SLAKOTH 364
    VIGOROTH 365
    SLAKING 366
    GULPIN 367
    SWALOT 368
    TROPIUS 369
    WHISMUR 370
    LOUDRED 371
    EXPLOUD 372
    CLAMPERL 373
    HUNTAIL 374
    GOREBYSS 375
    ABSOL 376
    SHUPPET 377
    BANETTE 378
    SEVIPER 379
    ZANGOOSE 380
    RELICANTH 381
    ARON 382
    LAIRON 383
    AGGRON 384
    CASTFORM 385
    VOLBEAT 386
    ILLUMISE 387
    LILEEP 388
    CRADILY 389
    ANORITH 390
    ARMALDO 391
    RALTS 392
    KIRLIA 393
    GARDEVOIR 394
    BAGON 395
    SHELGON 396
    SALAMENCE 397
    BELDUM 398
    METANG 399
    METAGROSS 400
    REGIROCK 401
    REGICE 402
    REGISTEEL 403
    KYOGRE 404
    GROUDON 405
    RAYQUAZA 406
    LATIAS 407
    LATIOS 408
    JIRACHI 409
    DEOXYS 410
    CHIMECHO 411

     

    ID STRUMENTI

     

    Master Ball 1
    Ultra Ball 2
    Great Ball 3
    Poké Ball 4
    Safari Ball 5
    Net Ball 6
    Dive Ball 7
    Nest Ball 8
    Repeat Ball 9
    Timer Ball 10
    Luxury Ball 11
    Premier Ball 12
    Potion 13
    Antidote 14
    Burn Heal 15
    Ice Heal 16
    Awakening 17
    Parlyz Heal 18
    Full Restore 19
    Max Potion 20
    Hyper Potion 21
    Super Potion 22
    Full Heal 23
    Revive 24
    Max Revive 25
    Fresh Water 26
    Soda Pop 27
    Lemonade 28
    Moomoo Milk 29
    Energypowder 30
    Energy Root 31
    Heal Powder 32
    Revival Herb 33
    Ether 34
    Max Ether 35
    Elixir 36
    Max Elixir 37
    Lava Cookie 38
    Blue Flute 39
    Yellow Flute 40
    Red Flute 41
    Black Flute 42
    White Flute 43
    Berry Juice 44
    Sacred Ash 45
    Shoal Salt 46
    Shoal Shell 47
    Red Shard 48
    Blue Shard 49
    Yellow Shard 50
    Green Shard 51
    HP Up 63
    Protein 64
    Iron 65
    Carbos 66
    Calcium 67
    Rare Candy 68
    PP Up 69
    Zinc 70
    PP Max 71
    Guard Spec. 73
    Dire Hit 74
    X Attack 75
    X Defend 76
    X Speed 77
    X Accuracy 78
    X Special 79
    Poké Doll 80
    Fluffy Tail 81
    Super Repel 83
    Max Repel 84
    Escape Rope 85
    Repel 86
    Sun Stone 93
    Moon Stone 94
    Fire Stone 95
    Thunderstone 96
    Water Stone 97
    Leaf Stone 98
    Tinymushroom 103
    Big Mushroom 104
    Pearl 106
    Big Pearl 107
    Stardust 108
    Star Piece 109
    Nugget 110
    Heart Scale 111
    Orange Mail 121
    Harbor Mail 122
    Glitter Mail 123
    Mech Mail 124
    Wood Mail 125
    Wave Mail 126
    Bead Mail 127
    Shadow Mail 128
    Tropic Mail 129
    Dream Mail 130
    Fab Mail 131
    Retro Mail 132
    Cheri Berry 133
    Chesto Berry 134
    Pecha Berry 135
    Rawst Berry 136
    Aspear Berry 137
    Leppa Berry 138
    Oran Berry 139
    Persim Berry 140
    Lum Berry 141
    Sitrus Berry 142
    Figy Berry 143
    Wiki Berry 144
    Mago Berry 145
    Aguav Berry 146
    Iapapa Berry 147
    Razz Berry 148
    Bluk Berry 149
    Nanab Berry 150
    Wepear Berry 151
    Pinap Berry 152
    Pomeg Berry 153
    Kelpsy Berry 154
    Qualot Berry 155
    Hondew Berry 156
    Grepa Berry 157
    Tamato Berry 158
    Cornn Berry 159
    Magost Berry 160
    Rabuta Berry 161
    Nomel Berry 162
    Spelon Berry 163
    Pamtre Berry 164
    Watmel Berry 165
    Durin Berry 166
    Belue Berry 167
    Liechi Berry 168
    Ganlon Berry 169
    Salac Berry 170
    Petaya Berry 171
    Apicot Berry 172
    Lansat Berry 173
    Starf Berry 174
    Enigma Berry 175
    Brightpowder 179
    White Herb 180
    Macho Brace 181
    Exp. Share 182
    Quick Claw 183
    Soothe Bell 184
    Mental Herb 185
    Choice Band 186
    King's Rock 187
    Silverpowder 188
    Amulet Coin 189
    Cleanse Tag 190
    Soul Dew 191
    Deepseatooth 192
    Deepseascale 193
    Smoke Ball 194
    Everstone 195
    Focus Band 196
    Lucky Egg 197
    Scope Lens 198
    Metal Coat 199
    Leftovers 200
    Dragon Scale 201
    Light Ball 202
    Soft Sand 203
    Hard Stone 204
    Miracle Seed 205
    Blackglasses 206
    Black Belt 207
    Magnet 208
    Mystic Water 209
    Sharp Beak 210
    Poison Barb 211
    Nevermeltice 212
    Spell Tag 213
    Twistedspoon 214
    Charcoal 215
    Dragon Fang 216
    Silk Scarf 217
    Up-grade 218
    Shell Bell 219
    Sea Incense 220
    Lax Incense 221
    Lucky Punch 222
    Metal Powder 223
    Thick Club 224
    Stick 225
    Red Scarf 254
    Blue Scarf 255
    Pink Scarf 256
    Green Scarf 257
    Yellow Scarf 258
    Mach Bike 259
    Coin Case 260
    Itemfinder 261
    Old Rod 262
    Good Rod 263
    Super Rod 264
    S.S. Ticket 265
    Contest Pass 266
    Wailmer Pail 268
    Devon Goods 269
    Soot Sack 270
    Basement Key 271
    Acro Bike 272
    PokéBlock Case 273
    Letter 274
    Eon Ticket 275
    Red Orb 276
    Blue Orb 277
    Scanner 278
    Go-goggles 279
    Meteorite 280
    Rm. 1 Key 281
    Rm. 2 Key 282
    Rm. 4 Key 283
    Rm. 6 Key 284
    Storage Key 285
    Root Fossil 286
    Claw Fossil 287
    Devon Scope 288
    TM01 289
    TM02 290
    TM03 291
    TM04 292
    TM05 293
    TM06 294
    TM07 295
    TM08 296
    TM09 297
    TM10 298
    TM11 299
    TM12 300
    TM13 301
    TM14 302
    TM15 303
    TM16 304
    TM17 305
    TM18 306
    TM19 307
    TM20 308
    TM21 309
    TM22 310
    TM23 311
    TM24 312
    TM25 313
    TM26 314
    TM27 315
    TM28 316
    TM29 317
    TM30 318
    TM31 319
    TM32 320
    TM33 321
    TM34 322
    TM35 323
    TM36 324
    TM37 325
    TM38 326
    TM39 327
    TM40 328
    TM41 329
    TM42 330
    TM43 331
    TM44 332
    TM45 333
    TM46 334
    TM47 335
    TM48 336
    TM49 337
    TM50 338
    HM01 339
    HM02 340
    HM03 341
    HM04 342
    HM05 343
    HM06 344
    HM07 345
    HM08 346
    Oak's Parcel 349
    Poké Flute 350
    Secret Key 351
    Bike Voucher 352
    Gold Teeth 353
    Old Amber 354
    Card Key 355
    Lift Key 356
    Helix Fossil 357
    Dome Fossil 358
    Silph Scope 359
    Bicycle 360
    Town Map 361
    VS Seeker 362
    Fame Checker 363
    TM Case 364
    Berry Pouch 365
    Teachy TV 366
    Tri-pass 367
    Rainbow Pass 368
    Tea 369
    Mysticticket 370
    Auroraticket 371
    Powder Jar 372
    Ruby 373
    Sapphire 374

 

 

:Wooper: Giveitem

Ovvero lo script che permette al giocatore di ricevere uno strumento.

 
Cita

giveitem 0x? 0x?

 

 

 

  • Primo 0x? -> Al posto di ? dovete inserire l'id associato a un oggetto che ricevere in esadecimale
  • Secondo 0x? -> Al posto di ? dovete inserire 0 o 1 a seconda del messaggio che volete vedere visualizzato a schermo. 0x0 (Find), 0x1 (Obtained).
 

 

:Wooper: Giveegg

Script che permette di ricevere l'uovo di un Pokémon.

 
Cita

giveegg 0x?

 


Al posto di ? dovete inserire l'id associato alla specie Pokémon, in esadecimale

 

 

:Wooper: Wildbattle

Lo script che permette di cominciare una battaglia contro un Pokémon selvatico

 
Cita

wildbattle 0x? 0x? 0x?

 

 

 

  • Primo 0x? -> Al posto di ? dovete inserire l'id associato al Pokémon che volete incontrare in esadecimale
  • Secondo 0x? -> Al posto di ? dovete inserire il livello del Pokémon in esadecimale
  • Terzo 0x? -> Al posto di ? dovete inserire l'id associato a un oggetto che volete fargli tenere in esadecimale
 

 

:Wooper: Special

Questo comando fa varie cose a seconda del valore attribuito

 
Cita

special 0x?


Gli special per ora conosciuti sono i seguenti. Accanto vengono riportati gli effetti.
 

 
special 0x0 - Cura la squadra

special 0x3C - Accedi al PC di Bill (FR/LG)
special 0x98 - Animazione della funivia (R/S)
special 0x9C - Fa cominciare lo script di Wally che cattura Ralts (R/S)
special 0x9F - Scelta dello starter (R/S)
special 0xE0 - Porta Pokémelle (R/S)
special 0x10F - Fa riavviare il gioco
special 0x110 - Fa partire la sala d'onore e i crediti di fine gioco
special 0x111 - Animazione dell'ascensore
special 0x119 - Effetto dell'orb di Kyogre/Groudon (R/S)
special 0x131 - Terremoto (R/S)
special 0x132 - Mostra il piano attuale dell'edificio
special 0x133 - Terremoto di durata lunga (Emerald)
special 0x136 - Terremoto (FR/LG)
special 0x137 - Lava Battle (????????)
special 0x13D - Terremoto di durata breve (Emerald)
special 0x156 - Battaglia con il fantasma di Marowak (FR/LG)
special 0x157 - Salita sulla bici forzata (FR/LG)
special 0x161 - Surf forzato (FR/LG)
special 0x166 - Nickname di un Pokémon
special 0x16F - Attiva il Dex nazionale (FR/LG)
special 0x17B - Animazione del motoscafo del Settipelago
special 0x191 - Animazione della S.S. Anna che lascia il porto
special 0x1F3 - Attiva il Dex nazionale (Emerald)
 

 

:Wooper: Applymovement

Ovvero il comando che fa muovere gli sprites sulla mappa

Spoiler

 

Cita

applymovement 0x? @pointer
waitmovement 0x0
...
#org @pointer
#binary 0x? 0x? 0x? ... 0x? 0xFE

  • Applymovement 0x? -> Al posto di ? dovete mettere l'id associato a un minisprite su Advance Map che volete far muovere in esadecimale. Per far muovere il giocatore mettete FF.
  • Waitmovement 0x0 -> Comando che fa in modo che lo script non prosegua fino alla fine del movimento.
  • #binary 0x? ... 0xFE -> In questo pointer ci stanno i codici dei movimenti che dovete mettere. Lo 0xFE indica la fine del movimento.

 

Normalmente vi metterei una lista dei movimenti da inserire, ma in questo caso vi lascio il download di un tool molto, MOLTO utile e intuitivo per ricavare i movimenti da inserire:

Download Advance Move Maker (A.M.M.)

 

Per far muovere più persone contemporaneamene basta fare in questo modo:

Cita

applymovement 0x1 @mov1


applymovement 0x2 @mov2
waitmovement 0x0

...

#org @mov1
#binary ...

 

#org @mov2
#binary...

In questo modo il waitmovement aspetterà che entrambe le persone abbiano finito di camminare prima di proseguire con il resto dello script.

 

:Wooper: Trainerbattle

Ovvero il comando che fa cominciare la battaglia contro un allenatore


TRAINERBATTLE 0X0
Script di una normale battaglia contro un allenatore, il quale vi approccia se entrate nel suo raggio visivo.

Spoiler

 

Cita

#dynamic 0x800000


#org @start
trainerbattle 0x0 0x? 0x0 @prima @dopo
msgbox @msg 0x6
release
end

#org @prima
= Messaggio che appare prima che inizi la battaglia

#org @dopo
= Messaggio che appare al momento della vittoria

#org @msg
= Messaggio che appare quando parlate con l'allenatore dopo averlo sconfitto

Al posto di ? dovete mettere l'id associato all'allenatore che volete sfidare, ovviamente in esadecimale. Potete ricavare l'id allenatore con programmi come Unnamed Trainer Editor o A-Trainer.

Inoltre, se volete che questo script funzioni, dovete andare su Advance map e impostare la persona a cui avete dato lo script come "allenatore" e dichiarare un raggio di vista (come potete vedere nell'immagine qui sotto).

 

6HSHN7T.png

 

 


TRAINERBATTLE 0X3
Normale battaglia con un allenatore che potete inserire nello script quando volete.

Spoiler

 

Cita

#dynamic 0x800000


#org @start 

resto dello script

trainerbattle 0x3 0x? 0x0 @dopo

resto dello script

release
end

#org @dopo
= Messaggio che appare al momento dello vittoria

Al posto di ? dovete mettere l'id associato all'allenatore che volete sfidare, ovviamente in esadecimale. Potete ricavare l'id allenatore con programmi come Unnamed Trainer Editor o A-Trainer.

 

:Wooper: Warp

Fa teletrasportare il giocatore in una mappa a nostra scelta.
Esistono diversi tipi di Warp con effetti diversi, che vi andrò ad elencare.

 

WARP

Spoiler

 

Cita

warp 0x? 0x? 0x? 0x? 0x?

  • Primo 0x? -> Al posto di ? dovete mettere il Bank della mappa in cui volete teletrasportare il giocatore, in esadecimale (potete trovare i dati su Advance Map)
  • Secondo 0x? -> Al posto di ? Dovete mettere il numero della mappa in cui volete teletrasportare il giocatore, in esadecimale
  • Terzo 0x? -> Al posto di ? dovete mettere il numero del teletrasporto in cui volete far apparire il giocatore (anch'esso visibile su Advance Map), in esadecimale. Se non volete affidarvi a un warp per il teletrasporto ma a delle coordinate XY, allora mettete FE
  • Quarto 0x? -> Al posto di ? dovete mettere la coordinata X in cui volete teletrasportare il giocatore (Su Advance Map le coordinate sono già in esadecimale)
  • Quinto 0x? -> Al posto di ? dovete mettere la coordinata Y in cui volete teletrasportare il giocatore

 

 

WARPMUTED

Spoiler

 

Cita

warpmuted 0x? 0x? 0x? 0x? 0x?

Stesse richieste di inserimento, ma non sentirete il suono del warp.

 


WARPWALK

Spoiler

 

Cita

warpwalk 0x? 0x? 0x? 0x? 0x?

Stesso discorso, ma il player farò l'animazione di camminata

 


WARPHOLE

Spoiler

 

Cita

warphole 0x? 0x?

  • Primo 0x? -> Al posto di ? dovete mettere il Bank della mappa in cui volete teletrasportare il giocatore, in esadecimale (potete trovare i dati su Advance Map)
  • Secondo 0x? -> Al posto di ? Dovete mettere il numero della mappa in cui volete teletrasportare il giocatore, in esadecimale

Questo warp farà sprofondare il giocatore nella sabbia/qualunque altro terreno vogliate e lo teletrasporterà nella mappa scelta, nella stessa posizione X/Y della mappa precedente.

 


WARPTELEPORT

Spoiler

 

Cita

warpteleport 0x? 0x? 0x? 0x? 0x?

Stesse richieste di inserimento di un normale warp, solo che avrete l'effetto "teletrasporto" dei pannelli della Silph S.p.a.

 

 

:Wooper: Movecamera

Ovvero lo script che ci permette di muovere la telecamera a piacimento.

Spoiler

 

Cita

#dynamic 0x800000


#org @start 

resto dello script

special 0x113
applymovement 0x7F @cam1
waitmovement 0x0
special 0x114

resto dello script

#org @cam1
#binary 0x? ... 0xFE

"Ma scusa, questo è un applymovement". Esatto, è un applymovement ma fatto alla telecamera, ez.

  • special 0x113 -> Permette di sbloccare la telecamera
  • applymovement 0x7F -> Il 7F è il numero esadecimale abbinato alla telecamera
  • special 0x114 -> Blocca la telecamera alla fine del movimento


Mi raccomando: se avete mosso la telecamera ricordatevi di farla tornare al posto giusto con un secondo applymovement.

 

 

:Wooper: Hidesprite e Fadescreen

Ovvero come fa scomparire uno sprite (hidesprite) e come far diventare lo schermo bianco o nero (fadescreen).

 

HIDESPRITE

Spoiler
Cita

hidesprite 0x?

 

Al posto di ? dovete mettere l'id associato a un minisprite su Advance Map che volete far scomparire.
Attenzione! Lo script non lo farà scomparire permanentemente e meno che nell'ID persona non sia presente una flag attiva. Per far scomparire permanentemente una persona ci vuole uno script del genere:

Cita

#dynamic 0x800000


#org #start

resto dello script

hidesprite 0x?

resto dello script

setflag 0x?
release
end

 

 

 


FADESCREEN

Spoiler
Cita

fadescreen 0x?

 

Al posto di ? dovete mettere uno dei seguenti valori, in base all'effetto che volete dare.

  • 0x1 -> Fa diventare lo schermo nero
  • 0x0 -> Fa tornare lo schermo da nero a normale
  • 0x3 -> Fa diventare lo schermo bianco
  • 0x2 -> Da tornare lo schermo da bianco a normale

 


FADESCREENDELAY

Spoiler
Cita

fadescreendelay 0x? 0x?

 

Fa la stessa cosa del fadescreen normale, ma con un certo delay. Praticamente con questo comando otterrete l'effetto di dissolvenza graduale, in base a quanto delay indicherete.

  • [*]Primo 0x? -> Al posto di ? dovete inserire 0, 1, 2, 3 a seconda dell'effetto che volete ottenere. (È indicato nella sezione "Fadescreen").
    [*]Secondo 0x? -> Al posto di ? dovete inserire i frame di delay in esadecimale.

 

 

:Wooper: Pokemart

Ovvero come impostare lo script del Pokémon Market

Spoiler

 

Cita

#dynamic 0x800000


#org @start  
lock
faceplayer
msgbox @msg 0x4
pokemart @mart 
msgbox @msg2 0x6
release
end

#org @msg
= (Mettete qui il messaggio che volete far apparire prima che vi faccia vedere gli strumenti acquistabili)

#org @msg2
= Arrivederci!

#org @mart 
#raw word 0x?
#raw word 0x?
...
#raw word 0x?
#raw word 0x0

  • #raw word 0x? -> Al posto di ? dovete inserire l'id associato a un oggetto che volete veder venduto, in esadecimale.
  • #raw word 0x0 -> Sarebbe il pulsante "esci"

 

 

:Wooper: Yes/No Msgbox

Ovvero un evento che vi fa scegliere se rispondere Sì/No, e in base a quello far continuare lo script in maniera differente.

Spoiler

 

Cita

#dynamic 0x800000


#org @start
lock

resto dello script

msgbox @msg 0x5
compare 0x800D 0x1
if 0x1 goto @yes

resto dello script nel caso in cui si risponda "No"

release
end

#org @msg
= (Mettete qui il messaggio che prevede una risposta Yes/No)

#org @yes
Resto dello script nel caso in cui si risponda "Sì"
release
end

 

Ok, ci sono un sacco di cose nuove, quindi andiamo con ordine.

  • msgbox @msg 0x5 -> Messaggio che fa comparire alla fine del testo una finestra di scelta YES/NO
  • compare 0x800D 0x1 -> La variabile 800D viene anche chiamata "Lastresult"; qui viene momentaneamente "immagazzinato" un valore, che verrà poi confrontato con quello di "if 0x?". In questo caso verrà immagazzinato il valore della nostra risposta alla domanda YES/NO.
  • if 0x1 goto @yes -> "Se il valore immagazzinato nella variabile 800D è 1 (if 0x1, ovvero se la risposta è "sì"), allora fai proseguire lo script da #org @yes in poi, altrimenti fallo continuare normalmente"

 

 

:Wooper: Checkitem/Removeitem

Ovvero i comandi che controllano che abbiate una determinata quantità di un certo strumento (checkitem) e in caso rimuoverlo (removeitem).
Utile se dovete consegnare/usare un oggetto durante la storia.

Spoiler

 

Cita

#dynamic 0x800000


#org @start 
lock

resto dello script

checkitem 0x? 0x?
compare 0x800D 0x1
if 0x? goto @ok 

resto dello script se non avete lo strumento richiesto

release
end

#org @ok  
removeitem 0x? 0x?

resto dello script
release
end

  • checkitem 0x? 0x? -> Controlla che abbiate tot unità di un determinato strumento e in base al risultato immagazzina un valore nella variabile 800D. Al posto del primo ? dovete mettere l'id associato ad uno strumento in esadecimale, al posto del secondo ? la quantità di quell'oggetto, sempre in esadecimale.
  • compare 0x800D 0x1 -> In questo caso nella variabile 800D viene immagazzinato un valore corrispondente alla quantità dell'oggetto.
  • if 0x? goto @ok -> "Se la quantità dell'oggetto soddisfa la comparazione, allora fai proseguire lo script da #org @ok", altrimenti fallo continuare normalmente"

Al posto di ? potete mettere uno di questi valori, che vi riporto sotto spoiler.

 
  • if 0x0 -> Se la quantità è minore di X, allora vai a #org @... 
  • if 0x1 -> Se la quantità è X, allora vai a #org @... 
  • if 0x2 -> Se la quantità è più grande di X, allora vai a #org @...  
  • if 0x3 -> Se la quantità è minore o uguale a X, allora vai a #org @...  
  • if 0x4 -> Se la quantità è maggiore o uguale a X, allora vai a #org @... 
  • if 0x5 -> Se la quantità non è esattamente X, allora vai a @org @...

 

  • removeitem 0x? 0x? -> Al posto del primo ? dovete mettere l'id associato ad uno strumento in esadecimale, al posto del secondo ? la quantità di quell'oggetto, sempre in esadecimale. Verrà sottratta una quantità X di quell'oggetto dal vostro zaino.

 

 

:Wooper: Countpokemon

Ovvero un comando che vi permette di contare quanti Pokémon ci siano nel vostro team e salvare il valore nella variabile 800D. Ha molteplici utilizzi, ma quello più usato è il seguente.

Spoiler

 

Mettiamo che vogliate donare un Pokémon al giocatore e volete fare un modo che abbia assolutamente uno spazio in squadra per accoglierlo. Come facciamo? Ez.

Cita

#dynamic 0x800000


#org @start 
lock

resto dello script

countpokemon
compare 0x800D 0x6
if 0x1 goto @nope 

resto dello script nel caso in cui abbiamo uno spazio in squadra
givepokemon 0x? 0x? 0x? 0x0 0x0 0x0

release
end

#org @nope
resto dello script nel caso in cui non abbiamo uno spazio in squadra
release
end

  • countpokemon -> Comando che conta quanti Pokémon abbiamo in squadra e immagazzina il valore in 800D
  • compare 0x800D 0x6 -> Compara il valore della variabile 800D con quello scelto da noi (nel mio caso 6)
  • if 0x1 goto @nope -> Stiamo praticamente chiedendo se il valore di 800D sia uguale a 6. Se è uguale fa continuare lo script da #org @nope (dove non riceviamo il Pokémon), altrimenti lo fa continuare normalmente (facendoci ricevere il Pokémon).

 

 

:Wooper: Setweather/Doweather/Resetweather

Ovvero i comandi che controllano il tempo meteorologico.

FAR CAMBIARE TEMPO

Spoiler
Cita

setweather 0x?


doweather

 

  • setweather 0x? -> Prepara il gioco al cambio di tempo. Al posto di ? dovete mettere uno sei seguenti valori, a seconda del tempo che volete mettere (Ringrazio Flygon per l'elenco e la traduzione).

 

Spoiler
  • 0x0: Niente
  • 0x1: Nuvole si riflettono nell’acqua
  • 0x2: Normale
  • 0x3: Pioggia
  • 0x4: tre fiocchi di neve
  • 0x5: Temporale 
  • 0x6: Nebbia
  • 0x7: Neve
  • 0x8: Tempesta di sabbia
  • 0x9: Nebbia diagonale
  • 0xA: Nebbia sottile
  • 0xB: Nuvoloso
  • 0xC: Sole
  • 0xD: Temporale2
  • 0xE: Niente

 

  • doweather -> Esegue il cambio del tempo meteorologico

 


FAR RITORNARE IL TEMPO NORMALE

Spoiler
Cita

resetweather


doweather

 

Non ve li spiego nemmeno perché credo che i comandi parlino da soli.

 

:Wooper: Movesprite

Ovvero il comando che permette di teletrasportare un NPC in un'altra parte della mappa.

Spoiler

 

Cita

movesprite 0x? 0x? 0x?

  • Primo 0x? -> Al posto di ? dovete mettere il numero persona dell'NPC su Advance map, in esadecimale
  • Secondo 0x? -> Al posto di ? dovete mettere la coordinata X della mappa, in esadecimale
  • Terzo 0x? -> Al posto di ? dovete mettere la coordinata Y della mappa, in esadecimale

 

 

:Wooper: Showpokepic/hidepokepic

Ovvero come mostrare l'immagine di un Pokémon (o un eventuale mugshot di un personaggio) in una determinata posizione dello schermo/rimuoverla una volta che non la si vuole più veder visualizzata.

Spoiler

 

Cita

showpokepic 0x? 0x? 0x?

  • Primo 0x? -> Al posto di ? dovete mettere l'id di un Pokémon che volete far apparire, in esadecimale
  • Secondo 0x? -> Al posto di ? dovete mettere la coordinata X in esadecimale
  • Terzo 0x? -> Al posto di ? dovete mettere la coordinata Y in esadecimale

 

Visto che sono una brava persona vi voglio aiutare nella ricerca delle coordinate corrette:

 

CENTRO DELLO SCHERMO
X = A
Y = 3

kR0ApEY.png

 

CENTRO-SINISTRA (Mugshot)
X = 1
Y = 4

k5pYKAu.png

 

Cita

hidepokepic

Rimuove la showpokepic attualmente visualizzata.

 

 

:Wooper: "Comandi delle porte"

Era l'unico nome per riassumere i comandi legati all'apertura e alla chiusura delle porte, F.

Spoiler

 

Cita

setdooropened 0x? 0x?

Fa capire al gioco che la porta in una determinata posizione dovrà essere aperta a breve.

  • Primo 0x? -> Al posto di ? dovete mettere la coordinata X della porta in esadecimale
  • Secondo 0x? -> Al posto di ? dovete mettere la coordinata Y della porta in esadecimale

 

Cita

setdoorclosed 0x? 0x?

Fa capire al gioco che la porta in una determinata posizione dovrà essere aperta a breve.

  • Primo 0x? -> Al posto di ? dovete mettere la coordinata X della porta in esadecimale
  • Secondo 0x? -> Al posto di ? dovete mettere la coordinata Y della porta in esadecimale

 

Cita

doorchange

È il comando che esegue ciò che è stato dichiarato in setdooropened e setdoorclosed.

 

 

:Wooper: Setmaptile

Ovvero "quel comando che all'inizio sembra inutile, ma che in combinazione agli script di mappa può fare cose molto belle".
È il comando che serve a far cambiare il blocco in una determinata coordinata in un altro a nostra scelta.

Spoiler

 

Cita

setmaptile 0x? 0x? 0x? 0x?

Sarà una parte leggermente complicata che dovrete abbinare ad uno script di mappa, se la volete rendere permanente.

  • Primo 0x? -> Al posto di ? dovete mettere la coordinata X del blocco che volete cambiare, in esadecimale
  • Secondo 0x? -> Al posto di ? dovete mettere la coordinata Y del blocco che volete cambiare in esadecimale
  • Terzo 0x? -> Al posto di ? dovete mettere il numero del blocco che volete mettere al posto di quello vecchio. Per vedere il numero del blocco basta seguire i seguenti passaggi:

6ikc8Rj.png

1) Cliccate sul pezzo di puzzle in Advance Map
2) Cliccate sul blocco desiderato
3) Il numero indicato dal numero 3 è ciò che cercate

  • Quarto 0x? -> Al posto di ? dovete mettere 0 o 1, a seconda del comportamento che volete far assumere al nuovo blocco: calpestabile (0) o non calpestabile (1).

 

Cita

special 0x8E

È lo special che fa ricaricare la mappa, in modo che il setmaptile possa essere visto.

 

 

:Wooper: Comandi sonori

Ho raggruppato tutti i comandi riguardati il suono/musiche sotto un'unica sezione.

Spoiler

 

Cita

playsong 0x? 0x0

Comando per far partire all'istante una traccia. Al posto di ? dovete mettere il numero di una traccia che volete far partire, in esadecimale. L'elenco delle tracce è disponibile su Advance Map -> Vista Header -> Opzioni Mappa -> Musica.

 

Cita

fadesong 0x?

Stessa funzione del playsong, ma con effetto fade. Al posto di ? dovete mettere il numero di una traccia che volete far partire, in esadecimale.

 

Cita

sound 0x?

Fa sentire un suono. Al posto di ? dovete mettere il numero di un suono che sentite tramite Sappy, in esadecimale. Provvederò quanto prima a mettere una lista.

 

Cita

fanfare 0x?

Fa sentire una fanfara (come il motivetto di cura dei Pokémon). Al posto di ? dovete mettere il numero di una traccia che volete far partire, in esadecimale. Potete trovare i numeri su Advance Map come per il playsong.

 

Cita

waitfanfare

Aspetta che la fanfara sia finita prima di far continuare l'evento.

 

Cita

cry 0x? 0x0

Fa sentire il verso di un Pokémon. Al posto di ? dovete mettere il numero di un Pokémon, in esadecimale.

 

Cita

waitcry

Aspetta che il verso sia finito prima di far continuare l'evento.

 

:Wooper: Comandi monetari

Tramite questi comandi possiamo gestire i nostri introiti e diventare Zio Paperone.

Spoiler

 

Cita

givemoney 0x? 0x00

Tramite questo comando riceveremo dei soldi. Al posto di ? dovete mettere il numero di soldi in esadecimale che volete ricevere

 

Cita

paymoney 0x? 0x00

Tramite questo comando ci verranno detratti dei soldi. Al posto di ? dovete mettere il numero di soldi in esadecimale che volete detrarre

 

Cita

checkmoney 0x? 0x00

Simile al checkitem, controlla se abbiamo una certa quantità di soldi prima di procedere con lo script. Al posto di ? dovete mettere il numero di soldi in esadecimale che volete impostare come soglia.

 

Logicamente lo script sarà strutturato come se fosse un check:

Spoiler

 

Cita

#dynamic 0x800000


#org @start 
lock

resto dello script

checkmoney 0x? 0x00
compare 0x800D 0x1
if 0x? goto @ok 

resto dello script in caso non abbiate la somma richiesta

release
end

#org @ok 
resto dello script nel caso in cui si abbia la somma
release
end

  • Checkmoney 0x? 0x00 -> Al posto di ? dovete mettere la quantità di soldi in esadecimale che volete impostare come check.
  • if 0x? goto @ok -> Al posto di ? dovete mettere un numero tra 0 e 5, a seconda del valore della vostra comparazione (potete trovare i valori nella sezione "checkitem".

 

 

Cita

showmoney 0x? 0x? 0x00

Mostra a schermo un box che indica quanti soldi abbiamo.

  • Primo 0x? -> Al posto di ? dovete mettere la coordinata X in esadecimale
  • Secondo 0x? -> Al posto di ? dovete mettere la coordinata Y in esadecimale

Solitamente la posizione in cui viene visualizzato il box è la [0,0].

 

Cita

hidemoney 0x? 0x?

Fa sparire il box presente nelle coordinate indicate nel comando.

  • Primo 0x? -> Al posto di ? dovete mettere la coordinata X in esadecimale
  • Secondo 0x? -> Al posto di ? dovete mettere la coordinata Y in esadecimale

 

Cita

updatemoney 0x? 0x? 0x00

Fa cambiare il numero di soldi visualizzati a schermo in un determinato box dopo averne aggiunti o detratti.

  • Primo 0x? -> Al posto di ? dovete mettere la coordinata X in esadecimale
  • Secondo 0x? -> Al posto di ? dovete mettere la coordinata Y in esadecimale

 

 


 

 

 

 

 

 

Our Projects (ongoing)

 

[Immagine: t1OEFpp.png] [Immagine: aDUlr8Y.png]

 

Old Projects

 

[Immagine: scarso1.png] [Immagine: penumbra1.png]

[Immagine: ciano.png]

 

Awards

[Immagine: tumblr_npqfq38PKG1tp2yqno6_400.png]

Link al commento
Condividi su altre piattaforme

Archiviata

La discussione è ora archiviata e chiusa ad ulteriori risposte.

  • Utenti nella discussione   0 utenti

    • Nessun utente registrato sta visualizzando questa pagina.
×
×
  • Crea...