RobloxのScriptでCharacterを取得する方法

RobloxでCharacterを取得するときによく使いそうなものをまとめる

  1. プレイヤーから直接取得する
local character = player.Character

2. ゲームに参加したプレイヤーのCharacterを取得する(その1)

プレイヤーがゲームに追加されたタイミングではCharacterが生成されていないためコールバックを登録する

game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		-- Do something
	end)
end)

2. ゲームに参加したプレイヤーのCharacterを取得する(その2)

game.Players.PlayerAdded:Connect(function(player)
	-- Characterが生成されるまで待機する
	local character = player.Character or player.CharacterAdded:wait()
end)

3. パーツに触れたパーツからCharacterを取得する

script.Parent.Touched:Connect(function(part)
	-- 触れるパーツによってはcharacterとは限らないため確認が必要
	local character = part.Parent
end)

4. HumanoidからCharacterを取得する

local character = humanoid.Parent

関連

https://developer.roblox.com/en-us/api-reference/property/Player/Character