From 5ea28aead9761406845a3bff4d663f53e800fdb6 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 19 三月 2019 19:14:53 +0800
Subject: [PATCH] 6332 【后端】【2.0】主要是拍品相关规则调整及背包优化(去除旧版设置绑定逻辑)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuperMarket.py         |    6 
 /dev/null                                                                                               |   49 ------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py                 |    1 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py |   30 ---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBourseTube.py          |    1 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py       |   12 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py               |   37 +++-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py          |  206 ++-----------------------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py                      |   28 ---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py                 |   95 -----------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAction.py              |    3 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAuctionHouse.py        |    3 
 12 files changed, 54 insertions(+), 417 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
index 2a98f3e..cea286d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
@@ -845,28 +845,6 @@
     curPlayer.SetMP(curPlayer.GetMaxMP())
     
     #---给予玩家新手物品---
-    itemControler = ItemControler.PlayerItemControler(curPlayer)
-    
-    firstLoginGiveItemList = ReadChConfig.GetEvalChConfig("FirstLogin_GiveItem")
-    for itemID, itemCount, itemBind in firstLoginGiveItemList:
-        if itemID == 0:
-            continue
-        giveItem = ItemCommon.CreateSingleItem(itemID)
-        
-        if not giveItem:
-            GameWorld.ErrLog('__FirstLoginOnEnter giveItemErr = %s'%(itemID), playerID)
-            continue
-        
-        if itemCount > 0:
-            ItemControler.SetItemCount(giveItem, itemCount, curPlayer.GetPlayerID(), curPlayer.GetAccID(), 
-                                       curPlayer.GetPlayerName())
-        
-        ItemControler.SetItemIsBind(giveItem, itemBind)
-            
-        if not itemControler.PutInItem(IPY_GameWorld.rptItem, giveItem):
-            GameWorld.ErrLog('__FirstLoginOnEnter packFull, giveItemErr = %s'%(itemID), playerID)
-            giveItem.Clear()
-            continue
     
     #---初始化装备显隐 第1套*10+没有套装
     curPlayer.SetEquipShowSwitch(10)
@@ -4219,79 +4197,6 @@
 # @return 返回值无意义
 # @remarks 客户端封包响应 //0D 0C 材料加工#tagCMaterialCompound
 def StuffMachining(index, tick):
-#    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
-#    
-#    materialCompoundPack = IPY_GameWorld.IPY_CMaterialCompound()
-#    itemIndex = materialCompoundPack.GetItemIndex()
-#    
-#    curItemPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
-#    curItem = curItemPack.GetAt(itemIndex)
-#
-#    #类型不符合
-#    if  not ItemCommon.CheckItemByType(curItem, ChConfig.Def_Type_Machining_Stuff):
-#        PlayerControl.NotifyCode(curPlayer, "GeRen_jin_287294")
-#        return
-#    
-#    #[金钱,金钱类型]
-#    curEffMoney = curItem.GetEffectByIndex(1)
-#    useMoney = curEffMoney.GetEffectValue(0)
-#    useMoneyType = curEffMoney.GetEffectValue(1)
-#    
-#    #判断金钱
-#    if not PlayerControl.HaveMoney(curPlayer, useMoneyType, useMoney):
-#        return
-#
-#    #[等级,数量]
-#    curEffInfo = curItem.GetEffectByIndex(0)
-#    curEffectID = curEffInfo.GetEffectID()
-#    curItemLv = curEffInfo.GetEffectValue(0)
-#    useCount = curEffInfo.GetEffectValue(1)
-#    
-#    #---数量验证---
-#    hasCount = curItem.GetCount()
-#    if useCount > hasCount:
-#        PlayerControl.NotifyCode(curPlayer , "GeRen_jin_293296")
-#        return
-#    
-#    #查找更高一级的材料
-#    findItemData = ItemCommon.FindItemFromDataByEffValue(ChConfig.Def_Type_Machining_Stuff, curEffectID, curItemLv+1)
-#    
-#    #已经是顶级材料
-#    if findItemData == None:
-#        PlayerControl.NotifyCode(curPlayer, "GeRen_jin_708106")
-#        return
-#    
-#    #---创建物品,放入背包,失败则要删除物品---
-#    newItem = ItemCommon.CreateSingleItem(findItemData.GetItemTypeID())
-#    ItemControler.SetItemIsBind(newItem, curItem.GetIsBind())
-#    
-#    isBind = newItem.GetIsBind()
-#    
-#    newItemTypeID = newItem.GetItemTypeID()
-#    newItemCount = newItem.GetCount()
-#    
-#    #是否成功放入背包
-#    itemControl = ItemControler.PlayerItemControler(curPlayer)
-#    if not itemControl.PutInItem(IPY_GameWorld.rptItem, newItem):
-#        PlayerControl.NotifyCode(curPlayer, "GeRen_jin_650657")
-#        newItem.Clear()
-#        return
-#    
-#    curItemID = curItem.GetItemTypeID()  #合成材料ID
-#    
-#    #---扣钱物品并记录---
-#    PlayerControl.PayMoney(curPlayer, useMoneyType, useMoney)
-#    
-#    ItemCommon.DelItem(curPlayer, curItem, useCount, True, 'ComposeChip')
-#    
-#    #生成物品
-#    PlayerControl.NotifyCode(curPlayer, 'GeRen_jin_557507', [newItemTypeID, newItemCount])
-#    
-#    #手续费流向记录
-#    PlayerControl.DataServerMoneyLog(curPlayer, useMoneyType, 650, par = useMoney, msg = "poundage")
-#    
-#    
-#    DataRecordPack.DR_StuffMachining(curPlayer, newItemTypeID, newItemCount, isBind)
     return
     
     
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py
index 040d5b8..0277155 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py
@@ -1142,35 +1142,7 @@
     priceType = IPY_GameWorld.TYPE_Price_Silver_Money
     curItemPrice = curItem.GetSilverPrice()
     return curItemPrice, priceType
-    #绑定价格售价为0, 2011.4.27
-#    if curItem.GetIsBind():
-#        itrmPrice_bind = eval(ReadChConfig.GetChConfig("ItemSellPrice_Bind"))
-#        return itrmPrice_bind, priceType
-#    
-#    #无耐久物品
-#    if curItemEndure == 0 :
-#        return curItemPrice * 0.5, priceType
-#    
-#    itrmPrice_notBind = eval(ReadChConfig.GetChConfig("ItemSellPrice_NotBind"))
-#    return itrmPrice_notBind, priceType
-#===============================================================================
-#   2010.11.25 绑定售价和非绑定一致
-#        #绑定的
-#        if curItem.GetIsBind():
-#            return curItemPrice * 0.5 * 0.5, curItemType
-#        #非绑定的
-#        return curItemPrice * 0.5, curItemType
-#===============================================================================
-#===============================================================================
-#    
-#    #绑定正常物品出售价格
-#    if curItem.GetIsBind() :
-#        return eval(ChConfig.Def_Formula_ItemSellPrice) * 0.5, curItemType
-#    
-#    #未绑定正常物品出售价格
-#    return eval(ChConfig.Def_Formula_ItemSellPrice), curItemType
-#===============================================================================
-#---------------------------------------------------------------------
+
 ##检查玩家可否开始NPC事件
 # @param curPlayer 玩家实例
 # @return 返回值真, 检查通过
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
index 7c1e8a9..11f721c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
@@ -2940,13 +2940,13 @@
         GameWorld.Log('###创造任务物品失败, itemID = %s' % (itemID))
         return
     
-    tmpEquipData = ItemControler.SingleEquipTmpData()
-    tmpEquipData.starLV = starLV
-    tmpEquipData.holeCnt = holeCount
-    tmpEquipData.isSuite = isSuite
-    tmpEquipData.isBind = bind
+    #tmpEquipData = ItemControler.SingleEquipTmpData()
+    #tmpEquipData.starLV = starLV
+    #tmpEquipData.holeCnt = holeCount
+    #tmpEquipData.isSuite = isSuite
+    #tmpEquipData.isBind = bind
     
-    ChItem.EquipAddAdditionEx(curSingleItem, tmpEquipData)
+    #ChItem.EquipAddAdditionEx(curSingleItem, tmpEquipData)
 
     #设置数量
     ItemControler.SetItemCount(curSingleItem, itemCount)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetItemBind.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetItemBind.py
deleted file mode 100644
index faad9e4..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetItemBind.py
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-
-##@package SetItemBind
-# 设置物品绑定
-#
-# @author Mark
-# @date 2010-4-23
-# @version 1.3
-#
-# 修改时间 修改人 修改内容
-# @change: "2010-05-12 18:30" zhengyang 添加注释
-# @change: "2012-01-16 17:30" chengaobao 将物品去除绑定
-# @change: "2012-01-21 12:30" chengaobao 将设置绑定的接口封装至ItemControler中
-# 模块详细说明
-# 
-#---------------------------------------------------------------------
-"""Version = 2012-01-21 12:30"""
-#---------------------------------------------------------------------
-#脚本说明
-#---------------------------------------------------------------------
-#导入
-import IPY_GameWorld
-import ItemControler
-#---------------------------------------------------------------------
-#全局变量
-#---------------------------------------------------------------------
-
-#---------------------------------------------------------------------
-#逻辑实现
-## GM命令执行入口
-#  @param curPlayer 当前玩家
-#  @param playerList 参数列表 [index,1True]
-#  @return None
-#  @remarks 函数详细说明.
-def OnExec(curPlayer,playerList):
-    if len(playerList) != 2:
-        return
-    
-    curItem = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem).GetAt(int(playerList[0]))
-    if not curItem or curItem.IsEmpty():
-        return
-    
-    if playerList[1] == 1:
-        ItemControler.SetItemIsBind(curItem, True)
-    else:
-        ItemControler.SetItemIsBind(curItem, False)
-    
-    return
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 020bc8b..2d78f3c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
@@ -1532,7 +1532,8 @@
     
     # 使用拍品
     if curItem.GetIsBind():
-        DoLogic_PlayerUseAuctionItem(curPlayer, curItem)
+        GameWorld.DebugLog("玩家使用拍品: itemID=%s" % (curItem.GetItemTypeID()), curPlayer.GetPlayerID())
+        ItemControler.SetIsAuctionItem(curItem, False, curPlayer)
         return
     
     if useCnt <= 0:
@@ -1541,27 +1542,6 @@
         
     __DoLogic_PlayerUseItemSelf(curPlayer, itemIndex, tick, useCnt, exData)
 
-    return
-
-def DoLogic_PlayerUseAuctionItem(curPlayer, curItem):
-    ## 玩家使用拍品
-    playerID = curPlayer.GetPlayerID()
-    itemID = curItem.GetItemTypeID()
-    
-    curItem.SetIsBind(0) # 设置为非拍品
-    GameWorld.DebugLog("玩家使用拍品: itemID=%s" % (itemID), playerID)
-    
-    if ItemCommon.GetIsEquip(curItem):
-        # 生成传奇属性
-        legendAttrInfo = ItemControler.GetAddEquipLegendAttr(curItem, curPlayer)
-        if not legendAttrInfo:
-            GameWorld.ErrLog("使用装备拍品没有传奇属性!itemID=%s" % (itemID), playerID)
-            return
-        attrIDList, attrValueList = legendAttrInfo
-        updateDict = {ShareDefine.Def_IudetLegendAttrID:attrIDList, ShareDefine.Def_IudetLegendAttrValue:attrValueList}
-        delKeyList = [ShareDefine.Def_IudetAuctionItemCreateTime]
-        ItemCommon.UpdateItemUserData(curItem, updateDict, delKeyList, isUpdateGS=True)
-        
     return
 
 #---------------------------------------------------------------------
@@ -1875,8 +1855,8 @@
 #  @return 
 def EquipAddAdditionEx(curItem, equipData):
     # 绑定
-    if equipData.isBind:
-        ItemControler.SetItemIsBind(curItem, equipData.isBind)
+    #if equipData.isBind:
+    #    ItemControler.SetItemIsBind(curItem, equipData.isBind)
     
     if not ItemCommon.CheckItemIsEquip(curItem):
         return
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 1d350be..5613819 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -37,6 +37,7 @@
 import ChEquip
 
 import math
+import time
 #---------------------------------------------------------------------
 
 ## 获得背包的一个空格子
@@ -661,7 +662,7 @@
         SetItemCount(srcItem, srcItem.GetCount() - realPutCount)
         SetItemCount(destItem, destItem.GetCount() + realPutCount)
         
-        SetItemIsBind(destItem, True)
+        #SetItemIsBind(destItem, True)
         return True
     #2. 目标位置有东西, 并且可以堆叠
     if (CanPackItem(srcItem, destItem) and maxPackCount > destItem.GetCount()):
@@ -871,9 +872,6 @@
         equipItem = equipPack.GetAt(equipPackIndex)
         desItemID, desUserData = [0, ''] if equipItem.IsEmpty() else [equipItem.GetItemTypeID(), equipItem.GetUserData()]
         srcItemID, srcUserData = curItem.GetItemTypeID(), curItem.GetUserData()
-        # 装备绑定处理 在 DoLogic_ItemBindType函数有处理,此处注释掉
-#        if not curItem.GetIsBind():
-#            SetItemIsBind(curItem, True)
         
         #--其他装备物品---
         #itemColor = curItem.GetItemColor()
@@ -2267,16 +2265,29 @@
     GameWorld.ErrLog('DoLogic_PutItemInPack Error 物品无法放入背包')
     return False
 
-## 设置物品是否绑定
-#  @param curGiveItem 物品实例
-#  @param isBind 是否绑定
-#  @return None
-#  @remarks 
-def SetItemIsBind(curGiveItem, isBind):
-    #isBind = False
-    curGiveItem.SetIsBind(isBind)
+## 是否拍品
+def GetIsAuctionItem(curItem): return curItem.GetIsBind()
+def SetIsAuctionItem(curItem, isAuctionItem, curPlayer=None):
+    curItem.SetIsBind(isAuctionItem)
+    
+    if isAuctionItem:
+        curItem.SetUserAttr(ShareDefine.Def_IudetAuctionItemCreateTime, int(time.time()))
+        return
+    
+    if not curPlayer:
+        return
+    
+    if ItemCommon.GetIsEquip(curItem):
+        # 生成传奇属性
+        legendAttrInfo = GetAddEquipLegendAttr(curItem, curPlayer)
+        if not legendAttrInfo:
+            return
+        attrIDList, attrValueList = legendAttrInfo
+        updateDict = {ShareDefine.Def_IudetLegendAttrID:attrIDList, ShareDefine.Def_IudetLegendAttrValue:attrValueList}
+        delKeyList = [ShareDefine.Def_IudetAuctionItemCreateTime]
+        ItemCommon.UpdateItemUserData(curItem, updateDict, delKeyList, isUpdateGS=True)
+        
     return
-
 
 ## 设置物品数量
 #  @param item 物品实例
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
index d5be54d..c711dae 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
@@ -376,8 +376,7 @@
         
     if isAuctionItem:
         if IpyGameDataPY.GetIpyGameDataNotLog("AuctionItem", itemID):
-            curSingleItem.SetUserAttr(ShareDefine.Def_IudetAuctionItemCreateTime, int(time.time()))
-            curSingleItem.SetIsBind(1)
+            ItemControler.SetIsAuctionItem(curSingleItem, isAuctionItem)
         else:
             GameWorld.ErrLog("拍卖物品表不存在该ID!创建拍品失败,默认转为非拍品!itemID=%s" % itemID)
             
@@ -427,7 +426,7 @@
     if isUpdateGS:
         MakeEquipGS(curItem)
     elif isRoleItem:
-        curItem.SetIsBind(curItem.GetIsBind()) # 为了触发物品同步
+        curItem.SetCount(curItem.GetCount()) # 为了触发物品同步
     return
 
 def MakeEquipGS(curItem):
@@ -1692,19 +1691,20 @@
 #  @remarks 函数详细说明.
 def DoLogic_ItemBindType(curPlayer, curItem, bindType):
     #固定不绑定
-    if bindType == ChConfig.Def_BindType_NoBind:
-        return
-    
-    #不处理已经绑定的物品
-    if curItem.GetIsBind():
-        return
-    #不是这个功能的绑定类型
-    if curItem.GetBindType() != bindType:
-        return
-    if curItem.GetBindType() == ChConfig.Def_BindType_DoEquipBind:
-        pass
-                
-    ItemControler.SetItemIsBind(curItem, True)
+    #拍品去除绑定逻辑,暂屏蔽
+#    if bindType == ChConfig.Def_BindType_NoBind:
+#        return
+#    
+#    #不处理已经绑定的物品
+#    if curItem.GetIsBind():
+#        return
+#    #不是这个功能的绑定类型
+#    if curItem.GetBindType() != bindType:
+#        return
+#    if curItem.GetBindType() == ChConfig.Def_BindType_DoEquipBind:
+#        pass
+#                
+#    ItemControler.SetItemIsBind(curItem, True)
     return True
 
 #---------------------------------------------------------------------
@@ -2100,180 +2100,6 @@
         if itemInfo.GetUserData():
             itemDict["UserData"] = itemInfo.GetUserData()
     return itemDict
-
-## 将物品列表重复物品堆叠起来返回整理后的列表
-#  @param itemlist
-#  @return 整理后的物品列表
-def GetSimpleItemList(itemlist):
-    sItemList = []
-    sItemDict = {}
-    for item in itemlist:
-        maxPackCount = item.GetPackCount()
-        if maxPackCount == 0:
-            return itemlist
-        itemCnt = item.GetCount()
-        if itemCnt > maxPackCount:
-            return itemlist
-        itemid = item.GetItemTypeID()
-        isBind = item.GetIsBind()
-        key = (itemid,isBind)
-        if key in sItemDict:
-            for sitem in sItemDict[key]:
-                if sitem.GetCount() >= maxPackCount:
-                    continue
-                totalCnt = item.GetCount()+ sitem.GetCount()
-                
-                if totalCnt > maxPackCount:
-                    ItemControler.SetItemCount(sitem, maxPackCount)
-                    ItemControler.SetItemCount(item, totalCnt - maxPackCount)
-                    sItemList.append(item)
-                    sItemDict[key].append(item)
-                    break
-                ItemControler.SetItemCount(sitem, totalCnt)
-                item.Clear()
-        else:
-            sItemList.append(item)
-            sItemDict[key] = [item]
-            
-    
-    return sItemList
-
-## =======================================================================================
-##根据活动类型配置随机装备品质
-# @param itemType 
-# @return 品质
-def GetRandEquipQualityByTable(itemType, tableName):
-    qualityRandDict = ReadChConfig.GetEvalChConfig(tableName)
-    qualityRandList = qualityRandDict.get(itemType, [])
-    if qualityRandList == []:
-        qualityRandList = qualityRandDict[-1]
-        
-    return GameWorld.GetResultByRandomList(qualityRandList, 0)
-
-## 随机卓越装备,根据规则从数据库中筛选出,等级职业
-#  @param equipType 装备类型
-#  @return 抽奖是否成功 
-def RandGreateEquip(curPlayer, equipType, isBind, tableName, quality=1):
-    equipList = GameDataControl.GetItemDataListByType(equipType)
-    equipLVRandList, lvFormulaStr, lvRange, jobRand, luckyShotRand, greateNumRand, \
-    broadcastList, plusRand, addAttrRand = ReadChConfig.GetEvalChConfig(tableName)
-    
-    playerLV = curPlayer.GetLV()
-    step = GameWorld.GetResultByRandomList(equipLVRandList, 0)
-    getLVMin = eval(lvFormulaStr)
-    getLVMax = getLVMin + lvRange
-    checkJob = GameWorld.CanHappen(jobRand)
-    
-    randList = []
-    findItem = None
-    
-    for item in equipList:
-        if item.GetUseLV() < getLVMin or item.GetUseLV() > getLVMax:
-            continue
-        
-        if item.GetItemQuality() != quality:
-            continue
-        
-        if checkJob:
-            if JobUseable(curPlayer, item):
-                findItem = item
-                break
-            continue
-        
-        randList.append(item)
-    
-    if randList:
-        findItem = random.choice(randList)
-    
-    if findItem == None:
-        return None, False
-    
-    return CreateGreateItem(findItem, luckyShotRand, greateNumRand, broadcastList,
-                     plusRand, addAttrRand, isBind)
-
-
-## 生成抽奖的卓越装备
-#  @param 各属性
-#  @return 生成的物品,是否广播 
-def CreateGreateItem(findItem, luckyShotRand, greateNumRand, broadcastList,
-                     plusRand, addAttrRand, isBind):
-    itemID = findItem.GetItemTypeID()
-    equipItem = CreateSingleItem(itemID)
-    
-    tmpEquipData = ItemControler.SingleEquipTmpData()
-    
-    tmpEquipData.starLV = random.randint(plusRand[0], plusRand[1])
-    tmpEquipData.holeCnt = 3
-    tmpEquipData.isBind = isBind
-    tmpEquipData.isSuite = 0
-    
-    # 装备附加属性
-    ChItem.EquipAddAdditionEx(equipItem, tmpEquipData)
-    
-    broadcast = False
-        
-    return equipItem, broadcast
-
-
-## 随机普通装备,根据规则从数据库中筛选出,等级职业
-#  @param equipType 装备类型
-#  @return 抽奖是否成功 
-def RandNormalEquip(curPlayer, equipType, isBind, tableName):
-    equipList = GameDataControl.GetItemDataListByType(equipType)
-    equipLVRandList, lvFormulaStr, lvRange, jobRand, luckyShotRand, \
-    plusRand, addAttrRand, skillRand = ReadChConfig.GetEvalChConfig(tableName)
-    
-    playerLV = curPlayer.GetLV()
-    step = GameWorld.GetResultByRandomList(equipLVRandList, 0)
-    getLVMin = eval(lvFormulaStr)
-    getLVMax = getLVMin + lvRange
-    checkJob = GameWorld.CanHappen(jobRand)
-    
-    randList = []
-    findItem = None
-    
-    for item in equipList:
-        if item.GetUseLV() < getLVMin or item.GetUseLV() > getLVMax:
-            continue
-        
-        if item.GetItemQuality() != 0:
-            continue
-        
-        if checkJob:
-            if JobUseable(curPlayer, item):
-                findItem = item
-                break
-            continue
-        
-        randList.append(item)
-    
-    if randList:
-        findItem = random.choice(randList)
-    
-    if findItem == None:
-        return None
-    
-    return CreateNormalItem(findItem, luckyShotRand, plusRand, addAttrRand, isBind, skillRand)
-
-
-## 生成抽奖的卓越装备
-#  @param 各属性
-#  @return 生成的物品
-def CreateNormalItem(findItem, luckyShotRand, plusRand, addAttrRand, isBind, skillRand):
-    itemID = findItem.GetItemTypeID()
-    equipItem = CreateSingleItem(itemID)
-    
-    tmpEquipData = ItemControler.SingleEquipTmpData()
-    
-    tmpEquipData.starLV = random.randint(plusRand[0], plusRand[1])
-    tmpEquipData.holeCnt = 3
-    tmpEquipData.isBind = isBind
-    tmpEquipData.isSuite = 0
-    
-    # 装备附加属性
-    ChItem.EquipAddAdditionEx(equipItem, tmpEquipData)
-    
-    return equipItem
 
 ## =======================================================================================
 
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAction.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAction.py
index 855e787..b7dcf05 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAction.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAction.py
@@ -183,8 +183,7 @@
     if not giveItem:
         GameWorld.ErrLog('__DoPlayerGetActionAward giveItemErr=%s' % (itemID), playerID)
         return
-
-    ItemControler.SetItemIsBind(giveItem, itemInfo[Def_ItemInfo_IsBind])
+    
     itemControler = ItemControler.PlayerItemControler(curPlayer)
     if not itemControler.PutInItem(IPY_GameWorld.rptItem, giveItem):
         giveItem.Clear()
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAuctionHouse.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAuctionHouse.py
index bff6cc4..7677daa 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAuctionHouse.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAuctionHouse.py
@@ -23,7 +23,6 @@
 import ItemCommon
 import ChConfig
 import ShareDefine
-import ChItem
 
 import time
 
@@ -58,7 +57,7 @@
     curTime = int(time.time())
     if curTime - auctionItemCreateTime > IpyGameDataPY.GetFuncCfg("AuctionItem", 1) * 3600:
         GameWorld.DebugLog("拍品已过期,无法上架!auctionItemCreateTime=%s" % (GameWorld.ChangeTimeNumToStr(auctionItemCreateTime)), playerID)
-        ChItem.DoLogic_PlayerUseAuctionItem(curPlayer, curItem)
+        ItemControler.SetIsAuctionItem(curItem, False, curPlayer)
         return
     
     QueryGameServer_AuctionHouse(playerID, "AddAuctionItemQuery", [itemIndex, itemGUID, itemID])
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBourseTube.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBourseTube.py
index 1844440..4d30f4b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBourseTube.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBourseTube.py
@@ -215,7 +215,6 @@
     ItemControler.SetItemCount(curCreateItem, curPackData.Count)
     
     if curCreateItem.GetPackCount() == 1:
-        ItemControler.SetItemIsBind(curCreateItem, False)
         ItemCommon.SetEquipGearScore(curCreateItem, curPackData.EquipGS)
         curCreateItem.SetUserData(curPackData.UserData, curPackData.UserDataLen)
         
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
index bafdac8..60d1280 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
@@ -106,7 +106,6 @@
     if not newPetItem:
         return
     
-    newPetItem.SetIsBind(True)
     newPetItem.SetUserAttr(ShareDefine.Def_IudetPet_NPCID, petNPCID)
     newPetItem.SetUserAttr(ShareDefine.Def_IudetPet_State, ShareDefine.Def_PetState_Null)
     
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuperMarket.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuperMarket.py
index d62530d..fe06c10 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuperMarket.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuperMarket.py
@@ -235,8 +235,6 @@
     #添加家族活跃度
     addFamilyValue = SMShoppingByGoldAddFamilyVale(curPlayer, priceType, storeItemPrice)
     
-    #设置物品属性
-    ItemControler.SetItemIsBind(curItemTag, isBind)
     ItemControler.SetItemCount(curItemTag, itemCount, 
                                curPlayer.GetPlayerID(), curPlayer.GetAccID(), curPlayer.GetPlayerName())
             
@@ -378,9 +376,7 @@
     
 #    if useGold:
 #        PlayerActivity.AddActivityFinishCnt(curPlayer, ShareDefine.ActivityNum_SuperMarketGold)
-        
-    #设置物品属性
-    ItemControler.SetItemIsBind(curItemTag, isBind)
+    
     ItemControler.SetItemCount(curItemTag, buyCnt, curPlayer.GetPlayerID(), curPlayer.GetAccID(), curPlayer.GetPlayerName())
     itemName = curItemTag.GetName()
     GUID = curItemTag.GetGUID()

--
Gitblit v1.8.0