Module ExpGamingCore.Sync
Allows syncing with an outside server and info panle.
Info:
- License: https://github.com/explosivegaming/scenario/blob/master/LICENSE
- Author: Cooldude2606
info |
used to get the global list that has been defined, also used to set that list |
time |
Used to return and set the current IRL time; not very good need a better way to do this |
_comment () |
This file will be loaded when ExpGamingCore.Role is present |
set_ranks (...) |
Used as a redirect to Ranking._base_preset that will set the rank given to a player apon joining |
count_ranks () |
Used to get the number of players in each rank and currently online |
-
tick_format (tick)
-
Used to standidise the tick format for any sync info
Parameters:
Returns:
{number,string}
table containg both the raw number and clean version of a time
Usage:
Sync.tick_format(60)
-
print (player_message, player_name[, player_tag[, player_colour[, prefix]]])
-
Prints to chat as if it were a player
Parameters:
- player_message
string
the message to be printed in chat
- player_name
string
the name of the player sending the message
- player_tag
string
the tag apllied to the player's name
(optional)
- player_colour
string
the colour of the message, either hex or named colour
(optional)
- prefix
string
add a prefix before the chat eg [IRC]
(optional)
Usage:
Sync.print('Test','Cooldude2606')
-
emit_embedded (args)
-
Logs an embed to the json.data we use a js script to add things we cant here
Parameters:
- args
table
a table which contains everything that the embedded will use
See also:
Usage:
Sync.emit_embedded{title='BAN',color='0x0',description='A player was banned' ... }
-
count_admins ()
-
Used to get the number of admins currently online
Returns:
number
the number of admins online
Usage:
Sync.count_admins()
-
count_afk ([time=7200])
-
Used to get the number of afk players defined by 2 min by default
Parameters:
- time
int
in ticks that a player is called afk
(default 7200)
Returns:
number
the number of afk players
Usage:
Sync.count_afk()
-
count_ranks ()
-
Used to get the number of players in each rank and currently online; if ExpGamingCore/Ranking is present then it will give more than admin and user
Returns:
table
contains the ranks and the players in that rank
Usage:
Sync.count_ranks()
-
count_players (online)
-
Used to get a list of every player name with the option to limit to only online players
Parameters:
- online
boolean
true will get only the online players
Returns:
table
table of player names
Usage:
Sync.count_players()
-
count_player_times ()
-
Used to get a list of every player name with the amount of time they have played for
Returns:
table
table indexed by player name, each value contains the raw tick and then the clean string
Usage:
Sync.count_player_times()
-
update ()
-
Called to update values inside of the info
Returns:
all of the new info
Usage:
Sync.update()
-
add_update (key, callback)
-
Adds a callback to be called when the info is updated
Parameters:
- key
string
the key that the value will be stored in
- callback
function
the function which will return this value
Usage:
Sync.add_update('players',function() return #game.players end)
-
emit_data ()
-
Outputs the curent server info into a file
Usage:
Sync.emit_data()
-
global
-
Global Table
Fields:
- server_name
the server name
- server_description
a short description of the server
- reset_time
the reset time of the server
- time
the last knowen irl time
- time_set
the last in game time that the time was set
- last_update
the last time that this info was updated
- time_period
how often this infomation is updated
- players
a list of different player related states
- ranks
a list of player ranks
- rockets
the number of rockets launched
- mods
the mods which are loaded
-
global.players
-
Player sub-table
Fields:
- online
list of all players online
- n_online
the number of players online
- all
list of all player on or offline
- n_all
the number of players who have joined the server
- admins_online
the number of admins online
- afk_players
the number of afk players
- times
the play times of every player
-
EmitEmbededParamaters
-
Outline of the paramaters accepted by Sync.emit_embedded
Fields:
- title
the tile of the embed
- color
the color given in hex you can use Color.to_hex{r=0,g=0,b=0}
- description
the description of the embed
- server_detail
sting to add onto the pre-set server detail
- fieldone
the filed to add to the embed (key is name) (value is text) (start value with <<inline>> to make inline)
- fieldtwo
the filed to add to the embed (key is name) (value is text) (start value with <<inline>> to make inline)
-
info
-
used to get the global list that has been defined, also used to set that list
- set
table
keys to be replaced in the server info
(default nil)
Usage:
-
time
-
Used to return and set the current IRL time; not very good need a better way to do this
- set
string
the date time to be set
(default nil)
Usage:
-
_comment ()
-
This file will be loaded when ExpGamingCore.Gui is present
-
add_to_gui (element)
-
Adds a emeltent to the sever info gui
Parameters:
- element
see examples before for what can be used, it can also be a return from Gui.inputs.add
Returns:
bolean
based on weather it was successful or not
Usage:
Sync.add_to_gui('string')
-
server-info
-
Creates a center gui that will appear on join
-
_comment ()
-
This file will be loaded when ExpGamingCore.Role is present
-
set_ranks (...)
-
Used as a redirect to Ranking._base_preset that will set the rank given to a player apon joining
Parameters:
Usage:
Sync.set_ranks{player_name=rank_name,...}
-
count_ranks ()
-
Used to get the number of players in each rank and currently online
Returns:
table
contains the ranks and the players in that rank
Usage:
Sync.count_ranks()