ClayPigeon
Member
Posts: 214
Threads: 13
Joined: Mar 2012
Reputation:
8
|
RE: Lever State
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, 04:14 PM |
|
ClayPigeon
Member
Posts: 214
Threads: 13
Joined: Mar 2012
Reputation:
8
|
RE: Lever State
(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.
Multisliders has no -1 state, their states are 0,1 and 2, unlike levers which have -1, 0 and 1.
|
|
03-29-2013, 06:30 PM |
|
NaxEla
Senior Member
Posts: 415
Threads: 5
Joined: Dec 2012
Reputation:
28
|
RE: Lever State
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:
void OnStart() { SetEntityConnectionStateChangeCallback("lever_1", "LeverStateChange"); }
void LeverStateChange(string &in entity, int state) { if(state == 1) { // Do stuff } }
|
|
03-29-2013, 09:39 PM |
|
ClayPigeon
Member
Posts: 214
Threads: 13
Joined: Mar 2012
Reputation:
8
|
RE: Lever State
(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.
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.
|
|
03-29-2013, 09:44 PM |
|
|