StarterPlayer は、新たにゲームに参加する各プレイヤーに関する設定やプロパティを制御するためのサービスです。StarterPlayer 内の全てのスクリプトとモジュールスクリプトは、新しいプレイヤーがゲームに参加するたびにそのプレイヤーへコピーされます。
StarterPlayer 内には、StarterCharacterScripts と StarterPlayerScripts が存在します。キャラクターモデルに関するスクリプトは StarterCharacterScripts に、プレイヤーに関するスクリプトは StarterPlayerScripts に入れます。

StarterCharacterScripts

StarterCharacterScripts に入れたスクリプトは、Workspace 上に作成されるキャラクターモデル内に入ります。従って、その script.Parent はキャラクターモデルになるということです。
キャラクターモデルが作られる度にリロードされるスクリプトになります。

以下は StarterCharacterScripts を使ったプログラム例です。StarterCharacterScripts に Script を追加します。

-- プレイヤーのキャラクターが生成されたときに実行されるプログラム

local character = script.Parent -- このスクリプトの親はキャラクターモデル
local humanoid = character:WaitForChild("Humanoid") -- キャラクターのヒューマノイド

-- HumanoidのHealthが変わったときに実行する関数を定義
local function onHealthChanged(health)
    print("Health changed to: " .. health)
end

-- HumanoidのHealthが変わるたびにonHealthChanged関数を実行
humanoid.HealthChanged:Connect(onHealthChanged)

StarterPlayerScripts

StarterPlayerScripts に入れたスクリプトは、Players 内の各プレーヤーの PlayerScripts に入ります。プレイヤーに関する処理になりますので LocalScript のみになります。
ゲームにプレイヤーが入った際にコピー実行されます。死亡しても消えませんしリロードもされません。

以下は StarterPlayerScripts を使ったプログラム例です。StarterPlayerScripts に LocalScript を追加します。

-- プレイヤーがゲームに参加したときに実行されるスクリプト

-- ウェルカムメッセージを表示する関数を定義
local function displayWelcomeMessage()
    local player = game.Players.LocalPlayer -- このスクリプトを実行しているプレイヤーを取得
    print("Welcome to the game, " .. player.Name .. "!")
end

-- ウェルカムメッセージを表示
displayWelcomeMessage()

By schilverberch

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

コメントを残す