From 665c9a26a2928e7b9f68fa77ba0d0c1381253aa9 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 26 Apr 2024 10:55:41 +0800 Subject: [PATCH] 1 --- server/gameserver/buff/callfunc.cc | 8 +++--- server/gameserver/creature.cc | 6 +++-- server/gameserver/lispenv.cc | 4 +++ server/gameserver/player.cc | 6 +++++ server/gameserver/skill.cc | 39 ++++++++++++++++++++++++++++++ third_party/a8 | 2 +- 6 files changed, 59 insertions(+), 6 deletions(-) diff --git a/server/gameserver/buff/callfunc.cc b/server/gameserver/buff/callfunc.cc index 388fc7e4..f46cb019 100644 --- a/server/gameserver/buff/callfunc.cc +++ b/server/gameserver/buff/callfunc.cc @@ -401,13 +401,15 @@ void CallFuncBuff::ProcAddMinorMode() } } }); -#ifdef MYDEBUG +#ifdef MYDEBUG1 if (owner_ptr.Get()->IsPlayer()) { - a8::XPrintf("ProcAddMinorMode buff_uniid:%d buff_id:%d dur_time:%d 2222222222222222\n", + a8::XPrintf("ProcAddMinorMode buff_uniid:%d buff_id:%d dur_time:%d frame_no:%d 2222222222222222\n", { buff_uniid, meta->buff_id(), - dur_time}); + dur_time, + owner_ptr.Get()->room->GetFrameNo(), + }); } #endif } diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index fcdaae93..922457a3 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -360,6 +360,7 @@ int Creature::AddBuff(Creature* caster, room->frame_event.AddBuff(GetWeakPtrRef(), buff.get()); } #ifdef MYDEBUG1 + if (IsPlayer()) { SendDebugMsg(a8::Format("添加buff_id:%d effect:%d %s params:%d,%d,%d,%d,%d uniid:%d dur:%d", { @@ -375,7 +376,7 @@ int Creature::AddBuff(Creature* caster, room->xtimer.GetRemainTime(buff->remover_timer) })); - a8::XPrintf("%s\n", {(a8::Format("添加buff_id:%d effect:%d %s params:%d,%d,%d,%d,%d uniid:%d dur:%d", + a8::XPrintf("%s\n", {(a8::Format("添加buff_id:%d effect:%d %s params:%d,%d,%d,%d,%d uniid:%d dur:%d frame_no:%d", { buff_meta->buff_id(), buff_meta->buff_effect(), @@ -386,7 +387,8 @@ int Creature::AddBuff(Creature* caster, buff_meta->_int_buff_param4, buff_meta->_int_buff_param5, buff->buff_uniid, - room->xtimer.GetRemainTime(buff->remover_timer) + room->xtimer.GetRemainTime(buff->remover_timer), + room->GetFrameNo() }))}); } diff --git a/server/gameserver/lispenv.cc b/server/gameserver/lispenv.cc index 1040b7e6..0978d9f9 100644 --- a/server/gameserver/lispenv.cc +++ b/server/gameserver/lispenv.cc @@ -392,6 +392,10 @@ public: (context_.buff->skill_meta->skill_id(), atom_idx.val, atom_val.val); + } else { +#ifdef MYDEBUG + abort(); +#endif } } else { #ifdef MYDEBUG diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 8db5e648..3e08127d 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -956,6 +956,12 @@ void Player::_CMMove(f8::MsgHdr* hdr, const cs::CMMove& msg) }); } #endif +#ifdef MYDEBUG1 + a8::XPrintf("CMMove aiming%d\n", + { + msg.aiming() + }); +#endif #ifdef MYDEBUG1 if (msg.skill_id()) { a8::XPrintf("CMMove.Shot shot_sart:%d shot_hold:%d skill_hold:%d skill_id:%d seq:%d\n", diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index bbd59a36..e1145373 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -21,6 +21,7 @@ #include "movement.h" #include "team.h" #include "app.h" +#include "tracemgr.h" #include "mt/Buff.h" #include "mt/Skill.h" @@ -186,6 +187,14 @@ void Skill::AddMinorMode( std::function cb ) { +#ifdef MYDEBUG1 + if (owner->IsPlayer()) { + a8::XPrintf("AddMinorMode frame_no:%d minor_type:%d\n", {owner->room->GetFrameNo(), minor_type}); + a8::XPrintf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n", {}); + TraceMgr::Instance()->PrintBackTrace(); + a8::XPrintf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n", {}); + } +#endif bool is_player = owner->IsPlayer(); if (!minor_mode_timer_.expired()) { owner->room->xtimer.Delete(minor_mode_timer_); @@ -199,7 +208,23 @@ void Skill::AddMinorMode( [this] (int event, const a8::Args* args) { if (a8::TIMER_EXEC_EVENT == event) { +#ifdef MYDEBUG1 + if (owner->IsPlayer()) { + a8::XPrintf("ExecTimer MinorMode frame_no:%d\n", {owner->room->GetFrameNo()}); + a8::XPrintf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n", {}); + TraceMgr::Instance()->PrintBackTrace(); + a8::XPrintf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n", {}); + } +#endif } else if (a8::TIMER_DELETE_EVENT == event) { +#ifdef MYDEBUG1 + if (owner->IsPlayer()) { + a8::XPrintf("DeleteTimer MinorMode frame_no:%d\n", {owner->room->GetFrameNo()}); + a8::XPrintf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n", {}); + TraceMgr::Instance()->PrintBackTrace(); + a8::XPrintf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n", {}); + } +#endif minor_type_ = SMT_NONE; minor_cd_time_ = 0; minor_frameno_ = 0; @@ -245,6 +270,20 @@ void Skill::AddMinorMode( void Skill::DoMinorMode() { +#ifdef MYDEBUG1 + if (owner->IsPlayer()) { + a8::XPrintf("DoMinorMode frameno:%d minor_type:%d timer_expired:%d cb:%d\n", + { + owner->room->GetFrameNo(), + GetMinorType(), + minor_mode_timer_.expired() ? 1 : 0, + minor_cb_ != nullptr ? 1 : 0 + }); + a8::XPrintf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n", {}); + TraceMgr::Instance()->PrintBackTrace(); + a8::XPrintf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n", {}); + } +#endif if (GetMinorType() != SMT_NONE && GetMinorType() != SMT_DISABLE) { auto old_cb = minor_cb_; diff --git a/third_party/a8 b/third_party/a8 index 4b4462b8..d8a2bcba 160000 --- a/third_party/a8 +++ b/third_party/a8 @@ -1 +1 @@ -Subproject commit 4b4462b83320d77e10ea347d4055656538a4b220 +Subproject commit d8a2bcbafed7b2a6941cb13131bfea1ef143066b