Mi primer juego: Sami troid

For all things Churrera. ¿Estás haciendo un juego? ¿quieres proponer un cambio? ¿tienes alguna duda? ¡Cuéntanoslo!

Moderador: na_th_an

Avatar de Usuario
elborra
Mensajes: 209
Registrado: Dom, 12 Ene 2014, 14:37

Re: Mi primer juego: Sami troid

Mensajepor elborra » 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 :o 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.
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Mi primer juego: Sami troid

Mensajepor na_th_an » Vie, 07 Feb 2014, 17:51

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..."
Avatar de Usuario
elborra
Mensajes: 209
Registrado: Dom, 12 Ene 2014, 14:37

Re: Mi primer juego: Sami troid

Mensajepor elborra » Vie, 07 Feb 2014, 17:53

Pero ALL_ENEMIES_DEAD son todos los del juego o todos los de la pantalla? va a ser lo primero , no?
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Mi primer juego: Sami troid

Mensajepor na_th_an » Vie, 07 Feb 2014, 17:54

Son todos los del juego, lamentablemente.
Como diría Rorshach: "Urm..."
Avatar de Usuario
son_link
Mensajes: 467
Registrado: Mar, 01 Oct 2013, 11:49
Ubicación: Atlantis, Galaxia Pegaso
Contactar:

Re: Mi primer juego: Sami troid

Mensajepor son_link » Vie, 07 Feb 2014, 17:54

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 :lol:
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 :twisted:
LOAD TAPE ERROR
Image
Avatar de Usuario
elborra
Mensajes: 209
Registrado: Dom, 12 Ene 2014, 14:37

Re: Mi primer juego: Sami troid

Mensajepor elborra » Vie, 07 Feb 2014, 17:58

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 :ayayay:
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Mi primer juego: Sami troid

Mensajepor na_th_an » Vie, 07 Feb 2014, 18:01

$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..."