#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
##@package GM.Commands.SetSignDay  
 | 
#  
 | 
# @todo:ÉèÖÃÇ©µ½  
 | 
# @author hxp  
 | 
# @date 2018-03-29  
 | 
# @version 1.0  
 | 
#  
 | 
# ÏêϸÃèÊö: ÉèÖÃÇ©µ½  
 | 
#  
 | 
#-------------------------------------------------------------------------------  
 | 
#"""Version = 2018-03-29 11:00"""  
 | 
#-------------------------------------------------------------------------------  
 | 
  
 | 
import PlayerControl  
 | 
import PlayerSignDay  
 | 
import PlayerMagicWeapon  
 | 
import GameWorld  
 | 
import ChConfig  
 | 
  
 | 
import datetime  
 | 
import time  
 | 
#---------------------------------------------------------------------  
 | 
## ÉèÖÃÿÈÕÇ©µ½  
 | 
#  @param curPlayer Íæ¼ÒʵÀý  
 | 
#  @param cmdList ²ÎÊýÁÐ±í  
 | 
#  @return None  
 | 
#  @remarks   
 | 
def OnExec(curPlayer, cmdList):  
 | 
    if len(cmdList) == 1 and cmdList[0] == 0:  
 | 
        PlayerSignDay.ResetDaySign(curPlayer)  
 | 
        PlayerSignDay.Sync_SignDayInfo(curPlayer)  
 | 
          
 | 
        startTime = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DayLoginSignStartTime) # ¿ªÊ¼Ê±¼ä  
 | 
        GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÇ©µ½OK!%s" % GameWorld.ChangeTimeNumToStr(startTime))  
 | 
        PlayerMagicWeapon.CalcMagicWeaponAttr(curPlayer)  
 | 
        PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()  
 | 
        return  
 | 
      
 | 
    if not cmdList:  
 | 
        GameWorld.DebugAnswer(curPlayer, "ÉèÖÃ:SetSignDay ÒÑÇ©´ÎÊý ¿É²¹´ÎÊý ÊÇ·ñ´ÎÔ ÀÛ¼ÆÇ©µ½´ÎÊý")  
 | 
        GameWorld.DebugAnswer(curPlayer, "ÖØÖÃ:SetSignDay 0")  
 | 
        return  
 | 
      
 | 
    signNum = cmdList[0]  
 | 
    canAddSignNum = cmdList[1] if len(cmdList) > 1 else 0  
 | 
    isMulti = cmdList[2] if len(cmdList) > 2 else 0  
 | 
    totalSignNum = cmdList[3] if len(cmdList) > 3 else signNum  
 | 
      
 | 
    curTime = int(time.time())  
 | 
    curDateTime = GameWorld.ChangeTimeNumToDatetime(curTime)  
 | 
      
 | 
    startDateTime = curDateTime - datetime.timedelta(days=(signNum + canAddSignNum))  
 | 
    startTimeStr = str(startDateTime)  
 | 
    startTime = GameWorld.ChangeTimeStrToNum(startTimeStr)  
 | 
      
 | 
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DayLoginSignState, 0) # Ä¬Èϵ±Ç°Î´Ç©µ½  
 | 
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DayLoginSignNum, signNum)  
 | 
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalSignNum, totalSignNum)  
 | 
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DayLoginSignIsMulti, isMulti)  
 | 
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DayLoginSignStartTime, startTime)  
 | 
    PlayerSignDay.Sync_SignDayInfo(curPlayer)  
 | 
      
 | 
    PlayerMagicWeapon.CalcMagicWeaponAttr(curPlayer)  
 | 
    PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()  
 | 
    GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÒÑÇ©´ÎÊý:%s,¿É²¹´ÎÊý:%s,ÊÇ·ñ´ÎÔÂ:%s" % (signNum, canAddSignNum, isMulti))  
 | 
    GameWorld.DebugAnswer(curPlayer, "±¾ÂÖ¿ªÊ¼Ç©µ½Ê±¼ä:%s" % (startTimeStr))  
 | 
    return  
 | 
  
 |