home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2004 August / GSSH0804.iso / Geschicklichkeit / Enigma / Enigma-081.exe / data / levels / ss_esp48.lua < prev    next >
Text File  |  2003-09-19  |  3KB  |  74 lines

  1. -- Sven Siggelkow 2003
  2. -- a little bit like ESPRIT #048
  3.  
  4. levelw = 20
  5. levelh = 13
  6. difficult = (options.Difficulty==2)
  7. create_world(levelw, levelh)
  8. oxyd_default_flavor = "c"
  9. set_actor("ac-blackball", 10,8.5, {player=0})
  10.  
  11. fill_floor("fl-light",0,0,levelw,levelh)
  12.  
  13. function renderLine( line, pattern)
  14.     for i=1, strlen(pattern) do
  15.       local c = strsub( pattern, i, i)
  16.       if c ==   "#" then
  17.          set_stone("st-rock3", i-1,line)
  18.       elseif c =="c" then
  19.          set_item("it-coin", i-1,line,{value=4})   
  20.       elseif c =="B" then
  21.          set_stone("st-rock3_break", i-1,line) 
  22.          set_item("it-dynamite", i-1,line)         
  23.       elseif c=="A" then
  24.      set_floor("fl-abyss", i-1,line)           
  25.       elseif c =="a" then
  26.          set_stone("st-door_c", i-1,line,{name="doora"})    
  27.          set_item("it-dynamite", i-1,line)
  28.       elseif c =="b" then
  29.          set_stone("st-door_c", i-1,line,{name="doorb"})        
  30.      set_item("it-dynamite", i-1,line)
  31.       elseif c=="1" then
  32.          set_stone("st-coinslot", i-1,line, {action="callback", target="s1"})       
  33.       elseif c=="2" then
  34.          set_stone("st-coinslot", i-1,line, {action="callback", target="s2"})       
  35.       elseif c=="3" then
  36.          set_stone("st-coinslot", i-1,line, {action="callback", target="s3"})       
  37.       elseif c=="O" then                                                               
  38.      oxyd(i-1,line)  
  39.          set_item("it-dynamite", i-1,line)
  40.         end
  41.     end  
  42. end
  43. --               01234567890123456789        
  44. renderLine(00 , "####################")
  45. renderLine(01 , "#BBBBBBBBBBBBBBBBBB#")
  46. renderLine(02 , "#BBOBBOBBBBOBBBBBBB#")
  47. renderLine(03 , "#BBBBBBBBBBBBBBBBBB#")
  48. renderLine(04 , "#BBBBBBOBBBBOBBBOBB#")
  49. renderLine(05 , "#BBBBBBBBBBBBBBBBBB#")
  50. renderLine(06 , "#AAAAAAAAabAAAAAAAA#")
  51. renderLine(07 , "#AAAAAAAA  AAAAAAAA#")
  52. renderLine(08 , "#AAAAAAAA  AAAAAAAA#")
  53. renderLine(09 , "#AAAAAAAA  AAAAAAAA#")
  54. renderLine(10 , "#c c c c c c c c c #")
  55. renderLine(11 , "#AA AAAAA AAAAAA AA#")
  56. renderLine(12 , "###1#####2######3###")
  57. --               01234567890123456789
  58.  
  59. function s1() s(1) end
  60. function s2() s(2) end
  61. function s3() s(3) end
  62.  
  63. local flag = {0,0,0}
  64.  
  65. function s(num)
  66. %flag[num] = 1-%flag[num]
  67. if (%flag[1]+%flag[2]+%flag[3]==3) then -- open, if all inserted  
  68.    enigma.SendMessage(enigma.GetNamedObject("doora"), "open", nil) 
  69.    enigma.SendMessage(enigma.GetNamedObject("doorb"), "open", nil)
  70. elseif (%flag[1]+%flag[2]+%flag[3]==0) then  -- close, if money is out
  71.    enigma.SendMessage(enigma.GetNamedObject("doora"), "close", nil) 
  72.    enigma.SendMessage(enigma.GetNamedObject("doorb"), "close", nil)
  73.   end
  74. end