Changes and Fixes

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.
This commit is contained in:
2024-10-07 11:32:07 -04:00
parent 2e9f4aed46
commit bd6efd3825
70 changed files with 29496 additions and 50137 deletions

View File

@@ -0,0 +1,11 @@
int StartingConditional()
{
object oSpeaker = GetPCSpeaker();
//Show this line in the conversation ONLY if it's a DM!
if(GetIsDM(oSpeaker))
return TRUE;
//Otherwise Don't show the line to anyone else!
return FALSE;
}

View File

@@ -0,0 +1,9 @@
int StartingConditional()
{
int i = 3;
if(i==1)
return TRUE;
return FALSE;
}

16
_module/nss/is_guild.nss Normal file
View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName is_guild
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 3/5/2009 2:50:49 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(GetItemPossessedBy(GetPCSpeaker(), "guildpass")!=OBJECT_INVALID)
return TRUE;
return FALSE;
}

View File

@@ -0,0 +1,92 @@
/*--------------------------------------------------------
Script Name: stoneportshome
----------------------------------------------------------
Created By: Genisys(Guile)
Created On: 2/09/09
----------------------------------------------------------
This Recall's the PC Speaker to the waypoint tagnamed "home"
Then it's stores thier location in a database location!
If the PC is in combat, they cannot recall for any reason!
If the PC is in a PVP Area they cannot recall!
(check's for local int "PVP" of 1 or higher)
----------------------------------------------------------*/
void main()
{
// uncomment one of the next 3 lines depending where you use the script:
object oPC = GetPCSpeaker(); // for conversations
object oWay = GetNearestObjectByTag("no_recall", oPC);
if(GetIsPC(oPC))
{
if(GetIsInCombat(oPC))
{
FloatingTextStringOnCreature("You cannot recall while in combat!", oPC, TRUE);
return;
}
else if(GetLocalInt(GetArea(oPC), "PVP")>=3)
{
FloatingTextStringOnCreature("You cannot recall from a PVP area!", oPC, TRUE);
return;
}
}
object oToken = GetItemPossessedBy(oPC, "idtoken");
string sName = GetName(oToken);
object oArea = GetArea(oPC);
location lSaved = GetLocation(oPC);
object oSaved = GetAreaFromLocation(lSaved);
int nMulti = GetLocalInt(GetModule(), "multi");
// set to 1 if you want to teleport the whole party of the player, whereever every member is:
int iTeleportWholeParty = 0;
// set to 1 if you want the Associates of the player to be teleported as well, otherwise to 0:
int iTeleportAssociateToo = 1;
// Enter the destination Waypoint in here:
object oDWP = GetWaypointByTag("aschbourne");
//--DEBUGGING-----------------------
//If the way point is not there..
if (oDWP==OBJECT_INVALID)
{ FloatingTextStringOnCreature("No Destination Found.", oPC);
return; }
else
{
if(oSaved==OBJECT_INVALID)
{
FloatingTextStringOnCreature("No Destination Found.", oPC);
return;
}
//Don't store information if the location is invalid!
if(oArea!=OBJECT_INVALID)
{
if(oWay==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, ActionJumpToObject(oDWP)));
}
}

View File

@@ -0,0 +1,92 @@
/*--------------------------------------------------------
Script Name: stoneportshome
----------------------------------------------------------
Created By: Genisys(Guile)
Created On: 2/09/09
----------------------------------------------------------
This Recall's the PC Speaker to the waypoint tagnamed "home"
Then it's stores thier location in a database location!
If the PC is in combat, they cannot recall for any reason!
If the PC is in a PVP Area they cannot recall!
(check's for local int "PVP" of 1 or higher)
----------------------------------------------------------*/
void main()
{
// uncomment one of the next 3 lines depending where you use the script:
object oPC = GetPCSpeaker(); // for conversations
object oWay = GetNearestObjectByTag("no_recall", oPC);
if(GetIsPC(oPC))
{
if(GetIsInCombat(oPC))
{
FloatingTextStringOnCreature("You cannot recall while in combat!", oPC, TRUE);
return;
}
else if(GetLocalInt(GetArea(oPC), "PVP")>=3)
{
FloatingTextStringOnCreature("You cannot recall from a PVP area!", oPC, TRUE);
return;
}
}
object oToken = GetItemPossessedBy(oPC, "idtoken");
string sName = GetName(oToken);
object oArea = GetArea(oPC);
location lSaved = GetLocation(oPC);
object oSaved = GetAreaFromLocation(lSaved);
int nMulti = GetLocalInt(GetModule(), "multi");
// set to 1 if you want to teleport the whole party of the player, whereever every member is:
int iTeleportWholeParty = 0;
// set to 1 if you want the Associates of the player to be teleported as well, otherwise to 0:
int iTeleportAssociateToo = 1;
// Enter the destination Waypoint in here:
object oDWP = GetWaypointByTag("Recall_LustVillage");
//--DEBUGGING-----------------------
//If the way point is not there..
if (oDWP==OBJECT_INVALID)
{ FloatingTextStringOnCreature("No Destination Found.", oPC);
return; }
else
{
if(oSaved==OBJECT_INVALID)
{
FloatingTextStringOnCreature("No Destination Found.", oPC);
return;
}
//Don't store information if the location is invalid!
if(oArea!=OBJECT_INVALID)
{
if(oWay==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, ActionJumpToObject(oDWP)));
}
}

View File

@@ -0,0 +1,92 @@
/*--------------------------------------------------------
Script Name: stoneportshome
----------------------------------------------------------
Created By: Genisys(Guile)
Created On: 2/09/09
----------------------------------------------------------
This Recall's the PC Speaker to the waypoint tagnamed "home"
Then it's stores thier location in a database location!
If the PC is in combat, they cannot recall for any reason!
If the PC is in a PVP Area they cannot recall!
(check's for local int "PVP" of 1 or higher)
----------------------------------------------------------*/
void main()
{
// uncomment one of the next 3 lines depending where you use the script:
object oPC = GetPCSpeaker(); // for conversations
object oWay = GetNearestObjectByTag("no_recall", oPC);
if(GetIsPC(oPC))
{
if(GetIsInCombat(oPC))
{
FloatingTextStringOnCreature("You cannot recall while in combat!", oPC, TRUE);
return;
}
else if(GetLocalInt(GetArea(oPC), "PVP")>=3)
{
FloatingTextStringOnCreature("You cannot recall from a PVP area!", oPC, TRUE);
return;
}
}
object oToken = GetItemPossessedBy(oPC, "idtoken");
string sName = GetName(oToken);
object oArea = GetArea(oPC);
location lSaved = GetLocation(oPC);
object oSaved = GetAreaFromLocation(lSaved);
int nMulti = GetLocalInt(GetModule(), "multi");
// set to 1 if you want to teleport the whole party of the player, whereever every member is:
int iTeleportWholeParty = 0;
// set to 1 if you want the Associates of the player to be teleported as well, otherwise to 0:
int iTeleportAssociateToo = 1;
// Enter the destination Waypoint in here:
object oDWP = GetWaypointByTag("del_docks");
//--DEBUGGING-----------------------
//If the way point is not there..
if (oDWP==OBJECT_INVALID)
{ FloatingTextStringOnCreature("No Destination Found.", oPC);
return; }
else
{
if(oSaved==OBJECT_INVALID)
{
FloatingTextStringOnCreature("No Destination Found.", oPC);
return;
}
//Don't store information if the location is invalid!
if(oArea!=OBJECT_INVALID)
{
if(oWay==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, ActionJumpToObject(oDWP)));
}
}

View File

@@ -0,0 +1,92 @@
/*--------------------------------------------------------
Script Name: stoneportshome
----------------------------------------------------------
Created By: Genisys(Guile)
Created On: 2/09/09
----------------------------------------------------------
This Recall's the PC Speaker to the waypoint tagnamed "home"
Then it's stores thier location in a database location!
If the PC is in combat, they cannot recall for any reason!
If the PC is in a PVP Area they cannot recall!
(check's for local int "PVP" of 1 or higher)
----------------------------------------------------------*/
void main()
{
// uncomment one of the next 3 lines depending where you use the script:
object oPC = GetPCSpeaker(); // for conversations
object oWay = GetNearestObjectByTag("no_recall", oPC);
if(GetIsPC(oPC))
{
if(GetIsInCombat(oPC))
{
FloatingTextStringOnCreature("You cannot recall while in combat!", oPC, TRUE);
return;
}
else if(GetLocalInt(GetArea(oPC), "PVP")>=3)
{
FloatingTextStringOnCreature("You cannot recall from a PVP area!", oPC, TRUE);
return;
}
}
object oToken = GetItemPossessedBy(oPC, "idtoken");
string sName = GetName(oToken);
object oArea = GetArea(oPC);
location lSaved = GetLocation(oPC);
object oSaved = GetAreaFromLocation(lSaved);
int nMulti = GetLocalInt(GetModule(), "multi");
// set to 1 if you want to teleport the whole party of the player, whereever every member is:
int iTeleportWholeParty = 0;
// set to 1 if you want the Associates of the player to be teleported as well, otherwise to 0:
int iTeleportAssociateToo = 1;
// Enter the destination Waypoint in here:
object oDWP = GetWaypointByTag("ever_clear");
//--DEBUGGING-----------------------
//If the way point is not there..
if (oDWP==OBJECT_INVALID)
{ FloatingTextStringOnCreature("No Destination Found.", oPC);
return; }
else
{
if(oSaved==OBJECT_INVALID)
{
FloatingTextStringOnCreature("No Destination Found.", oPC);
return;
}
//Don't store information if the location is invalid!
if(oArea!=OBJECT_INVALID)
{
if(oWay==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, ActionJumpToObject(oDWP)));
}
}

View File

@@ -0,0 +1,40 @@
/*--------------------------------------------------------
Script Name: port_to_leader
----------------------------------------------------------
Created By: Genisys(Guile)
Created On: 2/09/09
----------------------------------------------------------
The PC Teleports to the Party Leader from the conversation.
This script goes in the Action Taken event for that line.
----------------------------------------------------------*/
void main()
{
object oPC = GetPCSpeaker();
object oLeader = GetFactionLeader(oPC);
if(GetIsInCombat(oPC))
{
FloatingTextStringOnCreature("You cannot recall while in combat!", oPC, TRUE);
return;
}
else if(GetLocalInt(GetArea(oPC), "PVP")>=1)
{
FloatingTextStringOnCreature("You cannot recall from a PVP area!", oPC, TRUE);
return;
}
if (oLeader != oPC) {
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), oPC);
AssignCommand(oPC, JumpToObject(oLeader));
} else {
SendMessageToPC(oPC, "You are the party leader!");
}
}

View File

@@ -0,0 +1,92 @@
/*--------------------------------------------------------
Script Name: stoneportshome
----------------------------------------------------------
Created By: Genisys(Guile)
Created On: 2/09/09
----------------------------------------------------------
This Recall's the PC Speaker to the waypoint tagnamed "home"
Then it's stores thier location in a database location!
If the PC is in combat, they cannot recall for any reason!
If the PC is in a PVP Area they cannot recall!
(check's for local int "PVP" of 1 or higher)
----------------------------------------------------------*/
void main()
{
// uncomment one of the next 3 lines depending where you use the script:
object oPC = GetPCSpeaker(); // for conversations
object oWay = GetNearestObjectByTag("no_recall", oPC);
if(GetIsPC(oPC))
{
if(GetIsInCombat(oPC))
{
FloatingTextStringOnCreature("You cannot recall while in combat!", oPC, TRUE);
return;
}
else if(GetLocalInt(GetArea(oPC), "PVP")>=3)
{
FloatingTextStringOnCreature("You cannot recall from a PVP area!", oPC, TRUE);
return;
}
}
object oToken = GetItemPossessedBy(oPC, "idtoken");
string sName = GetName(oToken);
object oArea = GetArea(oPC);
location lSaved = GetLocation(oPC);
object oSaved = GetAreaFromLocation(lSaved);
int nMulti = GetLocalInt(GetModule(), "multi");
// set to 1 if you want to teleport the whole party of the player, whereever every member is:
int iTeleportWholeParty = 0;
// set to 1 if you want the Associates of the player to be teleported as well, otherwise to 0:
int iTeleportAssociateToo = 1;
// Enter the destination Waypoint in here:
object oDWP = GetWaypointByTag("home");
//--DEBUGGING-----------------------
//If the way point is not there..
if (oDWP==OBJECT_INVALID)
{ FloatingTextStringOnCreature("No Destination Found.", oPC);
return; }
else
{
if(oSaved==OBJECT_INVALID)
{
FloatingTextStringOnCreature("No Destination Found.", oPC);
return;
}
//Don't store information if the location is invalid!
if(oArea!=OBJECT_INVALID)
{
if(oWay==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, ActionJumpToObject(oDWP)));
}
}

View File

@@ -0,0 +1,92 @@
/*--------------------------------------------------------
Script Name: stoneportshome
----------------------------------------------------------
Created By: Genisys(Guile)
Created On: 2/09/09
----------------------------------------------------------
This Recall's the PC Speaker to the waypoint tagnamed "home"
Then it's stores thier location in a database location!
If the PC is in combat, they cannot recall for any reason!
If the PC is in a PVP Area they cannot recall!
(check's for local int "PVP" of 1 or higher)
----------------------------------------------------------*/
void main()
{
// uncomment one of the next 3 lines depending where you use the script:
object oPC = GetPCSpeaker(); // for conversations
object oWay = GetNearestObjectByTag("no_recall", oPC);
if(GetIsPC(oPC))
{
if(GetIsInCombat(oPC))
{
FloatingTextStringOnCreature("You cannot recall while in combat!", oPC, TRUE);
return;
}
else if(GetLocalInt(GetArea(oPC), "PVP")>=3)
{
FloatingTextStringOnCreature("You cannot recall from a PVP area!", oPC, TRUE);
return;
}
}
object oToken = GetItemPossessedBy(oPC, "idtoken");
string sName = GetName(oToken);
object oArea = GetArea(oPC);
location lSaved = GetLocation(oPC);
object oSaved = GetAreaFromLocation(lSaved);
int nMulti = GetLocalInt(GetModule(), "multi");
// set to 1 if you want to teleport the whole party of the player, whereever every member is:
int iTeleportWholeParty = 0;
// set to 1 if you want the Associates of the player to be teleported as well, otherwise to 0:
int iTeleportAssociateToo = 1;
// Enter the destination Waypoint in here:
object oDWP = GetWaypointByTag("ooc_area");
//--DEBUGGING-----------------------
//If the way point is not there..
if (oDWP==OBJECT_INVALID)
{ FloatingTextStringOnCreature("No Destination Found.", oPC);
return; }
else
{
if(oSaved==OBJECT_INVALID)
{
FloatingTextStringOnCreature("No Destination Found.", oPC);
return;
}
//Don't store information if the location is invalid!
if(oArea!=OBJECT_INVALID)
{
if(oWay==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, ActionJumpToObject(oDWP)));
}
}

View File

@@ -0,0 +1,92 @@
/*--------------------------------------------------------
Script Name: stoneportshome
----------------------------------------------------------
Created By: Genisys(Guile)
Created On: 2/09/09
----------------------------------------------------------
This Recall's the PC Speaker to the waypoint tagnamed "home"
Then it's stores thier location in a database location!
If the PC is in combat, they cannot recall for any reason!
If the PC is in a PVP Area they cannot recall!
(check's for local int "PVP" of 1 or higher)
----------------------------------------------------------*/
void main()
{
// uncomment one of the next 3 lines depending where you use the script:
object oPC = GetPCSpeaker(); // for conversations
object oWay = GetNearestObjectByTag("no_recall", oPC);
if(GetIsPC(oPC))
{
if(GetIsInCombat(oPC))
{
FloatingTextStringOnCreature("You cannot recall while in combat!", oPC, TRUE);
return;
}
else if(GetLocalInt(GetArea(oPC), "PVP")>=3)
{
FloatingTextStringOnCreature("You cannot recall from a PVP area!", oPC, TRUE);
return;
}
}
object oToken = GetItemPossessedBy(oPC, "idtoken");
string sName = GetName(oToken);
object oArea = GetArea(oPC);
location lSaved = GetLocation(oPC);
object oSaved = GetAreaFromLocation(lSaved);
int nMulti = GetLocalInt(GetModule(), "multi");
// set to 1 if you want to teleport the whole party of the player, whereever every member is:
int iTeleportWholeParty = 0;
// set to 1 if you want the Associates of the player to be teleported as well, otherwise to 0:
int iTeleportAssociateToo = 1;
// Enter the destination Waypoint in here:
object oDWP = GetWaypointByTag("schamedar");
//--DEBUGGING-----------------------
//If the way point is not there..
if (oDWP==OBJECT_INVALID)
{ FloatingTextStringOnCreature("No Destination Found.", oPC);
return; }
else
{
if(oSaved==OBJECT_INVALID)
{
FloatingTextStringOnCreature("No Destination Found.", oPC);
return;
}
//Don't store information if the location is invalid!
if(oArea!=OBJECT_INVALID)
{
if(oWay==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, ActionJumpToObject(oDWP)));
}
}

View File

@@ -0,0 +1,92 @@
/*--------------------------------------------------------
Script Name: stoneportshome
----------------------------------------------------------
Created By: Genisys(Guile)
Created On: 2/09/09
----------------------------------------------------------
This Recall's the PC Speaker to the waypoint tagnamed "home"
Then it's stores thier location in a database location!
If the PC is in combat, they cannot recall for any reason!
If the PC is in a PVP Area they cannot recall!
(check's for local int "PVP" of 1 or higher)
----------------------------------------------------------*/
void main()
{
// uncomment one of the next 3 lines depending where you use the script:
object oPC = GetPCSpeaker(); // for conversations
object oWay = GetNearestObjectByTag("no_recall", oPC);
if(GetIsPC(oPC))
{
if(GetIsInCombat(oPC))
{
FloatingTextStringOnCreature("You cannot recall while in combat!", oPC, TRUE);
return;
}
else if(GetLocalInt(GetArea(oPC), "PVP")>=3)
{
FloatingTextStringOnCreature("You cannot recall from a PVP area!", oPC, TRUE);
return;
}
}
object oToken = GetItemPossessedBy(oPC, "idtoken");
string sName = GetName(oToken);
object oArea = GetArea(oPC);
location lSaved = GetLocation(oPC);
object oSaved = GetAreaFromLocation(lSaved);
int nMulti = GetLocalInt(GetModule(), "multi");
// set to 1 if you want to teleport the whole party of the player, whereever every member is:
int iTeleportWholeParty = 0;
// set to 1 if you want the Associates of the player to be teleported as well, otherwise to 0:
int iTeleportAssociateToo = 1;
// Enter the destination Waypoint in here:
object oDWP = GetWaypointByTag("WP_ExitDivBell");
//--DEBUGGING-----------------------
//If the way point is not there..
if (oDWP==OBJECT_INVALID)
{ FloatingTextStringOnCreature("No Destination Found.", oPC);
return; }
else
{
if(oSaved==OBJECT_INVALID)
{
FloatingTextStringOnCreature("No Destination Found.", oPC);
return;
}
//Don't store information if the location is invalid!
if(oArea!=OBJECT_INVALID)
{
if(oWay==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, ActionJumpToObject(oDWP)));
}
}

View File

@@ -0,0 +1,74 @@
/////////////////////////////////////////////////
// Ultimate Teleport Script 1.0
/////////////////////////////////////////////////
// by Amurayi (mschdesign@hotmail.com)
//
// based on SirLestat's Secret Trapdoorscripts
/////////////////////////////////////////////////
/* The problem with most of the teleport scripts out there is that your companions
won't be teleported with you if you ar ebeing teleported within the same area.
This easy to configure script here is the solution for this old problem. Simply
alter the way how the teleport shall work by turning the options on and off be
setting the variables to 0 or 1 in the first ppart of this script.
What this script can do:
- teleports player out of conversation, trigger or item
- teleports player with or without companions
- teleports player alone or the whole party (players)
*/
void main()
{
// uncomment one of the next 3 lines depending where you use the script:
object oPC = GetPCSpeaker(); // for conversations
object oToken = GetItemPossessedBy(oPC, "idtoken");
string sName = GetName(oToken);
object oArea = GetArea(oPC);
location lSaved = GetLocation(oPC);
int nMulti = GetLocalInt(GetModule(), "multi");
//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);
}
}
if(GetItemPossessedBy(oPC, "guildstone")== OBJECT_INVALID)
{
CreateItemOnObject("guildstone", oPC, 1);
}
// set to 1 if you want to teleport the whole party of the player, whereever every member is:
int iTeleportWholeParty = 0;
// set to 1 if you want the Associates of the player to be teleported as well, otherwise to 0:
int iTeleportAssociateToo = 1;
// Enter the destination Waypoint in here:
object oDWP = GetWaypointByTag("guildway");
//--DEBUGGING-----------------------
//If the way point is not there..
if (oDWP==OBJECT_INVALID)
{ FloatingTextStringOnCreature("No Destination Found.", oPC); }
else
{
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, ActionJumpToObject(oDWP)));
}
}

View File

@@ -0,0 +1,88 @@
/////////////////////////////////////////////////
// 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)));
}
}

View File

@@ -0,0 +1,26 @@
void main()
{
object oPC = GetPCSpeaker();
object oToken = GetItemPossessedBy(oPC, "idtoken");
string sName = GetName(oToken);
object oArea = GetArea(oPC);
location lSaved = GetLocation(oPC);
object oWay = GetNearestObjectByTag("no_recall", oPC);
int nMulti = GetLocalInt(GetModule(), "multi");
//Don't store information if the location is invalid!
if(oArea!=OBJECT_INVALID && oWay == OBJECT_INVALID)
{
SetLocalLocation(oToken, "RECALL_LOC", lSaved);
if(nMulti) //If Multiplayer, Save Their Toon!
{
ExportSingleCharacter(oPC);
}
}
effect eVis;
eVis = EffectVisualEffect(VFX_IMP_GOOD_HELP);
DelayCommand(0.4, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC, 0.0f));
DelayCommand(0.5, SendMessageToPC(oPC, "Recall Location Stored!"));
}