home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2004 August / GSSH0804.iso / Geschicklichkeit / Enigma / Enigma-081.exe / data / levels / ss6.lua < prev    next >
Text File  |  2003-09-19  |  4KB  |  96 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-whiteball", 10,9.5, {player=0, controllers=1})
  10.  
  11. fill_floor("fl-wood",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 ==   "H" then
  17.          set_stone("st-chameleon", i-1,line)
  18.       elseif c =="-" then
  19.          set_stone("st-chameleon", i-1,line) 
  20.          set_item("it-coin", i-1,line,{value=4})      
  21.       elseif c =="." then
  22.          set_stone("st-chameleon", i-1,line)      
  23.          if difficult==false then
  24.             set_item("it-extralife", i-1,line) 
  25.             end  
  26.       elseif c ==":" then
  27.          set_stone("st-chameleon", i-1,line)      
  28.          if difficult==false then      
  29.             set_item("it-coin", i-1,line,{value=4}) 
  30.             end                    
  31.       elseif c =="W" then
  32.          set_stone("st-actorimpulse", i-1,line)   
  33.          set_floor("fl-abyss", i-1,line) 
  34.       elseif c =="B" then
  35.          set_stone("st-stone_break", i-1,line) 
  36.          set_item("it-dynamite", i-1,line)         
  37.       elseif c =="w" then
  38.          set_stone("st-actorimpulse", i-1,line) 
  39.          set_floor("fl-abyss", i-1,line)                    
  40.       elseif c =="a" then
  41.          set_stone("st-door_c", i-1,line,{name="doora"})    
  42.          set_item("it-dynamite", i-1,line)
  43.       elseif c =="b" then
  44.          set_stone("st-door_c", i-1,line,{name="doorb"})        
  45.      set_item("it-dynamite", i-1,line)
  46.       elseif c=="c" then                                 
  47.      set_item("it-coin", i-1,line,{value=4})                  
  48.       elseif c=="A" then
  49.      set_floor("fl-abyss", i-1,line)           
  50.       elseif c=="1" then
  51.          set_stone("st-coinslot", i-1,line, {action="callback", target="s1"})       
  52.       elseif c=="2" then
  53.          set_stone("st-coinslot", i-1,line, {action="callback", target="s2"})       
  54.       elseif c=="3" then
  55.          set_stone("st-coinslot", i-1,line, {action="callback", target="s3"})       
  56.       elseif c=="4" then
  57.          set_stone("st-coinslot", i-1,line, {action="callback", target="s4"})       
  58.       elseif c=="O" then                                                               
  59.      oxyd(i-1,line)  
  60.          set_item("it-dynamite", i-1,line)
  61.         end
  62.     end  
  63. end
  64. --               01234567890123456789        
  65. renderLine(00 , "WAWAWAWAWAWWAWAWAWAW")
  66. renderLine(01 , "A-HHHHHHHHHHHHHHHH-A")
  67. renderLine(02 , "WHAwAwAwAwAAwAwAwAHW")
  68. renderLine(03 , "AHwBBBBBBBBBBBBBBwHA")
  69. renderLine(04 , "W-AOBBOBBBBOBBBBBA-W")
  70. renderLine(05 , "AHwBBBBBBBBBBBBBBwHA")
  71. renderLine(06 , "WHABBBBOBBBBOBBBOAHW")
  72. renderLine(07 , "AHwBBBBBBBBBBBBBBwHA")
  73. renderLine(08 , "W.AAAAAAAabAAAAAAA.W")
  74. renderLine(09 , "A:WAAAAAA  AAAAAAW:A")
  75. renderLine(10 , "W-   c        c   -W")
  76. renderLine(11 , "A- AA AAAAAAAA AA -A")
  77. renderLine(12 , "WA1AA2AAAAAAAA3AA4AW")
  78. --               01234567890123456789
  79.  
  80. function s1() s(1) end
  81. function s2() s(2) end
  82. function s3() s(3) end
  83. function s4() s(4) end
  84.  
  85. local flag = {0,0,0,0,}
  86.  
  87. function s(num)
  88. %flag[num] = 1-%flag[num]
  89. if (%flag[1]+%flag[2]+%flag[3]+%flag[4]==4) then                     -- open, if all inserted  
  90.    enigma.SendMessage(enigma.GetNamedObject("doora"), "open", nil) 
  91.    enigma.SendMessage(enigma.GetNamedObject("doorb"), "open", nil)
  92. elseif (%flag[1]+%flag[2]+%flag[3]+%flag[4]==0) then                 -- close, if money is out
  93.    enigma.SendMessage(enigma.GetNamedObject("doora"), "close", nil) 
  94.    enigma.SendMessage(enigma.GetNamedObject("doorb"), "close", nil)
  95.   end
  96. end