home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar Special 2004 August
/
GSSH0804.iso
/
Geschicklichkeit
/
Enigma
/
Enigma-081.exe
/
data
/
levels
/
siegfried100.lua
< prev
next >
Wrap
Text File
|
2003-10-05
|
13KB
|
363 lines
--Siegfried Fennig 09.07.2003 Rev.0
levelw = 58
levelh = 13
create_world(levelw, levelh)
enigma.ConserveLevel = FALSE
oxyd_default_flavor = "d"
fill_floor("fl-rough", 0,0, level_width,level_height)
function renderLine( line, pattern)
for i=1, strlen(pattern) do
local c = strsub( pattern, i, i)
if c == "+" then
set_stone("st-rock3_break",i-1,line)
elseif c == "r" then
set_stone("st-blue-sand",i-1,line)
elseif c == "*" then
set_stone("st-grate1",i-1,line)
elseif c == "#" then
fill_floor("fl-abyss", i-1,line, 1,1)
elseif c == "A" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door13"})
elseif c == "a" then
doorv( i-1,line, {name="door13"})
elseif c == "C" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door14"})
elseif c == "c" then
doorv( i-1,line, {name="door14"})
elseif c == "D" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door15"})
elseif c == "d" then
doorv( i-1,line, {name="door15"})
elseif c == "E" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door16"})
elseif c == "e" then
doorv( i-1,line, {name="door16"})
elseif c == "I" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door17"})
elseif c == "i" then
doorv( i-1,line, {name="door17"})
elseif c == "J" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door18"})
elseif c == "j" then
doorv( i-1,line, {name="door18"})
elseif c == "K" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door19"})
elseif c == "k" then
doorh( i-1,line, {name="door19"})
elseif c == "L" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door20"})
elseif c == "l" then
doorh( i-1,line, {name="door20"})
elseif c == "M" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door21"})
elseif c == "m" then
doorh( i-1,line, {name="door21"})
elseif c == "N" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door22"})
elseif c == "n" then
doorh( i-1,line, {name="door22"})
elseif c == "P" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door23"})
elseif c == "p" then
doorh( i-1,line, {name="door23"})
elseif c == "Q" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door24"})
elseif c == "q" then
doorh( i-1,line, {name="door24"})
elseif c == "S" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door25"})
elseif c == "s" then
doorh( i-1,line, {name="door25"})
elseif c == "T" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door26"})
elseif c == "t" then
doorh( i-1,line, {name="door26"})
elseif c == "U" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door27"})
elseif c == "u" then
doorh( i-1,line, {name="door27"})
elseif c == "V" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door28"})
elseif c == "v" then
doorh( i-1,line, {name="door28"})
elseif c == "W" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door29"})
elseif c == "w" then
doorh( i-1,line, {name="door29"})
elseif c == "X" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door30"})
elseif c == "x" then
doorh( i-1,line, {name="door30"})
elseif c == "Y" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door31"})
elseif c == "y" then
doorv( i-1,line, {name="door31"})
elseif c == "Z" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door32"})
elseif c == "z" then
doorv( i-1,line, {name="door32"})
elseif c == "G" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door33"})
elseif c == "g" then
doorv( i-1,line, {name="door33"})
elseif c == "F" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door34"})
elseif c == "f" then
doorv( i-1,line, {name="door34"})
elseif c == "B" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door35"})
elseif c == "b" then
doorv( i-1,line, {name="door35"})
elseif c == "O" then
set_stone("st-coinslot", i-1,line, {action="openclose", target="door36"})
elseif c == "o" then
doorv( i-1,line, {name="door36"})
elseif c == "(" then
set_item("it-vortex-closed", i-1,line)
elseif c == "4" then
set_stone("st-timeswitch",i-1,line, {action="callback", target="callback1"})
elseif c == "5" then
set_stone("st-timeswitch",i-1,line, {action="callback", target="callback2"})
elseif c == "6" then
set_stone("st-timeswitch",i-1,line, {action="callback", target="callback3"})
elseif c == "7" then
set_stone("st-timeswitch",i-1,line, {action="callback", target="callback4"})
elseif c == "8" then
set_stone("st-timeswitch",i-1,line, {action="callback", target="callback5"})
elseif c == "9" then
set_stone("st-timeswitch",i-1,line, {action="callback", target="callback6"})
elseif c == "3" then
set_stone("st-timeswitch",i-1,line, {action="callback", target="callback7"})
elseif c == ")" then
set_item("it-vortex-closed", i-1,line, {targetx = 18.5, targety = 11.5, name="vortex1"})
elseif c == "1" then
set_item("it-coin", i-1,line, {value=1})
elseif c == "2" then
set_item("it-coin", i-1,line, {value=6})
elseif c == "?" then
set_item("it-hammer", i-1,line)
elseif c == ":" then
set_item("it-key_a",i-1,line)
elseif c == ";" then
set_stone("st-key_a",i-1,line, {action="openclose", target="door37"})
elseif c == "," then
doorh( i-1,line, {name="door37"})
elseif c == "%" then
set_stone("st-door",i-1,line, {name="door38", type="v"})
elseif c == "&" then
set_stone("st-door",i-1,line, {name="door39", type="v"})
elseif c == "-" then
oxyd( i-1, line)
elseif c == "=" then
document(i-1,line,"You really will need every penny!")
elseif c == "!" then
set_actor("ac-blackball", i-.5,line+.5, {player=0})
end
end
end
-- 1 2 3 4 5
-- 0123456789012345678901234567890123456789012345678901234567
renderLine(00, "rrrrrrrrrrrrrrrrrrrr##################rrrrrrrrrrrrrrrrrrrr")
renderLine(01, "r+++ r r##################r rr D e I j r")
renderLine(02, "r+-+ 2 r r##################r rr d E i J r")
renderLine(03, "r+++ 1 r r##################r rr r r rLlrMmr")
renderLine(04, "r 1 r r##################r Ar r rKkr? r r")
renderLine(05, "r 45r 8rrrrrrrrrrrrrrrrrrr a rPp3) r r r")
renderLine(06, "r ! 1 % & ** **** =rrNnY z GQqrsSr")
renderLine(07, "r 67r 9rrrrrrrrrrrrrrrrrrr c y Z g r r")
renderLine(08, "r 1 1 1 r,r##################r CrtTrUurvVr r r")
renderLine(09, "r+++ ; r##################r rr r r rwWrXxr")
renderLine(10, "r+-+ 1 1 1 r r##################r rr F b o r")
renderLine(11, "r+++ r(r##################r rr f B O :r")
renderLine(12, "rrrrrrrrrrrrrrrrrrrr##################rrrrrrrrrrrrrrrrrrrr")
-- 0123456789012345678901234567890123456789012345678901234567
-- 1 2 3 4 5
oxyd_shuffle()
set_stone( "st-timer", 27, 8, {action="callback", target="t_h1"})
set_stone( "st-timer", 28, 8, {action="callback", target="t_h2"})
set_stone( "st-timer", 29, 8, {action="callback", target="t_h3"})
timer = 0
function t_h1()
doora=enigma.GetNamedObject("door1")
doorb=enigma.GetNamedObject("door2")
doorc=enigma.GetNamedObject("door3")
doord=enigma.GetNamedObject("door4")
if timer == 0 then
enigma.SendMessage(doora, "open", nil)
end
if timer == 1 then
enigma.SendMessage(doorb, "open", nil)
end
if timer == 2 then
enigma.SendMessage(doorc, "open", nil)
end
if timer == 3 then
enigma.SendMessage(doord, "open", nil)
enigma.SendMessage(doora, "close", nil)
end
if timer == 4 then
enigma.SendMessage(doorb, "close", nil)
end
if timer == 5 then
enigma.SendMessage(doorc, "close", nil)
end
if timer == 6 then
enigma.SendMessage(doord, "close", nil)
end
end
function t_h2()
doora=enigma.GetNamedObject("door5")
doorb=enigma.GetNamedObject("door6")
doorc=enigma.GetNamedObject("door7")
doord=enigma.GetNamedObject("door8")
if timer == 4 then
enigma.SendMessage(doora, "open", nil)
end
if timer == 5 then
enigma.SendMessage(doorb, "open", nil)
end
if timer == 6 then
enigma.SendMessage(doorc, "open", nil)
end
if timer == 7 then
enigma.SendMessage(doord, "open", nil)
enigma.SendMessage(doora, "close", nil)
end
if timer == 8 then
enigma.SendMessage(doorb, "close", nil)
end
if timer == 9 then
enigma.SendMessage(doorc, "close", nil)
end
if timer == 10 then
enigma.SendMessage(doord, "close", nil)
end
end
function t_h3()
doora=enigma.GetNamedObject("door9")
doorb=enigma.GetNamedObject("door10")
doorc=enigma.GetNamedObject("door11")
doord=enigma.GetNamedObject("door12")
if timer == 8 then
enigma.SendMessage(doora, "open", nil)
end
if timer == 9 then
enigma.SendMessage(doorb, "open", nil)
end
if timer == 10 then
enigma.SendMessage(doorc, "open", nil)
end
if timer == 11 then
enigma.SendMessage(doord, "open", nil)
enigma.SendMessage(doora, "close", nil)
end
if timer == 0 then
enigma.SendMessage(doorb, "close", nil)
end
if timer == 1 then
enigma.SendMessage(doorc, "close", nil)
end
if timer == 2 then
enigma.SendMessage(doord, "close", nil)
end
timer = timer + 1
if timer == 12 then
timer = 0
end
end
set_stone("st-door_a", 23, 6, {name="door1", type="v"})
set_stone("st-door_a", 24, 6, {name="door2", type="v"})
set_stone("st-door_a", 25, 6, {name="door3", type="v"})
set_stone("st-door_a", 26, 6, {name="door4", type="v"})
set_stone("st-door_a", 27, 6, {name="door5", type="v"})
set_stone("st-door_a", 28, 6, {name="door6", type="v"})
set_stone("st-door_a", 29, 6, {name="door7", type="v"})
set_stone("st-door_a", 30, 6, {name="door8", type="v"})
set_stone("st-door_a", 31, 6, {name="door9", type="v"})
set_stone("st-door_a", 32, 6, {name="door10", type="v"})
set_stone("st-door_a", 33, 6, {name="door11", type="v"})
set_stone("st-door_a", 34, 6, {name="door12", type="v"})
switch1 = 0
switch2 = 0
switch3 = 0
switch4 = 0
switch5 = 0
switch6 = 0
switch7 = 0
function switchaction()
doorx=enigma.GetNamedObject("door38")
if switch1 == 1 or switch2 == 1 or
switch3 == 1 or switch4 == 1 then
enigma.SendMessage(doorx, "open", nil)
end
if switch1 == 0 and switch2 == 0 and
switch3 == 0 and switch4 == 0 then
enigma.SendMessage(doorx, "close", nil)
end
doory=enigma.GetNamedObject("door39")
if switch5 == 1 or switch6 == 1 then
enigma.SendMessage(doory, "open", nil)
end
if switch5 == 0 and switch6 == 0 then
enigma.SendMessage(doory, "close", nil)
end
vortexa=enigma.GetNamedObject("vortex1")
if switch7 == 1 then
enigma.SendMessage(vortexa, "open", nil)
end
if switch7 == 0 then
enigma.SendMessage(vortexa, "close", nil)
end
end
function callback1 (ison)
switch1=ison
switchaction()
end
function callback2 (ison)
switch2=ison
switchaction()
end
function callback3 (ison)
switch3=ison
switchaction()
end
function callback4 (ison)
switch4=ison
switchaction()
end
function callback5 (ison)
switch5=ison
switchaction()
end
function callback6 (ison)
switch6=ison
switchaction()
end
function callback7 (ison)
switch7=ison
switchaction()
end