From d57475ffe460133d146d377e66ed19ccb77b11a7 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 20 十月 2025 17:22:00 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(寻宝支持定制第x次x抽必出)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py | 290 ++++------------------------------------------------------
1 files changed, 20 insertions(+), 270 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 33c23ed..c6896d3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -21,55 +21,31 @@
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
@@ -80,7 +56,6 @@
import PlayerActRechargePrize
import PlayerActGrowupBuy
import PlayerActTurntable
-import PlayerActBossTrial
import PlayerActBuyOne
import PlayerSpringSale
import PlayerBossReborn
@@ -97,37 +72,26 @@
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 PlayerAssist
import PlayerArena
import PyGameData
-import PlayerGuaji
import PlayerXiangong
-import PlayerMineArea
import PlayerBillboard
import PlayerViewCache
import PlayerMail
+import PlayerHero
+import PlayerTree
+import PlayerLLMJ
import datetime
import time
@@ -141,21 +105,16 @@
def DoLogic_OnDay(tick):
GameWorld.Log("MapServer -> OnDay!")
- playerManager = GameWorld.GetPlayerManager()
- #处理所有玩家信件的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)
@@ -191,6 +150,8 @@
def DoLogic_OnWeek(tick):
GameWorld.Log("MapServer -> OnWeek!")
+
+ PlayerArena.OnWeek()
playerManager = GameWorld.GetPlayerManager()
for i in xrange(playerManager.GetPlayerCount()):
@@ -293,14 +254,6 @@
#清空每日事件奖励
curPlayer.SetDayProcessGameEventCount(0)
- #重置宠物每天的训练次数
- PlayerPet.DoLogic_PetInfo_OnDay(curPlayer)
-
- PlayerGameWallow.RevertHealthGame_OnDay(curPlayer)
-
- PlayerOnlinePrize.ResetPrizeInfoOnDay(curPlayer)
-
-
#OnDay时清除每日签到的信息
PlayerSignDay.SignDayOnDay(curPlayer)
# 累计登陆礼包登陆次数刷新
@@ -308,29 +261,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)
#情缘
@@ -338,37 +277,13 @@
#仙宫
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)
+
# 特殊时间点X点过天
elif onEventType == ShareDefine.Def_OnEventTypeEx:
- # 资源找回
- PlayerRecover.RecoverOnDay(curPlayer)
- #购买次数清空
- Operate_PlayerBuyZhenQi.PlayerOnDay(curPlayer)
-
- #我要太极过天
- PlayerDiceEx.OnDay(curPlayer)
- # 世界boss
- BossHurtMng.OnDay(curPlayer)
+ PlayerHero.PlayerOnDay(curPlayer)
# 仙盟过天
PlayerFamily.PlayerOnDay(curPlayer)
# 重置物品每日使用次数
@@ -377,46 +292,24 @@
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)
# 以下为支持两种重置模式切换配置的
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)
#登录活动
@@ -501,8 +394,6 @@
#计算这一周的家族的活跃度
CalcFamilyActiveValue(curPlayer)
- #成就Onweek
- PlayerSuccess.OnWeek(curPlayer)
# 每周提示玩家提示vip等级加入贵宾俱乐部
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_HasVIPClubNote, 0)
@@ -511,13 +402,9 @@
#竞技场
PlayerArena.OnWeekEx(curPlayer)
PlayerFamily.OnWeekEx(curPlayer)
- PlayerCrossBattlefield.DoPlayerOnWeek(curPlayer)
# 以下为支持两种重置模式切换配置的
FBCommon.FBOnWeek(curPlayer, onEventType)
-
- #日常活动OnWeek
- PlayerActivity.OnWeek(curPlayer, onEventType)
# 商店物品购买兑换OnDay
FunctionNPCCommon.ShopItemOnWeek(curPlayer, onEventType)
@@ -608,9 +495,6 @@
GameWorld.Log("PlayerOnHour!" , curPlayerID)
- tick = GameWorld.GetGameWorld().GetTick()
- #PlayerVip.CalcVIPTimeByTick(curPlayer, tick)
-
#记录
curDateTime = GameWorld.GetCurrentTime()
curHour = curDateTime.hour
@@ -620,9 +504,6 @@
if curHour == 1:
#从数据库中查询当前排行榜等级
curPlayer.DataServer_GetBillboardLV()
-
- #缥缈仙域
- PlayerFairyDomain.OnHour(curPlayer)
return
#---------------------------------------------------------------------
@@ -970,11 +851,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
@@ -987,45 +863,8 @@
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:
@@ -1058,18 +897,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)
@@ -1088,12 +915,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)
@@ -1105,12 +926,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)
@@ -1154,9 +969,6 @@
elif actionName == ShareDefine.OperationActionName_FeastWeekParty:
PlayerFeastWeekParty.RefreshOperationAction_FeastWeekParty()
- elif actionName == ShareDefine.OperationActionName_FeastRedPacket:
- PlayerFeastRedPacket.RefreshOperationAction_FeastRedPacket()
-
elif actionName == ShareDefine.OperationActionName_LuckyTreasure:
PlayerLuckyTreasure.RefreshLuckyTreasureAction()
@@ -1189,18 +1001,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()
@@ -1227,14 +1027,6 @@
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():
@@ -1267,39 +1059,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)
-
- # 世界等级
- 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)
@@ -1308,17 +1067,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