Frictional Games Forum (read-only)

Full Version: Turning light on and off in trigger area?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hey everyone,

Basically what I wanted to do is have a light turn on when I walk into a trigger area, then turns off again when the player walks out of that trigger area. Then turns on when they walk back into it and so on and so forth.

Here's my script so far;

PHP Code:
void OnStart()
{

GiveItemFromFile("lantern""lantern.ent");

AddEntityCollideCallback("Player""wrong_door_area""WrongDoor"false1);

SetLightVisible("SpotLight_6"false);

}

void WrongDoor(string &in asParentstring &in asChildint alState)
{
    
SetLightVisible("SpotLight_6"true);
}

void OnEnter()
{

}
void OnLeave()
{




So the Spot Light is disabled as soon as the level loads and it turns on fine when the player walks into the trigger area, but it stays on when the player walks out.
How can I script it so the player can walk in and out of the trigger area to make the light go off and on?

Thanks.
Code:
AddEntityCollideCallback("Player", "wrong_door_area", "WrongDoor", false, 1);
AddEntityCollideCallback("Player", "wrong_door_area", "WrongDoor", false, -1);

void WrongDoor(string &in asParent, string &in asChild, int alState)
{
    if(alState == 1) {
    SetLightVisible("SpotLight_6", true); }
    else if(alState == -1) {
    SetLightVisible("SpotLight_6", false); }
}
(05-08-2013, 08:17 PM)ClayPigeon Wrote: [ -> ]
Code:
AddEntityCollideCallback("Player", "wrong_door_area", "WrongDoor", false, 1);
AddEntityCollideCallback("Player", "wrong_door_area", "WrongDoor", false, -1);

void WrongDoor(string &in asParent, string &in asChild, int alState)
{
    if(alState == 1) {
    SetLightVisible("SpotLight_6", true); }
    else if(alState == -1) {
    SetLightVisible("SpotLight_6", false); }
}

That didn't work sadly, the light still turns on, but stays on when I walk around away from that area Sad.
Code:
AddEntityCollideCallback("Player", "wrong_door_area", "WrongDoor", false, 0);

void WrongDoor(string &in asParent, string &in asChild, int alState)
{
    if(alState == 1) {
    SetLightVisible("SpotLight_6", true); }
    else if(alState == -1) {
    SetLightVisible("SpotLight_6", false); }
}
Should work now
(05-08-2013, 08:53 PM)ClayPigeon Wrote: [ -> ]
Code:
AddEntityCollideCallback("Player", "wrong_door_area", "WrongDoor", false, 0);

void WrongDoor(string &in asParent, string &in asChild, int alState)
{
    if(alState == 1) {
    SetLightVisible("SpotLight_6", true); }
    else if(alState == -1) {
    SetLightVisible("SpotLight_6", false); }
}
Should work now

Perfect! Thank you very much! Now I'm just going to add sound to it as well!