Con*_*son 4 lua roblox lua-table
我在为游戏编写代码时遇到了一个问题.似乎我不能在语句中使用变量;
local Username = "Cranavvo"
game.Players.Username:BreakJoints() -- Kills the player
Run Code Online (Sandbox Code Playgroud)
输出告诉我"没有这样的用户''用户名'"应该是"Cranavvo".
hjp*_*r92 10
要表示记录,请使用字段名称作为索引.Lua通过提供
a.name语法糖来 支持这种表示a["name"].初学者常犯的错误就是混淆
a.x使用a[x].第一种形式表示a["x"],即由字符串索引的表"x".
因此,当您尝试:
game.Players.Username:BreakJoints()
Run Code Online (Sandbox Code Playgroud)
Lua将其解释为:
game["Players"]["Username"]:BreakJoints()
Run Code Online (Sandbox Code Playgroud)
哪个是错的.如果要使用不同的名称作为表的索引,请像这样使用它们:
local foo = "Cranavvo"
game.Players[foo]:BreakJoints()
Run Code Online (Sandbox Code Playgroud)
但一提的是,该播放器类没有BreakJoints方法,你必须让人物模型与帮助.Character属性是这样的:
local foo = "Cranavvo"
game.Players[foo].Character:BreakJoints()
Run Code Online (Sandbox Code Playgroud)
还要提到的是,如果具有该名称的播放器不存在,则代码将中断,并且该字符也可以为空,在这种情况下它也会中断.因此,您需要添加一些错误处理.像这样:
local foo = "Cranavvo"
local Player = game.Players:findFirstChild(foo)
if Player ~= nil and Player.Character ~= nil then
Player.Character:BreakJoints()
end
Run Code Online (Sandbox Code Playgroud)