ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
@@ -37,7 +37,6 @@
import UseItem
import ItemCommon
import ChConfig
import EventShell
import PlayerControl
import FBLogic
import ReadChConfig
@@ -159,12 +158,6 @@
        return
    dropItemNPCID = GetMapItemUserDataValue(mapItem, ShareDefine.Def_MapItemInfo_NPCID)
    
    #镖车中,无法拾取
    if not isGuard and curPlayer.GetPlayerVehicle() == IPY_GameWorld.pvTruck:
        PlayerControl.NotifyCode(curPlayer, "Old_hgg_21675")
        GameWorld.Log("使用交通工具时,无法拾取物品!mapItemID=%s,dropItemNPCID=%s" % (mapItemID, dropItemNPCID), playerID)
        return
    if GameObj.GetHP(curPlayer) == 0:
        #玩家已经死亡
        GameWorld.Log("玩家已死亡,无法拾取物品!mapItemID=%s,dropItemNPCID=%s" % (mapItemID, dropItemNPCID), playerID)
@@ -284,8 +277,6 @@
        #    PickupItemSysNotify(curPlayer, isTeamNotify, itemMsgList, isEquip)
        #=======================================================================
        
        #响应事件
        EventShell.EventRespons_OnGet(curPlayer, mapItemTypeID)
        #成就
        PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_PickUpItem, curItemCount, [curItemID])
    
@@ -723,7 +714,6 @@
                            ChConfig.Def_Effect_Face:"Item_Face",
                            ChConfig.Def_Effect_FacePic:"Item_Face",
                            ChConfig.Def_Effect_ItemAddLV:"Item_AddLV", #升级道具
                            ChConfig.Def_Effect_TJGAddTime:"Item_TJGAddTime", #增加脱机挂时间
                            ChConfig.Def_Effect_GuajiAward:"Item_GuajiAward", #直接给挂机收益
                            ChConfig.Def_Effect_CleanGuilt:"Item_CleanGuilt", # 洗红名
                            ChConfig.Def_Effect_PrizeCoin:"Item_PrizeCoin", # 奖励充值点券
@@ -744,6 +734,7 @@
                            ChConfig.Def_Effect_ItemGiveWeekPartyPoint1:"Item_WeekPartyPoint", # 增加活动巡礼积分
                            ChConfig.Def_Effect_AddRealmExpRate:"Item_AddRealmExpRate", # 增加聚灵效率
                            ChConfig.Def_Effect_TouchMission:"Item_TouchMission",  # 触发任务接口
                            ChConfig.Def_Effect_HeroSkin:"Item_HeroSkin",  # 武将皮肤
                            #ChConfig.Def_Effect_FamilyImpeach:"Item_FamilyImpeach",  # 弹劾符
                            #ChConfig.Def_Effect_ClothesCoatSkin:"Item_ClothesCoatSkin", #激活时装皮肤
                            #ChConfig.Def_Effect_AddOfficialExp:"Item_AddOfficialExp", # 增加爵位经验
@@ -920,11 +911,6 @@
                                        ):
        return False
    
    #在镖车中, 不可使用物品
    if curPlayer.GetPlayerVehicle() == IPY_GameWorld.pvTruck :
        PlayerControl.NotifyCode(curPlayer, "Old_hgg_0")
        return False
    #交易状态, 不可使用物品
    if curPlayer.GetPlayerAction() == IPY_GameWorld.paTrade:
        PlayerControl.NotifyCode(curPlayer, "GeRen_lhs_372238")
@@ -982,11 +968,6 @@
    
    if ItemControler.IsEventItem(curItem):
        PlayerControl.NotifyCode(curPlayer, "itemuse_chenxin_31379")
        return
    #玩家在镖车中,不能使用物品
    if curPlayer.GetPlayerVehicle() == IPY_GameWorld.pvTruck:
        PlayerControl.NotifyCode(curPlayer, "Old_hgg_0")
        return
    
#    #玩家事件中, 不能使用物品
@@ -1409,96 +1390,6 @@
def GetBackItemInFabao(index , tick):
    return
##===============================================================================
##07 24   tagCDingDianTransport
#
### 定点(城市)传送 和 洞穴传送 (收包参数)
##  @param index 玩家索引
##  @param tick 当前时间
##  @return None
##  @remarks 函数详细说明.
#def PointTransport(index, tick):
#    return
#    packUseItem = IPY_GameWorld.IPY_CDingDianTransport()
#    useItemIndex = packUseItem.GetItemIndex()
#    transportIndex = packUseItem.GetTransportIndex()
#
#    #获得玩家使用的物品
#    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
#    backPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
#    curItem = backPack.GetAt(useItemIndex)
#
#    #检查玩家状态和物品
#    if not CheckUseTransformItem(curPlayer, curItem, tick):
#        return
#
#    #判断属于哪种传送
#    effIndex = curItem.GetEffectByIndex(0)
#    curEffID = effIndex.GetEffectID()
#
#    #CD验证
#    if (tick - curPlayer.GetItemCDStartTime(curEffID)) < curItem.GetCDTime():
#        #CD冷却时间未到
#        PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_749572")
#        return
#
#    #判断并执行传送
#    if not __DoTransport(curPlayer, curItem, curEffID, transportIndex, useItemIndex, tick):
#        return
#
### 执行传送
##  @param curPlayer 当前玩家
##  @param curItem 使用物品
##  @param curEffID 当前效果
##  @param transportIndex 传送点索引
##  @param useItemIndex 使用的物品索引
##  @param tick 当前时间
##  @return None
##  @remarks 函数详细说明.
#def __DoTransport(curPlayer, curItem, curEffID, transportIndex, useItemIndex, tick):
#    #定点列表
#    cityPosList = ReadChConfig.GetEvalChConfig('Def_List_City_Pos')
#    #山洞列表
#    cavePosList = ReadChConfig.GetEvalChConfig('Def_List_Cave_Pos')
#
#    #定点
#    if curEffID == ChConfig.Def_Item_150_Effect:
#        posList = cityPosList
#    #山洞
#    elif curEffID == ChConfig.Def_Item_152_Effect:
#        posList = cavePosList
#    else:
#        GameWorld.Log('###非法使用物品,效果值%s'%(curEffID,), curPlayer.GetPlayerID())
#        return
#
#    #检查越界
#    if transportIndex < 0 or transportIndex >= len(posList):
#        GameWorld.Log('###定点传送越界--%s'%(transportIndex))
#        return
#
#    #目标地图判断
#    if not PlayerControl.CheckTagCountry(curPlayer, posList[transportIndex][0]):
#        return
#
#    itemID = curItem.GetItemTypeID()
#
#
#    #使用xx一个
#    PlayerControl.NotifyCode(curPlayer, "LostRes", [itemID, 1])
#    #通知客户端
#    curPlayer.Sync_UseItem(itemID, useItemIndex)
#    curPlayer.SetItemCD(curItem.GetCDType(), tick)
#
#    #扣除物品(先记录再删除,避免底层已经删除此物品)
#    curItem.SetCount(curItem.GetCount() - 1)
#
#    #判断成功,进行传送
#    PlayerControl.PlayerResetWorldPos(curPlayer, posList[transportIndex][0], posList[transportIndex][1], posList[transportIndex][2], False)
#
#    #传送XX地点提示
#    PlayerControl.NotifyCode(curPlayer, "Map_Deliver_Succeed", [posList[transportIndex][0]])
#---------------------------------------------------------------------
#===============================================================================
# //07 26 有对象的使用物品#tagCUseItemTag
# tagCUseItemTag       *   GettagCUseItemTag();
@@ -1650,100 +1541,6 @@
        return
    return
#---------------------------------------------------------------------
#===============================================================================
# //07 33 使用五行卷#tagCUseWuXingJuan
# tagCUseWuXingJuan       *   GettagCUseWuXingJuan();
#
# class   IPY_CUseWuXingJuan
# {
# public:
#    //物品Index
#    int      GetItemIndex();
#    //新的五行
#    int      GetNewWuXing();
# };
#===============================================================================
## 使用五行卷轴(封包参数)
#  @param index 玩家索引
#  @param tick 当前时间
#  @return None or False
#  @remarks 函数详细说明.
def UseWuXingJuan(index , tick):
    return
## 检测物品是否是五行卷轴
#  @param curItem 等待检测的物品
#  @return 布尔值
#  @remarks 函数详细说明.
#===============================================================================
# def CheckWuXingJuan(curItem):
#    if not ItemCommon.CheckItemCanUse(curItem):
#        return False
#
#    #这个物品不是五行转换卷轴
#    if curItem.GetEffectByIndex(0).GetEffectID() != ChConfig.Def_Effect_ItemWuXingJuan:
#        return False
#
#    return True
#===============================================================================
## 使用回城
#  @param curPlayer 当前玩家
#  @return None or True
#  @remarks 函数详细说明.
def UseTownPortal(curPlayer):
    #检查是否是回城卷
    itemIndex = curPlayer.GetDictByKey(ChConfig.Def_Use_Item_303_Index)
    curItem = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem).GetAt(itemIndex)
    #物品不存在,不是回城卷不处理
    if not ItemCommon.CheckItemCanUse(curItem) or curItem.GetItemTypeID() != 303:
        #不能获得物品ID只能写死,否则玩家移动将找不到物品,或ID不匹配
        PlayerControl.NotifyCode(curPlayer, "B66BA2D6-0B3C-4177-B3FE66153B638DD0", [303, 303])
        return
    useCount = 1
    itemID = curItem.GetItemTypeID()
    guID = curItem.GetGUID()
    dataDict = {"ItemID":itemID, "ItemCount":useCount, "IsBind":curItem.GetIsBind(),"ItemGUID":guID}
    DataRecordPack.DR_DeleteItem(curPlayer, 'UseTownPortal', dataDict)
    #物品使用减少
    if curItem.GetCount() > useCount:
        ItemControler.SetItemCount(curItem, curItem.GetCount() - useCount,
                                   curPlayer.GetID(), curPlayer.GetAccID(), curPlayer.GetPlayerName())
    else:
        curItem.Clear()
    #PlayerControl.NotifyCode(curPlayer, "LostRes", [itemID, useCount])
    playerControl = PlayerControl.PlayerControl(curPlayer)
    #把人物设置回重生点
    playerControl.SetToBornPlace()
    return True
#===============================================================================
# 07 39 使用指定数量的物品 tagCUseItemCount
# struct    tagCUseItemCount
# {
#     tagHead        Head;
#     BYTE        Type;    //物品类型
#     DWORD        Count;       //物品数量
# }
#===============================================================================
## 07 39封包 使用指定数量的物品
#  @param index 玩家索引
#  @param tick 当前时间
#  @return 无
#  @remarks 和客户端约定的类型来取得指定物品,目前用于离线挂机,扣乾坤珠
def UseOfflineTime(index, tick):
    return
#===============================================================================
# struct   tagCPetUseItemByIndex
# {