ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetXunbao.py
@@ -19,11 +19,9 @@
import ShareDefine
import PlayerControl
import PlayerTreasure
import IpyGameDataPY
import ClearPack
import ChConfig
import time
import IpyGameDataPY
## GM命令执行入口
#  @param curPlayer 当前玩家
@@ -32,37 +30,33 @@
#  @remarks 函数详细说明.
def OnExec(curPlayer, paramList):
    if not paramList:
        GameWorld.DebugAnswer(curPlayer, "重置寻宝:SetXunbao 0 选填(是否免费 清空背包)")
        GameWorld.DebugAnswer(curPlayer, "设置幸运:SetXunbao 寻宝类型 幸运值")
        GameWorld.DebugAnswer(curPlayer, "重置寻宝:SetXunbao 0")
        GameWorld.DebugAnswer(curPlayer, "设置幸运:SetXunbao 寻宝类型 幸运值 已寻宝次数")
        return
    
    if not paramList[0]:
        isFree = paramList[1] if len(paramList) > 1 else 1
        isClearPack = paramList[2] if len(paramList) > 2 else 1
        ClearPack.OnExec(curPlayer, [ShareDefine.rptTreasure])
        ClearPack.OnExec(curPlayer, [ShareDefine.rptRune])
        
        if isClearPack:
            ClearPack.OnExec(curPlayer, [ShareDefine.rptTreasure])
            ClearPack.OnExec(curPlayer, [ShareDefine.rptRune])
        treasureTypeList = PlayerTreasure.GetTreasureTypeList()
        for treasureType in treasureTypeList:
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureCount % (treasureType, 0), 0)
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureCount % (treasureType, 1), 0)
        ipyDataMgr = IpyGameDataPY.IPY_Data()
        for i in xrange(ipyDataMgr.GetTreasureSetCount()):
            ipyData = ipyDataMgr.GetTreasureSetByIndex(i)
            treasureType = ipyData.GetTreasureType()
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureCount % (treasureType), 0)
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureLuck % (treasureType), 0)
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureFreeCount % (treasureType), 0)
            
            if not isFree:
                continue
            freeTimeCDList = IpyGameDataPY.GetFuncEvalCfg("TreasureSet1%s" % treasureType, 4)
            for i, minute in enumerate(freeTimeCDList):
                if not minute:
                    continue
                PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureFreeTime % (treasureType, i), int(time.time()) - minute * 60)
        GameWorld.DebugAnswer(curPlayer, "重置寻宝OK!")
    elif len(paramList) == 2:
        treasureType, luck = paramList
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureLuck % (treasureType), luck)
        GameWorld.DebugAnswer(curPlayer, "设置寻宝类型=%s,幸运=%s" % (treasureType, luck))
    else:
        treasureType = paramList[0]
        luck = paramList[1] if len(paramList) > 1 else None
        treasureCount = paramList[2] if len(paramList) > 2 else None
        if luck != None:
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureLuck % (treasureType), luck)
            GameWorld.DebugAnswer(curPlayer, "设置寻宝类型=%s,幸运=%s" % (treasureType, luck))
        if treasureCount != None:
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureCount % (treasureType), treasureCount)
            GameWorld.DebugAnswer(curPlayer, "设置寻宝类型=%s,次数=%s" % (treasureType, treasureCount))
    PlayerTreasure.Sync_TreasureInfo(curPlayer)
    return True