From becabf82d9c14a592a8a39642f1127dca14a1454 Mon Sep 17 00:00:00 2001 From: Braeden Sowinski Date: Fri, 21 Apr 2023 13:50:08 -0700 Subject: [PATCH] debug combat log detection --- package.json | 2 +- util/AdminLogsHandler.js | 2 +- util/AlarmsHandler.js | 125 --------------------------------------- 3 files changed, 2 insertions(+), 127 deletions(-) delete mode 100644 util/AlarmsHandler.js diff --git a/package.json b/package.json index 17f5d49..041a891 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dayz-armbands", - "version": "6.5.1", + "version": "6.5.2", "description": "A General Purpose Discord Bot for DayZ Servers.", "main": "index.js", "nodemonConfig": { diff --git a/util/AdminLogsHandler.js b/util/AdminLogsHandler.js index a290251..992da47 100644 --- a/util/AdminLogsHandler.js +++ b/util/AdminLogsHandler.js @@ -35,7 +35,7 @@ module.exports = { // If diff is greater than 5 minutes, not a combat log // or if death after last combat and death was before logout event - if (data.lastDamageDate < data.lastDeathDate && data.lastDeathDate < newDt1) return; + if (data.lastDamageDate <= data.lastDeathDate && data.lastDeathDate < newDt) return; if (diff > 5) return; let guild = await client.GetGuild(guildId); diff --git a/util/AlarmsHandler.js b/util/AlarmsHandler.js deleted file mode 100644 index b49209a..0000000 --- a/util/AlarmsHandler.js +++ /dev/null @@ -1,125 +0,0 @@ -const { HandlePlayerBan } = require('./NitradoAPI'); -const { EmbedBuilder } = require('discord.js'); - -module.exports = { - - HandleAlarmsAndUAVs: async (client, guildId, data) => { - - let guild = await client.GetGuild(guildId); - - for (let i = 0; i < guild.alarms.length; i++) { - let alarm = guild.alarms[i]; - if (alarm.disabled) continue; // ignore if alarm is disabled due to emp - if (alarm.ignoredPlayers.includes(data.playerID)) continue; - - let diff = [Math.round(alarm.origin[0] - data.pos[0]), Math.round(alarm.origin[1] - data.pos[1])]; - let distance = Math.sqrt(Math.pow(diff[0], 2) + Math.pow(diff[1], 2)).toFixed(2) - - if (distance < alarm.radius) { - const channel = client.channels.cache.get(alarm.channel); - - let newDt = await client.getDateEST(data.time); - let unixTime = Math.floor(newDt.getTime()/1000); - - if (alarm.rules.includes['ban_on_entry']) { - - let alarmEmbed = new EmbedBuilder() - .setColor(client.config.Colors.Default) - .setDescription(`**Zone Ping - **\n**${data.player}** was located within **${distance} meters** of the Zone **${alarm.name}** __and has been banned.__`) - .addFields({ name: '**Location**', value: `**[${data.pos[0]}, ${data.pos[1]}](https://www.izurvive.com/chernarusplussatmap/#location=${data.pos[0]};${data.pos[1]})**`, inline: false }) - - channel.send({ content: `<@&${alarm.role}>`, embeds: [alarmEmbed] }); - - HandlePlayerBan(client, data.player, true); - } - - let alarmEmbed = new EmbedBuilder() - .setColor(client.config.Colors.Default) - .setDescription(`**Zone Ping - **\n**${data.player}** was located within **${distance} meters** of the Zone **${alarm.name}**`) - .addFields({ name: '**Location**', value: `**[${data.pos[0]}, ${data.pos[1]}](https://www.izurvive.com/chernarusplussatmap/#location=${data.pos[0]};${data.pos[1]})**`, inline: false }) - - return await channel.send({ content: `<@&${alarm.role}>`, embeds: [alarmEmbed] }); - } - } - - for (let i = 0; i < guild.uavs.length; i++) { - let uav = guild.uavs[i]; - - let diff = [Math.round(uav.origin[0] - data.pos[0]), Math.round(uav.origin[1] - data.pos[1])]; - let distance = Math.sqrt(Math.pow(diff[0], 2) + Math.pow(diff[1], 2)).toFixed(2); - - if (distance < uav.radius) { - let newDt = await client.getDateEST(data.time); - let unixTime = Math.floor(newDt.getTime()/1000); - - let uavEmbed = new EmbedBuilder() - .setColor(client.config.Colors.Default) - .setDescription(`**UAV Detection - **\n**${data.player}** was spotted in the UAV zone at **[${data.pos[0]}, ${data.pos[1]}](https://www.izurvive.com/chernarusplussatmap/#location=${data.pos[0]};${data.pos[1]})**`) - - client.users.fetch(uav.owner, false).then((user) => { - user.send({ embeds: [uavEmbed] }); - }); - } - } - }, - - HandleExpiredUAVs: async (client, guildId) => { - let guild = await client.GetGuild(guildId); - let uavs = guild.uavs; - let update = false; - - for (let i = 0; i < uavs.length; i++) { - let uav = uavs[i]; - - let now = new Date(); - let diff = Math.round((now.getTime() - uav.creationDate.getTime()) / 1000 / 60); // diff minutes - - if (diff <= 30) continue; - - uavs.splice(i, 1); - update = true; - - let expired = new EmbedBuilder().setColor(client.config.Colors.Red).setDescription("**Low Battery**\nUAV has run out of battery and is no longer active."); - - client.users.fetch(uav.owner, false).then((user) => { - user.send({ embeds: [expired] }); - }); - } - - if (update) { - client.dbo.collection("guilds").updateOne({ "server.serverID": guildId }, {$set: { "server.uavs": uavs }}, function (err, res) { - if (err) return client.sendInternalError(interaction, err); - }); - } - }, - - KillInAlarm: async (client, guildId, data) => { - - let guild = await client.GetGuild(guildId); - - for (let i = 0; i < guild.alarms.length; i++) { - let alarm = guild.alarms[i]; - if (alarm.disabled || !alarm.rules.includes('ban_on_kill')) continue; // ignore if alarm is disabled or not ban on kill; - if (alarm.ignoredPlayers.includes(data.killerID)) continue; - - let diff = [Math.round(alarm.origin[0] - data.killerPOS[0]), Math.round(alarm.origin[1] - data.killerPOS[1])]; - let distance = Math.sqrt(Math.pow(diff[0], 2) + Math.pow(diff[1], 2)).toFixed(2) - - if (distance < alarm.radius) { - const channel = client.channels.cache.get(alarm.channel); - - let newDt = await client.getDateEST(data.time); - let unixTime = Math.floor(newDt.getTime()/1000); - - let alarmEmbed = new EmbedBuilder() - .setColor(client.config.Colors.Default) - .setDescription(`**Zone Ping - **\n**${data.killer}** was located within **${distance} meters** of the Zone **${alarm.name}** __and has been banned for killing **${data.victim}**.__`) - .addFields({ name: '**Location**', value: `**[${data.killerPOS[0]}, ${data.killerPOS[1]}](https://www.izurvive.com/chernarusplussatmap/#location=${data.killerPOS[0]};${data.killerPOS[1]})**`, inline: false }) - - channel.send({ content: `<@&${alarm.role}>`, embeds: [alarmEmbed] }); - - HandlePlayerBan(client, data.player, true); - } - } - } -} \ No newline at end of file