60 lines
1.2 KiB
Plaintext
60 lines
1.2 KiB
Plaintext
void togglePlate(int plateNumber);
|
|
|
|
void main()
|
|
{
|
|
PlaySound("as_sw_stonelk1");
|
|
|
|
int iPlateNumber = StringToInt(GetStringRight(GetTag(OBJECT_SELF), 2));
|
|
// toggle the plate pressed
|
|
togglePlate(iPlateNumber);
|
|
|
|
// Toggle plate to the north
|
|
if(iPlateNumber > 5)
|
|
{
|
|
togglePlate(iPlateNumber - 5);
|
|
}
|
|
|
|
// Toggle plate to the south
|
|
if(iPlateNumber < 21)
|
|
{
|
|
togglePlate(iPlateNumber + 5);
|
|
}
|
|
|
|
// Toggle plate to the east
|
|
if(iPlateNumber % 5 != 0)
|
|
{
|
|
togglePlate(iPlateNumber + 1);
|
|
}
|
|
|
|
// Toggle plate to the west
|
|
if(iPlateNumber % 5 != 1)
|
|
{
|
|
togglePlate(iPlateNumber - 1);
|
|
}
|
|
}
|
|
|
|
void togglePlate(int iPlateNumber)
|
|
{
|
|
string sPlateTag;
|
|
if(iPlateNumber < 10)
|
|
{
|
|
sPlateTag = "pc_p0" + IntToString(iPlateNumber);
|
|
}
|
|
else
|
|
{
|
|
sPlateTag = "pc_p" + IntToString(iPlateNumber);
|
|
}
|
|
object oPlate = GetObjectByTag(sPlateTag);
|
|
|
|
if(GetLocalInt(oPlate, "LEVER_STATE"))
|
|
{
|
|
ExecuteScript("pcp01_off", oPlate);
|
|
SetLocalInt(oPlate, "LEVER_STATE", 0);
|
|
}
|
|
else
|
|
{
|
|
ExecuteScript("pcp01_on", oPlate);
|
|
SetLocalInt(oPlate, "LEVER_STATE", 1);
|
|
}
|
|
}
|