public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { GCCharDirectImpact Packet = (GCCharDirectImpact)pPacket; if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { CObject pObj = CObjectManager.Instance.FindServerObject(Packet.RecieverID); if (pObj != null) { _DAMAGE_INFO infoDamage = new _DAMAGE_INFO(); infoDamage.m_nSkillID = Packet.SkillID; infoDamage.m_nTargetID = (uint)Packet.RecieverID; infoDamage.m_nSenderID = (uint)Packet.SenderID; infoDamage.m_nSenderLogicCount = Packet.SenderLogicCount; infoDamage.m_nImpactID = Packet.ImpactID; infoDamage.m_nType = _DAMAGE_INFO.DAMAGETYPE.TYPE_EFFECT; _LOGIC_EVENT logicEvent = new _LOGIC_EVENT(); logicEvent.Init(infoDamage.m_nSenderID, infoDamage.m_nSenderLogicCount, infoDamage); SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_LOGIC_EVENT; cmdTemp.SetValue <object>(0, logicEvent); pObj.PushCommand(cmdTemp); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } LogManager.Log("RECV GCCharDirectImpact"); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { GCCharSkillSend Packet = (GCCharSkillSend)pPacket; if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { CObject pObj = CObjectManager.Instance.FindServerObject(Packet.ObjectID); if (pObj != null) { SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_MAGIC_SEND; cmdTemp.SetValue <uint>(0, 0); cmdTemp.SetValue <int>(1, Packet.nLogicCount); cmdTemp.SetValue <short>(2, Packet.SkillDataID); cmdTemp.SetValue <uint>(3, (uint)Packet.TargetID); cmdTemp.SetValue <float>(4, Packet.posTarget.m_fX); cmdTemp.SetValue <float>(5, Packet.posTarget.m_fZ); cmdTemp.SetValue <float>(6, Packet.Dir); pObj.PushCommand(cmdTemp); //pObj->PushDebugString("GCCharSkill_Send"); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } LogManager.LogWarning("RECV GCCharSkillSend " + Packet.SkillDataID); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { if (GameProcedure.GetActiveProcedure() == (GameProcedure)GameProcedure.s_ProcMain) { LogManager.Log("Receive GCObjTeleport Packet"); GCObjTeleport Packet = (GCObjTeleport)pPacket; CObject pObj = CObjectManager.Instance.FindServerObject(Packet.ObjID); if (pObj == null || !(pObj is CObject_Character)) { return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } //if(!GFX.GfxSystem.Instance.IsValidPosition(Packet.PosWorld.m_fX, Packet.PosWorld.m_fZ)) // { // LogManager.LogError("ERROR POSITION @ GCCharIdleHandler"); // } SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_TELEPORT; cmdTemp.SetValue <float>(0, Packet.PosWorld.m_fX); cmdTemp.SetValue <float>(1, Packet.PosWorld.m_fZ); pObj.PushCommand(cmdTemp); // 瞬移时,清空寻路节点 [9/2/2011 Sun] //CWorldManager::GetMe()->SetPathNodesDirty(); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { if (GameProcedure.GetActiveProcedure() == (GameProcedure)GameProcedure.s_ProcMain) { LogManager.Log("Receive GCSpecialObjFadeOut Packet"); GCSpecialObjFadeOut Packet = (GCSpecialObjFadeOut)pPacket; CObject pObj = CObjectManager.Instance.FindServerObject(Packet.ObjID); if (pObj == null) { return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_SPECIAL_OBJ_DIE; pObj.PushCommand(cmdTemp); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { GCCharImpactListUpdate Packet = (GCCharImpactListUpdate)pPacket; if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { CObject pObj = CObjectManager.Instance.FindServerObject(Packet.OwnerID); if (pObj != null) { ////如果需要更新资源,尝试放入缓冲队列 //if(pObjectManager->GetLoadQueue()->TryAddLoadTask(pObj->GetID(), pPacket)) // return PACKET_EXE_NOTREMOVE; CObject_Character pChar = (CObject_Character)pObj; if (pChar != null) { pChar.RemoveAllImpact(); } SimpleImpactList ImpactList = new SimpleImpactList(); for (short i = 0; i < Packet.NumImpact; i++) { SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_UPDATE_IMPACT_EX; cmdTemp.SetValue <short>(0, Packet.ImpactID[i]); pObj.PushCommand(cmdTemp); ImpactList.AddImpact(Packet.ImpactID[i]); } //待实现 //CTeamOrGroup* pTeam = CUIDataPool::GetMe()->GetTeamOrGroup(); //if ( pTeam != NULL ) //{ // pTeam->UpdateImpactsList( pPacket->GetOwnerID(), &ImpactList ); //} //pObj->PushDebugString("GCCharImpactListUpdate"); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } LogManager.Log("RECV GCCharImpactListUpdate"); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { LogManager.Log("RECV GCCharJump"); GCCharJump Packet = (GCCharJump)pPacket; CObject pObj = (CObject)(CObjectManager.Instance.FindServerObject(Packet.ObjectID)); if (pObj == null) { return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_JUMP; pObj.PushCommand(cmdTemp); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { GCCharSkillGatherModify Packet = (GCCharSkillGatherModify)pPacket; if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { CObject pObj = CObjectManager.Instance.FindServerObject(Packet.ObjectID); if (pObj != null) { SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_SKILL_GATHER_MODIFY; cmdTemp.SetValue <float>(0, (float)Packet.SubTime / 1000.0f); pObj.PushCommand(cmdTemp); //pObj->PushDebugString("GCCharSkill_Gather_Modify"); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } } LogManager.Log("RECV GCCharSkillGatherModify"); return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { if (GameProcedure.GetActiveProcedure() == (GameProcedure)GameProcedure.s_ProcMain) { LogManager.Log("Receive GCCharBuff Packet"); GCCharBuff charBuffPacket = (GCCharBuff)pPacket; CObject pObj = CObjectManager.Instance.FindServerObject((int)charBuffPacket.RecieverID); if (pObj == null || !(pObj is CObject_Character)) { return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_UPDATE_IMPACT; cmdTemp.SetValue <short>(0, charBuffPacket.BuffID); cmdTemp.SetValue <int>(1, charBuffPacket.Enable); cmdTemp.SetValue <int>(2, charBuffPacket.SenderID); pObj.PushCommand(cmdTemp); //待实现 //CTeamOrGroup* pTeam = CUIDataPool::GetMe()->GetTeamOrGroup(); //if ( pTeam != NULL ) //{ // if ( pPacket->GetEnable() ) // { // pTeam->AddImpact( pPacket->GetReceiverID(), pPacket->GetBuffID() ); // } // else // { // pTeam->RemoveImpact( pPacket->GetReceiverID(), pPacket->GetBuffID() ); // } //} //pObj.PushDebugString("GCCharBuff"); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); // 广播更新buff [11/10/2011 Ivan edit] CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_BUFF_UPDATE); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { if (GameProcedure.GetActiveProcedure() == (GameProcedure)GameProcedure.s_ProcMain) { //LogManager.Log("Receive GCCharMove Packet"); GCCharMove charMovePacket = (GCCharMove)pPacket; CObjectManager pObjectManager = CObjectManager.Instance; CObject pObj = (CObject)(pObjectManager.FindServerObject((int)charMovePacket.ObjID)); if (pObj == null || !(pObj is CObject_Character)) { return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } SCommand_Object cmdTemp = new SCommand_Object(); if (charMovePacket.IsHaveStopInfo()) { cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_STOP_MOVE; cmdTemp.SetValue(0, charMovePacket.StopLogicCount); cmdTemp.SetValue(1, 0); cmdTemp.SetValue(2, pObj.GetPosition().x); cmdTemp.SetValue(3, pObj.GetPosition().z); pObj.PushCommand(cmdTemp); } WORLD_POS[] posTarget = new WORLD_POS[1]; posTarget[0].m_fX = charMovePacket.PosTarget.m_fX; posTarget[0].m_fZ = charMovePacket.PosTarget.m_fZ; cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_MOVE; cmdTemp.SetValue(0, charMovePacket.StartTime); cmdTemp.SetValue(1, charMovePacket.HandleID); cmdTemp.SetValue(2, 1); cmdTemp.SetValue(3, posTarget); pObj.PushCommand(cmdTemp); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { GCSpecialObjActNow Packet = (GCSpecialObjActNow)pPacket; if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { LogManager.Log("RECV GCSpecialObj_ActNowHandler"); CObject pObj = CObjectManager.Instance.FindServerObject(Packet.ObjID); if (pObj != null) { _ObjID_List listObjID = Packet.ObjIDList; SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_SPECIAL_OBJ_TRIGGER; cmdTemp.SetValue <int>(0, Packet.LogicCount); cmdTemp.SetValue <int>(1, listObjID.m_nCount); cmdTemp.SetValue <object>(2, (object)(listObjID.m_aIDs)); pObj.PushCommand(cmdTemp); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { if (GameProcedure.GetActiveProcedure() == (GameProcedure)GameProcedure.s_ProcMain) { GCCharStopAction Packet = (GCCharStopAction)pPacket; CObjectManager pObjectManager = CObjectManager.Instance; CObject pObj = (CObject)(pObjectManager.FindServerObject((int)Packet.ObjectID)); if (pObj == null || !(pObj is CObject_Character)) { return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_STOP_ACTION; cmdTemp.SetValue(0, Packet.LogicCount); cmdTemp.SetValue(1, Packet.StopTime); pObj.PushCommand(cmdTemp); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { LogManager.Log("RECV GCArrive"); GCArrive Packet = (GCArrive)pPacket; CObject pObj = (CObject)(CObjectManager.Instance.FindServerObject(Packet.ObjectID)); if (pObj == null) { return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_STOP_MOVE; cmdTemp.SetValue <int>(0, Packet.HandleID); cmdTemp.SetValue <int>(1, 0); cmdTemp.SetValue <float>(2, Packet.PosWorld.m_fX); cmdTemp.SetValue <float>(3, Packet.PosWorld.m_fZ); pObj.PushCommand(cmdTemp); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPack, ref Peer pPlayer) { LogManager.Log("RECV GCCharEquipment Packet "); if (GameProcedure.GetActiveProcedure() == (GameProcedure)GameProcedure.s_ProcMain) { CObjectManager pObjectManager = CObjectManager.Instance; GCCharEquipment pPacket = (GCCharEquipment)pPack; CObject pObj = (CObject)(pObjectManager.FindServerObject((int)pPacket.getObjID())); if (pObj == null || !(pObj is CObject_Character)) { return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } /* * static UINT pBuf[UPDATE_CHAR_ATT_NUMBERS]; * pPacket.FillParamBuf( (VOID*)pBuf ); * * SCommand_Object cmdTemp; * cmdTemp.m_wID = OC_UPDATE_EQUIPMENT; * cmdTemp.m_adwParam[0] = pPacket.getFlags(); * cmdTemp.m_apParam[1] = (VOID*)pBuf; * pObj.PushCommand(&cmdTemp ); */ //刷入数据池 CCharacterData pCharacterData = ((CObject_Character)pObj).GetCharacterData(); // if(pObj == (CObject*)CObjectManager::GetMe().GetMySelf()) { uint dwEquipFlag = pPacket.getFlags(); if ((dwEquipFlag & (1 << (int)HUMAN_EQUIP.HEQUIP_WEAPON)) != 0) { pCharacterData.Set_EquipGem(HUMAN_EQUIP.HEQUIP_WEAPON, (int)pPacket.getWeaponGemID()); pCharacterData.Set_Equip(HUMAN_EQUIP.HEQUIP_WEAPON, (int)pPacket.getWeaponID()); } if ((dwEquipFlag & (1 << (int)HUMAN_EQUIP.HEQUIP_CAP)) != 0) { pCharacterData.Set_Equip(HUMAN_EQUIP.HEQUIP_CAP, (int)pPacket.getCapID()); } if ((dwEquipFlag & (1 << (int)HUMAN_EQUIP.HEQUIP_ARMOR)) != 0) { pCharacterData.Set_Equip(HUMAN_EQUIP.HEQUIP_ARMOR, (int)pPacket.getArmourID()); pCharacterData.Set_EquipGem(HUMAN_EQUIP.HEQUIP_ARMOR, (int)pPacket.getArmourGemID()); } if ((dwEquipFlag & (1 << (int)HUMAN_EQUIP.HEQUIP_CUFF)) != 0) { pCharacterData.Set_Equip(HUMAN_EQUIP.HEQUIP_CUFF, (int)pPacket.getCuffID()); } if ((dwEquipFlag & (1 << (int)HUMAN_EQUIP.HEQUIP_BOOT)) != 0) { pCharacterData.Set_Equip(HUMAN_EQUIP.HEQUIP_BOOT, (int)pPacket.getBootID()); } // [8/30/2010 Sun] if ((dwEquipFlag & (1 << (int)HUMAN_EQUIP.HEQUIP_BACK)) != 0) { pCharacterData.Set_Equip(HUMAN_EQUIP.HEQUIP_BACK, (int)pPacket.getBackID()); } // 支持进入游戏时,服务器刷新肩甲 [4/27/2011 ivan edit] if ((dwEquipFlag & (1 << (int)HUMAN_EQUIP.HEQUIP_SASH)) != 0) { pCharacterData.Set_Equip(HUMAN_EQUIP.HEQUIP_SASH, (int)pPacket.getSashID()); pCharacterData.Set_EquipGem(HUMAN_EQUIP.HEQUIP_SASH, (int)pPacket.getSashGemID()); } } pObj.PushDebugString("GCCharEquipment"); pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { if (GameProcedure.GetActiveProcedure() == (GameProcedure)GameProcedure.s_ProcMain) { GCTargetListAndHitFlags Packet = (GCTargetListAndHitFlags)pPacket; CObject pObj = CObjectManager.Instance.FindServerObject(Packet.ObjID); LogManager.Log("Receive GCTargetListAndHitFlags Packet " + Packet.ObjID + " BulletID: " + Packet.SkillOrSpecialObjDataID + " TargetID: " + Packet.TargetID); if (pObj == null) { return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } string pszSenderLocator = ""; bool bHitCharacter = false; int nBulletID = MacroDefine.INVALID_ID; if ((byte)GCTargetListAndHitFlags.TARGETTYPE.SPECIAL_OBJ_ACTIVATE == Packet.DataType) { _DBC_SPECIAL_OBJ_DATA pSpecialObjData = CDataBaseSystem.Instance.GetDataBase <_DBC_SPECIAL_OBJ_DATA>((int)DataBaseStruct.DBC_SPECIAL_OBJ_DATA).Search_Index_EQU((int)Packet.SkillOrSpecialObjDataID); if (pSpecialObjData != null) { nBulletID = pSpecialObjData.m_nBulletID; bHitCharacter = true; pszSenderLocator = ""; } } else { _DBC_SKILL_DATA skillData = CSkillDataMgr.Instance.GetSkillData((uint)Packet.SkillOrSpecialObjDataID); if (skillData != null) { nBulletID = skillData.m_nBulletID; pszSenderLocator = skillData.m_pszBulletSendLocator; switch ((ENUM_SELECT_TYPE)skillData.m_nSelectType) { case ENUM_SELECT_TYPE.SELECT_TYPE_POS: case ENUM_SELECT_TYPE.SELECT_TYPE_DIR: bHitCharacter = false; break; case ENUM_SELECT_TYPE.SELECT_TYPE_NONE: case ENUM_SELECT_TYPE.SELECT_TYPE_CHARACTER: case ENUM_SELECT_TYPE.SELECT_TYPE_SELF: default: bHitCharacter = true; break; } } } if (nBulletID != MacroDefine.INVALID_ID) { _LOGIC_EVENT_BULLET infoBullet = null; if (bHitCharacter) { CObject_Character pCharacter = (CObject_Character)pObj; // CObject_Special pSpecial = (CObject_Special)pObj; if (pCharacter != null) { for (byte i = 0; i < Packet.TargetNum; i++) { infoBullet = new _LOGIC_EVENT_BULLET(); infoBullet.m_nBulletID = nBulletID; infoBullet.m_pszSenderLocator = pszSenderLocator; infoBullet.m_bHitTargetObj = bHitCharacter; _LOGIC_EVENT logicEvent = new _LOGIC_EVENT(); logicEvent.Init((uint)Packet.ObjID, Packet.LogicCount, infoBullet); SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_LOGIC_EVENT; logicEvent.m_bullet.m_nTargetID = (uint)Packet.TargetList[i]; cmdTemp.SetValue <object>(0, (object)logicEvent); pCharacter.PushCommand(cmdTemp); } } //else if(pSpecial != null) //{ //} } else { infoBullet = new _LOGIC_EVENT_BULLET(); infoBullet.m_nBulletID = nBulletID; infoBullet.m_pszSenderLocator = pszSenderLocator; infoBullet.m_bHitTargetObj = bHitCharacter; infoBullet.m_fTargetX = Packet.PosTarget.m_fX; infoBullet.m_fTargetZ = Packet.PosTarget.m_fZ; _LOGIC_EVENT logicEvent = new _LOGIC_EVENT(); logicEvent.Init((uint)Packet.ObjID, Packet.LogicCount, infoBullet); SCommand_Object cmdTemp = new SCommand_Object(); cmdTemp.m_wID = (int)OBJECTCOMMANDDEF.OC_LOGIC_EVENT; cmdTemp.SetValue <object>(0, (object)logicEvent); CObject_Character pCharacter = (CObject_Character)pObj; // CObject_Special pSpecial = (CObject_Special)pObj; if (pCharacter != null) { pCharacter.PushCommand(cmdTemp); } // else if(pSpecial != null) // { // CObject_Special *pSpecial = (CObject_Special*)pObj; // } } } pObj.SetMsgTime(GameProcedure.s_pTimeSystem.GetTimeNow()); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }