Local varInts
Hey everybody,
Recently i've had alot of questions about the tools in hpl2, this time i have a more complex question. How do I work Variables, i've seen a few tutorials that just aren't helping me to much and I've attempted studying up on them using the Machine Room.hps because it is very similar to what im trying to do.
Im working on a part where you need to put 5 limbs in a bathtub to clean up one hell of a mess in a hospital room. After the fifth limb is placed the tap starts dripping blood into the water (childsnake blood water) and then I use agrippa's head on the water for the final piece of the body, then my closing sequence start yadda yadda. Below is the script I have been attempting to use to make this work but so far nothing, if someone could help me learn about variables or help me through this process i would be most greatful:
void OnStart()
{
AddEntityCollideCallback("Player", "LightBreak", "LightBreaks", true, 1);
AddEntityCollideCallback("Limb_"i+, "reform", "CollideLimbsInTub", true, 1);
//SetLocalVarInt("LimbOK", 5);
}
//----CHAMBER----//
void CollideLimbsInTub(string &in asParent, string &in asChild, int alState)
{
if(GetLocalVarInt("LimbOK") == 5)
AddUseItemCallback("head", "head", "water", "ChamberComplete", true);
}
void ChamberComplete(string &in asItem, string &in asEntity)
{
DestroyParticleSystem("gas_1");
DestroyParticleSystem("gas_2");
DestroyParticleSystem("gas_3");
DestroyParticleSystem("gas_4");
DestroyParticleSystem("gas_5");
SetLampLit("lamp_1", false, true);
SetLampLit("lamp_2", false, true);
SetLampLit("lamp_3", false, true);
PlaySoundAtEntity("", "02_vent.snt", "ChamberSounds", 2, true);
PlaySoundAtEntity("", "light_off.snt", "ChamberSounds", 0, false);
PlayMusic("eerie09.ogg", true, 1, 0, 0.5, true);
PlayMusic("08_power_out1.ogg", true, 1, 0, 0, true);
SetEntityPlayerLookAtCallback("metal_door", "Bam", true);
}
void Bam(string &in entity, int alState)
{
if(GetSwingDoorClosed("metal_door")) //Checks to see if the door is closed.
{
SetSwingDoorDisableAutoClose("metal_door", true); //This will stop the door from closing as soon as it opens.
SetSwingDoorClosed("metal_door", false, true);
PlaySoundAtEntity("", "scare_slam_door.snt", "metal_door", 0, true);
PlaySoundAtEntity("", "impact_metal_high.snt", "metal_door", 0, true);
AddPropImpulse("metal_door", 0, 0, -30, "World");
}
}
Any advice?
|