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