Module commit
Module commit.
This commit is contained in:
44
_module/nss/vg_perloc_mog.nss
Normal file
44
_module/nss/vg_perloc_mog.nss
Normal file
@@ -0,0 +1,44 @@
|
||||
// send to start location based on conversation
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC = GetLastSpeaker();
|
||||
|
||||
if(GetIsPC(oPC)||(GetIsDM(oPC) && !GetIsDMPossessed(oPC))) // Script will fire for PCs and DMs
|
||||
{
|
||||
string sPCName = GetName(oPC); // Gets the name of the PC
|
||||
string CDKey = GetPCPublicCDKey(oPC); // Gets the public CD Key of the player . . . adds to quality of check
|
||||
string sID = GetStringLeft(sPCName,10); // Indivudual Character Used
|
||||
string sHID = sID+CDKey; // HCR Style user check
|
||||
|
||||
// Read Persistent Location Data
|
||||
int nPlayerBeenHere = GetCampaignInt("PlayerStartLoc", "StartLocSet_" + sHID, oPC); // The check to see if PC has a saved location
|
||||
int nAreaX = GetCampaignInt("PlayerStartLoc", "AreaX_" + sHID, oPC);
|
||||
int nAreaY = GetCampaignInt("PlayerStartLoc", "AreaY_" + sHID, oPC);
|
||||
int nAreaZ = GetCampaignInt("PlayerStartLoc", "AreaZ_" + sHID, oPC);
|
||||
string sAreaName = GetCampaignString("PlayerStartLoc", "AreaName_" + sHID, oPC);
|
||||
string sAreaTag = GetCampaignString("PlayerStartLoc", "AreaTag_"+ sHID, oPC);
|
||||
|
||||
// Set up the location from Database info
|
||||
float y = IntToFloat(nAreaY);
|
||||
float x = IntToFloat(nAreaX);
|
||||
float z = IntToFloat(nAreaZ);
|
||||
vector vTargetLoc = Vector(x, y, z);
|
||||
location lTargetLoc = Location(GetArea(GetObjectByTag(sAreaTag)), vTargetLoc, 0.0);
|
||||
|
||||
// Check if player has a saved location
|
||||
if (nPlayerBeenHere == 1)
|
||||
{
|
||||
if (GetCurrentHitPoints(oPC)<=0) // See if the PC has 0 or less HPs . . . added this for HCR death system
|
||||
{
|
||||
SendMessageToPC(oPC,"You are still be dead...");
|
||||
}
|
||||
|
||||
else // If the PC is above 0 HPs, send them to their last save location
|
||||
{
|
||||
SendMessageToPC(oPC,"Portaling to your Saved Location in 3 Seconds...");
|
||||
DelayCommand(3.0, AssignCommand(oPC, ActionJumpToLocation(lTargetLoc)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user