ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerLuckyTreasure.py
@@ -79,6 +79,8 @@
    
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasureFree, 0)
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasurePoint, 0)
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasureCnt, 0)
    
    SyncLuckyTreasureInfo(curPlayer)
    SyncLuckyTreasureResultInfo(curPlayer)
@@ -153,13 +155,19 @@
    greatItem = randomRateList[-1][1]
    
    curLuckyPoint = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LuckyTreasurePoint)
    curLuckyCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LuckyTreasureCnt)
    maxLuckyPoint = actIpyData.GetLuckyPoint()
    singlePoint = IpyGameDataPY.GetFuncCfg('LuckyAppraisal', 2)
    if curLuckyPoint + singlePoint >= maxLuckyPoint:
        giveItem = greatItem
        newLuckyPoint = 0
    else:
        randomResultList = GameWorld.GetResultByRandomListEx(randomRateList, 1, [])
        if curLuckyCnt < IpyGameDataPY.GetFuncCfg('LuckyAppraisal', 3):
            #前X次鉴宝不能出大奖
            randomResultList = GameWorld.GetResultByRandomListEx(randomRateList[:-1], 1, [])
        else:
            randomResultList = GameWorld.GetResultByRandomListEx(randomRateList, 1, [])
        if len(randomResultList) != 1:
            GameWorld.DebugLog('    开始幸运鉴宝 随机库结果 获取错误 !')
            return
@@ -179,9 +187,10 @@
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasureFree, 1)
    #更新幸运值
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasurePoint, newLuckyPoint)
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasureCnt, curLuckyCnt + 1)
    
    for itemID, itemCount, isBind in [giveItem]:
        ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem], event=[ChConfig.ItemGive_LuckyTreasure, False, {"isFree":not hasFree}])
        ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem], event=[ChConfig.ItemGive_LuckyTreasure, False, {"isFree":not hasFree}])
    
    SyncLuckyTreasureResultInfo(curPlayer, giveItem)
    return
@@ -197,11 +206,11 @@
    actIpyData = IpyGameDataPY.GetIpyGameData("ActLuckyTreasure", cfgID)
    if not actIpyData:
        return
    openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
    startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(actIpyData)
    actInfo = ChPyNetSendPack.tagMCLuckyTreasureInfo()
    actInfo.Clear()
    actInfo.StartDate = GameWorld.GetOperationActionDateStr(actIpyData.GetStartDate(), openServerDay)
    actInfo.EndtDate = GameWorld.GetOperationActionDateStr(actIpyData.GetEndDate(), openServerDay)
    actInfo.StartDate = startDateStr
    actInfo.EndtDate = endDateStr
    actInfo.ResetType = actIpyData.GetResetType()
    actInfo.LimitLV = actIpyData.GetLVLimit()
    actInfo.LuckyPoint = actIpyData.GetLuckyPoint()