Amon_PRC8/_module/nss/pcp01_toggle.nss
Jaysyn904 c5cffc37af Initial Commit
Initial Commit [v1.01]
2025-04-03 19:00:46 -04:00

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);
}
}