home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar Special 2004 August
/
GSSH0804.iso
/
Geschicklichkeit
/
Enigma
/
Enigma-081.exe
/
data
/
levels
/
duffy5.lua
< prev
next >
Wrap
Text File
|
2003-01-30
|
4KB
|
116 lines
levelw=80
levelh=20
create_world( levelw, levelh)
fill_floor("fl-leaves", 0,0,levelw,levelh)
function renderLine( line, pattern)
for i=1, strlen(pattern) do
local c = strsub( pattern, i, i)
if c =="#" then
set_stone( "st-glass", i-1, line)
elseif c == "o" then
oxyd( i-1, line)
elseif c == "!" then
abyss(i-1,line)
-- fill_floor("fl-water", i-1,line, 1,1)
elseif c=="z" then
set_actor("ac-blackball", i-.5,line+.5, {player=0})
elseif c=="+" then
set_stone( "st-wood", i-1, line)
elseif c=="W" then
set_attrib(laser(i-1,line, FALSE, WEST), "name", "laser")
elseif c=="L" then
set_stone("st-key_a", i-1,line, {action="on", target="laser"})
elseif c=="k" then
set_item("it-key_a", i-1,line)
elseif c=="`" then
mirrorp(i-1,line,FALSE,TRUE, 2)
elseif c=="/" then
mirrorp(i-1,line,FALSE,TRUE, 4)
elseif c=="B" then
set_stone("st-bombs", i-1,line)
elseif c=="d" then
set_stone("st-oneway", i-1,line, {orientation=enigma.SOUTH})
elseif c=="l" then
set_stone("st-oneway", i-1,line, {orientation=enigma.WEST})
elseif c=="F" then
set_item("it-floppy", i-1,line)
elseif c=="c" then
set_item("it-coin", i-1,line,{value=2})
elseif c=="5" then
set_item("it-coin", i-1,line,{value=1})
elseif c=="4" then
set_item("it-coin", i-1,line,{value=3})
elseif c=="P" then
set_item("it-brush",i-1,line)
elseif c=="h" then
hammer(i-1,line)
elseif c=="H" then
set_stone("st-stone_break", i-1,line)
elseif c=="f" then
set_stone( "st-floppy", i-1,line,{action="openclose",target="unimportantdoor"})
elseif c=="A" then
doorv( i-1,line, {name="door1"})
elseif c=="b" then
doorv( i-1,line, {name="door2"})
elseif c=="C" then
-- doorh( i-1,line, {name="door3"})
set_floor("fl-bridge", i-1,line, {name="bridge1", type="yy"})
elseif c=="D" then
set_floor("fl-bridge", i-1,line, {name="bridge2", type="yy"})
elseif c=="1" then
set_stone("st-switch", i-1,line, {action="callback",target="funcc"})
elseif c=="2" then
doorh( i-1,line, {name="unimportantdoor"})
elseif c=="9" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="unimportantdoor"})
end
end
end
-- Floor: " "
-- Border: "#"
-- Oxyd: "o"
renderLine(00,"####################B###9###fL###9###1####################")
renderLine(01,"#/ # # `#")
renderLine(02,"#/ #P z k F# `#")
renderLine(03,"#/ # # `#")
renderLine(04,"# ####d####CD####d#### #")
renderLine(05,"# # # # # #2# #")
renderLine(06,"# #+++++++#ch#+++++++# #")
renderLine(07,"# # # # # #")
renderLine(08,"# #+++++++# #+++++++# #")
renderLine(09,"# # H # # H # #")
renderLine(10,"# ###++#### ####++### #")
renderLine(11,"# # # A 4 5 b # #//#")
renderLine(12,"####################o################o####################")
renderLine(13,"#` `W#")
oxyd_shuffle()
door1=enigma.GetNamedObject("door1")
door2=enigma.GetNamedObject("door2")
--door3=enigma.GetNamedObject("door3")
bridge1=enigma.GetNamedObject("bridge1")
bridge2=enigma.GetNamedObject("bridge2")
enigma.SendMessage(door1, "openclose", nil)
enigma.SendMessage(door2, "openclose", nil)
through=0
function funcc()
if through==1 then
through=0
end
if through==0 then
enigma.SendMessage(door1, "openclose", nil)
enigma.SendMessage(door2, "openclose", nil)
-- enigma.SendMessage(door3, "openclose", nil)
enigma.SendMessage(bridge1, "openclose", nil)
enigma.SendMessage(bridge2, "openclose", nil)
end
through=through+1
end