From 7401f56246945b00aa91d12ba03ec3865c4c2b25 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 03 九月 2025 16:58:58 +0800 Subject: [PATCH] 121 【武将】武将系统-服务端(天赋洗炼改为仅使用洗炼ID,锁定天赋增加消耗洗炼道具个数;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 54 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 32 insertions(+), 22 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py index b8b6056..b82cb93 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py @@ -33,7 +33,6 @@ import PlayerBillboard import GameServerRefresh import IPY_GameWorld -import PlayerGameWallow import ChPyNetSendPack import NetPackCommon import DataRecordPack @@ -1593,10 +1592,6 @@ # @return 无意义 # @remarks 刷新玩家时钟,切地图玩家时钟记录清空,处理相应逻辑 def RefreshPlayerTick(curPlayer): - tick = GameWorld.GetGameWorld().GetTick() - - #防沉迷切线时间 - PlayerGameWallow.DoLogic_WallowOnlineTime(curPlayer, tick) return @@ -2561,7 +2556,7 @@ #---钱不够 返回假如果需要提示的话 提示信息--- if needMoneyCount < Price: if needNotify and notifyCode: - NotifyCode(curPlayer, notifyCode) + pass#NotifyCode(curPlayer, notifyCode) GameWorld.DebugLog("货币不足: TYPE_Price=%s, Price=%s, curMoneyCount=%s" % (TYPE_Price, Price, needMoneyCount)) return False @@ -2610,8 +2605,8 @@ gold = curPlayer.GetGold() # 元宝 if goldPaper + gold < Price: # 钱不够 - if needNotify: - NotifyCode(curPlayer, "GoldErr") + #if needNotify: + # NotifyCode(curPlayer, "GoldErr") return [] if goldPaper >= Price: # 只用礼券就够了 @@ -2746,11 +2741,11 @@ __PayMoneyAfter(curPlayer, type_Price, lostMoney, costType, infoDict, quantity, costVIPGold) #通知客户端失去金钱 - if isNotify: - if type_Price == ShareDefine.TYPE_Price_PayCoin: - NotifyCode(curPlayer, "LostMoney", [type_Price, str(round(lostMoney/100.0, 2))]) - else: - NotifyCode(curPlayer, "LostMoney", [type_Price, lostMoney]) + #if isNotify: + # if type_Price == ShareDefine.TYPE_Price_PayCoin: + # NotifyCode(curPlayer, "LostMoney", [type_Price, str(round(lostMoney/100.0, 2))]) + # else: + # NotifyCode(curPlayer, "LostMoney", [type_Price, lostMoney]) return True ## 付款以后后续操作 @@ -2811,6 +2806,9 @@ NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnXiantaoCntBooty % itemID, unXiantaoCntBooty + price) PlayerPrestigeSys.AddRealmTaskValue(curPlayer, PlayerPrestigeSys.RealmTaskType_UseXiantao, price) + PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_CutTree, price) + + unitPrice = price if quantity == 1 else int(math.ceil(price * 1.0 / quantity)) # 单价 #reason_name = "Unknown" if not costType else costType reason_name = costType @@ -3045,12 +3043,12 @@ if priceType == ShareDefine.TYPE_Price_PayCoinDay: priceType = ShareDefine.TYPE_Price_PayCoin - if isSysHint and priceType != ShareDefine.TYPE_Price_BourseMoney: - #通知客户端得到金钱 - if priceType == ShareDefine.TYPE_Price_PayCoin: - NotifyCode(curPlayer, "GetMoney", [priceType, str(round(value/100.0, 2))]) - else: - NotifyCode(curPlayer, "GetMoney", [priceType, value]) + #if isSysHint and priceType != ShareDefine.TYPE_Price_BourseMoney: + # #通知客户端得到金钱 + # if priceType == ShareDefine.TYPE_Price_PayCoin: + # NotifyCode(curPlayer, "GetMoney", [priceType, str(round(value/100.0, 2))]) + # else: + # NotifyCode(curPlayer, "GetMoney", [priceType, value]) __GiveMoneyAfter(curPlayer, priceType, value, giveType, addDataDict) if befMoney == 0: @@ -3581,7 +3579,6 @@ #if curPlayer.GetMaxMP() > 0: # curPlayer.SetMP(curPlayer.GetMaxMP()) - FBLogic.OnPlayerLVUp(curPlayer) # 记录开服活动冲级数据 #OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_LV, curPlayer.GetLV()) #神秘限购 @@ -4413,11 +4410,17 @@ # @param wave: 第x波 value = ComMainLevelValue(chapterID, levelNum, wave) SetMainLevelPassValue(curPlayer, value) + if wave == 0: + PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_MainLevel) return value def GetMainLevelPassInfo(curPlayer): ## 获取主线关卡过关进度信息 # @return: chapterID, levelNum, wave - return GetMainLevelValue(GetMainLevelPassValue(curPlayer)) + chapterID, levelNum, wave = GetMainLevelValue(GetMainLevelPassValue(curPlayer)) + if not chapterID and not levelNum: + chapterID, levelNum, wave = 1, 1, 0 + SetMainLevelPassValue(curPlayer, ComMainLevelValue(chapterID, levelNum, wave)) + return chapterID, levelNum, wave ## 主线关卡当前进度值 = 章节*10000+关卡编号*100+第x波 def GetMainLevelNowValue(curPlayer): return curPlayer.GetExAttr2() @@ -4433,7 +4436,14 @@ def GetMainLevelNowInfo(curPlayer): ## 获取主线关卡当前进度信息 # @return: chapterID, levelNum, wave - return GetMainLevelValue(GetMainLevelNowValue(curPlayer)) + chapterID, levelNum, wave = GetMainLevelValue(GetMainLevelNowValue(curPlayer)) + if not chapterID and not levelNum: + chapterID, levelNum, wave = 1, 1, 1 + SetMainLevelNowInfo(curPlayer, chapterID, levelNum, wave) + if not wave: + wave = 1 + SetMainLevelNowInfo(curPlayer, chapterID, levelNum, wave) + return chapterID, levelNum, wave def ComMainLevelValue(chapterID, levelNum, wave=0): return chapterID * 10000 + levelNum * 100 + wave def GetMainLevelValue(value): -- Gitblit v1.8.0