#!/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
|