From e7fca225b6fe6070ee34efdf34d0900d83caa53f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 8 Jul 2020 10:47:13 +0800 Subject: [PATCH] 1 --- server/gameserver/human.cc | 14 ++++++++++++-- server/gameserver/room.h | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index f23fddd..fd9dead 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -238,15 +238,25 @@ void Human::FillMFTeamData(cs::MFTeamData* team_data) room->frame_no - last_sync_teamdata_frameno_ > SERVER_FRAME_RATE * 2) { #endif last_sync_teamdata_frameno_ = room->frame_no; + team_data->set_player_id(entity_uniid); - team_data->set_name(name); + if (room->gas_data.gas_mode == GasInactive) { + team_data->set_name(name); + } + if (room->gas_data.gas_mode != GasInactive && + room->GetFrameNo() - room->GetBattleStartFrameNo() < 4) { + team_data->set_name(name); + team_data->set_disconnected(socket_handle == 0); + } TypeConvert::ToPb(pos, team_data->mutable_pos()); TypeConvert::ToPb(attack_dir, team_data->mutable_dir()); team_data->set_health(health); team_data->set_max_health(GetMaxHP()); - team_data->set_disconnected(false); team_data->set_dead(dead); team_data->set_downed(downed); + #if 0 + team_data->set_disconnected(false); + #endif } } diff --git a/server/gameserver/room.h b/server/gameserver/room.h index d52bb20..91a44ee 100644 --- a/server/gameserver/room.h +++ b/server/gameserver/room.h @@ -57,6 +57,7 @@ public: int GetPlayerNum(); int AliveCount(); long long AliveCountChgFrameNo() { return alive_count_chged_frameno_; } + long long GetBattleStartFrameNo() { return battle_start_frameno_;} Player* GetPlayerByAccountId(const std::string& accountid); Player* GetPlayerByUniId(int uniid); Entity* GetEntityByUniId(int uniid);