Registrarse

[RH - Scripting] [ESCUELA DE SCRIPT] GivePokémon / Motes

Estado
Cerrado para nuevas respuestas.

Xabier2012

Usuario mítico



Givepokemon

Con este comando, como su nombre indica, podemos dar un pokémon a nuestro player, los parámetros son los siguientes:

Código:
givepokemon 0x(Nº de pokémon) 0x(Nivel) 0x(Nº Item equipado) 0x0 0x0 0x0
Pues bien, procedo a explicar cada cosa aunque se intuye.

Nº de pokémon corresponde al número de la lista pokémon, el cual queremos entregar, recordad que siempre en hexadecimal. Siqueremos entregar un bulbasaur que es el primer pokémon de la lista si mal no recuerdo, pondríamos un 0x1.

Nivel es el nivel al que será entregado el pokémon

Nº item equipado, aquí ponemos el número de un item si queremos que lo tenga equipado el pokémon. Si no queremos que tenga nada equipado ponemos 0.

Los últimos tres 0x0 son buffers, es decir, no los toquéis y os irá bien, XD.

Vamos a entregar un caterpie nivel 99 sin objetos:

Código:
givepokemon 0xA 0x63 0x0 0x0 0x0 0x0
Os pondré la lista pokémon, recordar que los números decimales que damos en los comandos los tenéis que pasar a hexa. Y esto con cualquier número de cualquier comando.

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



Giveegg

Este comando es mucho más fácil porque se trata simplemente de dar un huevo pokémon (no puede llevar objetos). Solo hay que poner Giveegg 0x(Nº pokémon). Un huevo de un mewtwo sería así:

Código:
Giveegg 0x96


Mote al primer pokémon

Cuando hablamos de poner motes se complica la cosa, porque es más difícil de lo que parece. Pero no en el caso de recibir tu primer pokémon.

Código:
special 0x9E
Este es el comando por el cual se le pone mote a tu primer pokémon. También lo utilizaremos para cualquier otro pokémon pero será más complicado.

Código:
special 0x9E
waitstate
Después de un special, sobretodo aquellos que os lleven a otras pantallas, tenéis que poner un waitstate para que el script espere a que se haya producido todo el special de forma correcta y no de bugs ni problemas.



Motes al recibir un pokémon

Tenemos que tener en cuenta varios factores, el principal es saber si tenemos o no hueco en el equipo para recibir el pokémon. También se puede dar el caso de que se pueda enviar el pokémon al pc pero eso depende de vosotros. De todas formas, para comprobar cuantos pokémons tenemos en el equipo utilizaremos este comando:

Código:
countpokemon
El funcionamiento es el siguiente: Al utilizar este comando, la variable 800D tendrá el valor igual al número de pokémons en nuestro equipo. Es decir, que si tenemos 6 la variable 800D pasará a tener el valor "6". De esta forma podemos poner una condición, si la variable 800D es igual a 6 pues no continuaremos el script por ejemplo.

Este script no funcionará si tenéis seis pokémon en vuestro equipo (Os eliminaría uno).

Os voy a poner el script para poner un mote:

Código:
countpokemon
subvar LASTRESULT 0x1
copyvar 0x8004 LASTRESULT
fadescreen 0x1
special 0x9E
Lo que hacemos es exactamente esto:

1-Contamos cuantos pokemon tenemos
2-A la variable 800D le restamos 1
3-Damos el valor de la variable 800D a la variable 8004
4-Un fadescreen normal
5-Ponemos mote al pokémon que nos acaban de dar.

¿Por qué hacemos esto? Porque el special 0x9E trabaja sobre la variable 8004 y dependiendo del valor de esta le podemos dar el mote al último pokemon obtenido, por eso restamos uno a la cantidad de pokémon que tengamos, para que al copiar el valor en la variable 8004 se le pueda dar al último pokémon un mote, sino se lo daría a otro o no se lo daría a ninguno.

Voy a explicarlo de otra forma:

El special 0x9E da mote al pokémon del equipo según la variable 8004. Si esta variable es 0 le dará mote al primer pokémon, si es 1 al segundo y así sucesivamente. Para saber a qué pokémon se lo tenemos que dar utilizamos el siguiente truco: Sabemos que el pokémon que nos den se pondrá en último lugar, entonces tenemos que hacer que la variable 8004 corresponda con la nueva cantidad de pokémon que tenemos, para eso hacemos un countpokemon, y el valor que tenga la variable 800D será el número de pokemon que tenemos ahora, entonces con copyvar el valor de 800D pasará a 8004. ¿Entonces porqué le restamos uno? Porque para el special 0x9E si le queremos poner un mote al primer pokémon sería 0 y no 1, y el countpokemon si tenemos un solo pokémon pondrá el valor 1 y no el cero. Entonces hay que restar uno para que se ajuste a lo que el special entiende por el primer pokémon y la posición de estos.

Largo de explicar, pero no muy difícil de entender. Aún no hemos dado subvar y copy var aunque os acabo de explicar para que sirven.

Si queréis hacer un inspector de motes simplemente copiarlo del que viene en el juego. Poner un mote y enviarlo luego al pc es bastante más difícil de lo que acabamos de hacer, y más que difícil complejo, de todas formas no descarto en explicarlo en un futuro.
@Tervaxx @Toni @rdoble @AwesomeCS @RafaSc3 @LluviaElemental @AlexanderWWE @Axnez @Zeon! @jfem
 
Estado
Cerrado para nuevas respuestas.
Arriba