hxp
2022-04-18 be1496bfd2b5e0d180e07e0f1a35aa3a741160f4
9553 【主干】【BT6】【BT6】【yn_1.0.1】【后端】新增下载奖励
1个文件已修改
41 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -570,6 +570,9 @@
    #玩家扩展信息
    __SyncPlayerInfoEx(curPlayer)
    
    #补丁包下载奖励
    GiveDownloadPatchAward(curPlayer)
    #PKģʽ
    SyncPKModel(curPlayer)
        
@@ -6029,10 +6032,38 @@
    PlayerControl.PyNotifyAll(curPlayer, sendPack, False, 0)
    return
def GiveDownloadPatchAward(curPlayer):
    ## 发放下载补丁包奖励
    playerID = curPlayer.GetPlayerID()
    patchAwardNum = IpyGameDataPY.GetFuncCfg('DownReward', 4)
    if patchAwardNum >= 100000000:
        GameWorld.ErrLog("GiveDownloadPatchAward patchAwardNum error! >= 100000000")
        return
    awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState)
    curPatchAwardNum = awardState / 10
    if curPatchAwardNum >= patchAwardNum:
        GameWorld.DebugLog("已发放下载补丁包奖励! curPatchAwardNum(%s) >= patchAwardNum(%s)" % (curPatchAwardNum, patchAwardNum), playerID)
        return
    awardItemList = IpyGameDataPY.GetFuncEvalCfg('DownReward', 3)
    if not awardItemList:
        return
    downloadAwardState = awardState % 10
    updateAwardState = patchAwardNum * 10 + downloadAwardState
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadAwardState, updateAwardState)
    GameWorld.DebugLog("发放补丁包下载奖励: awardState=%s,curPatchAwardNum=%s,patchAwardNum=%s,updateAwardState=%s" %
                       (awardState, curPatchAwardNum, patchAwardNum, updateAwardState), playerID)
    PlayerControl.SendMailByKey("DownloadPatchAward", [playerID], awardItemList)
    return
def GetDownloadAward(curPlayer, dataEx):
    ##分包下载奖励 dataEx 0直接领取 1发邮件
    awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState)
    if awardState:
    downloadAwardState = awardState % 10
    if downloadAwardState:
        GameWorld.Log('    分包下载奖励已领取,不可重复领取!', curPlayer.GetID())
        return
    
@@ -6045,7 +6076,11 @@
            PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
            return
        
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadAwardState, 1)
    curPatchAwardNum = awardState / 10
    updateAwardState = curPatchAwardNum * 10 + 1
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadAwardState, updateAwardState)
    GameWorld.DebugLog("领取分包下载奖励: awardState=%s,curPatchAwardNum=%s,updateAwardState=%s" %
                       (awardState, curPatchAwardNum, updateAwardState), curPlayer.GetPlayerID())
    if dataEx == 1:
        PlayerControl.SendMailByKey('SubpackageDownload', [curPlayer.GetID()], awardItemList)
    else:
@@ -6058,7 +6093,7 @@
    #分包下载奖励记录通知
    sendPack = ChPyNetSendPack.tagMCPackDownloadRecord()
    sendPack.Clear()
    sendPack.Record = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState)
    sendPack.Record = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState) % 10
    NetPackCommon.SendFakePack(curPlayer, sendPack)
    return