diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index bfd398fc..5f0e5cdd 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -3500,6 +3500,15 @@ int Room::GetPolyExtFlag(int poly_idx) void Room::CreateWorldObjects() { + if (IsNewBieRoom()) { + int uniid = AllocUniid(); + std::shared_ptr born_point = std::make_shared(); + std::shared_ptr wo_meta = std::make_shared(); + wo_meta->pos = mt::Param::s().newbie_room_born_point; + born_point->wo_meta = wo_meta; + born_point_hash_[uniid] = born_point; + return; + } if (IsPveRoom()) { int uniid = AllocUniid(); std::shared_ptr born_point = std::make_shared(); diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index 2242e722..f5965aa8 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -964,6 +964,7 @@ void RoomMgr::EnterNewBie(f8::MsgHdr& hdr, const cs::CMJoin& msg) { const mt::Hero* hero_meta = mt::Hero::GetById(mt::Param::s().newbie_room_hero_id); const mt::Equip* weapon_meta = mt::Equip::GetById(mt::Param::s().newbie_room_weapon_id); + hum->meta = hero_meta; context->ForceInit ( App::Instance()->AllocTempHeroUniId(),