mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-01-04 00:15:45 +02:00
116 lines
4.0 KiB
Lua
116 lines
4.0 KiB
Lua
local Event = require 'utils.event'
|
|
local Server = require 'utils.server'
|
|
local Color = require 'utils.color_presets'
|
|
local Global = require 'utils.global'
|
|
|
|
local this = {
|
|
settings = {
|
|
enable_classic_print = false
|
|
}
|
|
}
|
|
|
|
Global.register(
|
|
this,
|
|
function (tbl)
|
|
this = tbl
|
|
end
|
|
)
|
|
|
|
local Public = {}
|
|
|
|
local brain = {
|
|
[1] = { 'Our Discord server is at: https://getcomfy.eu/discord' },
|
|
[2] = {
|
|
'Need an admin? Join our discord at: https://getcomfy.eu/discord,',
|
|
'and report it in #i-need-halp',
|
|
'If you have played for more than 5h in our maps then,',
|
|
'you are eligible to run the command /jail and /free'
|
|
},
|
|
[3] = { 'Scenario repository for download:', 'https://github.com/ComfyFactory/ComfyFactorio' },
|
|
[4] = {
|
|
'If you feel like the server is lagging, run the following command:',
|
|
'/server-ups',
|
|
'This will display the server UPS on your top right screen.'
|
|
},
|
|
[5] = {
|
|
"If you're not trusted - ask an admin to trust you."
|
|
}
|
|
}
|
|
|
|
local links = {
|
|
['admin'] = brain[2],
|
|
['administrator'] = brain[2],
|
|
['discord'] = brain[1],
|
|
['download'] = brain[3],
|
|
['github'] = brain[3],
|
|
['greifer'] = brain[2],
|
|
['grief'] = brain[2],
|
|
['griefer'] = brain[2],
|
|
['griefing'] = brain[2],
|
|
['mod'] = brain[2],
|
|
['moderator'] = brain[2],
|
|
['scenario'] = brain[3],
|
|
['stealing'] = brain[2],
|
|
['stole'] = brain[2],
|
|
['troll'] = brain[2],
|
|
['stutter'] = brain[4],
|
|
['freeze'] = brain[4],
|
|
['lag'] = brain[4],
|
|
['lagging'] = brain[4],
|
|
['trust'] = brain[5],
|
|
['trusted'] = brain[5],
|
|
['untrusted'] = brain[5]
|
|
}
|
|
|
|
local function on_player_created(event)
|
|
local player = game.get_player(event.player_index)
|
|
if this.settings.enable_classic_print then
|
|
player.print('[font=default-game]' .. 'Join the comfy discord >> getcomfy.eu/discord <<' .. '[/font]', { color = { r = 150, g = 100, b = 255, a = 255 } })
|
|
else
|
|
player.print(
|
|
'[font=heading-1]' ..
|
|
'[color=#E99696]J[/color][color=#E9A296]o[/color][color=#E9AF96]i[/color][color=#E9BB96]n[/color] [color=#E9C896]t[/color][color=#E9D496]h[/color][color=#E9E096]e[/color] ☕[color=#E5E996]c[/color][color=#D8E996]o[/color][color=#CCE996]m[/color][color=#BFE996]f[/color][color=#B3E996]y[/color] [color=#A6E996]d[/color][color=#9AE996]i[/color][color=#96E99E]s[/color][color=#96E9AB]c[/color][color=#96E9B7]o[/color][color=#96E9C3]r[/color][color=#96E9D0]d[/color] [color=#96E9DC]>[/color][color=#96E9E9]>[/color] [color=#96DCE9]g[/color][color=#96D0E9]e[/color][color=#96C3E9]t[/color][color=#96B7E9]c[/color][color=#96ABE9]o[/color][color=#969EE9]m[/color][color=#9A96E9]f[/color][color=#A696E9]y[/color][color=#B396E9].[/color][color=#BF96E9]e[/color][color=#CC96E9]u[/color][color=#D896E9]/[/color][color=#E596E9]d[/color][color=#E996E0]i[/color][color=#E996D4]s[/color][color=#E996C8]c[/color][color=#E996BB]o[/color][color=#E996AF]r[/color][color=#E996A2]d[/color]' ..
|
|
'[/font]'
|
|
)
|
|
end
|
|
end
|
|
|
|
local function process_bot_answers(event)
|
|
local player = game.get_player(event.player_index)
|
|
if player.admin then
|
|
return
|
|
end
|
|
local message = event.message
|
|
message = string.lower(message)
|
|
for word in string.gmatch(message, '%g+') do
|
|
if links[word] then
|
|
for _, bot_answer in pairs(links[word]) do
|
|
player.print('[font=heading-1]' .. bot_answer .. '[/font]', { color = Color.warning })
|
|
end
|
|
return
|
|
end
|
|
end
|
|
end
|
|
|
|
local function on_console_chat(event)
|
|
if not event.player_index then
|
|
return
|
|
end
|
|
local secs = Server.get_current_time()
|
|
if not secs then
|
|
return
|
|
end
|
|
process_bot_answers(event)
|
|
end
|
|
|
|
--- Enables the classic print when a player is created.
|
|
---@param boolean any
|
|
function Public.enable_classic_print(boolean)
|
|
this.settings.enable_classic_print = boolean or false
|
|
end
|
|
|
|
Event.add(defines.events.on_player_created, on_player_created)
|
|
Event.add(defines.events.on_console_chat, on_console_chat)
|
|
|
|
return Public
|