From 96aea786fc5cfb147a1b5e08f09a1fe2d27d31b0 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 07 一月 2026 23:38:33 +0800
Subject: [PATCH] 0312 删除旧的物品id转化
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py | 50 ++++++++++++++++++++++++++++++--------------------
1 files changed, 30 insertions(+), 20 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
index 0ef20d0..724d409 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -25,6 +25,7 @@
import traceback
import random
import ReadChConfig
+import PlayerActivity
import ChPyNetSendPack
import NetPackCommon
import PlayerXiangong
@@ -32,7 +33,6 @@
import PlayerGubao
import PyGameData
import PlayerHero
-import ObjPool
import math
import time
@@ -483,6 +483,12 @@
itemType = curItem.GetType()
itemID = curItem.GetItemTypeID()
+
+ if itemType in IpyGameDataPY.GetFuncEvalCfg("ItemRecordRule", 4) \
+ or itemID in IpyGameDataPY.GetFuncEvalCfg("ItemRecordRule", 5):
+ GameWorld.DebugLog("不需要记录的物品类型或ID! itemType=%s,itemID=%s" % (itemType, itemID))
+ return False
+
itemTypeMinColorDict = IpyGameDataPY.GetFuncEvalCfg("ItemRecordRule", 1)
if itemType in itemTypeMinColorDict:
minColor = itemTypeMinColorDict[itemType]
@@ -496,11 +502,6 @@
or itemID in IpyGameDataPY.GetFuncEvalCfg("ItemRecordRule", 3):
#GameWorld.DebugLog("需要记录的物品类型或ID! itemType=%s,itemID=%s" % (itemType, itemID))
return True
-
- if itemType in IpyGameDataPY.GetFuncEvalCfg("ItemRecordRule", 4) \
- or itemID in IpyGameDataPY.GetFuncEvalCfg("ItemRecordRule", 5):
- #GameWorld.DebugLog("不需要记录的物品类型或ID! itemType=%s,itemID=%s" % (itemType, itemID))
- return False
#if itemType == ChConfig.Def_ItemType_Rune:
# return IsRuneItemNeedRecord(curItem, curItem.GetUserAttr(ShareDefine.Def_IudetRuneLV))
@@ -862,9 +863,6 @@
PlayerControl.GiveMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Paper, itemCount, moneyEventName, addDict)
elif itemID == ChConfig.Def_ItemID_RealmPoint:
PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_RealmPoint, itemCount)
- elif itemID == ChConfig.Def_ItemID_BossReborn:
- msgStr = str(itemCount)
- GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'AddBossRebornPoint', msgStr, len(msgStr))
elif itemID == ChConfig.Def_ItemID_Ysog:
PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_Ysog, itemCount)
elif itemID == ChConfig.Def_ItemID_SoulDust:
@@ -899,6 +897,18 @@
itemData = [tagItem.GetItemTypeID(), tagItem.GetCount(), tagItem.GetIsBind(), tagItem.GetUserData()]
itemMsg = {"PlayerID":curPlayer.GetPlayerID(), "ItemData":itemData, "PackIndex":packIndex, "Event":event}
GameWorld.SendMsgToClientServer(ShareDefine.CrossServerMsg_PutInItem, itemMsg, [serverGroupID])
+ return
+
+ def __autoUseByEffectID(self, curPlayer, tagItem, itemEff, itemID, itemCount):
+ effectID = itemEff.GetEffectID()
+
+ # 物品碎片
+ if effectID == ChConfig.Def_Effect_ItemCount:
+ SetItemCountByID(curPlayer, itemID, GetItemCountByID(curPlayer, itemID) + itemCount)
+ # 活跃度
+ elif effectID == ChConfig.Def_Effect_AddActivity:
+ PlayerActivity.DoAddActivity(curPlayer, itemCount)
+
return
## 放入物品
@@ -939,11 +949,11 @@
# tagItem.Clear()
# return True
itemEff = tagItem.GetEffectByIndex(0)
- #物品碎片
- if itemEff.GetEffectID() == ChConfig.Def_Effect_ItemCount:
- SetItemCountByID(curPlayer, itemID, GetItemCountByID(curPlayer, itemID) + tagItemCount)
+ if itemEff.GetEffectID() in ChConfig.AutoUseItemEffectIDList:
+ self.__autoUseByEffectID(curPlayer, tagItem, itemEff, itemID, tagItemCount)
tagItem.Clear()
return True
+
#气运
if itemEff.GetEffectID() == ChConfig.Def_Effect_TiandaoQiyun:
isAutoUse = itemEff.GetEffectValue(1)
@@ -1251,7 +1261,7 @@
itemCount = GetItemCountByID(curPlayer, itemID)
if not itemCount and not force:
continue
- countInfo = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagMCAutoItemCount)
+ countInfo = ChPyNetSendPack.tagMCAutoItemCount()
countInfo.Clear()
countInfo.ItemID = itemID
countInfo.ItemCount = itemCount
@@ -1260,7 +1270,7 @@
if not itemCountList:
return
- clientPack = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagMCAutoItemCountRefresh)
+ clientPack = ChPyNetSendPack.tagMCAutoItemCountRefresh()
clientPack.Clear()
clientPack.ItemCountList = itemCountList
clientPack.Count = len(clientPack.ItemCountList)
@@ -1992,11 +2002,11 @@
return False
if isAuctionItem:
- ipyData = None #IpyGameDataPY.GetIpyGameData("AuctionItem", itemID)
- if not ipyData:
- GameWorld.ErrLog("非拍卖物品,默认转为非拍品! itemID=%s,itemCount=%s,isAuctionItem=%s"
- % (itemID, itemCount, isAuctionItem), curPlayer.GetPlayerID())
- isAuctionItem = 0
+ #ipyData = None #IpyGameDataPY.GetIpyGameData("AuctionItem", itemID)
+ #if not ipyData:
+ # GameWorld.ErrLog("非拍卖物品,默认转为非拍品! itemID=%s,itemCount=%s,isAuctionItem=%s"
+ # % (itemID, itemCount, isAuctionItem), curPlayer.GetPlayerID())
+ isAuctionItem = 0
defaultPack = IPY_GameWorld.rptItem if not packIndexList else packIndexList[0]
packIndex = ChConfig.GetItemPackType(curItemData, defaultPack)
@@ -2179,7 +2189,7 @@
if itemData.GetItemTypeID() in ChConfig.Def_TransformItemIDList or itemData.GetType() == ChConfig.Def_ItemType_AutoUseMoney:
return True
itemEff = itemData.GetEffectByIndex(0)
- if itemEff.GetEffectID() == ChConfig.Def_Effect_ItemCount:
+ if itemEff.GetEffectID() in ChConfig.AutoUseItemEffectIDList:
return True
return False
--
Gitblit v1.8.0