diff --git a/Addons/Admin/auto-chat.lua b/Addons/Admin/auto-chat.lua new file mode 100644 index 00000000..302a0b08 --- /dev/null +++ b/Addons/Admin/auto-chat.lua @@ -0,0 +1,63 @@ +--[[ +Explosive Gaming + +This file can be used with permission but this and the credit below must remain in the file. +Contact a member of management on our discord to seek permission to use our code. +Any changes that you may make to the code are yours but that does not make the script yours. +Discord: https://discord.gg/r6dC2uK +]] +--Please Only Edit Below This Line----------------------------------------------------------- + +-- white spaces removed and made into lower +-- these messages are sent only to the player +local auto_chat = '[Chat Bot]: ' +local messages = { + ['discord']={'chat-bot.discord'}, + ['expgaming']={'chat-bot.website'}, + ['website']={'chat-bot.website'}, + ['command']={'chat-bot.custom-commands'}, + ['commands']={'chat-bot.custom-commands'}, + ['softmod']={'chat-bot.softmod'}, + ['script']={'chat-bot.softmod'}, + ['afk']=function(_player) local max=_player for _,player in pairs(game.connected_players) do if max.afk_time < player.afk_time then max=player end end {'chat-bot.afk',max.name,tick_to_display_format(max.afk_time)} end +} + +-- white spaces removed and made into lower +-- these are global chat commands that can be used +-- comands start with ! (all messages are also commands) +local command_syntax = '!' +local names = {'Cooldude2606','arty714','badgamernl'} +local commands = { + ['online']=function(player) return {'chat-bot.players-online',#game.connected_players} end, + ['playtime']=function(player) return {'chat-bot.map-time',tick_to_display_format(game.tick)} end, + ['players']=function(player) return {'chat-bot.players',#game.players} end, + ['dev']={'chat-bot.not-real-dev'}, + ['blame']=function(player) local _names = {unpack(names),player.name} local name = _names[math.random(#_names)] return {'chat-bot.blame',name} end, + ['readme']={'chat-bot.read-readme'}, +} + +Event.register(defines.events.on_console_chat,function(event) + local player = Game.get_player(event) + if not player then return end + local player_message = event.message:lower():gsub("%s+", "") + local allowed = Ranking.get_rank(player):allowed('global-chat') + for to_find,message in pairs(messages) do + if player_message:match(command_syntax..to_find) then + if allowed then + if is_type(message,'function') then message=message(player) end + game.print{'chat-bot.message',message} + else player_return({'chat-bot.rank-error'},nil,player) end + elseif player_message:match(to_find) then + if is_type(message,'function') then message=message(player) end + player_return({'chat-bot.message',message},nil,player) + end + end + for to_find,message in pairs(commands) do + if player_message:match(command_syntax..to_find) then + if allowed then + if is_type(message,'function') then message=message(player) end + game.print{'chat-bot.message',message} + else player_return({'chat-bot.rank-error'},nil,player) end + end + end +end) \ No newline at end of file diff --git a/Addons/Admin/auto-message.lua b/Addons/Admin/auto-message.lua index 7f6d8baf..49f1974f 100644 --- a/Addons/Admin/auto-message.lua +++ b/Addons/Admin/auto-message.lua @@ -16,11 +16,11 @@ Event.register(-1,function(event) high_rank= 'Owner', low_rank= 'Regular', low={ - {'auto-message.join-us'}, - {'auto-message.discord'}, - {'auto-message.website'}, - {'auto-message.custom-commands'}, - {'auto-message.read-readme'} + {'chat-bot.join-us'}, + {'chat-bot.discord'}, + {'chat-bot.website'}, + {'chat-bot.custom-commands'}, + {'chat-bot.read-readme'} } } }:on_event('timeout',function(self) @@ -28,13 +28,24 @@ Event.register(-1,function(event) if not data.high_rank or not data.low_rank or not data.low then self.reopen = false return end local _high = Ranking.get_rank(data.high_rank) - local _low = Ranking.get_rank(data.low_rank) - Ranking.print(_high,{'auto-message.players-online',#game.connected_players},nil,true) - Ranking.print(_high,{'auto-message.map-time',tick_to_display_format(game.tick)},nil,true) - --[[for _,line in pairs(data.low) do + game.print{'chat-bot.message',{'chat-bot.players-online',#game.connected_players}} + game.print{'chat-bot.message',{'chat-bot.map-time',tick_to_display_format(game.tick)}} + --[[local _low = Ranking.get_rank(data.low_rank) + Ranking.print(_high,{'chat-bot.players-online',#game.connected_players},nil,true) + Ranking.print(_high,{'chat-bot.map-time',tick_to_display_format(game.tick)},nil,true) + for _,line in pairs(data.low) do Ranking.print(_low,line,nil,true) end]] self.reopen = true + end):on_event(defines.events.on_player_joined_game,function(self,event) + local player = Game.get_player(event) + if not player then return end + local data = self.data + if not data.high_rank or not data.low_rank + or not data.low then self.reopen = false return end + for _,message in pairs(data.low) do + player_return({'chat-bot.message',message},nil,player) + end end):on_event('error',function(self,err) discord_emit{ title='Auto Message Error', diff --git a/locale/de/auto-message.cfg b/locale/de/auto-message.cfg deleted file mode 100644 index 270ad0f2..00000000 --- a/locale/de/auto-message.cfg +++ /dev/null @@ -1,9 +0,0 @@ -[auto-message] -players-online=Es sind __1__ Spieler online. -map-time=Dieses Spiel is seit __1__ am laufen. -line-8=Schreibe /help für mehr Informationen. -join-us=Folge uns auf: -discord=Discord: https://discord.me/explosivegaming -website=Webseite: explosivegaming.nl -custom-commands=Wir benutzen eigene Befehle wie /tag und /report -read-readme=Stelle sicher, dass du das Liesmich gelesen hast (Fragezeichen oben Links) \ No newline at end of file diff --git a/locale/en/auto-message.cfg b/locale/de/chat-bot.cfg similarity index 85% rename from locale/en/auto-message.cfg rename to locale/de/chat-bot.cfg index 0691259f..b2e664b0 100644 --- a/locale/en/auto-message.cfg +++ b/locale/de/chat-bot.cfg @@ -1,4 +1,6 @@ -[auto-message] +[chat-bot] +name=[Chat Bot] +rank-error=You cant use global chat commands players-online=There are __1__ players online map-time=This map has been on for __1__ line-8=Type /help for more info diff --git a/locale/en/chat-bot.cfg b/locale/en/chat-bot.cfg new file mode 100644 index 00000000..7fb6fc7b --- /dev/null +++ b/locale/en/chat-bot.cfg @@ -0,0 +1,16 @@ +[chat-bot] +message=[Chat Bot]: __1__ +rank-error=You cant use global chat commands +players-online=There are __1__ players online +player=There have been __1__ players on this map +map-time=This map has been on for __1__ +line-8=Type /help for more info +join-us=Please join us on: +discord=Discord: https://discord.me/explosivegaming +website=Website: explosivegaming.nl +custom-commands=We use custom commands, such as /tag and /report, see readme/commands for more info. +read-readme=Make sure you have read the Readme (can be found through the question mark on the top left) +not-real-dev=Cooldude2606 is a dev for this server and makes the softmod (look top left) and is not a factorio dev. +softmod=A softmod is a custom scenario that runs on this server, example in the top left. +blame=Blame __1__ for what just happend! +afk=Your afk? Look at __1__ they have been afk for: __2__ \ No newline at end of file diff --git a/locale/fr/auto-message.cfg b/locale/fr/auto-message.cfg deleted file mode 100644 index 15e620a2..00000000 --- a/locale/fr/auto-message.cfg +++ /dev/null @@ -1,9 +0,0 @@ -[auto-message] -players-online=There are __1__ players online -map-time=This map has been on for __1__ -line-8=Do /help for more info -join-us=Please join us on: -discord=Discord: https://discord.me/explosivegaming -website=Website: explosivegaming.nl -custom-commands=We use custom commands such as /tag and /report -read-readme=Make sure you have read the readme (top left question mark) \ No newline at end of file diff --git a/locale/fr/chat-bot.cfg b/locale/fr/chat-bot.cfg new file mode 100644 index 00000000..b2e664b0 --- /dev/null +++ b/locale/fr/chat-bot.cfg @@ -0,0 +1,11 @@ +[chat-bot] +name=[Chat Bot] +rank-error=You cant use global chat commands +players-online=There are __1__ players online +map-time=This map has been on for __1__ +line-8=Type /help for more info +join-us=Please join us on: +discord=Discord: https://discord.me/explosivegaming +website=Website: explosivegaming.nl +custom-commands=We use custom commands, such as /tag and /report +read-readme=Make sure you have read the ReadMe (can be found through the question mark on the top left) \ No newline at end of file diff --git a/locale/nl/auto-message.cfg b/locale/nl/auto-message.cfg deleted file mode 100644 index 28bece1a..00000000 --- a/locale/nl/auto-message.cfg +++ /dev/null @@ -1,9 +0,0 @@ -[auto-message] -players-online=Er zijn __1__ speler(s) online -map-time=Deze map is actief voor __1__ -line-8=Typ /help (command) voor meer informatie -join-us=Sluit je aan op onze Discord: -discord=Discord: https://discord.me/explosivegaming -website=Website: explosivegaming.nl -custom-commands=Wij gebruiken custom commands zoals /tag en /report -read-readme=Zorg er voor dat je de readme hebt gelezen (te vinden in de vraagteken linksboven) diff --git a/locale/nl/chat-bot.cfg b/locale/nl/chat-bot.cfg new file mode 100644 index 00000000..b2e664b0 --- /dev/null +++ b/locale/nl/chat-bot.cfg @@ -0,0 +1,11 @@ +[chat-bot] +name=[Chat Bot] +rank-error=You cant use global chat commands +players-online=There are __1__ players online +map-time=This map has been on for __1__ +line-8=Type /help for more info +join-us=Please join us on: +discord=Discord: https://discord.me/explosivegaming +website=Website: explosivegaming.nl +custom-commands=We use custom commands, such as /tag and /report +read-readme=Make sure you have read the ReadMe (can be found through the question mark on the top left) \ No newline at end of file