diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index ba982547..b2f0771e 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -1033,7 +1033,7 @@ void Player::_CMMove(f8::MsgHdr* hdr, const cs::CMMove& msg) tmp_pos.z }); #endif - Pullback(); + SyncServerPos(0); } else { move_target_pos_ = tmp_pos; } @@ -1046,7 +1046,7 @@ void Player::_CMMove(f8::MsgHdr* hdr, const cs::CMMove& msg) tmp_pos.z }); #endif - Pullback(); + SyncServerPos(0); } } } else { @@ -2024,17 +2024,18 @@ void Player::SetShotHold(bool hold) shot_hold = hold; } -void Player::Pullback() +void Player::SyncServerPos(int reason) { #ifdef MYDEBUG - a8::XPrintf("pullback %f,%f,%f\n", + a8::XPrintf("SyncServerPos %f,%f,%f\n", { GetPos().GetX(), GetPos().GetY(), GetPos().GetZ(), }); #endif - cs::SMPullback msg; + cs::SMServerSyncPos msg; + msg.set_reason(reason); TypeConvert::ToPb(GetPos().ToGlmVec3(), msg.mutable_pos()); SendNotifyMsg(msg); } diff --git a/server/gameserver/player.h b/server/gameserver/player.h index f3cb6702..b380faa3 100644 --- a/server/gameserver/player.h +++ b/server/gameserver/player.h @@ -151,7 +151,7 @@ class Player : public Human void _CMMobaBattleData(f8::MsgHdr* hdr, const cs::CMMobaBattleData& msg); virtual void SetAttackDir(const glm::vec3& attack_dir) override; void AsyncRequestWatchWar(bool send_rsp_msg); - void Pullback(); + void SyncServerPos(int reason); protected: Player(); diff --git a/server/tools/protobuild/cs_msgid.proto b/server/tools/protobuild/cs_msgid.proto index 89e8de18..18fc53dc 100644 --- a/server/tools/protobuild/cs_msgid.proto +++ b/server/tools/protobuild/cs_msgid.proto @@ -77,5 +77,5 @@ enum SMMessageId_e _SMBattlePreInfoUpdate = 1034; _SMAddBattleHint = 1035; _SMDelBattleHint = 1036; - _SMPullback = 1037; + _SMServerSyncPos = 1037; } diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index 12752907..4ed91e91 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -2149,8 +2149,9 @@ message SMDelBattleHint optional int32 uniid = 1; //唯一id } -//移动失败-拉回 -message SMPullback +//同步服务器坐标 +message SMServerSyncPos { + optional int32 reason = 1; //0:移动拉回 其他:直接设置坐标 optional MFVec3 pos = 2; //坐标 } \ No newline at end of file