home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Singles (French)
/
Singles-FrenchVersion-Win95.iso
/
data1.cab
/
Statemachine
/
trigger.lua
< prev
next >
Wrap
Text File
|
2004-03-05
|
2KB
|
60 lines
-- trigger state machine
-- msges trigger actions to the current mission script depending
-- on tag degree of trigger
beginStateMachine()
onEnter(function(msg)
this.sendMsgThis(UPDATE_TRIGGER_MESSAGE);
end )
onMsg(UPDATE_TRIGGER_MESSAGE, function(msg)
local showTriggers = (readConfig("Debug", "showTriggers") == "true");
if (showTriggers) then
this.setCurrentMeshNumber(0);
else
this.setCurrentMeshNumber(1);
end
restoreTagBulbs();
end )
onMsg("enterTrigger", function(msg)
local who = "Mike";
if (getStateObjectFromID(msg.sender).isFemale()) then
who = "Linda";
end
local currentMission = this.getGameObjectServer().mission;
if (currentMission) then
if (this.tag) then
print("--------------- "..who.." ENTER TRIGGER " .. this.tag);
getStateObjectFromID(msg.sender).
sendMsg("enterTrigger" .. this.tag, currentMission );
else
print("--------------- "..who.." ENTER TRIGGER ");
getStateObjectFromID(msg.sender).
sendMsg("enterTrigger", currentMission );
end
end
end )
onMsg("exitTrigger", function(msg)
local currentMission = this.getGameObjectServer().mission;
if (currentMission) then
if (this.tag) then
print("--------------- EXITED TRIGGER " .. this.tag);
getStateObjectFromID(msg.sender).
sendMsg("enterTrigger" .. this.tag, currentMission );
else
print("--------------- EXITED TRIGGER ");
getStateObjectFromID(msg.sender).
sendMsg("enterTrigger", currentMission );
end
end
end )
endStateMachine()