GetPCPublicCDKey

From NWN Lexicon
Jump to: navigation, search



GetPCPublicCDKey(object, int)

Retrieves the public version of the PC's CD key.

string GetPCPublicCDKey(
    object oPlayer,
    int nSinglePlayerCDKey = FALSE
);

Parameters

oPlayer

The player whose CD key to retrieve.

nSinglePlayerCDKey

If set to TRUE, the player's public CD key will be returned when the player is playing in single player mode. Otherwise returns an empty string in single player mode. (Default: FALSE)


Description

Returns the public version of the CD Key that oPlayer uses. The public CD key is 8 characters long and is not the CD key used to install NWN or an expansion.



Remarks

Most likely used with functions such as BootPC() to combat mischievous players from causing havoc on persistent worlds.

Known Bugs

Not a bug, but a caveat

OnClientLeave, the PC object (GetExitingObject) is still valid, but the player object (i.e. the human being logged into the server) is not. This means that there are a few things you can't do OnClientLeave. Namely, the GetPCPlayerName, GetPCIPAddress, and GetPCPublicCDKey will not work, since the player is no longer around to get that information from. This can be worked around by storing them as local strings on the PC, for instance OnClientEnter. See workaround below.


Version

1.67

Example

//Workaround for the caveat above
 
void main()
{
object oPC=GetEnteringObject();
string sPlayerName=GetPCPlayerName(oPC);
string sIP=GetPCIPAddress(oPC);
string sKey=GetPCPublicCDKey(oPC);
SetLocalString(oPC, "player_name", sPlayerName);
SetLocalString(oPC, "player_ip", sIP);
SetLocalString(oPC, "player_cdkey", sKey);
}

See Also

functions: 

BootPC



 author: Sarev0k, editor: Lilac Soul, Mistress, additional contributor(s): Steve Moseley, Lilac Soul