From b5d14f9bddfd45ff63f7b99943a5cd32d9d63d38 Mon Sep 17 00:00:00 2001 From: Cooldude2606 Date: Sat, 4 Apr 2020 20:37:17 +0100 Subject: [PATCH] Fixed Issues with jail --- config/expcore/permission_groups.lua | 2 +- expcore/roles.lua | 2 +- locale/en/addons.cfg | 2 +- modules/addons/chat-reply.lua | 2 +- modules/commands/jail.lua | 6 ++++-- modules/control/jail.lua | 20 ++++++++++---------- 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/config/expcore/permission_groups.lua b/config/expcore/permission_groups.lua index 74fc894b..812584b7 100644 --- a/config/expcore/permission_groups.lua +++ b/config/expcore/permission_groups.lua @@ -13,7 +13,7 @@ Permission_Groups.new_group('Admin') :disallow{ 'add_permission_group', -- admin 'delete_permission_group', - --'edit_permission_group', -- removed for admin till role script added + 'edit_permission_group', 'import_permissions_string', 'map_editor_action', 'toggle_map_editor', diff --git a/expcore/roles.lua b/expcore/roles.lua index 5cd0610f..65485c00 100644 --- a/expcore/roles.lua +++ b/expcore/roles.lua @@ -178,7 +178,7 @@ local function emit_player_roles_updated(player,type,roles,by_player_name,skip_g player.play_sound{path='utility/game_lost'} end script.raise_event(event,{ - name=Roles.player_roles_updated, + name=event, tick=game.tick, player_index=player.index, by_player_index=by_player_index, diff --git a/locale/en/addons.cfg b/locale/en/addons.cfg index 86081d87..9281e461 100644 --- a/locale/en/addons.cfg +++ b/locale/en/addons.cfg @@ -26,7 +26,7 @@ status=Want to check if out servers are down? Visit: https://status.explosivegam github=Want to help improve our server with some extra features? Help us at: https://github.com/explosivegaming/scenario patreon=Consider supporting our server at: https://www.patreon.com/ExpGaming custom-commands=We use custom commands, such as /tag and /me, use /chelp for more info. -read-readme=Make sure you have read the Readme (It can be found through the question mark on the top left) +read-readme=Make sure you have read the information gui (It can be found through the info mark on the top left) softmod=We run a softmod on our servers. A softmod is a custom scenario that runs on this server, an example is the player list. redmew=We don't talk about redmew here; they beat us to 1000 members ;-; lhd=All trains must be LHD! This is a long standing rule on our servers, please respect this. diff --git a/modules/addons/chat-reply.lua b/modules/addons/chat-reply.lua index 4a17d70c..a4685ef3 100644 --- a/modules/addons/chat-reply.lua +++ b/modules/addons/chat-reply.lua @@ -28,7 +28,7 @@ Event.add(defines.events.on_console_chat,function(event) else player.print{'chat-bot.disallow'} end - else + elseif not allowed then player.print{'chat-bot.reply',reply} end end diff --git a/modules/commands/jail.lua b/modules/commands/jail.lua index cea441d8..59e12500 100644 --- a/modules/commands/jail.lua +++ b/modules/commands/jail.lua @@ -20,7 +20,8 @@ Commands.new_command('jail','Puts a player into jail and removes all other roles reason = reason or 'Non Given.' local action_player_name_color = format_chat_player_name(action_player) local by_player_name_color = format_chat_player_name(player) - if Jail.jail_player(action_player,player.name,reason) then + local player_name = player and player.name or '' + if Jail.jail_player(action_player, player_name, reason) then game.print{'expcom-jail.give',action_player_name_color,by_player_name_color,reason} else return Commands.error{'expcom-jail.already-jailed',action_player_name_color} @@ -37,7 +38,8 @@ Commands.new_command('unjail','Removes a player from jail.') :register(function(player,action_player,raw) local action_player_name_color = format_chat_player_name(action_player) local by_player_name_color = format_chat_player_name(player) - if Jail.unjail_player(action_player,player.name) then + local player_name = player and player.name or '' + if Jail.unjail_player(action_player, player_name) then game.print{'expcom-jail.remove',action_player_name_color,by_player_name_color} else return Commands.error{'expcom-jail.not-jailed',action_player_name_color} diff --git a/modules/control/jail.lua b/modules/control/jail.lua index e0cfe837..a188d984 100644 --- a/modules/control/jail.lua +++ b/modules/control/jail.lua @@ -114,10 +114,10 @@ function Jail.jail_player(player,by_player_name,reason) local roles = get_roles(player) old_roles[player.name] = roles - assign_roles(player,'Jail',by_player_name,true) - unassign_roles(player,old_roles,by_player_name,true) + assign_roles(player, 'Jail', by_player_name, nil, true) + unassign_roles(player, roles, by_player_name, nil, true) - event_emit(Jail.events.on_player_jailed,player,by_player_name,reason) + event_emit(Jail.events.on_player_jailed, player, by_player_name, reason) return true end @@ -134,10 +134,10 @@ function Jail.unjail_player(player,by_player_name) if not has_role(player,'Jail') then return end local roles = old_roles[player.name] or {} - assign_roles(player,roles,by_player_name,true) - unassign_roles(player,'Jail',by_player_name,true) + assign_roles(player, roles, by_player_name, nil, true) + unassign_roles(player, 'Jail', by_player_name, nil, true) - event_emit(Jail.events.on_player_unjailed,player,by_player_name) + event_emit(Jail.events.on_player_unjailed, player, by_player_name) return true end @@ -174,8 +174,8 @@ function Jail.temp_ban_player(player,by_player_name,reason) local roles = get_roles(player) old_roles[player.name] = roles - assign_roles(player,'Jail',by_player_name,true) - unassign_roles(player,roles,by_player_name,true) + assign_roles(player, 'Jail', by_player_name, nil, true) + unassign_roles(player, roles, by_player_name, nil, true) end local inv = player.get_main_inventory() @@ -202,8 +202,8 @@ function Jail.untemp_ban_player(player,by_player_name) if has_role(player,'Jail') then local roles = old_roles[player.name] - assign_roles(player,roles,by_player_name,true) - unassign_roles(player,'Jail',by_player_name,true) + assign_roles(player, roles, by_player_name, nil, true) + unassign_roles(player, 'Jail', by_player_name, nil, true) end event_emit(Jail.events.on_player_untemp_banned,player,by_player_name)