Mensajepor Nightwolf » Dom, 16 Feb 2014, 15:18
Genial, pinta estupendo con tantas "buenas acciones" por llegar. Aunque cambiarlo directamente en el motor, de momento, me da respecto tocar nada de C (¡vete tu a saber qué armo!)
Acabo de darme cuenta de que hay algo que funciona un tanto extraño.
Tengo lo siguiente. Pues bien, lo que debe hacer en el entering screen 14,es comprobar si el flag 7 está a 0 o no para pintar unos bloques que impiden el paso. Y si no fuese 0, no debería hacer nada. El resultado no es el esperado. Independientemente del valor de flag 7, SIEMPRE pinta al entrar en la pantalla esos dos bloques. El workaround es poner inmediatamente de la condición de si flag 7 vale 0, poner otra con el valor de flag 7 superior a 0 para que pinte el fondo y no los bloques.
$this->bbcode_second_pass_code('', '
// PANTALLA 14 -
ENTERING SCREEN 14
# Pintamos los bloques si no han sido volados
IF TRUE
THEN
// Si aquí pusiera SET FLAG 7 = 8, da igual, la siguiente condicion se cumple siempre
IF FLAG 7 = 0
THEN
SET_FIRE_ZONE 112, 48, 128, 80
SET TILE (12,9)= 22
SET TILE (13,9)= 22
END
IF FLAG 7 > 0 // Si no pongo esta condicion, la superior se cumple siempre, aunque el flag 7 valga lo que sea
THEN
//SET_FIRE_ZONE 112, 48, 128, 80
SET TILE (12,9)= 13
SET TILE (13,9)= 13
END
END
END
// CONDICIONES EN LA PANTALLA 14
PRESS_FIRE AT SCREEN 14
IF PLAYER_HAS_ITEM 1
IF PLAYER_TOUCHES 12, 8
THEN
SET ITEM 1 = 0
SET FLAG 7 = 1
SET TILE (13,8)= 21
END
IF PLAYER_HAS_ITEM 1
IF PLAYER_TOUCHES 13, 8
THEN
SET ITEM 1 = 0
SET FLAG 7 = 1
SET TILE (12,8)= 21
END
IF PLAYER_TOUCHES 7, 5
IF FLAG 7 = 1
THEN
SET FLAG 7 = 2
SET TILE (12,9)= 13
SET TILE (13,9)= 13
SET TILE (12,8)= 13
SET TILE (13,8)= 13
END
IF PLAYER_TOUCHES 7, 4
IF FLAG 7 = 1
THEN
SET FLAG 7 = 2
SET TILE (12,9)= 13
SET TILE (13,9)= 13
SET TILE (12,8)= 13
SET TILE (13,8)= 13
END
END
//
// FIN PANTALLA 14 - LA CUEVA DONDE SE USA LA DINAMITA')