home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar Special 2004 August
/
GSSH0804.iso
/
Geschicklichkeit
/
Enigma
/
Enigma-081.exe
/
data
/
levels
/
ralf05.lua
< prev
next >
Wrap
Text File
|
2003-06-17
|
2KB
|
89 lines
-- A level for Enigma
-- Name: Stay there!
-- Filename: ralf05.lua
-- Copyright: (C) Apr 2003 Ralf Westram
-- Contact: amgine@reallysoft.de
-- License: GPL v2.0 or above
dofile(enigma.FindDataFile("levels/ralf.lua"))
--debug_mode()
level={
"!!#######y#!!!!!!!!!",
"!!y #!!0!!!0!!",
"!!# #y### #!! !!! !!",
"!!# # y!#_#!#_#!",
"!!# # #y##y## ### ##",
"!!#ay # y",
"#yy y## # ## ## #",
"# y # #...# #",
"y xxx y ... #",
"# x x #%# #...# #",
"y xxx x%% ## ## #",
"y #,# #",
"##y#yy############y#",
}
triggers = 0
doors = 0
doorsopen = 0
state = {0,0,0,0,0,0,0,0,0}
function trigger(num)
state[num] = 1-state[num]
all=1
for x=0,triggers-1 do
if (state[x]==0) then
all = 0
end
end
if (doorsopen==0 and all==1) then
enigma.SendMessage(enigma.GetNamedObject("door1"),"open",nil)
enigma.SendMessage(enigma.GetNamedObject("door2"),"open",nil)
doorsopen = 1
elseif (doorsopen==1 and all==0) then
enigma.SendMessage(enigma.GetNamedObject("door1"),"close",nil)
enigma.SendMessage(enigma.GetNamedObject("door2"),"close",nil)
doorsopen = 0
end
end
function set_trigger(x,y)
triggers = triggers + 1
state[triggers] = 0
local funcn = "trig_"..triggers
dostring(funcn.." = function() trigger("..triggers..") end")
set_item("it-trigger",x,y,{action="callback",target=funcn});
end
function set_door(x,y)
doors = doors + 1
set_stone("st-door",x,y,{name="door"..doors,type="h"})
end
cells={}
cells[" "] = cell{floor="fl-tigris"}
cells["!"] = cell{floor="fl-space"}
cells["."] = cell{parent={cells[" "],set_trigger}}
cells["#"] = cell{parent=cells[" "],stone="st-rock1"}
cells["y"] = cell{parent=cells[" "],stone="st-stoneimpulse"}
cells["%"] = cell{parent=cells[" "],stone="st-grate1"}
cells[","] = cell{parent=cells["%"],item="it-seed"}
cells["x"] = cell{parent=cells[" "],stone="st-stoneimpulse_movable"}
cells["a"] = cell{parent=cells[" "],actor={"ac-blackball", {player=0}}}
cells["_"] = cell{parent={cells[" "],set_door}}
-- debug
--cells["."] = cell{parent={cells["x"],set_trigger}}
rs_create_world(level,cells)