9415 【BT7】【BT8】【BT9】【主干】【后端】古神战场(跨服服务器及本服服务器时间均超过5点后可购买)
1个文件已修改
1个文件已添加
74 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GMTExec/BattlefieldBuyOpen.py 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossBattlefield.py 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GMTExec/BattlefieldBuyOpen.py
New file
@@ -0,0 +1,66 @@
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package Script.Player.GMTExec.BattlefieldBuyOpen
#
# @todo:修改召集榜数据
# @author hxp
# @date 2023-02-27
# @version 1.0
#
# 详细描述: 修改召集榜数据
#
#-------------------------------------------------------------------------------
#"""Version = 2023-02-27 15:30"""
#-------------------------------------------------------------------------------
def runMyTest(exec_locals):
    ''' 运行命令函数
    @param exec_locals: GY_Query_GMTExecfile 模块中的 DoLogic 函数 locals()
    import 其他模块需要写在此函数里,不然无法引用到
    '''
    import PlayerControl
    import PlayerBillboard
    import ShareDefine
    import GameWorld
    import ChConfig
    orderId = exec_locals["orderId"]
    cmdInfo = exec_locals["cmdInfo"]
    curPlayer = exec_locals["curPlayer"]
    resultDict = exec_locals["resultDict"] # 建议都进行更新结果字典记录详细处理信息,GY_Query_GMTExecfile 模块会统一写入流向
    ## ============== 命令配置 ================
    zoneID = 1 # 分区ID
    BuyOpenCountToday = 3 # 今日已购买次数
    BuyOpenCountWeek = 3 # 本周已购买次数
    ## ========================================
    playerID = curPlayer.GetPlayerID()
    befBuyOpenCountToday = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Battlefield_BuyOpenCountToday)
    befBuyOpenCountWeek = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Battlefield_BuyOpenCountWeek)
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Battlefield_BuyOpenCountToday, BuyOpenCountToday)
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Battlefield_BuyOpenCountWeek, BuyOpenCountWeek)
    aftBuyOpenCountToday = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Battlefield_BuyOpenCountToday)
    aftBuyOpenCountWeek = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Battlefield_BuyOpenCountWeek)
    groupValue1 = zoneID
    value1 = curPlayer.GetOfficialRank()
    cmpValue = BuyOpenCountWeek
    PlayerBillboard.UpdatePlayerCrossBillboard(curPlayer, ShareDefine.Def_CBT_BattlefieldWCall, groupValue1, cmpValue, value1=value1)
    GameWorld.Log("This is MameServer BattlefieldBuyOpen run %s. orderId=%s" % (cmdInfo, orderId), curPlayer.GetPlayerID())
    resultDict.update({"befBuyOpenCountToday":befBuyOpenCountToday, "aftBuyOpenCountToday":aftBuyOpenCountToday,
                       "befBuyOpenCountWeek":befBuyOpenCountWeek, "aftBuyOpenCountWeek":aftBuyOpenCountWeek,
                       "PlayerID":playerID})
    return
exec_locals = locals()
if exec_locals.get("cmdInfo"):
    runMyTest(exec_locals)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossBattlefield.py
@@ -103,6 +103,14 @@
                      % (hour, minute, crossServerDateTime, endBuyDateTime), playerID)
        return
    
    canBuyStartHour = 5
    curServerTime = GameWorld.GetCurrentTime()
    if crossServerDateTime.hour < canBuyStartHour or curServerTime.hour < canBuyStartHour:
        PlayerControl.NotifyCode(curPlayer, "CrossBattlefieldBuyLimit")
        GameWorld.Log("跨服服务器及本服服务器需超过%s点后可购买! crossServerHour=%s,curServerHour=%s"
                      % (canBuyStartHour, crossServerDateTime.hour, curServerTime.hour), playerID)
        return
    moneyBuyMaxCount, moneyType, moneyCount = 0, 0, 0
    todayBuyOpenCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Battlefield_BuyOpenCountToday)
    buyOpenMoneyInfo = IpyGameDataPY.GetFuncEvalCfg("CrossBattlefieldBuyOpen", 1)