| | |
| | | # @return None
|
| | | # @remarks 函数详细说明. 有的任务一天只能做限定次数,或有的操作一天只能做一次
|
| | | # 用来刷新任务状态或其它
|
| | | def OnExec(curPlayer,playerList):
|
| | | def OnExec(curPlayer, gmList):
|
| | | __DoExecOnDay(gmList)
|
| | | return
|
| | |
|
| | | def __DoExecOnDay(gmList):
|
| | | timeStr = GameWorld.GetCurrentDataTimeStr()
|
| | | tick = GameWorld.GetGameWorld().GetTick()
|
| | | |
| | | if len(playerList) == 0:
|
| | | DoLogic_GM_OnDay( timeStr , tick )
|
| | | return
|
| | | |
| | | count = playerList[0]
|
| | | |
| | | if count > 5:
|
| | | return
|
| | | |
| | | for i in range( count ):
|
| | | DoLogic_GM_OnDay( timeStr , tick )
|
| | | |
| | | count = 1 if not gmList else min(gmList[0], 5)
|
| | | for _ in xrange(count):
|
| | | DoLogic_GM_OnDay(timeStr , tick)
|
| | | return
|
| | |
|
| | | ## 世界服务器执行 test_OnHour test_OnDay 一次 并通知在线所有玩家
|
| | |
| | | # @param tick 当前tick
|
| | | # @return 无返回值
|
| | | # @remarks 函数详细说明:世界服务器执行 test_OnHour test_OnDay 一次
|
| | | def DoLogic_GM_OnDay( timeStr , tick ):
|
| | | def DoLogic_GM_OnDay(timeStr , tick):
|
| | | playerManager = GameWorld.GetPlayerManager()
|
| | |
|
| | | for i in range( 0, playerManager.GetPlayerCount() ):
|
| | | curPlayer = playerManager.GetPlayerByIndex( i )
|
| | | for i in range(0, playerManager.GetPlayerCount()):
|
| | | curPlayer = playerManager.GetPlayerByIndex(i)
|
| | |
|
| | | if not curPlayer or curPlayer.IsEmpty():
|
| | | continue
|
| | |
|
| | | mapID = GameWorld.GetQueryPlayerMapID( curPlayer )
|
| | | mapID = GameWorld.GetQueryPlayerMapID(curPlayer)
|
| | |
|
| | | if not mapID:
|
| | | continue
|
| | |
|
| | | playerManager.MapServer_QueryPlayer( 0, 0, curPlayer.GetID(), mapID, 'GMDateTime', 'GMOnDay', len("GMOnDay"))
|
| | | playerManager.MapServer_QueryPlayer(0, 0, curPlayer.GetID(), mapID, 'GMDateTime', 'GMOnDay', len("GMOnDay"))
|
| | |
|
| | | GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_OnDayEx, 0)
|
| | |
|
| | | GameWorldProcess.OnHour( timeStr , tick )
|
| | | GameWorldProcess.OnDay( timeStr , tick )
|
| | | GameWorldProcess.OnHour(timeStr , tick)
|
| | | GameWorldProcess.OnDay(timeStr , tick)
|
| | | GameWorldProcess.OnDayEx(tick)
|
| | | return
|
| | |
|
| | | def OnGetMergeParam(curPlayer):
|
| | | ## 跨服命令额外参数
|
| | | return []
|
| | |
|
| | | def OnMergeServerExec(gmList, tick):
|
| | | ## 跨服执行命令
|
| | | __DoExecOnDay(gmList)
|
| | | return
|