Files
factorio-scenario-ExpCluster/modules/data/greetings.lua
PHIDIAS 2f13aa7e11 Add Missing Command Locales (#331)
* Update lawnmower.lua

* Update bonus.lua

* Update greetings.lua

* Update personal-logistic.lua

* Update quickbar.lua

* Update personal_logistic.lua

* Update tag.lua

* Update commands.cfg

* Update commands.cfg

* Update commands.cfg
2024-09-24 14:41:27 +01:00

44 lines
1.6 KiB
Lua

--- Greets players on join
-- @data Greetings
local config = require 'config.join_messages' --- @dep config.join_messages
local Commands = require 'expcore.commands' ---@dep expcore.commands
require 'config.expcore.command_general_parse'
--- Stores the join message that the player have
local PlayerData = require 'expcore.player_data' --- @dep expcore.player_data
local CustomMessages = PlayerData.Settings:combine('JoinMessage')
CustomMessages:set_metadata{
permission = 'command/join-message'
}
--- When a players data loads show their message
CustomMessages:on_load(function(player_name, player_message)
local player = game.players[player_name]
local custom_message = player_message or config[player_name]
if custom_message then
game.print(custom_message, player.color)
else
player.print{'join-message.greet', {'links.discord'}}
end
end)
--- Set your custom join message
-- @command join-message
-- @tparam string message The custom join message that will be used
Commands.new_command('join-message', {'expcom-join-message.description-msg'}, 'Sets your custom join message')
:add_param('message', false, 'string-max-length', 255)
:enable_auto_concat()
:register(function(player, message)
if not player then return end
CustomMessages:set(player, message)
return {'join-message.message-set'}
end)
Commands.new_command('join-message-clear', {'expcom-join-message.description-clr'}, 'Clear your join message')
:register(function(player)
if not player then return end
CustomMessages:remove(player)
return {'join-message.message-cleared'}
end)