diff --git a/server/gameserver/handlermgr.cc b/server/gameserver/handlermgr.cc index efdc4ed..2bb072c 100644 --- a/server/gameserver/handlermgr.cc +++ b/server/gameserver/handlermgr.cc @@ -87,6 +87,7 @@ void HandlerMgr::RegisterNetMsgHandlers() RegisterNetMsgHandler(&ggmsghandler, &RoomMgr::_CMReconnect); RegisterNetMsgHandler(&ggmsghandler, &Player::_CMMove); + RegisterNetMsgHandler(&ggmsghandler, &Player::_CMExecCommand); RegisterNetMsgHandler(&ggmsghandler, &Player::_CMEmote); RegisterNetMsgHandler(&ggmsghandler, &Player::_CMVoice); RegisterNetMsgHandler(&ggmsghandler, &Player::_CMGameOver); diff --git a/server/gameserver/incubator.cc b/server/gameserver/incubator.cc index 0e117bf..ef8526a 100644 --- a/server/gameserver/incubator.cc +++ b/server/gameserver/incubator.cc @@ -90,7 +90,7 @@ void Incubator::RecycleAndroid(Human* hum) hum->RemoveBuffByEffectId(kBET_BeRecycle); return; } - if (distance < 450) { + if (distance < MetaMgr::Instance()->incubator_canset_distance) { #ifdef DEBUG room->BroadcastDebugMsg(a8::Format("回收机器人 %d:%s 距离太近", {hum->GetEntityUniId(), @@ -99,7 +99,7 @@ void Incubator::RecycleAndroid(Human* hum) hum->RemoveBuffByEffectId(kBET_BeRecycle); return; } - if (distance > 1450) { + if (distance > MetaMgr::Instance()->incubator_canset_distance + 100) { hum->RemoveBuffByEffectId(kBET_BeRecycle); hold_humans_.push_back(hum); room->DisableHuman(hum); diff --git a/server/gameserver/metamgr.cc b/server/gameserver/metamgr.cc index 763e3bd..d6b61b0 100755 --- a/server/gameserver/metamgr.cc +++ b/server/gameserver/metamgr.cc @@ -242,12 +242,12 @@ public: METAMGR_READ(refresh_ai_downed_nearby_teammate_num, 1); METAMGR_READ(refresh_ai_downed_nearby_range, 580); - METAMGR_READ(view_objects_out_distance, 580); - METAMGR_READ(view_objects_in_distance, 580); + METAMGR_READ(view_objects_out_distance, 530); + METAMGR_READ(view_objects_in_distance, 530); - METAMGR_READ(incubator_base_length, 80); + METAMGR_READ(incubator_base_length, 501); METAMGR_READ(incubator_rand_length, 10); - METAMGR_READ(incubator_canset_distance, 100); + METAMGR_READ(incubator_canset_distance, 520); METAMGR_READ(refresh_view_time, 4); { diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index e2393bb..0a71baf 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -1092,6 +1092,19 @@ void Player::_CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg) last_cmmove_frameno = room->GetFrameNo(); } +void Player::_CMExecCommand(f8::MsgHdr& hdr, const cs::CMExecCommand& msg) +{ + std::vector cmds; + a8::Split(msg.cmd().c_str(), cmds, ' '); + if (cmds.empty()) { + return; + } + std::string cmd = cmds[0]; + if (cmd == "gps") { + SendDebugMsg(a8::Format("%d %d", {GetPos().x, GetPos().y})); + } +} + void Player::UpdateDropWeapon() { if (drop_weapon_idx >= 0 && diff --git a/server/gameserver/player.h b/server/gameserver/player.h index 3209c6c..138d7d0 100644 --- a/server/gameserver/player.h +++ b/server/gameserver/player.h @@ -102,6 +102,7 @@ class Player : public Human void _CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg); void _CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg); + void _CMExecCommand(f8::MsgHdr& hdr, const cs::CMExecCommand& msg); void _CMEmote(f8::MsgHdr& hdr, const cs::CMEmote& msg); void _CMVoice(f8::MsgHdr& hdr, const cs::CMVoice& msg); void _CMGameOver(f8::MsgHdr& hdr, const cs::CMGameOver& msg);