From 541f5d53ee3e0676c66157141aa868e31f27fa81 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 04 九月 2025 18:19:53 +0800 Subject: [PATCH] 92 【主界面】主线任务-服务端(增加A801获得物品通知;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py | 83 ++++++++++------------------------------- 1 files changed, 21 insertions(+), 62 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py index e8e9e66..52d3a74 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py @@ -24,67 +24,50 @@ import ChPyNetSendPack import GameWorld import NetPackCommon -import PlayerGodWeapon -import PlayerHorse -import PlayerPet +#import PlayerGodWeapon +#import PlayerHorse +#import PlayerPet import ShareDefine import IpyGameDataPY -import PlayerMagicWeapon -import PlayerRefineStove import PlayerControl import PlayerPrestigeSys import PlayerBillboard import PlayerTreasure import PlayerSignDay -import PlayerGoldGift -import PlayerEquipDecompose -import PlayerCrossChampionship -import PlayerFreeGoods -import FunctionNPCCommon -import PlayerGreatMaster +#import PlayerGoldGift +#import PlayerEquipDecompose +#import PlayerCrossChampionship +#import PlayerFreeGoods +#import FunctionNPCCommon import PlayerActBuyCountGift import PlayerActLoginNew import PlayerActTask import IPY_GameWorld import ItemCommon import ItemControler -import PlayerLianTi import PlayerArena -import PlayerFaQi -import PlayerGuaji -import PlayerTJG -import EventShell +#import PlayerLianTi +#import PlayerFaQi # 功能开启需执行的函数{功能ID:执行函数, ...} 函数需返回是否激活成功, 功能开启有需要处理功能逻辑的这里增加函数调用配置即可 FuncOpenLogicDict = { - ShareDefine.GameFuncID_Horse:lambda curObj:PlayerHorse.DoHorseOpen(curObj), - ShareDefine.GameFuncID_GodWeapon:lambda curObj:PlayerGodWeapon.DoGodWeaponOpen(curObj), - ShareDefine.GameFuncID_Pet:lambda curObj:PlayerPet.DoPetOpen(curObj), - ShareDefine.GameFuncID_MagicWeapon:lambda curObj:PlayerMagicWeapon.DoMagicWeaponOpen(curObj), - ShareDefine.GameFuncID_RefineStove:lambda curObj:PlayerRefineStove.DoRefineStoveOpen(curObj), ShareDefine.GameFuncID_Official:lambda curObj:PlayerPrestigeSys.DoOfficialOpen(curObj), ShareDefine.GameFuncID_Billboard:lambda curObj:PlayerBillboard.DoBillboardOpen(curObj), ShareDefine.GameFuncID_SignDay:lambda curObj:PlayerSignDay.DoSignDayOpen(curObj), ShareDefine.GameFuncID_Treasure:lambda curObj:PlayerTreasure.DoTreasureOpen(curObj), - ShareDefine.GameFuncID_FirstGoldTip:lambda curObj:PlayerGoldGift.DoFirstGoldOpen(curObj), - ShareDefine.GameFuncID_EquipDecompose:lambda curObj:PlayerEquipDecompose.DoEquipDecomposeOpen(curObj), - ShareDefine.GameFuncID_FreeGoods:lambda curObj:PlayerFreeGoods.DoFreeGoodsOpen(curObj), - ShareDefine.GameFuncID_OSSail:lambda curObj:FunctionNPCCommon.OSSaleOpenMail(curObj), - ShareDefine.GameFuncID_AddPoint:lambda curObj:PlayerControl.DoAddPointOpen(curObj), - ShareDefine.GameFuncID_Talent:lambda curObj:PlayerGreatMaster.DoTalentOpen(curObj), - #ShareDefine.GameFuncID_TJG:lambda curObj:PlayerTJG.DoTJGOpen(curObj), ShareDefine.GameFuncID_Arena:lambda curObj:PlayerArena.DoArenaOpen(curObj), - ShareDefine.GameFuncID_FaQi:lambda curObj:PlayerFaQi.DoFaQiOpen(curObj), - ShareDefine.GameFuncID_LianTi:lambda curObj:PlayerLianTi.DoLianTiOpen(curObj), - ShareDefine.GameFuncID_Championship:lambda curObj:PlayerCrossChampionship.DoChampionshipOpen(curObj), - ShareDefine.GameFuncID_Guaji:lambda curObj:PlayerGuaji.DoGuajiOpen(curObj), - #ShareDefine.GameFuncID_RunDaily:lambda curObj:FBCommon.DoFuncOpen_RunDaily(curObj), - #ShareDefine.GameFuncID_RunFamily:lambda curObj:FBCommon.DoFuncOpen_RunFamily(curObj), - #ShareDefine.GameFuncID_RefineExp:lambda curObj:Operate_PlayerBuyZhenQi.DoFuncOpen_RefineExp(curObj), - #ShareDefine.GameFuncID_RefineMoney:lambda curObj:Operate_PlayerBuyZhenQi.DoFuncOpen_RefineMoney(curObj), - #ShareDefine.GameFuncID_ArrestTask:lambda curObj:PlayerArrestTask.DoArrestTaslOpen(curObj), - + #ShareDefine.GameFuncID_Horse:lambda curObj:PlayerHorse.DoHorseOpen(curObj), + #ShareDefine.GameFuncID_GodWeapon:lambda curObj:PlayerGodWeapon.DoGodWeaponOpen(curObj), + #ShareDefine.GameFuncID_Pet:lambda curObj:PlayerPet.DoPetOpen(curObj), + #ShareDefine.GameFuncID_FirstGoldTip:lambda curObj:PlayerGoldGift.DoFirstGoldOpen(curObj), + #ShareDefine.GameFuncID_EquipDecompose:lambda curObj:PlayerEquipDecompose.DoEquipDecomposeOpen(curObj), + #ShareDefine.GameFuncID_FreeGoods:lambda curObj:PlayerFreeGoods.DoFreeGoodsOpen(curObj), + #ShareDefine.GameFuncID_OSSail:lambda curObj:FunctionNPCCommon.OSSaleOpenMail(curObj), + #ShareDefine.GameFuncID_AddPoint:lambda curObj:PlayerControl.DoAddPointOpen(curObj), + #ShareDefine.GameFuncID_FaQi:lambda curObj:PlayerFaQi.DoFaQiOpen(curObj), + #ShareDefine.GameFuncID_LianTi:lambda curObj:PlayerLianTi.DoLianTiOpen(curObj), + #ShareDefine.GameFuncID_Championship:lambda curObj:PlayerCrossChampionship.DoChampionshipOpen(curObj), } ## 注意:功能开启需执行的函数 及 功能开启后升级逻辑 只会执行其中一个 @@ -95,9 +78,6 @@ #FuncLVUpLogicDict = { # ShareDefine.GameFuncID_Pet:lambda curObj:PlayerPet.DoLVUPLogic_Pet(curObj), # } - -# 功能开启需要同步到GameServer的 -FuncOpenNotifyGameServer = [ShareDefine.GameFuncID_Championship, ShareDefine.GameFuncID_MineArea] def GetFuncOpenLVIpyData(funcID): return IpyGameDataPY.GetIpyGameData("FuncOpenLV", funcID) @@ -129,21 +109,12 @@ if limitLV and curLV < limitLV: continue - limitMagicWeapon = ipyData.GetLimitMagicWeapon() - limitMagicWeaponID, limitMagicWeaponlv = limitMagicWeapon/100, limitMagicWeapon%100 - if limitMagicWeaponID and not PlayerMagicWeapon.GetIsActiveMagicWeapon(curPlayer, limitMagicWeaponID, limitMagicWeaponlv): - continue - limitRealmLV = ipyData.GetLimiRealmLV() if limitRealmLV and curPlayer.GetOfficialRank() < limitRealmLV: continue limitMissionID = ipyData.GetLimitMissionID() if limitMissionID and not curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_MissionFinish % limitMissionID): - continue - - limitVIPLV = ipyData.GetLimitVIPLV() - if limitVIPLV and curPlayer.GetVIPLv() < limitVIPLV: continue # 先更新值再处理开启逻辑,不能可能导致在功能开启逻辑中再开启功能引发的递归死循环 @@ -156,8 +127,6 @@ if funcID in FuncOpenLogicDict: FuncOpenLogicDict[funcID](curPlayer) - EventShell.EventResponse_Funcopen(curPlayer, funcID) - mailKey = ipyData.GetMailKey() if mailKey: PlayerControl.SendMailByKey(mailKey, [curPlayer.GetPlayerID()], []) @@ -165,16 +134,6 @@ if openFuncIDList: Sync_FuncOpenState(curPlayer, openFuncIDList) - notifyGameServerFuncIDList = [] - for funcID in openFuncIDList: - if funcID not in FuncOpenNotifyGameServer: - continue - notifyGameServerFuncIDList.append(funcID) - if notifyGameServerFuncIDList: - GameWorld.DebugLog("notifyGameServerFuncIDList=%s" % notifyGameServerFuncIDList) - msgInfo = str(notifyGameServerFuncIDList) - GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(curPlayer.GetID(), 0, 0, "FuncOpen", msgInfo, len(msgInfo)) - PlayerActTask.OnCheckRelateFuncAct(curPlayer, openFuncIDList) PlayerActLoginNew.OnCheckRelateFuncAct(curPlayer, openFuncIDList) PlayerActBuyCountGift.OnCheckRelateFuncAct(curPlayer, openFuncIDList) -- Gitblit v1.8.0