📃
Roblox: Script vs LocalScript vs ModuleScript
Robloxには以下の3種類のスクリプトがあります。
それぞれの用途、具体例、保存先について簡単にまとめます。
Script
サーバー側で実行されるスクリプト。
用途
サーバー側で実行したいロジックなどを記載する。
- ゲーム全体の管理
- データベース操作
- プレイヤー間の通信
- モジュールの実行
具体例
game.Players.PlayerAdded:Connect(function(player)
print("Welcome to the game, " .. player.Name .. "!")
end)
保存先
- ServerScriptService
- Workspace(ModelやPartの子として)
- その他サーバー側で実行したい場所
LocalScript
クライアント側(プレイヤーのコンピュータ)で実行されるスクリプト。
用途
- ユーザーインターフェース操作
- プレイヤーの入力処理
- 個々のプレイヤーのカスタマイズ
具体例
local player = game.Players.LocalPlayer
local mouse = Player:GetMouse()
mouse.Button1Down:Connect(function()
print("Mouse button clicked!")
end)
保存先
- StarterPlayerScripts
- StarterGui
- StarterCharacterScripts
- その他、クライアント側で実行したい場所
Module Script
再利用可能なコードを作成するためのスクリプト。
用途
他のScriptやLocalScriptから呼び出される関数やデータを定義する。
コードの整理と再利用性を高めるために使用される。
具体例
-- ServerStorage/ModuleScript
local module = {}
function module.add(a, b)
return a + b
end
return module
これを他スクリプトから呼び出す例:
local module = require(game.ServiceStorage.ModuleScript)
local result = module.add(1, 2)
print(result) -- 3
保存先
- ServerStorage
- ServerScriptService
- StarterPlayerScripts
- その他、モジュールとして再利用した場所
まとめ
- Script: サーバー側で実行、ServerScriptServiceやWorkspaceに保存。
- LocalScript: クライアント側で実行、StarterPlayerScriptsやStarterGuiに保存。
- ModuleScript: 再利用可能なコード、ServerScriptServiceやStarterPlayerScriptsに保存。
Discussion