Removed old cripple creek maps and added originals back in. Fixed outfits for some mobs that were not showing up previously. Added and fixed some transitions.
89 lines
2.3 KiB
Plaintext
89 lines
2.3 KiB
Plaintext
/////////////////////////////////////////////////
|
|
// Ultimate Teleport Script 2.0
|
|
/////////////////////////////////////////////////
|
|
// by Genisys (galefer003@hotmail.com)
|
|
//
|
|
// based on SirLestat's Secret Trapdoorscripts
|
|
/////////////////////////////////////////////////
|
|
/*
|
|
|
|
This script is for the recallconv (conversation)
|
|
to recall the player and associates only back to
|
|
the location where the player used the stone of
|
|
recall
|
|
|
|
*/
|
|
/////////////////////////////////////////////////
|
|
|
|
void main()
|
|
{
|
|
// uncomment one of the next 3 lines depending where you use the script:
|
|
object oPC = GetPCSpeaker(); // for conversations
|
|
// object oPC = GetEnteringObject; // for triggers
|
|
//object oPC = GetLastUsedBy(); // for items/objects
|
|
|
|
object oToken = GetItemPossessedBy(oPC, "idtoken");
|
|
string sName = GetName(oToken);
|
|
object oArea = GetArea(oPC);
|
|
location lSaved = GetLocation(oPC);
|
|
location lStored = GetLocalLocation(oToken, "RECALL_LOC");
|
|
object oSaved = GetAreaFromLocation(lStored);
|
|
object oSavedArea = GetAreaFromLocation(lStored);
|
|
object oWay;
|
|
int nMulti = GetLocalInt(GetModule(), "multi");
|
|
int i;
|
|
|
|
|
|
//First loop through the object in the area's stored location..
|
|
for(i=0; i<5;i++)
|
|
{
|
|
oWay = GetNearestObjectToLocation(OBJECT_TYPE_WAYPOINT, lStored, i);
|
|
|
|
if(oWay != OBJECT_INVALID && GetTag(oWay)=="no_recall")
|
|
{
|
|
FloatingTextStringOnCreature("No Destination Found.", oPC);
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
//--DEBUGGING-----------------------
|
|
|
|
if(oSaved==OBJECT_INVALID)
|
|
{
|
|
FloatingTextStringOnCreature("No Destination Found.", oPC);
|
|
return;
|
|
}
|
|
|
|
else
|
|
{
|
|
|
|
|
|
//Don't store information if the location is invalid!
|
|
if(oArea!=OBJECT_INVALID)
|
|
{
|
|
SetLocalLocation(oToken, "RECALL_LOC", lSaved);
|
|
FloatingTextStringOnCreature("Location Saved!", oPC, FALSE);
|
|
if(nMulti) //If Multiplayer, Save Their Toon!
|
|
{
|
|
ExportSingleCharacter(oPC);
|
|
}
|
|
}
|
|
|
|
|
|
effect eVis = EffectVisualEffect(472);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC, 0.0f);
|
|
|
|
eVis = EffectDisappear(1);
|
|
DelayCommand(1.1, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC, 0.0f));
|
|
|
|
DelayCommand(2.5, AssignCommand(oPC, ClearAllActions()));
|
|
|
|
//Allow for the visual effect to finish.
|
|
DelayCommand(2.6, AssignCommand(oPC, ActionJumpToLocation(lStored)));
|
|
|
|
}
|
|
|
|
|
|
}
|