Registrarse

[Scripting] R, S, E | Sistema de repelente B/W/2

Hola! este es mi primer aporte para esta genial comunidad, en este caso les enseñare hacer un sistema de repelente estilo B/W/2, ya sea para Emerald,Ruby,Sapphire ACLARO QUE SOLO HE PROBADO ESTO EN LA VER. INGLES, NO SE SI FUNCIONARIA EN LA VER. ESPAÑOLA

---------------------------------------------------------

Tutorial Sistema de repelente B/W/2!​

Lo primero seria abrir el XSE, si no lo tienes puedes descargarlo en la pestaña de "descargas" en el foro,
una vez abierto el XSE presionamos en archivo y después en abrir​

Se abrirá una ventana, lo que tienes que hacer es buscar tu ROM a editar, yo usare para editar la ROM de Pokémon Ruby

Una vez abierto el ROM, vamos al apartado donde esta el 0x y una caja de texto vacía, ahi escribiremos el siguiente offset dependiendo el ROM a editar, en mi caso es Ruby, el offset para Ruby seria: 1C33E6
una vez escrito el offset presionamos enter y saldra algo como esto:​
Offsets para los otros ROMS:
Sapphire: 1C3376​
Emerald: 2A4B2A​

Lo siguiente que haremos sera copiar y pegar el script que les voy a dejar y remplazarlo por el otro:
Código:
'---------------
#org 0x1C33E6
goto @snippet1

'---------------
#org @snippet1
lock
msgbox       [MENTION=29127]String[/MENTION]1 MSG_SIGN '"El efecto del REPELENTE se\nagotó[..."
checkitem 0x56 0x1
compare LASTRESULT 0x1
if 0x1 goto @snippet2
checkitem 0x53 0x1
compare LASTRESULT 0x1
if 0x1 goto @snippet3
checkitem 0x54 0x1
compare LASTRESULT 0x1
if 0x1 goto @snippet4
release
end

'---------------
#org @snippet2
msgbox       [MENTION=29127]String[/MENTION]2 MSG_YESNO '"¿Quieres usar otro REPELENTE?"
compare LASTRESULT 0x1
if 0x1 goto @snippet5
closeonkeypress
release
end

'---------------
#org @snippet3
msgbox       [MENTION=29127]String[/MENTION]2 MSG_YESNO '"¿Quieres usar otro REPELENTE?"
compare LASTRESULT 0x1
if 0x1 goto @snippet6
closeonkeypress
release
end

'---------------
#org @snippet4
msgbox       [MENTION=29127]String[/MENTION]2 MSG_YESNO '"¿Quieres usar otro REPELENTE?"
compare LASTRESULT 0x1
if 0x1 goto @snippet7
closeonkeypress
release
end

'---------------
#org @snippet5
removeitem 0x56 0x1
sound 0x2F
setvar 0x4021 0x64
msgbox       [MENTION=29127]String[/MENTION]3 MSG_NORMAL '"Usaste REPELENTE."
release
end

'---------------
#org @snippet6
removeitem 0x53 0x1
sound 0x2F
setvar 0x4021 0xC8
msgbox       [MENTION=29127]String[/MENTION]4 MSG_NORMAL '"Usaste SUPER REPEL."
end

'---------------
#org @snippet7
removeitem 0x54 0x1
sound 0x2F
setvar 0x4021 0xFA
msgbox       [MENTION=29127]String[/MENTION]5 MSG_NORMAL '"Usaste MAX REPEL."
end


'---------
' Strings
'---------
#org       [MENTION=29127]String[/MENTION]1
= El efecto del REPELENTE se\nagotó[.][.]

#org       [MENTION=29127]String[/MENTION]2
= ¿Quieres usar otro REPELENTE?

#org       [MENTION=29127]String[/MENTION]3
= Usaste REPELENTE.

#org       [MENTION=29127]String[/MENTION]4
= Usaste SUPER REPEL.

#org       [MENTION=29127]String[/MENTION]5
= Usaste MAX REPEL.
Quedando algo asi:

Lo ultimo que queda por hacer es compilar, una vez compilado damos en cerrar y listo!, cerraríamos el programa y a probar que si funciona!.
Eso es todo! saludos!
 
Última edición:
M

Miembro eliminado 28262

Invitado
Respuesta: E/R/S | Scripting | Sistema de repelente BW2

Wowoowow! Alto ahí compañero, esto es solo el script, el cual es parte del asunto, pero no es la rutina ni el sitema en sí.

Estás seguro de esto?
 
Respuesta: E/R/S | Scripting | Sistema de repelente BW2

Wowoowow! Alto ahí compañero, esto es solo el script, el cual es parte del asunto, pero no es la rutina ni el sitema en sí.

Estás seguro de esto?
Si, estoy seguro aparte antes de publicarlo, he hablado con personas que saben mucho de scripting de que lo prueben en los tres ROMS para ver de que no haya ningún error.

Si por casualidad algún usuario tiene un error se lo ayudara al instante!
 

Versekr Dark

Usuario mítico
Re: E/R/S | Scripting | Sistema de repelente B/W/2

Gracias amigo he estado buscando ese offset desde hace tiempo jaja, y es el mismo método que Emerald de pokeco jaja gracias

Solo una opinión o mas bien un consejo(yo se que no aporto nada jaja xD) pero podrías poner el script de manera lineal ya que mucha gente no sabe de script(yo también me incluyo) y es mas complicado andar buscando los errores(que no hay errores solo saltos de linea) así que por favor ponlo corrido y gracias :).

#dynamic 0x800000
#org 0x1C33E6
goto @snippet1

'---------------
#org @snippet1
lock
msgbox @String1 MSG_SIGN '"El efecto del REPELENTE se\nagotó[..."
checkitem 0x56 0x1
compare LASTRESULT 0x1
if 0x1 goto @snippet2
checkitem 0x53 0x1
compare LASTRESULT 0x1
if 0x1 goto @snippet3
checkitem 0x54 0x1
compare LASTRESULT 0x1
if 0x1 goto @snippet4
release
end

'---------------
#org @snippet2
msgbox @String2 MSG_YESNO '"¿Quieres usar otro REPELENTE?"
compare LASTRESULT 0x1
if 0x1 goto @snippet5
closeonkeypress
release
end

'---------------
#org @snippet3
msgbox @String2 MSG_YESNO '"¿Quieres usar otro REPELENTE?"
compare LASTRESULT 0x1
if 0x1 goto @snippet6
closeonkeypress
release
end

'---------------
#org @snippet4
msgbox @String2 MSG_YESNO '"¿Quieres usar otro REPELENTE?"
compare LASTRESULT 0x1
if 0x1 goto @snippet7
closeonkeypress
release
end

'---------------
#org @snippet5
removeitem 0x56 0x1
sound 0x2F
setvar 0x4021 0x64
msgbox @String3 MSG_NORMAL '"Usaste REPELENTE."
release
end

'---------------
#org @snippet6
removeitem 0x53 0x1
sound 0x2F
setvar 0x4021 0xC8
msgbox @String4 MSG_NORMAL '"Usaste SUPER REPEL."
end

'---------------
#org @snippet7
removeitem 0x54 0x1
sound 0x2F
setvar 0x4021 0xFA
msgbox @String5 MSG_NORMAL '"Usaste MAX REPEL."
end


'---------
' Strings
'---------
#org @String1
= El efecto del REPELENTE se\nagotó[.][.]

#org @String2
= ¿Quieres usar otro REPELENTE?

#org @String3
= Usaste REPELENTE.

#org @String4
= Usaste SUPER REPEL.

#org @String5
= Usaste MAX REPEL.
 

Lunos

Enfrentando a La Organización
Miembro insignia
Respuesta: E/R/S | Scripting | Sistema de repelente B/W/2

Lo malo de este script es que si por ejemplo usas un Super Repelente y lo agotas pero tenés un Repelente en tu mochila, cuando le respondas con un "Si" al msgbox que te pregunta si querés usar otro repelente, el script usará un Repelente común y no un Super Repelente como estabas utilizando.

En fin, el offset para Pokémon Fire Red por si alguien lo necesita, es 1BFB65.
Para que el script funcione correctamente, hay que cambiar todos los setvar 0x4021 por setvar 0x4020 antes de compilar.
Los creditos van para eMMe97 de PokemonHacking.it por el dato.
 

Berserker1523

2-Intentando discernir qué es lo más importante...
Respuesta: E/R/S | Scripting | Sistema de repelente B/W/2

Una pregunta, como dice Lunos, no hay forma de comprobar primero si se tiene un repelente de mayor categoría (o igual) para usarlo?

En cuanto tenga tiempo voy a tratar de buscar el offset para Rojo Fuego. Gracias a todos!
 

Markuzz Kaizuka

Usuario de platino
Respuesta: E/R/S | Scripting | Sistema de repelente B/W/2

En serio solo se necesita un script?
Pensaba que se trataria de una rutina o algo, Entonces el error que describio Lunos, pienso yo que se podria arreglar con diferentes scripts? Si hay tres tipos de repelente con tres scripts diferentes se solucionaria esto?
Me gustaria comprobar si esto es posible, igual muy buen aporte y pensar que esto se podia hacer con un script.

Saludos!!
 

Lunos

Enfrentando a La Organización
Miembro insignia
Respuesta: E/R/S | Scripting | Sistema de repelente B/W/2

Entonces el error que describio Lunos, pienso yo que se podria arreglar con diferentes scripts?
En mi cabeza, un unico script con un multichoicebox personalizado suena a la opción mas sencilla.
Si no me falla, ese es el metodo que The_Learner implementó en su herramienta, "TL's Quick Enhancer".
 

Orlyespurr

Usuario de platino
¡¡¡¡¡Me encantaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!!!!

Y me funcionó correctamente en Esmeralda. Lo mejor es que por ejemplo si me queda 1 repelente y 2 super repelentes... se me acaba el primero y automáticamente ocupa los super o máx si es que me quedan y así hasta que no tenga ninguno de los 3 repelentes en la mochila :D

Obviamente daré los créditos correspondientes tanto a ItsLuloo por compartirlo y a Versekr Dark por reescribirlo correctamente, ¡muchas gracias chicos! :D
 
Arriba