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

  1. -- Sven Siggelkow 2003
  2. -- ESPRIT #085
  3. -- This level should only be solvable if the marble activates
  4. -- without anything (no inventory) the trigger. If somebody knows to realize this,
  5. -- please change it. For now the doors open if the trigger is activated.
  6.  
  7.  
  8. levelw = 20
  9. levelh = 13
  10. create_world(levelw, levelh)
  11. oxyd_default_flavor = "a"
  12. set_actor("ac-blackball", 3.5, 6.5, {player=0})
  13. fill_floor("fl-ice_001", 0,0, level_width,level_height)
  14.  
  15. function renderLine( line, pattern)
  16.     for i=1, strlen(pattern) do
  17.       local c = strsub( pattern, i, i)
  18.       if c ==   "#" then
  19.          set_stone("st-door_a",i-1,line)
  20.       elseif c=="D" then                                                                
  21.          set_stone("st-death", i-1,  line)
  22.       elseif c=="1" then                                                                
  23.          set_stone("st-door_a", i-1,  line,{name="door1"})
  24.       elseif c=="2" then                                                                
  25.          set_stone("st-door_a", i-1,  line,{name="door2"})
  26.       elseif c =="t" then
  27.          set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s1"})
  28.       elseif c=="M" then
  29.          set_item("it-magnet",i-1,line,{on=1})
  30.       elseif c=="." then                 
  31.          set_item("it-extralife", i-1,line)
  32.       elseif c=="O" then
  33.      oxyd(i-1,line) 
  34.         end
  35.     end
  36. end
  37. --              01234567890123456789
  38. renderLine(00, "####################")
  39. renderLine(01, "#    ...          D#")
  40. renderLine(02, "#                  #")
  41. renderLine(03, "#                  #")
  42. renderLine(04, "#              #####")  
  43. renderLine(05, "#        OO    #1  #")
  44. renderLine(06, "#       OMMO    tOO#")
  45. renderLine(07, "#        OO    #2  #")
  46. renderLine(08, "#              #####")
  47. renderLine(09, "#                  #")
  48. renderLine(10, "#                  #")
  49. renderLine(11, "#                 D#")
  50. renderLine(12, "####################")
  51. --              01234567890123456789
  52.  
  53. oxyd_shuffle()
  54.  
  55. no_inventory = true
  56.  
  57. function s1()
  58. if no_inventory==true then
  59.   enigma.SendMessage(enigma.GetNamedObject("door1"), "open", nil)
  60.   enigma.SendMessage(enigma.GetNamedObject("door2"), "open", nil)
  61.   end
  62. end