Most visitors online was 8830 , on 6 Feb 2024
Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!
Join Today!CNtlPacket packet(sizeof(sGU_OBJECT_CREATE));
sGU_OBJECT_CREATE * res = (sGU_OBJECT_CREATE *)packet.GetPacketData();
res->wOpCode = GU_OBJECT_CREATE;
res->sObjectInfo.objType = OBJTYPE_MOB;
res->handle = 0;
res->sObjectInfo.mobState.sCharStateBase.vCurLoc.x = 0;
res->sObjectInfo.mobState.sCharStateBase.vCurLoc.y = 0;
res->sObjectInfo.mobState.sCharStateBase.vCurLoc.z = 0;
res->sObjectInfo.mobState.sCharStateBase.vCurDir.x = 0;
res->sObjectInfo.mobState.sCharStateBase.vCurDir.y = 0;
res->sObjectInfo.mobState.sCharStateBase.vCurDir.z = 0;
res->sObjectInfo.mobState.sCharStateBase.byStateID = CHARSTATE_SPAWNING;
res->sObjectInfo.mobState.sCharStateBase.bFightMode = false;
res->sObjectInfo.mobBrief.tblidx = 0;
res->sObjectInfo.mobBrief.wCurEP = 0;
res->sObjectInfo.mobBrief.wMaxEP = 0;
res->sObjectInfo.mobBrief.wCurLP = 0;
res->sObjectInfo.mobBrief.wMaxLP = 0;
res->sObjectInfo.mobBrief.fLastRunningSpeed =0;
res->sObjectInfo.mobBrief.fLastWalkingSpeed = 0;
pSession->myCCSession->InsertIntoMyMonsterList(res->handle, curpos, uiMobId);
packet.SetPacketLen(sizeof(sGU_OBJECT_CREATE));
g_pApp->Send(pSession->GetSession(), &packet);
the mob size is 0, now you need send mob size in 10thanks for help ^^
done i can spawn one mob but i only see the mob name in map
void CClientSession::SendMonsterCreate(CNtlPacket * pPacket, CGameServer * app)
{
CMobTable* pMyMobTable = app->g_pTableContainer->GetMobTable();
CNtlPacket packet(sizeof(sGU_OBJECT_CREATE));
sGU_OBJECT_CREATE * res = (sGU_OBJECT_CREATE *)packet.GetPacketData();
CMonster::MonsterData * cr = new CMonster::MonsterData;
cr->Level = 70;
//cr->CurEP = 100;
//cr->CurLP =100;
//cr->FightMode = false;
//cr->IsDead = false;
//cr->isSpawned = true;
cr->MonsterID = 1581102;
cr->MonsterSpawnID = 1581102;
// cr->Spawn_Loc = 0;
//cr->Spawn_Dir = 0;
//cr->MaxEP = 0;
//cr->MaxLP = 0;
//cr->Spawn_Quantity = 0;
//cr->Move_DelayTime = 0;
//cr->Run_Speed = 0;
//cr->Run_Speed_origin = 0;
//cr->Walk_Speed = 0;
//cr->Walk_Speed_origin = 0;
//cr->Spawn_Cool_Time = 1 * 1000;
//cr->target = 0;
//cr->curPos = 0;
//cr->Basic_aggro_point = 0;
//cr->Attack_range = 0;
//cr->MaxchainAttackCount = 1;
//cr->chainAttackCount = 0;
//cr->UniqueID = CreateUniqueId();
//m_map_Monster.insert(std::make_pair(cr->UniqueID, cr));
res->wOpCode = GU_OBJECT_CREATE;
res->sObjectInfo.objType = OBJTYPE_MOB;
res->handle = 9000;
res->sObjectInfo.mobState.sCharStateBase.vCurLoc.x = 0;
res->sObjectInfo.mobState.sCharStateBase.vCurLoc.y = 0;
res->sObjectInfo.mobState.sCharStateBase.vCurLoc.z = 0;
res->sObjectInfo.mobState.sCharStateBase.vCurDir.x = 0;
res->sObjectInfo.mobState.sCharStateBase.vCurDir.y = 0;
res->sObjectInfo.mobState.sCharStateBase.vCurDir.z = 0;
res->sObjectInfo.mobState.sCharStateBase.byStateID = CHARSTATE_SPAWNING;
res->sObjectInfo.mobState.sCharStateBase.bFightMode = false;
res->sObjectInfo.mobBrief.tblidx = 1581102;
res->sObjectInfo.mobBrief.wCurEP = 100;
res->sObjectInfo.mobBrief.wMaxEP = 100;
res->sObjectInfo.mobBrief.wCurLP = 100;
res->sObjectInfo.mobBrief.wMaxLP = 100;
res->sObjectInfo.mobBrief.fLastRunningSpeed = 0;
res->sObjectInfo.mobBrief.fLastWalkingSpeed = 0;
cr->Level = 70;
cr->Scale = 100;
packet.SetPacketLen(sizeof(sGU_OBJECT_CREATE));
g_pApp->Send(this->GetHandle(), &packet);
}