| #!/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 PlayerHorse  | 
| 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()  | 
|     PlayerHorse.RefreshHorseAttr(curPlayer)  | 
|     GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÒÑÇ©´ÎÊý:%s,¿É²¹´ÎÊý:%s,ÊÇ·ñ´ÎÔÂ:%s" % (signNum, canAddSignNum, isMulti))  | 
|     GameWorld.DebugAnswer(curPlayer, "±¾ÂÖ¿ªÊ¼Ç©µ½Ê±¼ä:%s" % (startTimeStr))  | 
|     return  | 
|   |