报错attempt to index number with 'Value',求Roblox LocalScript修复方案
问题分析
你的代码报错核心原因是变量覆盖:
- 一开始用
local total = script.Total获取了Total这个Value对象,但随后执行total = 10,把total变量从Value对象改成了普通数字。 - 数字类型没有
Value属性,所以执行total.Value时会触发错误。
修复方案
有两种简单的修复方式:
方式1:更换总值变量名
避免覆盖原有的Value对象引用:
local totalObj = script.Total -- 重命名变量,避免和总值数字冲突 local collect = script.Collect local Backpack = script.Parent local text = Backpack.Frame.Backpack local totalValue = 10 -- 单独用变量存总值数字 text.Text = collect.Value .. "/" .. totalValue
方式2:直接设置Total对象的Value属性
如果原本就打算用Total这个Value对象存储总值,直接修改它的属性即可:
local total = script.Total local collect = script.Collect local Backpack = script.Parent local text = Backpack.Frame.Backpack total.Value = 10 -- 设置Value对象的数值 text.Text = collect.Value .. "/" .. total.Value
内容的提问来源于stack exchange,提问作者ComboedBozo
相关产品推荐
相关产品推荐

