RobloxのScriptでPlayerを取得する方法
RobloxでPlayerを取得するときによく使いそうなものをまとめる
- ゲームに参加したプレイヤーを取得する
game.Players.PlayerAdded:Connect(function(player) print(player.Name) end)
2. ゲームから離脱するプレイヤーを取得する
game.Players.PlayerRemoving:Connect(function(player) print(player.Name) end)
3. LocalScriptが実行されているプレイヤーを取得する
local name = game.Players.LocalPlayer.Name print(name)
4. UserIdからプレイヤーを取得する
local userId = 2041338481 local player = game.Players:GetPlayerByUserId(userId) print(player.Name)
5. Characterからプレイヤーを取得する
player = game.Players:GetPlayerFromCharacter(character) print(player.Name)
6. Humanoidからプレイヤーを取得する
-- CharacterはHumanoidの親であるため、親のCharacterからPlayerを取得する local player = game.Players:GetPlayerFromCharacter(humanoid.Parent) print(player.Name)
7. パーツに触れたパーツからプレイヤーを取得する
script.Parent.Touched:Connect(function(part) local parent = part.Parent local player = game.Players:GetPlayerFromCharacter(parent) if player ~= nil then print(player.Name) end end)
8. ゲームに参加しているすべてのプレイヤーを取得する
local players = game.Players:GetPlayers() for _, player in pairs(players) do print(player.Name) end
補足
UserIdやCharacterでプレイヤーを取得する場合、プレイヤがーゲームに追加されている必要がある
関連
https://developer.roblox.com/en-us/api-reference/class/Players