Registrarse

[RH - Scripting] ¿Por que no funcionan estos scripts?

Estado
Cerrado para nuevas respuestas.

Kerona

RomHacker Negado
No me funcionan los siguientes scripts:
(ESTO ES UN PC)
#dynamic 0x800000
#org @comienzo1
compare 0x4000 0x0
if 0x1 goto @comienzo2
compare 0x4000 0x1
if 0x1 goto @comienzo3
setvar 0x4000 0x2
compare 0x4000 0x2
if 0x1 goto @comienzo4
end
#org @comienzo2
msgbox @frase1 0x6
end
#org @comienzo3
msgbox @frase2 0x6
end
#org @comienzo4
msgbox @frase3 0x6
#org @frase1
= (FRASE)
#org @frase2
= (FRASE)
#org @frase3
= (FRASE)

(ESTO ES UNA PERSONA)
#dynamic 0x800000
#org @comienzo
lock
faceplayer
checkflag 0x500
if 0x0 goto @comienzo2
msgbox @frase1 0x6
giveitem 0x163 0x1 0x6
setvar 0x4000 0x1
release
end
#org @comienzo2
msgbox @frase2 0x6
release
end
#org @frase1
= (FRASE)
#org @frase2
= (FRASE)

(ESTO ES UN SCRIPT PARA QUE EL JUGADOR NO SALGA HASTA HACER LOS PASOS)
#dynamic 0x800000
#org @comienzo1
compare 0x4000 0x0
if 0x1 goto @comienzo2
compare 0x4000 0x1
if 0x1 goto @comienzo3
compare 0x4000 0x2
if 0x1 goto @comienzo4
end
#org @comienzo2
msgbox @frase1 0x6
applymovement 0xFF @movimiento1
waitmovement 0xFF
end
#org @comienzo3
msgbox @frase2 0x6
applymovement 0xFF @movimiento2
waitmovement 0xFF
end
#org @comienzo4
end
#org @frase1
= (FRASE)
#org @movimIento1
#raw 0x08
#raw 0xFE
#org @frase2
= (FRASE)
#org @movimiento2
#raw 0x08
#raw 0xFE

NO ME VA CUANDO LO PRUEBO EN EL JUEGO, POR EJEMPLO CUAND INTENTO SALIR DE LA CASA PARA VER SI VA NO FUNCIONA
 
Última edición:

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
A ver, voy a probar los script para saber donde está el fallo. Un script es de un NPC, otro es un script de gatillo. Pero el primero estoy confuso, es un PC literalmente o es simbólico, es decir, un mini sprite de un PC?

Por cierto, esto no tiene sentido:

Código:
setvar 0x4000 0x2
compare 0x4000 0x2
if 0x1 goto @comienzo4
Porque no pones los comandos de comienzo4 directamente? Sabes que esa condición se va a cumplir siempre.
 

Gold

Porrero a tiempo parcial
Miembro insignia
A mi juicio el que no funcionen se debe al hecho que en todos usas una misma variable. Una variable debería usarse individualmente para cada script. A eso sumado el hecho que 0x4000 es usada por el juego y su valor esta constantemente cambiando.
 

Kerona

RomHacker Negado
Necesito que nos des una explicación de lo que es la función de todos estos scripts, cual es tu idea? Y como te ha dicho Jaizu, ¿Qué es lo que te sale mal?
El primer script relevante es el de la persona, el cual te da un objeto que seria una contraseña, a la vez esta cambiando el valor de la variable 4000, haciendo que al interactuar con el pc ingresando la contraseña te permita salir de la casa
 

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Antes de nada, e¡en este script no tiene sentido que haya dos variantes que hacen exactamente lo mismo:
Código:
compare 0x4000 0x1
if 0x1 goto @comienzo3
compare 0x4000 0x2
if 0x1 goto @comienzo4
end
#org @comienzo2
msgbox @frase1 0x6
applymovement 0xFF @movimiento1
waitmovement 0xFF
end
#org @comienzo3
msgbox @frase2 0x6
applymovement 0xFF @movimiento2
waitmovement 0xFF
end
#org @comienzo4
end
#org @frase1
= (FRASE)
#org @movimIento1
#raw 0x08 
#raw 0xFE
#org @frase2
= (FRASE)
#org @movimiento2
#raw 0x08
#raw 0xFE
Comienzo 2 y 3 son exactamente iguales, además quiero suponer que es para que no te deje pasar. Trata de poner solo uno de ellos.

Además no entiendo que hace un checkflag en el segundo script, no lo has modificado en ningún otro script.

Como ya te ha dicho Gold prueba con otra variable, te recomiendo la 0x4FFF por ejemplo.
 

Kerona

RomHacker Negado
Antes de nada, e¡en este script no tiene sentido que haya dos variantes que hacen exactamente lo mismo:
Código:
compare 0x4000 0x1
if 0x1 goto @comienzo3
compare 0x4000 0x2
if 0x1 goto @comienzo4
end
#org @comienzo2
msgbox @frase1 0x6
applymovement 0xFF @movimiento1
waitmovement 0xFF
end
#org @comienzo3
msgbox @frase2 0x6
applymovement 0xFF @movimiento2
waitmovement 0xFF
end
#org @comienzo4
end
#org @frase1
= (FRASE)
#org @movimIento1
#raw 0x08 
#raw 0xFE
#org @frase2
= (FRASE)
#org @movimiento2
#raw 0x08
#raw 0xFE
Comienzo 2 y 3 son exactamente iguales, además quiero suponer que es para que no te deje pasar. Trata de poner solo uno de ellos.

Además no entiendo que hace un checkflag en el segundo script, no lo has modificado en ningún otro script.

Como ya te ha dicho Gold prueba con otra variable, te recomiendo la 0x4FFF por ejemplo.

Los dos comienzos son iguales pues cada uno te dice una cosa diferente, si no hiciste una de las cosas que hay que hacer en la casa, te dira que la hagas, y lo mismo con la otra, por eso son iguales pues son textos diferentes

Por cierto ¿No hay que poner el dynamic 0x800000?
 
Última edición:
Estado
Cerrado para nuevas respuestas.
Arriba