You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何我的Roblox脚本无法正常工作?NumValue变更时始终打印0

问题分析与解决

你的代码问题在于提前缓存了静态数值:

local ShardsValue = workspace.ads.Amarelo.Shards.Value

这行代码只是把Shards当时的Value(也就是0)赋值给了ShardsValue变量,它是一个固定的数值,不会随着Shards.Value的变化自动更新。所以每次调用update函数时,你打印的都是一开始存的那个0。

修正方案一:每次读取最新值

把读取Value的操作放到update函数内部,确保每次触发时都获取当前最新的数值:

local Shards = workspace.ads.Amarelo.Shards
local plr = game.Players.LocalPlayer

function update()
    local newValue = Shards.Value
    print(newValue)
end

update() -- 初始打印一次当前值
Shards.Changed:Connect(update) -- 绑定变更事件

修正方案二:利用Changed事件的参数

Roblox的Changed事件触发时,会自动把更新后的数值作为参数传递给回调函数,直接用这个参数更简洁:

local Shards = workspace.ads.Amarelo.Shards
local plr = game.Players.LocalPlayer

-- 先打印初始值
print(Shards.Value)

-- 绑定事件,直接使用事件传递的新值
Shards.Changed:Connect(function(newValue)
    print(newValue)
end)

内容的提问来源于stack exchange,提问作者Francisco Afonso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 12:40:30