From fd1197fd91110938802a68d998e6f45bb65495ed Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 09 二月 2026 20:12:07 +0800
Subject: [PATCH] 66 【公会】基础主体-服务端(公会讨伐支持跨服;test_OnDay等命令支持跨服同步过天等;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py | 646 ++++++++++++++--------------------------------------------
1 files changed, 154 insertions(+), 492 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 ba98981..54ae28a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -23,124 +23,73 @@
import ChPlayer
import GameServerRefresh
import ShareDefine
-import PlayerGameWallow
import PlayerSignDay
import PlayerCoin
import PlayerControl
import PlayerFamily
-import PlayerFamilyZhenfa
-import PlayerOnlinePrize
-import NPCCustomRefresh
import PlayerLoginDayAward
import NPCCommon
import FunctionNPCCommon
import PlayerGoldGift
import PlayerActivity
import FBCommon
-import PlayerSuccess
import PlayerFreeGoods
-import PlayerMagicWeapon
import ChItem
+import GameLogic_Tianzi
import PlayerGoldInvest
-import PlayerNewGuyCard
-import PlayerCrossRealmPK
-import PlayerCrossChampionship
-import PlayerCrossBattlefield
-import PlayerPet
-import BossHurtMng
-import PlayerRecover
-import GameLogic_FamilyParty
-import PlayerFamilyRedPacket
-import GameLogic_FamilyInvade
-import GameLogic_ElderBattlefield
-import GameLogic_AllFamilyBoss
-import GameLogic_HorsePetBoss
-import GameLogic_FamilyWar
-import OpenServerCampaign
-import PlayerCostRebate
-import CrossActCTGBillboard
-import CrossActAllRecharge
-import PlayerActCollectWords
-import PlayerActTotalRecharge
-import PlayerActGarbageSorting
-import PlayerActXianXiaMJ
-import PlayerActGubao
-import PlayerActHorsePetTrain
-import PlayerActLianqi
-import PlayerActGodGift
-import PlayerActFamilyGCZ
-import PlayerActFamilyCTGAssist
-import PlayerActRechargeRebateGold
-import PlayerActManyDayRecharge
-import PlayerActSingleRecharge
-import PlayerActRechargePrize
-import PlayerActGrowupBuy
import PlayerActTurntable
-import PlayerActBossTrial
-import PlayerActBuyOne
-import PlayerSpringSale
-import PlayerBossReborn
-import PlayerWeekParty
-import PlayerFeastWeekParty
-import PlayerFeastTravel
-import PlayerFeastLogin
-import PlayerFeastWish
import PlayerActTask
-import PlayerActYunshi
-import PlayerActLunhuidian
import PlayerActBuyCountGift
import PlayerActLoginNew
-import PlayerActLogin
-import PlayerFlashGiftbag
-import PlayerDailyGiftbag
-import PlayerFairyCeremony
import PlayerOfflineSupport
-import PlayerNewFairyCeremony
-import PlayerActHorsePetFeast
-import PlayerFeastRedPacket
-import PlayerCrossYaomoBoss
-import PlayerLuckyCloudBuy
-import PlayerLuckyTreasure
-import PlayerTongTianLing
-import PlayerRefineStove
-import PlayerFlashSale
import PlayerWishingWell
-import PlayerFairyDomain
-import CrossPlayerData
import PlayerTreasure
import PlayerZhanling
-import PlayerVip
import PlayerLove
import IpyGameDataPY
-import FamilyRobBoss
-import FBHelpBattle
-import PlayerAssist
import PlayerArena
import PyGameData
-import PlayerGuaji
+import OpenServerActivity
import PlayerXiangong
-import PlayerMineArea
import PlayerBillboard
import PlayerViewCache
+import GameFuncComm
import PlayerMail
+import PlayerHero
+import PlayerTree
+import PlayerLLMJ
+import DBDataMgr
import datetime
import time
-## 原GameServer通知的
-def GameServer_OnDay(index, tick): return
-def GameServer_OnHour(index, tick): return
-def GameServer_OnWeek(index, tick): return
-def GameServer_OnMonth(index, tick): return
-def GameServer_OnYear(index, tick): return
+def DoLogic_CrossCenterOnDay(centerEventValue):
+ '''收到跨服中心同步的onday事件,注意这里本服的触发跨服中心onday事件
+ 事件由跨服中心统一管理,跨服中心onday后,会广播同步给所有服务器,包含其他跨服服务器及游戏服
+ 由于是由跨服中心统一调度的,所以其他服务器可以各自处理各自跨服功能本服的跨服onday逻辑
+ 【注】常规处理可以无视功能所在跨服与游戏服的onday触发先后顺序,各自处理各自的逻辑即可
+ 如功能所在跨服管理功能的公共跨服数据onday,游戏服管理玩家自身的onday
+ 如果个别功能需要先处理公共数据再处理玩家自身数据的,则由功能自己管理,公共数据处理完毕后再同步给对应的游戏服
+ '''
+ GameWorld.Log("CrossCenterOnDay -> centerEventValue=%s" % centerEventValue)
+
+ PlayerFamily.FamilyCrossCenterOnDay()
+
+ # 其他跨服功能
+
+ PlayerBillboard.OnDay(centerEventValue)
+ return
def DoLogic_OnDay(tick):
GameWorld.Log("MapServer -> OnDay!")
#副本OnDay事件响应
- FBLogic.OnDay(tick)
+ #FBLogic.OnDay(tick)
+ OpenServerActivity.OnDay()
#仙盟
PlayerFamily.FamilyOnDay()
+ PlayerArena.OnDay()
+ GameLogic_Tianzi.OnDay()
PlayerOfflineSupport.OnDay()
playerManager = GameWorld.GetPlayerManager()
@@ -153,14 +102,20 @@
PlayerOnDay(curPlayer)
PlayerMail.OnDayEx()
- PlayerControl.RemoveTimeoutLeaveServerPlayerInfo(tick)
PlayerBillboard.OnDay()
PlayerViewCache.OnDay()
+ return
+
+def DoLogic_CrossCenterOnHour(centerEventValue):
+ GameWorld.Log("CrossCenterOnHour -> centerEventValue=%s" % centerEventValue)
+
+ PlayerFamily.FamilyCrossCenterOnHour()
return
def DoLogic_OnHour(tick):
GameWorld.Log("MapServer -> OnHour!")
+ PlayerFamily.FamilyOnHour()
#副本OnHour事件
FBLogic.OnHour(time, tick)
@@ -179,6 +134,8 @@
def DoLogic_OnWeek(tick):
GameWorld.Log("MapServer -> OnWeek!")
+
+ PlayerArena.OnWeek()
playerManager = GameWorld.GetPlayerManager()
for i in xrange(playerManager.GetPlayerCount()):
@@ -248,11 +205,51 @@
return
#--------------------------------------------------------
+def PlayerOnCrossCenterEvent(curPlayer, centerEventValue=0, gmEvent=""):
+ ## 跨服中心过天
+ if not centerEventValue:
+ centerEventValue = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_CrossCenterEvent)
+ playerEventValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnCrossEvent)
+ if not playerEventValue:
+ playerEventValue = centerEventValue
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnCrossEvent, centerEventValue)
+
+ if playerEventValue == centerEventValue and not gmEvent:
+ return
+
+ centerEventTime = GameWorld.ChangeStrToDatetime("%s" % centerEventValue, ChConfig.TYPE_Time_Format_YmdH)
+ playerEventTime = GameWorld.ChangeStrToDatetime("%s" % playerEventValue, ChConfig.TYPE_Time_Format_YmdH)
+
+ center_Day = centerEventTime.day
+ center_Month = centerEventTime.month
+ center_Year = centerEventTime.year
+
+ player_Day = playerEventTime.day
+ player_Month = playerEventTime.month
+ player_Year = playerEventTime.year
+
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnCrossEvent, centerEventValue)
+
+ if (center_Day != player_Day or center_Month != player_Month or center_Year != player_Year or gmEvent == "GMOnDay"):
+ PlayerCrossCenterOnDay(curPlayer, centerEventValue)
+
+ return
+
+def PlayerCrossCenterOnDay(curPlayer, centerEventValue):
+ playerID = curPlayer.GetPlayerID()
+ GameWorld.Log("PlayerCrossCenterOnDay! centerEventValue=%s" % (centerEventValue), playerID)
+
+ PlayerFamily.PlayerCrossCenterOnDay(curPlayer)
+
+ GameWorld.Log("PlayerOnDayCross OK!", playerID)
+ return
+
def PlayerOnDay(curPlayer):
#记录玩家字典值,待初始化后执行
- if not curPlayer.GetGameServerInitOK():
- GameServerRefresh.Set_PlayerGameServerInitOK_OnDay(curPlayer , 1)
- return
+ #GameServer已废弃,不再验证
+ #if not curPlayer.GetGameServerInitOK():
+ # GameServerRefresh.Set_PlayerGameServerInitOK_OnDay(curPlayer , 1)
+ # return
ondayValue = __Get_Can_OnDay(curPlayer)
if not ondayValue:
@@ -261,8 +258,11 @@
playerID = curPlayer.GetPlayerID()
GameWorld.Log("PlayerOnDay! ondayValue=%s" % (ondayValue), playerID)
+ # 过天同步下时间、开服天
+ ChPlayer.Sync_PyServerDataTimeToClient(curPlayer)
+ ChPlayer.Sync_OpenServerDay(curPlayer)
+
__DoPlayerOnDay(curPlayer, ShareDefine.Def_OnEventType)
- __DoPlayerOnDay(curPlayer, ShareDefine.Def_OnEventTypeEx)
GameWorld.Log("PlayerOnDay OK!", playerID)
return
@@ -273,131 +273,58 @@
return
# 常规过天
- if onEventType == ShareDefine.Def_OnEventType:
-
- #开服活动
- OpenServerCampaign.OnOpenServerCampaignDay(curPlayer)
-
- #清空每日事件奖励
- curPlayer.SetDayProcessGameEventCount(0)
-
- #重置宠物每天的训练次数
- PlayerPet.DoLogic_PetInfo_OnDay(curPlayer)
-
- PlayerGameWallow.RevertHealthGame_OnDay(curPlayer)
-
- PlayerOnlinePrize.ResetPrizeInfoOnDay(curPlayer)
-
-
- #OnDay时清除每日签到的信息
- PlayerSignDay.SignDayOnDay(curPlayer)
- # 累计登陆礼包登陆次数刷新
- PlayerLoginDayAward.NotePlayerLoginDayCnt(curPlayer)
-
- #------------------------------------------------------------------------------
-
- PlayerVip.VipOnDay(curPlayer)
-
- PlayerCoin.OnDay(curPlayer)
-
- #成就
- PlayerSuccess.SuccOnDay(curPlayer)
-
- # 新手卡
- PlayerNewGuyCard.NewGuyCardOnday(curPlayer)
-
- #投资
- PlayerGoldInvest.OnDay(curPlayer)
- #战令
- PlayerZhanling.OnDay(curPlayer)
- #寻宝
- PlayerTreasure.OnDay(curPlayer)
- #法宝
- PlayerMagicWeapon.OnDay(curPlayer)
- PlayerGoldGift.OnDay(curPlayer)
- #炼丹
- PlayerRefineStove.OnDay(curPlayer)
- #转盘
- PlayerActTurntable.PlayerOnDay(curPlayer)
- #情缘
- PlayerLove.DoPlayerOnDay(curPlayer)
- #仙宫
- PlayerXiangong.PlayerOnDay(curPlayer)
- PlayerControl.PayCoinOnDay(curPlayer)
- #玩法前瞻奖励
- gameNoticeAwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GameNoticeAwardState)
- if gameNoticeAwardState:
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GameNoticeAwardState, 0)
- ChPlayer.Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_GameNotice, 0)
- #每日分享奖励重置
- shareGameAwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ShareGameAwardState)
- if shareGameAwardState:
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ShareGameAwardState, 0)
- ChPlayer.Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_ShareGame, 0)
- #开服每日奖励
- awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OpenSererDailyAward)
- if awardState:
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OpenSererDailyAward, 0)
- ChPlayer.Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_OpenServerDailyAward, 0)
- #开服每日奖励
- awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RechargeDayAward)
- if awardState:
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RechargeDayAward, 0)
- ChPlayer.Sync_RewardGetRecordInfo(curPlayer, ChConfig.Def_RewardType_RechargeDayAward, 0)
+ #if onEventType == ShareDefine.Def_OnEventType:
+ GameFuncComm.DoFuncOpenLogic(curPlayer)
+ #清空每日事件奖励
+ curPlayer.SetDayProcessGameEventCount(0)
+
+ #OnDay时清除每日签到的信息
+ PlayerSignDay.SignDayOnDay(curPlayer)
+ # 累计登陆礼包登陆次数刷新
+ PlayerLoginDayAward.NotePlayerLoginDayCnt(curPlayer)
+
+ #------------------------------------------------------------------------------
+
+ PlayerCoin.OnDay(curPlayer)
+ PlayerTree.PlayerOnDay(curPlayer)
+ #投资
+ PlayerGoldInvest.OnDay(curPlayer)
+ #战令
+ PlayerZhanling.OnDay(curPlayer)
+ #寻宝
+ PlayerTreasure.OnDay(curPlayer)
+ PlayerGoldGift.OnDay(curPlayer)
+ #转盘
+ PlayerActTurntable.PlayerOnDay(curPlayer)
+ #情缘
+ PlayerLove.DoPlayerOnDay(curPlayer)
+ #仙宫
+ PlayerXiangong.PlayerOnDay(curPlayer)
+ PlayerControl.PlayerOnDay(curPlayer)
+ ChPlayer.PlayerOnDay(curPlayer)
+ PlayerActivity.OnDay(curPlayer)
+ PlayerLLMJ.PlayerOnDay(curPlayer)
+ FunctionNPCCommon.ShopItemOnDay(curPlayer)
+ OpenServerActivity.PlayerOnDay(curPlayer)
+
# 特殊时间点X点过天
- elif onEventType == ShareDefine.Def_OnEventTypeEx:
- # 资源找回
- PlayerRecover.RecoverOnDay(curPlayer)
- # 世界boss
- BossHurtMng.OnDay(curPlayer)
- # 仙盟过天
- PlayerFamily.PlayerOnDay(curPlayer)
- # 重置物品每日使用次数
- ChItem.ResetItemUseCntToday(curPlayer)
- # 极品白拿
- PlayerFreeGoods.OnDay(curPlayer)
- #采集次数重置
- NPCCommon.PlayerOnDay(curPlayer)
- #副本助战
- FBHelpBattle.DoPlayerOnDay(curPlayer)
- #跨服竞技场
- PlayerCrossRealmPK.DoPlayerOnDay(curPlayer)
- #跨服排位
- PlayerCrossChampionship.DoPlayerOnDay(curPlayer)
- #跨服战场
- PlayerCrossBattlefield.DoPlayerOnDay(curPlayer)
- #缥缈仙域
- PlayerFairyDomain.OnDay(curPlayer)
- #仙盟宴会
- GameLogic_FamilyParty.OnDayFamilyPartyPlayer(curPlayer)
- #竞技场
- PlayerArena.OnDayEx(curPlayer)
- #协助
- PlayerAssist.DoPlayerOnDay(curPlayer)
- #福地
- PlayerMineArea.PlayerOnDay(curPlayer)
- #挂机
- PlayerGuaji.PlayerOnDay(curPlayer)
- #特殊时间点过天的,一般是游戏功能,此时立即同步一次跨服玩家数据
- CrossPlayerData.SendMergePlayerDataNow(curPlayer)
-
+ #elif onEventType == ShareDefine.Def_OnEventTypeEx:
+ PlayerHero.PlayerOnDay(curPlayer)
+ # 仙盟过天
+ PlayerFamily.PlayerOnDay(curPlayer)
+ # 重置物品每日使用次数
+ ChItem.ResetItemUseCntToday(curPlayer)
+ # 极品白拿
+ PlayerFreeGoods.OnDay(curPlayer)
+ #采集次数重置
+ NPCCommon.PlayerOnDay(curPlayer)
+ #竞技场
+ PlayerArena.OnDayEx(curPlayer)
+
# 以下为支持两种重置模式切换配置的
FBCommon.FBOnDay(curPlayer, onEventType)
-
- #日常活动OnDay
- PlayerActivity.OnDay(curPlayer, onEventType)
-
- # 商店物品购买兑换OnDay
- FunctionNPCCommon.ShopItemOnDay(curPlayer, onEventType)
-
- # 仙盟红包OnDay
- PlayerFamilyRedPacket.RedPacketOnDay(curPlayer, onEventType)
#许愿池
PlayerWishingWell.OnDay(curPlayer)
- #通天令
- PlayerTongTianLing.OnDay(curPlayer, onEventType)
- #boss凭证
- PlayerActBossTrial.PlayerOnDay(curPlayer, onEventType)
#任务活动
PlayerActTask.OnDay(curPlayer)
#登录活动
@@ -445,9 +372,10 @@
# @remarks 函数详细说明.
def PlayerOnWeek(curPlayer):
#记录玩家字典值,待初始化后执行
- if not curPlayer.GetGameServerInitOK():
- GameServerRefresh.Set_PlayerGameServerInitOK_OnWeek(curPlayer , 1)
- return
+ #GameServer已废弃,不再验证
+ #if not curPlayer.GetGameServerInitOK():
+ # GameServerRefresh.Set_PlayerGameServerInitOK_OnWeek(curPlayer , 1)
+ # return
onWeekValue = __Get_Can_OnWeek(curPlayer)
if not onWeekValue:
@@ -482,26 +410,17 @@
#计算这一周的家族的活跃度
CalcFamilyActiveValue(curPlayer)
- #成就Onweek
- PlayerSuccess.OnWeek(curPlayer)
# 每周提示玩家提示vip等级加入贵宾俱乐部
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_HasVIPClubNote, 0)
+ FunctionNPCCommon.ShopItemOnWeek(curPlayer)
elif onEventType == ShareDefine.Def_OnEventTypeEx:
#竞技场
PlayerArena.OnWeekEx(curPlayer)
- PlayerFamily.OnWeekEx(curPlayer)
- PlayerCrossBattlefield.DoPlayerOnWeek(curPlayer)
# 以下为支持两种重置模式切换配置的
FBCommon.FBOnWeek(curPlayer, onEventType)
-
- #日常活动OnWeek
- PlayerActivity.OnWeek(curPlayer, onEventType)
-
- # 商店物品购买兑换OnDay
- FunctionNPCCommon.ShopItemOnWeek(curPlayer, onEventType)
return
#---------------------------------------------------------------------
@@ -511,9 +430,10 @@
# @remarks 函数详细说明.
def PlayerOnMonth(curPlayer):
#记录玩家字典值,待初始化后执行
- if not curPlayer.GetGameServerInitOK():
- GameServerRefresh.Set_PlayerGameServerInitOK_OnMonth(curPlayer , 1)
- return
+ #GameServer已废弃,不再验证
+ #if not curPlayer.GetGameServerInitOK():
+ # GameServerRefresh.Set_PlayerGameServerInitOK_OnMonth(curPlayer , 1)
+ # return
onMonthValue = __Get_Can_OnMonth(curPlayer)
if not onMonthValue:
@@ -542,8 +462,6 @@
pass
#OnMonthEx
- # 商店物品购买兑换OnMonth
- FunctionNPCCommon.ShopItemOnMonth(curPlayer, onEventType)
return
#---------------------------------------------------------------------
@@ -553,9 +471,10 @@
# @remarks 函数详细说明.
def PlayerOnYear(curPlayer):
#记录玩家字典值,待初始化后执行
- if not curPlayer.GetGameServerInitOK():
- GameServerRefresh.Set_PlayerGameServerInitOK_OnYear(curPlayer , 1)
- return
+ #GameServer已废弃,不再验证
+ #if not curPlayer.GetGameServerInitOK():
+ # GameServerRefresh.Set_PlayerGameServerInitOK_OnYear(curPlayer , 1)
+ # return
curPlayerID = curPlayer.GetPlayerID()
@@ -577,9 +496,10 @@
# @remarks 函数详细说明.
def PlayerOnHour(curPlayer):
#记录玩家字典值,待初始化后执行
- if not curPlayer.GetGameServerInitOK():
- GameServerRefresh.Set_PlayerGameServerInitOK_OnHour(curPlayer , 1)
- return
+ #GameServer已废弃,不再验证
+ #if not curPlayer.GetGameServerInitOK():
+ # GameServerRefresh.Set_PlayerGameServerInitOK_OnHour(curPlayer , 1)
+ # return
curPlayerID = curPlayer.GetPlayerID()
@@ -588,9 +508,6 @@
return
GameWorld.Log("PlayerOnHour!" , curPlayerID)
-
- tick = GameWorld.GetGameWorld().GetTick()
- #PlayerVip.CalcVIPTimeByTick(curPlayer, tick)
#记录
curDateTime = GameWorld.GetCurrentTime()
@@ -601,9 +518,6 @@
if curHour == 1:
#从数据库中查询当前排行榜等级
curPlayer.DataServer_GetBillboardLV()
-
- #缥缈仙域
- PlayerFairyDomain.OnHour(curPlayer)
return
#---------------------------------------------------------------------
@@ -796,6 +710,9 @@
#OnYear事件
if __Get_Can_OnYear(curPlayer):
PlayerOnYear(curPlayer)
+
+ # 跨服事件检查
+ PlayerOnCrossCenterEvent(curPlayer)
return
@@ -951,11 +868,6 @@
PyGameData.g_bossShuntLineState = eval(msgValue)
return
- if key == ShareDefine.Def_Notify_WorldKey_FamilyKillHorsePetRobBossCnt:
- PyGameData.g_familyKillHorsePetRobBossCntDict = eval(msgValue)
- FamilyRobBoss.OnFamilyKillHorsePetRobBossCntChange(tick)
- return
-
if key == ShareDefine.Def_Notify_WorldKey_FBEnterTimeLimiitMapID:
PyGameData.FBEnterTimeLimiitMapID = eval(msgValue)
return
@@ -964,180 +876,14 @@
PyGameData.FBOpenTimeRecord = eval(msgValue)
return
- if key == ShareDefine.Def_Notify_WorldKey_VSFamilyInfo:
- PyGameData.VSFamilyInfo = eval(msgValue)
- return
-
- if key == ShareDefine.Def_Notify_WorldKey_FamilyPartyInfo:
- if GameWorld.GetMap().GetMapID() == ChConfig.Def_FBMapID_FamilyParty:
- 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_FamilyZhenfaInfo:
- PlayerFamilyZhenfa.GameServer_FamilyZhenfa(eval(msgValue))
- return
-
- if key == ShareDefine.Def_Notify_WorldKey_AssistBoss:
- assistData = eval(msgValue)
- if GameWorld.GetMap().GetMapID() == assistData[0]:
- PlayerAssist.GameServer_AssistBossMsg(assistData[1:])
- 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 == ShareDefine.Def_Notify_WorldKey_CoupleInfo:
syncCoupleInfo = eval(msgValue)
for playerID, coupleInfo in syncCoupleInfo.items():
PlayerControl.SetCoupleInfo(playerID, coupleInfo)
return
- if key.startswith(ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]):
- keyHead = ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]
- actionName = key[len(keyHead):]
- actInfo = eval(msgValue)
- actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
- if actionName in ShareDefine.MultiActNumOperationActNameList:
- if not actNum:
- GameWorld.ErrLog('MultiActNumOperation can not found actNum. actionName=%s,msg = %s' % (actionName, msg))
- return
- if actionName not in PyGameData.g_operationActionDict:
- PyGameData.g_operationActionDict[actionName] = {}
- PyGameData.g_operationActionDict[actionName][actNum] = actInfo
- else:
- PyGameData.g_operationActionDict[actionName] = actInfo
-
- if actionName == ShareDefine.OperationActionName_ExpRate:
- PlayerControl.RefreshOperationAction_ExpRate()
-
- elif actionName == ShareDefine.OperationActionName_CostRebate:
- PlayerCostRebate.RefreshCostRebateActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_TotalRecharge:
- PlayerActTotalRecharge.RefreshTotalRechargeActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_GarbageSorting:
- PlayerActGarbageSorting.RefreshGarbageSortingActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_XianXiaMJ:
- PlayerActXianXiaMJ.RefreshXianXiaMJActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_Gubao:
- PlayerActGubao.RefreshGubaoActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_HorsePetTrain:
- PlayerActHorsePetTrain.RefreshHorsePetTrainActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_GodGift:
- PlayerActGodGift.RefreshGodGiftActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_ManyDayRecharge:
- PlayerActManyDayRecharge.RefreshManyDayRechargeActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_SingleRecharge:
- PlayerActSingleRecharge.RefreshSingleRechargeActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_Turntable:
- PlayerActTurntable.RefreshTurntableActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_SpringSale:
- PlayerSpringSale.RefreshSpringSaleActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_BossReborn:
- PlayerBossReborn.RefreshOperationAction_BossReborn()
-
- elif actionName == ShareDefine.OperationActionName_BossTrial:
- PlayerActBossTrial.RefreshBossTrialActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_HorsePetFeast:
- PlayerActHorsePetFeast.RefreshOperationAction_HorsePetFeast(actNum)
-
- elif actionName == ShareDefine.OperationActionName_FlashGiftbag:
- PlayerFlashGiftbag.RefreshFlashGiftbagActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_DailyGiftbag:
- PlayerDailyGiftbag.RefreshDailyGiftbagActionInfo()
-
- elif actionName == ShareDefine.OperationActionName_BuyOne:
- PlayerActBuyOne.RefreshBuyOneActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_FamilyCTGAssist:
- PlayerActFamilyCTGAssist.RefreshFamilyCTGAssistActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_FairyCeremony:
- PlayerFairyCeremony.RefreshOperationAction_FairyCeremony()
-
- elif actionName == ShareDefine.OperationActionName_NewFairyCeremony:
- PlayerNewFairyCeremony.RefreshOperationAction_NewFairyCeremony()
-
- elif actionName == ShareDefine.OperationActionName_FlashSale:
- PlayerFlashSale.RefreshflashSaleActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_WishingWell:
- PlayerWishingWell.RefreshWishingWellAction()
-
- elif actionName == ShareDefine.OperationActionName_CollectWords:
- PlayerActCollectWords.RefreshActCollectWordsInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_WeekParty:
- PlayerWeekParty.RefreshOperationAction_WeekParty()
-
- elif actionName == ShareDefine.OperationActionName_BuyCountGift:
- PlayerActBuyCountGift.RefreshBuyCountGiftActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_ActTask:
- PlayerActTask.RefreshActTaskActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_Yunshi:
- PlayerActYunshi.RefreshActYunshiActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_Lunhuidian:
- PlayerActLunhuidian.RefreshActLunhuidianActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_LoginAward:
- PlayerActLogin.RefreshOperationAction_LoginAward()
-
- elif actionName == ShareDefine.OperationActionName_ActLoginNew:
- PlayerActLoginNew.RefreshActLoginActionInfo(actNum)
-
- elif actionName == ShareDefine.OperationActionName_FeastLogin:
- PlayerFeastLogin.RefreshFeastLoginActionInfo()
-
- elif actionName == ShareDefine.OperationActionName_FeastWish:
- PlayerFeastWish.RefreshFeastWishActionInfo()
-
- elif actionName == ShareDefine.OperationActionName_FeastTravel:
- PlayerFeastTravel.RefreshFeastTravelActionInfo()
-
- elif actionName == ShareDefine.OperationActionName_FeastWeekParty:
- PlayerFeastWeekParty.RefreshOperationAction_FeastWeekParty()
-
- elif actionName == ShareDefine.OperationActionName_FeastRedPacket:
- PlayerFeastRedPacket.RefreshOperationAction_FeastRedPacket()
-
- elif actionName == ShareDefine.OperationActionName_LuckyTreasure:
- PlayerLuckyTreasure.RefreshLuckyTreasureAction()
-
- elif actionName == ShareDefine.OperationActionName_RechargePrize:
- PlayerActRechargePrize.RefreshRechargePrizeActionInfo()
-
- elif actionName == ShareDefine.OperationActionName_GrowupBuy:
- PlayerActGrowupBuy.RefreshGrowupBuyActionInfo()
-
- elif actionName == ShareDefine.OperationActionName_RechargeRebateGold:
- PlayerActRechargeRebateGold.RefreshRechargeRebateGoldActionInfo()
-
+ if key.startswith(ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]):
+ # 运营活动改为通过 GameWorldAction.OnMapOperationActionRefresh 触发刷新
return
if key.startswith(ShareDefine.Def_Notify_WorldKey_CrossActInfo[:-2]):
@@ -1152,58 +898,10 @@
#GameWorld.DebugLog("跨服服务器地图,不处理")
return
- if actionName == ShareDefine.CrossActName_CTGBillboard:
- CrossActCTGBillboard.RefreshCrossActCTGBillboardInfo()
-
- elif actionName == ShareDefine.CrossActName_AllRecharge:
- CrossActAllRecharge.RefreshCrossActAllRechargeInfo()
-
- elif actionName == ShareDefine.CrossActName_BossTrial:
- PlayerActBossTrial.RefreshCrossActBossTrialInfo()
-
- elif actionName == ShareDefine.CrossActName_XianXiaMJ:
- PlayerActXianXiaMJ.RefreshCrossActXianXiaMJInfo()
-
- elif actionName == ShareDefine.CrossActName_Gubao:
- PlayerActGubao.RefreshCrossActGubaoInfo()
-
- elif actionName == ShareDefine.CrossActName_HorsePetTrain:
- PlayerActHorsePetTrain.RefreshCrossActHorsePetTrainInfo()
-
- elif actionName == ShareDefine.CrossActName_Lianqi:
- PlayerActLianqi.RefreshCrossActLianqiInfo()
-
- elif actionName == ShareDefine.CrossActName_FamilyGCZ:
- PlayerActFamilyGCZ.RefreshActFamilyGCZInfo()
-
return
if key == ShareDefine.Def_Notify_WorldKey_CrossZoneName:
PyGameData.g_crossZoneName = msgValue
- return
-
- if key == ShareDefine.Def_Notify_WorldKey_CrossServerTime:
- PyGameData.g_crossServerTimeInfo = eval(msgValue)
- playerManager = GameWorld.GetPlayerManager()
- for index in xrange(playerManager.GetPlayerCount()):
- curPlayer = playerManager.GetPlayerByIndex(index)
- if not GameWorld.IsNormalPlayer(curPlayer):
- continue
- ChPlayer.Sync_PyServerDataTimeToClient(curPlayer)
- return
-
- # 幸运云购
- if key == ShareDefine.Def_Notify_WorldKey_LuckyCloudBuyInfo:
- PyGameData.g_luckyCloudBuyInfo = eval(msgValue)
- PlayerLuckyCloudBuy.OnLuckyCloudBuyChange()
- return
-
- if key == ShareDefine.Def_Notify_WorldKey_CrossBattlefieldCallTeamInfo:
- PyGameData.g_crossBattlefieldCallTeamInfo = eval(msgValue)
- return
-
- if key == ShareDefine.Def_Notify_WorldKey_CrossBattlefieldSysCallBuyInfo:
- PyGameData.g_crossBattlefieldSysCallBuyList = eval(msgValue)
return
if msgValue.isdigit():
@@ -1232,33 +930,6 @@
# elif key == ShareDefine.Def_Notify_WorldKey_MapServerScriptReloadVersion:
# ReloadModule.DoMapServerScriptReload(value, tick)
#===============================================================================================
-
- # 跨服PK
- elif key == ShareDefine.Def_Notify_WorldKey_CrossPKSeasonID:
- PlayerCrossRealmPK.OnCrossRealmPKSeasonChange(value)
-
- # 守卫人皇
- elif key == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyInvade:
- if gameWorldMgr.GetGameWorldDictByKey(key) != value:
- GameLogic_FamilyInvade.OnFamilyInvadeStateChange(value, tick)
- # 上古战场
- 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)
-
- # 跨服妖魔boss
- elif key == ShareDefine.Def_Notify_WorldKey_CrossDailyActionState % ShareDefine.CrossDailyActionID_YaomoBoss:
- if gameWorldMgr.GetGameWorldDictByKey(key) != value:
- PlayerCrossYaomoBoss.OnYaomoBossStateChange(value, tick)
-
#通用设置
befValue = gameWorldMgr.GetGameWorldDictByKey(key)
gameWorldMgr.SetGameWorldDict(key, value)
@@ -1266,17 +937,8 @@
#-------在设置了字典值以后处理---------------------------------
# 刷新世界boss
if key.startswith('GameWorldBossReborn_'):
- NPCCustomRefresh.ProcessAllNPCRefresh(tick)
-
- # 王者仙盟
- elif key == ShareDefine.Def_Notify_WorldKey_ChampionFamilyID:
- GameLogic_FamilyWar.OnChampionFamilyIDChange()
-
- # 仙盟宴会
- elif key == ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyParty:
- if befValue != value:
- GameLogic_FamilyParty.OnFamilyPartyStateChange(value, tick)
-
+ pass
+
#===============================================================================
# ---修改为上述的 统一字典处理
# if msg == ChConfig.Def_Notify_Key_PurTalk:
--
Gitblit v1.8.0