キャラクターやHumanoidが見つからないとき
入門トラブル更新日:2026年11月13日Luauの型チェック済み
ひとことで言うと
プレイヤーのキャラクターやHumanoidを取得しようとしてnilになるときの原因と直し方です。
原因
プレイヤーが参加した瞬間には、まだキャラクターが登場していないことがあります。また、やられて復活すると、キャラクターは新しく作り直されます。
直し方
CharacterAddedイベントを使うと、キャラクターが登場するたびに処理できます。
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:WaitForChild("Humanoid")
humanoid.WalkSpeed = 24
end)
end)
LocalScriptで自分のキャラクターを使うときは、次の書き方がよく使われます。
local player = game:GetService("Players").LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
詳しくはHumanoidとCharacterのしくみをご覧ください。