Registrarse

¿Se puede saber que hago mal?

Estado
Cerrado para nuevas respuestas.
He intentado mil maneras para hacer scripts referidos al movimiento ...

No me sale ni uno, y pienso que algo he hecho mal... No lo entiendo.
Es que lo he mirado y remirado...

El problema es que cada vez que paso por encima, lo ignora ...
Si quiero el compare, el if y el método 'snippet1' , se bloquea.
No funciona nada nunca :(

Código:
#dynamic 0x800000
'---------------
#org @start
compare 0x7FFA 0x1
if 0x5 goto @snippet1
lockall
applymovement 0x1 @move1
waitmovement 0x0
msgbox @string1 MSG_KEEPOPEN '"¡Alma de cántaro! ¿A donde vas?\n"
closeonkeypress
applymovement 0x1 @move2
applymovement MOVE_PLAYER @move3
waitmovement 0x0
msgbox @string2 MSG_KEEPOPEN '"Te recomiendo que tengas un pokémo..."
closeonkeypress
applymovement 0x1 @move4
waitmovement 0x0
pause 0x10
releaseall
end

'---------------
#org @snippet1
msgbox @string3 MSG_KEEPOPEN '"¿Luchar?\nPrefiero quedarme en est..."
closeonkeypress
end


'---------
' Strings
'---------
#org @string1
= ¡Alma de cántaro! ¿A donde vas?\n

#org @string2
= Te recomiendo que tengas un pokémon\nantes de salir ahí fuera.\l¡SUICIDA! ¡Qué estás chalao!

#org @string3
= ¿Luchar?\nPrefiero quedarme en este pueblo,\lse respira tranquilidad.


'-----------
' Movements
'-----------
#org @move1
#raw 0x2 'Face Left
#raw 0x62 'Exclamation Mark (!)
#raw 0x54 'Jump in Place (Facing Left)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1 'Face Up
#raw 0xFE 'End of Movements

#org @move2
#raw 0x9 'Step Up (Very Slow)
#raw 0xFE 'End of Movements

#org @move3
#raw 0x3F 'Slide Running on Right Foot (Left)
#raw 0x9 'Step Up (Very Slow)
#raw 0x42 'Slide Running on Left Foot (Up)
#raw 0xFE 'End of Movements

#org @move4
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x1 'Face Up
#raw 0xFE 'End of Movements


Gracias de antemano.
 

RedMort

Aprendiendo Decomp
A ver una cosa.
¿Es un scrip de gatillo? Esque en la configuracion del A-Map le tienes puesto el offset y la configuracion a la persona, no al script. Entonces solo funcionaria hablandole a la persona.
Responde por si me he equivocado :p
 
No no, la persona no tiene configurado nada, solo pongo el valor del No. de gente = 1.
Y esa configuración que muestro es la del script de gatillo, igual que el offset lo lleva el script.
 

Gold

Porrero a tiempo parcial
Miembro insignia
por lo que veo le tenes asignado un script de gatillo a una persona, de esa manera no te va a funcionar bien, debes de ponerle a la persona un script cualquiera, y ese script ponerselo a uno de gatillo, para que se active cuando pises el tile, ademas de asignarle una variable :B

Y el @snippet posiblemente se te traba porque le pones el "if 0x5" no se, pero en lo que he trabajado solo se usa el if 0x0 y el if 0x1, pero no estoy seguro.
 

RedMort

Aprendiendo Decomp
Y el @snippet posiblemente se te traba porque le pones el "if 0x5" no se, pero en lo que he trabajado solo se usa el if 0x0 y el if 0x1, pero no estoy seguro.
Tienes razon, a mi entender, si pones en el compare el 0x1, abajo solo podria ser 0x1 o 0x0 (activado o desactivado), el 0x5 creo que ahi no haria nada, podrías poner una descripcion de que quieres que pase para verlo mejor.

Para que se aclare lo que digo, en tu script tienes puesto que compare si el script 7FFA está con el valor 1.
Abajo pones if 0x5, y eso no creo que sirva.
Prueba poniendo if 0x1.

Otra cosa que me he fijado, tras poner un apply en el mini 0x1, debes poner abajo waitmovement 0x1.
El 0x0, o al menos yo aprendi asi, es para mover al prota, la camara, o muchos minis a la vez.
 

Javi4315

Babyface
Miembro de honor
El 0x5 sí que sirve y significa "diferente al valor que se comprueba". Pero no deberías hacer el compare. Ten en cuenta que el script de gatillo se ejecuta, en este caso, cuando la variable tenga el valor 0x1. En el momento que no lo tenga, no se ejecutará, por lo que no es necesario ningún compare.

Quita eso y prueba a ver si va.
 
No acabo de entender lo que quieres decir @PinkyPie ...
Yo, tengo el script variable etc puesto en el script puesto en el tile que tengo que pisar.
Se que tengo seleccionado al [P] en la imagen, ignorad eso.
La persona no le pasé ningún offset ni dato. Solo tomé de referencia su num de gente para el script que ejecuta la acción de ese mini...

El 0x5 significa 'distinto de 0001', que es el valor que paso en la configuración del script, no de la persona.
De esa manera, solo funcionará ese método si el valor deja de ser 0001.

Sigue sin salerme. He probado a cambiar el mini a 0x1 en el waitmovement, excepto en el applymovement conjunto.


He probado lo que me dijiste javi, pero cada vez que piso la zona me ignora. Pasa de que se ejecute.
 

RedMort

Aprendiendo Decomp
Pues no tenia ni idea del 0x5. Bueno, siempre se aprende algo nuevo ^^

A ver una cosa.
En el A-Map tienes puesta la variable para que funcione cuando está en valor 1.
Pero en el script, le tienes puesto que si es distinto de 1, funcione.
Entonces es un contrasentido, porque si es distinto de 1, directamente no se activará al pisarlo.
 

Javi4315

Babyface
Miembro de honor
Pues no lo entiendo, porque el script parece que está bien. Y la configuración también.
¿Estás seguro de que la variable tiene el valor 0x1 cuando pisas el gatillo? Es decir, en algún otro script tendrías que darle el valor 0x1 para que se ejecutara.
 
El script personalmente no lo uso desde otro lado, es de los que están libres.

RedMort, es que eso se ejecuta cuando es diferente de 0001, porque lo cambiaría posteriormente desde otro script.
De todas formas , si que he quitado el msgbox del snippet.

Dios, estoy que no se que hacer, porque veo que no me sale ningún script de movimientos...
 

RedMort

Aprendiendo Decomp
RedMort, es que eso se ejecuta cuando es diferente de 0001, porque lo cambiaría posteriormente desde otro script.
A eso me refiero.
Tu piensa, ese script quieres que se active cuando esté el valor distinto de 1, pero en el A-Map lo tienes configurado para que el gatillo salte al estar en valor 1.
Entonces si la variable está en valor 1, se activaría el gatillo, pero no el script.
Si la variable es distinta a 1, el gatillo no saltaría, por lo tanto el script ni se leería
 
Tienes razón, admito mi error. Esto del scripting tarda uno en darse cuenta, pero estando ratillo se van asimilando errores.

He de decir que he conseguido que el script me fuese ... Y al principio tenían razón la mayoría de ustedes, así que ahora voy dándole las gracias, que ya era hora de que me saliera un script de estos :

Me fallaba :
* Declarar un flag que pasar a la persona que se movería.
* Usar el servar en condiciones, como decían algo había mal ahí.
* El waitmovement y el applymovement SIEMPRE declarados en numero decimal, sino no me funciona, no se si es así para todos, pero a mi si.
* El desconocido = 0003 salió rellenando el par de campos que aparece.

Basicamente eso.
Dejo aquí mi código corregido :

Código:
'---------------
#org @start
lockall
msgbox @string1 MSG_NORMAL '"¡ HEEEY !"
applymovement 0x1 @move1
waitmovement 0x1
msgbox @string2 MSG_NORMAL '"¡Alma de cántaro! ¿A donde vas?\n"
applymovement 0x1 @move2
applymovement MOVE_PLAYER @move3
waitmovement 0x0
msgbox @string3 MSG_NORMAL '"Te recomiendo que tengas un pokémo..."
applymovement 0x1 @move4
waitmovement 0x1
setvar 0x6000 0x1
setflag 0x1200
pause 0x10
releaseall
end


'---------
' Strings
'---------
#org @string1
= ¡ HEEEY !

#org @string2
= ¡Alma de cántaro! ¿A donde vas?\n

#org @string3
= Te recomiendo que tengas un pokémon\nantes de salir ahí fuera.\l¡SUICIDA! ¡Qué estás chalao!


'-----------
' Movements
'-----------
#org @move1
#raw 0x2 'Face Left
#raw 0x62 'Exclamation Mark (!)
#raw 0x54 'Jump in Place (Facing Left)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1 'Face Up
#raw 0xFE 'End of Movements

#org @move2
#raw 0x9 'Step Up (Very Slow)
#raw 0xFE 'End of Movements

#org @move3
#raw 0x3F 'Slide Running on Right Foot (Left)
#raw 0x9 'Step Up (Very Slow)
#raw 0x42 'Slide Running on Left Foot (Up)
#raw 0xFE 'End of Movements

#org @move4
#raw 0x13 'Step Right (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x13 'Step Right (Normal)
#raw 0x1 'Face Up
#raw 0xFE 'End of Movements

Gracias a todos, y por mi parte este tema lo doy por zanjado. :)
 
Estado
Cerrado para nuevas respuestas.
Arriba