qna_rh
Thread Id: 12128
Thread Name: [Emerald] Puedo cambiar algun item de pc que canjeas en el casino por un pokemon?
#0
Maxi 16843
bueno, anoche y hace rato estuve intentando tratar de cambiar el item del muñeco treecko por un porygon pero me volvi loco y no pude hacerlo, resulta que yo creia que era solo cambiar el bufferpcitem por el bufferpokemon y agregar el codigo del pokemon, nivel y objeto al lado pero me equivoque, ya que tambien hay que agregarle lo que pasa cuando tenes las cajas llenas, lo de agregarle un mote, lo de que se envia a la pc de alguien o de la chica y que si la caja esta llena que te lo guarda en otra caja, espero que puedan ayudarme, por las dudas dejo el script completo para que me digan bien que debo reemplazar y/o agregar ya que no se mucho de esto, queria empezar con esto xD

#1
cosarara97 12296
Bueno, no se muy bien como funciona el script del casino, pero básicamente lo que hay que hacer es que en lugar de darte un muñeco te dé un pokemon.
Fijate en esta parte del script:
copyvar 0x8000 0x4001
compare 0x8000 0x1
if 0x1 goto 0x820FDCB
compare 0x8000 0x2
if 0x1 goto 0x820FE05
compare 0x8000 0x3
if 0x1 goto 0x820FE3F
Lo primero que hace es copiar la variable 0x4001 en 0x8000. 0x4001 (que es algo así como un lastresult) es donde había escrito lo que había elegido el player, pero ahora lo leeremos de 0x8000.
Bueno, no se que items/pokemons son en este caso, pero cada uno te lleva a un offset diferente, donde, después de comprobar si tienes dinero y de que lo confirmes, te entregan el item.

Basicamente los scrips que nos interesan son los que son como este. (le he añadido comentarios)
#org 0x20FDCB
checkcoins 0x4002 ' Mira cuantas monedas tienes y almacena el numero en 0x4002
compare 0x4002 0x3E8 ' Mira si tienes 0x3E8 monedas
if 0x0 goto 0x820FE79 ' Si no las tienes (la comparación dio como resultado 0x0) te envía a 0x820FE79
bufferpcitem 0x1 0x58 ' --- Pone el item 0x58 en buffer
checkdecoration 0x58 ' --- Mira si te falta el item, el resultado se irá a lastresult
compare LASTRESULT 0x0 ' --- Lo compara con "Falso" (tienes el item)
if 0x1 goto 0x820FE87 ' --- Si ya lo tienes no puedes volver a comprarlo, y te envía a 0x820FE87
removecoins 0x3E8 ' Te cobra el objeto
adddecoration 0x58 ' +++ Te da el objeto
updatecoins 0x1 0x1 ' Te actualiza las fichas
sound 0x5F ' Un sonido. De dinero, supongo.
msgbox 0x8210646 '"Thank you!\nWe'll send it to your P..." ' +++ Gracias por comprar, te lo enviaremos...
callstd 0x4 ' Estas usando el XSE viejo...
goto 0x820FD20 ' Te envía a 0x820FD20, donde puedes comprar otro.
end
Te he marcado con --- las que hay que borrar y con +++ las que hay que cambiar.

El script tiene que cobrarte y todo esto, tienes que cambiar el adddecoration por un givepokemon, y cambiar los mensajes.
Lo de comprobar las cajas el givepokemon no se si lo hace, pero el mote creo que si... Si no lo hace tendrás que jugar un poco más con los buffers xD


Bye!