Registrarse

[Scripting] Script de cobro

[align=center]Tutorial de Script de cobro.

¿Qué es el Script de Cobro?
El script de cobro o llamado también de pago, sirve para restar-sumar cantidades de dinero en tu juego de Pokémon. Este también permite condicionar un script para que solo pueda ejecutarse pagando 'X' cantidad de dinero.
El tutorial es para Ruby, Esmeralda y FR, y requiere saber que es un script, realizar scripts de nivel fácil, y saber asignar un script a un mini.


Un momento, ¡Hay un tutorial en la web!
Si, se que hay un tutorial en la web, pero creo que es un poco confuso o mal explicado para los usuarios con menos experiencia, y confirmo esto con que un usuario me pidió que le explicara el script de pago porque no entendía el tutorial, por eso he decidido postearlo aquí, por si algún user no se aclara con el tutorial de la web.
[/align]

Explicación:
Lo primero de todo, os voy a explicar los comandos que sirven para modificar el dinero, o para condicionar un script en base al dinero del jugador.

showmoney 0x0 0x0 0x0
Este comando lo que hace es como su nombre indica, mostrar el dinero que tienes en un cuadrado en la esquina superior izquierda igual a este:


checkmoney 0x(Cantidad del dinero) 0x0
compare LASTRESULT 0x1
if 0x0 goto @notieneeldinero

Estos comandos siempre van juntos. Lo que hacen es checkear si el jugador posee igual a la cantidad del dinero o mayor necesaria para que el scirpt siga. Si no los tiene, le mandará a #org @notieneeldinero.

paymoney 0x(Cantidad del dinero) 0x0
Toca la hora de pagar, este comando te resta la cantidad que especificas de tu dinero, claramente necesitábamos checkearlo con el comando de arriba porque si no tienes dinero, no puedes pagar.

hidemoney 0x0 0x0
Este comando hace que este cuadrado desaparezca:


givemoney 0x(Cantidad del dinero) 0x0
Te suma la cantidad del dinero especificada.

updatemoney 0x0 0x0 0x0
Actualiza la cantidad que tienes de dinero después de pagar la cantidad especificada.

*NOTA: Las cantidades deben estar en hexadecimal premutadas, es decir tenemos que agrupar los números en parejas de dos e invertir el orden: 1234 > 3412
Se puede poner en un valor decimal suprimiendo el ''0x''

Muy bien, ahora pasemos a la parte practica. Vamos a hacer un script sencillo en el que te pidan 4660$ para poder saber una clave secreta.

Código:
#dynamic 0x800000

#org @inicio
lock
faceplayer
msgbox @mensaje 0x6           
showmoney 0x0 0x0 0x0          < Abre la caja de dinero.
msgbox @mensaje2 0x6           
checkmoney 0x3412 0x0          < Compara si tienes la cantidad o igual superior.
compare LASTRESULT 0x1        < Compara el resultado.
if 0x0 goto @nolostiene            < Si no tiene la cantidad, lo envía a #org @nolostiene
paymoney 0x3412 0x0              < Si tiene la cantidad, sigue con el script y paga la cantidad.
updatemoney 0x0 0x0 0x0        < Actualiza el dinero.
sound 0x48
pause 0x20
hidemoney 0x0 0x0                  < Cierra la caja de dinero.
msgbox @mensaje3 0x6 
release
end

#org @nolostiene                     < Aquí continua si no tienes la cantidad.
msgbox @mensaje4 0x6
hidemoney 0x0 0x0                    < Cierra la caja de dinero.
release 
end

#org @mensaje
= Si quieres conocer la\ncontraseña, deberás pagar\l4660$.

#org @mensaje2
= Ahora págame.

#org @mensaje3
= La contraseña es\n214111-Asdf.

#org @mensaje4
= ¡Eh, no tienes lo que quiero!\nNo te lo diré..
Y eso es todo, si tenéis alguna solamente ponerla y yo la solucionaré.
El script que he mostrado es solo orientativo, por lo tanto peude variar a vuestro gusto.
 
RE: Script de cobro [!]

jeje al final hiciste el tutorial ^^,pues como sabes lo utilizare en mi hack,muy buen aportazo ,la verdad es que era necesario,ya que el tutorial de la web no se entiende.




SALU2 :D
 

Sonicarvalho

Tutorial Maker
RE: Script de cobro [!]

Muy bueno, si señor! :D
Una cosa que mucha gente se olvida es que en XSE puedes tener en lugar de 0xHEX tener DECIMAL (Sin el 0x), o sea, en lugar de

paymoney 0x3412 0x0

podrás tener

paymoney 4660 0x0.

Además, porque DEMONIOS la gente de este foro desprecia EMERALD? Dices que el tuto es solo para R/FR pero tambien es el mismo en Emerald.
En fin...

Buen tutorial!

Saludos!:)
 

Cheve

MoonLover~
Miembro de honor
RE: Script de cobro [!]

Halá!

Muchas Gracias por el tutorial, les servirá a aquellos que no saben como hacerlo muy bien. Las imágenes ayudan mucho y la forma de redacción es correcta ^^.

Pero (Casi siempre hay uno ¿No?) tu ejemplo de Script tiene un error ^^v (tres en realidad pero dos no son taaaan importantes)

El Primero, no tan importante, no usas ni "lock" ni "Faceplayer" ^^'

Segundo, tampoco importante, el primer diálogo se sale del la textbox

Tercero, y vaya que importa, has comentido un error con el "compare LASTRESULT 0x1" y el "If" ... Así como está te dirá la contraseña si No Tienes el dinero ^^v

¿Forma fácil de Arreglarlo? poner "If 0x0" en vez de "If 0x1" ^^

Solo eso :D

Ahora investigaré otra cosa referente a ésto ^^v

Salu2!
 

fm~

Llámame FM.
RE: Script de cobro [!]

[align=center]Muy bueno, para decir la verdad, ni sabía hacerlo xD

Pero, ¿no hay un "setmoney"? - Algo como definir la cantidad de diñero...
¿O un "takemoney"? - Algo como restar el diñero...

Gracias, me servirá mucho...
Saludosss.
[/align]
 
RE: Script de cobro [!]

Cheve_X dijo:
Halá!

Muchas Gracias por el tutorial, les servirá a aquellos que no saben como hacerlo muy bien. Las imágenes ayudan mucho y la forma de redacción es correcta ^^.

Pero (Casi siempre hay uno ¿No?) tu ejemplo de Script tiene un error ^^v (tres en realidad pero dos no son taaaan importantes)

El Primero, no tan importante, no usas ni "lock" ni "Faceplayer" ^^'

Segundo, tampoco importante, el primer diálogo se sale del la textbox

Tercero, y vaya que importa, has comentido un error con el "compare LASTRESULT 0x1" y el "If" ... Así como está te dirá la contraseña si No Tienes el dinero ^^v

¿Forma fácil de Arreglarlo? poner "If 0x0" en vez de "If 0x1" ^^

Solo eso :D

Ahora investigaré otra cosa referente a ésto ^^v

Salu2!
Ya he corrregido el error del if, losiento mucho, fue un despiste.
Lo de lock y faceplayer y el texbox, no lo he puesto porque es un script orientativo y de guía para los usuarios, y me he centrado en lo más importante, pero vamos, ya he puesto el lock y el faceplayer.

Muy bueno, si señor!
Una cosa que mucha gente se olvida es que en XSE puedes tener en lugar de 0xHEX tener DECIMAL (Sin el 0x), o sea, en lugar de

paymoney 0x3412 0x0

podrás tener

paymoney 4660 0x0.

Además, porque DEMONIOS la gente de este foro desprecia EMERALD? Dices que el tuto es solo para R/FR pero tambien es el mismo en Emerald.
En fin...

Buen tutorial!

Saludos!
Ehm, te invito a leer bien el tutorial porque también aclaro lo de como ponerlo en valor decimal ^^
Sobre el esmeralda, puse las dos porque eran las mas usadas, pero vamos, ya he puesto que sirve para todos los roms GBA.

Muy bueno, para decir la verdad, ni sabía hacerlo xD

Pero, ¿no hay un "setmoney"? - Algo como definir la cantidad de diñero...
¿O un "takemoney"? - Algo como restar el diñero...

Gracias, me servirá mucho...
Saludosss.
Si, existen más comandos pero yo he puesto los que son necesarios para un script de cobro básico, y también con el extra de el givemoney.


Gracias a todos por comentar y por mejorar el tutorial ^^
 

Sonicarvalho

Tutorial Maker
RE: Script de cobro [!]

Ah tienes razón, mi despiste :XD:, no había reparado.
Ah pienso que existe el 'setmoney' porque no seria practico los programadores quitaren el dinero del player (ejemplo:Si pasas el juego a la priesa, solo luchando quien interesa, sin comprar nada, al final tienes algo como 240000$. Si los programadores hiciesen algo como set money 200000$, acabas de perder 40000$.)

Saludos y perdon!
:D
 

C!ro

Click the circles!
RE: Script de cobro [!]

FM! dijo:
[align=center]Muy bueno, para decir la verdad, ni sabía hacerlo xD

Pero, ¿no hay un "setmoney"? - Algo como definir la cantidad de diñero...
¿O un "takemoney"? - Algo como restar el diñero...

Gracias, me servirá mucho...
Saludosss.
[/align]
Bueno, el setmoney a lo explico sonic, pero el takemoney es el paymoney.

Buen tuto Kiwi.
 
Arriba