-- Sven Siggelkow 2003 -- ESPRIT #097 levelw = 21 levelh = 13 create_world(levelw, levelh) oxyd_default_flavor = "a" set_actor("ac-blackball", 10,6.5, {player=0}) fill_floor("fl-stone",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-door_b", i-1,line) elseif c =="t" then set_stone("st-timer", i-1,line) elseif c=="1" then set_stone("st-timer", i-1,line, {action="callback", target="s1", interval=0.5}) elseif c=="2" then set_stone("st-timer", i-1,line, {action="callback", target="s2", interval=2.5}) elseif c=="3" then set_stone("st-timer", i-1,line, {action="callback", target="s3", interval=3}) elseif c=="4" then set_stone("st-timer", i-1,line, {action="callback", target="s4", interval=1}) elseif c=="5" then set_stone("st-timer", i-1,line, {action="callback", target="s5", interval=0.8333}) elseif c=="a" then set_stone("st-door_c", i-1, line, {name="a"}) elseif c=="b" then set_stone("st-door_c", i-1, line, {name="b"}) elseif c=="c" then set_stone("st-door_c", i-1, line, {name="c"}) elseif c=="d" then set_stone("st-door_c", i-1, line, {name="d"}) elseif c=="e" then set_stone("st-door_c", i-1, line, {name="e"}) elseif c=="f" then set_stone("st-door_c", i-1, line, {name="f"}) elseif c=="g" then set_stone("st-door_c", i-1, line, {name="g"}) elseif c=="h" then set_stone("st-door_c", i-1, line, {name="h"}) elseif c=="i" then set_stone("st-door_c", i-1, line, {name="i"}) elseif c=="j" then set_stone("st-door_c", i-1, line, {name="j"}) elseif c=="k" then set_stone("st-door_c", i-1, line, {name="k"}) elseif c=="l" then set_stone("st-door_c", i-1, line, {name="l"}) elseif c=="m" then set_stone("st-door_c", i-1, line, {name="m"}) elseif c=="n" then set_stone("st-door_c", i-1, line, {name="n"}) elseif c=="o" then set_stone("st-door_c", i-1, line, {name="o"}) elseif c=="p" then set_stone("st-door_c", i-1, line, {name="p"}) elseif c=="q" then set_stone("st-door_c", i-1, line, {name="q"}) elseif c=="O" then oxyd(i-1,line) end end end -- 01234567890123456789 renderLine(00 , "12345ttttttttttttttt") renderLine(01 , "####################") renderLine(02 , "#O # # # # O#") renderLine(03 , "# o p j a #") renderLine(04 , "##e#######l###f##b##") renderLine(05 , "# # # # # #") renderLine(06 , "#O # O g m O # O#") renderLine(07 , "# # # # # #") renderLine(08 , "##q#######n###h##k##") renderLine(09 , "# i d c # #") renderLine(10 , "#O # # # # O#") renderLine(11 , "####################") renderLine(12 , "tttttttttttttttttttt") -- 01234567890123456789 oxyd_shuffle() --double door b e h local flags = {0,0,0} -- i 1 2 3 function s1() enigma.SendMessage(enigma.GetNamedObject("a"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("b"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("c"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("d"), "openclose", nil) end function s2() enigma.SendMessage(enigma.GetNamedObject("f"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("g"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("h"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("i"), "openclose", nil) end function s3() enigma.SendMessage(enigma.GetNamedObject("h"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("j"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("k"), "openclose", nil) end function s4() enigma.SendMessage(enigma.GetNamedObject("l"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("m"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("n"), "openclose", nil) end function s5() enigma.SendMessage(enigma.GetNamedObject("e"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("o"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("p"), "openclose", nil) enigma.SendMessage(enigma.GetNamedObject("q"), "openclose", nil) end