Roblox Почему я не могу получить Players.LocalPlayer.Character в игре - PullRequest
0 голосов
/ 15 марта 2020

Я следовал многим учебным пособиям, которые используют:

game.Players.LocalPlayer.Character

Однако каждый раз, когда я пытаюсь выполнить это, я получаю сообщение об ошибке:

Players.icrann.PlayerScripts. Сценарий: 2: попытка индексировать поле «Персонаж» (нулевое значение)

Я пытаюсь использовать этот код, чтобы найти HumanoidRootPart, чтобы я мог проверить положение игрока. game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart")

А также включить проигрыватель, даже если я попытаюсь использовать сценарии из панели инструментов, он все равно не будет работать. game.Players.LocalPlayer.Character:WaitForChild("Humanoid").WalkSpeed = 25

В каждом случае возникает одна и та же ошибка. Я также включил скриншот папки Players в Проводнике.

Explorer

Заранее благодарен за любую помощь.

Ответы [ 2 ]

3 голосов
/ 16 марта 2020

Я полагаю, у вас есть проблемы со временем. PlayerScripts выполняется, когда игрок присоединяется, и возможно, что ваш Персонаж еще не загрузился к моменту выполнения скрипта.

Переместите LocalScript в CharacterScripts, и это вызовет запуск сценария после загрузки персонажа.

1 голос
/ 16 марта 2020

Когда ваш код запускается, персонаж игрока не загружается в игру. Так что вам нужно добавить ждать.

local Player = game:GetService("Players").LocalPlayer
local character = Player.Character or Player.CharacterAdded:Wait()
local HumanoidRootPart = character:WaitForChild("HumanoidRootPart")
-- setting speed
local Humanoid =  character:WaitForChild("Humanoid")
if Humanoid then
Humanoid.WalkSpeed = 25
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...