Registrarse

[Scripting] Tutorial sobre Scripts

yo soy Yo

Traducir es aburrido...
SSBBW dijo:
Night dijo:
SSBBW dijo:
Este es el script de una "Pokeball" que no se borra al terminar el texto y tampoco se muestra el menu POKEMON en el menu:
Código:
#dynamic 0x800000

'---------------
#org @start
lock
faceplayer
msgbox @string1 MSG_NORMAL '"(He encontrado mi Pikachu,me sera\..."
givepokemon 0x19 0x5 0xCA 0x0 0x0 0x0
release
end


'---------
' Strings
'---------
#org @string1
= (He encontrado mi Pikachu,me sera\nutil para luchar contra Pokemon\lSalvaje)
Hay que ponerle otra cosa mas despues de givepokemon?
Yo creo que quizas tenga que borrar el "lock","faceplayer" y "release" para que se elimine la "Pokeball" pero hay una forma de añadir el menu Pokemon?
Bueno, yo tuve la misma duda respecto a añadir el menú pokémon, te cito lo que me respondió
lolicón:

Usa setflag 0x828 para que aparezca la opción en el menú
Pues eso mismo, no tienes que borrar nada. Pones en el script setflag 0x828 y aparecerá. Respecto a desaparecer la ball, yo aún soy nuv, pero creo que lo puedes hacer siguiendo este tutorial de la wiki.

¡Saludos!
No me funciona,quizas por que sea Fire Red del que me estas hablando,yo estoy usando ruby_ing
En Ruby la flag es 0x800. Espero ser de ayuda.

ON TOPIC: Gran tutorial. Explica muy bien los comandos y cómo usarlos. Lástima que las variables y los scripts de gatillo con ellas estén tan bajos: los novatos no se animan a hacerlo con ellas.
 

Dragonite

But where's your heart
SSBBW dijo:
Este es el script de una "Pokeball" que no se borra al terminar el texto y tampoco se muestra el menu POKEMON en el menu:

Código:
#dynamic 0x800000

'---------------
#org @start
lock
faceplayer
msgbox @string1 MSG_NORMAL '"(He encontrado mi Pikachu,me sera\..."
givepokemon 0x19 0x5 0xCA 0x0 0x0 0x0
release
end


'---------
' Strings
'---------
#org @string1
= (He encontrado mi Pikachu,me sera\nutil para luchar contra Pokemon\lSalvaje)
Hay que ponerle otra cosa mas despues de givepokemon?
Yo creo que quizas tenga que borrar el "lock","faceplayer" y "release" para que se elimine la "Pokeball" pero hay una forma de añadir el menu Pokemon?
Me he dado cuenta de algo, creo que en Ruby los punteros dinámicos del tipo @inicio, @frase, @loquesea no funcionan, hay que trabajar con punteros estáticos y con el FSF (Free Space Finder)
 

rush

Usuario Habitual
Dafting dijo:
SSBBW dijo:
Este es el script de una "Pokeball" que no se borra al terminar el texto y tampoco se muestra el menu POKEMON en el menu:

Código:
#dynamic 0x800000

'---------------
#org @start
lock
faceplayer
msgbox @string1 MSG_NORMAL '"(He encontrado mi Pikachu,me sera\..."
givepokemon 0x19 0x5 0xCA 0x0 0x0 0x0
release
end


'---------
' Strings
'---------
#org @string1
= (He encontrado mi Pikachu,me sera\nutil para luchar contra Pokemon\lSalvaje)
Hay que ponerle otra cosa mas despues de givepokemon?
Yo creo que quizas tenga que borrar el "lock","faceplayer" y "release" para que se elimine la "Pokeball" pero hay una forma de añadir el menu Pokemon?
Me he dado cuenta de algo, creo que en Ruby los punteros dinámicos del tipo @inicio, @frase, @loquesea no funcionan, hay que trabajar con punteros estáticos y con el FSF (Free Space Finder)
claro que funcionan!! xDD

P.D: no hace falta poner un checkflag. Si le asigna la flag en el a-map, y pone una setflag en el script con ese numero de flag, ya no tendrá ningún problema, por que desaparecerá el mini, y sin mini, obviamente, no habrá script que ejecutar. Te ahorras un par de líneas de código inservible.
 

Dragonite

But where's your heart
rush dijo:
Dafting dijo:
SSBBW dijo:
Este es el script de una "Pokeball" que no se borra al terminar el texto y tampoco se muestra el menu POKEMON en el menu:

Código:
#dynamic 0x800000

'---------------
#org @start
lock
faceplayer
msgbox @string1 MSG_NORMAL '"(He encontrado mi Pikachu,me sera\..."
givepokemon 0x19 0x5 0xCA 0x0 0x0 0x0
release
end


'---------
' Strings
'---------
#org @string1
= (He encontrado mi Pikachu,me sera\nutil para luchar contra Pokemon\lSalvaje)
Hay que ponerle otra cosa mas despues de givepokemon?
Yo creo que quizas tenga que borrar el "lock","faceplayer" y "release" para que se elimine la "Pokeball" pero hay una forma de añadir el menu Pokemon?
Me he dado cuenta de algo, creo que en Ruby los punteros dinámicos del tipo @inicio, @frase, @loquesea no funcionan, hay que trabajar con punteros estáticos y con el FSF (Free Space Finder)
claro que funcionan!! xDD

P.D: no hace falta poner un checkflag. Si le asigna la flag en el a-map, y pone una setflag en el script con ese numero de flag, ya no tendrá ningún problema, por que desaparecerá el mini, y sin mini, obviamente, no habrá script que ejecutar. Te ahorras un par de líneas de código inservible.
Entonces no sé con qué me confundí.

El Checkflag es para cuando, por ejemplo, queremos que el item nos lo de una persona, o un "arbolito de bayas" por ejemplo. Sería medio raro que desaparezca de la nada...

Pero en caso de que sea una Pokeball con un item o un Pokémon, no hay problema.
 
Dafting dijo:
rush dijo:
Dafting dijo:
SSBBW dijo:
Este es el script de una "Pokeball" que no se borra al terminar el texto y tampoco se muestra el menu POKEMON en el menu:

Código:
#dynamic 0x800000

'---------------
#org @start
lock
faceplayer
msgbox @string1 MSG_NORMAL '"(He encontrado mi Pikachu,me sera\..."
givepokemon 0x19 0x5 0xCA 0x0 0x0 0x0
release
end


'---------
' Strings
'---------
#org @string1
= (He encontrado mi Pikachu,me sera\nutil para luchar contra Pokemon\lSalvaje)
Hay que ponerle otra cosa mas despues de givepokemon?
Yo creo que quizas tenga que borrar el "lock","faceplayer" y "release" para que se elimine la "Pokeball" pero hay una forma de añadir el menu Pokemon?
Me he dado cuenta de algo, creo que en Ruby los punteros dinámicos del tipo @inicio, @frase, @loquesea no funcionan, hay que trabajar con punteros estáticos y con el FSF (Free Space Finder)
claro que funcionan!! xDD

P.D: no hace falta poner un checkflag. Si le asigna la flag en el a-map, y pone una setflag en el script con ese numero de flag, ya no tendrá ningún problema, por que desaparecerá el mini, y sin mini, obviamente, no habrá script que ejecutar. Te ahorras un par de líneas de código inservible.
Entonces no sé con qué me confundí.

El Checkflag es para cuando, por ejemplo, queremos que el item nos lo de una persona, o un "arbolito de bayas" por ejemplo. Sería medio raro que desaparezca de la nada...

Pero en caso de que sea una Pokeball con un item o un Pokémon, no hay problema.
A mi lo que no me funcionan el @inicio @frase es en Fire Red,ya que al compilarlo y copiar el codigo al Advance Map me lleva a otro script diferente sin nada que ver con mi script
PD:Hace poco cambie a Advance Map 1.95 y ahora me salen scripts nada que ver en los dos casos,ejemplo:
Compilo mi script con el XSE y sale esto como @inicio o @start:8005BE
lo pego en script offset y sale esto:
Código:
#dynamic 0x800000

'---------------
#org @start
setbyte2 0xB5 0xC
comparebanktobyte 0x0 0x4
nop
jumpram
cmd24 0xE2406
.-.
Y decidi cambiar la base a Fire Red
Código:
#dynamic 0x800000

'---------------
#org @start
msgbox @string1 MSG_NORMAL '"He encontrado a mi Pikachu,me sera..."
givepokemon 0x19 0x5 0xCA 0x0 0x0 0x0
setflag 0x828
checkflag 0x828
if 0x1 goto @snippet1
end

'---------------
#org @snippet1
hidesprite 0x92

'---------
' Strings
'---------
#org @string1
= He encontrado a mi Pikachu,me sera\nutil para luchar contra Pokemons\lsalvajes.
No aparece,si le checkflag hasta hidesprite 0x92,aparece y añade el menu de Pokemon con un Pikachu Nivel 5 con Light Ball sin embargo no desaparece.
 
Por fin he conseguido hacer mi primer script !!!
Gracias por hacer este tutorial, el mejor que he visto y el unico que me ha servido.
En ningun otro tutorial me decia eso de copiar el offset de inicio.
Con esto podre crear por fin mi hack
 
Hola soy nuevo en todo esto y pues queria contarles que tengo un problema nose si alguien me pueda ayudar porfa lo que pasa es que por ejemplo a la hora de aser un script simple de habladura con XSE pongo todos los comandos bien y to le doy en las tuerquitas para compilar y despues le doy en copiar donde sale con azulito me voy a el advance-map y cambio el offset y guardo pero al momento de hablar con el mini solo me mira pero no habla busque un tutorial despues con pokescript pero no me gusto mucho aunque con ese si me salio un script simple de habladura pero al dia siguiente no me aparecia la opcion de compilar dadole click derecho en el .RBC y ya intetne reinstalando todo porfa si alguien me da un solucion o me da su opinion de lo que puedo estar asiendo mal igual el tuto es muy completa lo e leido muchas veces pero me sigue pasando incluso aveces hasta al hablar con el mini se queda pegado el juego y no anda mas porfa espero su ayuda
 
Buenas, yo estoy creando una Hack ROM y soy bastante nuevo en ésto de los scripts, y he intentado hacer el script del Bulbasaur al Lv.5 y me ha quedado así:

#dynamic 0x80000

#org @inicio
lock
faceplayer
checkflag 0x0000
if 0x0 goto @inicio2
msgbox @mensaje
callstd 0x6
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
clearflag 0x0000
release
end

#org @mensaje
= Toma tu Pokémon, es un\nBulbasaur al nivel 5.

#org @inicio2
lock
faceplayer
msgbox @mensaje2
callstd 0x6
release
end

#org @mensaje2
= Pero bueno, ya te he dado a tu\nPokémon, ¿qué más quieres?

Al principio el modelo del Bulbasaur así como está no me funcionaba, y busqué en otros temas y ponía que en vez de lo de @frase 0x6 y @frase2 0x6 pusiese @mensaje y @mensaje2 y probandolo en un script de msgbox normal me funcionó.

Tambien ponía que despues del msgbox había que poner callstd 0x6, pues bien, lo puse.

Pero ahora que estoy haciendo éste script de givepokemon, así como lo tengo yo no me funciona.

¿Alguien me podría ayudar?

PD: Igual no me funciona porqué no se si lo del setflag 0x2100 habia que ponerlo en algun sitio en el AdvanceMap...
 

Gershel

¡Con dos cojones!
Veo que tienes el XSE desactualizado. Trata de actualizarlo para scriptear mejor ;D
Prueba poniendo una variable correcta al script:

Código:
#dynamic 0x80000

#org @inicio
lock
faceplayer
checkflag 0x2100
if 0x1 goto @inicio2
msgbox @mensaje
callstd 0x6
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
setflag 0x2100
release
end

#org @mensaje
= Toma tu Pokémon, es un\nBulbasaur al nivel 5.

#org @inicio2
lock
faceplayer
msgbox @mensaje2
callstd 0x6
release
end
Prueba con este cambio en el script ;D
Saludos!
 
Una pregunta , ! me descargue el XSE de la pagina de wah , pero cuando sigo los pasos para crear un script como el de "HABLAR" . no me sale , lo unico q hace el personaje es mirar , pero no aparece lo q escribi , y lo hice tal cual se explica en el tuto , !! .. Sera que la version q descargue del XSE se vieja ?
 

Gershel

¡Con dos cojones!
Una pregunta , ! me descargue el XSE de la pagina de wah , pero cuando sigo los pasos para crear un script como el de "HABLAR" . no me sale , lo unico q hace el personaje es mirar , pero no aparece lo q escribi , y lo hice tal cual se explica en el tuto , !! .. Sera que la version q descargue del XSE se vieja ?
Sí, podría ser.
Para ir bien deberías tener la versión 1.1.1 (míralo en Ayuda-Sobre...)
Sí tienes una inferior deber ir al menú Ayuda-Actualizar-Comprobar ahora... y actualizar la versión.
Saludos!
 
Gracias por el script corregido!!
Pero todavía no funciona. Me dijiste que tenia que actualizarla a una versión más nueva,
y eso hice, pero en el paso 2 se me traba y me pone esto:

Conectando al Sitio Oficial y recogiendo datos de versión...

Y abajo, en gris me pone:

Error conectando al sitiop de alojamiento. Imposible completar actualización.

Espero no ser muy molesto :S Es que soy muy nuevo en esto de los scripts...

¿Me podrías ayudar, por favor?

_____________

Vale, ya he visto en otro tema que no se puede actualizar, que hay que bajarselo directamente actualizado... Bueno, pues ahora mismito me lo bajo. Ah, y tambien he visto que el flag hay que ponero en Advancemap en algún lado, pero lo que no se es donde...
 
UwU porfin me sirvio lo de los scripts y era por lo del XSE que estaba en la otr version pero ya lo baje actualizado y funciono super ahora es solo practica y mas practica gracias a todos los comentarios que fueron muy utiles para todo :D
 
A mi no me sale , Y tengo el XSE 1.1.1 q me recomendo Gershel , mi problema es , q cuando lo ago , el mini lo unico q hace es decirme solo ("Pero bueno ya te eh dado tu pokemon , que mas queres? ") eso me dice y no me da ningun pokemon ni nada , y yo en vs de poner Callstd 6 , pongo msgbox @frase 0x6, porq el callstd no me deja ponerlo , Y cuando le agrego la people al id de mini, cuando lo voy a buscar no aparece , alguien me podria ayudar ? , con algun video o algo ?
 
A mi no me sale , Y tengo el XSE 1.1.1 q me recomendo Gershel , mi problema es , q cuando lo ago , el mini lo unico q hace es decirme solo ("Pero bueno ya te eh dado tu pokemon , que mas queres? ") eso me dice y no me da ningun pokemon ni nada , y yo en vs de poner Callstd 6 , pongo msgbox @frase 0x6, porq el callstd no me deja ponerlo , Y cuando le agrego la people al id de mini, cuando lo voy a buscar no aparece , alguien me podria ayudar ? , con algun video o algo ?
La flag ya esta activada. Pon otra a ver.
 
Hola, soy novato en esto del rom hacking. Como estoy en un proyecto para hacer una he empezado a "estudiar" el uso de las tools. Al probar este programa e intentar cambiar el script de un mini y hablar con ese mini se bloquea el juego. Este es el script:
#dynamic 0x80000

#org @inicio
lock
msgbox @frase 0x6
end

#org @frase
= probando probando

Como he dicho, soy novato y estoy probando la herramienta (por eso el script ni tiene el faceplayer ni el release). Me podriais explicar que sucede?
Gracias de antemano
 
Arriba