#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
#-------------------------------------------------------------------------------
|
#
|
##@package RecallCnt
|
#
|
# @todo: ÉèÖÃÕٻظöÊý
|
# @author Alee
|
# @date 2011-07-22 15:00
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö:
|
#------------------------------------------------------------------------------
|
"""Version = 2011-07-22 15:00"""
|
#µ¼Èë
|
import ChConfig
|
import GameWorld
|
#---------------------------------------------------------------------
|
#È«¾Ö±äÁ¿
|
#---------------------------------------------------------------------
|
|
#---------------------------------------------------------------------
|
|
## Ö´ÐÐÂß¼
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param cmList ²ÎÊýÁбí
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def OnExec(curPlayer, cmList):
|
playerID = curPlayer.GetPlayerID()
|
|
cmdLen = len(cmList)
|
if cmdLen == 2:
|
cnt, flag = cmList
|
elif cmdLen == 3:
|
playerID, cnt, flag = cmList
|
else:
|
GameWorld.Log("²ÎÊý²»¶Ô")
|
return
|
|
limit = pow(2, 32) - 1
|
if cnt >= limit or flag >= limit:
|
GameWorld.Log("ÊýÖµÒì³£")
|
return
|
|
recallMgr = GameWorld.GetGameWorld().GetPlayerRecallMgr()
|
recall = recallMgr.FindPlayerRecallByPlayerID(playerID)
|
|
if recall == None:
|
GameWorld.Log("δÉêÇë¹ýÑûÇëÂë %s"%playerID)
|
return
|
|
#³õʼ»¯Ò»´Î
|
recall = recallMgr.GetPlayerRecallByPlayerID(playerID)
|
recall.SetRecallCount(cnt)
|
recall.SetReceiveFlag(flag)
|
|
curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
|
if not curPlayer:
|
return
|
|
curPlayer.Sync_PlayerRecallInfo(cnt, flag)
|
curPlayer.Sync_SendInviteCode(playerID)
|
|