From 8495b01a0c80894ce04f04b9e37c96479aedcefc Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 22 九月 2023 16:49:15 +0800 Subject: [PATCH] 9931 【BT0.1】【主干】境界修改(修仙之路) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py | 66 ++++++++++++++++++++++++++++++++- 1 files changed, 64 insertions(+), 2 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py index d346b08..38b98be 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py @@ -64,14 +64,76 @@ #}; def OpenRealmFB(index, clientData, tick): return + +def GetXXZLAward(curPlayer, taskID): + ## 领取修仙之路奖励 + awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RealmXXZLAward) + if awardState&pow(2, taskID): + GameWorld.DebugLog("已领取过境界修仙之路该奖励, taskID=%s" % taskID, curPlayer.GetPlayerID()) + return + ipyData = IpyGameDataPY.GetIpyGameData("RealmXXZL", taskID) + if not ipyData: + return + taskType = ipyData.GetTaskType() + needValue = ipyData.GetNeedValue() + curValue= 0 + + #1. 得到 XXX法宝, 所需值为法宝ID + if taskType == 1: + magicWeaponID = needValue + if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MagicWeaponLV % magicWeaponID) >= 1: + curValue = needValue + + #2. 通关天星塔X层 + elif taskType == 2: + curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_SkyTowerFloor) + + #3. 击杀世界BOSSX只 + elif taskType == 3: + curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Boss_KillCntTotal % ShareDefine.Def_Boss_Func_World) + + #4. 活跃修炼X次 + elif taskType == 4: + curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ActivityCountTotal) + + #5. 击杀个人BOSS:xxx,所需之为个人boss表对应线路id + elif taskType == 5: + mapID = ChConfig.Def_FBMapID_PersonalBoss + lineID = needValue + if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [mapID]): + curValue = needValue + + #6. 通关宗门试炼x次 + elif taskType == 6: + curValue = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntTotal % ChConfig.Def_FBMapID_MunekadoTrial) + + #7. 获得X点灵根点 + elif taskType == 7: + curValue = PlayerControl.GetTotalLingGenPoint(curPlayer) + + if curValue < needValue: + GameWorld.DebugLog("境界修仙之路当前任务所需值不满足,无法领奖, taskID=%s,taskType=%s,curValue=%s < %s" + % (taskID, taskType, curValue, needValue), curPlayer.GetPlayerID()) + return + + awardItemList = ipyData.GetAwardItemList() + if not ItemCommon.GiveAwardItem(curPlayer, awardItemList): + return + + updAwardState = awardState|pow(2, taskID) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RealmXXZLAward, updAwardState) + GameWorld.DebugLog("领取境界修仙之路奖励, awardID=%s,updAwardState=%s" % (taskID, updAwardState), curPlayer.GetPlayerID()) + SyncRealmFBState(curPlayer) + return def SyncRealmFBState(curPlayer): #通知客户端渡劫副本是否开启 - if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Official): - return + #if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Official): + # return sendPack = ChPyNetSendPack.tagMCSyncRealmInfo() sendPack.IsPass = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RealmFBIsOpen) + sendPack.XXZLAwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RealmXXZLAward) NetPackCommon.SendFakePack(curPlayer, sendPack) return -- Gitblit v1.8.0