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