Registrarse

[Script] GBA | Scripting | Jugar a los dados

Adke

weeeh
Este es el primer script que posteo en el foro así que no seáis muy duros conmigo xD (crítica constructiva o como se diga)

El script trata de jugar a los Dados y obviamente lo ideal sería que estuviera en el casino.
Tengo que dar gracias a Dani_SR_17 por su tutorial/script de sumar y multiplicar variables: http://whackahack.com/foro/t-27258/gba-scripting-sumar-multiplicar-2-variables

Y dicho esto aquí hay una demostración de como funciona el script:


Este es de la versión mejorada:


Y aquí el script como se vería en XSE:
Código:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @yesno 0x5	'te pregunta si quieres jugar
compare LASTRESULT 0x1
if 0x0 goto @no
if 0x1 goto @yes

#org @no
hidemoney 0x0 0x0	'esconde la caja del dinero (*tiene sentido luego)
msgbox @nope 0x6
release
end

#org @nohaypasta
hidemoney 0x0 0x0	'lo mismo de antes
msgbox @pobre 0x6
release
end

#org @yes
showmoney 0x0 0x0 0x0	'muestra la caja con el dinero del jugador
msgbox @juega 0x5	'te pregunta si quieres apostar
compare LASTRESULT 0x1
if 0x1 goto @empezamos
if 0x0 goto @no		'*aquí es donde entra el hidemoney, ya que ahora mismo la caja del dinero está abierta y si hubiera un simple release end quedaría raro y podría dar algún error

#org @empezamos
checkmoney 0x7D0 0x0	'comprueba si tienes el dinero suficiente, en este caso 2000 (7D0 en hexadecimal)
compare LASTRESULT 0x1
if 0x0 goto @nohaypasta	'si no tienes dinero te lleva a @nohaypasta
paymoney 0x7D0 0x0	'pagas
updatemoney 0x0 0x0 0x0	'actualiza la caja de dinero
sound 0x48
pause 0x20
hidemoney 0x0 0x0	'esconde la caja de dinero
goto @choice1		'te lleva a la selección de número

#org @choice1
multichoice 0x0 0x0 0x8 0x1	'abre la caja de multichoice (en mi caso es la 8 ya que ahí es donde puse las opciones)
compare LASTRESULT 0x0	'si eliges la primera opción te lleva a @2
if 0x1 goto @2
compare LASTRESULT 0x1	'igual que antes
if 0x1 goto @3
compare LASTRESULT 0x2
if 0x1 goto @4
compare LASTRESULT 0x3
if 0x1 goto @5
compare LASTRESULT 0x4
if 0x1 goto @6
compare LASTRESULT 0x5	'si esta opción te lleva al multichoice 2)
if 0x1 goto @choice2

#org @choice2
multichoice 0x0 0x0 0x9 0x1 'otro multichoice
compare LASTRESULT 0x0	'lo mismo de antes
if 0x1 goto @7
compare LASTRESULT 0x1
if 0x1 goto @8
compare LASTRESULT 0x2
if 0x1 goto @9
compare LASTRESULT 0x3
if 0x1 goto @10
compare LASTRESULT 0x4
if 0x1 goto @11
compare LASTRESULT 0x5
if 0x1 goto @12
compare LASTRESULT 0x6
if 0x1 goto @choice1

#org @2
setvar 0x4060 0x2	'da el valor 2 a la variable 4060 (la variable se puede cambiar y elegir la que quieras pero si cambias la 4060 cámbialo en todos los sitios que salga para que no haya errores)
buffernumber 0x0 0x4060	'copia le valor de la variable 4060 en buffer1
msgbox @tunumero 0x6
goto @dados

#org @3
setvar 0x4060 0x3
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @4
setvar 0x4060 0x4
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @5
setvar 0x4060 0x5
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @6
setvar 0x4060 0x6
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @7
setvar 0x4060 0x7
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @8
setvar 0x4060 0x8
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @9
setvar 0x4060 0x9
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @10
setvar 0x4060 0xA
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @11
setvar 0x4060 0xB
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @12
setvar 0x4060 0xC
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @dados
random 0x7	'genera un número aleatorio del 0 al 7. ¿Porqué 7 y no 6? Si en los dados no se puede sacar 7 -> **ahora se explica
copyvar 0x4061 LASTRESULT	'copia la variable LASTRESULT (en este caso el número aleatorio) en la variable 4061
compare 0x4061 0x0	'compara si el valor de la variable 4061 es 0 y si lo es te lleva otra vez a calcular un número aleatorio **aquí viene el porqué de 7, no puede darte como resultado 0 así que si da 0 te lleva otra vez a calcular el nº hasta que de un valor distinto de 0
if 0x1 goto @dados
goto @var2

#org @var2
random 0x7
copyvar 0x4062 LASTRESULT
compare 0x4062 0x0
if 0x1 goto @var2
goto @suma	'te lleva a la serie de comandos para sumar las dos variables. No lo voy a explicar porque ya está muy bien explicado en el tuto de Dani

#org @suma
compare 0x4061 0x0
if 0x1 goto @sumado2
if 0x2 goto @paso1

#org @paso1
compare 0x4062 0x0
if 0x1 goto @sumado
if 0x2 goto @sumayresta

#org @sumayresta
addvar 0x4061 0x1
subvar 0x4062 0x1
goto @paso1

#org @sumado
copyvar 0x4063 0x4061
goto  [MENTION=24474]Comp[/MENTION]ara

#org @sumado2
copyvar 0x4063 0x4062
goto  [MENTION=24474]Comp[/MENTION]ara

#org  [MENTION=24474]Comp[/MENTION]ara
buffernumber 0x1 0x4063	'copia la variable 4063 (la suma de los números de los dados) en buffer2
special 0x140	'es imprescindible para que el showpokepic funcione bien
showpokepic 0xFC 0x14 0x24'muestra la imagen de los dados
hidebox 0x0 0x0 0x1D 0x1D
msgbox @vamosaver 0x6
hidepokepic
msgbox @resultado 0x6
comparevars 0x4060 0x4063	'compara las variables 4060 (tu número) y 4063 (el resultado)
if 0x1 goto @ganas	'si coincide te lleva al puntero @ganas
if 0x5 goto @pierdes	'si no coincide vas a @pierdes //es importante que sea if 0x5 y no 0x0 ya que para comprobar si dos variables son distintas se usa 0x5. 0x0, 0x2, 0x3 y 0x4 se usan para otras cosas como para comprobar si una es mayor o menor que la otra

#org @ganas
compare 0x4060 0x2	'compara si el valor de la variable 4060 es 2, si lo es te lleva a @pagax4
if 0x1 goto @pagax4
compare 0x4060 0x3	'igual pero con el valor 3 y el puntero @pagax25 (pone 25 pero es 2'5 xD)
if 0x1 goto @pagax25
compare 0x4060 0x4
if 0x1 goto @pagax25
compare 0x4060 0x5
if 0x1 goto @pagax2
compare 0x4060 0x6
if 0x1 goto @pagax2
compare 0x4060 0x7
if 0x1 goto @pagax15
compare 0x4060 0x8
if 0x1 goto @pagax2
compare 0x4060 0x9
if 0x1 goto @pagax2
compare 0x4060 0xA
if 0x1 goto @pagax25
compare 0x4060 0xB
if 0x1 goto @pagax25
compare 0x4060 0xC
if 0x1 goto @pagax4
msgbox @otra 0x5
compare LASTRESULT 0x1
if 0x1 goto @yes
if 0x0 goto @no

#org @pagax15
fanfare 0xE	'musiquita
showmoney 0x0 0x0 0x0
msgbox  [MENTION=19146]Win[/MENTION] 0x6
givemoney 0xBB8 0x0	'te da dinero. En este caso como se paga x1'5, te da 3000 (BB8 en hexadecimal)
updatemoney 0x0 0x0 0x0
sound 0x48
pause 0x20
hidemoney 0x0 0x0
return

#org @pagax4
fanfare 0xE
showmoney 0x0 0x0 0x0
msgbox  [MENTION=19146]Win[/MENTION] 0x6
givemoney 0x1F40 0x0
updatemoney 0x0 0x0 0x0
sound 0x48
pause 0x20
hidemoney 0x0 0x0
return

#org @pagax25
fanfare 0xE
showmoney 0x0 0x0 0x0
msgbox  [MENTION=19146]Win[/MENTION] 0x6
givemoney 0x1388 0x0
updatemoney 0x0 0x0 0x0
sound 0x48
pause 0x20
hidemoney 0x0 0x0
return

#org @pagax2
fanfare 0xE
showmoney 0x0 0x0 0x0
msgbox  [MENTION=19146]Win[/MENTION] 0x6
givemoney 0xFA0 0x0
updatemoney 0x0 0x0 0x0
sound 0x48
pause 0x20
hidemoney 0x0 0x0
return

#org @pierdes
sound 0x7	'sonidito (yo puse el de cuando te chocas con algo)
msgbox @lose 0x5
compare LASTRESULT 0x1
if 0x1 goto @yes
if 0x0 goto @no

'------------------------- los textos (en inglés porque el hack será en inglés)

#org @yesno
= Hello! Welcome to the Casino!\nDo you want to play dices?

#org @nope
= No? Okay, come soon!

#org @pobre
= I'm afraid you don't  have money\nenough to play.

#org @juega
= You have to pay 2000 to play.\nIf you win you will receive the\ldouble you paid.\lDo you want to try?

#org @tunumero
= Here you are, your number is [buffer1]

#org @resultado
= The number is [buffer2] and your number\nis [buffer1]

#org  [MENTION=19146]Win[/MENTION]
= Damn! He won...\nEhem, congratulations! Here is\lyour money.

#org @otra
= Do you want to try again?

#org @lose
= I'm sorry! You lost.\nDo you want to try again? Maybe\lyou are lucky this time

#org @vamosaver
= Hmm... Let's see
El script es bastante simple, solo hay que comprender las variables y poco más. Si no se entiende algo no dudéis en decírmelo y edito lo que haga falta :)

Bueno, espero que os haya gustado y si alguien quiere usarlo adelante :blush:

PD: Los tiles de las flores y los demás minis aparte del prota tengo que cambiarlos todavía. Los pocos tiles que se ven, ¿qué os parecen?

EDIT: El script ahora tiene opción de elegir el nº y paga más o menos según el nº que hayas elegido (siempre y cuando ganes :p)
 

PabloGTD

WiiU developer
Interesante script para los que somos muy ludópatas. Ahora solo falta que alguien se curre la ruleta y blackjack y lo tenemos todo XD. Creo que podría intentar el blackjack ahora en diciembre.
 

Adke

weeeh
Blackjack ya hizo Dani y ruleta es el próximo script que tenía pensado xDD

PD: No soy el único ludópata :heart: (?)
 

Dragonite

But where's your heart
Tiene una serie de bugs relacionados con el sistema de menciones de WaH, mís all? de eso parece muy bueno.

Saludos!

EDIT: Dejadme a mí la ruleta, que quiero implementar un casino realista en mi hack.
 

Caeles

Midnight Melody
Tiene muy buena pinta, cuando tenga un rato lo pruebo *-*
En el CODE se te han sustituido las @ por [mention] xD


Interesante script para los que somos muy ludópatas. Ahora solo falta que alguien se curre la ruleta y blackjack y lo tenemos todo XD. Creo que podría intentar el blackjack ahora en diciembre.
@Dani_SR_17 ya realizó el blackjack aquí. Querría ver una Pokeruleta, así ya tendríamos el casino al completo xD

EDIT: ¿Qué demonios estoy haciendo mal con los quotes que ahora no va?
 

Adke

weeeh
Lo de los @ no me deja arreglarlo pero no es muy difícil editar el script para arreglarlo xD
 

PabloGTD

WiiU developer
A ver. Tenemos el craps (el aquí presente), el blackjack, las tragaperras y el OP que dice que va a hacer la ruleta.
Nos falta el punto y banca y el poker. Este segundo va a estar algo chungo ( y en ese caso hasta me arriesgaría también con el mus, pero creo que es fliparse un poco), pero el primero veremos que podemos hacer.

P.D: Esto no puede ser bueno para mi problema con el juego XDDDD.
 

BLAx501!

A veces comento en temas :3
Miembro de honor
Usuario de Platino
No me he leído el código entero, pero creo que no estás contemplando que en los dados nunca te puede salir un uno, porque el número mínimo que aparece es el 2...

Por otra parte, molaría poder elegir el número con el que quieres jugar, y en base al número que elijas poder tener más o menos ganancias. Por ejemplo, el número 7 es el que cae con más frecuencia, y el 2 o el 12 los que menos frecuencia tienen. No se, creo que para esos te tendrías que llevar bastante más xD.

En cuanto al vídeo, puedes ponerlo directamente aquí con este código:

Código:
[youtube]dMJXQrV2D3M[/youtube]

En fin, buen aporte, pero lo puedes hacer mucho mejor ;)
 

PabloGTD

WiiU developer
No me he leído el código entero, pero creo que no estás contemplando que en los dados nunca te puede salir un uno, porque el número mínimo que aparece es el 2...

Por otra parte, molaría poder elegir el número con el que quieres jugar, y en base al número que elijas poder tener más o menos ganancias. Por ejemplo, el número 7 es el que cae con más frecuencia, y el 2 o el 12 los que menos frecuencia tienen. No se, creo que para esos te tendrías que llevar bastante más xD.

En cuanto al vídeo, puedes ponerlo directamente aquí con este código:

Código:
[youtube]dMJXQrV2D3M[/youtube]
En fin, buen aporte, pero lo puedes hacer mucho mejor ;)
Lo que dices estaría bien sí, pero lo veo bastante complicado hacerlo con estos scripts. Realmente es chungo ya que limita bastante (no recuerdo haber visto por ningún sitio operaciones matemáticas en los scripts, aunque debería aceptarlas) y yo creo que la única forma de hacerlo posible es tirando de lenguaje C. Por eso decía que me estaba flipando un poco con lo de hacer el poker.

No sé yo si con el editor de cosarara que si mal no recuerdo aceptaba bucles podríamos hacer algo.
 

Caeles

Midnight Melody
Lo que dices estaría bien sí, pero lo veo bastante complicado hacerlo con estos scripts. Realmente es chungo ya que limita bastante (no recuerdo haber visto por ningún sitio operaciones matemáticas en los scripts, aunque debería aceptarlas) y yo creo que la única forma de hacerlo posible es tirando de lenguaje C. Por eso decía que me estaba flipando un poco con lo de hacer el poker.
Hablo desde la ignorancia, pero creo que había por ahí un tutorial para multiplicar variables. Tal vez desde eso se podría hacer algo.

Esto debería ser un considerado un proyecto oficial de scripts (?) Personalmente, me encantaría poder jugar al póker en los casinos de los juegos, pero... se ve complicado xD ¿No existe nada que pueda comparar dos random?
 

eing

Miembro de honor
Miembro de honor
La verdad es que no está nada mal la idea.
Aunque cuando lei "el juego de los dados", no pensé que era el juego simple.
Pensaba que era el juego del dado mentiroso. (Pero sin dados de poker, si no con uno de parchis..) y ese si que molaria.
Te tocan 6 valores en 6 dados distintos. Y a los otros pj tambien.
Es tu turno y miras tus dados, te toca decir cuantos numeros hay. (Ejemplo: tienes dos doses, pues dices dos doses..)
Entonces pasa el turno al otro que tiene que aumentar siempre la apuesta o decir "apuesta exacta".
Si decide aumentar ha de poner 3 o mas de otra cara.
Y asi hasta el ultimo participante que tiene que desmentir lo que dijo el anterior o darle por valido.
Los jugadores que fallej en el conteo de dados, pierden un dado.
Mientras que si es apuesta acertada, quitas un dado a todos menos a ti.
 

BLAx501!

A veces comento en temas :3
Miembro de honor
Usuario de Platino
En efecto, nuestro querido Dani también trajo un script para hacer operaciones aritméticas con las variables. Y en cuanto a los bucles, también se pueden hacer en el XSE, solo que de manera manual, comprobando el valor de la variable y en caso de que no se cumpla la condición que exiges, volver al puntero donde comienza la ejecución de ese fragmento de código.

De todos modos, se puede programar en C para una ROM de Pokémon, compilandolo de una manera especial con una herramienta, si mal no recuerdo... Un día de estos me pongo a buscar xD.

Y si no, con alguna función del engine de JPAN también se pueden hacer las operaciones aritméticas
 

Cheve

MoonLover~
Miembro de honor
En efecto, nuestro querido Dani también trajo un script para hacer operaciones aritméticas con las variables. Y en cuanto a los bucles, también se pueden hacer en el XSE, solo que de manera manual, comprobando el valor de la variable y en caso de que no se cumpla la condición que exiges, volver al puntero donde comienza la ejecución de ese fragmento de código.

De todos modos, se puede programar en C para una ROM de Pokémon, compilandolo de una manera especial con una herramienta, si mal no recuerdo... Un día de estos me pongo a buscar xD.

Y si no, con alguna función del engine de JPAN también se pueden hacer las operaciones aritméticas
DevKit GBA xD (O algo asi vamos, que si quieres te paso la página) JPAN tiró de ASM para hacer las rutinas y luego operar desde las variables :p

Por ser con script y para ser uno de tus primeros de gran tamaño pues está muy bien :)
Espero que te sigas interesando más en éste, y que llegues a superarnos a todos los scripters de Wah! xD
PD: Chicos, sabéis que en FR y Emerald hay una excelente ruleta no? xD
 

Adke

weeeh
Hola otra vez ;)

Esta tarde estuve con el script y añadí lo que dijo @BLAx/Atlas:
No me he leído el código entero, pero creo que no estás contemplando que en los dados nunca te puede salir un uno, porque el número mínimo que aparece es el 2...

Por otra parte, molaría poder elegir el número con el que quieres jugar, y en base al número que elijas poder tener más o menos ganancias. Por ejemplo, el número 7 es el que cae con más frecuencia, y el 2 o el 12 los que menos frecuencia tienen. No se, creo que para esos te tendrías que llevar bastante más xD.
Ahora se puede elegir el número que quieras mediante dos multichoices (el máximo de opciones en el multichoice eran 8 '¬¬) y dependiendo del número que elijas si ganas te dan una cantidad de dinero diferente. En el script la relación va así:
- 7: x1'5 (te pagan 3000)
- 2 12: x4 (te pagan 8000 $.$)
- 3 4 10 11: x2'5 (te pagan 5000)
- 5 6 8 9: x2 (te pagan 4000)

También añadí un showpokepic de unos dados para darle el toque prah (?)
Y así queda el script final:

Código:
#dynamic 0x800000

#org @start
lock
faceplayer
msgbox @yesno 0x5	'te pregunta si quieres jugar
compare LASTRESULT 0x1
if 0x0 goto @no
if 0x1 goto @yes

#org @no
hidemoney 0x0 0x0	'esconde la caja del dinero (*tiene sentido luego)
msgbox @nope 0x6
release
end

#org @nohaypasta
hidemoney 0x0 0x0	'lo mismo de antes
msgbox @pobre 0x6
release
end

#org @yes
showmoney 0x0 0x0 0x0	'muestra la caja con el dinero del jugador
msgbox @juega 0x5	'te pregunta si quieres apostar
compare LASTRESULT 0x1
if 0x1 goto @empezamos
if 0x0 goto @no		'*aquí es donde entra el hidemoney, ya que ahora mismo la caja del dinero está abierta y si hubiera un simple release end quedaría raro y podría dar algún error

#org @empezamos
checkmoney 0x7D0 0x0	'comprueba si tienes el dinero suficiente, en este caso 2000 (7D0 en hexadecimal)
compare LASTRESULT 0x1
if 0x0 goto @nohaypasta	'si no tienes dinero te lleva a @nohaypasta
paymoney 0x7D0 0x0	'pagas
updatemoney 0x0 0x0 0x0	'actualiza la caja de dinero
sound 0x48
pause 0x20
hidemoney 0x0 0x0	'esconde la caja de dinero
goto @choice1		'te lleva a la selección de número

#org @choice1
multichoice 0x0 0x0 0x8 0x1	'abre la caja de multichoice (en mi caso es la 8 ya que ahí es donde puse las opciones)
compare LASTRESULT 0x0	'si eliges la primera opción te lleva a @2
if 0x1 goto @2
compare LASTRESULT 0x1	'igual que antes
if 0x1 goto @3
compare LASTRESULT 0x2
if 0x1 goto @4
compare LASTRESULT 0x3
if 0x1 goto @5
compare LASTRESULT 0x4
if 0x1 goto @6
compare LASTRESULT 0x5	'si esta opción te lleva al multichoice 2)
if 0x1 goto @choice2

#org @choice2
multichoice 0x0 0x0 0x9 0x1 'otro multichoice
compare LASTRESULT 0x0	'lo mismo de antes
if 0x1 goto @7
compare LASTRESULT 0x1
if 0x1 goto @8
compare LASTRESULT 0x2
if 0x1 goto @9
compare LASTRESULT 0x3
if 0x1 goto @10
compare LASTRESULT 0x4
if 0x1 goto @11
compare LASTRESULT 0x5
if 0x1 goto @12
compare LASTRESULT 0x6
if 0x1 goto @choice1

#org @2
setvar 0x4060 0x2	'da el valor 2 a la variable 4060 (la variable se puede cambiar y elegir la que quieras pero si cambias la 4060 cámbialo en todos los sitios que salga para que no haya errores)
buffernumber 0x0 0x4060	'copia le valor de la variable 4060 en buffer1
msgbox @tunumero 0x6
goto @dados

#org @3
setvar 0x4060 0x3
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @4
setvar 0x4060 0x4
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @5
setvar 0x4060 0x5
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @6
setvar 0x4060 0x6
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @7
setvar 0x4060 0x7
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @8
setvar 0x4060 0x8
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @9
setvar 0x4060 0x9
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @10
setvar 0x4060 0xA
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @11
setvar 0x4060 0xB
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @12
setvar 0x4060 0xC
buffernumber 0x0 0x4060
msgbox @tunumero 0x6
goto @dados

#org @dados
random 0x7	'genera un número aleatorio del 0 al 7. ¿Porqué 7 y no 6? Si en los dados no se puede sacar 7 -> **ahora se explica
copyvar 0x4061 LASTRESULT	'copia la variable LASTRESULT (en este caso el número aleatorio) en la variable 4061
compare 0x4061 0x0	'compara si el valor de la variable 4061 es 0 y si lo es te lleva otra vez a calcular un número aleatorio **aquí viene el porqué de 7, no puede darte como resultado 0 así que si da 0 te lleva otra vez a calcular el nº hasta que de un valor distinto de 0
if 0x1 goto @dados
goto @var2

#org @var2
random 0x7
copyvar 0x4062 LASTRESULT
compare 0x4062 0x0
if 0x1 goto @var2
goto @suma	'te lleva a la serie de comandos para sumar las dos variables. No lo voy a explicar porque ya está muy bien explicado en el tuto de Dani

#org @suma
compare 0x4061 0x0
if 0x1 goto @sumado2
if 0x2 goto @paso1

#org @paso1
compare 0x4062 0x0
if 0x1 goto @sumado
if 0x2 goto @sumayresta

#org @sumayresta
addvar 0x4061 0x1
subvar 0x4062 0x1
goto @paso1

#org @sumado
copyvar 0x4063 0x4061
goto [MENTION=24474]Comp[/MENTION]ara

#org @sumado2
copyvar 0x4063 0x4062
goto [MENTION=24474]Comp[/MENTION]ara

#org [MENTION=24474]Comp[/MENTION]ara
buffernumber 0x1 0x4063	'copia la variable 4063 (la suma de los números de los dados) en buffer2
special 0x140	'es imprescindible para que el showpokepic funcione bien
showpokepic 0xFC 0x14 0x24'muestra la imagen de los dados
hidebox 0x0 0x0 0x1D 0x1D
msgbox @vamosaver 0x6
hidepokepic
msgbox @resultado 0x6
comparevars 0x4060 0x4063	'compara las variables 4060 (tu número) y 4063 (el resultado)
if 0x1 goto @ganas	'si coincide te lleva al puntero @ganas
if 0x5 goto @pierdes	'si no coincide vas a @pierdes //es importante que sea if 0x5 y no 0x0 ya que para comprobar si dos variables son distintas se usa 0x5. 0x0, 0x2, 0x3 y 0x4 se usan para otras cosas como para comprobar si una es mayor o menor que la otra

#org @ganas
compare 0x4060 0x2	'compara si el valor de la variable 4060 es 2, si lo es te lleva a @pagax4
if 0x1 goto @pagax4
compare 0x4060 0x3	'igual pero con el valor 3 y el puntero @pagax25 (pone 25 pero es 2'5 xD)
if 0x1 goto @pagax25
compare 0x4060 0x4
if 0x1 goto @pagax25
compare 0x4060 0x5
if 0x1 goto @pagax2
compare 0x4060 0x6
if 0x1 goto @pagax2
compare 0x4060 0x7
if 0x1 goto @pagax15
compare 0x4060 0x8
if 0x1 goto @pagax2
compare 0x4060 0x9
if 0x1 goto @pagax2
compare 0x4060 0xA
if 0x1 goto @pagax25
compare 0x4060 0xB
if 0x1 goto @pagax25
compare 0x4060 0xC
if 0x1 goto @pagax4
msgbox @otra 0x5
compare LASTRESULT 0x1
if 0x1 goto @yes
if 0x0 goto @no

#org @pagax15
fanfare 0xE	'musiquita
showmoney 0x0 0x0 0x0
msgbox [MENTION=19146]Win[/MENTION] 0x6
givemoney 0xBB8 0x0	'te da dinero. En este caso como se paga x1'5, te da 3000 (BB8 en hexadecimal)
updatemoney 0x0 0x0 0x0
sound 0x48
pause 0x20
hidemoney 0x0 0x0
return

#org @pagax4
fanfare 0xE
showmoney 0x0 0x0 0x0
msgbox [MENTION=19146]Win[/MENTION] 0x6
givemoney 0x1F40 0x0
updatemoney 0x0 0x0 0x0
sound 0x48
pause 0x20
hidemoney 0x0 0x0
return

#org @pagax25
fanfare 0xE
showmoney 0x0 0x0 0x0
msgbox [MENTION=19146]Win[/MENTION] 0x6
givemoney 0x1388 0x0
updatemoney 0x0 0x0 0x0
sound 0x48
pause 0x20
hidemoney 0x0 0x0
return

#org @pagax2
fanfare 0xE
showmoney 0x0 0x0 0x0
msgbox [MENTION=19146]Win[/MENTION] 0x6
givemoney 0xFA0 0x0
updatemoney 0x0 0x0 0x0
sound 0x48
pause 0x20
hidemoney 0x0 0x0
return

#org @pierdes
sound 0x7	'sonidito (yo puse el de cuando te chocas con algo)
msgbox @lose 0x5
compare LASTRESULT 0x1
if 0x1 goto @yes
if 0x0 goto @no

'------------------------- los textos (en inglés porque el hack será en inglés)

#org @yesno
= Hello! Welcome to the Casino!\nDo you want to play dices?

#org @nope
= No? Okay, come soon!

#org @pobre
= I'm afraid you don't  have money\nenough to play.

#org @juega
= You have to pay 2000 to play.\nIf you win you will receive the\ldouble you paid.\lDo you want to try?

#org @tunumero
= Here you are, your number is [buffer1]

#org @resultado
= The number is [buffer2] and your number\nis [buffer1]

#org [MENTION=19146]Win[/MENTION]
= Damn! He won...\nEhem, congratulations! Here is\lyour money.

#org @otra
= Do you want to try again?

#org @lose
= I'm sorry! You lost.\nDo you want to try again? Maybe\lyou are lucky this time

#org @vamosaver
= Hmm... Let's see
PD: No os emocionéis mucho con la cantidad de dinero que ganas porque es dificilísimo que te toque y si vas siempre a por un mismo valor te acabarás arruinando (lo digo por experiencia xDDD y tenía 50 000)

Bueno ya sabéis, cualquier error o algo avisadme y si tenéis alguna idea de como mejorarlo también :D
 

Dani_SR_17

¡Pokémon LionHeart!
¡¡¡Anda que bien scripts!!!

Me vais a sonrojar de tanto hablar de mis scripts :shy: , pues veamos es una buena idea a la que se le puede sacar mucho partido la verdad.
Yo ya pensé en su día en hacer un mini hack solo de minijuegos del estilo, por no recuerdo porque se quedó en una pequeña idea jajaja.

Cuando tenga más tiempo lo repaso más a fondo, y por cierto, quizás haga pronto un nuevo scripts para restar y dividir variables, aunque en esencia sería lo mismo que el otro.
Y si no me equivoco, lo uso en algún script de los míos.
 
Arriba