Table of Contents

Player Information Functions

Most of the information about the player who has triggered the script event is available through System Values - e.g $gPlayerID, $gPlayerCash, $gPlayerX & $gPlayerY.

These system functions can provide information about other players or query extra information about the context player, such as whether they have a particular skill or if they're in a specific town..

sysGetPlayerID

Format sysGetPlayerID( Player Name )
Description Returns the ID for a specified player name
Returns Player ID

Example:

Event( "Custom", "Special" )
{
    $playerID = sysGetPlayerID( "Bob" )
    if ( $playerID <= 0 )
    {
        *msg %PLAYER% Bob doesn't exist on this world
    }
    else
    {
        *msg %PLAYER% Bob's player ID is $playerID
    }
}

sysGetPlayerName

Format sysGetPlayerName( PlayerID )
Description Returns the name for a specified player ID
Returns Player Name

Example:

Event( "Custom", "Special" )
{
    $name = sysGetPlayerID( $gServerKey[StoredPlayerID] )
    *msg %PLAYER% The player ID stored in the server key is for the player name $name
}

sysIsPlayerIDOnline

Format sysIsPlayerIDOnline( Player ID )
Description Used to determine if the specified player is currently online on the world
Returns 1 if the player is connected, 0 if not
Example $isOnline = sysIsPlayerIDOnline(32)

sysIsInSpawnZone

FIXME: This function name is inconsistent, as it only acts on the context player it needs to be renamed to 'sysPlayerIsInSpawnZone'

Format sysIsInSpawnZone( SpawnZone_Type/ID )
Description Used to determine if the current player is within the specified spawn zone region
Returns 1 if the player is in the region, 0 if not
Example $isInDefaultSpawnZone = sysIsInSpawnZone(0)

sysPlayerIsInTown

Example : $var = sysPlayerIsInTown(“Home Town”))
Returns 1 if the current player is within the boundaries of the specified town, 0 if not

sysNumPlayersOnTeam

Example : $var = sysNumPlayersOnTeam(3)
Returns the number of players currently online and in the specified team

sysPlayerSkillLevel

Example : $var = sysPlayerSkillLevel(“Farmer”)
Returns the current player's skill level for the skill named (0 means the player does not yet have this skill)

sysPlayerIsLearningSkill

Example : $isLearning = sysPlayerIsLearningSkill(“Farmer”)
Returns 1 if the player is currently learning the specified skill, 0 if not.

sysNumPlayersWithPlayerVarVal

Example : sysNumPlayersWithPlayerVarVal( 6, 2 ) returns number of players with $gPlayerVar[6] == 2. Useful for determining results of a team game.

sysGenerateTopPlayerVarsList

Format sysGenerateTopPlayerVarsList( VarNum, Num_players_to_list )
Description Generates a list of players sorted by the $gPlayerVar selcted. e.g. sysGenerateTopPlayerVarsList(2, 5)) will generate a list of the top 5 players with the highest value in $gPlayerVar[2]. Your script can then access the generated list using sysGetTopPlayer
Returns The number of players actually added to the list. (Only players with the PlayerVar above 0 get added)


sysGetTopPlayer

Format sysGetTopPlayer ( List_Index )
Description Access the list of top players generated using sysGenerateTopPlayerVarsList. List_Index starts at 0, so sysGetTopPlayer(0) gets the person at the top of the list, (1) gets the second, etc.
Returns PlayerID

sysGetPlayerListScore

Format sysGetPlayerListScore ( PlayerID )
Description Returns the 'PlayerListScore' for the specified player. The PlayerListScore is a special score field that is replicated to the clients and can appear next to their name in the player list.
Returns Score value

FIXME : Separate below into separate PlayerListScore page: *settings PlayerListMode has options to show the score on the player list.
commands *incplayerlistscore, *setplayerlistscore
Related Subgame functions: SubgameActivatePlayerListScores( SubgameID, Mode )
SubgameGetHighestPlayerListScore( SubgameID )
SubgameNumPlayersWithPlayerListScore( SubgameID, Score )
SubgameGetPlayerWithPlayerListScore( SubgameID, Score, Index )
Example:

TBD

TBD