56 lines
1.7 KiB
Plaintext
56 lines
1.7 KiB
Plaintext
//File name: trap_reset
|
|
//Usage/Description:
|
|
// Script fired during attmept to reset/disable a trap
|
|
// for use with CEP traps.
|
|
|
|
#include "zep_inc_scrptdlg"
|
|
|
|
void main()
|
|
{
|
|
object oPC = GetLastUsedBy();
|
|
string sTag = GetTag(OBJECT_SELF);
|
|
int nTrap = StringToInt(GetStringRight(sTag,1));
|
|
|
|
sTag = GetStringLeft(sTag,GetStringLength(sTag)-1);
|
|
object oO = GetNearestObjectByTag(sTag, OBJECT_SELF, nTrap);
|
|
object oAOE;
|
|
string sMessageToPC = GetStringByStrRef(nZEPTrapReset ,GENDER_MALE);
|
|
SendMessageToPC(oPC,sMessageToPC);
|
|
DeleteLocalInt(oO,"TRP_TRIGGERED");
|
|
|
|
object oTrap = GetLocalObject(oO,"TRP_PLCBL_OBJ");
|
|
oAOE = GetNearestObject(OBJECT_TYPE_AREA_OF_EFFECT,oTrap);
|
|
if(GetAreaOfEffectCreator(oAOE)==oO)
|
|
{
|
|
DestroyObject(oAOE);
|
|
}
|
|
|
|
if(sTag=="RPFTrap")
|
|
{
|
|
//AssignCommand(oTrap, PlaySound("as_sw_clothcl1"));
|
|
AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
|
|
}
|
|
else if(sTag=="MPFTrap")
|
|
{
|
|
//AssignCommand(oTrap, PlaySound("as_dr_metmedcr2"));
|
|
AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
|
|
DestroyObject(oTrap,1.0);
|
|
DeleteLocalInt(oO,"TRP_PLCBL_SHOW");
|
|
}
|
|
else if(sTag=="FlFTrap")
|
|
{
|
|
AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
|
|
DestroyObject(oTrap,1.0);
|
|
DeleteLocalInt(oO,"TRP_PLCBL_SHOW");
|
|
SetLocked(GetNearestObject(OBJECT_TYPE_DOOR,oO),FALSE);
|
|
}
|
|
else
|
|
{
|
|
AssignCommand(oTrap, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
|
|
DestroyObject(oTrap,1.0);
|
|
DeleteLocalInt(oO,"TRP_PLCBL_SHOW");
|
|
}
|
|
|
|
PlaySound("as_sw_lever1");
|
|
}
|