32 lines
1.3 KiB
Plaintext
32 lines
1.3 KiB
Plaintext
int StartingConditional()
|
|
{
|
|
|
|
object oPC = GetLastSpeaker();
|
|
object oArea = GetArea(oPC);
|
|
|
|
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
|
|
string sAreaTag = GetTag(oArea); // Sets up a string using the Tag of the Area
|
|
string sSaveAreaTag = GetCampaignString("PlayerStartLoc", "AreaTag_"+ sHID, oPC); //Gets tag of area where location last saved
|
|
|
|
// Make sure the tag of saved location does not equal tag of current location
|
|
// If they are equal, set a int to use below
|
|
if (TestStringAgainstPattern(sAreaTag, sSaveAreaTag))
|
|
{
|
|
SetLocalInt(oPC, "TagMatch", 1);
|
|
}
|
|
|
|
// Read Persistent Location Data
|
|
int nPlayerBeenHere = GetCampaignInt("PlayerStartLoc", "StartLocSet_" + sHID, oPC); // The check to see if PC has a saved location
|
|
// Lets read the TagMatch Int
|
|
int nTagMatch = GetLocalInt(oPC, "TagMatch");
|
|
|
|
// Check if player has a saved location and if the TagMatch is not equal to 1
|
|
// If so, return TRUE. If not, return FALSE to kill this convo node
|
|
if (nPlayerBeenHere == 1 && nTagMatch != 1) return TRUE;
|
|
else return FALSE;
|
|
|
|
}
|