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