Files
EN4_PRC8/_module/nss/en3_respawn2.nss

60 lines
1.3 KiB
Plaintext
Raw Normal View History

void main()
{
object oPC;
object oSpawnPoint;
string sDestTag;
oPC = GetEnteringObject();
//SendMessageToPC(oPC,"en3_respawn2 >> entering.");
if (GetIsPC(oPC))
{
//SendMessageToPC(oPC,"en3_respawn2 >> PC found.");
sDestTag = GetLocalString(oPC,"Respawn");
if (sDestTag == "")
{
//SendMessageToPC(oPC,"en3_respawn2 >> Destination variable was unset, setting.");
SetLocalString(oPC, "Respawn", "EN4_Respawn");
}
//SendMessageToPC(oPC,"en3_respawn2 >> Destination tag is: "+sDestTag+".");
oSpawnPoint = GetWaypointByTag(sDestTag);
if (GetIsObjectValid(oSpawnPoint))
{
//SendMessageToPC(oPC,"en3_respawn2 >> Destination is valid, jumping.");
// Teleport the PC.
AssignCommand(oPC, ClearAllActions());
DelayCommand(0.3f,AssignCommand(oPC,JumpToObject(oSpawnPoint)));
}
else
{
// optional debug
FloatingTextStringOnCreature("Invalid spawn point: " + sDestTag, oPC);
}
}
}
/* void main()
{
object oPC;
object oSpawnPoint;
string sDestTag = "en3_respawning";
oPC = GetEnteringObject();
if (GetIsPC(oPC))
{
sDestTag = GetLocalString(oPC,"Respawn");
oSpawnPoint = GetObjectByTag(sDestTag);
AssignCommand(oPC,JumpToLocation(GetLocation(oSpawnPoint)));
}
}
*/