#!/usr/bin/python # -*- coding: GBK -*- #--------------------------------------------------------------------- #Writer £ºMark #--------------------------------------------------------------------- #½Å±¾ËµÃ÷ #--------------------------------------------------------------------- #µ¼Èë ##@package test_OnWeek # ɾ³ý¶ÓÎé # # @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 GameWorldProcess import ShareDefine import GameWorld #--------------------------------------------------------------------- #È«¾Ö±äÁ¿ #--------------------------------------------------------------------- #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ ÕâÀïcurPlayer ## Ö´ÐÐÂß¼­ Ö´Ðиø¶¨²ÎÊý´ÎonWeek # @param curPlayer µ±Ç°Íæ¼Ò # @param playerList ÃüÁîÖ´ÐеĴÎÊý СÓÚ=ÓÚ3 # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. ÊÀ½ç·þÎñÆ÷Ö´ÐÐOnWeek def OnExec(curPlayer,playerList): timeStr = GameWorld.GetCurrentDataTimeStr() tick = GameWorld.GetGameWorld().GetTick() if len(playerList) == 0: DoLogic_GM_OnWeek( timeStr , tick ) return count = playerList[0] if count > 3: return for i in range( count ): DoLogic_GM_OnWeek( timeStr, tick ) return ## È«¾Öº¯Êý¼òҪ˵Ã÷£ºÊÀ½ç·þÎñÆ÷Ö´ÐÐ test_OnWeek Ò»´Î ²¢Í¨ÖªÔÚÏßËùÓÐÍæ¼Ò # @param timeStr ʱ¼ä´Á # @param tick µ±Ç°tick # @return ÎÞ·µ»ØÖµ # @remarks º¯ÊýÏêϸ˵Ã÷£ºÊÀ½ç·þÎñÆ÷Ö´ÐÐ test_OnWeek Ò»´Î ÐèҪͬʱµôÓÃOnDay OnHour def DoLogic_GM_OnWeek( 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', 'GMOnWeek', len("GMOnWeek")) GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_OnDayEx, 0) GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_OnWeekEx, 0) GameWorldProcess.OnHour( timeStr , tick ) GameWorldProcess.OnDay( timeStr , tick ) GameWorldProcess.OnDayEx(tick) GameWorldProcess.OnWeek( timeStr , tick ) GameWorldProcess.OnWeekEx(tick) return