Registrarse

[Emerald] Puedo cambiar algun item de pc que canjeas en el casino por un pokemon?

Estado
Cerrado para nuevas respuestas.
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
Código:
'-----------------------
#org 0x20FCF1
lock
faceplayer
msgbox 0x82105D7 '"Welcome.\pYou can exchange your COI..."
callstd 0x4
checkitem 0x104 0x1
compare LASTRESULT 0x1
if 0x1 goto 0x820FD0D
release
end

'-----------------------
#org 0x20FD0D
msgbox2 0x821060D '"Which prize would you like?"
waitmsgbox
setvar 0x4001 0x0
showcoins 0x1 0x1
goto 0x820FD2B
msgbox2 0x821060D '"Which prize would you like?"
waitmsgbox
goto 0x820FD2B
multichoice 0xC 0x0 0x30 0x0
copyvar 0x8000 LASTRESULT
compare 0x8000 0x0
if 0x1 goto 0x820FD67
compare 0x8000 0x1
if 0x1 goto 0x820FD75
compare 0x8000 0x2
if 0x1 goto 0x820FD83
compare 0x8000 0x3
if 0x1 goto 0x820FE92
goto 0x820FE92
end

'-----------------------
#org 0x20FD2B
multichoice 0xC 0x0 0x30 0x0
copyvar 0x8000 LASTRESULT
compare 0x8000 0x0
if 0x1 goto 0x820FD67
compare 0x8000 0x1
if 0x1 goto 0x820FD75
compare 0x8000 0x2
if 0x1 goto 0x820FD83
compare 0x8000 0x3
if 0x1 goto 0x820FE92
goto 0x820FE92
end

'-----------------------
#org 0x20FD67
setvar 0x4001 0x1
bufferpcitem 0x0 0x58
goto 0x820FD91
setvar 0x4001 0x2
bufferpcitem 0x0 0x59
goto 0x820FD91
setvar 0x4001 0x3
bufferpcitem 0x0 0x5A
goto 0x820FD91
msgbox 0x8210705 '"So your choice is [buffer1]?"
callstd 0x5
compare LASTRESULT 0x0
if 0x1 goto 0x820FE92
copyvar 0x8000 0x4001
compare 0x8000 0x1
if 0x1 goto 0x820FDCB
compare 0x8000 0x2
if 0x1 goto 0x820FE05
compare 0x8000 0x3
if 0x1 goto 0x820FE3F
end

'-----------------------
#org 0x20FD75
setvar 0x4001 0x2
bufferpcitem 0x0 0x59
goto 0x820FD91
setvar 0x4001 0x3
bufferpcitem 0x0 0x5A
goto 0x820FD91
msgbox 0x8210705 '"So your choice is [buffer1]?"
callstd 0x5
compare LASTRESULT 0x0
if 0x1 goto 0x820FE92
copyvar 0x8000 0x4001
compare 0x8000 0x1
if 0x1 goto 0x820FDCB
compare 0x8000 0x2
if 0x1 goto 0x820FE05
compare 0x8000 0x3
if 0x1 goto 0x820FE3F
end

'-----------------------
#org 0x20FD83
setvar 0x4001 0x3
bufferpcitem 0x0 0x5A
goto 0x820FD91
msgbox 0x8210705 '"So your choice is [buffer1]?"
callstd 0x5
compare LASTRESULT 0x0
if 0x1 goto 0x820FE92
copyvar 0x8000 0x4001
compare 0x8000 0x1
if 0x1 goto 0x820FDCB
compare 0x8000 0x2
if 0x1 goto 0x820FE05
compare 0x8000 0x3
if 0x1 goto 0x820FE3F
end

'-----------------------
#org 0x20FE92
msgbox 0x82106BF '"Oh, is that so? \nYou need to save ..."
callstd 0x4
hidecoins 0x0 0x0
release
end

'-----------------------
#org 0x20FD91
msgbox 0x8210705 '"So your choice is [buffer1]?"
callstd 0x5
compare LASTRESULT 0x0
if 0x1 goto 0x820FE92
copyvar 0x8000 0x4001
compare 0x8000 0x1
if 0x1 goto 0x820FDCB
compare 0x8000 0x2
if 0x1 goto 0x820FE05
compare 0x8000 0x3
if 0x1 goto 0x820FE3F
end

'-----------------------
#org 0x20FDCB
checkcoins 0x4002
compare 0x4002 0x3E8
if 0x0 goto 0x820FE79
bufferpcitem 0x1 0x58
checkdecoration 0x58
compare LASTRESULT 0x0
if 0x1 goto 0x820FE87
removecoins 0x3E8
adddecoration 0x58
updatecoins 0x1 0x1
sound 0x5F
msgbox 0x8210646 '"Thank you!\nWe'll send it to your P..."
callstd 0x4
goto 0x820FD20
end

'-----------------------
#org 0x20FE05
checkcoins 0x4002
compare 0x4002 0x3E8
if 0x0 goto 0x820FE79
bufferpcitem 0x1 0x59
checkdecoration 0x59
compare LASTRESULT 0x0
if 0x1 goto 0x820FE87
removecoins 0x3E8
adddecoration 0x59
updatecoins 0x1 0x1
sound 0x5F
msgbox 0x8210646 '"Thank you!\nWe'll send it to your P..."
callstd 0x4
goto 0x820FD20
end

'-----------------------
#org 0x20FE3F
checkcoins 0x4002
compare 0x4002 0x3E8
if 0x0 goto 0x820FE79
bufferpcitem 0x1 0x5A
checkdecoration 0x5A
compare LASTRESULT 0x0
if 0x1 goto 0x820FE87
removecoins 0x3E8
adddecoration 0x5A
updatecoins 0x1 0x1
sound 0x5F
msgbox 0x8210646 '"Thank you!\nWe'll send it to your P..."
callstd 0x4
goto 0x820FD20
end

'-----------------------
#org 0x20FE79
msgbox 0x8210673 '"You don't have enough COINS."
callstd 0x4
goto 0x820FD20
end

'-----------------------
#org 0x20FE87
call 0x8272071
goto 0x820FD20
end

'-----------------------
#org 0x20FD20
msgbox2 0x821060D '"Which prize would you like?"
waitmsgbox
goto 0x820FD2B
multichoice 0xC 0x0 0x30 0x0
copyvar 0x8000 LASTRESULT
compare 0x8000 0x0
if 0x1 goto 0x820FD67
compare 0x8000 0x1
if 0x1 goto 0x820FD75
compare 0x8000 0x2
if 0x1 goto 0x820FD83
compare 0x8000 0x3
if 0x1 goto 0x820FE92
goto 0x820FE92
end

'-----------------------
#org 0x272071
msgbox 0x8272B1A '"Too bad! There's no room left for\n..."
callstd 0x4
return


'---------
' Strings
'---------
#org 0x2105D7
= Welcome.\pYou can exchange your COINS for\nprizes here.

#org 0x21060D
= Which prize would you like?

#org 0x210705
= So your choice is [buffer1]?

#org 0x2106BF
= Oh, is that so? \nYou need to save some COINS before\lcoming back here.

#org 0x210646
= Thank you!\nWe'll send it to your PC at home.

#org 0x210673
= You don't have enough COINS.

#org 0x272B1A
= Too bad! There's no room left for\nanother [buffer2][.]
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
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:
Código:
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)
Código:
#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!
 
Estado
Cerrado para nuevas respuestas.
Arriba