From 27eb91010ec25d5559a0d7d31a583cbe18ba7970 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 11 May 2024 11:57:51 +0800 Subject: [PATCH] 1 --- server/gameserver/buff/callfunc.cc | 3 ++- server/gameserver/skill.cc | 24 ++++++++++++++++-------- server/gameserver/skill.h | 3 ++- server/gameserver/tracemgr.cc | 2 ++ 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/server/gameserver/buff/callfunc.cc b/server/gameserver/buff/callfunc.cc index 5d349d9f..c7ddd360 100644 --- a/server/gameserver/buff/callfunc.cc +++ b/server/gameserver/buff/callfunc.cc @@ -400,7 +400,8 @@ void CallFuncBuff::ProcAddMinorMode() } } } - }); + }, + meta->buff_id()); #ifdef MYDEBUG1 if (owner_ptr.Get()->IsPlayer()) { a8::XPrintf("ProcAddMinorMode buff_uniid:%d buff_id:%d dur_time:%d frame_no:%d 2222222222222222\n", diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index e1145373..ca5377b7 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -184,12 +184,17 @@ int Skill::GetMaxExp() void Skill::AddMinorMode( int minor_type, int minor_cd_time, - std::function cb + std::function cb, + int buff_id ) { -#ifdef MYDEBUG1 +#ifdef MYDEBUG if (owner->IsPlayer()) { - a8::XPrintf("AddMinorMode frame_no:%d minor_type:%d\n", {owner->room->GetFrameNo(), minor_type}); + a8::XPrintf("AddMinorMode frame_no:%d minor_type:%d minor_cd_time:%d buff_id:%d\n", + {owner->room->GetFrameNo(), + minor_type, + minor_cd_time, + buff_id}); a8::XPrintf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n", {}); TraceMgr::Instance()->PrintBackTrace(); a8::XPrintf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n", {}); @@ -205,22 +210,25 @@ void Skill::AddMinorMode( minor_cb_ = cb; minor_mode_timer_ = owner->room->xtimer.SetTimeoutWpEx (minor_cd_time / FRAME_RATE_MS, - [this] (int event, const a8::Args* args) + [this, buff_id] (int event, const a8::Args* args) { if (a8::TIMER_EXEC_EVENT == event) { -#ifdef MYDEBUG1 +#ifdef MYDEBUG if (owner->IsPlayer()) { - a8::XPrintf("ExecTimer MinorMode frame_no:%d\n", {owner->room->GetFrameNo()}); + a8::XPrintf("ExecTimer MinorMode frame_no:%d buff_id:%d\n", {owner->room->GetFrameNo(), buff_id}); a8::XPrintf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n", {}); TraceMgr::Instance()->PrintBackTrace(); a8::XPrintf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n", {}); } #endif } else if (a8::TIMER_DELETE_EVENT == event) { -#ifdef MYDEBUG1 +#ifdef MYDEBUG if (owner->IsPlayer()) { - a8::XPrintf("DeleteTimer MinorMode frame_no:%d\n", {owner->room->GetFrameNo()}); + a8::XPrintf("DeleteTimer MinorMode frame_no:%d buff_id:%d\n", {owner->room->GetFrameNo(), buff_id}); a8::XPrintf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n", {}); + if (buff_id == 202030) { + int i = 0; + } TraceMgr::Instance()->PrintBackTrace(); a8::XPrintf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n", {}); } diff --git a/server/gameserver/skill.h b/server/gameserver/skill.h index 8f34779a..5a5d75e4 100644 --- a/server/gameserver/skill.h +++ b/server/gameserver/skill.h @@ -50,7 +50,8 @@ class Skill void AddMinorMode( int minor_type, int minor_cd_time, - std::function cb + std::function cb, + int buff_id ); void DoMinorMode(); void CancelMinorMode(); diff --git a/server/gameserver/tracemgr.cc b/server/gameserver/tracemgr.cc index 1f9c51b4..8b59cf27 100644 --- a/server/gameserver/tracemgr.cc +++ b/server/gameserver/tracemgr.cc @@ -34,7 +34,9 @@ void TraceMgr::Trace(const std::string& hint) void TraceMgr::PrintBackTrace() { + #if 0 std::cout << boost::stacktrace::stacktrace(); + #endif } #endif