Added Chat Popups

This commit is contained in:
Cooldude2606
2019-03-22 22:41:21 +00:00
parent d077c53447
commit 2dc8f07ccf
8 changed files with 38 additions and 0 deletions

View File

@@ -14,6 +14,8 @@ return {
'modules.commands.cheat-mode',
'modules.commands.interface',
'modules.commands.help',
-- QoL Addons
'modules.addons.chat-popups',
-- Config Files
'config.command_auth_admin', -- commands tags with admin_only are blocked for non admins
'config.permission_groups', -- loads some predefined permission groups

3
locale/en/addons.cfg Normal file
View File

@@ -0,0 +1,3 @@
[chat-popup]
message=__1__: __2__
ping=You have been mentioned in chat by __1__.

View File

@@ -0,0 +1,3 @@
[chat-popup]
message=__1__: __2__
ping=You have been mentioned in chat by __1__.

View File

@@ -0,0 +1,30 @@
--- Creates flying text entities when a player sends a message in chat
-- also displays a ping above users who are named in the message
local Game = require 'utils.game'
local Event = require 'utils.event'
local send_text = Game.print_player_floating_text -- (player_index, text, color)
Event.add(defines.events.on_console_chat,function(event)
local player = Game.get_player_by_index(event.player_index)
-- Some basic sanity checks
if not player then return end
if not event.message then return end
-- Sends the message as text above them
send_text(player.index,{'chat-popup.message',player.name,event.message},player.chat_color)
-- Makes lower and removes white space from the message
local search_string = event.message:lower():gsub("%s+", "")
-- Loops over online players to see if they name is included
for _,mentioned_player in pairs(game.connected_players) do
if mentioned_player.index ~= player.index then
if search_string:match(mentioned_player.name:lower()) then
send_text(mentioned_player.index,{'chat-popup.ping',player.name},player.chat_color)
end
end
end
end)