Registrarse

[RH - Scripting] [ESCUELA DE SCRIPT] Pokemart / Dinero

Estado
Cerrado para nuevas respuestas.

Xabier2012

Usuario mítico



Abrir un Pokemart

Con el comando pokemart podemos abrir una tienda fácilmente. Lo único que tendremos que hacer nosotros es indicar que objetos tendrá nuestro pokemart, lo cual indicaremos en un offset al utilizar el comando pokemart, de tal forma que se utiliza así:

Código:
lock
faceplayer
pokemart @objetos
release
end

Elegir objetos

Al igual que cuando utilizamos un msgbox o un applymovement, en el comando pokemart tenemos un offset (@objeto) extra en el cual indicaremos los objetos que tendrá nuestra tienda.

Y esto se hace con #raw word 0x(nº objeto)

Nº objeto es el número del objeto que utilizamos en giveitem por ejemplo. Es decir, tenéis que poner el número de acuerdo a la lista que os había dado cuando aprendimos el giveitem. Os pongo la lista para que os sea más cómodo:

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

Imaginemos que queremos un pokemart que nos venda simplemente pokeballs y pociones. Pues quedaría así:

Código:
lock
faceplayer
pokemart @objetos
release
end

#org @objetos
#raw word 0x4
#raw word 0xD
¿Por qué 4 y D? Porque en la lista la pokeball es la numero 4, y la pocion en la numero 13. Si pasamos 4 y 13 a hexadecimal nos quedan 4 y D respectivamente.


Givemoney

Con este comando le podréis dar dinero a player:

Código:
givemoney 0x(cantidad a dar) 0x0
Es simple, solo hay que poner la cantidad de dinero a dar. El único "problema" que se os puede presentar es que la cantidad la tenéis que poner en hexadecimal, de tal forma que si queréis dar 1.000 de dinero tenéis que poner así:

Código:
givemoney 0x3E8 0x0

Paymoney

Este es igual que el anterior, solo que este en vez de dar dinero, quita al jugador dinero.

Código:
paymoney 0x(cantidad de dinero a quitar) 0x00

checkmoney

Vamos a ver el comando para comprobar si nuestro jugador tiene una cierta cantidad de dinero. Este comando es realmente el más importante, ya que si queremos hacer un script donde nuestro jugador tenga que pagar, tenemos que comprobar si tiene esa cantidad de dinero previamente.

Primero, tenemos que utilizar este comando:

Código:
checkmoney 0x(cantidad a comprobar) 0x00
En este comando fijamos la cantidad que queremos comprobar si se tiene.

¿Os acordáis de la variable 800D? La cual es una variable reservada para el juego donde se almacenan cierto valores dependiendo del comando que utilicemos. En este caso, cuando utilizamos el comando checkmoney, si tenemos el dinero o más, esta variable tendrá el valor 1, y en caso contrario tendrá el valor cero. Entonces, lo que tendremos que hacer es comprobar si la variable 800D tiene el valor 1 o mayor, y en ese caso continuar el script en otro offset. Así:

Código:
checkmoney 0x3E8 0x0
compare 0x800D 0x1
if 0x0 goto @notener
Aquí hemos puesto la siguiente condición: si la variable 800D tiene un valor inferior (if 0x0) a uno (compare 0x800D 0x1), iremos al offset en el cual nos dirán que no tenemos el dinero suficiente (goto @notener)

Recordad que también podéis utilizar el compare LAST_RESULT 0x1


Enseñar el dinero

Normalmente, cuando hacemos algún script relacionado con el dinero, ponemos el cuadrado que nos indica el dinero que tenemos actualmente. Pues esto lo podemos hacer con un comando. Hay uno para enseñar la caja del dinero y otro para volverla ocultar.

Si queremos enseñar la caja del dinero pondremos:

Código:
showmoney 0x(X) 0x(Y) 0x0
X e Y son las coordenadas donde queremos que aparezca nuestra caja (ya hemos dado como mirar las coordenadas en el mapa), y el 0x00 es por defecto.

Si queremos que nuestro caja salga en la esquina superior izquierda, pondremos esto:

Código:
showmoney 0x0 0x0 0x0
Para que desaparezca la caja del dinero, pondremos un comando muy parecido:

Código:
hidemoney 0x(X) 0x(Y)
Hay que volver a poner las coordenadas puestas previamente en el showmoney.


Tarea Opcional

Hacer un script de un pokemart donde te vendan 5 objetos que tu elijas (No pueden ser objetos clave).

Luego hacer otro script donde al hablar con un mini te pida dinero, en caso de que se lo des (y tengas esa cantidad):

1-El mini no te volverá a pedir dinero
2-El pokemart tendrá ahora un objeto más a la venta.

*Tengo que aclarar que he estado sobre una semana de vacaciones en la playa. Esta tarea la puede hacer quien quiera, se la corregiré en este mismo tema. Un saludo
@Tervaxx @Toni @rdoble @AwesomeCS @RafaSc3 @LluviaElemental @AlexanderWWE @Axnez @♦ZeØn♦ @jfem
 
Estado
Cerrado para nuevas respuestas.
Arriba