Author Id: 28493 Author Name: Dani_SR_17 Post Content: [IMG]http://wahackforo.com/img/28493/444/3428.png[/IMG] PokéBlackJack Hola a todos, os traigo mi último script, en este ya no puedo decir que es sencillo, porque el mu jodio me ha llevado su tiempo :furia: Os explico un poco, el Script simula el BlackJack, para jugar deberás realizar una apuesta, si ganas recibes lo que has apostado mas un 50% de la misma cantidad, si empatas te devuelven tu apuesta, si pierdes, te aguantas :p Las reglas son muy sencillas, y están explicadas en el script: - Comienzas robando 2 cartas. - Después puedes decidir plantarte o seguir robando. - Cuando te plantes o te pases, comprarás tu resultado con el del Crupier (La máquina). Los valores de las cartas son los siguientes: - As -----> 1 u 11 (Según si te pasas con el 11 o no) - 2-9 ----> El nº en cuestión - Figura --> 10 Para ganar, tienes que conseguir la puntuación más alta sin pasarte de 21. Importante, el Script requiere añadir 2 Multichoise, es muy facíl de hacer, podéis usar esta herramienta: [URL="http://wahackforo.com/t-15392/multichoice-manager-v1-0-a"]Multichoise Manager 1.0[/URL] Bueno, después de está mini explicación, os dejo con un vídeo: [URL=http://www.youtube.com/watch?v=TNyG4yEa4Mw]YouTube Video[/URL] Y ya para terminar, aquí podéis descargar el script y una Rom lista con el script: [URL="http://www.mediafire.com/download/w2gr4cofux1ewoo/PokéBlackJack.zip"]Script y Rom[/URL] #dynamic 0x800000 #org @Start msgbox @Bienvenido 0x6 showmoney 0x0 0x0 0x0 multichoice 0x12 0x0 0x41 0x1 compare LASTRESULT 0x0 if 0x1 goto @LimpiadoDeVariables compare LASTRESULT 0x1 if 0x1 goto @Instrucciones compare LASTRESULT 0x2 if 0x1 goto @Adios #org @Instrucciones 'Te dice muestra las instrucciones msgbox @Instruc 0x6 msgbox @Creditos 0x6 'Los créditos, por favor, si modificais el script no quiteis esta parte goto @Start #org @LimpiadoDeVariables 'Aqui la lista de variables y flags, con sus respectivas funciones setvar 0x40FF 0x0 'Esta variable es para "sacar" las cartas setvar 0x40FE 0x0 'Esta es la variable del resultado de tu primera carta setvar 0x40FD 0x0 'Esta es la variable del resultado de tu segunda carta setvar 0x40FC 0x0 'Esta es la variable que va acumulando la suma que llevas setvar 0x40FB 0x0 'Esta es la variable para la 3º carta y posteriores clearflag 0x500 'La flag para saber si en la 1º tirada tienes un As o no setvar 0x40F9 0x0 'La variable de la priemra carta del crupier setvar 0x40F8 0x0 'La variable de la segunda carta del crupier setvar 0x40F7 0x0 'La variable que va acumulando el total del crupier setvar 0x40F6 0x0 'La variable para la 3º carta y posteriores del crupier clearflag 0x503 'La flag para saber si en la 1º tirada tienes un As o no setvar 0x40F2 0x0 'La var para saber si te has pasado setvar 0x40F1 0x0 'La var para saber si el crupier se ha pasado clearflag 0x506 'Flag de apostar 10 clearflag 0x507 'Flag de apostar 100 clearflag 0x508 'Flag de apostar 1000 goto @Apuestas 'Vamos a las apuestas '------------------------------------------------------ 'Aquí van las apuestas '------------------------------------------------------ #org @Apuestas msgbox @¿CuantoApuestas? 0x6 'Menu para seleccionar la cantidad a apostar multichoice 0x17 0x0 0x42 0x1 compare LASTRESULT 0x0 if 0x1 goto @Apuesta10 'Apuestas 10 compare LASTRESULT 0x1 if 0x1 goto @Apuesta100 'Apuestas 100 compare LASTRESULT 0x2 if 0x1 goto @Apuesta1000 'Apuestas 1000 compare LASTRESULT 0x3 if 0x1 goto @Adios #org @Apuesta10 checkmoney 0xA 0x0 compare LASTRESULT 0x1 if 0x0 goto @nomoney paymoney 0xA 0x0 hidemoney 0x0 0x0 showmoney 0x0 0x0 0x0 setflag 0x506 goto [MENTION=28468]car[/MENTION]ta1Crup 'Primero va el Crupier #org @Apuesta100 checkmoney 0x64 0x0 compare LASTRESULT 0x1 if 0x0 goto @nomoney paymoney 0x64 0x0 hidemoney 0x0 0x0 showmoney 0x0 0x0 0x0 setflag 0x507 goto [MENTION=28468]car[/MENTION]ta1Crup 'Primero va el Crupier #org @Apuesta1000 checkmoney 0x3E8 0x0 compare LASTRESULT 0x1 if 0x0 goto @nomoney paymoney 0x3E8 0x0 hidemoney 0x0 0x0 showmoney 0x0 0x0 0x0 setflag 0x508 goto [MENTION=28468]car[/MENTION]ta1Crup 'Primero va el Crupier #org @nomoney msgbox @NoTienesPasta 0x6 goto @Apuestas '------------------------------------------------------ 'Aquí esta tu turno, pero primero juega el Crupier vas despues del crupier '------------------------------------------------------ #org [MENTION=28468]car[/MENTION]ta1 'Primera carta random 0xB 'El resultado de tu carta addvar LASTRESULT 0x1 copyvar 0x40FF LASTRESULT compare 0x40FF 0x1 if 0x1 goto @As1 'Si es un As if 0x2 goto @NoAs1 'Si no es un As #org @NoAs1 compare 0x40FF 0xA if 0x0 goto @Numero1 'Tienes el valor de la carta if 0x4 goto @Figura1 'Tienes una figura, luego vale 10 #org @As1 'El As en el priemr caso siempre vale 1 setvar 0x40FE 0xB setflag 0x500 goto [MENTION=28468]car[/MENTION]ta2 #org @Figura1 'La figura vale 10 setvar 0x40FE 0xA goto [MENTION=28468]car[/MENTION]ta2 #org @Numero1 'El valor del nº compare 0x40FF 0x0 if 0x1 goto [MENTION=28468]car[/MENTION]ta2 if 0x2 goto @Suma1 #org @Suma1 addvar 0x40FE 0x1 subvar 0x40FF 0x1 goto @Numero1 '------------------------------------------------------ #org [MENTION=28468]car[/MENTION]ta2 'Primera carta buffernumber 0x0 0x40FE pause 0x20 sound 0x17 msgbox @EnLa1ºTienes 0x6 'Te dice el resultado de la 1º carta random 0xB 'El resultado de tu carta addvar LASTRESULT 0x1 copyvar 0x40FF LASTRESULT compare 0x40FF 0x1 if 0x1 goto @As2 'Si es un As if 0x2 goto @NoAs2 'Si no es un As #org @NoAs2 compare 0x40FF 0xA if 0x0 goto @Numero2 'Tienes el valor de la carta if 0x4 goto @Figura2 'Tienes una figura, luego vale 10 #org @As2 'Aquí si sacas un As checkflag 0x500 'Mira si ya sacaste un As previamente if 0x1 goto @Es1-2 'Si ya sacaste uno, este vale 1 if 0x0 goto @Es11-2 'Si no sacaste uno, este vale 11 #org @Es1-2 'El As vale 1 setvar 0x40FD 0x1 goto @DimeLa2 #org @Es11-2 'El As vale 11 setvar 0x40FD 0xB goto @DimeLa2 #org @Figura2 'Si sale figura setvar 0x40FD 0xA goto @DimeLa2 #org @Numero2 'Si sale un nº compare 0x40FF 0x0 if 0x1 goto @DimeLa2 if 0x2 goto @Suma2 #org @Suma2 addvar 0x40FD 0x1 subvar 0x40FF 0x1 goto @Numero2 '------------------------------------------------------ #org @DimeLa2 'Te dice el resultado de la 2º carta buffernumber 0x1 0x40FD pause 0x20 sound 0x17 msgbox @EnLa2ºTienes 0x6 'Te dice el resultado de la 2º carta goto @Suma1y2 #org @Suma1y2 'Para sumar la 1º y la 2º carta compare 0x40FE 0x0 if 0x1 goto @SumaElTotal 'Si ya estan sumadas if 0x2 goto @Suma1a2 'Si aun no estan sumadas #org @Suma1a2 'Se van sumando la 1º y la 2º recursivamente subvar 0x40FE 0x1 addvar 0x40FD 0x1 goto @Suma1y2 #org @SumaElTotal 'Sumas la suma de la 1º y la 2º al total copyvar 0x40FC 0x40FD goto @¿SiguesJugando?Comprobacion 'Pasas a la siguiente parte del script '------------------------------------------------------ #org @¿SiguesJugando?Comprobacion 'Comprueba si puedes seguir jugando compare 0x40FC 0x15 if 0x0 goto @¿SiguesJugando? if 0x1 goto @TienesBlackJack if 0x2 goto @TeHasPasado #org @¿SiguesJugando? 'Te va a preguntar si sigues jugando buffernumber 0x2 0x40FC pause 0x20 sound 0x17 msgbox @Llevas 0x5 'Te dice el total que llevas y pregunta si sigues jugando compare LASTRESULT 0x1 if 0x1 goto [MENTION=24474]Comp[/MENTION]arar if 0x0 goto @SiguesJugando '------------------------------------------------------ #org @SiguesJugando random 0xB 'El resultado de tu carta addvar LASTRESULT 0x1 copyvar 0x40FF LASTRESULT compare 0x40FF 0x1 if 0x1 goto @As3 'Si es un As if 0x2 goto @NoAs3 'Si no es un As #org @NoAs3 compare 0x40FF 0xA if 0x0 goto @Numero3 'Tienes el valor de la carta if 0x4 goto @Figura3 'Tienes una figura, luego vale 10 #org @As3 compare 0x40FC 0xA if 0x2 goto @Es1-3 if 0x3 goto @Es11-3 #org @Es1-3 'El As vale 1 setvar 0x40FB 0x1 goto @Suma3aTotal #org @Es11-3 'El As vale 11 setvar 0x40FB 0xB goto @Suma3aTotal #org @Figura3 'Si sale figura setvar 0x40FB 0xA goto @Suma3aTotal #org @Numero3 'Si sale un nº compare 0x40FF 0x0 if 0x1 goto @Suma3aTotal if 0x2 goto @Suma3 #org @Suma3 addvar 0x40FB 0x1 subvar 0x40FF 0x1 goto @Numero3 #org @Suma3aTotal 'Suma la 3º carta al total compare 0x40FB 0x0 if 0x1 goto @¿SiguesJugando?Comprobacion 'Si ya estan sumadas if 0x2 goto @Suma1aTotal 'Si aun no estan sumadas #org @Suma1aTotal subvar 0x40FB 0x1 addvar 0x40FC 0x1 goto @Suma3aTotal '------------------------------------------------------ #org @TienesBlackJack msgbox @TomaBlackJack 0x6 goto [MENTION=24474]Comp[/MENTION]arar #org @TeHasPasado buffernumber 0x2 0x40FC msgbox @TeHasPasadoCon 0x6 setvar 0x40F2 0x1 goto [MENTION=24474]Comp[/MENTION]arar '------------------------------------------------------ 'Ahora las tiradas del Crupier, solo pondré anotaciones importantes, puesto que la mayoría de las cosas son iguales que en tu caso '------------------------------------------------------ #org [MENTION=28468]car[/MENTION]ta1Crup random 0xB 'El resultado de tu carta addvar LASTRESULT 0x1 copyvar 0x40FF LASTRESULT compare 0x40FF 0x1 if 0x1 goto @As1Crup if 0x2 goto @NoAs1Crup #org @NoAs1Crup compare 0x40FF 0xA if 0x0 goto @Numero1Crup if 0x4 goto @Figura1Crup #org @As1Crup setvar 0x40F9 0xB setflag 0x503 goto [MENTION=28468]car[/MENTION]ta2Crup #org @Figura1Crup setvar 0x40F9 0xA goto [MENTION=28468]car[/MENTION]ta2Crup #org @Numero1Crup compare 0x40FF 0x0 if 0x1 goto [MENTION=28468]car[/MENTION]ta2Crup if 0x2 goto @Suma1Crup #org @Suma1Crup addvar 0x40F9 0x1 subvar 0x40FF 0x1 goto @Numero1Crup '------------------------------------------------------ #org [MENTION=28468]car[/MENTION]ta2Crup random 0xB addvar LASTRESULT 0x1 copyvar 0x40FF LASTRESULT compare 0x40FF 0x1 if 0x1 goto @As2Crup if 0x2 goto @NoAs2Crup #org @NoAs2Crup compare 0x40FF 0xA if 0x0 goto @Numero2Crup if 0x4 goto @Figura2Crup #org @As2Crup checkflag 0x503 if 0x1 goto @Es1-2Crup if 0x0 goto @Es11-2Crup #org @Es1-2Crup setvar 0x40F8 0x1 goto @Suma1y2Crup #org @Es11-2Crup setvar 0x40F8 0xB goto @Suma1y2Crup #org @Figura2Crup setvar 0x40F8 0xA goto @Suma1y2Crup #org @Numero2Crup compare 0x40FF 0x0 if 0x1 goto @Suma1y2Crup if 0x2 goto @Suma2Crup #org @Suma2Crup addvar 0x40F8 0x1 subvar 0x40FF 0x1 goto @Numero2Crup '------------------------------------------------------ #org @Suma1y2Crup compare 0x40F9 0x0 if 0x1 goto @SumaElTotalCrup if 0x2 goto @Suma1a2Crup #org @Suma1a2Crup subvar 0x40F9 0x1 addvar 0x40F8 0x1 goto @Suma1y2Crup #org @SumaElTotalCrup copyvar 0x40F7 0x40F8 goto @¿SiguesJugando?ComprobacionCrup '------------------------------------------------------ #org @¿SiguesJugando?ComprobacionCrup 'En este caso, compara primero con 17, si es mayor o igual va a otra comparación compare 0x40F7 0x11 if 0x0 goto @SiguesJugandoCrup if 0x4 goto @¿SiguesJugando?Crup #org @¿SiguesJugando?Crup compare 0x40F7 0x15 if 0x2 goto @TeHasPasadoCrup 'Si se ha pasado if 0x3 goto [MENTION=28468]car[/MENTION]ta1 'Pasa a tu turno '------------------------------------------------------ #org @SiguesJugandoCrup random 0xB addvar LASTRESULT 0x1 copyvar 0x40FF LASTRESULT compare 0x40FF 0x1 if 0x1 goto @As3Crup if 0x2 goto @NoAs3Crup #org @NoAs3Crup compare 0x40FF 0xA if 0x0 goto @Numero3Crup if 0x4 goto @Figura3Crup #org @As3Crup compare 0x40F6 0xA if 0x2 goto @Es1-3Crup if 0x3 goto @Es11-3Crup #org @Es1-3Crup setvar 0x40F6 0x1 goto @Suma3aTotalCrup #org @Es11-3Crup setvar 0x40F6 0xB goto @Suma3aTotalCrup #org @Figura3Crup setvar 0x40F6 0xA goto @Suma3aTotalCrup #org @Numero3Crup compare 0x40FF 0x0 if 0x1 goto @Suma3aTotalCrup if 0x2 goto @Suma3Crup #org @Suma3Crup addvar 0x40F6 0x1 subvar 0x40FF 0x1 goto @Numero3Crup #org @Suma3aTotalCrup compare 0x40F6 0x0 if 0x1 goto @¿SiguesJugando?ComprobacionCrup if 0x2 goto @Suma1aTotalCrup #org @Suma1aTotalCrup subvar 0x40F6 0x1 addvar 0x40F7 0x1 goto @Suma3aTotalCrup '------------------------------------------------------ #org @TeHasPasadoCrup setvar 0x40F1 0x1 goto [MENTION=28468]car[/MENTION]ta1 '------------------------------------------------------ 'Ahora toca comparar resultados '------------------------------------------------------ #org [MENTION=24474]Comp[/MENTION]arar sound 0x19 buffernumber 0x0 0x40F7 msgbox @ElCrupierTiene 0x6 compare 0x40F2 0x1 'Mira si te has pasado o no if 0x0 goto [MENTION=24474]Comp[/MENTION]arar2 if 0x1 goto @¿CrupierSeHaPasado? #org [MENTION=24474]Comp[/MENTION]arar2 compare 0x40F1 0x1 if 0x0 goto [MENTION=24474]Comp[/MENTION]araSumaTotal 'Si no se cumple ninguno de los casos anteriores if 0x1 goto @Ganas #org @¿CrupierSeHaPasado? compare 0x40F1 0x1 if 0x0 goto @Pierdes if 0x1 goto @Empate #org [MENTION=24474]Comp[/MENTION]araSumaTotal 'Compara las variables con la acumulación de ambos comparevars 0x40FC 0x40F7 if 0x0 goto @Pierdes goto [MENTION=24474]Comp[/MENTION]araSumaTotal2 #org [MENTION=24474]Comp[/MENTION]araSumaTotal2 'Compara las variables con la acumulación de ambos comparevars 0x40FC 0x40F7 if 0x1 goto @Empate if 0x2 goto @Ganas '------------------------------------------------------ 'Si ganas, empatas o pierdes '------------------------------------------------------ #org @Ganas sound 0xE msgbox @HasGanado 0x6 applymovement 0xFF @Feliz goto @GanasDinero #org @Empate msgbox @HasEmpatado 0x6 goto @Reembolso #org @Pierdes sound 0x16 msgbox @HasPerdido 0x6 msgbox @¿Otra? 0x5 compare LASTRESULT 0x1 if 0x1 goto @Start if 0x0 goto @Adios '------------------------------------------------------ 'MensageBox y demas '------------------------------------------------------ #org @GanasDinero checkflag 0x506 if 0x1 goto @Ganas15 checkflag 0x507 if 0x1 goto @Ganas150 checkflag 0x508 if 0x1 goto @Ganas1500 #org @Reembolso checkflag 0x506 if 0x1 goto @Ganas10 checkflag 0x507 if 0x1 goto @Ganas100 checkflag 0x508 if 0x1 goto @Ganas1000 #org @Ganas10 givemoney 0xA 0x0 hidemoney 0x0 0x0 showmoney 0x0 0x0 0x0 msgbox @¿Otra? 0x5 compare LASTRESULT 0x1 if 0x1 goto @Start if 0x0 goto @Adios #org @Ganas100 givemoney 0x64 0x0 hidemoney 0x0 0x0 showmoney 0x0 0x0 0x0 msgbox @¿Otra? 0x5 compare LASTRESULT 0x1 if 0x1 goto @Start if 0x0 goto @Adios #org @Ganas1000 givemoney 0x3E8 0x0 hidemoney 0x0 0x0 showmoney 0x0 0x0 0x0 msgbox @¿Otra? 0x5 compare LASTRESULT 0x1 if 0x1 goto @Start if 0x0 goto @Adios #org @Ganas15 givemoney 0xF 0x0 hidemoney 0x0 0x0 showmoney 0x0 0x0 0x0 msgbox @¿Otra? 0x5 compare LASTRESULT 0x1 if 0x1 goto @Start if 0x0 goto @Adios #org @Ganas150 givemoney 0x96 0x0 hidemoney 0x0 0x0 showmoney 0x0 0x0 0x0 msgbox @¿Otra? 0x5 compare LASTRESULT 0x1 if 0x1 goto @Start if 0x0 goto @Adios #org @Ganas1500 givemoney 0x5DC 0x0 hidemoney 0x0 0x0 showmoney 0x0 0x0 0x0 msgbox @¿Otra? 0x5 compare LASTRESULT 0x1 if 0x1 goto @Start if 0x0 goto @Adios #org @Adios hidemoney 0x0 0x0 msgbox @VuelveCuandoQuieras 0x6 end #org @HasGanado = Has ganado, enhorabuena. #org @HasEmpatado = Habeis empatado, buena partida. #org @HasPerdido = Vaya, parece que has perdido,\nsuerte en la próxima partida. #org @¿Otra? = ¿Otra partida? #org @VuelveCuandoQuieras = Vuelve cuando quieras. #org @Bienvenido = Bienvenido al PokéBlackJack,\n¿Quieres jugar una partida? #org @EnLa1ºTienes = En la 1º carta tienes #org @EnLa2ºTienes = En la 2º carta tienes #org @Llevas = Llevas ¿Te plantas? #org @TomaBlackJack = ¡Tienes BlackJack! #org @Pipiolo... = Te has pasado.... #org @ElCrupierTiene = El Crupier tiene #org @TeHasPasadoCon = Te has pasado con #org @Instruc = Bienvenido a las instrucciones\ndel PokéBlackJack, las reglas son\lmuy sencillas.\lAntes de empezar, deberas apostar\luna de las cantidades que verás,\lsi ganas te devolverán tu apuesta\ljunto a un 50% de lo apostado.\lComienzas robando 2 cartas según\lla carta obtenida, suman las\lsiguientes cantidades: As = 1 u\l11, Figuras = 10, de 2 a 9 =\lvalor de la carta.\lPuedes robar después tantas veces\lcomo quieras, pero si te pasas de\l21 pierdes (o empatas) y si\ltienes justo 21 ganas (o empatas).\lEl Crupier (tu contrincante), por\lel contrario robará cartas hasta\lque sumen 17 o más.\lUna vez se pare de robar cartas,\lse compararán los resultados.\lSi teneis el mismo valor, o\lteneis los dos BlackJack o los\ldos os pasais, empatais.\lEn caso de que no ocurra nada de\llo anterior, el que tenga el\lmejor resultado gana. Siguiendo\leste esquema:\lPasarse < Tener un valor entre 1\ly 20 < Tener BlackJack\pEsto es todo, espero que te\ndiviertas y gracias por jugar al\lPokéBlackJack. #org @¿CuantoApuestas? = ¿Qué cantidad deseas apostar? #org @NoTienesPasta = No tienes suficiente dinero. #org @Feliz #raw 0x66 'Feliz (^_^) #raw 0xFE 'Finalizar Movimientos #org @Creditos = Creador del script: Dani_SR_17.\nGracias a Gut_Bro por su\lherramienta y a Sayer por ayudarme\la plantear el script. No suelo pedirlo, pero en este caso si se utiliza pido por favor créditos, porque me ha llevado su tiempo y sus dolores de cabeza.