57 lines
1.5 KiB
Plaintext
57 lines
1.5 KiB
Plaintext
//Created by Guile 01/20/07
|
|
//Put this script OnUsed
|
|
//Put this script OnUsed
|
|
void main()
|
|
{
|
|
|
|
object oPC = GetLastUsedBy();
|
|
|
|
if (!GetIsPC(oPC)) return;
|
|
|
|
if (GetItemPossessedBy(oPC, "lowerkey")== OBJECT_INVALID)
|
|
return;
|
|
|
|
object oTarget;
|
|
location lTarget;
|
|
oTarget = GetWaypointByTag("lowerway1");
|
|
|
|
lTarget = GetLocation(oTarget);
|
|
|
|
//only do the jump if the location is valid.
|
|
//though not flawless, we just check if it is in a valid area.
|
|
//the script will stop if the location isn't valid - meaning that
|
|
//nothing put after the teleport will fire either.
|
|
//the current location won't be stored, either
|
|
|
|
if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;
|
|
|
|
oTarget=GetFirstFactionMember(oPC, FALSE);
|
|
|
|
while (GetIsObjectValid(oTarget))
|
|
{
|
|
AssignCommand(oTarget, ClearAllActions());
|
|
|
|
AssignCommand(oTarget, ActionJumpToLocation(lTarget));
|
|
oTarget=GetNextFactionMember(oPC, FALSE);
|
|
}
|
|
|
|
oTarget = oPC;
|
|
|
|
//Visual effects can't be applied to waypoints, so if it is a WP
|
|
//the VFX will be applied to the WP's location instead
|
|
|
|
int nInt;
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
effect eEffect;
|
|
eEffect = EffectVisualEffect(VFX_FNF_TIME_STOP);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
|
else
|
|
DelayCommand(5.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
|
|
|
FloatingTextStringOnCreature("This is one of the God Quest of the module, it is extremely difficult, so bring lots of help!!!", oPC);
|
|
|
|
}
|