💀

【Roblox】ResetCharacterしたときに任意の処理をする

2024/03/16に公開

はじめに

こんにちは、まつさこ です。

Robloxでゲームを作成していると、プレイヤーがキャラクターをリセットしたときに任意の処理を行いたいことがあります。
例えば、リセットしたプレイヤーに対してメッセージを表示したり、特定の場所に移動させたりなど。

今回は、キャラクターをリセットしたときに任意の処理を行う方法について解説します。

ResetCharacterとは?

ここでいう「キャラクターをリセットする」とは、メニューから「Reset Character」を選択したときのことを指します。

Reset Characterを選択すると、キャラクターが強制的に死亡した( Health = 0 になった)ことになり、RespawnPointにリスポーンされます。

Humanoid.Diedイベントを利用する

結論を言うと、キャラクターがリセットされたときに任意の処理を行うには、 Humanoid.Died イベントを利用します。
以下は、サーバースクリプトでの記載例です。

local Players = game:GetService("Players")

local function onDied()
    -- キャラクターがリセットされたときの処理
end

Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.Died:Connect(onDied)
    end)
end)

これにより、プレイヤーがゲームに参加したときに Humanoid.Died イベントを購読し、キャラクターがリセットされたときに onDied() 関数が実行されるようになります。

なおこの方法は、キャラクターが死亡したときに実行される処理になるので、メニューから「Reset Character」を選択したときのみではなく、ゲーム内でキャラクターが死亡したときにも実行されます。

公式ドキュメントはこちら

まとめ

今回は、Robloxでキャラクターがリセットされたときに任意の処理を行う方法について解説しました。

読んでくださりありがとうございました🤗

moze テックブログ

Discussion