ReplicatedStorage は Roblox のサービスで、データをクライアント(プレイヤーのPC)とサーバー(ゲームのホストコンピュータ)間で共有するための特別な場所を提供します。ReplicatedStorage に格納されたデータは、クライアントとサーバーでアクセス可能です。そのため、リモートイベントやリモート関数、またはクライアントとサーバー間で共有する必要のあるその他のデータを格納するのによく使われます。

以下に、ReplicatedStorage を使用してサーバーとクライアント間でデータを共有する一例を示します。

サーバー側のスクリプト

このプログラムは、ServerScriptService 等に設置(Script)します。

local ReplicatedStorage = game:GetService("ReplicatedStorage")

-- 新しいStringValueを作成し、それをReplicatedStorageに保存
local sv = Instance.new("StringValue")
sv.Name = "SharedData"
sv.Value = "This is some shared data."
sv.Parent = ReplicatedStorage

クライアント側のスクリプト

このプログラムは、StarterGui 等に設置(LocalScript)します。

local ReplicatedStorage = game:GetService("ReplicatedStorage")

-- サーバーが ReplicatedStorage に保存したデータを取得
local sharedData = ReplicatedStorage:WaitForChild("SharedData")

-- データを表示
print(sharedData.Value)  -- "This is some shared data."

この例では、サーバースクリプトが ReplicatedStorage StringValue を保存し、その値を設定します。その後、ローカル(クライアント)スクリプトがその StringValue を取得し、その値を表示します。これは ReplicatedStorage がサーバーとクライアント間でデータを共有するための方法の一例です。
また、下記のように Changed イベントを使用することもできます。

local ReplicatedStorage = game:GetService("ReplicatedStorage")

-- サーバーが ReplicatedStorage に保存したデータを取得
local sharedData = ReplicatedStorage:WaitForChild("SharedData")

-- データを表示
sharedData.Changed:Connect(function()
    print(sharedData.Value)  -- "This is some shared data."	
end)

このようにすると、サーバー側で SharedData.Value に値を代入するだけで、全クライアントのChanged イベントが呼ばれることになります。

By schilverberch

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

コメントを残す