qna_rh
Thread Id: 24284
Thread Name: Duda sobre script de niveles
#0
Tito Sayer301 26309
A ver resumo, una casa tiene dos entradas. Quiero que el script de nivel solo se ejecute si entras por la de la derecha. Si entras por la de la izquierda que no pase nada.

Gracias!!
#1
Javi4315♪ 13374
Yo pondría un script de gatillo en la puerta (por fuera). Mira, imagina que coges la variable 0x40FF. Entonces pones que el script de nivel se ejecute, por ejemplo, con el valor 0x1. Ahora, en la puerta de la derecha (no cuando ya has entrado, sino por fuera, antes de entrar, como te digo), pones un script con la misma variable pones el valor 0x0 y que al pisarlo, pase al valor 0x1, así, si entras, se ejecutará el script. En la puerta de la izquierda pones la misma variable, pero el valor 0x1 y que pase a ser el 0x0, así que si entras, no se ejecuta el script. La verdad es que no sé si me he explicado bien xD
#2
Tito Sayer301 26309
Si, te has explicado debuti, el problema es que hay un "minijuego" introducido y no puedo usar el metodo de scripts de gatillo. La idea es hacer un compare o algo asi con la posicion X/Y o con los Warps, pero no sabría de donde podría coger estos datos para luego compararlos y que si coinciden, se ejecute.

Lo ultimo es fácil, lo que no se es de donde podría obtener los datos de la posición o el warp por el que acabo de pasar.
#3
Javi4315♪ 13374
Pues el comando getplayerpos te puede ir bien. Es lo único que se me ocurre según lo que dices de las coordenadas.
#4
Tito Sayer301 26309
Iniciado por Darth Vader
Pues el comando getplayerpos te puede ir bien. Es lo único que se me ocurre según lo que dices de las coordenadas.


Buah, lo has clavao, ahora solo tengo que descubrir en que variables se almacena ese dato.

Dejo el tema abierto por si alguien lo sabe.
#5
Javi4315♪ 13374
Iniciado por Sayer Conflow!
Buah, lo has clavao, ahora solo tengo que descubrir en que variables se almacena ese dato.

Dejo el tema abierto por si alguien lo sabe.


Se guardan en las variables que tú especifiques en los parámetros del propio comando. Al menos eso es lo que dice XSE. Si no me estoy confundiendo, el comando es getplayerpos 0x(variable pos. x) 0x(variable pos. y). Prueba a ver si funciona así xD
#6
Tito Sayer301 26309
Pues algo me debe de fallar... os dejo el script a ver si veis el fallo, nada mas entrar al mapa se bloquea.


#7
Cheve_X 15014
No estoy del todo seguro ni del porqué ni de nada, pero... intenta añadirle +1 (En hex) a cada valor que necesitas comparar...

#dynamic 0x816200

#org @inicio
lock
checkflag 0x51C
if 0x0 goto @nada
getplayerpos 0x40EA 0x40E9
compare 0x40EA 0xA
if 0x0 goto @nada
compare 0x40E9 0x6
.
.
.
#8
Tito Sayer301 26309
Iniciado por Cheve_X
No estoy del todo seguro ni del porqué ni de nada, pero... intenta añadirle +1 (En hex) a cada valor que necesitas comparar...

#dynamic 0x816200

#org @inicio
lock
checkflag 0x51C
if 0x0 goto @nada
getplayerpos 0x40EA 0x40E9
compare 0x40EA 0xA
if 0x0 goto @nada
compare 0x40E9 0x6
.
.
.



Eso es lo de menos a mi parecer, pues ahora cuando entro, entro por otro lado y ademas la flag esta activada, por lo que no debería pasar nada en ningún momento, sin embargo se cala.
#9
Cheve_X 15014
Hiciste el cambio de las FFFF a FF o 00? (En script del Mapa)(Supongo que es del tipo 0x2 tu script de nivel)
#10
Javi4315♪ 13374
¿Pero es un script de nivel o de gatillo?
#11
Tito Sayer301 26309
Iniciado por Cheve_X
Hiciste el cambio de las FFFF a FF o 00? (En script del Mapa)(Supongo que es del tipo 0x2 tu script de nivel)


Si, y nada. Y si es de tipo 02 el script de nivel.

Iniciado por Darth Vader
¿Pero es un script de nivel o de gatillo?


Nivel, lo pone en el primer post desgraciao jajajajaja.
#12
Javi4315♪ 13374
Sí, pero es que me has liado. Entonces se supone que si no tiene que pasar nada, va al pointer "@nada" ¿No? Y ahí lo que hay es esto:

#org @nada
release
end


Recuerda que el script de nivel se ejecuta en cualquier momento siempre que la variable tenga un valor determinado, mientras no cambies el valor de la variable, el script se seguirá ejecutando. Entonces, si estoy en lo cierto, más que bloquearse, lo que ha hecho es que ha entrado en un bucle infinito xD
#13
Cheve_X 15014
Iniciado por Darth Vader
Sí, pero es que me has liado. Entonces se supone que si no tiene que pasar nada, va al pointer "@nada" ¿No? Y ahí lo que hay es esto:



Recuerda que el script de nivel se ejecuta en cualquier momento siempre que la variable tenga un valor determinado, mientras no cambies el valor de la variable, el script se seguirá ejecutando. Entonces, si estoy en lo cierto, más que bloquearse, lo que ha hecho es que ha entrado en un bucle infinito xD


Javi, eres bueno jajajaja
Recién tuve un problema de éstas mismas carácteristicas y era lo mismo jajaja agregué un addvar 0x40FF 0x1 (en mi caso) y listo jajaja
#14
Tito Sayer301 26309
Bueno, pero no termina de funcionar eso porque si quiero que vuelva a funcionar tengo que hacer un script de gatillo, y para eso lo hago todo en script de gatillo XD.
Bueno gracias de todas formas! Ya se como hacerlo de otro modo, un saludo!
Cierro tema!