找回密码
 register

QQ登录

只需一步,快速开始

查看: 66|回复: 0

每日累计兑换点数数量限制 限制每天只能兑换2000点数

[复制链接]

每日累计兑换点数数量限制 限制每天只能兑换2000点数

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:94
  • 打卡月天数:17
  • 打卡总奖励:94
  • 最近打卡:2025-01-18 01:28:20
Waylee

主题

0

回帖

1万

积分

仙帝

积分
12360
Waylee 2022-11-5 00:18 | 显示全部楼层 |阅读模式

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×
测试环境:兄弟国际仿官

适用版本:几乎全部版本

测试时间:2022-11-5 00:13:28

客户要求:每天限制用户只能兑换2000点数,次日重置数量。

思路:兑换后MD_Self_DuiHuanSJ记录当前时间,如果不是当天了,则马上重置累计兑换的点数。这个思路完全可以按照副本次数的方式进行修改(欢迎提供更简单更方便的次数更新方式)。
MD_Self_DuiHuanCS记录今天总共的兑换数量,如果想兑换的点数超过了2000了,则禁止兑换,必须让你兑换少于等于2000哦。 如果你后续想修改成,超过两千则兑换2000也是可以的。

编号:XUEWU-20220511-XLGM-01-ID01 - XUEWU-20220511-XLGM-01-ID03 共计三处修改,记录编号以便后续修改时查询


具体代码:
\home\tlbb\Public\Data\Script\obj\qianzhuang\oqianzhuang_yuanbao.lua
function x181000_BuyYuanbao( sceneId, selfId, nYuanBao )

        --雪舞新增点数购买限制 2022-11-4 20:40:34
        -- local MD_Self_DuiHuanCS = 587 --测试时使用,重启服务器后可删除,不删也没关系的。 
        -- local MD_Self_DuiHuanSJ        = 588 --测试时使用,因为服务器的全局变量还没生效,重启才能生效哦。 
        --修改编号:XUEWU-20220511-XLGM-01-ID01
        local ShengYu = 2000
        
        local lastTime = GetMissionDataEx(sceneId, selfId, MD_Self_DuiHuanSJ)
        local lastDayTime = floor( lastTime / 100 )
        local lastDayCount = mod( lastTime, 100 )
        local CurDayTime = GetDayTime()
        if CurDayTime > lastDayTime then
                lastDayTime = CurDayTime
                lastDayCount = 0
                SetMissionDataEx( sceneId, selfId, MD_Self_DuiHuanCS,0)        
                x181000_g_Str_Tips(sceneId, selfId,"新的一天已经开始,您的累计兑换点数已经清空。")
        end
        lastDayCount = lastDayCount + 1
        lastTime = lastDayTime * 100 + lastDayCount
        SetMissionDataEx(sceneId, selfId, MD_Self_DuiHuanSJ,lastTime)
        
        local LeiJi = GetMissionDataEx( sceneId, selfId, MD_Self_DuiHuanCS)
        
        if (nYuanBao+LeiJi) > ShengYu then
                x181000_g_Str_Tips(sceneId, selfId,"今日已累计兑换"..LeiJi.."点数,不足以继续兑换"..nYuanBao.."点,最多可再兑换"..(ShengYu-LeiJi).."点数,请减少数量再试。")
                return
        end
        
        if LeiJi > ShengYu then
                x181000_g_Str_Tips(sceneId, selfId,"今日已累计兑换"..LeiJi.."点数,还剩余可兑换点数"..(ShengYu-LeiJi).."点")
                return        
        end
end



ScriptGlobal.lua
--每日兑换限制记录
MD_Self_DuiHuanCS        = 587 --本代码使用extxt储存 byxuewu 2022-11-4 20:16:30
MD_Self_DuiHuanSJ        = 588 --本代码使用extxt储存 byxuewu 2022-11-4 20:16:30

287记录点数数量
288记录是否是新的一天

二次验证:\home\tlbb\Public\Data\Script\event\prize\eprize.lua
function x888899_BuyRet( sceneId, selfId, ntype, nPoint, nLeftPoint )的elseif( 2 == ntype) then        下面加入
--修改查询编号:XUEWU-20220511-XLGM-01-ID02 雪舞注释 2022-11-5 00:16:17
                local shengyu = GetMissionDataEx( sceneId, selfId, MD_Self_DuiHuanCS)
                if shengyu >= 2000 then
                        x888899_g_Str_Tips(sceneId, selfId,"您好,今日已累计2000点数,请明天再兑换")
                        return
                        
                end

最后在点数完成兑换的代码后面加入 ,例如函数x888899_BuyRet最后面,当然是end之前。
--修改查询编号:XUEWU-20220511-XLGM-01-ID03 雪舞注释 2022-11-5 00:16:17
                SetMissionDataEx( sceneId, selfId, MD_Self_DuiHuanCS,shengyu + nPoint)
                x888899_g_Str_Tips(sceneId, selfId,"今日已累计兑换"..(shengyu+nPoint).."点数,还剩余可兑换点数"..(2000-shengyu-nPoint).."点")




您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |天天打卡

GMT+8, 2025-1-19 12:48 , Processed in 0.103092 second(s), 9 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表