diff --git a/server/gameserver/human.h b/server/gameserver/human.h index d2cbed4..a11d6ac 100644 --- a/server/gameserver/human.h +++ b/server/gameserver/human.h @@ -98,6 +98,7 @@ class Human : public MoveableEntity bool dead = false; long long dead_frameno = 0; long long real_dead_frameno = 0; + std::set join_team_members; Weapon default_weapon; Weapon car_weapon; diff --git a/server/gameserver/playermgr.cc b/server/gameserver/playermgr.cc index 5218bda..4c8b486 100644 --- a/server/gameserver/playermgr.cc +++ b/server/gameserver/playermgr.cc @@ -105,6 +105,13 @@ Player* PlayerMgr::CreatePlayerByCMJoin(Player* hum, } } #if 1 + { + for (auto& member : msg.team_members()) { + if (member.account_id() != hum->account_id) { + hum->join_team_members.insert(member.account_id()); + } + } + } { int idx = 0; for (int skin_id : msg.baseskin()) { diff --git a/server/gameserver/roommgr.h b/server/gameserver/roommgr.h index f571b6e..2869345 100644 --- a/server/gameserver/roommgr.h +++ b/server/gameserver/roommgr.h @@ -63,4 +63,5 @@ class RoomMgr : public a8::Singleton std::map over_room_hash_; a8::TimerAttacher reportstate_timer_attacher_; std::map gm_hash_; + std::map team_hash_; };