From f8e30b43a4228e1231debfd6f2758218a2675654 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 16 九月 2019 18:44:30 +0800
Subject: [PATCH] 8260 【主干】【400】跨服匹配优化
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py | 164 +++++++++++++++++++++++++++++++++++-------------------
1 files changed, 106 insertions(+), 58 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
index d479a12..370b4f4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -38,9 +38,7 @@
import GameLogInfo
import GameServerRefresh
import ShareDefine
-import ReadCaptchaImage
import PlayerGameWallow
-import ItemCommon
import Operate_PlayerBuyZhenQi
import PlayerSignDay
import PlayerCoin
@@ -52,51 +50,52 @@
import PlayerHorse
import PlayerLoginDayAward
import NPCCommon
-import GameLogic_MergeBoss
-import GameLogic_ManorWar
import FunctionNPCCommon
import PlayerGoldGift
import PlayerActivity
-import PlayerTeHui
import PlayerBindJadeWheel
-import PlayerAction
-import PlayerTruck
import FBCommon
-import PlayerDienstgrad
import PlayerSuccess
-import PlayerMixLoginDayAward
import PlayerFreeGoods
import PlayerMagicWeapon
-import ShopItemManage
import ChItem
import PlayerGoldInvest
import PlayerNewGuyCard
-import PlayerMergeKing
-import PlayerMergePK
+import PlayerCrossRealmPK
import PlayerPet
-import ReloadModule
import BossHurtMng
import PlayerRecover
import GameLogic_FamilyParty
import PlayerFamilyRedPacket
import GameLogic_FamilyInvade
import GameLogic_ElderBattlefield
+import GameLogic_AllFamilyBoss
+import GameLogic_HorsePetBoss
import GameLogic_FamilyBoss
import GameLogic_FamilyWar
-import GameLogic_Dogz
import OpenServerCampaign
import PlayerCostRebate
+import PlayerActTotalRecharge
import PlayerSpringSale
import PlayerBossReborn
+import PlayerWeekParty
+import PlayerFeastWeekParty
+import PlayerActLogin
import PlayerFlashGiftbag
import PlayerFairyCeremony
+import PlayerNewFairyCeremony
+import PlayerFeastRedPacket
+import PlayerLuckyTreasure
+import PlayerAuctionHouse
import PlayerRefineStove
import PlayerFlashSale
import PlayerWishingWell
+import PlayerFairyDomain
import PlayerVip
import PlayerDiceEx
import IpyGameDataPY
import FamilyRobBoss
+import FBHelpBattle
import QuestManager
import PyGameData
import PlayerTJG
@@ -160,9 +159,6 @@
#副本OnDay事件响应
FBLogic.OnDay(tick)
-
- #重置跨服活动副本人数分配情况信息
- PlayerControl.ResetMergeFBPlayerCntInfo(0)
#删除所有的任务发布
missionPubManager = GameWorld.GetGameWorld().GetDBMissionPubManager()
@@ -477,6 +473,9 @@
def __DoPlayerOnDay(curPlayer, onEventType):
+ if GameWorld.IsCrossServer():
+ return
+
# 常规过天
if onEventType == ShareDefine.Def_OnEventType:
@@ -526,16 +525,17 @@
PlayerBindJadeWheel.OnDay(curPlayer)
# 特殊时间点X点过天
elif onEventType == ShareDefine.Def_OnEventTypeEx:
+ # 资源找回
+ PlayerRecover.RecoverOnDay(curPlayer)
#触发每日任务重置脚本
EventShell.EventResponse_OnDay(curPlayer)
#购买次数清空
Operate_PlayerBuyZhenQi.PlayerOnDay(curPlayer)
- # 世界boss
- BossHurtMng.OnDay(curPlayer)
+
#我要太极过天
PlayerDiceEx.OnDay(curPlayer)
- # 资源找回
- PlayerRecover.RecoverOnDay(curPlayer)
+ # 世界boss
+ BossHurtMng.OnDay(curPlayer)
# 仙盟过天
PlayerFamily.FamilyPlayerOnDay(curPlayer)
# 重置物品每日使用次数
@@ -544,6 +544,14 @@
PlayerFreeGoods.OnDay(curPlayer)
#采集次数重置
NPCCommon.CollNPCTimeOnDay(curPlayer)
+ #副本助战
+ FBHelpBattle.DoPlayerOnDay(curPlayer)
+ #跨服竞技场
+ PlayerCrossRealmPK.DoPlayerOnDay(curPlayer)
+ #缥缈仙域
+ PlayerFairyDomain.OnDay(curPlayer)
+ #仙盟宴会
+ GameLogic_FamilyParty.OnDayFamilyPartyPlayer(curPlayer)
PlayerTJG.TJGOnDay(curPlayer, onEventType)
# 以下为支持两种重置模式切换配置的
@@ -646,6 +654,9 @@
def __DoPlayerOnWeek(curPlayer, onEventType):
+ if GameWorld.IsCrossServer():
+ return
+
if onEventType == ShareDefine.Def_OnEventType:
#记录上周工资相关流向
lastWeekOnlineTime = curPlayer.GetLastWeekOnlineTime()
@@ -723,6 +734,8 @@
def __DoPlayerOnMonth(curPlayer, onEventType):
+ if GameWorld.IsCrossServer():
+ return
if onEventType == ShareDefine.Def_OnEventType:
pass
@@ -796,6 +809,8 @@
#触发每小时任务重置脚本
EventShell.EventResponse_OnHour(curPlayer)
+ #缥缈仙域
+ PlayerFairyDomain.OnHour(curPlayer)
return
#---------------------------------------------------------------------
@@ -1219,7 +1234,7 @@
pack = IPY_GameWorld.IPY_MBroadcastMsg()
msg = pack.GetMsg()
- if not msg.startswith(ShareDefine.Def_Notify_WorldKey_GameWorldBossReborn[:-2]):
+ if not msg.startswith(ShareDefine.Def_Notify_WorldKey_GameWorldBossReborn[:-3]):
GameWorld.Log('GameServer_BroadcastMsg msg = %s'%(msg))
#---接收世界服务器发来的消息---
@@ -1270,6 +1285,32 @@
PyGameData.g_familyPartyInfo = eval(msgValue)
return
+ if key == ShareDefine.Def_Notify_WorldKey_FamilyPartyAddFamilyActivity:
+ mapID, familyID, addFamilyActivity = eval(msgValue)
+ if GameWorld.GetMap().GetMapID() == mapID:
+ GameLogic_FamilyParty.DoAddFamilyMemberFamilyActivity(familyID, addFamilyActivity)
+ return
+
+ if key == ShareDefine.Def_Notify_WorldKey_AddFamilyAuctionItem:
+ mapID, familyAuctionItemDict = eval(msgValue)
+ if GameWorld.GetMap().GetMapID() == mapID:
+ PlayerAuctionHouse.DoAddFamilyAuctionItem(familyAuctionItemDict)
+ return
+
+ if key == ShareDefine.Def_Notify_WorldKey_AddSystemAuctionItem:
+ mapID, sysAuctionItemList = eval(msgValue)
+ if GameWorld.GetMap().GetMapID() == mapID:
+ PlayerAuctionHouse.DoAddSystemAuctionItem(sysAuctionItemList)
+ return
+
+ if key == ShareDefine.Def_Notify_WorldKey_FairyDomainLimit:
+ isAdd, limitList = eval(msgValue)
+ if isAdd:
+ PyGameData.g_fairyDomainLimit += limitList
+ else:
+ PyGameData.g_fairyDomainLimit = limitList
+ return
+
if key.startswith(ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]):
keyHead = ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]
actionName = key[len(keyHead):]
@@ -1280,7 +1321,8 @@
elif actionName == ShareDefine.OperationActionName_CostRebate:
PlayerCostRebate.RefreshCostRebateActionInfo()
-
+ elif actionName == ShareDefine.OperationActionName_TotalRecharge:
+ PlayerActTotalRecharge.RefreshTotalRechargeActionInfo()
elif actionName == ShareDefine.OperationActionName_SpringSale:
PlayerSpringSale.RefreshSpringSaleActionInfo()
@@ -1292,13 +1334,34 @@
elif actionName == ShareDefine.OperationActionName_FairyCeremony:
PlayerFairyCeremony.RefreshOperationAction_FairyCeremony()
-
+
+ elif actionName == ShareDefine.OperationActionName_NewFairyCeremony:
+ PlayerNewFairyCeremony.RefreshOperationAction_NewFairyCeremony()
+
elif actionName == ShareDefine.OperationActionName_FlashSale:
PlayerFlashSale.RefreshflashSaleActionInfo()
elif actionName == ShareDefine.OperationActionName_WishingWell:
PlayerWishingWell.RefreshWishingWellAction()
+ elif actionName == ShareDefine.OperationActionName_WeekParty:
+ PlayerWeekParty.RefreshOperationAction_WeekParty()
+
+ elif actionName == ShareDefine.OperationActionName_LoginAward:
+ PlayerActLogin.RefreshOperationAction_LoginAward()
+
+ elif actionName == ShareDefine.OperationActionName_FeastWeekParty:
+ PlayerFeastWeekParty.RefreshOperationAction_FeastWeekParty()
+
+ elif actionName == ShareDefine.OperationActionName_FeastRedPacket:
+ PlayerFeastRedPacket.RefreshOperationAction_FeastRedPacket()
+
+ elif actionName == ShareDefine.OperationActionName_LuckyTreasure:
+ PlayerLuckyTreasure.RefreshLuckyTreasureAction()
+ return
+
+ if key == ShareDefine.Def_Notify_WorldKey_CrossZoneName:
+ PyGameData.g_crossZoneName = msgValue
return
if msgValue.isdigit():
@@ -1328,30 +1391,10 @@
# ReloadModule.DoMapServerScriptReload(value, tick)
#===============================================================================================
- #领地争夺战
- elif key == ShareDefine.Def_Notify_WorldKey_ManorWar:
- GameLogic_ManorWar.OnManorWarStateChange(value, tick)
-
- #定时商店刷新
- elif key.startswith(ShareDefine.Def_Notify_WorldKey_TimeShopRefreshTime[:-2]):
- ShopItemManage.OnTimeShopRefresh(key, value, tick)
+ # 跨服PK
+ elif key == ShareDefine.Def_Notify_WorldKey_CrossPKSeasonID:
+ PlayerCrossRealmPK.OnCrossRealmPKSeasonChange(value)
- #跨服boss
- elif key == ShareDefine.Def_Notify_WorldKey_MergeBoss:
- GameLogic_MergeBoss.OnMergeBossStateChange(value, tick)
-
- # 跨服PK, 赛季开始时间不用处理,仅存储即可
- elif key in [ShareDefine.Def_Notify_WorldKey_MergePKDayID, ShareDefine.Def_Notify_WorldKey_MergePKSeasonID]:
- PlayerMergePK.OnMergePKActionChange(key, value)
-
- # 跨服王者争霸
- elif key in [ShareDefine.Def_Notify_WorldKey_Merge_KingStartID, ShareDefine.Def_Notify_WorldKey_Merge_KingOverID]:
- PlayerMergeKing.OnMergeKingActionChange(key, value)
-
- # 仙盟宴会
- elif key == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyParty:
- if gameWorldMgr.GetGameWorldDictByKey(key) != value:
- GameLogic_FamilyParty.OnFamilyPartyStateChange(value, tick)
# 守卫人皇
elif key == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyInvade:
if gameWorldMgr.GetGameWorldDictByKey(key) != value:
@@ -1360,6 +1403,15 @@
elif key == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_ElderBattlefield:
if gameWorldMgr.GetGameWorldDictByKey(key) != value:
GameLogic_ElderBattlefield.OnElderBattlefieldStateChange(value, tick)
+ # 多仙盟BOSS
+ elif key in [ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyBoss1]:
+ if gameWorldMgr.GetGameWorldDictByKey(key) != value:
+ GameLogic_AllFamilyBoss.OnAllFamilyBossStateChange(value, tick)
+ # 骑宠BOSS
+ elif key == ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_HorsePetBoss:
+ if gameWorldMgr.GetGameWorldDictByKey(key) != value:
+ GameLogic_HorsePetBoss.OnHorsePetBossStateChange(value, tick)
+
# OnDayEx
elif key == ShareDefine.Def_Notify_WorldKey_OnDayEx:
if value and gameWorldMgr.GetGameWorldDictByKey(key) != value:
@@ -1392,6 +1444,7 @@
NPCCustomRefresh.ResetActivityBossRefreshCount()
#通用设置
+ befValue = gameWorldMgr.GetGameWorldDictByKey(key)
gameWorldMgr.SetGameWorldDict(key, value)
#-------在设置了字典值以后处理---------------------------------
@@ -1402,17 +1455,12 @@
# 王者仙盟
elif key == ShareDefine.Def_Notify_WorldKey_ChampionFamilyID:
GameLogic_FamilyWar.OnChampionFamilyIDChange()
-
- # 特惠活动
- elif key in ShareDefine.TeHuiTypeKeyDict.values():
- PlayerTeHui.ChangeTeHuiActionState(key)
-
- # 活动buff状态变更
- elif key.startswith(ShareDefine.Def_Notify_WorldKey_ActionBuffState[:-2]):
- PlayerAction.OnActionBuffStateChange(key, tick)
- #boss刷新时间参数
- elif key.startswith(ShareDefine.Def_Notify_WorldKey_BossOnlineHeroCnt[:-2]):
- GameLogic_Dogz.OnOnlineCntChange(key, tick)
+
+ # 仙盟宴会
+ elif key == ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyParty:
+ if befValue != value:
+ GameLogic_FamilyParty.OnFamilyPartyStateChange(value, tick)
+
#===============================================================================
# ---修改为上述的 统一字典处理
# if msg == ChConfig.Def_Notify_Key_PurTalk:
--
Gitblit v1.8.0