Sumar y Multiplicar 2 Variables
Hola a todos (Otra vez), hoy traigo un sencillo (Siempre son sencillos :D ) script, que permite sumar y multiplicar 2 variables.
Algo muy básico y útil para lo que no existen comandos ¿:.
Bueno, al turrón, aquí tenéis unas ScreenShots para que veáis que no miento (Los Tiles son de Zein)
Aquí tenéis los Scripts listos para descargar:
Suma de 2 variables
Multiplicación de 2 Variables
Y aquí tenéis los Scripts:
Suma de 2 Variables
#dynamic 0x800000
#org @start
setvar 0x40FF 0x2 'Nº para sumar 1
buffernumber 0x0 0x40FF
setvar 0x40FE 0x4 'Nº para sumar 2
buffernumber 0x1 0x40FE
goto @Paso0
'-------------------------------------------------------------------
#org @Paso0 'Compruebo si la 1º var es 0.
compare 0x40FF 0x0
if 0x1 goto @Sumado2 'Es 0, luego el resultado es la 2º variable
if 0x2 goto @Paso1 'No es 0, vamos a la 2º comprobación
#org @Paso1
compare 0x40FE 0x0
if 0x1 goto @Sumado 'Es 0, luego el resultado es la 1º variable
if 0x2 goto @Suma1yResta1 'No es 0, vamos a sumar
#org @Suma1yResta1 'Suma 1 a la 1º y resta 1 a la 2º
addvar 0x40FF 0x1
subvar 0x40FE 0x1
goto @Paso1 'Vuelve a comprobar si la 2º es 0
'-------------------------------------------------------------------
#org @Sumado 'Script acabado solución en la 1º var
buffernumber 0x2 0x40FF
msgbox @LaSumaEs 0x6
end
#org @Sumado2 'Script acabado solución en la 2º var
buffernumber 0x2 0x40FE
msgbox @LaSumaEs 0x6
end
'-------------------------------------------------------------------
#org @LaSumaEs
= La suma de:\n y \les
Multiplicación de 2 Variables
#dynamic 0x800000
'Antes de nada, recuerdo que multiplicar 2 por 3, es sumar 3 veces 2.
#org @start
setvar 0x40FF 0x2 'Nº para multiplicar 1
buffernumber 0x0 0x40FF
setvar 0x40FE 0x4 'Nº para multiplicar 2
buffernumber 0x1 0x40FE
goto @AMultiplicar
'-------------------------------------------------------------------
#org @AMultiplicar
copyvar 0x40FD 0x40FF 'Copias la variable principal, luego usaras esta como "pivote"
goto @Paso0
#org @Paso0
compare 0x40FE 0x0
if 0x1 goto @EsCero
if 0x2 goto @Paso1
#org @Paso1 'Segunda comprobación
compare 0x40FE 0x1
if 0x1 goto @Fin 'Es 1, luego da lo mismo
if 0x2 goto @Paso2 'Ninguno de los casos anteriores, empieza el script
'-------------------------------------------------------------------
#org @Paso2 'El paso principal del script
copyvar 0x40FC 0x40FD 'Como vamos a modificar 40FF y otra variable más, guardamos el valor original de 40FF en 40FD y usamos 40FC
goto @Paso2-1
#org @Paso2-1
compare 0x40FC 0x0 'Vemos si 40FC es 0
if 0x1 goto @Paso2-2 'Si es 0, ya esta
if 0x2 goto @Suma1yResta1 'Si no, se suma y resta 1
#org @Suma1yResta1
addvar 0x40FF 0x1
subvar 0x40FC 0x1
goto @Paso2-1 'Volvemos al inicio
#org @Paso2-2
subvar 0x40FE 0x1 'Disminuimos en 1 la variabble 0x40FE
compare 0x40FE 0x1
if 0x1 goto @Fin 'Ya esta multiplicado
if 0x2 goto @Paso2 'Vuelve al Paso 2, pero ahora 40FE vale 1 menos
'-------------------------------------------------------------------
#org @Fin 'El resultado es el valor de la 1º variable
buffernumber 0x2 0x40FF
msgbox @LaMultiplicaciónEs 0x6
end
#org @Fin2 'El resultado es el valor de la 2º variable
buffernumber 0x2 0x40FE
msgbox @LaMultiplicaciónEs 0x6
end
#org @EsCero 'Si alguno es 0
setvar 0x40FF 0x0
buffernumber 0x2 0x40FF
msgbox @LaMultiplicaciónEs 0x6
end
'-------------------------------------------------------------------
#org @LaMultiplicaciónEs
= La multiplicación de:\n y \les
Espero que os guste y os sirva :rolleyes:
Agradecimientos a [MENTION=26309]Sayer301[/MENTION], que le doy la lata muchos días con el tema de los scripts :shy:
Otro scripter brillante en formacion...
Yo la lo dije por skype, sera muy util y estas mejorando muchiiisimo, enserio, molas 1000
Y nada, esta bastante bien todo, creo que llegaras muy lejos en este mundillo
Hace un tiempo puse una duda relacionada a este tema, sabía que los buffers almacenaban información, pero no sabía cómo y me daba "miedo" tocarlos.
Ahora lo he entendido, y más que un aporte de scripts me ha servido como tutorial.
Que sepas que has ayudado un montonazo a mi hack con esto, en una parte muy importante de él.
Gran trabajo, y espero que sigas así :)
Iniciado por RedMort
Hace un tiempo puse una duda relacionada a este tema, sabía que los buffers almacenaban información, pero no sabía cómo y me daba "miedo" tocarlos.
Ahora lo he entendido, y más que un aporte de scripts me ha servido como tutorial.
Que sepas que has ayudado un montonazo a mi hack con esto, en una parte muy importante de él.
Gran trabajo, y espero que sigas así :)
Me alegro de que te sirva :D
Lo pongo en scripts, porque el primero lo puse en tutoriales y me lo movieron, pero vaya, que pueden servir para las dos cosas, por si te sirve en breve voy a sacar uno de restar y dividir.