From ecbdf4c803a65bf77759540bf45749277691389c Mon Sep 17 00:00:00 2001 From: VDH Date: Tue, 11 Nov 2025 17:12:51 +0700 Subject: [PATCH] done skill --- .../Scripts/Managers/CECAttacksMan.cs | 4 +--- .../PerfectWorld/Scripts/Managers/CECNPCMan.cs | 2 -- Assets/PerfectWorld/Scripts/NPC/CECNPC.cs | 6 +----- .../Network/CSNetwork/C2SCommand/C2SCommand.cs | 1 + .../CSNetwork/C2SCommand/C2SCommandFactory.cs | 13 ++++++++++--- .../Scripts/Network/CSNetwork/GameSession.cs | 3 +-- .../Scripts/Players/EC_ElsePlayer.cs | 1 - .../PerfectWorld/Scripts/Skills/CECSCSkill.cs | 4 ++-- .../Scripts/Skills/EC_HostSkillModel.cs | 1 - Assets/Scenes/a61.unity | 4 ++-- Assets/Scripts/CECHostPlayer.cs | 18 ++++++------------ 11 files changed, 24 insertions(+), 33 deletions(-) diff --git a/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs b/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs index 53bbffc1ec..2c736597e3 100644 --- a/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs +++ b/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs @@ -64,7 +64,6 @@ public class CECAttacksMan : MonoSingleton nTimeFly // timeToDoDamage ); m_AttackLinkedList.AddLast(newEvent); - BMLogger.LogError("HoangDev: AddMeleeAttack CECAttackEvent: " + m_AttackLinkedList.Count); newEvent.UpdateTargetFlag(); return m_AttackLinkedList.Last.Value; @@ -455,7 +454,6 @@ bool DoFire() TARGET_DATA data = m_targets[i]; int idTarget = data.idTarget; string strName; - BMLogger.LogError("HoangDev: GPDataTypeHelper.ISPLAYERID(idTarget) " + GPDataTypeHelper.ISPLAYERID(idTarget)); if (GPDataTypeHelper.ISNPCID(idTarget)) { @@ -480,7 +478,7 @@ bool DoFire() { CECPlayer pPlayer = EC_ManMessageMono.Instance.GetECManPlayer.GetPlayer(idTarget); - BMLogger.LogError("HoangDev: CECPlayer pPlayer = " + pPlayer ); + //BMLogger.LogError("HoangDev: CECPlayer pPlayer = " + pPlayer ); if (!pPlayer) return true; diff --git a/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs b/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs index 287bfacf8c..5089d333fe 100644 --- a/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs +++ b/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs @@ -348,7 +348,6 @@ public class CECNPCMan : IMsgHandler } case CommandID.NPC_INFO_00: { - BMLogger.LogError("HoangDev: NPCMAN NPC_INFO_00"); var buffer = (byte[])msg.dwParam1; cmd_npc_info_00 pCmd = GPDataTypeHelper.FromBytes(buffer); @@ -362,7 +361,6 @@ public class CECNPCMan : IMsgHandler ep.bs.max_hp = pCmd.iMaxHP; pNPC.SetSelectedTarget(pCmd.iTargetID); pNPC.SetWorldHealthImage((float)pCmd.iHP , (float)pCmd.iMaxHP); - BMLogger.LogError("HoangDev: publish NPCMAN NPC_INFO_00"); EventBus.Publish(new NPCINFO(pNPC.GetName(),pCmd.iHP,pCmd.iMaxHP, pCmd.idNPC)); } diff --git a/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs b/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs index d53786bacc..d268a66b0b 100644 --- a/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs +++ b/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs @@ -182,7 +182,7 @@ public class CECNPC : CECObject } public void OnMsgAttackHostResult(int idHost, int nDamage, int nFlag, int nSpeed) { - BMLogger.LogError("HoangDev: OnMsgAttackHostResultNPC"); + //BMLogger.LogError("HoangDev: OnMsgAttackHostResultNPC"); if (!IsDead()) { // 🔹 Quay mặt về mục tiêu @@ -273,8 +273,6 @@ public class CECNPC : CECObject int nAttackSpeed, int nSection = 0) { - BMLogger.LogError("HoangDev: PlayAttackEffectNPC"); - if (m_pNPCModelPolicy == null) return; @@ -392,8 +390,6 @@ public class CECNPC : CECObject private bool PlayAttackAction(int nAttackSpeed, CECAttackEvent attackevent) { - BMLogger.LogError("HoangDev: PlayAttackActionNPC"); - return m_pNPCModelPolicy.PlayAttackAction(nAttackSpeed, attackevent); } void NPCTurnFaceTo(int idTarget, float dwTime = 0) diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommand.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommand.cs index 0697537099..2691da3e60 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommand.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommand.cs @@ -1,6 +1,7 @@ using CSNetwork.GPDataType; using System; using System.Numerics; +using System.Runtime.InteropServices; namespace CSNetwork.C2SCommand { diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs index c27c618d1d..87315311d4 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs @@ -1,3 +1,4 @@ +using BrewMonster; using CSNetwork.GPDataType; using CSNetwork.S2CCommand; using System; @@ -182,7 +183,10 @@ namespace CSNetwork.C2SCommand return; } - WriteBasicValue(octets, array.Length); + if (array.Length != 1 ) + { + WriteBasicValue(octets, array.Length); + } var elementType = array.GetType().GetElementType(); if (NeedsCustomSerialization(elementType)) @@ -258,8 +262,9 @@ namespace CSNetwork.C2SCommand skillId = idSkill, pvpMask = byPVPMask, targetCount = (byte)iNumTarget, + targets = null }; - if(iNumTarget > 0) + if (iNumTarget > 0) { if (iNumTarget > 0) { @@ -267,7 +272,9 @@ namespace CSNetwork.C2SCommand cmd.targets[0] = aTargets; } } - return SerializeCommand(CommandID.CAST_SKILL, cmd); + + var cmdBuf = SerializeCommand(CommandID.CAST_SKILL, cmd); + return cmdBuf; } public static short FloatToFix8(float x) diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs index f94ff655ad..f0480dcc0c 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs @@ -605,8 +605,7 @@ namespace CSNetwork pGameUI->EndNPCService();*/ } else if - (pCmd.iMessage == - 108 /*&& pGameRun->GetHostPlayer()->GetOfflineShopCtrl()->GetNPCSevFlag() != COfflineShopCtrl::NPCSEV_NULL*/ + (pCmd.iMessage == 108 /*&& pGameRun->GetHostPlayer()->GetOfflineShopCtrl()->GetNPCSevFlag() != COfflineShopCtrl::NPCSEV_NULL*/ ) { /* CECGameUIMan* pGameUI = pGameRun->GetUIManager()->GetInGameUIMan(); diff --git a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs index 9dc3b3f621..c93dbe9b30 100644 --- a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs +++ b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs @@ -49,7 +49,6 @@ namespace PerfectWorld.Scripts.Player SetModelHostPlayer(); string roleName = Encoding.Unicode.GetString(roleInfo.name.ByteArray); - BMLogger.LogError("HoangDev: roleName:" + roleName); if (txtName != null) txtName.text = roleName; m_cdr.fStepHeight = m_MoveConst.fStepHei; diff --git a/Assets/PerfectWorld/Scripts/Skills/CECSCSkill.cs b/Assets/PerfectWorld/Scripts/Skills/CECSCSkill.cs index 4db3a876e2..759cd0a6de 100644 --- a/Assets/PerfectWorld/Scripts/Skills/CECSCSkill.cs +++ b/Assets/PerfectWorld/Scripts/Skills/CECSCSkill.cs @@ -47,11 +47,11 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.Skills } else { - BMLogger.LogError("HoangDev: Shortcut: IsGoblinSkill else"); + //BMLogger.LogError("HoangDev: Shortcut: IsGoblinSkill else"); if (pHost.GetActionSwitcher() == null || !pHost.GetActionSwitcher().OnRideToSkillAction(m_pSkill.GetSkillID(), false, 0, -1)) { - BMLogger.LogError("HoangDev: Shortcut: pHost->GetActionSwitcher()"); + //BMLogger.LogError("HoangDev: Shortcut: pHost->GetActionSwitcher()"); pHost.ApplySkillShortcut(m_pSkill.GetSkillID()); } diff --git a/Assets/PerfectWorld/Scripts/Skills/EC_HostSkillModel.cs b/Assets/PerfectWorld/Scripts/Skills/EC_HostSkillModel.cs index a5f3871edc..c4edbf2667 100644 --- a/Assets/PerfectWorld/Scripts/Skills/EC_HostSkillModel.cs +++ b/Assets/PerfectWorld/Scripts/Skills/EC_HostSkillModel.cs @@ -141,7 +141,6 @@ namespace BrewMonster.Scripts.Skills public void RecvNPCServiceList(Octets Data) { m_npcListData = Data; - BMLogger.LogError("HoangDev: m_npcListData= "+ m_npcListData.Length); if (!m_bInitialized) { return; diff --git a/Assets/Scenes/a61.unity b/Assets/Scenes/a61.unity index c430feafdd..76e537ae10 100644 --- a/Assets/Scenes/a61.unity +++ b/Assets/Scenes/a61.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91a4f3bbfdf36a272974726c5c2a620c1ff0300fd1e0762af085e6fadcabb009 -size 530349610 +oid sha256:4500e3329ef68f0370414228d113f02bbe72321b04ac5e9292e13addf04dc827 +size 530349701 diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 42dcb8226b..738a476cd4 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -413,7 +413,7 @@ public partial class CECHostPlayer : CECPlayer pCmd.skill_count = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); int offset = sizeof(uint); int skillSize = Marshal.SizeOf(); - pCmd.skill_list = new cmd_skill_data.SKILL[2]; + pCmd.skill_list = new cmd_skill_data.SKILL[pCmd.skill_count]; for (int i = 0; i < pCmd.skill_count; i++) { pCmd.skill_list[i] = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1, offset); @@ -456,7 +456,6 @@ public partial class CECHostPlayer : CECPlayer // Load skill data from command // C++: GNET::ElementSkill::LoadSkillData(pCmd); ElementSkill.LoadSkillData(pCmd); - // Create skill objects from command data for (int i = 0; i < pCmd.skill_count; i++) { @@ -476,7 +475,6 @@ public partial class CECHostPlayer : CECPlayer m_aPsSkills.Add(skill); } } - // Restore and convert shortcuts after loading new skills /* if (hostPlayer.HostIsReady()) { @@ -574,7 +572,6 @@ public partial class CECHostPlayer : CECPlayer } void OnMsgHstAttacked(ECMSG Msg) { - BMLogger.LogError($"HoangDev OnMsgHstAttacked "); var m_pPlayerMan = EC_ManMessageMono.Instance.EC_ManPlayer; cmd_host_attacked pCmd = GPDataTypeHelper.FromBytes(Msg.dwParam1 as byte[]); @@ -645,7 +642,7 @@ public partial class CECHostPlayer : CECPlayer }*/ private void OnMsgHstHurtResult(ECMSG Msg) { - BMLogger.LogError("HoangDev : OnMsgHstHurtResult"); + //BMLogger.LogError("HoangDev : OnMsgHstHurtResult"); /* int cmd = Convert.ToInt32(Msg.dwParam2); if (cmd == CommandID.BE_HURT) { @@ -1028,7 +1025,7 @@ public partial class CECHostPlayer : CECPlayer // Message MSG_HST_SELTARGET handler void OnMsgHstSelTarget(ECMSG Msg) { - BMLogger.LogError("HoangDev: OnMsgHstSelTarget"); + //BMLogger.LogError("HoangDev: OnMsgHstSelTarget"); if (Convert.ToInt32(Msg.dwParam2) == CommandID.SELECT_TARGET) { var data = (byte[])Msg.dwParam1; @@ -1876,9 +1873,6 @@ public partial class CECHostPlayer : CECPlayer public bool CastSkill(int idTarget, bool bForceAttack, CECObject pTarget = null) { byte byPVPMask = glb_BuildPVPMask(bForceAttack); - BMLogger.LogError("HoangDev: HostPlayer CastSkill SkillID=" + m_pPrepSkill.GetSkillID() + - " TargetID=" + idTarget + " bForceAttack=" + bForceAttack + - " byPVPMask=" + byPVPMask); UnityGameSession.c2s_CmdCastSkill(m_pPrepSkill.GetSkillID(), byPVPMask, 1, idTarget); return true; } @@ -1913,7 +1907,7 @@ public partial class CECHostPlayer : CECPlayer } public bool SelectTarget(int idTarget) { - BMLogger.LogError("HoangDev: HostPlayer SelectTarget"); + //BMLogger.LogError("HoangDev: HostPlayer SelectTarget"); bool bRet = false; bool canDo = CanDo(ActionCanDo.CANDO_CHANGESELECT); bool canselect = CanSelectTarget(idTarget); @@ -1922,12 +1916,12 @@ public partial class CECHostPlayer : CECPlayer bRet = true; if (idTarget == 0) { - BMLogger.LogError("HoangDev: HostPlayer Unsetlect npc"); + //BMLogger.LogError("HoangDev: HostPlayer Unsetlect npc"); UnityGameSession.c2s_CmdUnselect(); } else { - BMLogger.LogError("HoangDev: HostPlayer setlect npc"); + //BMLogger.LogError("HoangDev: HostPlayer setlect npc"); UnityGameSession.c2s_CmdSelectTarget(idTarget); } }