Frictional Games Forum (read-only)

Full Version: Lever State
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
If you're using the lever panel you're gonna need to use the multislider functions.

void OnStart()
{
SetMultiSliderCallback("lever_panel_1", "LeverStateChange1");
}

void LeverStateChange1(string &in EntityName, int alState)
{
if(alState == 1)
{
AddDebugMessage("DoorOpen", false);
}
}
(03-29-2013, 05:56 PM)Robosprog Wrote: [ -> ]
(03-29-2013, 04:14 PM)ClayPigeon Wrote: [ -> ]If you're using the lever panel you're gonna need to use the multislider functions.

void OnStart()
{
SetMultiSliderCallback("lever_panel_1", "LeverStateChange1");
}

void LeverStateChange1(string &in EntityName, int alState)
{
if(alState == 1)
{
AddDebugMessage("DoorOpen", false);
}
}

I think it works now! However, it only works for 0 and 1 which are the same place apparently. Sad

Multisliders has no -1 state, their states are 0,1 and 2, unlike levers which have -1, 0 and 1.
If there's only one lever, then you use SetEntityConnectionStateChangeCallback. For example, if you want something to happen when the lever's state is 1, you write:
PHP Code:
void OnStart()
{
    
SetEntityConnectionStateChangeCallback("lever_1""LeverStateChange");
}

void LeverStateChange(string &in entityint state)
{
    if(
state == 1) {
        
// Do stuff
    
}

(03-29-2013, 09:27 PM)Robosprog Wrote: [ -> ]
(03-29-2013, 06:30 PM)ClayPigeon Wrote: [ -> ]
(03-29-2013, 05:56 PM)Robosprog Wrote: [ -> ]
(03-29-2013, 04:14 PM)ClayPigeon Wrote: [ -> ]If you're using the lever panel you're gonna need to use the multislider functions.

void OnStart()
{
SetMultiSliderCallback("lever_panel_1", "LeverStateChange1");
}

void LeverStateChange1(string &in EntityName, int alState)
{
if(alState == 1)
{
AddDebugMessage("DoorOpen", false);
}
}

I think it works now! However, it only works for 0 and 1 which are the same place apparently. Sad

Multisliders has no -1 state, their states are 0,1 and 2, unlike levers which have -1, 0 and 1.

Waait, there's only one lever in my thing, does that still require a multislider?

Is your lever model called "water_wheel_cog_panel" ?
If it is, the connectionstatechange callback won't work with it, and you need to use mutlisliders.

If you use any other lever, you can use SetEntityConnectionStateChangeCallback.