萝卜说 - 罗布乐思 - 口袋核心

查看: 1101|回复: 2

[讨论] 你也来一个每日签到功能吧,时间计算解析

[复制链接]

0

收听

0

听众

47

帖子

正式用户

Rank: 1

萝卜币
66
发表于 2021-5-31 12:25:14 | 显示全部楼层 |阅读模式
该功能教程是逻辑思维教程,学习该功能首先,你要学会的东西:存储,lua基础,获取系统时间等等。
该功能是以碰撞实现的每日签到,以下是源代码,有各种注释:
该功能我将其分为了两个脚本:

  • 时间的存储
    local qdStore = DataStoreService:GetDataStore(“qd”) --签到
    game.Players.PlayerAdded:Connect(function(player)  --玩家加入时
    –创建两个值
    local qdrqz = Instance.new(“NumberValue”,player)   --签到过的日期时间戳
    qdrqz.Name = “qdrqz”
    local mrqdz = Instance.new(“BoolValue”,player) --是否已经签到过了
    mrqdz.Name = “mrqdz”
    if qdStore:GetAsync(player.UserId) == nil then  --获取存储为空就初始化值对象
    qdrqz.Value = 0
    mrqdz.Value = false
    else   --获取到存储就将值获取并设置给值对象
    qdrqz.Value = qdStore:GetAsync(player.UserId)[1]
    mrqdz.Value = qdStore:GetAsync(player.UserId)[2]
    end
    –下面是值的存储,这里是为了方便,学会之后可以换成玩家退出游戏就进行存储
    qdrqz.Changed:Connect(function() --值改变的时候将表存储,为了
    qdStore:SetAsync(player.UserId,{qdrqz.Value,mrqdz.Value})
    end)
    mrqdz.Changed:Connect(function() --值改变的时候将表存储
    qdStore:SetAsync(player.UserId,{qdrqz.Value,mrqdz.Value})
    end)
    end)
    2.签到功能
    local part = script.Parent --获取part对象
    local bool = true --防止多次碰撞
    part.Touched:Connect(function(avatar)  --碰撞监听
    local p = game:service(“Players”):GetPlayerFromCharacter(avatar.Parent) --获取玩家
    if not p then
    return
    else
    if bool == true then
    bool = false
    local mrqdz = p:WaitForChild(“mrqdz”)  --签到过的日期时间戳,值对象
    local qdrqz = p:WaitForChild(“qdrqz”)  --是否已经签到过了,值对象
    local sjcday = tonumber(os.date("%d",os.time())) --获取当日(“%d”)的时间戳
    local czz = sjcday - qdrqz.Value --两个时间戳相减
    if czz == 0 then --如果为0,说明当天还未过去,而且已经签到过了
    mrqdz.Value = true
    print(“已经签到过了”)       
    else --不为0,当天已经过去了,将值设置为false,表示未签到。
    mrqdz.Value = false
    end
    if mrqdz.Value == false then --当值mrqdz为false时触发
    mrqdz.Value = true --值设置为true表示签到了
    qdrqz.Value = tonumber(os.date("%d",os.time())) --将当天的时间戳存储起来
    print(“签到成功”)
    –这里就可以玩家签到成功时获得的奖励
    end
    wait(1)
    bool = true
    end
    end
    end)
    以上就是每日签到的全部内容了
回复

使用道具 举报

0

收听

0

听众

38

帖子

正式用户

Rank: 1

萝卜币
44
发表于 2021-5-31 12:25:36 | 显示全部楼层
感谢分享,我去试试

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

收听

0

听众

47

帖子

正式用户

Rank: 1

萝卜币
73
发表于 2021-5-31 12:25:45 | 显示全部楼层
还没把帖子页面排版好久不小心按了enter发表了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋| |京公网安备11010502045240号

Copyright © 2001-2013 Comsenz Inc.   All Rights Reserved.

Powered by Discuz! X3.4  备案:京ICP备2021013067号-2

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