en:suckerserv:functions
Ceci est une ancienne révision du document !
Table des matières
Functions
Player Functions
Identification
Name and Parameters | Return Value | Description |
---|---|---|
server.player_id(cn) | number | Get the unique ID for the player's name and ip address. |
server.player_sessionid(cn) | number | Get the unique ID for the player's connection |
server.player_name(cn) | string | Get the player's name. |
server.player_displayname(cn) | string | Get the player's name for name display. If name is not unique then CN is appended. |
server.player_team(cn) | string | Get the player's team name. |
server.player_ip(cn) | string | Get the player's IP address. |
server.player_iplong(cn) | number | Get the player's IP address in long number form. |
Game Stats
Name and Parameters | Return Value | Description |
---|---|---|
server.player_frags(cn) | number | Note: affected by suicide and teamkilling |
server.player_deaths(cn) | number | |
server.player_teamkills(cn) | number | |
server.player_suicides(cn) | number | |
server.player_damage(cn) | number | |
server.player_damagewasted(cn) | number | |
server.player_hits(cn) | number | |
server.player_misses(cn) | number | |
server.player_shots(cn) | number | |
server.player_accuracy(cn) | number | Calculated from shots and misses. Note: game client uses different calculation method which maybe noticeable in game modes such as ffa or efficiency. |
server.player_accuracy2(cn) | number | Calculated from damage and damagewasted. Client calculation method, used in awards/best_stats and stats modules. |
server.player_timeplayed(cn) | number | Number of seconds played in the current game. |
server.player_win(cn) | number | Returns 1 or 0 for win or lose, respectively. In singles mode, a winner is a player with the most frags. In team mode, winners are players on the winning team. |
server.player_rank(cn) | number | Player's rank calculated at the end of the game. For team games, rank is relative to team members. |
server.player_armour(cn) | number | |
server.player_armour_type(cn) | number |
Connection Stats
Name and Parameters | Return Value | Description |
---|---|---|
server.player_connection_time(cn) | number | Number of seconds connected to the server. |
server.player_ping(cn) | number | Returns the last reported ping value. |
server.player_lag(cn) | number | Get the player's lag value measured as the time delay between receiving position updates. |
Current Status
Name and Parameters | Return Value | Description |
---|---|---|
server.player_status(cn) | string | Game status: dead, alive, editing etc. |
server.player_status_code(cn) | number | Constants: server.ALIVE , server.DEAD , server.SPAWNING , server.LAGGED , server.SPECTATOR , server.EDITING |
server.player_pos(cn) | number, number, number | Last received position |
server.player_gun(cn) | string | Current weapon held |
server.player_health(cn) | number | |
server.player_maxhealth(cn) | number | |
server.player_priv(cn) | string | Master status: none, master or admin |
server.player_priv_code(cn) | number | Constants: server.PRIV_NONE , server.PRIV_MASTER and server.PRIV_ADMIN |
server.player_mapcrc(cn) | string | The map crc value sent by the client. |
server.player_isbot(cn) | boolean | Returns true if the player is a bot. |
Control
Name and Parameters | Return Value | Description |
---|---|---|
server.player_msg(cn, text) | nil | Send a server message to a player. |
server.player_slay(cn) | nil | Kill a player; their stats aren't affected. |
server.player_suicide(cn) | nil | Force a player to suicide, which will affect their game stats. |
server.changeteam(cn, team) | boolean | Move a player to another team. |
server.kick(cn,[bantime],[admin],[reason]) | nil | Kick and ban a player from the server. Argument defaults: bantime=4 hours, admin=“server”, reason=“”. |
server.permban(ip) | nil | Set IP address range as permanently banned from the server. |
server.unsetban(ip) | boolean | Remove IP address from ban list. |
server.spec(cn) | number | Force a player to join spectators. |
server.unspec(cn) | nil | Force a player to join the game. |
server.mute(cn) | nil | Block the player's chat messages as they're received. |
server.unmute(cn) | nil | Set to not block the player's chat messages. |
server.setmaster(cn) | nil | Give a player master privilege. Note: only 1 visible master/admin is supported. |
server.setadmin(cn) | nil | Give a player admin privilege. Note: only 1 visible master/admin is supported. |
server.unsetmaster() | nil | Take away master privilege from the current master. |
server.set_invisible_admin(cn) | nil | Give player admin status, but is invisible to other players. |
server.set_invisible_master(cn) | nil | Give player master status, but is invisible to other players. |
server.unsetpriv(cn) | nil | Take away player's master or admin privilege. This function should work on all privilege configurations. |
Player Iteration
Name and Parameters | Return Value | Description |
---|---|---|
server.players() | table | Returns an array of CNs for all the human players playing |
server.gplayers(option) | Iterator function, returns a player object for each iteration. Option argument can be either nil, “players”, “spectators” or “all” | |
server.spectators() | table | Returns an array of CNs for all the spectators |
server.bots | table | Returns an array of CNs for all the bot players |
Object Wrapper
The object wrapper turns the player functions into player object methods, you might find it's quicker or think it's nicer to use the object wrapper. The function names are the same except they don't have the player prefix, so for example the
.player_frags(cn)
is just
:frags()
for the player object. To construct a new player object call
server.new_player_object(cn)
Example:
for player in server.gplayers() do player:spec() end
Team Functions
Name and Parameters | Return Value | Description |
---|---|---|
server.teams() | table | Returns an array of team names. |
server.team_players(team) | table | Returns an array of CNs for all players on the specified team. |
server.team_score(team) | number | |
server.team_win(team) | boolean | Has the highest score of all the teams |
server.team_draw(team) | boolean | Score is equal to the scores of all the other teams. TODO: remove argument. |
Game Functions
Name and Parameters | Description |
---|---|
pausegame(pause) | Pause or resume game. Argument value must be 1 or 0 |
changetime(milliseconds) | Change time remaining |
changemap(map,[mode],[time]) | Change map |
delbot(cn) | Remove a bot from the game belonging to a player |
Server Functions
Name and Parameters | Description |
---|---|
restart() | Restart server process at end of the game or immediately if the server is empty. |
restart_now() | Restart server now |
shutdown() | Shut down server process (which will also terminate the irc bot process) |
reloadscripts() | Reload all the scripts without restarting the server |
msg(text) | Broadcast message on server |
clearbans() | Clear all temporary bans |
loadbanlist(filename) | |
writebanlist(filename) | |
permban(ip) | |
unsetban(ip) | |
recorddemo(filename) | Immediately start recording the game (no server message is broadcast) |
stopdemo() | Stop recording game |
Utility Functions
Name and Parameters | Description |
---|---|
ip_to_country(ip) | Resolve IP address to country |
ip_to_country_code(ip) | Resolve IP address to a two letter country code |
load_geoip_database(filename) | Resolve ip address to a two letter country code |
gethostbyname(name) | Resolve FQDN to IP address. |
en/suckerserv/functions.1338713682.txt.bz2 · Dernière modification : 2014/05/31 00:26 (modification externe)