Roblox 坐标传送问题

我正在编写一个脚本,根据一个条件(if),它将把玩家传送到另一个地方。

使用的编程语言是 RBXLua

以下是脚本:

----------
tex = "rbxassetid://1655327330"
x = math.random(10)
lg = game.lighting
pitch = 1
negpos = 0
player = game.Players:GetChildren()
z = 0
ys = 0
w = 0

----------
if x < 1 then
lg.Sky.SkyboxBk = tex
lg.Sky.SkyboxDn = tex
lg.Sky.SkyboxFt = tex
lg.Sky.SkyboxUp = tex
lg.Sky.SkyboxLf = tex
lg.Sky.SkyboxRt = tex
while true do
lg.FogEnd = lg.FogEnd - 1
if lg.FogEnd < 2 then
    game:GetService("TeleportService"):Teleport(1825330145, { player })
end
end
点赞
用户5831152
用户5831152

game.Players:GetChildren() 会给你一个包含所有玩家(玩家实例)的表格。你的代码实际上长成这样:

game:GetService("TeleportService"):Teleport(1825330145, { Player })

如果这是一个 LocalScript,你可以简单地使用 game.Players.LocalPlayer 来访问玩家实例。然而如果这是一个服务器脚本,你需要使用 game.Players:GetPlayers() 并访问该表格的第一个索引,或者你需要将所有玩家发送到那个地方。

要遍历一个场景中的所有玩家,你可以使用 in-pairs 循环。

for index, player in pairs(game.Players:GetPlayers()) do
   print("Player's name is", player.Name)
end
2018-06-13 19:10:13
用户9311837
用户9311837

我仍然在做完这个操作后仍然出现“无法将值转换为对象”的错误。我不明白“对象”是什么,了解它可能会有所帮助。

2018-06-14 17:20:18