From ba67d86ccc7dde96a4fe2bb2ae3abfbd0aacc561 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 03 十一月 2025 12:00:10 +0800
Subject: [PATCH] 237 【福利内容】每日任务/每周任务/章节奖励-服务端(增加每日任务类型 6 ~ 10)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py | 877 ++++++---------------------------------------------------
1 files changed, 104 insertions(+), 773 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 0e9b165..ae4a996 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -11,79 +11,39 @@
# @version 2.6
#
# @note: 处理每周, 每日, 每月事件处理
-# @change: "2015-07-10 16:00" xdh QQ每日礼包
-# @change: "2015-08-13 14:00" ljd 新手卡OnDay
-# @change: "2015-09-18 19:30" hxp 跨服boss状态变更
-# @change: "2015-10-25 17:00" hxp 跨服PK状态变更
-# @change: "2015-11-18 18:30" hxp 跨服王者争霸
-# @change: "2016-02-30 17:00" hxp 领主霸业、恶魔试炼
-# @change: "2016-04-29 18:00" hxp 宠物OnDay
-# @change: "2016-07-13 18:00" hxp 在线赠送寻宝免费次数统计OnHour触发
-# @change: "2016-07-26 17:30" hxp 增加获胜战盟盟主ID变更处理
-# @change: "2016-08-05 19:00" hxp 脚本热更支持
-# @change: "2016-08-29 23:30" hxp 洪荒之力
-# @change: "2016-09-19 10:30" hxp key状态变更时全服玩家人数获取方式修改
-# @change: "2016-10-26 11:00" hxp 签到逻辑修改
-# @change: "2017-03-22 21:00" hxp 二维码红包
+#
#---------------------------------------------------------------------
#"""Version = 2017-05-12 18:00"""
#---------------------------------------------------------------------
import ReadChConfig
import ChConfig
import GameWorld
-import EventShell
import FBLogic
import IPY_GameWorld
import ChPlayer
-import GameLogInfo
import GameServerRefresh
import ShareDefine
-import PlayerGameWallow
-import Operate_PlayerBuyZhenQi
import PlayerSignDay
import PlayerCoin
import PlayerControl
-import PlayerWorldAverageLv
import PlayerFamily
-import PlayerFamilyZhenfa
-import PlayerOnlinePrize
-import NPCCustomRefresh
import PlayerLoginDayAward
import NPCCommon
import FunctionNPCCommon
import PlayerGoldGift
import PlayerActivity
-import PlayerBindJadeWheel
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
@@ -94,7 +54,6 @@
import PlayerActRechargePrize
import PlayerActGrowupBuy
import PlayerActTurntable
-import PlayerActBossTrial
import PlayerActBuyOne
import PlayerSpringSale
import PlayerBossReborn
@@ -111,102 +70,49 @@
import PlayerActLogin
import PlayerFlashGiftbag
import PlayerDailyGiftbag
-import PlayerFairyCeremony
-import PlayerNewFairyCeremony
-import PlayerActHorsePetFeast
-import PlayerFeastRedPacket
-import PlayerCrossYaomoBoss
+import PlayerOfflineSupport
import PlayerLuckyCloudBuy
import PlayerLuckyTreasure
-import PlayerAuctionHouse
import PlayerTongTianLing
-import PlayerRefineStove
import PlayerFlashSale
import PlayerWishingWell
-import PlayerFairyDomain
import CrossPlayerData
import PlayerTreasure
import PlayerZhanling
-import PlayerVip
import PlayerLove
-import PlayerDiceEx
import IpyGameDataPY
-import FamilyRobBoss
-import FBHelpBattle
-import QuestManager
-import PlayerAssist
import PlayerArena
import PyGameData
-import PlayerTJG
-import PlayerGuaji
import PlayerXiangong
-import PlayerFuncTeam
-import PlayerMineArea
+import PlayerBillboard
+import PlayerViewCache
+import PlayerMail
+import PlayerHero
+import PlayerTree
+import PlayerLLMJ
import datetime
import time
-#---------------------------------------------------------------------
-#===============================================================================
-# //01 01 新一天的响应#tagMOnDay
-# tagMOnDay * GettagMOnDay();
-#
-# class IPY_MOnDay
-# {
-# public:
-#
-# char * GetTime();
-# };
-#===============================================================================
-## 世界服务器->每日响应(封包参数)01 01
-# @param index 玩家索引
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def GameServer_OnDay(index, tick):
- GameWorld.GetPsycoFunc(__Func_GameServer_OnDay)(index, tick)
- CheckMachineTick(tick)
- return
+## 原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
-## 用于防范运维开机时间超过24天导致报错
-# @param tick 当前时间
-# @return None
-def CheckMachineTick(tick):
- #取一张地图测试,在mapserver做逻辑,方便运维观察
- if GameWorld.GetMap().GetMapID() != 101:
- return
-
- #超过24.8天就会发生游戏逻辑出错,因为tick变成负数
- if tick/1000.0/60/60/24 >= 22:
- raise Exception('Start PC > 22 days!!!')
-
- return
-
-## 世界服务器->每日响应(封包参数)01 01
-# @param index 玩家索引
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def __Func_GameServer_OnDay(index, tick):
+def DoLogic_OnDay(tick):
GameWorld.Log("MapServer -> OnDay!")
- playerManager = GameWorld.GetPlayerManager()
- #获取每日响应封包
- pack = IPY_GameWorld.IPY_MOnDay()
- #同步世界服务器时间
- SetMapServerTimeFromGameServer(pack.GetTime())
-
- #处理所有玩家信件的onday事件, 把存在时间+1
- playerManager.ProcessAllPlayerMailOnDay()
- #清空每日日记记录信息
- GameLogInfo.ClearGameLogInfo()
-
#副本OnDay事件响应
- FBLogic.OnDay(tick)
+ #FBLogic.OnDay(tick)
- #删除所有的任务发布
- missionPubManager = GameWorld.GetGameWorld().GetDBMissionPubManager()
- missionPubManager.Clear()
+ #仙盟
+ PlayerFamily.FamilyOnDay()
+ PlayerArena.OnDay()
+ GameLogic_Tianzi.OnDay()
+ PlayerOfflineSupport.OnDay()
+ playerManager = GameWorld.GetPlayerManager()
for i in xrange(playerManager.GetPlayerCount()):
curPlayer = playerManager.GetPlayerByIndex(i)
@@ -214,60 +120,15 @@
continue
PlayerOnDay(curPlayer)
- # 服务器Onday处理数据,即不能在玩家上线时的Onday触发
- #PlayerServerDay(curPlayer)
-
- return
-
-def __Func_GameServer_OnDayEx(tick):
- GameWorld.Log("MapServer -> OnDayEx!")
-
+
+ PlayerMail.OnDayEx()
PlayerControl.RemoveTimeoutLeaveServerPlayerInfo(tick)
-
- playerManager = GameWorld.GetPlayerManager()
- for i in xrange(playerManager.GetPlayerCount()):
- curPlayer = playerManager.GetPlayerByIndex(i)
-
- if not GameWorld.IsNormalPlayer(curPlayer):
- continue
-
- PlayerOnDayEx(curPlayer)
+ PlayerBillboard.OnDay()
+ PlayerViewCache.OnDay()
return
-#---------------------------------------------------------------------
-#===============================================================================
-# #//////////////////////////////////////////////////////////////
-# #//01 06 新一个小时的响应#tagMOnHour
-# #tagMOnHour * GettagMOnHour();
-# #
-# #class IPY_MOnHour
-# #{
-# #public:
-# #
-# # char * GetTime();
-# #};
-#===============================================================================
-## 01 06 新一个小时的响应
-# @param index 玩家索引
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def GameServer_OnHour(index, tick):
- GameWorld.GetPsycoFunc(__Func_GameServer_OnHour)(index, tick)
- return
-
-## 01 06 新一个小时的响应
-# @param index 玩家索引
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def __Func_GameServer_OnHour(index, tick):
+def DoLogic_OnHour(tick):
GameWorld.Log("MapServer -> OnHour!")
- #获取每小时响应封包
- pack = IPY_GameWorld.IPY_MOnHour()
- time = pack.GetTime()
- #同步世界服务器时间
- SetMapServerTimeFromGameServer(time)
#副本OnHour事件
FBLogic.OnHour(time, tick)
@@ -284,39 +145,11 @@
PlayerOnHour(curPlayer)
return
-#---------------------------------------------------------------------
-#===============================================================================
-# //01 02 新一个星期的响应#tagMOnWeek
-# tagMOnWeek * GettagMOnWeek();
-#
-# class IPY_MOnWeek
-# {
-# public:
-#
-# char * GetTime();
-# };
-#===============================================================================
-## 世界服务器->每周响应(封包参数) 01 02 新一个星期的响应
-# @param index 玩家索引
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def GameServer_OnWeek(index, tick):
- GameWorld.GetPsycoFunc(__Func_GameServer_OnWeek)(index, tick)
- return
-
-## 世界服务器->每周响应(封包参数) 01 02 新一个星期的响应
-# @param index 玩家索引
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def __Func_GameServer_OnWeek(index, tick):
+def DoLogic_OnWeek(tick):
GameWorld.Log("MapServer -> OnWeek!")
- #获得每周响应封包
- pack = IPY_GameWorld.IPY_MOnWeek()
- #同步世界服务器时间
- SetMapServerTimeFromGameServer(pack.GetTime())
+
+ PlayerArena.OnWeek()
playerManager = GameWorld.GetPlayerManager()
for i in xrange(playerManager.GetPlayerCount()):
@@ -331,53 +164,8 @@
FBLogic.OnWeek(tick)
return
-def __Func_GameServer_OnWeekEx(tick):
- GameWorld.Log("MapServer -> OnWeekEx!")
-
- playerManager = GameWorld.GetPlayerManager()
- for i in xrange(playerManager.GetPlayerCount()):
- curPlayer = playerManager.GetPlayerByIndex(i)
-
- if not GameWorld.IsNormalPlayer(curPlayer):
- continue
-
- PlayerOnWeekEx(curPlayer)
-
- return
-
-#---------------------------------------------------------------------
-#===============================================================================
-# //01 03 新一个月的响应#tagMOnMonth
-# tagMOnMonth * GettagMOnMonth();
-#
-# class IPY_MOnMonth
-# {
-# public:
-#
-# char * GetTime();
-# };
-#===============================================================================
-
-## 世界服务器->每月响应(封包参数)01 03 新一个月的响应
-# @param index 玩家索引
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def GameServer_OnMonth(index, tick):
- GameWorld.GetPsycoFunc(__Func_GameServer_OnMonth)(index, tick)
- return
-
-## 世界服务器->每月响应(封包参数)01 03 新一个月的响应
-# @param index 玩家索引
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def __Func_GameServer_OnMonth(index, tick):
+def DoLogic_OnMonth(tick):
GameWorld.Log("MapServer -> OnMonth!")
- #获得每月响应封包
- pack = IPY_GameWorld.IPY_MOnMonth()
- #同步世界服务器时间
- SetMapServerTimeFromGameServer(pack.GetTime())
playerManager = GameWorld.GetPlayerManager()
for i in xrange(playerManager.GetPlayerCount()):
@@ -387,56 +175,11 @@
continue
PlayerOnMonth(curPlayer)
-
- return
-
-def __Func_GameServer_OnMonthEx(tick):
- GameWorld.Log("MapServer -> OnMonthEx!")
-
- playerManager = GameWorld.GetPlayerManager()
- for i in xrange(playerManager.GetPlayerCount()):
- curPlayer = playerManager.GetPlayerByIndex(i)
-
- if not GameWorld.IsNormalPlayer(curPlayer):
- continue
-
- PlayerOnMonthEx(curPlayer)
return
-#---------------------------------------------------------------------
-#===============================================================================
-# //01 04 新一年的响应#tagMOnYear
-# tagMOnYear * GettagMOnYear();
-#
-# class IPY_MOnYear
-# {
-# public:
-#
-# char * GetTime();
-# };
-#===============================================================================
-
-## 世界服务器->每年响应(封包参数)01 04 新一年的响应
-# @param index 玩家索引
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def GameServer_OnYear(index, tick):
- GameWorld.GetPsycoFunc(__Func_GameServer_OnYear)(index, tick)
- return
-
-## 世界服务器->每年响应(封包参数)01 04 新一年的响应
-# @param index 玩家索引
-# @param tick 当前时间
-# @return None
-# @remarks 函数详细说明.
-def __Func_GameServer_OnYear(index, tick):
+def DoLogic_OnYear(tick):
GameWorld.Log("MapServer -> OnYear")
- #获得新年响应封包
- pack = IPY_GameWorld.IPY_MOnYear()
- #同步世界服务器时间
- SetMapServerTimeFromGameServer(pack.GetTime())
playerManager = GameWorld.GetPlayerManager()
for i in range(0, playerManager.GetPlayerCount()):
@@ -464,15 +207,15 @@
# @return None
# @remarks 函数详细说明.
def GameServer_InitOK(index, tick):
- curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
- try:
- #通知BServer自己OK了
- curPlayer.SendToBServerServerInitOK()
- ChPlayer.OnAllServerInitOK(curPlayer, tick)
- except:
- curPlayer.Kick(IPY_GameWorld.disWaitForPlayerLoinError)
- import traceback
- GameWorld.RaiseException("玩家上线逻辑错误\r\n%s" % traceback.format_exc())
+ # curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+ # try:
+ # #通知BServer自己OK了
+ # curPlayer.SendToBServerServerInitOK()
+ # ChPlayer.OnAllServerInitOK(curPlayer, tick)
+ # except:
+ # curPlayer.Kick(IPY_GameWorld.disWaitForPlayerLoinError)
+ # import traceback
+ # GameWorld.RaiseException("玩家上线逻辑错误\r\n%s" % traceback.format_exc())
return
#--------------------------------------------------------
@@ -490,26 +233,9 @@
GameWorld.Log("PlayerOnDay! ondayValue=%s" % (ondayValue), playerID)
__DoPlayerOnDay(curPlayer, ShareDefine.Def_OnEventType)
-
- GameWorld.Log("PlayerOnDay OK!", playerID)
- return
-
-def PlayerOnDayEx(curPlayer):
- #记录玩家字典值,待初始化后执行
- if not curPlayer.GetGameServerInitOK():
- GameServerRefresh.Set_PlayerGameServerInitOK_OnDayEx(curPlayer , 1)
- return
-
- ondayValue = __Get_Can_OnDayEx(curPlayer)
- if not ondayValue:
- return
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnDayEx, ondayValue)
- playerID = curPlayer.GetPlayerID()
- GameWorld.Log("PlayerOnDayEx! ondayValue=%s" % (ondayValue), playerID)
-
__DoPlayerOnDay(curPlayer, ShareDefine.Def_OnEventTypeEx)
- GameWorld.Log("PlayerOnDayEx OK!", playerID)
+ GameWorld.Log("PlayerOnDay OK!", playerID)
return
def __DoPlayerOnDay(curPlayer, onEventType):
@@ -520,19 +246,8 @@
# 常规过天
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)
@@ -541,29 +256,15 @@
#------------------------------------------------------------------------------
- PlayerVip.VipOnDay(curPlayer)
-
PlayerCoin.OnDay(curPlayer)
-
- #成就
- PlayerSuccess.SuccOnDay(curPlayer)
-
- # 新手卡
- PlayerNewGuyCard.NewGuyCardOnday(curPlayer)
-
+ PlayerTree.PlayerOnDay(curPlayer)
#投资
PlayerGoldInvest.OnDay(curPlayer)
#战令
PlayerZhanling.OnDay(curPlayer)
#寻宝
PlayerTreasure.OnDay(curPlayer)
- #法宝
- PlayerMagicWeapon.OnDay(curPlayer)
PlayerGoldGift.OnDay(curPlayer)
- #炼丹
- PlayerRefineStove.OnDay(curPlayer)
- #绑玉转盘
- PlayerBindJadeWheel.OnDay(curPlayer)
#转盘
PlayerActTurntable.PlayerOnDay(curPlayer)
#情缘
@@ -571,39 +272,14 @@
#仙宫
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)
+ ChPlayer.PlayerOnDay(curPlayer)
+ PlayerActivity.OnDay(curPlayer)
+ PlayerLLMJ.PlayerOnDay(curPlayer)
+ FunctionNPCCommon.ShopItemOnDay(curPlayer)
+
# 特殊时间点X点过天
elif onEventType == ShareDefine.Def_OnEventTypeEx:
- # 资源找回
- PlayerRecover.RecoverOnDay(curPlayer)
- #触发每日任务重置脚本
- EventShell.EventResponse_OnDay(curPlayer)
- #购买次数清空
- Operate_PlayerBuyZhenQi.PlayerOnDay(curPlayer)
-
- #我要太极过天
- PlayerDiceEx.OnDay(curPlayer)
- # 世界boss
- BossHurtMng.OnDay(curPlayer)
+ PlayerHero.PlayerOnDay(curPlayer)
# 仙盟过天
PlayerFamily.PlayerOnDay(curPlayer)
# 重置物品每日使用次数
@@ -612,47 +288,21 @@
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)
- #PlayerTJG.TJGOnDay(curPlayer, onEventType)
# 以下为支持两种重置模式切换配置的
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)
#登录活动
@@ -712,26 +362,9 @@
GameWorld.Log("PlayerOnWeek! onWeekValue=%s" % (onWeekValue), playerID)
__DoPlayerOnWeek(curPlayer, ShareDefine.Def_OnEventType)
-
- GameWorld.Log("PlayerOnWeek OK!", playerID)
- return
-
-def PlayerOnWeekEx(curPlayer):
- #记录玩家字典值,待初始化后执行
- if not curPlayer.GetGameServerInitOK():
- GameServerRefresh.Set_PlayerGameServerInitOK_OnWeekEx(curPlayer , 1)
- return
-
- onWeekValue = __Get_Can_OnWeekEx(curPlayer)
- if not onWeekValue:
- return
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnWeekEx, onWeekValue)
- playerID = curPlayer.GetPlayerID()
- GameWorld.Log("PlayerOnWeekEx! onWeekValue=%s" % (onWeekValue), playerID)
-
__DoPlayerOnWeek(curPlayer, ShareDefine.Def_OnEventTypeEx)
- GameWorld.Log("PlayerOnWeekEx OK!", playerID)
+ GameWorld.Log("PlayerOnWeek OK!", playerID)
return
def __DoPlayerOnWeek(curPlayer, onEventType):
@@ -754,28 +387,18 @@
#计算这一周的家族的活跃度
CalcFamilyActiveValue(curPlayer)
- #成就Onweek
- PlayerSuccess.OnWeek(curPlayer)
# 每周提示玩家提示vip等级加入贵宾俱乐部
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_HasVIPClubNote, 0)
+ FunctionNPCCommon.ShopItemOnWeek(curPlayer)
elif onEventType == ShareDefine.Def_OnEventTypeEx:
- #触发每周任务重置脚本
- EventShell.EventResponse_OnWeek(curPlayer)
#竞技场
PlayerArena.OnWeekEx(curPlayer)
PlayerFamily.OnWeekEx(curPlayer)
- PlayerCrossBattlefield.DoPlayerOnWeek(curPlayer)
# 以下为支持两种重置模式切换配置的
FBCommon.FBOnWeek(curPlayer, onEventType)
-
- #日常活动OnWeek
- PlayerActivity.OnWeek(curPlayer, onEventType)
-
- # 商店物品购买兑换OnDay
- FunctionNPCCommon.ShopItemOnWeek(curPlayer, onEventType)
return
#---------------------------------------------------------------------
@@ -797,26 +420,9 @@
GameWorld.Log("PlayerOnMonth! onMonthValue=%s" % (onMonthValue), playerID)
__DoPlayerOnMonth(curPlayer, ShareDefine.Def_OnEventType)
-
- GameWorld.Log("PlayerOnMonth OK!", playerID)
- return
-
-def PlayerOnMonthEx(curPlayer):
- #记录玩家字典值,待初始化后执行
- if not curPlayer.GetGameServerInitOK():
- GameServerRefresh.Set_PlayerGameServerInitOK_OnMonthEx(curPlayer , 1)
- return
-
- onMonthValue = __Get_Can_OnMonthEx(curPlayer)
- if not onMonthValue:
- return
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnMonthEx, onMonthValue)
- playerID = curPlayer.GetPlayerID()
- GameWorld.Log("PlayerOnMonthEx! onMonthValue=%s" % (onMonthValue), playerID)
-
__DoPlayerOnMonth(curPlayer, ShareDefine.Def_OnEventTypeEx)
- GameWorld.Log("PlayerOnMonthEx OK!", playerID)
+ GameWorld.Log("PlayerOnMonth OK!", playerID)
return
def __DoPlayerOnMonth(curPlayer, onEventType):
@@ -833,8 +439,6 @@
pass
#OnMonthEx
- # 商店物品购买兑换OnMonth
- FunctionNPCCommon.ShopItemOnMonth(curPlayer, onEventType)
return
#---------------------------------------------------------------------
@@ -880,9 +484,6 @@
GameWorld.Log("PlayerOnHour!" , curPlayerID)
- tick = GameWorld.GetGameWorld().GetTick()
- #PlayerVip.CalcVIPTimeByTick(curPlayer, tick)
-
#记录
curDateTime = GameWorld.GetCurrentTime()
curHour = curDateTime.hour
@@ -892,12 +493,6 @@
if curHour == 1:
#从数据库中查询当前排行榜等级
curPlayer.DataServer_GetBillboardLV()
-
-
- #触发每小时任务重置脚本
- EventShell.EventResponse_OnHour(curPlayer)
- #缥缈仙域
- PlayerFairyDomain.OnHour(curPlayer)
return
#---------------------------------------------------------------------
@@ -1004,6 +599,49 @@
GameWorld.Log('验证重生点完毕, mapID = %s, cnt = %s'%(mapID, br_Count))
return
#---------------------------------------------------------------------
+
+def GMDateTime(curPlayer, eventName):
+ if eventName == 'GMOnHour':
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnHour, 0)
+ return
+
+ if eventName == 'GMOnDay':
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnHour, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnDay, 0)
+ #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnDayEx, 0)
+ return
+
+ if eventName == 'GMOnWeek':
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnHour, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnDay, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnWeek, 0)
+ #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnDayEx, 0)
+ #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnWeekEx, 0)
+ return
+
+ if eventName == 'GMOnMonth':
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnHour, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnDay, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnWeek, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnMonth, 0)
+ #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnDayEx, 0)
+ #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnWeekEx, 0)
+ #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnMonthEx, 0)
+ return
+
+ if eventName == 'GMOnYear':
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnHour, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnDay, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnWeek, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnMonth, 0)
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnYear, 0)
+ #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnDayEx, 0)
+ #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnWeekEx, 0)
+ #PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnMonthEx, 0)
+ return
+
+ return
+
## 更新玩家在线时间(参数 -> 当前玩家)
# @param curPlayer 当前玩家
# @return None
@@ -1025,24 +663,24 @@
PlayerOnDay(curPlayer)
#OnDayEx事件
- if __Get_Can_OnDayEx(curPlayer):
- PlayerOnDayEx(curPlayer)
+ #if __Get_Can_OnDayEx(curPlayer):
+ # PlayerOnDayEx(curPlayer)
#OnWeek事件
if __Get_Can_OnWeek(curPlayer):
PlayerOnWeek(curPlayer)
#OnWeekEx事件
- if __Get_Can_OnWeekEx(curPlayer):
- PlayerOnWeekEx(curPlayer)
+ #if __Get_Can_OnWeekEx(curPlayer):
+ # PlayerOnWeekEx(curPlayer)
#OnMonth事件
if __Get_Can_OnMonth(curPlayer):
PlayerOnMonth(curPlayer)
#OnMonthEx事件
- if __Get_Can_OnMonthEx(curPlayer):
- PlayerOnMonthEx(curPlayer)
+ #if __Get_Can_OnMonthEx(curPlayer):
+ # PlayerOnMonthEx(curPlayer)
#OnYear事件
if __Get_Can_OnYear(curPlayer):
@@ -1091,49 +729,6 @@
return dateTime_Day
return 0
-def __Get_Can_OnDayEx(curPlayer):
- '''判断可否凌晨X点过天
- @return: 0-不可; >0-可以, 且代表的是过天需记录的值
- '''
- curDateTime = GameWorld.GetCurrentTime()
-
- # 上次过天记录格式: 年月日, 如20171027
- lastOndayEx = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnDayEx)
- #GameWorld.DebugLog("__Get_Can_OnDayEx lastOndayEx=%s" % (lastOndayEx))
- if lastOndayEx:
- lastOndayEx_Year = lastOndayEx / 10000
- lastOndayEx_Month = lastOndayEx % 10000 / 100
- lastOndayEx_Day = lastOndayEx % 100
- #GameWorld.DebugLog("lastOndayEx_Year=%s,lastOndayEx_Month=%s,lastOndayEx_Day=%s" % (lastOndayEx_Year, lastOndayEx_Month, lastOndayEx_Day))
-
- # 上次过天的日期0点
- lastDatetime = datetime.datetime(lastOndayEx_Year, lastOndayEx_Month, lastOndayEx_Day, 0, 0, 0)
- passTime = curDateTime - lastDatetime
- passDays = passTime.days
- passSeconds = passTime.seconds
-
- # 如果时间差没有超过1天,代表还未过天
- if passDays == 0:
- #GameWorld.DebugLog("如果时间差没有超过1天,代表还未过天, passDays=%s" % passDays)
- return 0
- # 等于1天的, 时间差需 >= X时才可过天, 即 X * 3600 秒
- if passDays == 1 and passSeconds < ShareDefine.Def_OnEventHour * 3600:
- #GameWorld.DebugLog("等于1天的, 时间差需 >= X时才可过天, 即 X * 3600 秒, passSeconds=%s" % passSeconds)
- return 0
- #if passDays < 0:
- # GameWorld.DebugLog("时间天差小于0,一般为异常情况,只有时间往回调才回出现!默认允许过天,passDays=%s" % passDays)
- # 大于1天的无论什么时间点都可以过天
-
- if curDateTime.hour < ShareDefine.Def_OnEventHour:
- curDateTime = curDateTime - datetime.timedelta(days=1)
- #GameWorld.Log("OnDayEx 特殊X点之前过天的,代表天差大于1天的时间过天,这时候的过天值需设置为昨天 %s" % curDateTime)
-
- dateTime_Day = curDateTime.day
- dateTime_Month = curDateTime.month
- dateTime_Year = curDateTime.year
- #GameWorld.DebugLog("可以过天")
- return dateTime_Year * 10000 + dateTime_Month * 100 + dateTime_Day
-
## 检查玩家是否可以OnWeek
# @param curPlayer 当前玩家
# @param curMission 当前任务
@@ -1149,55 +744,6 @@
if (dateTime_Week != player_Week):
return dateTime_Week
return 0
-
-def __Get_Can_OnWeekEx(curPlayer):
- '''判断可否凌晨X点过周
- @return: 0-不可; >0-可以, 且代表的是过周需记录的值
- '''
- curDateTime = GameWorld.GetCurrentTime()
- isocalendar = datetime.datetime.isocalendar(curDateTime)
- dateTime_year, dateTime_week, dateTime_day = isocalendar
-
- # 上次过周记录格式: 年周, 如201752
- lastOnWeekEx = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnWeekEx)
- #GameWorld.DebugLog("__Get_Can_OnWeekEx lastOnWeekEx=%s,dateTime_year=%s,week=%s,day=%s"
- # % (lastOnWeekEx, dateTime_year, dateTime_week, dateTime_day))
- if lastOnWeekEx:
- lastOnWeekEx_Year = lastOnWeekEx / 100
- lastOnWeekEx_Week = lastOnWeekEx % 100
- # 本周已经过周过
- if dateTime_year == lastOnWeekEx_Year and dateTime_week == lastOnWeekEx_Week:
- #GameWorld.DebugLog("本周已经过周过")
- return 0
-
- # 当前天为每周第一天的时候,需判断周差为1时当前时间点是否超过5点
- if dateTime_day == 1:
- preWeekDateTime = curDateTime - datetime.timedelta(days=7) # 上一周的datetime(即周差为1)
- preWeek_year, preWeek_week, preWeek_day = datetime.datetime.isocalendar(preWeekDateTime)
-
- # 上次过周的刚好是周差1, 则需判断当前时间点是否超过X时
- if preWeek_year == lastOnWeekEx_Year and preWeek_week == lastOnWeekEx_Week:
- if curDateTime.hour < ShareDefine.Def_OnEventHour:
- #GameWorld.DebugLog("本周第一天,未到达过周时间点, hour=%s" % curDateTime.hour)
- return 0
-
- # 周差不为1的时候,则无论什么时间点均可过周
- else:
- #GameWorld.DebugLog("周差不为1的时候,则无论什么时间点均可过周, 可以过周")
- pass
-
- # 不是每周第一天的时候,则无论什么时间点均可过周
- else:
- #GameWorld.DebugLog("不是每周第一天的时候,则无论什么时间点均可过周, 可以过周")
- pass
-
- if dateTime_day == 1 and curDateTime.hour < ShareDefine.Def_OnEventHour:
- onWeekDateTime = curDateTime - datetime.timedelta(days=7) # 上一周的datetime(即周差为1)
- dateTime_year, dateTime_week, dateTime_day = datetime.datetime.isocalendar(onWeekDateTime)
- #GameWorld.Log("OnWeekEx 周一特殊X点之前过天的,代表周差大于1天的周一过周,这时候的过周值需设置为上周 %s" % onWeekDateTime)
-
- #GameWorld.DebugLog("可以过周")
- return dateTime_year * 100 + dateTime_week
## 检查玩家是否可以OnMonth
# @param curPlayer 当前玩家
@@ -1215,56 +761,6 @@
if (dateTime_Month != player_Month or dateTime_Year != player_Year):
return dateTime_Month
return 0
-
-def __Get_Can_OnMonthEx(curPlayer):
- '''判断可否凌晨X点过月
- @return: 0-不可; >0-可以, 且代表的是过月需记录的值
- '''
- curDateTime = GameWorld.GetCurrentTime()
- dateTime_day = curDateTime.day
- dateTime_month = curDateTime.month
- dateTime_year = curDateTime.year
-
- # 上次过月记录格式: 年月, 如201712
- lastOnMonthEx = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnMonthEx)
- #GameWorld.DebugLog("__Get_Can_OnMonthEx lastOnMonthEx=%s,dateTime_year=%s,dateTime_month=%s"
- # % (lastOnMonthEx, dateTime_year, dateTime_month))
- if lastOnMonthEx:
- lastOnMonthEx_Year = lastOnMonthEx / 100
- lastOnMonthEx_Month = lastOnMonthEx % 100
- # 本月已经过月过
- if dateTime_year == lastOnMonthEx_Year and dateTime_month == lastOnMonthEx_Month:
- #GameWorld.DebugLog("本月已经过月过")
- return 0
-
- # 当前天为每月第一天的时候,需判断月差为1时当前时间点是否超过5点
- if dateTime_day == 1:
- preMonth_month = 12 if dateTime_month == 1 else dateTime_month - 1 # 上一月
- preMonth_year = dateTime_year if preMonth_month != 12 else dateTime_year - 1 # 上一月所属年
-
- # 上次过月的刚好是月差1, 则需判断当前时间点是否超过X时
- if preMonth_year == lastOnMonthEx_Year and preMonth_month == lastOnMonthEx_Month:
- if curDateTime.hour < ShareDefine.Def_OnEventHour:
- #GameWorld.DebugLog("本月第一天,未到达过月时间点, hour=%s" % curDateTime.hour)
- return 0
-
- # 月差不为1的时候,则无论什么时间点均可过月
- else:
- #GameWorld.DebugLog("月差不为1的时候,则无论什么时间点均可过月, 可以过月")
- pass
-
- # 不是每月第一天的时候,则无论什么时间点均可过月
- else:
- #GameWorld.DebugLog("不是每月第一天的时候,则无论什么时间点均可过月, 可以过月")
- pass
-
- if dateTime_day == 1 and curDateTime.hour < ShareDefine.Def_OnEventHour:
- dateTime_month = 12 if dateTime_month == 1 else dateTime_month - 1 # 上一月
- dateTime_year = dateTime_year if dateTime_month != 12 else dateTime_year - 1 # 上一月所属年
- #GameWorld.Log("OnMonthEx 月1号特殊X点之前过天的,代表月差大于1的月1号过月,这时候的过月值需设置为上月。%d%02d" % (dateTime_year, dateTime_month))
-
- #GameWorld.DebugLog("可以过月")
- return dateTime_year * 100 + dateTime_month
## 检查玩家是否可以OnYear
# @param curPlayer 当前玩家
@@ -1344,62 +840,12 @@
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
if key == ShareDefine.Def_Notify_WorldKey_FBOpenRecord:
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_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 == ShareDefine.Def_Notify_WorldKey_CoupleInfo:
@@ -1432,18 +878,6 @@
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)
@@ -1462,12 +896,6 @@
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)
@@ -1479,12 +907,6 @@
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)
@@ -1528,9 +950,6 @@
elif actionName == ShareDefine.OperationActionName_FeastWeekParty:
PlayerFeastWeekParty.RefreshOperationAction_FeastWeekParty()
- elif actionName == ShareDefine.OperationActionName_FeastRedPacket:
- PlayerFeastRedPacket.RefreshOperationAction_FeastRedPacket()
-
elif actionName == ShareDefine.OperationActionName_LuckyTreasure:
PlayerLuckyTreasure.RefreshLuckyTreasureAction()
@@ -1563,18 +982,6 @@
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()
@@ -1601,19 +1008,6 @@
if key == ShareDefine.Def_Notify_WorldKey_LuckyCloudBuyInfo:
PyGameData.g_luckyCloudBuyInfo = eval(msgValue)
PlayerLuckyCloudBuy.OnLuckyCloudBuyChange()
- return
-
- # 功能队伍
- if key == ShareDefine.Def_Notify_WorldKey_FuncTeamMemIDInfo:
- PlayerFuncTeam.OnFuncTeamMemIDRefresh(eval(msgValue))
- 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():
@@ -1646,54 +1040,6 @@
# 跨服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)
-
- # OnDayEx
- elif key == ShareDefine.Def_Notify_WorldKey_OnDayEx:
- if value and gameWorldMgr.GetGameWorldDictByKey(key) != value:
- __Func_GameServer_OnDayEx(tick)
-
- # OnWeekEx
- elif key == ShareDefine.Def_Notify_WorldKey_OnWeekEx:
- if value and gameWorldMgr.GetGameWorldDictByKey(key) != value:
- __Func_GameServer_OnWeekEx(tick)
-
- # OnMonthEx
- elif key == ShareDefine.Def_Notify_WorldKey_OnMonthEx:
- if value and gameWorldMgr.GetGameWorldDictByKey(key) != value:
- __Func_GameServer_OnMonthEx(tick)
-
- # 世界等级
- elif key == ShareDefine.Def_Notify_WorldKey_WorldAverageLv:
- if value and gameWorldMgr.GetGameWorldDictByKey(key) != value:
- gameWorldMgr.SetGameWorldDict(key, value) # 世界等级先更新再处理
- playerManager = GameWorld.GetPlayerManager()
- for index in xrange(playerManager.GetPlayerCount()):
- curPlayer = playerManager.GetPlayerByIndex(index)
- if not GameWorld.IsNormalPlayer(curPlayer):
- continue
- PlayerWorldAverageLv.UpdatePlayerWorldAverageLv(curPlayer)
#通用设置
befValue = gameWorldMgr.GetGameWorldDictByKey(key)
@@ -1702,17 +1048,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:
@@ -1745,12 +1082,6 @@
gameWorldMgr.SetGameWorldDict(ShareDefine.Def_Notify_WorldKey_ReloadJpegCaptcha, value)
IpyGameDataPY.IPYData.IpyDataClear()
-
- #任务重读,需放在配置重读后面,暂时默认关闭,仅有需要重读任务时开启配置
- if IpyGameDataPY.GetFuncCfg("ReloadQuests", 1):
- tick = GameWorld.GetGameWorld().GetTick()
- QuestManager.ReloadQuests(tick)
- EventShell.DoReloadRefresh()
return
#===============================================================================
--
Gitblit v1.8.0