Lever help
I have two levers in my map. One which is suppose to activate the other lever and that lever is suppose to change map when you pull it. For some reason I can't find out why I change map when I pull the first lever instead??
Here's the code.
void OnStart()
{
AddEntityCollideCallback("Player", "armour_script", "armour", true, 1);
AddEntityCollideCallback("Player", "laugh_1", "laugh1", true, 1);
AddUseItemCallback("", "hollow_needle_1", "castle_9", "unlock_door", true);
AddEntityCollideCallback("elevator_cogwheel01_1", "Cog1", "attach1", true, 1);
AddEntityCollideCallback("elevator_cogwheel02_1", "Cog2", "attach2", true, 1);
AddEntityCollideCallback("elevator_cogwheel03_1", "Cog3", "attach3", true, 1);
SetLocalVarInt("CogCount", 0);
AddEntityCollideCallback("cog_1", "Cog1", "Elevator_start", true, 1);
AddEntityCollideCallback("cog_2", "Cog2", "Elevator_start", true, 1);
AddEntityCollideCallback("cog_3", "Cog3", "Elevator_start", true, 1);
SetEntityConnectionStateChangeCallback("elevator_machine_main_lever_1", "e_lever");
AddEntityCollideCallback("Player", "ScriptArea_1", "scripta", true, 1);
AddEntityCollideCallback("Player", "doll_poof", "poof", true, 1);
AddEntityCollideCallback("Player", "throw_g", "throw", true, 1);
SetEntityConnectionStateChangeCallback("elevator_lever_1", "ele_lever");
}
void armour(string &in asParent, string &in asChild, int alState)
{
SetPropStaticPhysics("armour_1", false);
SetPropStaticPhysics("armour_2", false);
SetPropStaticPhysics("armour_3", false);
SetPropStaticPhysics("armour_4", false);
SetPropStaticPhysics("armour_5", false);
SetPropStaticPhysics("armour_6", false);
AddPropImpulse("armour_1", -2, -2, -2, "world");
AddPropImpulse("armour_2", -2, -2, -2, "world");
AddPropImpulse("armour_3", -2, -2, -2, "world");
AddPropImpulse("armour_4", -2, -2, -2, "world");
AddPropImpulse("armour_5", -2, -2, -2, "world");
AddPropImpulse("armour_6", -2, -2, -2, "world");
GiveSanityDamage(19.0f, true);
}
void laugh1(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "00_laugh.snt", "Player", 0, true);
}
void unlock_door(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("castle_9", false, true);
PlaySoundAtEntity("", "unlock_door", "castle_9", 0, false);
RemoveItem("hollow_needle_1");
}
void attach1(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("cog_1", true);
SetEntityActive("elevator_cogwheel01_1", false);
PlaySoundAtEntity("", "wheel_metal_min_max.snt", "Player", 0, false);
}
void attach2(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("cog_2", true);
SetEntityActive("elevator_cogwheel02_1", false);
PlaySoundAtEntity("", "wheel_metal_min_max.snt", "Player", 0, false);
}
void attach3(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("cog_3", true);
SetEntityActive("elevator_cogwheel03_1", false);
PlaySoundAtEntity("", "wheel_metal_min_max.snt", "Player", 0, false);
}
void Elevator_start(string &in asParent, string &in asChild, int alState)
{
AddLocalVarInt("CogCount", 1);
if (GetLocalVarInt("CogCount")==3)
{
SetLeverStuckState("elevator_machine_main_lever_1", 0, true);
}
}
void e_lever(string &in asEntity, int alState)
{
SetEntityActive("ScriptArea_1", true);
SetLeverStuckState("elevator_lever_1", 0, true);
RotatePropToSpeed("elevator_machine_cog_main_1", 1, 1.5, 1, 0, 0, false, "");
RotatePropToSpeed("elevator_machine_cog_small_3", 1, 1.5, 1, 0, 0, false, "");
RotatePropToSpeed("elevator_machine_cog_small_2", 1, 1.5, 0, 0, 1, false, "");
RotatePropToSpeed("elevator_machine_cog_small_1", 1, 1.5, 0, 0, 1, false, "");
RotatePropToSpeed("cog_1", 1, 1.5, 0, 0, 1, false, "");
RotatePropToSpeed("cog_2", 1, 1.5, 0, 0, 1, false, "");
RotatePropToSpeed("cog_3", 1, 1.5, 0, 0, 1, false, "");
PlaySoundAtEntity("", "13_press_done.snt", "Player", 0, false);
PlaySoundAtEntity("", "13_machine_run_custom.snt", "elevator_machine_cog_small_2", 0, false);
}
void DoorLockedPlayer(string &in entity)
{
if(GetSwingDoorLocked("castle_4") == true)
{
SetMessage("Messages", "msgname8", 0);
}
}
void scripta(string &in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("", "19_creak.snt", "Player", 0, false);
SetEntityActive("ceiling_doll_1", true);
SetEntityActive("ceiling_doll_2", true);
SetEntityActive("doll_poof", true);
SetEntityActive("blood_spatter03_1", true);
SetEntityActive("blood_spatter03_2", true);
SetEntityActive("blood_spatter03_3", true);
SetEntityActive("throw_g", true);
}
void poof(string &in asParent, string &in asChild, int alState)
{
AddTimer("T1", 1.5f, "Timer_1");
}
void Timer_1(string &in asTimer)
{
SetEntityActive("ceiling_doll_2", false);
CreateParticleSystemAtEntity("Player", "ps_debris_tunnel.ps", "ceiling_doll_2", true);
GiveSanityDamage(20.0f, true);
PlaySoundAtEntity("", "03_in_a_bottle.snt", "Player", 0, false);
}
void throw(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("throw_grunt", true);
AddPropImpulse("throw_grunt", 0, 0, -10, "world");
}
void ele_lever(string &in asEntity, int alState)
{
PlaySoundAtEntity("", "14_elevator_activate.snt", "Player", 0, false);
PlaySoundAtEntity("", "elevator_move_normal.snt", "Player", 0, false);
AddTimer("T1", 4.0f, "Timer_2");
}
void Timer_2(string &in asTimer)
{
ChangeMap("Dungeons_1.map", "PlayerStartArea_1", "", "");
}
void OnEnter()
{
PlayMusic("10_amb.ogg", true, 2, 2, 0, true);
}
void OnLeave()
{
}
elevator_lever_1 is suppose to change map.
|