mirror of
https://github.com/AsgardEternal/SquadJS.git
synced 2024-09-28 14:04:25 -05:00
track warnings, emit event when kicking player
This commit is contained in:
parent
602b8bf720
commit
0763f0ebab
@ -84,7 +84,7 @@ export default class AutoKickAFK extends BasePlugin {
|
||||
});
|
||||
|
||||
const runConditions = () => {
|
||||
// return true; // force run for testing TODO: remove
|
||||
// return true; // force run for testing
|
||||
return (
|
||||
!this.betweenRounds ||
|
||||
options.playerCountThreshold > 0 < server.players.count ||
|
||||
@ -124,11 +124,13 @@ export default class AutoKickAFK extends BasePlugin {
|
||||
Logger.verbose('AutoAFK', 1, `Tracking: ${player.name}`);
|
||||
const tracker = {};
|
||||
tracker.player = player;
|
||||
tracker.warnings = 0;
|
||||
tracker.startTime = Date.now();
|
||||
tracker.warnTimerID = setInterval(async () => {
|
||||
const timeLeft = msFormat(this.kickTimeout - (Date.now() - tracker.startTime));
|
||||
Logger.verbose('AutoAFK', 1, `Warning: ${player.name} (${timeLeft})`);
|
||||
server.rcon.warn(player.steamID, `${options.warningMessage} - ${timeLeft}`);
|
||||
tracker.warnings++;
|
||||
}, this.warningInterval);
|
||||
|
||||
tracker.kickTimerID = setTimeout(async () => {
|
||||
@ -141,6 +143,7 @@ export default class AutoKickAFK extends BasePlugin {
|
||||
|
||||
const untrackPlayer = (steamID) => {
|
||||
const tracker = this.trackedPlayers[steamID];
|
||||
server.emit('PLAYER_AFK_KICKED', tracker);
|
||||
Logger.verbose('AutoAFK', 1, `[AutoAFK] unTrack: ${tracker.player.name}`);
|
||||
clearInterval(tracker.warnTimerID); // clears warning interval
|
||||
clearTimeout(tracker.kickTimerID); // clears kick timeout
|
||||
|
Loading…
Reference in New Issue
Block a user