Initial commit

Initial commit.  Added some art for loadscreens, fancymapped Bioware tileset overrides & the original Wizardry module as a starting point.
This commit is contained in:
Jaysyn904
2023-03-15 20:17:54 -04:00
commit e38693f4f2
4984 changed files with 4152168 additions and 0 deletions

17
Module/nss/at_001.nss Normal file
View File

@@ -0,0 +1,17 @@
//::///////////////////////////////////////////////
//:: FileName at_001
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 10:23:24 PM
//:://////////////////////////////////////////////
void main()
{
// Either open the store with that tag or let the user know that no store exists.
object oStore = GetNearestObjectByTag("Boltacs");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
OpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

17
Module/nss/at_002.nss Normal file
View File

@@ -0,0 +1,17 @@
//::///////////////////////////////////////////////
//:: FileName at_002
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 10:23:46 PM
//:://////////////////////////////////////////////
void main()
{
// Either open the store with that tag or let the user know that no store exists.
object oStore = GetNearestObjectByTag("Boltacv\s");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
OpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

17
Module/nss/at_003.nss Normal file
View File

@@ -0,0 +1,17 @@
//::///////////////////////////////////////////////
//:: FileName at_003
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 10:25:32 PM
//:://////////////////////////////////////////////
void main()
{
// Either open the store with that tag or let the user know that no store exists.
object oStore = GetNearestObjectByTag("Blackmarket");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
OpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

17
Module/nss/at_004.nss Normal file
View File

@@ -0,0 +1,17 @@
//::///////////////////////////////////////////////
//:: FileName at_004
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 10:28:02 PM
//:://////////////////////////////////////////////
void main()
{
// Either open the store with that tag or let the user know that no store exists.
object oStore = GetNearestObjectByTag("Armoury");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
OpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

13
Module/nss/at_005.nss Normal file
View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName at_005
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 10:31:43 PM
//:://////////////////////////////////////////////
void main()
{
// Remove some gold from the player
TakeGoldFromCreature(1, GetPCSpeaker(), TRUE);
}

17
Module/nss/at_006.nss Normal file
View File

@@ -0,0 +1,17 @@
//::///////////////////////////////////////////////
//:: FileName at_006
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 10:33:28 PM
//:://////////////////////////////////////////////
void main()
{
// Either open the store with that tag or let the user know that no store exists.
object oStore = GetNearestObjectByTag("Specialty Store");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
OpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

17
Module/nss/at_007.nss Normal file
View File

@@ -0,0 +1,17 @@
//::///////////////////////////////////////////////
//:: FileName at_007
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 11:06:23 PM
//:://////////////////////////////////////////////
void main()
{
// Either open the store with that tag or let the user know that no store exists.
object oStore = GetNearestObjectByTag("MagicStore");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
OpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

17
Module/nss/at_008.nss Normal file
View File

@@ -0,0 +1,17 @@
//::///////////////////////////////////////////////
//:: FileName at_008
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 11:07:29 PM
//:://////////////////////////////////////////////
void main()
{
// Either open the store with that tag or let the user know that no store exists.
object oStore = GetNearestObjectByTag("LostItems");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
OpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

17
Module/nss/at_009.nss Normal file
View File

@@ -0,0 +1,17 @@
//::///////////////////////////////////////////////
//:: FileName at_009
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 11:08:10 PM
//:://////////////////////////////////////////////
void main()
{
// Either open the store with that tag or let the user know that no store exists.
object oStore = GetNearestObjectByTag("SpecialtyStore");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
OpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

17
Module/nss/at_010.nss Normal file
View File

@@ -0,0 +1,17 @@
//::///////////////////////////////////////////////
//:: FileName at_010
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 11:13:34 PM
//:://////////////////////////////////////////////
void main()
{
// Either open the store with that tag or let the user know that no store exists.
object oStore = GetNearestObjectByTag("TempleCant");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
OpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

17
Module/nss/at_011.nss Normal file
View File

@@ -0,0 +1,17 @@
//::///////////////////////////////////////////////
//:: FileName at_011
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 11:14:24 PM
//:://////////////////////////////////////////////
void main()
{
// Either open the store with that tag or let the user know that no store exists.
object oStore = GetNearestObjectByTag("TempleCantStore");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
OpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

19
Module/nss/at_012.nss Normal file
View File

@@ -0,0 +1,19 @@
//::///////////////////////////////////////////////
//:: FileName at_012
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/27/2002 11:29:11 AM
//:://////////////////////////////////////////////
void main()
{
// Give the speaker the items
CreateItemOnObject("chevron", GetPCSpeaker(), 1);
// Remove items from the player's inventory
object oItemToTake;
oItemToTake = GetItemPossessedBy(GetPCSpeaker(), "Amulet of Werdna");
if(GetIsObjectValid(oItemToTake) != 0)
ActionTakeItem(oItemToTake, GetPCSpeaker());
}

18
Module/nss/blueribbon.nss Normal file
View File

@@ -0,0 +1,18 @@
//::///////////////////////////////////////////////
//:: FileName blueribbon
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 6:01:47 PM
//:://////////////////////////////////////////////
#include "nw_i0_tool"
int StartingConditional()
{
// Make sure the PC speaker has these items in their inventory
if(!CheckPartyForItem(GetPCSpeaker(), "Blue Ribbon"))
return FALSE;
return TRUE;
}

View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName blueribbonquest2
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 6:29:54 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "blueribbonquest", 0);
}

View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName blueribbonquest2
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 6:29:54 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "blueribbonquest", 0);
}

View File

@@ -0,0 +1,18 @@
//::///////////////////////////////////////////////
//:: FileName checkwerdamu
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/27/2002 11:15:38 AM
//:://////////////////////////////////////////////
#include "nw_i0_tool"
int StartingConditional()
{
// Make sure the PC speaker has these items in their inventory
if(!CheckPartyForItem(GetPCSpeaker(), "Amulet of Werdna"))
return FALSE;
return TRUE;
}

67
Module/nss/elevator.nss Normal file
View File

@@ -0,0 +1,67 @@
// Modified from other scripts By Lucky Day Dragon 7/18/02 //
void main()
{
object oPcSelf = GetPCSpeaker();
int TakeElevator = GetLocalInt(oPcSelf, "TakeElev");
switch(TakeElevator)
{
case 1:
{
object oClicker = GetClickingObject();
object oWaypoint = GetObjectByTag("Elevator Floor 1");
location lLoc = GetLocation(oWaypoint);
AssignCommand(oClicker, JumpToLocation(lLoc));
}
case 2:
{
object oClicker = GetClickingObject();
object oWaypoint = GetObjectByTag("Elevator Floor 2");
location lLoc = GetLocation(oWaypoint);
AssignCommand(oClicker, JumpToLocation(lLoc));
}
case 3:
{
object oClicker = GetClickingObject();
object oWaypoint = GetObjectByTag("Elevator Floor 3");
location lLoc = GetLocation(oWaypoint);
AssignCommand(oClicker, JumpToLocation(lLoc));
}
case 4:
{
object oClicker = GetClickingObject();
object oWaypoint = GetObjectByTag("Elevator Floor 4");
location lLoc = GetLocation(oWaypoint);
AssignCommand(oClicker, JumpToLocation(lLoc));
}
case 5:
{
object oClicker = GetClickingObject();
object oWaypoint = GetObjectByTag("Elevator Floor 5");
location lLoc = GetLocation(oWaypoint);
AssignCommand(oClicker, JumpToLocation(lLoc));
}
case 6:
{
object oClicker = GetClickingObject();
object oWaypoint = GetObjectByTag("Elevator Floor 6");
location lLoc = GetLocation(oWaypoint);
AssignCommand(oClicker, JumpToLocation(lLoc));
}
case 7:
{
object oClicker = GetClickingObject();
object oWaypoint = GetObjectByTag("Elevator Floor 7");
location lLoc = GetLocation(oWaypoint);
AssignCommand(oClicker, JumpToLocation(lLoc));
}
case 8:
{
object oClicker = GetClickingObject();
object oWaypoint = GetObjectByTag("Elevator Floor 8");
location lLoc = GetLocation(oWaypoint);
AssignCommand(oClicker, JumpToLocation(lLoc));
}
}
}

View File

@@ -0,0 +1,18 @@
//::///////////////////////////////////////////////
//:: FileName elevatorgnome
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 4:54:47 PM
//:://////////////////////////////////////////////
#include "nw_i0_tool"
int StartingConditional()
{
// Make sure the PC speaker has these items in their inventory
if(!CheckPartyForItem(GetPCSpeaker(), "Blue Ribbon"))
return FALSE;
return TRUE;
}

10
Module/nss/elevlvl.nss Normal file
View File

@@ -0,0 +1,10 @@
//::///////////////////////////////////////////////
//:: FileName elevlvl
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 8:20:06 PM
//:://////////////////////////////////////////////
void main()
{
}

13
Module/nss/elfloor1.nss Normal file
View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName elfloor1
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 7:40:22 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "elfloor", 1);
}

13
Module/nss/elv1.nss Normal file
View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName elv1
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 9:27:58 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "TakeElev", 1);
}

13
Module/nss/elv2.nss Normal file
View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName elv2
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 8:30:43 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "TakeElev", 2);
}

13
Module/nss/elv3.nss Normal file
View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName elv3
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 8:31:10 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "TakeElevator", 3);
}

12
Module/nss/elv4.nss Normal file
View File

@@ -0,0 +1,12 @@
//::///////////////////////////////////////////////
//:: FileName elv4
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 8:32:16 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "TakeElevator", 4);
}

13
Module/nss/elv5.nss Normal file
View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName elv5
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 8:32:34 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "TakeElevator", 5);
}

12
Module/nss/elv6.nss Normal file
View File

@@ -0,0 +1,12 @@
//::///////////////////////////////////////////////
//:: FileName elv6
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 8:32:50 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "TakeElevator", 6);
}

13
Module/nss/elv7.nss Normal file
View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName elv7
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 8:33:07 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "TakeElevator", 7);
}

13
Module/nss/elv8.nss Normal file
View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName elv8
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 8:33:25 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalInt(GetPCSpeaker(), "TakeElevator", 8);
}

10
Module/nss/floor1ride.nss Normal file
View File

@@ -0,0 +1,10 @@
//::///////////////////////////////////////////////
//:: FileName floor1ride
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 7:29:43 PM
//:://////////////////////////////////////////////
void main()
{
}

View File

@@ -0,0 +1,16 @@
//::///////////////////////////////////////////////
//:: FileName knowblueribbon
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Lucky Day Dragon
//:: Created On: 07/13/2002 6:20:05 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Inspect local variables
if(!(GetLocalFloat(GetPCSpeaker(), "Blue Ribbon Quest") == 0.000000))
return FALSE;
return TRUE;
}

View File

@@ -0,0 +1,17 @@
//::///////////////////////////////////////////////
//:: FileName majicmerchant
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 10:10:49 PM
//:://////////////////////////////////////////////
void main()
{
// Either open the store with that tag or let the user know that no store exists.
object oStore = GetNearestObjectByTag("Majic Shoppe");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
OpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

17
Module/nss/majicstore.nss Normal file
View File

@@ -0,0 +1,17 @@
//::///////////////////////////////////////////////
//:: FileName majicstore
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 10:14:37 PM
//:://////////////////////////////////////////////
void main()
{
// Either open the store with that tag or let the user know that no store exists.
object oStore = GetNearestObjectByTag("Majic Store");
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
OpenStore(oStore, GetPCSpeaker());
else
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
}

View File

@@ -0,0 +1,13 @@
//::///////////////////////////////////////////////
//:: FileName rideelevator1
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/13/2002 6:36:29 PM
//:://////////////////////////////////////////////
void main()
{
// Set the variables
SetLocalFloat(GetPCSpeaker(), "rideelavator", 1.000000);
}

18
Module/nss/sc_001.nss Normal file
View File

@@ -0,0 +1,18 @@
//::///////////////////////////////////////////////
//:: FileName sc_001
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/26/2002 10:22:01 PM
//:://////////////////////////////////////////////
int StartingConditional()
{
// Restrict based on the player's alignment
if(GetAlignmentGoodEvil(GetPCSpeaker()) != ALIGNMENT_NEUTRAL)
return FALSE;
if(GetAlignmentLawChaos(GetPCSpeaker()) == ALIGNMENT_CHAOTIC)
return FALSE;
return TRUE;
}

18
Module/nss/sc_002.nss Normal file
View File

@@ -0,0 +1,18 @@
//::///////////////////////////////////////////////
//:: FileName sc_002
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 07/27/2002 5:50:28 PM
//:://////////////////////////////////////////////
#include "nw_i0_tool"
int StartingConditional()
{
// Make sure the PC speaker has these items in their inventory
if(!CheckPartyForItem(GetPCSpeaker(), "Blue Ribbon"))
return FALSE;
return TRUE;
}

View File

@@ -0,0 +1,27 @@
void main()
{
object oPC = GetLastUsedBy();
if (!GetIsPC(oPC)) return;
AssignCommand(oPC, ClearAllActions());
object oTarget;
location lTarget;
oTarget = GetWaypointByTag("Floor6spot");
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;
AssignCommand(oPC, ActionJumpToLocation(lTarget));
}

View File

@@ -0,0 +1,27 @@
void main()
{
object oPC = GetLastUsedBy();
if (!GetIsPC(oPC)) return;
AssignCommand(oPC, ClearAllActions());
object oTarget;
location lTarget;
oTarget = GetWaypointByTag("Floor5spot");
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;
AssignCommand(oPC, ActionJumpToLocation(lTarget));
}

103
Module/nss/tp_functions.nss Normal file
View File

@@ -0,0 +1,103 @@
// Teleport Functions
// Author: Malachai Moonshadow (aka Brian S Jones)
// 7/14/2002
// Save this script as tp_functions and then you can include them in
// your scripts for any area in the module.
// oPC - The player object to teleport
// ToLocation - The Tag name of the waypoint you are teleporting too
// intGraphicExit - The Visual Effect to use when the player teleports out
// intGraphicEnter - The Visual Effect to use when the player teleports in
// fDelay - How long to wait to teleport the player after activating teleport
void Teleport(object oPC, string ToLocation, int intGraphicExit, int intGraphicEnter, float fDelay)
{
// Gets the location as location of the waypoint with the tag ToLocation
location lLoc = GetLocation(GetObjectByTag(ToLocation));
// Sets up the Area Transition - only needed if going to another area. Doesn't hurt to
// have it in their if ToLocation waypoint is in the same area.
SetAreaTransitionBMP(AREA_TRANSITION_RANDOM);
// Applies the graphic to the location where the player activated the portal
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(intGraphicExit),GetLocation(oPC));
// Waits fDelay seconds before jumping the player to location
DelayCommand(fDelay, AssignCommand(oPC,JumpToLocation(lLoc)));
// These commands make sure all companions follow the teleport.
AssignCommand(GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION,oPC),JumpToLocation(lLoc));
AssignCommand(GetAssociate(ASSOCIATE_TYPE_DOMINATED,oPC),JumpToLocation(lLoc));
AssignCommand(GetAssociate(ASSOCIATE_TYPE_FAMILIAR,oPC),JumpToLocation(lLoc));
AssignCommand(GetAssociate(ASSOCIATE_TYPE_HENCHMAN,oPC),JumpToLocation(lLoc));
AssignCommand(GetAssociate(ASSOCIATE_TYPE_SUMMONED,oPC),JumpToLocation(lLoc));
// Applies the graphic to the location where the player is teleported too
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(intGraphicEnter),lLoc);
}
// This function returns a string of a waypoint that is used to pass into the Teleport function.
// This function was created to make matching up teleports and wayports easier.
// Before you can use this function, you need to create your teleports and waypoints.
// I have tested this function with placeables as the teleport. You can have multiple teleports
// or just one
//
// Place an object in your area with the tag TP_1_2
// Place a waypoint with the tag WP_2_1. This is the destination point
// If you want the player to be able to teleport back and forth, you need two teleports and two
// waypoints. Use the format TP_#1_#2 and WP_#2_#1. It doesn't matter if they are in sequence or not
// just as long as the teleport and waypoint destination numbers are reversed.
//
// Example:
// Teleport Waypoint
// TP_1_2 WP_2_1
// TP_3_4 WP_4_3
// TP_9_8 WP_8_9
//
// I haven't tested with anything other than single digits.
//
// The string strTP that is being passed in is the Tag name of the object calling this function.
// In the example above strTP would equal WP_2_1.
//
// I added the integer intRandom to simulate random teleporting. I have a total of 12 teleporters
// in one area, named TP_1_2, TP_2_1, TP_2_3, TP_3_2 etc up to TP_5_6, TP_6_5 with matching
// waypoints. When I pass in the number 6 (the last sequence in my TP tag names) it will select
// a random waypoint as a destination. If you are going to use the random function, make sure
// all numbers in the sequence are represented. For example, if you wanted to teleport between
// two random locations, make sure you have two waypoints labeled WP_1_2 and WP_2_1. If a random
// number is selected that doesn't have a waypoint to match nothing will happen.
string GetTeleportWayPoints(string strTP, int intRandom)
{
// String variables
string strWayPoint;
string strTo;
string strFrom;
// If the random function is not used
if (intRandom == 0)
{
//Get the numbers in the TP tag.
// First create strCoor as a substring of strTP, taking off the first three characters.
// If we passed in TP_1_2 strCoor would equal 1_2 after this command.
string strCoor = GetSubString(strTP, 3, (GetStringLength(strTP) - 3));
// Search through strCoor and return the position of the '_' character. This will
// return 2.
int intUnder = FindSubString(strCoor, "_");
// Now get the numbers that were passed in. If TP_1_2 is passed in, we would get
// 2 and 1.
strTo = GetSubString(strCoor, 2, intUnder);
strFrom = GetSubString(strCoor, intUnder - 1, (GetStringLength(strCoor) - intUnder - 1));
// We now set the waypoint variable to "WP_" plus the second number of the TP tag name
// plus another "_" and then the first number of the TP tag name.
// If we passed in TP_1_2, strWayPoint would contain WP_2_1.
strWayPoint = "WP_" + strTo + "_" + strFrom;
}
else
// else if the random function is used.
{
// Generate a random integer between 1 and the number passed in.
int intTelTo = Random(intRandom - 1 ) + 1;
int intTelFrom = Random(intRandom -1) + 1;
// Convert the values into strings
strTo = IntToString(intTelTo);
strFrom = IntToString(intTelFrom);
// Now just concatenate the values together to get a valid waypoint.
strWayPoint = "WP_" + strTo + "_" + strFrom;
}
// We return the generated waypoint as a string.
return strWayPoint;
}
// End of the include script