Я пытаюсь сделать сценарий в Roblox, чтобы, если вы находитесь в 20 гвоздях и нажимаете E, это вызывало диалог NP C. Он запускается внутри LocalScript. На данный момент у меня просто отображается сообщение, когда вы нажимаете E. Однако оно не будет отображаться.
local HumanoidRootPart = game.Players.LocalPlayer:WaitForChild("HumanoidRootPart")
local UserInputService = game:GetService("UserInputService")
local part = game.workspace.TableBox.TableTop
UserInputService.InputBegan:connect(function(keyCode)
if keyCode.keyCode == Enum.KeyCode.E then
if (part.Position - HumanoidRootPart.Position).magnitude < 20 then
print("E has been pressed")
end
end
end)
Я также получаю эту ошибку в выводе (оранжевым цветом):
Возможна бесконечная доходность на Players.icrann: WaitForChild ("HumanoidRootPart") '
Я ожидаю, что local HumanoidRootPart = game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart")
сработает, но в итоге выдает ошибку:
Players.icrann.PlayerScripts.Script: 1: попытка индексировать поле 'Character' (значение nil)
А также, когда я играю в игру, мой персонаж в проводнике выглядит так: