Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tribeModule["*\3Familia de Tocutoeltuco"] = function()
- local json = (function()
- local json = { _version = "0.1.1" }
- -------------------------------------------------------------------------------
- -- Encode
- -------------------------------------------------------------------------------
- local encode
- local escape_char_map = {
- [ "\\" ] = "\\\\",
- [ "\"" ] = "\\\"",
- [ "\b" ] = "\\b",
- [ "\f" ] = "\\f",
- [ "\n" ] = "\\n",
- [ "\r" ] = "\\r",
- [ "\t" ] = "\\t",
- }
- local escape_char_map_inv = { [ "\\/" ] = "/" }
- for k, v in pairs(escape_char_map) do
- escape_char_map_inv[v] = k
- end
- local function escape_char(c)
- return escape_char_map[c] or string.format("\\u%04x", c:byte())
- end
- local function encode_nil(val)
- return "null"
- end
- local function encode_table(val, stack)
- local res = {}
- stack = stack or {}
- -- Circular reference?
- if stack[val] then error("circular reference") end
- stack[val] = true
- if val[1] ~= nil or next(val) == nil then
- -- Treat as array -- check keys are valid and it is not sparse
- local n = 0
- for k in pairs(val) do
- if type(k) ~= "number" then
- error("invalid table: mixed or invalid key types")
- end
- n = n + 1
- end
- if n ~= #val then
- error("invalid table: sparse array")
- end
- -- Encode
- for i, v in ipairs(val) do
- table.insert(res, encode(v, stack))
- end
- stack[val] = nil
- return "[" .. table.concat(res, ",") .. "]"
- else
- -- Treat as an object
- for k, v in pairs(val) do
- if type(k) ~= "string" then
- error("invalid table: mixed or invalid key types")
- end
- table.insert(res, encode(k, stack) .. ":" .. encode(v, stack))
- end
- stack[val] = nil
- return "{" .. table.concat(res, ",") .. "}"
- end
- end
- local function encode_string(val)
- return '"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"'
- end
- local function encode_number(val)
- -- Check for NaN, -inf and inf
- if val ~= val or val <= -math.huge or val >= math.huge then
- error("unexpected number value '" .. tostring(val) .. "'")
- end
- return string.format("%.14g", val)
- end
- local type_func_map = {
- [ "nil" ] = encode_nil,
- [ "table" ] = encode_table,
- [ "string" ] = encode_string,
- [ "number" ] = encode_number,
- [ "boolean" ] = tostring,
- }
- encode = function(val, stack)
- local t = type(val)
- local f = type_func_map[t]
- if f then
- return f(val, stack)
- end
- error("unexpected type '" .. t .. "'")
- end
- function json.encode(val)
- return ( encode(val) )
- end
- -------------------------------------------------------------------------------
- -- Decode
- -------------------------------------------------------------------------------
- local parse
- local function create_set(...)
- local res = {}
- for i = 1, select("#", ...) do
- res[ select(i, ...) ] = true
- end
- return res
- end
- local space_chars = create_set(" ", "\t", "\r", "\n")
- local delim_chars = create_set(" ", "\t", "\r", "\n", "]", "}", ",")
- local escape_chars = create_set("\\", "/", '"', "b", "f", "n", "r", "t", "u")
- local literals = create_set("true", "false", "null")
- local literal_map = {
- [ "true" ] = true,
- [ "false" ] = false,
- [ "null" ] = nil,
- }
- local function next_char(str, idx, set, negate)
- for i = idx, #str do
- if set[str:sub(i, i)] ~= negate then
- return i
- end
- end
- return #str + 1
- end
- local function decode_error(str, idx, msg)
- local line_count = 1
- local col_count = 1
- for i = 1, idx - 1 do
- col_count = col_count + 1
- if str:sub(i, i) == "\n" then
- line_count = line_count + 1
- col_count = 1
- end
- end
- error( string.format("%s at line %d col %d", msg, line_count, col_count) )
- end
- local function codepoint_to_utf8(n)
- -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=iws-appendixa
- local f = math.floor
- if n <= 0x7f then
- return string.char(n)
- elseif n <= 0x7ff then
- return string.char(f(n / 64) + 192, n % 64 + 128)
- elseif n <= 0xffff then
- return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128)
- elseif n <= 0x10ffff then
- return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128,
- f(n % 4096 / 64) + 128, n % 64 + 128)
- end
- error( string.format("invalid unicode codepoint '%x'", n) )
- end
- local function parse_unicode_escape(s)
- local n1 = tonumber( s:sub(3, 6), 16 )
- local n2 = tonumber( s:sub(9, 12), 16 )
- -- Surrogate pair?
- if n2 then
- return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000)
- else
- return codepoint_to_utf8(n1)
- end
- end
- local function parse_string(str, i)
- local has_unicode_escape = false
- local has_surrogate_escape = false
- local has_escape = false
- local last
- for j = i + 1, #str do
- local x = str:byte(j)
- if x < 32 then
- decode_error(str, j, "control character in string")
- end
- if last == 92 then -- "\\" (escape char)
- if x == 117 then -- "u" (unicode escape sequence)
- local hex = str:sub(j + 1, j + 5)
- if not hex:find("%x%x%x%x") then
- decode_error(str, j, "invalid unicode escape in string")
- end
- if hex:find("^[dD][89aAbB]") then
- has_surrogate_escape = true
- else
- has_unicode_escape = true
- end
- else
- local c = string.char(x)
- if not escape_chars[c] then
- decode_error(str, j, "invalid escape char '" .. c .. "' in string")
- end
- has_escape = true
- end
- last = nil
- elseif x == 34 then -- '"' (end of string)
- local s = str:sub(i + 1, j - 1)
- if has_surrogate_escape then
- s = s:gsub("\\u[dD][89aAbB]..\\u....", parse_unicode_escape)
- end
- if has_unicode_escape then
- s = s:gsub("\\u....", parse_unicode_escape)
- end
- if has_escape then
- s = s:gsub("\\.", escape_char_map_inv)
- end
- return s, j + 1
- else
- last = x
- end
- end
- decode_error(str, i, "expected closing quote for string")
- end
- local function parse_number(str, i)
- local x = next_char(str, i, delim_chars)
- local s = str:sub(i, x - 1)
- local n = tonumber(s)
- if not n then
- decode_error(str, i, "invalid number '" .. s .. "'")
- end
- return n, x
- end
- local function parse_literal(str, i)
- local x = next_char(str, i, delim_chars)
- local word = str:sub(i, x - 1)
- if not literals[word] then
- decode_error(str, i, "invalid literal '" .. word .. "'")
- end
- return literal_map[word], x
- end
- local function parse_array(str, i)
- local res = {}
- local n = 1
- i = i + 1
- while 1 do
- local x
- i = next_char(str, i, space_chars, true)
- -- Empty / end of array?
- if str:sub(i, i) == "]" then
- i = i + 1
- break
- end
- -- Read token
- x, i = parse(str, i)
- res[n] = x
- n = n + 1
- -- Next token
- i = next_char(str, i, space_chars, true)
- local chr = str:sub(i, i)
- i = i + 1
- if chr == "]" then break end
- if chr ~= "," then decode_error(str, i, "expected ']' or ','") end
- end
- return res, i
- end
- local function parse_object(str, i)
- local res = {}
- i = i + 1
- while 1 do
- local key, val
- i = next_char(str, i, space_chars, true)
- -- Empty / end of object?
- if str:sub(i, i) == "}" then
- i = i + 1
- break
- end
- -- Read key
- if str:sub(i, i) ~= '"' then
- decode_error(str, i, "expected string for key")
- end
- key, i = parse(str, i)
- -- Read ':' delimiter
- i = next_char(str, i, space_chars, true)
- if str:sub(i, i) ~= ":" then
- decode_error(str, i, "expected ':' after key")
- end
- i = next_char(str, i + 1, space_chars, true)
- -- Read value
- val, i = parse(str, i)
- -- Set
- res[key] = val
- -- Next token
- i = next_char(str, i, space_chars, true)
- local chr = str:sub(i, i)
- i = i + 1
- if chr == "}" then break end
- if chr ~= "," then decode_error(str, i, "expected '}' or ','") end
- end
- return res, i
- end
- local char_func_map = {
- [ '"' ] = parse_string,
- [ "0" ] = parse_number,
- [ "1" ] = parse_number,
- [ "2" ] = parse_number,
- [ "3" ] = parse_number,
- [ "4" ] = parse_number,
- [ "5" ] = parse_number,
- [ "6" ] = parse_number,
- [ "7" ] = parse_number,
- [ "8" ] = parse_number,
- [ "9" ] = parse_number,
- [ "-" ] = parse_number,
- [ "t" ] = parse_literal,
- [ "f" ] = parse_literal,
- [ "n" ] = parse_literal,
- [ "[" ] = parse_array,
- [ "{" ] = parse_object,
- }
- parse = function(str, idx)
- local chr = str:sub(idx, idx)
- local f = char_func_map[chr]
- if f then
- return f(str, idx)
- end
- decode_error(str, idx, "unexpected character '" .. chr .. "'")
- end
- function json.decode(str)
- if type(str) ~= "string" then
- error("expected argument of type string, got " .. type(str))
- end
- local res, idx = parse(str, next_char(str, 1, space_chars, true))
- idx = next_char(str, idx, space_chars, true)
- if idx <= #str then
- decode_error(str, idx, "trailing garbage")
- end
- return res
- end
- return json
- end)()
- local split_message_at = 600
- local function splitMessage(msg)
- local messagesIndex = 0
- local messages = {}
- for index = 1, #msg, split_message_at do
- messagesIndex = messagesIndex + 1
- messages[messagesIndex] = string.sub(msg, index, index + split_message_at - 1)
- end
- return messages
- end
- local function chatMessage(msgId, msg)
- local messages
- if #msg > split_message_at then
- messages = splitMessage(msg)
- else
- messages = {msg}
- end
- local messagesLength = #messages
- for index = 1, messagesLength do
- tfm.exec.chatMessage(msgId .. " " .. messagesLength .. " " .. messages[index])
- end
- end
- local eventLoopCount = 0
- local staff_teams = {
- ["translators"] = {
- ["Abdeljalil6#0000"] = true,
- ["Acer#0010"] = true,
- ["Ae_86#5182"] = true,
- ["Beachair#0000"] = true,
- ["Bodykudo#0000"] = true,
- ["Ctmce#0000"] = true,
- ["Derpfacederp#0000"] = true,
- ["Erennnnnnn#7651"] = true,
- ["Faz_x#0010"] = true,
- ["Flindix#0095"] = true,
- ["Grabouilie#0000"] = true,
- ["Grapeup#0020"] = true,
- ["Jolkaebolka#0000"] = true,
- ["Kanan#2167"] = true,
- ["Kincslol#0000"] = true,
- ["Leila#6251"] = true,
- ["Linkaito#4129"] = true,
- ["Lothcat#0000"] = true,
- ["Majzer#3179"] = true,
- ["Mikumaly#0000"] = true,
- ["Millenios#7956"] = true,
- ["Nicor22#0000"] = true,
- ["Peanut_butter#0015"] = true,
- ["Rkubi#0000"] = true,
- ["Ryuuzaki#1216"] = true,
- ["Sebafrancuz#0000"] = true,
- ["Tocutoeltuco#0000"] = true,
- ["Unidentified#8421"] = true,
- ["Unlocker001#0000"] = true,
- ["Usmiechnij_sie#9743"] = true,
- ["Vajisco0#0000"] = true,
- ["Wassimevicw#0000"] = true,
- ["Wrfg#0000"] = true,
- ["Yuba#2381"] = true,
- ["Zimmer#9770"] = true,
- ["Zutto#4451"] = true
- },
- ["fashion_squad"] = {
- ["Alfiecakes#0000"] = true,
- ["Bobbyxsoxer#0000"] = true,
- ["Etyla#0015"] = true,
- ["Eyeground#0000"] = true,
- ["Iuliluca#0000"] = true,
- ["Ikke#0015"] = true,
- ["Katow#0020"] = true,
- ["Kiddoru#0000"] = true,
- ["Kingapysia#0000"] = true,
- ["Kurt#0015"] = true,
- ["Lou#3859"] = true,
- ["Mlledebby#0015"] = true,
- ["Papero#9240"] = true,
- ["Perlchen#0000"] = true,
- ["Roberta#0113"] = true,
- ["Silvyna#0020"] = true,
- ["Tini#8387"] = true,
- ["Unlocker001#0000"] = true,
- ["Venusise#0000"] = true
- },
- ["module_team"] = {
- ["Athesdrake#0000"] = true,
- ["Bodykudo#0000"] = true,
- ["Bolodefchoco#0000"] = true,
- ["Brenower#0000"] = true,
- ["Drgenius#0000"] = true,
- ["Esh#0095"] = true,
- ["Frozenjord#0656"] = true,
- ["Fofinhoppp#0000"] = true,
- ["Gekkeiju#0000"] = true,
- ["Haku#0807"] = true,
- ["Heniyengui#0000"] = true,
- ["Jordy#0010"] = true,
- ["Laagaadoo#0000"] = true,
- ["Makinit#0095"] = true,
- ["Nettoork#0000"] = true,
- ["Ninguem#0095"] = true,
- ["Papero#9240"] = true,
- ["Rkubi#0000"] = true,
- ["Rufflesdqjo#0000"] = true,
- ["Saintgio#0000"] = true,
- ["Sebafrancuz#0000"] = true,
- ["Sebaisseba#0020"] = true,
- ["Shamousey#0015"] = true,
- ["Sharpiepoops#0020"] = true,
- ["Tat#0020"] = true,
- ["Thanos#1306"] = true,
- ["Thewav#0095"] = true,
- ["Tortuegreen#0000"] = true,
- ["Turkitutu#0000"] = true,
- ["Unlocker001#0000"] = true,
- ["Velspar#0000"] = true,
- ["Warfenix#0095"] = true
- },
- ["funcorp"] = {
- ["Bodykudo#0000"] = true,
- ["Papero#9240"] = true,
- ["Arcanacra#0010"] = true,
- ["Jordy#0010"] = true,
- ["Lezzly#0010"] = true,
- ["Lummit#0010"] = true,
- ["Miau#0010"] = true,
- ["Mousey#0010"] = true,
- ["Philae#0010"] = true,
- ["Pop#0010"] = true,
- ["Staszekowaty#0010"] = true,
- ["Tarmac#0010"] = true,
- ["Titivillus#0010"] = true,
- ["Visne#0010"] = true,
- ["Lightwood#0010"] = true,
- ["Ikke#0015"] = true,
- ["Mesmera#0015"] = true,
- ["Milkycoffee#0015"] = true,
- ["Bemmh#0020"] = true,
- ["Grapeup#0020"] = true,
- ["Sebaisseba#0020"] = true,
- ["Charbz#3144"] = true
- },
- ["mapcrew"] = {
- ["A_801#0015"] = true,
- ["Bemmh#0020"] = true,
- ["Goondad#0020"] = true,
- ["Grapeup#0020"] = true,
- ["Katow#0020"] = true,
- ["Leetinsanity#0020"] = true,
- ["Mapcrew#0020"] = true,
- ["Mapcrewone#0020"] = true,
- ["Mapcrewtwo#0020"] = true,
- ["Sebaisseba#0020"] = true,
- ["Sharpiepoops#0020"] = true,
- ["Sherr#0020"] = true,
- ["Uskil#0020"] = true,
- ["Vividia#0015"] = true,
- ["Mquk#0020"] = true,
- ["Vvarriorw#0020"] = true,
- ["Ikke#0015"] = true,
- ["Kurt#0015"] = true,
- ["Grimmaro#0020"] = true,
- ["Reshman#0020"] = true,
- ["Silvyna#0020"] = true,
- ["Tat#0020"] = true
- },
- ["sentinel"] = {
- ["A_801#0015"] = true,
- ["Altercorp#0015"] = true,
- ["Bog#0015"] = true,
- ["Doraemons#0010"] = true,
- ["Etyla#0015"] = true,
- ["Obemice#0015"] = true,
- ["Sentihu#0015"] = true,
- ["Vividia#0015"] = true,
- ["Winjid#0015"] = true,
- ["Hollya#0015"] = true,
- ["Mlledebby#0015"] = true,
- ["Sentinonyme#0015"] = true,
- ["Thallium#0015"] = true,
- ["Centr#0015"] = true,
- ["Jerry#0015"] = true,
- ["Bortverde#0015"] = true,
- ["Daisy#0015"] = true,
- ["Daydream#0015"] = true,
- ["Excasr#0010"] = true,
- ["Grastfetry#0015"] = true,
- ["Ikke#0015"] = true,
- ["Kiwrimai#0015"] = true,
- ["Kurt#0015"] = true,
- ["Miau#0010"] = true,
- ["Naiyme#0015"] = true,
- ["Pandoraa#0015"] = true,
- ["Ratacp#0015"] = true,
- ["Xiezi#0010"] = true,
- ["Sha#0010"] = true,
- ["Visne#0010"] = true,
- ["Amegake#0015"] = true,
- ["Coska#0015"] = true,
- ["Lament#0010"] = true,
- ["Mesmera#0015"] = true,
- ["Milkycoffee#0015"] = true,
- ["Peanut_butter#0015"] = true,
- ["Wooferx#0015"] = true,
- ["Jordy#0010"] = true,
- ["Chibi#0015"] = true,
- ["Hotaru#0015"] = true,
- ["Tarmac#0010"] = true,
- ["Xiaojiemei#0015"] = true,
- ["Archaeron#0010"] = true,
- ["Mrslouzifer#0010"] = true,
- ["Batt_mellamy#0015"] = true,
- ["Calysis#0015"] = true,
- ["Chiara#0010"] = true,
- ["Dracoleaf#0010"] = true,
- ["Gavin#0015"] = true,
- ["Jacob#0010"] = true,
- ["Katburger#0015"] = true,
- ["Null#0010"] = true,
- ["Rutabega#0015"] = true,
- ["Shamousey#0015"] = true,
- ["Vulli#0015"] = true,
- ["Pitchou#0015"] = true,
- ["Matekooo#0015"] = true,
- ["Bembija#0010"] = true,
- ["Layora#0010"] = true
- },
- ["moderation"] = {
- ["Adami#0010"] = true,
- ["Charissa#0010"] = true,
- ["Darthmod#0010"] = true,
- ["Djealvi#0010"] = true,
- ["Doraemons#0010"] = true,
- ["Eclipseclock#0010"] = true,
- ["Faz_x#0010"] = true,
- ["Frankenshtein#0010"] = true,
- ["Jackgt20#0010"] = true,
- ["Link#0010"] = true,
- ["Meekoru#0010"] = true,
- ["Mouseori#0010"] = true,
- ["Mushi#0010"] = true,
- ["Nattorei#0010"] = true,
- ["Poomph#0010"] = true,
- ["Pyjin#0010"] = true,
- ["Sav#0010"] = true,
- ["Sommersby#0010"] = true,
- ["Tachiyukan#0010"] = true,
- ["Teo#0010"] = true,
- ["Titivillus#0010"] = true,
- ["Tomatosin#0010"] = true,
- ["Yosska#0010"] = true,
- ["Chamsouris#0010"] = true,
- ["Fiarb#0010"] = true,
- ["Iceweasel#0010"] = true,
- ["Miwakiko#0010"] = true,
- ["Myulaw#0010"] = true,
- ["Nuhy#0010"] = true,
- ["Philae#0010"] = true,
- ["Ihaya#0010"] = true,
- ["Mishska#0010"] = true,
- ["Balerion#0010"] = true,
- ["Bijububu#0010"] = true,
- ["Cosmo#0010"] = true,
- ["Excasr#0010"] = true,
- ["Iupi#0010"] = true,
- ["Lucas#0010"] = true,
- ["Lummit#0010"] = true,
- ["Miau#0010"] = true,
- ["Midnight#0010"] = true,
- ["Morningstar#0010"] = true,
- ["Pop#0010"] = true,
- ["Jefitou#0010"] = true,
- ["Lezzly#0010"] = true,
- ["Lightwood#0010"] = true,
- ["Makis#0010"] = true,
- ["Piratearthur#0010"] = true,
- ["Xiezi#0010"] = true,
- ["Lexa#0010"] = true,
- ["Sha#0010"] = true,
- ["Visne#0010"] = true,
- ["Mistle#0010"] = true,
- ["Arcanacra#0010"] = true,
- ["Lament#0010"] = true,
- ["Meow#0010"] = true,
- ["Migotka#0010"] = true,
- ["Staszekowaty#0010"] = true,
- ["Esoisdown#0010"] = true,
- ["Flare#0010"] = true,
- ["Jordy#0010"] = true,
- ["Santa#0010"] = true,
- ["Zoefke#0010"] = true,
- ["Ceicu#0010"] = true,
- ["Dandelion#0010"] = true,
- ["Ildubbio#0010"] = true,
- ["Tarmac#0010"] = true,
- ["Archaeron#0010"] = true,
- ["Mrslouzifer#0010"] = true,
- ["Acer#0010"] = true,
- ["Charlen#0010"] = true,
- ["Chiara#0010"] = true,
- ["Christine#0010"] = true,
- ["Dracoleaf#0010"] = true,
- ["Etoile#0010"] = true,
- ["Exsilium#0010"] = true,
- ["Faierey#0010"] = true,
- ["Jacob#0010"] = true,
- ["Jiro#0010"] = true,
- ["Kim#0010"] = true,
- ["Kloure#0010"] = true,
- ["Mousey#0010"] = true,
- ["Null#0010"] = true,
- ["Plisette#0010"] = true,
- ["Rachel#0010"] = true,
- ["Sam#0010"] = true,
- ["Secretive#0010"] = true,
- ["Bembija#0010"] = true,
- ["Layora#0010"] = true
- },
- ["admin"] = {
- ["Azrou#0001"] = true,
- ["Gimnir#0001"] = true,
- ["Pxstardust#0001"] = true,
- ["Stardev7#0001"] = true,
- ["Streaxx#0001"] = true,
- ["Melibellule#0001"] = true,
- ["Pikashu#0001"] = true,
- ["Tigrounette#0001"] = true
- }
- }
- local online_players = {}
- local player_requests = {}
- local commands = {
- ["get_team"] = function(args)
- local result = {success = true, message = nil, members = {}}
- for member, isIn in next, staff_teams[args[3]] do
- if isIn then
- result.members[member] = online_players[member]
- end
- end
- chatMessage(args[1], json.encode(result))
- end,
- ["online"] = function(args)
- local result = {success = true, message = nil, online = {}}
- local onlineIndex = 0
- for member, isIn in next, staff_teams[args[3]] do
- if isIn then
- if online_players[member] then
- onlineIndex = onlineIndex + 1
- result.online[onlineIndex] = member
- end
- end
- end
- chatMessage(args[1], json.encode(result))
- end,
- ["get_user"] = function(args)
- if not player_requests[args[3]] then
- player_requests[args[3]] = {{args[1]}, 0}
- else
- player_requests[args[3]][1][#player_requests[args[3]][1]] = args[1]
- end
- end,
- ["team_add"] = function(args)
- for index = 4, #args do
- staff_teams[args[3]][args[index]] = true
- end
- chatMessage(args[1], '{"success":true,"message":null}')
- end,
- ["team_remove"] = function(args)
- for index = 4, #args do
- staff_teams[args[3]][args[index]] = nil
- end
- chatMessage(args[1], '{"success":true,"message":null}')
- end
- }
- function eventPlayerDataLoaded(player)
- online_players[player] = true
- end
- function eventLoop()
- local rem = {}
- for player, request in next, player_requests do
- request[2] = request[2] + 1
- if request[2] == 2 then
- local result = {success = true, message = nil, roles = {}, isOnline = online_players[player] or false}
- local rolesIndex = 0
- for teamName, teamData in next, staff_teams do
- if teamData[player] then
- rolesIndex = rolesIndex + 1
- result.roles[rolesIndex] = teamName
- end
- end
- result = json.encode(result)
- for index, msgId in next, request[1] do
- chatMessage(msgId, result)
- end
- rem[player] = true
- elseif request[2] == 1 then
- system.loadPlayerData(player)
- end
- end
- for player in next, rem do
- player_requests[player] = nil
- end
- eventLoopCount = eventLoopCount + 1
- if eventLoopCount == 20 then
- eventLoopCount = 0
- local onlinePlayersTable = {}
- for teamName, team in next, staff_teams do
- for member, isIn in next, team do
- if isIn then
- onlinePlayersTable[member] = false
- end
- end
- end
- online_players = onlinePlayersTable
- for member in next, online_players do
- system.loadPlayerData(member)
- end
- end
- end
- function eventChatMessage(player, msg)
- if player == "Tocutoeltuco#5730" then
- local spl = string.split(msg, "%S+")
- commands[spl[2]](spl)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement