diff --git a/modules/addons/discord-alerts.lua b/modules/addons/discord-alerts.lua index 4d5f95c8..d45a4b87 100644 --- a/modules/addons/discord-alerts.lua +++ b/modules/addons/discord-alerts.lua @@ -92,13 +92,15 @@ if config.player_reports then } end) Event.add(Reports.events.on_report_removed, function(event) + if event.batch ~= 1 then return end local player_name = get_player_name(event) emit_event{ - title='Report Removed', + title='Reports Removed', description='A player has a report removed', color=Colors.green, ['Player:']=''..player_name, - ['By:']=''..event.removed_by_name + ['By:']=''..event.removed_by_name, + ['Amount:']=''..event.batch_count } end) end @@ -118,13 +120,15 @@ if config.player_warnings then } end) Event.add(Warnings.events.on_warning_removed, function(event) - local player_name, by_player_name = get_player_name(event) + if event.batch ~= 1 then return end + local player_name = get_player_name(event) emit_event{ - title='Warning Removed', + title='Warnings Removed', description='A player has a warning removed', color=Colors.green, ['Player:']=''..player_name, - ['By:']=''..by_player_name + ['By:']=''..event.removed_by_name, + ['Amount:']=''..event.batch_count } end) end diff --git a/modules/control/reports.lua b/modules/control/reports.lua index 714e6a19..2c62ce75 100644 --- a/modules/control/reports.lua +++ b/modules/control/reports.lua @@ -43,6 +43,8 @@ local Reports = { -- @tparam number player_index the player index of the player who has the report removed -- @tparam string reported_by_name the name of the player who made the removed report -- @tparam string removed_by_name the name of the player who removed the report + -- @tparam number batch_count the number of reports removed in this batch, always one when not a batch + -- @tparam number batch the index of this event in a batch, always one when not a batch on_report_removed = script.generate_event_name() } } @@ -159,13 +161,20 @@ end -- @tparam LuaPlayer player the player who is having the report removed from them -- @tparam string reported_by_name the player who had the report -- @tparam string removed_by_name the player who is clearing the report +<<<<<<< HEAD local function report_removed_event(player, reported_by_name, removed_by_name) script.raise_event(Reports.events.on_report_removed, { +======= +local function report_removed_event(player,reported_by_name,removed_by_name,batch,batch_count) + script.raise_event(Reports.events.on_report_removed,{ +>>>>>>> 6.0.11 name = Reports.events.on_report_removed, tick = game.tick, player_index = player.index, reported_by_name = reported_by_name, - removed_by_name = removed_by_name + removed_by_name = removed_by_name, + batch_count = batch_count or 1, + batch = batch or 1 }) end @@ -206,9 +215,10 @@ function Reports.remove_all(player, removed_by_name) if not reports then return false end - + local ctn, total = 0, #reports for reported_by_name, _ in pairs(reports) do - report_removed_event(player, reported_by_name, removed_by_name) + ctn = ctn + 1 + report_removed_event(player, reported_by_name, removed_by_name, ctn, total) end user_reports[player.name] = nil diff --git a/modules/control/warnings.lua b/modules/control/warnings.lua index 71614c48..10d75e77 100644 --- a/modules/control/warnings.lua +++ b/modules/control/warnings.lua @@ -57,6 +57,8 @@ local Warnings = { -- @tparam string warning_by_name the name of the player who gave the warning -- @tparam string removed_by_name the name of the player who is removing the warning -- @tparam number warning_count the new number of warnings that the player has + -- @tparam number batch_count the number of warnings removed in this batch, always one when not a batch + -- @tparam number batch the index of this event in a batch, always one when not a batch on_warning_removed = script.generate_event_name(), --- When a warning is added to a player, by the script -- @event on_script_warning_added @@ -153,14 +155,16 @@ end -- @tparam string warning_by_name the name of the player who made the warning -- @tparam string removed_by_name the name of the player who is doing the action -- @tparam number warning_count the number of warnings that the player how has -local function warning_removed_event(player, warning_by_name, removed_by_name, warning_count) +local function warning_removed_event(player, warning_by_name, removed_by_name, warning_count, batch, batch_count) script.raise_event(Warnings.events.on_warning_removed, { name = Warnings.events.on_warning_removed, tick = game.tick, player_index = player.index, warning_count = warning_count, warning_by_name = warning_by_name, - removed_by_name = removed_by_name + removed_by_name = removed_by_name, + batch_count = batch_count or 1, + batch = batch or 1 }) end @@ -200,7 +204,7 @@ function Warnings.clear_warnings(player, by_player_name) local warning_count = #warnings for n, warning in pairs(warnings) do - warning_removed_event(player, warning.by_player_name, by_player_name, warning_count-n) + warning_removed_event(player, warning.by_player_name, by_player_name, warning_count-n, n, warning_count) end PlayerWarnings:remove(player)