From dae842ad6e4a43d66255251e3ca60880af8d08bb Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 09 十月 2025 16:26:25 +0800
Subject: [PATCH] 242 【福利内容】每日签到-服务端
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSignDay.py | 62 ++++++++----------------------
1 files changed, 17 insertions(+), 45 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSignDay.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSignDay.py
index 5038ce3..c7a4bdc 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSignDay.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetSignDay.py
@@ -4,66 +4,38 @@
#
##@package GM.Commands.SetSignDay
#
-# @todo:设置签到
+# @todo:签到
# @author hxp
-# @date 2018-03-29
+# @date 2025-10-09
# @version 1.0
#
-# 详细描述: 设置签到
+# 详细描述: 签到
#
#-------------------------------------------------------------------------------
-#"""Version = 2018-03-29 11:00"""
+#"""Version = 2025-10-09 16:30"""
#-------------------------------------------------------------------------------
-import PlayerControl
-import PlayerSignDay
import GameWorld
+import PlayerSignDay
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))
- PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
- return
if not cmdList:
- GameWorld.DebugAnswer(curPlayer, "设置:SetSignDay 已签次数 可补次数 是否次月 累计签到次数")
- GameWorld.DebugAnswer(curPlayer, "重置:SetSignDay 0")
+ GameWorld.DebugAnswer(curPlayer, "重置签到: SetSignDay 0")
+ GameWorld.DebugAnswer(curPlayer, "设置签到: SetSignDay 天 状态")
+ GameWorld.DebugAnswer(curPlayer, "状态:1-已签到;2-可补签;3-已领取")
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
+ value = cmdList[0]
+ if value <= 0:
+ GameWorld.DebugAnswer(curPlayer, "重置签到")
+ PlayerSignDay.ResetDaySign(curPlayer)
+ return
- 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)
+ day = value
+ state = cmdList[1] if len(cmdList) > 1 else 0
+ GameWorld.DebugAnswer(curPlayer, "设置签到: 天:%s, 状态:%s" % (day, state))
+ GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_PDict_SignInState, day - 1, state, False)
PlayerSignDay.Sync_SignDayInfo(curPlayer)
-
- PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
- GameWorld.DebugAnswer(curPlayer, "设置已签次数:%s,可补次数:%s,是否次月:%s" % (signNum, canAddSignNum, isMulti))
- GameWorld.DebugAnswer(curPlayer, "本轮开始签到时间:%s" % (startTimeStr))
return
-
--
Gitblit v1.8.0