home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar Special 2004 August
/
GSSH0804.iso
/
Geschicklichkeit
/
Enigma
/
Enigma-081.exe
/
data
/
levels
/
RayWick001.lua
< prev
next >
Wrap
Text File
|
2003-08-27
|
6KB
|
421 lines
-- Doors Galore
-- Created by Ray Wick
--
LAND_FLOOR = "fl-brick"
SOFT_FLOOR = "fl-hay"
WATER_FLOOR = "fl-water"
WALL = "st-brick"
level = {
"#@###S#L##########@#",
"#6#~~~~~@~~~~ > #B1#",
"C ~~~ ~~~~~~#5# D $",
"# ~~~~~~~ E H G#",
"#b+++ ~~~~~~@ #4# 7@",
"#e ~~~!~~+ ! #8##",
"# a ~~~~~~~~ ! ##",
"# ~~~~~~~~~~~ #c???#",
"# ~~~@~~d~~ * #??+ #",
"# ~~~~~~ + + ### #",
"# ~~~~~~ +++ 3 #9I#",
"# > + x +# < 2@",
"#@##########!!###A##"
}
cells = {}
cells["!"] = function( x, y )
-- set_floor( LAND_FLOOR, x, y )
set_stone( "st-stoneimpulse", x, y )
end
cells["#"] = function( x, y )
set_stone( WALL, x, y )
end
cells["*"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_actor( "ac-blackball", x+0.5, y+0.5, {player=0} )
end
cells["@"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
oxyd(x,y)
end
cells["+"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-wood", x, y )
end
cells["~"] = function( x, y )
set_floor( WATER_FLOOR, x, y )
end
cells["$"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-coinslot", x, y, {action="callback", target="funcc"})
end
cells["<"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-oneway", x, y, {orientation=WEST})
end
cells["v"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-oneway", x, y, {orientationSOUTH})
end
cells[">"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-oneway", x, y, {orientation=EAST})
end
cells["^"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-oneway", x, y, {orientation=NORTH})
end
cells["?"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_item( "it-coin", x, y, {value=1} )
end
cells["x"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_item( "it-blackbomb", x, y )
end
cells[" "] = function( x, y )
set_floor( LAND_FLOOR, x,y )
end
cells["1"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
doorh(x, y, {name="door1"} )
end
cells["2"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
doorv(x, y, {name="door2"} )
end
cells["3"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
doorv(x, y, {name="door3"} )
end
cells["4"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
doorh(x, y, {name="door4"} )
end
cells["5"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
doorh(x, y, {name="door5"} )
end
cells["6"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
doorh(x, y, {name="door6"} )
end
cells["7"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
doorv(x, y, {name="door7"} )
end
cells["8"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
doorh(x, y, {name="door8"} )
end
cells["9"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
doorh(x, y, {name="door9"} )
end
cells["A"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-key_a", x, y, {action="openclose", target="door1"})
end
cells["B"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-key_b", x, y, {action="openclose", target="door2"})
end
cells["C"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-key_c", x, y, {action="openclose", target="door3"})
end
cells["D"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-floppy", x, y, {action="openclose", target="door4"})
end
cells["E"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-floppy", x, y, {action="openclose", target="door5"})
end
cells["F"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-floppy", x, y, {action="openclose", target="door6"})
end
cells["G"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-floppy", x, y, {action="openclose", target="door7"})
end
cells["H"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-floppy", x, y, {action="openclose", target="door8"})
end
cells["I"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-floppy", x, y, {action="openclose", target="door9"})
end
cells["L"] = function( x, y )
set_floor( SOFT_FLOOR, x, y )
set_attrib(laser(x, y, FALSE, SOUTH), "name", "laser")
end
cells["S"] = function( x, y )
set_floor( SOFT_FLOOR, x, y )
set_stone( "st-switch", x, y, {target="laser", action="onoff", on=1 })
end
cells["a"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
-- set_stone( "st-wood", x, y )
set_item( "it-key_a", x, y )
end
cells["b"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
-- set_stone( "st-wood", x, y )
set_item( "it-key_b", x, y )
end
cells["c"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-wood", x, y )
set_item( "it-key_c", x, y )
end
cells["d"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
-- set_stone( "st-wood", x, y )
set_item( "it-floppy", x, y )
end
cells["e"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
set_stone( "st-wood", x, y )
set_item( "it-floppy", x, y )
end
cells["f"] = function( x, y )
set_floor( LAND_FLOOR, x, y )
-- set_stone( "st-wood", x, y )
set_item( "it-floppy", x, y )
end
create_world( strlen(level[1]), getn(level) )
for y,line in level do
for x = 1,strlen(line) do
cell = strchar(strbyte(line,x))
cells[cell]( x-1, y-1 )
end
end
oxyd_shuffle()
door3=enigma.GetNamedObject("door3")
door6=enigma.GetNamedObject("door6")
through=0
function funcc()
if through==1 then
through=0
end
if through==0 then
enigma.SendMessage(door3, "openclose", nil)
enigma.SendMessage(door6, "openclose", nil)
end
through=through+1
end