Re: Mi primer juego: Sami troid
Publicado: Vie, 07 Feb 2014, 17:45
EDITO: Ya sabía yo que te iban a contestar antes.... ni para escribir el post me ha dado XD. Pues yo creia que así se podría hacer na_th_an
Seguramente cuando EMS publique el próximo tuto que iban a hablar del scripting tendrás tus dudas resultas (aunque también te puedo decir que aquí son muy rápidos y quizás tengas una solución más temprana)
Mientras tanto te puedo decir que yo todavía no he hecho pruebas con todo lo que el scripting nos proporciona pero existe una condición$this->bbcode_second_pass_code('', '* IF ALL_ENEMIES_DEAD
Descripción: Evaluará a CIERTO si todos los enemigos están muertos.
Opcode: 30').
Creo que en algún lado leí que el problema de esto es que el scripting sólo se lanza cuando se lanza XD. Es decir:
- al entrar en una habitación.
- al empujar bloques (si está activado el scripting correspondiente)
- al activar una zona de disparo (para scripting)
- al pulsar la tecla disparo (pero creo que sólo cuando no tienes activado los disparos en sí... pero no me hagas mucho caso)
Dependiendo de si ALL_EEMIES_DEAD se actualiza cada vez que se mata a un enemigo (y no al entrar en una habitación) podrias mediante Script activar una zona de disparo en la habitación (un rectángulo pegado a la puerta final) con el siguiente código:$this->bbcode_second_pass_code('', '
ENTERING SCREEN N
IF TRUE
THEN
SET_FIRE_ZONE x1, y1, x2, y2 ; Creamos una zona rectangular que activará el scripting al estar sobre ella
END
END
PRESS_FIRE AT SCREEN N
IF ALL_ENEMIES_DEAD
SET TILE (x,y) = 13 ; cambamos el tile de la puerta cerrada por otro de una abierta o lo que sea traspasable
THEN
END
END ')
Eso debería de bastar siempre y cuando ALL_ENEMIES_DEAD funcione de esta manera.
Seguramente cuando EMS publique el próximo tuto que iban a hablar del scripting tendrás tus dudas resultas (aunque también te puedo decir que aquí son muy rápidos y quizás tengas una solución más temprana)
Mientras tanto te puedo decir que yo todavía no he hecho pruebas con todo lo que el scripting nos proporciona pero existe una condición$this->bbcode_second_pass_code('', '* IF ALL_ENEMIES_DEAD
Descripción: Evaluará a CIERTO si todos los enemigos están muertos.
Opcode: 30').
Creo que en algún lado leí que el problema de esto es que el scripting sólo se lanza cuando se lanza XD. Es decir:
- al entrar en una habitación.
- al empujar bloques (si está activado el scripting correspondiente)
- al activar una zona de disparo (para scripting)
- al pulsar la tecla disparo (pero creo que sólo cuando no tienes activado los disparos en sí... pero no me hagas mucho caso)
Dependiendo de si ALL_EEMIES_DEAD se actualiza cada vez que se mata a un enemigo (y no al entrar en una habitación) podrias mediante Script activar una zona de disparo en la habitación (un rectángulo pegado a la puerta final) con el siguiente código:$this->bbcode_second_pass_code('', '
ENTERING SCREEN N
IF TRUE
THEN
SET_FIRE_ZONE x1, y1, x2, y2 ; Creamos una zona rectangular que activará el scripting al estar sobre ella
END
END
PRESS_FIRE AT SCREEN N
IF ALL_ENEMIES_DEAD
SET TILE (x,y) = 13 ; cambamos el tile de la puerta cerrada por otro de una abierta o lo que sea traspasable
THEN
END
END ')
Eso debería de bastar siempre y cuando ALL_ENEMIES_DEAD funcione de esta manera.