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.
Mi primer juego: Sami troid
Moderador: na_th_an
Re: Mi primer juego: Sami troid
Pero él no quiere que ocurra cuando mueran todos los enemigos , sino cuando se muera ese en concreto. Por eso no nos sirve.
Como diría Rorshach: "Urm..."
Re: Mi primer juego: Sami troid
Pero ALL_ENEMIES_DEAD son todos los del juego o todos los de la pantalla? va a ser lo primero , no?
Re: Mi primer juego: Sami troid
Son todos los del juego, lamentablemente.
Como diría Rorshach: "Urm..."
- son_link
- Mensajes: 467
- Registrado: Mar, 01 Oct 2013, 11:49
- Ubicación: Atlantis, Galaxia Pegaso
- Contactar:
Re: Mi primer juego: Sami troid
Pues ya te digo yo que NO, eso es cuando TODOS los enemigos del juego están muertos, que ya lo pregunte cuando empece el juego
Como nunca mueren del todo (vamos, que resucitan), pues no es valido, aunque al principio pensé en que también había que eliminar a todos para pasarse el juego, pero así es mas chungo
Como nunca mueren del todo (vamos, que resucitan), pues no es valido, aunque al principio pensé en que también había que eliminar a todos para pasarse el juego, pero así es mas chungo
Re: Mi primer juego: Sami troid
ahhhhhhh.... cachis! pues entonces a tocar de motor. Me retiro de la puja porque el tema enemigos no me lo tengo empollado como para decirte que cambiar exactamente
Re: Mi primer juego: Sami troid
$this->bbcode_second_pass_quote('son_link', 'S')i, esta en la misma pantalla, la 0 para ser mas exactos
Entonces el problema es que el script no se lanzará hasta que vuelvas a entrar o el jugador pulse "action". Se puede forzar que se lea el script, de todos modos, así:
$this->bbcode_second_pass_code('', 'if (n_pant == 0 && malotes [enoffs + N].life == 0) {
flags [10] = 1;
run_fire_script ();
}')
Y poner tu código en PRESS_FIRE AT SCREEN 0.
$this->bbcode_second_pass_code('', 'PRESS_FIRE AT SCREEN 0
IF FLAG 10 = 1
THEN
SET_TILE (X, Y) = 0
END
END')
Por ejemplo.
Si en la pantalla 0 sólo está este enemigo, es probable que esa "N" sea 0.
Como diría Rorshach: "Urm..."