home *** CD-ROM | disk | FTP | other *** search
/ Singles (French) / Singles-FrenchVersion-Win95.iso / data1.cab / Statemachine / trigger.lua < prev    next >
Text File  |  2004-03-05  |  2KB  |  60 lines

  1. -- trigger state machine
  2. -- msges trigger actions to the current mission script depending
  3. -- on tag degree of trigger
  4.  
  5.  
  6. beginStateMachine()
  7.  
  8.     onEnter(function(msg)
  9.         this.sendMsgThis(UPDATE_TRIGGER_MESSAGE);
  10.     end )
  11.         
  12.             
  13.     onMsg(UPDATE_TRIGGER_MESSAGE, function(msg)
  14.         local showTriggers = (readConfig("Debug", "showTriggers") == "true");
  15.         if (showTriggers) then
  16.             this.setCurrentMeshNumber(0);
  17.         else
  18.             this.setCurrentMeshNumber(1);
  19.         end
  20.         
  21.         restoreTagBulbs();
  22.     end )
  23.     
  24.     onMsg("enterTrigger", function(msg)
  25.         local who = "Mike";
  26.         if (getStateObjectFromID(msg.sender).isFemale()) then
  27.             who = "Linda";
  28.         end
  29.     
  30.         local currentMission = this.getGameObjectServer().mission;
  31.         if (currentMission) then    
  32.             if (this.tag) then
  33.                 print("--------------- "..who.." ENTER TRIGGER " .. this.tag);
  34.                 getStateObjectFromID(msg.sender).
  35.                         sendMsg("enterTrigger" .. this.tag, currentMission );
  36.             else
  37.                 print("--------------- "..who.." ENTER TRIGGER ");
  38.                 getStateObjectFromID(msg.sender).
  39.                         sendMsg("enterTrigger", currentMission );
  40.             end
  41.         end
  42.     end )
  43.     
  44.     onMsg("exitTrigger", function(msg)
  45.         local currentMission = this.getGameObjectServer().mission;
  46.         if (currentMission) then    
  47.             if (this.tag) then
  48.                 print("--------------- EXITED TRIGGER " .. this.tag);
  49.                 getStateObjectFromID(msg.sender).
  50.                         sendMsg("enterTrigger" .. this.tag, currentMission );
  51.             else
  52.                 print("--------------- EXITED TRIGGER ");
  53.                 getStateObjectFromID(msg.sender).
  54.                         sendMsg("enterTrigger", currentMission );
  55.             end
  56.         end
  57.     end )
  58.     
  59. endStateMachine()
  60.