79 lines
2.2 KiB
Plaintext
79 lines
2.2 KiB
Plaintext
//Created by Genisys / Guile 5/25/08
|
|
|
|
//This trigger permits the party to escape the party jail for overspawning
|
|
//If any player has been been here before they will be ported to DM jail.
|
|
|
|
//You will need to create 4 way points and give them tagname (see below)
|
|
//There are 3 waypoints you need to have 1) "home"(the jail exit way point)
|
|
//2) "partyjail" the party jail way point 3) "offended" for repeat offenders
|
|
//4) "jailportway" where the portal to exit will spawn (in the party jail!)
|
|
void main()
|
|
{
|
|
object oPC = GetEnteringObject();
|
|
object oTarget;
|
|
location lTarget;
|
|
oTarget = GetWaypointByTag("offended");
|
|
lTarget = GetLocation(oTarget);
|
|
|
|
object oItem;
|
|
oItem = GetFirstItemInInventory(oPC);
|
|
|
|
while (GetIsObjectValid(oItem))
|
|
{
|
|
if (GetTag(oItem)=="gemofteleporation") DestroyObject(oItem);
|
|
if (GetTag(oItem)=="fieldtent") DestroyObject(oItem);
|
|
if (GetTag(oItem)=="teleportationgem") DestroyObject(oItem);
|
|
oItem = GetNextItemInInventory(oPC);
|
|
}
|
|
|
|
if(GetLocalInt(oPC, "EnteredJail") <=2)
|
|
{
|
|
|
|
DelayCommand(2.0, FloatingTextStringOnCreature
|
|
("You have been sent to jail for overspawning!", oPC));
|
|
|
|
DelayCommand(4.0, FloatingTextStringOnCreature
|
|
("You will be released in 3 minutes!", oPC));
|
|
|
|
DelayCommand(6.0, FloatingTextStringOnCreature
|
|
("Next time you will not be released till restart!", oPC));
|
|
|
|
//This delay handles how long they are in jail (Currently 3 Minutes)
|
|
DelayCommand(180.0, ExecuteScript("exitjail", oPC));
|
|
}
|
|
|
|
else if(GetLocalInt(oPC, "EnteredJail") >=3)
|
|
{
|
|
|
|
DelayCommand(2.0, FloatingTextStringOnCreature
|
|
("You have been sent to jail for overspawning!", oPC));
|
|
|
|
DelayCommand(4.0, FloatingTextStringOnCreature
|
|
("Because this is your third offense, you will not be released till restart!", oPC));
|
|
|
|
|
|
if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;
|
|
|
|
AssignCommand(oPC, ClearAllActions());
|
|
|
|
AssignCommand(oPC, ActionJumpToLocation(lTarget));
|
|
|
|
}
|
|
int bInt;
|
|
bInt = GetLocalInt(oPC, "EnterJail");
|
|
//If this isn't their first visit..
|
|
if(bInt<0)
|
|
{
|
|
++bInt;
|
|
SetLocalInt(oPC, "EnteredJail", bInt);
|
|
}
|
|
//Otherwise set the local int to 1
|
|
else
|
|
{
|
|
SetLocalInt(oPC, "EnteredJail", 1);
|
|
}
|
|
//If they overspawn again in the next 10 minutes then they won't be released!
|
|
DelayCommand(900.0, SetLocalInt(oPC, "EnteredJail", 0));
|
|
|
|
}
|