From 789490b7d362160f7fca4580df6176498e1eb271 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 15 十一月 2024 15:19:13 +0800 Subject: [PATCH] 10302 【越南】【英语】【砍树】【tqxbqy】【btgotq】仙缘-服务端 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerZhanling.py | 61 +++++++++++++++++++++--------- 1 files changed, 42 insertions(+), 19 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerZhanling.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerZhanling.py index 4e4c966..7a0f828 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerZhanling.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerZhanling.py @@ -16,6 +16,7 @@ #------------------------------------------------------------------------------- import GameWorld +import ShareDefine import NetPackCommon import IpyGameDataPY import PlayerControl @@ -31,15 +32,17 @@ # 战令类型 ZhanlingTypeList = ( -ZhanlingType_LV, -ZhanlingType_Realm, -ZhanlingType_SkyTower, -ZhanlingType_GubaoStar, -ZhanlingType_Login, -ZhanlingType_GatherTheSoulLV, -ZhanlingType_HorsePetTrain, -ZhanlingType_GubaoTrain, -) = range(1, 1 + 8) +ZhanlingType_LV, # 等级 1 +ZhanlingType_Realm, # 境界 2 +ZhanlingType_SkyTower, # 天星塔 3 +ZhanlingType_GubaoStar, # 古宝总星数 4 +ZhanlingType_Login, # 登录 5 +ZhanlingType_GatherTheSoulLV, # 聚魂 6 +ZhanlingType_HorsePetTrain, # 骑宠养成 7 +ZhanlingType_GubaoTrain, # 古宝养成 8 +ZhanlingType_Xianyuan, # 仙缘 9 +ZhanlingType_Huanjingge, # 幻境阁 10 +) = range(1, 1 + 10) def OnPlayerLogin(curPlayer): for zhanlingType in ZhanlingTypeList: @@ -96,6 +99,9 @@ updStateH = GameWorld.SetBitValue(stateH, zhanlingType, 0) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingState, updState) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingStateH, updStateH) + if zhanlingType == ZhanlingType_Xianyuan: + backValue = PlayerControl.GetMoney(curPlayer, ShareDefine.TYPE_Price_XianyuanScore) + PlayerControl.SetMoney(curPlayer, ShareDefine.TYPE_Price_XianyuanScore, 0) GameWorld.Log("重置战令: zhanlingType=%s,backValue=%s,state=(%s to %s) stateH=(%s to %s)" % (zhanlingType, backValue, state, updState, stateH, updStateH), curPlayer.GetPlayerID()) @@ -154,6 +160,25 @@ PlayerControl.SendMailByKey("ZhanlingRewardUnget", [playerID], itemList, paramList) return +def AddZhanlingValue(curPlayer, zhanlingType, addValue=1): + if zhanlingType not in [ZhanlingType_Huanjingge]: + return + curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ZhanlingValue1 % zhanlingType) + updValue = min(ChConfig.Def_UpperLimit_DWord, curValue + addValue) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingValue1 % zhanlingType, updValue) + GameWorld.DebugLog("增加战令进度: zhanlingType=%s,addValue=%s,curValue=%s,updValue=%s" + % (zhanlingType, addValue, curValue, updValue), curPlayer.GetPlayerID()) + SyncZhanlingInfo(curPlayer, zhanlingType, []) + return updValue + +def SetZhanlingValue(curPlayer, zhanlingType, value1): + if zhanlingType not in [ZhanlingType_Huanjingge]: + return + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ZhanlingValue1 % zhanlingType, value1) + GameWorld.DebugLog("设置战令进度: zhanlingType=%s,value1=%s" % (zhanlingType, value1), curPlayer.GetPlayerID()) + SyncZhanlingInfo(curPlayer, zhanlingType, []) + return value1 + def GetZhanlingReward(curPlayer, zhanlingType, rewardID): ## 领取战令奖励 rewardID = GameWorld.ToIntDef(rewardID) @@ -184,6 +209,10 @@ curValue = PlayerActHorsePetTrain.GetActHorsePetTrainScore(curPlayer) elif zhanlingType == ZhanlingType_GubaoTrain: curValue = PlayerActGubao.GetActGubaoTrainScore(curPlayer) + elif zhanlingType == ZhanlingType_Xianyuan: + curValue = PlayerControl.GetMoney(curPlayer, ShareDefine.TYPE_Price_XianyuanScore) + elif zhanlingType == ZhanlingType_Huanjingge: + curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ZhanlingValue1 % zhanlingType) else: return @@ -223,7 +252,7 @@ # 更新已领取成功标记 GameWorld.SetDictValueByBit(curPlayer, rewardKey, rewardIndex, 1, True, [zhanlingType]) - SyncZhanlingInfo(curPlayer, zhanlingType, ipyData) + SyncZhanlingInfo(curPlayer, zhanlingType, [ipyData]) GameWorld.DebugLog("领取战令奖励: zhanlingType=%s,needValue=%s,rewardType=%s,itemList=%s" % (zhanlingType, needValue, rewardType, itemList), playerID) # 给物品 @@ -232,17 +261,11 @@ return -def SyncZhanlingInfo(curPlayer, zhanlingType, ipyData=None): +def SyncZhanlingInfo(curPlayer, zhanlingType, ipyDataList=None): - ipyDataList = [] - if ipyData == None: + if ipyDataList == None: ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition("Zhanling", {"ZhanlingType":zhanlingType}, True) - else: - ipyDataList = [ipyData] - - if not ipyDataList: - return - + rewardList = [] for ipyData in ipyDataList: rewardIndex = ipyData.GetRewardIndex() -- Gitblit v1.8.0