From 15d90787a382d170dfd5e481528bb1779dec90c1 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 2 Apr 2024 13:51:16 +0800 Subject: [PATCH] 1 --- server/gameserver/ingamevoice.cc | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/server/gameserver/ingamevoice.cc b/server/gameserver/ingamevoice.cc index c769bbfc..bb9c6a18 100644 --- a/server/gameserver/ingamevoice.cc +++ b/server/gameserver/ingamevoice.cc @@ -4,6 +4,7 @@ #include "room.h" #include "human.h" #include "team.h" +#include "stats.h" #include "mt/InGameVoice.h" @@ -70,6 +71,10 @@ void InGameVoice::OnHumanBeKill(int killer_id, Human* deader) } ++global_kills_; if (global_kills_ > 0) { + if (room_->GetFrameNo() - killer->stats->last_kill_frameno > + SERVER_FRAME_RATE * mt::InGameVoice::s_series_kill_interval) { + personal_kills_.erase(killer_id); + } IncIntMap(personal_kills_, killer_id); IncIntMap(personal_series_kills_, killer_id); if (!killer->dead) { @@ -77,18 +82,6 @@ void InGameVoice::OnHumanBeKill(int killer_id, Human* deader) } } TriggerEvent(killer, deader); - { - room_->xtimer.SetTimeoutWpEx - ( - SERVER_FRAME_RATE * mt::InGameVoice::s_series_kill_interval, - [room = room_, killer_id] (int event, const a8::Args* args) - { - if (a8::TIMER_EXEC_EVENT == event) { - DecIntMap(room->GetInGameVoice()->personal_series_kills_, killer_id); - } - }, - &room_->xtimer_attacher_); - } } void InGameVoice::Notify(Human* killer, Human* deader, const mt::InGameVoice* meta,