From 46917c6526079c4b023d3504cb70445b62ac6257 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 15 一月 2026 19:05:10 +0800
Subject: [PATCH] 16 卡牌服务端(调整InitPyItem加载时机;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py | 61 +++++++-----------------------
1 files changed, 14 insertions(+), 47 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 79539df..6a76568 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -33,7 +33,6 @@
import PlayerGubao
import PyGameData
import PlayerHero
-import ObjPool
import math
import time
@@ -484,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]
@@ -497,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))
@@ -855,39 +855,6 @@
return True
if itemID not in ChConfig.Def_TransformItemIDList:
return False
- if itemID == ChConfig.Def_ItemID_SilverMoney:
- PlayerControl.GiveMoney(curPlayer, IPY_GameWorld.TYPE_Price_Silver_Money, itemCount)
- elif itemID == ChConfig.Def_ItemID_SP:
- PlayerControl.PlayerAddZhenQi(curPlayer, itemCount)
- elif itemID == ChConfig.Def_ItemID_GoldPaper:
- 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:
- PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_SoulDust, itemCount)
- elif itemID == ChConfig.Def_ItemID_SoulSplinters:
- PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_SoulSplinters, itemCount)
- elif itemID == ChConfig.Def_ItemID_SoulCore:
- PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_SoulCore, itemCount)
- elif itemID == ChConfig.Def_ItemID_Honor:
- PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_Honor, itemCount)
- elif itemID == ChConfig.Def_ItemID_GoldMoney:
- PlayerControl.GiveMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Money, itemCount, moneyEventName, addDict)
- elif itemID == ChConfig.Def_ItemID_FuncSysPrivilege:
- PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_FuncSysPrivilege, itemCount)
- elif itemID == ChConfig.Def_ItemID_BTGMPoint:
- PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_BTGMPoint, itemCount)
- elif itemID == ChConfig.Def_ItemID_GuShenMoney:
- PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_GuShenMoney, itemCount)
- elif itemID == ChConfig.Def_ItemID_GongdePoint:
- PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_GongdePoint, itemCount)
- elif itemID == ChConfig.Def_ItemID_FamilyFlagWarPoint:
- PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_FamilyFlagWarPoint, itemCount)
return True
def __CrossServerPutInItem(self, packIndex, tagItem, event=["", False, {}]):
@@ -1011,7 +978,7 @@
#itemFactory = GameWorld.GetItemFactory()
#isBind = tagItem.GetIsBind()
# 目前暂只记录放入背包的
- if not isNeedRecord and packIndex in [IPY_GameWorld.rptItem, ShareDefine.rptTreasure, ShareDefine.rptRune, ShareDefine.rptGatherSoul, ShareDefine.rptDogzItem]:
+ if not isNeedRecord and packIndex in ShareDefine.NeedRecordRPType:
isNeedRecord = ItemNeedRecord(tagItem) or isForceEvent
putResult = False
@@ -1264,7 +1231,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
@@ -1273,7 +1240,7 @@
if not itemCountList:
return
- clientPack = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagMCAutoItemCountRefresh)
+ clientPack = ChPyNetSendPack.tagMCAutoItemCountRefresh()
clientPack.Clear()
clientPack.ItemCountList = itemCountList
clientPack.Count = len(clientPack.ItemCountList)
@@ -2005,11 +1972,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)
--
Gitblit v1.8.0