| | |
| | | import GameLogInfo
|
| | | import GameServerRefresh
|
| | | import ShareDefine
|
| | | import ReadCaptchaImage
|
| | | import PlayerGameWallow
|
| | | import ItemCommon
|
| | | import Operate_PlayerBuyZhenQi
|
| | | import PlayerSignDay
|
| | | import PlayerCoin
|
| | |
| | | import PlayerHorse
|
| | | import PlayerLoginDayAward
|
| | | import NPCCommon
|
| | | import GameLogic_MergeBoss
|
| | | import GameLogic_ManorWar
|
| | | import FunctionNPCCommon
|
| | | import PlayerGoldGift
|
| | | import PlayerActivity
|
| | | import PlayerTeHui
|
| | | import HighLadderTube
|
| | | import PlayerAction
|
| | | import PlayerTruck
|
| | | import PlayerBindJadeWheel
|
| | | 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 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 PlayerRefineStove
|
| | | import PlayerFlashSale
|
| | | import PlayerWishingWell
|
| | | import PlayerFairyDomain
|
| | | import PlayerVip
|
| | | import PlayerDiceEx
|
| | | import IpyGameDataPY
|
| | | import FamilyRobBoss
|
| | | import FBHelpBattle
|
| | | import QuestManager
|
| | | import PyGameData
|
| | | import PlayerTJG
|
| | |
| | |
|
| | | #副本OnDay事件响应
|
| | | FBLogic.OnDay(tick)
|
| | | |
| | | #重置跨服活动副本人数分配情况信息
|
| | | PlayerControl.ResetMergeFBPlayerCntInfo(0)
|
| | |
|
| | | #删除所有的任务发布
|
| | | missionPubManager = GameWorld.GetGameWorld().GetDBMissionPubManager()
|
| | |
| | | # @remarks 函数详细说明.
|
| | | def GameServer_InitOK(index, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | #通知BServer自己OK了
|
| | | curPlayer.SendToBServerServerInitOK()
|
| | | ChPlayer.OnAllServerInitOK(curPlayer, tick)
|
| | | try:
|
| | | #通知BServer自己OK了
|
| | | curPlayer.SendToBServerServerInitOK()
|
| | | ChPlayer.OnAllServerInitOK(curPlayer, tick)
|
| | | except:
|
| | | curPlayer.Kick(IPY_GameWorld.disWaitForPlayerLoinError)
|
| | | import traceback
|
| | | GameWorld.ErrLog("玩家上线逻辑错误~~~~~\r\n%s" % traceback.format_exc())
|
| | | if GameWorld.GetGameWorld().GetDebugLevel():
|
| | | raise Exception("玩家上线逻辑错误~~~~\r\n%s" % traceback.format_exc())
|
| | | return
|
| | |
|
| | | #--------------------------------------------------------
|
| | | def PlayerOnDay(curPlayer):
|
| | |
| | |
|
| | | def __DoPlayerOnDay(curPlayer, onEventType):
|
| | |
|
| | | if GameWorld.IsCrossServer():
|
| | | return
|
| | | |
| | | # 常规过天
|
| | | if onEventType == ShareDefine.Def_OnEventType:
|
| | |
|
| | |
| | | #成就
|
| | | PlayerSuccess.SuccOnDay(curPlayer)
|
| | |
|
| | | # 仙盟红包OnDay
|
| | | PlayerFamilyRedPacket.RedPacketOnDay(curPlayer)
|
| | | |
| | | # 新手卡
|
| | | PlayerNewGuyCard.NewGuyCardOnday(curPlayer)
|
| | |
|
| | | PlayerTJG.TJGOnDay(curPlayer)
|
| | | #投资
|
| | | PlayerGoldInvest.OnDay(curPlayer)
|
| | |
|
| | | #法宝
|
| | | PlayerMagicWeapon.OnDay(curPlayer)
|
| | | |
| | | PlayerGoldGift.OnDay(curPlayer)
|
| | | #炼丹
|
| | | PlayerRefineStove.OnDay(curPlayer)
|
| | | #绑玉转盘
|
| | | PlayerBindJadeWheel.OnDay(curPlayer)
|
| | | # 特殊时间点X点过天
|
| | | elif onEventType == ShareDefine.Def_OnEventTypeEx:
|
| | | #触发每日任务重置脚本
|
| | |
| | | ChItem.ResetItemUseCntToday(curPlayer)
|
| | | # 极品白拿
|
| | | PlayerFreeGoods.OnDay(curPlayer)
|
| | | |
| | | #采集次数重置
|
| | | NPCCommon.CollNPCTimeOnDay(curPlayer)
|
| | | #副本助战
|
| | | FBHelpBattle.DoPlayerOnDay(curPlayer)
|
| | | #跨服竞技场
|
| | | PlayerCrossRealmPK.DoPlayerOnDay(curPlayer)
|
| | | #缥缈仙域
|
| | | PlayerFairyDomain.OnDay(curPlayer)
|
| | | |
| | | PlayerTJG.TJGOnDay(curPlayer, onEventType)
|
| | | # 以下为支持两种重置模式切换配置的
|
| | | FBCommon.FBOnDay(curPlayer, onEventType)
|
| | |
|
| | |
| | | # 商店物品购买兑换OnDay
|
| | | FunctionNPCCommon.ShopItemOnDay(curPlayer, onEventType)
|
| | |
|
| | | |
| | | # 仙盟红包OnDay
|
| | | PlayerFamilyRedPacket.RedPacketOnDay(curPlayer, onEventType)
|
| | | #许愿池
|
| | | PlayerWishingWell.OnDay(curPlayer)
|
| | | return
|
| | |
|
| | |
|
| | |
| | |
|
| | | def __DoPlayerOnWeek(curPlayer, onEventType):
|
| | |
|
| | | if GameWorld.IsCrossServer():
|
| | | return
|
| | | |
| | | if onEventType == ShareDefine.Def_OnEventType:
|
| | | #记录上周工资相关流向
|
| | | lastWeekOnlineTime = curPlayer.GetLastWeekOnlineTime()
|
| | |
| | |
|
| | | def __DoPlayerOnMonth(curPlayer, onEventType):
|
| | |
|
| | | if GameWorld.IsCrossServer():
|
| | | return
|
| | |
|
| | | if onEventType == ShareDefine.Def_OnEventType:
|
| | | pass
|
| | |
| | |
|
| | | #触发每小时任务重置脚本
|
| | | EventShell.EventResponse_OnHour(curPlayer)
|
| | | #缥缈仙域
|
| | | PlayerFairyDomain.OnHour(curPlayer)
|
| | | return
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | |
| | | 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))
|
| | | #---接收世界服务器发来的消息---
|
| | |
|
| | |
| | | PyGameData.g_bossShuntPlayerInfo = eval(msgValue)
|
| | | return
|
| | |
|
| | | if key == ShareDefine.Def_Notify_WorldKey_BossShuntDeadLine:
|
| | | PyGameData.g_bossShuntDeadLine = eval(msgValue)
|
| | | if key == ShareDefine.Def_Notify_WorldKey_BossShuntLineState:
|
| | | 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:
|
| | |
| | | GameLogic_FamilyBoss.GameServerOpenFamilyBoss(familyID, openCount)
|
| | | 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_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):]
|
| | |
| | |
|
| | | elif actionName == ShareDefine.OperationActionName_CostRebate:
|
| | | PlayerCostRebate.RefreshCostRebateActionInfo()
|
| | |
|
| | | elif actionName == ShareDefine.OperationActionName_TotalRecharge:
|
| | | PlayerActTotalRecharge.RefreshTotalRechargeActionInfo()
|
| | | elif actionName == ShareDefine.OperationActionName_SpringSale:
|
| | | PlayerSpringSale.RefreshSpringSaleActionInfo()
|
| | |
|
| | |
| | |
|
| | | 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():
|
| | |
| | | # 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)
|
| | | |
| | | #跨服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)
|
| | | # 跨服PK
|
| | | elif key == ShareDefine.Def_Notify_WorldKey_CrossPKSeasonID:
|
| | | PlayerCrossRealmPK.OnCrossRealmPKSeasonChange(value)
|
| | |
|
| | | # 仙盟宴会
|
| | | elif key == ShareDefine.Def_Notify_WorldKey_FBFuncState % ChConfig.Def_FBMapID_FamilyParty:
|
| | |
| | | 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:
|
| | |
| | | if curPlayer.GetID() == 0:
|
| | | continue
|
| | | PlayerWorldAverageLv.UpdatePlayerWorldAverageLv(curPlayer)
|
| | | |
| | | |
| | | # 日常活动
|
| | | elif key.startswith(ShareDefine.Def_Notify_WorldKey_DailyActionState[:-2]):
|
| | | if value and gameWorldMgr.GetGameWorldDictByKey(key) != value:
|
| | | NPCCustomRefresh.ResetActivityBossRefreshCount()
|
| | | |
| | | #通用设置
|
| | | gameWorldMgr.SetGameWorldDict(key, value)
|
| | |
|
| | |
| | | # 王者仙盟
|
| | | 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)
|
| | |
|
| | | |
| | | #===============================================================================
|
| | | # ---修改为上述的 统一字典处理
|
| | | # if msg == ChConfig.Def_Notify_Key_PurTalk:
|