////////////////////////////////////////////////////////////////////////////////////
// Run first time starting map
void OnStart()
///////////////////////////////////////////////////////////////////////////////////
// HUNTED PIANO STARTS PLAYING!
{
AddTimer("pianotimer", 0, "pianotimer");
AddEntityCollideCallback("Player", "pianostop", "pianostop", true, 1);
}
void PianoTimer(string &in asTimer)
{
PlaySoundAtEntity("piano", "general_piano03.ogg", "Piano", 0, false);
AddTimer("pianotimer", 18, "pianotimer");
}
void pianostop(string &in asEntity, int alState)
{
StopSound("piano", 0);
RemoveTimer("pianotimer");
SetLeverStuckState("piano", 0, true);
AddPropImpulse("piano", 0, 0, 100, "world");
PlaySoundAtEntity("piano", "impact_wood_heavy_med3", "Piano", 0, false);
CreateParticleSystemAtEntity("", "ptest_dust_falling.ps", "impact", false);
}
///////////////////////////////////////////////////////////////////////////////////
// ALL THE KEYS!
{
AddUseItemCallback("", "Key_1", "Door_1", "UsedKeyOnDoor", true);
AddUseItemCallback("", "Key_2", "Door_2", "UsedKeyOnDoor_2", true);
AddUseItemCallback("", "Secretkey2", "metal_1", "UsedKeyOnDoor_3", true);
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Door_1", false, true);
PlaySoundAtEntity("", "unlock_door", "Door_1", 0, false);
RemoveItem("Key_1");
}
void UsedKeyOnDoor_2(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Door_2", false, true);
PlaySoundAtEntity("", "unlock_door", "Door_2", 0,false);
RemoveItem("Key_2");
}
void Message_1(string &in asEntity)
{
SetMessage("Message", "Message_1", 2);
}
void UsedKeyOnDoor_3(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("metal_1", false, true);
PlaySoundAtEntity("", "unlock_door", "metal_1", 0, false);
RemoveItem("Secretkey2");
}
///////////////////////////////////////////////////////////////////////////////////
// SCARY DOOR/CHAIR EVENT IN CORRIDOOR!
void OnEnter()
{
StopSound("Sound_1", 0);
//COLLIDES
AddEntityCollideCallback("Player", "Event_Start_Collide_Area", "StartEvent", true, 1);
}
void StartEvent(string &in asParent, string &in asChild, int alState)
{CreateParticleSystemAtEntityExt("awedsasf", "ps_dust_push_15.ps", "Particle_Spawn", false, 1.0f, 0.1f, 0.1f, 1, false, 1, 1, 1, 1);
AddTimer("asdtgeqtfgd", 1.0f, "LoopyTimerCounting");
}
void LoopyTimerCounting(string &in asTimer)
{AddLocalVarInt("Stage", 1);
float fEventSpeed = 0.0f;
switch(GetLocalVarInt("Stage"))
{ case 1:
SetSwingDoorClosed("WindDoor", true, true);
SetSwingDoorDisableAutoClose("WindDoor", false);
AddPropForce("WindDoor", 0, 0, 290.0f, "world");
SetSwingDoorLocked("WindDoor", true, true);
FadeInSound("Sound_1", 1.0f, true);
FadeLightTo("PointLight_1", 0.8f, 1, 0, 0, 0, 0.3);
break;
case 2:
AddPropForce("chandelier_simple_short_6", 0, 0, 100.0f, "world");
fEventSpeed = 0.5f;
FadeLightTo("PointLight_1", 0, 0, 0, 0, 0, 0.5);
FadeLightTo("PointLight_2", 0.7f, 1, 0, 0, 0, 0.6);
break;
case 3:
AddPropForce("chandelier_simple_short_6", 0, 0, 2400.0f, "world");
fEventSpeed = 0.6f;
FadeLightTo("PointLight_2", 0, 0, 0, 0, 0, 0.6);
FadeLightTo("PointLight_3", 0.5f, 1, 0, 0, 0, 0.6);
break;
case 4:
SetEntityActive("block_box_nonchar_1", true);
AddPropForce("chair_wood02_4", 0, 0, 0, "world");
fEventSpeed = 0.0f;
FadeLightTo("PointLight_3", 0, 0, 0, 0, 0, 0.5);
break;
case 5:
AddPropForce("chair_wood02_4",4000, 600, 0, "world");
fEventSpeed = 0.0f;
break;
case 6:
SetEntityActive("block_box_nonchar_1", false);
break;
}
if(GetLocalVarInt("Stage") < 10) AddTimer("thisloopsthetimer", fEventSpeed, "LoopyTimerCounting");
}