From 3981969dfde1c864c85163adfc601eefc8da86e1 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 30 Apr 2024 14:53:31 +0800 Subject: [PATCH] 1 --- server/gameserver/commands.cc | 11 +++++++++++ server/gameserver/team.cc | 10 ++++++++++ server/gameserver/team.h | 3 +++ 3 files changed, 24 insertions(+) diff --git a/server/gameserver/commands.cc b/server/gameserver/commands.cc index 63d962d8..8093b966 100644 --- a/server/gameserver/commands.cc +++ b/server/gameserver/commands.cc @@ -501,6 +501,17 @@ void Player::_CMExecCommand(f8::MsgHdr* hdr, const cs::CMExecCommand& msg) for (auto& str : strings) { SendDebugMsg("数值: " + str); } + } else if (cmd == "moba_pingju" && cmds.size() >= 0) { + if (room->IsMobaModeRoom() && !room->IsGameOver()) { + room->TraverseTeams + ( + [] (Team* team) -> bool + { + team->SetKillCount(5); + return true; + }); + room->xtimer.Delete(room->moba_over_timer); + } } else if (cmd == "findpath" && cmds.size() >= 3) { float x = a8::XValue(cmds[1]).GetDouble(); float y = a8::XValue(cmds[2]).GetDouble(); diff --git a/server/gameserver/team.cc b/server/gameserver/team.cc index c66ef5bf..292c8d6a 100644 --- a/server/gameserver/team.cc +++ b/server/gameserver/team.cc @@ -537,6 +537,9 @@ void Team::IncKillCount() #endif ++kill_count_; last_kill_frameno_ = room->GetFrameNo(); + if (room->IsMobaModeRoom() && room->GetMobaOvertimeRaceFrameNo() > 0) { + room->MobaOver(); + } } int Team::GetAlivePlayerNum() @@ -828,3 +831,10 @@ void Team::GenRoomReportData(a8::MutableXObject* params) params->SetVal("pvp_team_kills", pvp_team_kills); } } + +#ifdef MYDEBUG +void Team::SetKillCount(int count) +{ + kill_count_ = count; +} +#endif diff --git a/server/gameserver/team.h b/server/gameserver/team.h index 28c3c0bb..b0268fd4 100644 --- a/server/gameserver/team.h +++ b/server/gameserver/team.h @@ -56,6 +56,9 @@ class Team : public std::enable_shared_from_this bool IsViewTeam() { return is_view_; } void SetViewTeam() { is_view_ = true; } void IncKillCount(); +#ifdef MYDEBUG + void SetKillCount(int count); +#endif int GetKillCount(); long long GetLastKillFrameNo() { return last_kill_frameno_; } bool MemberHasOb();