[NEW] Moguts els dialegs a trigger per event
This commit is contained in:
@@ -2,29 +2,29 @@ dialeg={
|
|||||||
list = {},
|
list = {},
|
||||||
}
|
}
|
||||||
|
|
||||||
dialegs = {}
|
-- dialegs = {}
|
||||||
|
|
||||||
function dialeg.update()
|
-- function dialeg.update()
|
||||||
for i,d in ipairs(dialegs) do
|
-- for i,d in ipairs(dialegs) do
|
||||||
if distancia(d.actor1, d.actor2, d.direccio)<=d.distancia and d.enabled then
|
-- if distancia(d.actor1, d.actor2, d.direccio)<=d.distancia and d.enabled then
|
||||||
dialeg.new(d.text, d.actor1)
|
-- dialeg.new(d.text, d.actor1)
|
||||||
d.enabled=false
|
-- d.enabled=false
|
||||||
end
|
-- end
|
||||||
end
|
-- end
|
||||||
end
|
-- end
|
||||||
|
|
||||||
function dialeg.new( _text, _actor )
|
-- function dialeg.new( _text, _actor )
|
||||||
print(_text)
|
-- print(_text)
|
||||||
table.insert(
|
-- table.insert(
|
||||||
dialeg.list,
|
-- dialeg.list,
|
||||||
{
|
-- {
|
||||||
actor= _actor,
|
-- actor= _actor,
|
||||||
text=_text,
|
-- text=_text,
|
||||||
time = 120,
|
-- time = 120,
|
||||||
w = math.floor(4.6*#_text),
|
-- w = math.floor(4.6*#_text),
|
||||||
h = 20,
|
-- h = 20,
|
||||||
} )
|
-- } )
|
||||||
end
|
-- end
|
||||||
|
|
||||||
function dialeg.draw( )
|
function dialeg.draw( )
|
||||||
local i = 1
|
local i = 1
|
||||||
|
|||||||
@@ -219,7 +219,6 @@ function world_update()
|
|||||||
warp.update_all()
|
warp.update_all()
|
||||||
|
|
||||||
trigger_event.update()
|
trigger_event.update()
|
||||||
dialeg.update()
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function world_draw()
|
function world_draw()
|
||||||
|
|||||||
@@ -121,42 +121,27 @@ function stages.stage1_init()
|
|||||||
-- table.insert(actors,trigger.new(29,40,32,triggers.teleport_c))
|
-- table.insert(actors,trigger.new(29,40,32,triggers.teleport_c))
|
||||||
-- table.insert(actors,trigger.new(61,8,32,triggers.teleport_d))
|
-- table.insert(actors,trigger.new(61,8,32,triggers.teleport_d))
|
||||||
|
|
||||||
table.insert(
|
trigger_event.new("Premiere dialeg 1",
|
||||||
dialegs,
|
trigger_ev.dialeg_trigger,
|
||||||
{ actor1=premiere,
|
trigger_ev.dialeg_init,
|
||||||
actor2=abad,
|
nil,
|
||||||
distancia=150,
|
premiere, abad, 150, "Ma que cosa fare", 150)
|
||||||
direccio = "h",
|
|
||||||
enabled=true,
|
|
||||||
text="Ma que cosa fare"
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
table.insert(
|
trigger_event.new("Zombie 1 dialeg",
|
||||||
dialegs,
|
trigger_ev.dialeg_trigger,
|
||||||
{ actor1=zombie1,
|
trigger_ev.dialeg_init,
|
||||||
actor2=abad,
|
nil,
|
||||||
distancia=250,
|
zombie1, abad, 150, "Sereeeeebrooooosssss", 250)
|
||||||
direccio = "h",
|
|
||||||
enabled=true,
|
|
||||||
text="Sereeeeebrooooosssss"
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
table.insert(
|
|
||||||
dialegs,
|
|
||||||
{ actor1=zombie2,
|
|
||||||
actor2=abad,
|
|
||||||
distancia=250,
|
|
||||||
direccio = "h",
|
|
||||||
enabled=true,
|
|
||||||
text="Aaaaaargh... per ell!"
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
|
trigger_event.new("Zombie 2 dialeg",
|
||||||
|
trigger_ev.dialeg_trigger,
|
||||||
|
trigger_ev.dialeg_init,
|
||||||
|
nil,
|
||||||
|
zombie2, abad, 150, "Aaaaaargh... per ell!", 250)
|
||||||
|
|
||||||
local abad_x, abad_y = coords.room_to_world ( 10, 4, 3 )
|
local abad_x, abad_y = coords.room_to_world ( 10, 4, 3 )
|
||||||
local abad_x, abad_y = coords.room_to_world ( 54, 8, 3 )
|
local abad_x, abad_y = coords.room_to_world ( 54, 8, 3 )
|
||||||
|
|
||||||
abad:move(abad_x, abad_y)
|
abad:move(abad_x, abad_y)
|
||||||
abad_make_safe( true )
|
abad_make_safe( true )
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,17 @@ trigger_event = {
|
|||||||
|
|
||||||
trigger_ev = {}
|
trigger_ev = {}
|
||||||
|
|
||||||
function trigger_event.new ( _name, _tr_func, _tr_init, _tr_update )
|
function trigger_event.new ( _name, _tr_func, _tr_init, _tr_update, _a, _b, _time, _text, _distancia )
|
||||||
table.insert( trigger_event.list, {
|
table.insert( trigger_event.list, {
|
||||||
name = _name,
|
name = _name,
|
||||||
trigger = _tr_func,
|
trigger = _tr_func,
|
||||||
init = _tr_init,
|
init = _tr_init,
|
||||||
update = _tr_update,
|
update = _tr_update,
|
||||||
|
actor = _a,
|
||||||
|
actor_b = _b,
|
||||||
|
time = _time,
|
||||||
|
text = _text,
|
||||||
|
distancia = _distancia,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
running = false,
|
running = false,
|
||||||
})
|
})
|
||||||
@@ -81,14 +86,14 @@ function trigger_ev:premiere_healer_update()
|
|||||||
local hab, tx, ty = coords.world_to_tile(premiere.x, premiere.y)
|
local hab, tx, ty = coords.world_to_tile(premiere.x, premiere.y)
|
||||||
if hab == 55 and tx==0 and ty==3 and premiere.health_wait==100 then
|
if hab == 55 and tx==0 and ty==3 and premiere.health_wait==100 then
|
||||||
-- 55 (0,3)
|
-- 55 (0,3)
|
||||||
|
local _text = "Tenne! Io t'achudo. Figo!";
|
||||||
table.insert(
|
table.insert(
|
||||||
dialegs,
|
dialeg.list,
|
||||||
{ actor1=premiere,
|
{ actor=premiere,
|
||||||
actor2=abad,
|
text=_text,
|
||||||
distancia=500,
|
time=200,
|
||||||
direccio = "",
|
w = math.floor(4.6*#_text),
|
||||||
enabled=true,
|
h = 20,
|
||||||
text="Tenne! Io t'achudo. Figo!"
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
premiere.health_wait = premiere.health_wait - 1
|
premiere.health_wait = premiere.health_wait - 1
|
||||||
@@ -101,11 +106,26 @@ function trigger_ev:premiere_healer_update()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function premiere_dialeg1_trigger ()
|
-- DIALEG GENERAL
|
||||||
if h_collision( premiere, abad) and
|
function trigger_ev:dialeg_trigger ()
|
||||||
distancia ( premiere, abad )<=150
|
if h_collision( self.actor, self.actor_b ) and
|
||||||
|
distancia ( self.actor, self.actor_b )<=self.distancia
|
||||||
then
|
then
|
||||||
|
self:init()
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function trigger_ev:dialeg_init()
|
||||||
|
table.insert(
|
||||||
|
dialeg.list,
|
||||||
|
{ actor=self.actor,
|
||||||
|
text=self.text,
|
||||||
|
time=self.time,
|
||||||
|
w = math.floor(4.6*#self.text),
|
||||||
|
h = 20,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
trigger_event.disable(self.name)
|
||||||
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user