プレイヤーのキャラクターモデルから、Playerを取得する方法です。

local function onTouch(otherPart)
    local character = otherPart.Parent
    local player = game.Players:GetPlayerFromCharacter(character)
    if player then
        print(player.Name)    -- プレイヤー名を表示
    end
end

script.Parent.Touched:Connect(onTouch)

playerからHumanoidを取得 (LocalScript)

local Players = game:GetService("Players")

local character = Players.LocalPlayer.Character   -- LocatScriptのみ有効
local humanoid = character:FindFirstChildWhichIsA("Humanoid")

全プレイヤーの処理

ゲームに入ってきたばかりのプレイヤーのCharacterにはnilが入っていることがあるので、CharacterAdded:Wait()を使う必要があります。

local Players = game:GetService("Players")

for _,player in pairs(Players:GetPlayers()) do
    local character = player.Character or player.CharacterAdded:Wait()
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- 何かの処理をする
end

By schilverberch

ROBLOXでゲームを作ろう! 一緒にプログラミングを学びましょう。

コメントを残す