From 9b1eca8955321ce7ba8a8151f7c5c169da5fbff6 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 06 八月 2025 15:25:29 +0800
Subject: [PATCH] 80 【常规】背包-服务端(去除使用物品多余验证;同步使用物品封包;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py |    8 ++++----
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py |   34 +++++++++++++++++-----------------
 2 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index 050417a..eaaa9f9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -4407,7 +4407,7 @@
 class  tagCMUseItems(Structure):
     Head = tagHead()
     ItemIndex = 0    #(BYTE ItemIndex)//物品在背包中索引
-    UseCnt = 0    #(WORD UseCnt)//使用个数,0表示全部使用
+    UseCnt = 0    #(DWORD UseCnt)//使用个数,0表示全部使用
     ExData = 0    #(DWORD ExData)//使用扩展值, 默认0, 选择物品宝箱时发送选择的物品ID
     SelectCount = 0    #(BYTE SelectCount)//指定选择项,当批量使用单个箱子需要同时选中多种选项时使用该值
     SelectList = list()    #(vector<tagCMUseItemsSelect> SelectList)
@@ -4423,7 +4423,7 @@
         self.Clear()
         _pos = self.Head.ReadData(_lpData, _pos)
         self.ItemIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.UseCnt,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.UseCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.ExData,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.SelectCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         for i in range(self.SelectCount):
@@ -4448,7 +4448,7 @@
         length = 0
         length += self.Head.GetLength()
         length += 1
-        length += 2
+        length += 4
         length += 4
         length += 1
         for i in range(self.SelectCount):
@@ -4460,7 +4460,7 @@
         data = ''
         data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
         data = CommFunc.WriteBYTE(data, self.ItemIndex)
-        data = CommFunc.WriteWORD(data, self.UseCnt)
+        data = CommFunc.WriteDWORD(data, self.UseCnt)
         data = CommFunc.WriteDWORD(data, self.ExData)
         data = CommFunc.WriteBYTE(data, self.SelectCount)
         for i in range(self.SelectCount):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
index a711479..667a42c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
@@ -461,12 +461,12 @@
 def __DoLogic_PlayerUseItemSelf(curPlayer, useItemIndex, tick, useCnt=1, exData=0):
     
     #使用物品行为状态, 判断客户端限制
-    if not OperControlManager.IsObjCanDoAction(
-                                        curPlayer, 
-                                        ChConfig.Def_Obj_ActState_ClientAct, 
-                                        IPY_GameWorld.oalUseItem
-                                        ):
-        return False
+    #if not OperControlManager.IsObjCanDoAction(
+    #                                    curPlayer, 
+    #                                    ChConfig.Def_Obj_ActState_ClientAct, 
+    #                                    IPY_GameWorld.oalUseItem
+    #                                    ):
+    #    return False
 
     #------------------封包参数 获得 玩家物品
     backPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
@@ -882,25 +882,25 @@
 #  @return 布尔值
 #  @remarks 检查使用物品的玩家属性.
 def CheckUseItemSelf_Player(curPlayer):
-    if GameObj.GetHP(curPlayer) <= 0 :
-        return False
+    #if GameObj.GetHP(curPlayer) <= 0 :
+    #    return False
     
 #    #眩晕时, 不可使用物品
 #    if curPlayer.GetAbnormalState() == IPY_GameWorld.sctFaint:
 #        return False
     
     #使用物品行为状态, 判断服务端限制
-    if not OperControlManager.IsObjCanDoAction(
-                                        curPlayer, 
-                                        ChConfig.Def_Obj_ActState_ServerAct, 
-                                        IPY_GameWorld.oalUseItem
-                                        ):
-        return False
+    #if not OperControlManager.IsObjCanDoAction(
+    #                                    curPlayer, 
+    #                                    ChConfig.Def_Obj_ActState_ServerAct, 
+    #                                    IPY_GameWorld.oalUseItem
+    #                                    ):
+    #    return False
     
     #交易状态, 不可使用物品
-    if curPlayer.GetPlayerAction() == IPY_GameWorld.paTrade:
-        PlayerControl.NotifyCode(curPlayer, "GeRen_lhs_372238")
-        return False
+    #if curPlayer.GetPlayerAction() == IPY_GameWorld.paTrade:
+    #    PlayerControl.NotifyCode(curPlayer, "GeRen_lhs_372238")
+    #    return False
     
 #    #GM禁止使用
 #    if GameWorld.IsGM(curPlayer):

--
Gitblit v1.8.0