#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#---------------------------------------------------------------------
|
#Writer £ºMark
|
#---------------------------------------------------------------------
|
#½Å±¾ËµÃ÷
|
#---------------------------------------------------------------------
|
#µ¼Èë
|
##@package test_OnDay
|
# Ä£¿éµÄ¼òҪ˵Ã÷. ɾ³ý¶ÓÎé
|
#
|
# @author Kilua
|
# @date 2010-3-31
|
# @version 1.1
|
#
|
# @change: "2012-05-16 14:30" jiang C++½Ó¿ÚÐÞ¸ÄMapServer_QueryPlayerResultºÍMapServer_QueryPlayerÐÞ¸Ä
|
#------------------------------------------------------------------------------
|
#"""Version = 2012-05-16 14:30"""
|
#------------------------------------------------------------------------------
|
|
import GameWorld
|
import GameWorldProcess
|
import ShareDefine
|
#---------------------------------------------------------------------
|
#È«¾Ö±äÁ¿
|
#---------------------------------------------------------------------
|
|
#---------------------------------------------------------------------
|
#Â߼ʵÏÖ ÕâÀïcurPlayer
|
## Ö´ÐÐÂß¼
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param playerList ÃüÁîÖ´ÐеĴÎÊý СÓÚ=ÓÚ5 Èë¹ý´óÓÚµÈÓÚ5µÄ»° ÓÃtest_OnWeek »ò×éºÏ
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷. ÓеÄÈÎÎñÒ»ÌìÖ»ÄÜ×öÏÞ¶¨´ÎÊý£¬»òÓеIJÙ×÷Ò»ÌìÖ»ÄÜ×öÒ»´Î
|
# ÓÃÀ´Ë¢ÐÂÈÎÎñ״̬»òÆäËü
|
def OnExec(curPlayer, gmList):
|
__DoExecOnDay(gmList)
|
return
|
|
def __DoExecOnDay(gmList):
|
timeStr = GameWorld.GetCurrentDataTimeStr()
|
tick = GameWorld.GetGameWorld().GetTick()
|
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 timeStr ʱ¼ä´Á
|
# @param tick µ±Ç°tick
|
# @return ÎÞ·µ»ØÖµ
|
# @remarks º¯ÊýÏêϸ˵Ã÷£ºÊÀ½ç·þÎñÆ÷Ö´ÐÐ test_OnHour test_OnDay Ò»´Î
|
def DoLogic_GM_OnDay(timeStr , tick):
|
playerManager = GameWorld.GetPlayerManager()
|
|
for i in range(0, playerManager.GetPlayerCount()):
|
curPlayer = playerManager.GetPlayerByIndex(i)
|
|
if not curPlayer or curPlayer.IsEmpty():
|
continue
|
|
mapID = GameWorld.GetQueryPlayerMapID(curPlayer)
|
|
if not mapID:
|
continue
|
|
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.OnDayEx(tick)
|
return
|
|
def OnGetMergeParam(curPlayer):
|
## ¿ç·þÃüÁî¶îÍâ²ÎÊý
|
return []
|
|
def OnMergeServerExec(gmList, tick):
|
## ¿ç·þÖ´ÐÐÃüÁî
|
__DoExecOnDay(gmList)
|
return
|