=== Player Information Functions === Most of the information about the player who has triggered the script event is available through [[scripting:reference:system_value|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 // //