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



The player whose CD key to retrieve.


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)


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.


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.




//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



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