12-17-2011, 04:29 PM
Hi guys.
What I'm trying to do is make the SlideDoor2 go open when I've set all levers in a proper order.
lever_1, 3 and 4 should be down
lever_2 and 5 should be up.
But.. Now the PerformLeverTaskCompleted starts working as soon as I pull just a random lever.
Please help me to make the SlideDoor2 open when I put em in the right order.
What I'm trying to do is make the SlideDoor2 go open when I've set all levers in a proper order.
lever_1, 3 and 4 should be down
lever_2 and 5 should be up.
But.. Now the PerformLeverTaskCompleted starts working as soon as I pull just a random lever.
Please help me to make the SlideDoor2 open when I put em in the right order.
PHP Code:
////////////////////////////
// Run first time starting map
void OnStart()
{
//START LEVER PUZZLE//
SetEntityConnectionStateChangeCallback("lever_1", "StoreCheckLeverState");
SetEntityConnectionStateChangeCallback("lever_2", "StoreCheckLeverState");
SetEntityConnectionStateChangeCallback("lever_3", "StoreCheckLeverState");
SetEntityConnectionStateChangeCallback("lever_4", "StoreCheckLeverState");
SetEntityConnectionStateChangeCallback("lever_5", "StoreCheckLeverState");
SetEntityConnectionStateChangeCallback("lever_6", "StoreCheckLeverState");
//END LEVER PUZZLE//
}
//START LEVER PUZZLE//
void CheckLeverStates()
{
if (GetLocalVarInt("lever_1") == -1
&& GetLocalVarInt("lever_2") == 1
&& GetLocalVarInt("lever_3") == -1
&& GetLocalVarInt("lever_4") == -1
&& GetLocalVarInt("lever_5") == 1
&& GetLocalVarInt("lever_6") == 1)
{
PerformLeverTaskCompleted();
}
}
void PerformLeverTaskCompleted()
{
SetMoveObjectStateExt("SlideDoor2", 1.0f, 1.0f, 1.0f, 0.0f, false);
}
void StoreCheckLeverState(string &in entity, int state)
{
SetLocalVarInt("lever_1", -1);
SetLocalVarInt("lever_2", 1);
SetLocalVarInt("lever_3", -1);
SetLocalVarInt("lever_4", -1);
SetLocalVarInt("lever_5", 1);
SetLocalVarInt("lever_6", 1);
CheckLeverStates();
}
//END LEVER PUZZLE//