--- Greets players on join -- @data Greetings local config = require("modules.exp_legacy.config.join_messages") --- @dep config.join_messages local Commands = require("modules.exp_legacy.expcore.commands") --- @dep expcore.commands require("modules.exp_legacy.config.expcore.command_general_parse") --- Stores the join message that the player have local PlayerData = require("modules.exp_legacy.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, { color = 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", "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", "Clear your join message") :register(function(player) if not player then return end CustomMessages:remove(player) return { "join-message.message-cleared" } end)