土城每日签到领奖(每日一次,累计签到额外大奖)
-- SignNPC.lua 签到NPC脚本local SignNPC = {}
-- NPC对话主入口
function SignNPC.OnTalk(player)
local sDay = player:GetVarNumber("Sign_Day") -- 今日是否签到标记
local sCount = player:GetVarNumber("Sign_Count") -- 连续签到天数
local today = os.date("%d")
-- 上次签到日期不等于今日=未签到
if sDay ~= tonumber(today) then
player:SendMsg(0, "【签到使者】今日还未签到,点击【领取每日奖励】")
player:AddSelectMenu("领取每日奖励", "SignNPC.GetDailyReward")
else
player:SendMsg(0, string.format("【签到使者】今日已签到,连续签到%d天", sCount))
end
player:AddSelectMenu("查看连续签到奖励", "SignNPC.ShowTotalReward")
end
-- 领取每日签到奖励
function SignNPC.GetDailyReward(player)
local today = tonumber(os.date("%d"))
local oldDay = player:GetVarNumber("Sign_Day")
local count = player:GetVarNumber("Sign_Count")
-- 判断断签
if oldDay ~= today - 1 then
count = 0 -- 断签重置连续天数
end
count = count + 1
-- 基础奖励
player:GiveYB(200)
player:GiveItem("强化石", 3)
player:SetVarNumber("Sign_Day", today)
player:SetVarNumber("Sign_Count", count)
player:SendMsg(0, string.format("签到成功!获得200元宝、3个强化石,连续签到%d天", count))
-- 7天累计大奖
if count >= 7 then
player:GiveItem("高级强化石", 10)
player:SetVarNumber("Sign_Count", 0) -- 重置循环
player:SendMsg(0, "连续7天签到达成!额外领取10颗高级强化石!")
end
end
-- 展示累计奖励提示
function SignNPC.ShowTotalReward(player)
player:SendMsg(0, "连续签到7天可领取:高级强化石*10")
end
return SignNPC
lua真的这么好用吗?这种签到脚本也要lua写...
lua真的这么好用吗?这种签到脚本也要lua写... DDDDDDDDDDDD lua真的这么好用吗?这种签到脚本也要lua写... 可以,自己做版本必学
页:
[1]