我刚开始用lua roblox编码,我正试图用';值,并且可以';我不知道为什么
所以我刚刚在roblox中启动了Lua,我不知道为什么我会遇到这个错误(下面的代码) 工作区。脚本:11:尝试使用我刚开始用lua roblox编码,我正试图用';值,并且可以';我不知道为什么,lua,roblox,Lua,Roblox,所以我刚刚在roblox中启动了Lua,我不知道为什么我会遇到这个错误(下面的代码) 工作区。脚本:11:尝试使用值索引nil game.Players.PlayerAdded:Connect(函数(播放器) 本地统计数据=Instance.new(“文件夹”,玩家) stats.Name=“leaderstats” currency=Instance.new(“IntValue”,stats) currency.Name=“石油” 货币价值=100 返回0 (完) 尽管如此 currency.
值索引nil
game.Players.PlayerAdded:Connect(函数(播放器)
本地统计数据=Instance.new(“文件夹”,玩家)
stats.Name=“leaderstats”
currency=Instance.new(“IntValue”,stats)
currency.Name=“石油”
货币价值=100
返回0
(完)
尽管如此
currency.Value=100+10——这就是问题所在
等等(5)
终止
玩家添加:连接(函数…结束)
意味着您现在正在设置一个函数,以便在玩家加入游戏时调用。它不会马上就跑
紧接着,脚本转到while
循环。但是currency
尚未设置为任何值,因此其值只是nil
,这使得currency.value
无效
此外,每当玩家加入时,都会设置货币
全局变量。这意味着如果设置了它,它将是最后一个要加入的玩家的统计值,并且playeraded
回调之外的任何代码都只会改变该玩家的情况。您希望将while true
循环放在玩家的内部。playeraded
使其正常工作
旁注:不要使用
localstats=Instance.new(“文件夹”,玩家)
你应该使用
localstats=Instance.new(“文件夹”)
stats.Parent=玩家
因为它运行得更快。这就是为什么地球人是邪恶的。我希望每个Lua教程都能用这句话开始。@aschepler即使我加入游戏并在我的统计数据中获得正确的货币数量,我仍然面临错误,我认为它不是在while循环之前创建的,但如果我有统计数据,这意味着这是另一个问题,对吗?不确定你的意思。你试过代码中的其他东西吗?或者你注意到这确实设置了一个“油”值?回调函数仍然可以,但我猜您总是看到值100,而不是110。oil的值不会因为工作空间而增加。脚本:11:尝试在第11行用“value”索引nil,我不明白为什么。在上面的评论中,我的意思是,即使玩家(我自己)加入并创建了文件夹和值,我也会面临错误。很抱歉,我知道我使用了全球价值观,我的工作很糟糕,但现在我只是在学习,我真的想了解为什么会发生这种错误1。顶部的函数连接到PlayerAdded
事件。2.脚本在while循环中命中错误,并永久停止。3.播放器连接后,PlayerAdded
函数确实会被调用。它创建货币
全局并在播放器屏幕上显示oil:100。但是没有什么可以改变它。