help me!
hi everyone! i have a problem with a script i´d love to create but i have no idea how...
im going to doa script that when you walk in to a specific area all the lights will shut down!1 but how i have done this so far...i used "addentitycollidacallback" and then made a "void lightsoff" but could someone tell me is this correct and what soud should i use" it is a castebased corridor!
SCRIPT
////////////////////////////
// Run first time starting map
void OnStart()
{
SetPlayerLampOil(0);
AddUseItemCallback("", "Crowbar", "Door", "UseCrowbarOnDoor", true);
AddEntityCollideCallback("Joint", "AreaBreak", "BreakDoor", true, 1);
SetEntityCallbackFunc("potion_sanity_2", "PianoShut");
SetEntityCallbackFunc("Awesome_key1", "jump");
AddEntityCollideCallback("Player", "explode_scare", "Explode", true, 1);
SetEntityPlayerInteractCallback("mansion_4", "func_slam", true);
AddEntityCollideCallback("Player", "START_BRUTE", "monster", true, 1);
AddEntityCollideCallback("Player", "LIGHTS_OFF", "LIGHTSOFF", true, 1);
}
void LIGHTSOFF(string &in asParent, string &in asChild, int alState)
SetEntityActive("torch_floor_1");
SetEntityActive("torch_floor_2");
SetEntityActive("torch_floor_3");
SetEntityActive("torch_floor_4");
SetEntityActive("torch_floor_5");
SetEntityActive("torch_floor_6");
SetEntityActive("torch_floor_7");
SetEntityActive("torch_floor_8");
SetEntityActive("torch_floor_9");
SetEntityActive("torch_floor_10");
SetEntityActive("torch_floor_11");
SetEntityActive("torch_floor_12");
SetEntityActive("torch_floor_13");
SetEntityActive("torch_floor_14");
void monster(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("BRUTE", true);
AddEnemyPatrolNode("BRUTE", "NODE_1", 0, "");
}
void func_slam(string &in asParent, string &in asChild, int alState)
{
SetPropHealth("mansion_4", 0.0f);
PlaySoundAtEntity("", "react_breath_slow.snt", "Player", 0, false);
PlaySoundAtEntity("", "react_scare", "Player", 0, false);
PlaySoundAtEntity("", "close_door.snt", "Player", 0, false);
GiveSanityDamage(5.0f, true);
}
void Explode(string &in asParent, string &in asChild, int alState)
{
SetPropHealth("pot_explode", 0);
GiveSanityDamage(15.0f, true);
}
void jump(string &in asEntity, string &in type)
{
SetEntityActive("GRUNT_PART_1", true);
PlaySoundAtEntity("", "react_scare.snt", "Player", 0, false);
PlaySoundAtEntity("", "sanity_damage.snt", "Player", 0, false);
GiveSanityDamage(10.0f, true);
}
void PianoShut(string &in asEntity, string &in OnPickup)
{
SetLeverStuckState("piano_1", 0, true);
AddPropImpulse("piano_1", 0, 0, 50, "world");
SetLeverStuckState("piano_1", -1, true);
PlaySoundAtEntity("PianoShut", "break_wood", "piano_1", 0, false);
CreateParticleSystemAtEntity("", "ps_dust_impact.ps", "impact", false);
GiveSanityDamage(60, true);
}
void UseCrowbarOnDoor(string &in asItem, string &in asEntity)
{
RemoveItem(asItem);
PlaySoundAtEntity("", "player_crouch.snt", "Player", 0.05, false);
AddTimer(asEntity, 0.2, "TimerPlaceCrowbar");
}
void TimerPlaceCrowbar(string &in asTimer)
{
SetEntityActive("Joint", true);
PlaySoundAtEntity("", "puzzle_place_jar.snt", asTimer, 0, false);
}
void BreakDoor(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("Joint", false);
SetEntityActive("Broken", true);
SetSwingDoorLocked("Door", false, false);
SetSwingDoorClosed("Door", false, false);
SetSwingDoorDisableAutoClose("Door", true);
AddPropImpulse("Door", 0, 0, 3, "world");
CreateParticleSystemAtEntity("", "ps_hit_wood.ps", "AreaEffect", false);
PlaySoundAtEntity("", "break_wood_metal", "AreaEffect", 0, false);
GiveSanityBoostSmall();
PlayMusic("10_puzzle01.ogg", false, 0.7, 0.1, 10, false);
AddTimer("", 0.1, "TimerPushDoor");
}
void TimerPushDoor(string &in asTimer)
{
AddPropImpulse("Door", -4, 2, 1, "world");
AddTimer("", 1.1, "TimerDoorCanClose");
}
void TimerDoorCanClose(string &in asTimer)
{
SetSwingDoorDisableAutoClose("Door", false);
}
////////////////////////////
// Run when entering map
void OnEnter()
{
AddUseItemCallback("", "Awesome_key1", "Door_1", "UsedKeyOnDoor", true);
AddUseItemCallback("", "Awesome_key2", "locked_2", "UsedKeyOnLocked", true);
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Door_1", false, true);
PlaySoundAtEntity("", "unlock_door", "Door_1", 0, false);
RemoveItem("Awesome_key1");
}
void UsedKeyOnLocked(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("locked_2", false, true);
PlaySoundAtEntity("", "unlock_door", "locked_2", 0, false);
RemoveItem("Awesome_key2");
}
////////////////////////////
// Run when leaving map
void OnLeave()
{
AutoSave();
}
|