Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
66 lines
2.2 KiB
Plaintext
66 lines
2.2 KiB
Plaintext
//:://////////////////////////////////////////////
|
|
//:: Mark location for teleporting
|
|
//:: prc_telep_mrkloc
|
|
//:://////////////////////////////////////////////
|
|
/** @file
|
|
Script for storing the user's current location
|
|
as a teleport target location.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Ornedan
|
|
//:: Created On: 19.06.2005
|
|
//:://////////////////////////////////////////////
|
|
#include "prc_alterations"
|
|
//#include "prc_inc_listener"
|
|
#include "prc_inc_chat"
|
|
#include "prc_inc_teleport"
|
|
|
|
|
|
void Aux(object oPC, location lToStore);
|
|
|
|
void main()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
|
|
// To simplify the code and in order to be able avoid the "Aargh! Concurrency!"-effect, do not allow the user to
|
|
// mark one location while the name query for another is still pending.
|
|
if(GetLocalInt(oPC, "PRC_Teleport_MarkingLocation"))
|
|
{
|
|
SendMessageToPCByStrRef(oPC, 16825296); // "A location is already being marked, please wait."
|
|
return;
|
|
}
|
|
|
|
location lToStore = GetLocation(oPC);
|
|
float fTime = GetLocalFloat(oPC, "PRC_Teleport_NamingListenerDuration");
|
|
if(fTime > 0.0f)
|
|
{
|
|
//SpawnListener("prc_telep_lname", lToStore, "**", oPC, fTime);
|
|
AddChatEventHook(oPC, "prc_telep_lname", fTime);
|
|
DelayCommand(fTime, Aux(oPC, lToStore));
|
|
}
|
|
else
|
|
{
|
|
DelayCommand(0.0f, Aux(oPC, lToStore));
|
|
}
|
|
|
|
// Set the name of the location to be "Unnamed". If the user speaks a name, it will override this.
|
|
SetLocalString(oPC, "PRC_Teleport_LocationBeingStored_Name", GetStringByStrRef(16825297)); // "Unnamed"
|
|
}
|
|
|
|
|
|
void Aux(object oPC, location lToStore)
|
|
{
|
|
string sName = GetLocalString(oPC, "PRC_Teleport_LocationBeingStored_Name");
|
|
DeleteLocalString(oPC, "PRC_Teleport_LocationBeingStored_Name");
|
|
|
|
struct metalocation mlocToStore = LocationToMetalocation(lToStore, sName);
|
|
|
|
if(GetLocalInt(oPC, PRC_TELEPORT_CREATE_MAP_PINS))
|
|
CreateMapPinFromMetalocation(mlocToStore, oPC);
|
|
|
|
AddTeleportTargetLocationAsMeta(oPC, mlocToStore);
|
|
|
|
// Tell the user the location was added
|
|
// "Added teleport location: "
|
|
SendMessageToPC(oPC, GetStringByStrRef(16825303) + " "+ MetalocationToString(mlocToStore));
|
|
} |