2303 【后端】限时特惠提前通知前端开启
2302 【后端】限时礼包开启提前通知前端
2个文件已修改
65 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSpringSale.py 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py
@@ -40,14 +40,7 @@
    return todayGiftbag
def OnPlayerLogin(curPlayer):
    isReset = __CheckPlayerFlashGiftbagAction(curPlayer)
    if not isReset:
        actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FlashGiftbag, {})
        # 活动中同步活动信息
        if actInfo.get(ShareDefine.ActKey_State):
            giftbagTypeList = GetGiftbagTypeList(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0))
            SyncFlashGiftbagBuyCount(curPlayer, giftbagTypeList=giftbagTypeList)
            Sync_FlashGiftbagActionInfo(curPlayer)
    __CheckPlayerFlashGiftbagAction(curPlayer)
    return
def RefreshFlashGiftbagActionInfo():
@@ -71,10 +64,11 @@
    cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0)
    
    playerActID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FlashGiftbagID) # 玩家身上的活动ID
    giftbagTypeList = [] if not cfgID else GetGiftbagTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0))
    isReset = False
    if actID != playerActID:
        giftbagTypeList = GetGiftbagTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0))
        ResetGiftbagItemBuyCount(curPlayer, giftbagTypeList)
        isReset = True
        __ResetGiftbagItemBuyCount(curPlayer, giftbagTypeList)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashGiftbagID, actID)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashGiftbagMailState, 0)
        GameWorld.DebugLog("限时礼包重置! actID=%s,playerActID=%s,state=%s,giftbagTypeList=%s" % (actID, playerActID, state, giftbagTypeList), playerID)
@@ -89,9 +83,14 @@
            PlayerControl.SendMailByKey(flashGiftbagIpyData.GetMailKey(), [playerID], flashGiftbagIpyData.GetMailItemPrize())
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashGiftbagMailState, state)
            GameWorld.DebugLog("    发送新限时礼包邮件提醒! state=%s,playerMailState=%s" % (state, playerMailState), playerID)
    return True
    if not isReset and cfgID:
        if giftbagTypeList:
            SyncFlashGiftbagBuyCount(curPlayer, giftbagTypeList=giftbagTypeList)
        Sync_FlashGiftbagActionInfo(curPlayer)
    return isReset
def ResetGiftbagItemBuyCount(curPlayer, giftbagTypeList):
def __ResetGiftbagItemBuyCount(curPlayer, giftbagTypeList):
    ##重置限时礼包限购物品次数
    syncIDList = []
    ipyDataMgr = IpyGameDataPY.IPY_Data()
@@ -213,13 +212,16 @@
    if not actInfo:
        return
    
    if not actInfo.get(ShareDefine.ActKey_State):
        return
    #需要提前通知,所以去掉此限制
    #if not actInfo.get(ShareDefine.ActKey_State):
    #    return
    
    cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0)
    giftbagTypeList = GetGiftbagTypeList(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0))
    if not cfgID:
        return
    giftbagTypeList = GetGiftbagTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0))
    
    if not cfgID or not giftbagTypeList:
    if not giftbagTypeList:
        return
    
    flashGiftbagIpyData = IpyGameDataPY.GetIpyGameData("ActFlashGiftbag", cfgID)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSpringSale.py
@@ -36,12 +36,7 @@
    return todayShopType
def OnPlayerLogin(curPlayer):
    isReset = __CheckPlayerSpringSaleAction(curPlayer)
    if not isReset:
        actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_SpringSale, {})
        # 活动中同步活动信息
        if actInfo.get(ShareDefine.ActKey_State):
            Sync_SpringSaleActionInfo(curPlayer)
    __CheckPlayerSpringSaleAction(curPlayer)
    return
def RefreshSpringSaleActionInfo():
@@ -65,13 +60,14 @@
    cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0)
    
    playerActID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SpringSaleID) # 玩家身上的活动ID
    isReset = False
    if actID != playerActID:
        isReset = True
        shopTypeList = GetShopTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0))
        FunctionNPCCommon.ResetShopItemBuyCountByShopType(curPlayer, shopTypeList)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SpringSaleID, actID)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SpringSaleMailState, 0)
        Sync_SpringSaleActionInfo(curPlayer)
        #Sync_SpringSaleActionInfo(curPlayer)
        GameWorld.DebugLog("限时特惠重置! actID=%s,playerActID=%s,state=%s,shopTypeList=%s" % (actID, playerActID, state, shopTypeList), playerID)
    else:
        GameWorld.DebugLog("限时特惠活动ID不变,不处理!", playerID)
@@ -83,7 +79,10 @@
            PlayerControl.SendMailByKey(springSaleIpyData.GetMailKey(), [playerID], springSaleIpyData.GetMailItemPrize())
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SpringSaleMailState, state)
            GameWorld.DebugLog("    发送新限时特惠邮件提醒! state=%s,playerMailState=%s" % (state, playerMailState), playerID)
    return True
    if cfgID:
        Sync_SpringSaleActionInfo(curPlayer)
    return isReset
def Sync_SpringSaleActionInfo(curPlayer):
    ## 通知限时特惠活动信息
@@ -91,13 +90,15 @@
    if not actInfo:
        return
    
    if not actInfo.get(ShareDefine.ActKey_State):
        return
    #需要提前通知,所以去掉此限制
    #if not actInfo.get(ShareDefine.ActKey_State):
    #    return
    
    cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0)
    shopTypeList = GetShopTypeList(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0))
    if not cfgID or not shopTypeList:
    if not cfgID:
        return
    shopTypeList = GetShopTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0))
    if not shopTypeList:
        return
    
    springSaleIpyData = IpyGameDataPY.GetIpyGameData("ActSpringSale", cfgID)