スクリプトは、エクスペリエンスにカスタムの動的行動を追加できるプレーンテキストファイルです。スクリプトを使用して、ゲーム内イベントをトリガーし、プレイヤーの入力に応答し、プレイヤーデータを保存し、リーダーボードを作成し、敵をスポーンし、NPCの動作を制御し、それ以上のことができます。
ルアウ
Roblox スクリプトは、Luau プログラミング言語を使用し、これは Lua 5.1 から派生します。
- Lua 5.1 と比較して、Luau はパフォーマンスの向上と多くの便利な機能を追加し、オプションのタイプシステム、ストリングインターポレーション、およびテーブルの一般化されたループを含みます。
- 有効な Lua 5.1 コードはすべて有効な Luau コードですが、逆は真実ではありません。
Lua の本とオンライン資源のほとんどは、Luau にまだ広く適用できます。詳細な差の概要については、Luau ドキュメントの 互換性 を参照してください。言語構文については、Luau 参照 を参照してください。
Luauの基本
Luau は段階的に入力されるため、変数を作成するときにタイプを指定する必要はありません。オブジェクトタイプをチェックするには、type() を使用できます:
logMessage = "User has more than 10 items!"print(logMessage) --> ユーザーには10以上のアイテムがあります!print(type(logMessage)) --> string
Luau にはグローバルとローカルの スコープ がありますが、ほぼ常に変数と関数をローカルで local キーワードで宣言する方が良いです:
local logMessage = "User has more than 10 items!"
local function printMessage()
print(logMessage)
end
printMessage() --> User has more than 10 items!
Luau は を使用して、非存在または空白を表現し、条件付き文で評価されます:
local messageToUserprint(messageToUser) --> ゼロprint(type(message)) --> ゼロif messageToUser then-- 文は false に評価されますend
お気づきかもしれませんが、-- は一行コメンコメントするを開始します。--[[]] はブロックコメンコメントするを作成します:
--[[
Shuts off the cosmic moon ray immediately.
Should only be called within 15 minutes of midnight Mountain Standard
Time to avoid damage to the cosmic moon ray.
]]
local function stopCosmicMoonRay()
-- 後で追加すると、重要になる可能性があります
end
テーブル は、配列と辞書の一般用語です。配列はゼロベースではなく 1 ベースなので、最初のアイテムは [1] です。カーリーブレースの単一のセットで配列と辞書を宣言します:
local myArray = {"chips", "sparkling water", "salsa"}local myDictionary = {snack = "chips",drink = "sparkling water",dip = "salsa"}print(myArray[1]) --> チップprint(myDictionary.dip) --> salsa
for で配列のための ipairs() 機能と辞書のための pairs() 機能を使用してテーブルを反復できますが、Luau はこれらの機能をシンタックスをクリーンにするために省略することもできます:
for index, value in ipairs(myArray) do -- 標準 Luaprint(index, value)endfor key, value in pairs(myDictionary) do -- 標準 Luaprint(key, value)endfor key, value in myDictionary do -- Luau 一般化イテレーションprint(key, value)end
最初のスクリプト
Roblox Studio では、 エクスプローラー ウィンドウ で ServerScriptService をホバーし、 + をクリックします。
Select スクリプト を選択して、新しいスクリプトを追加します。
スクリプトを右クリックし、HelloScript に名前を変更します。
スクリプトをダブルクリックして、スクリプトエディタで開きます。
ファイルに次のコードを追加します:
local helloArray = {"h", "e", "l", "l", "o"}local worldArray = {"w", "o", "r", "l", "d"}for index, value in helloArray doprint(value)endprint(table.concat(worldArray))出力 ウィンドウが開いていることを確認します。
クリック プレイ でエクスペリエンスを実行します。
出力を注意してください:
hel (x2)oworld
心地よくする
新しい開発環境に適応する大きな部分は、ニーズに合わせて構成し、利用可能なツールを理解することです:
- スタジオ設定 の スクリプトエディタ セクションでは、フォント、色、インデント、自動完了、括弧、ツールチップなどのライフ品質機能の品質を調整できます。 Studio セクションでも、ダークモードを有効にしたいかもしれません。
- Ctrl または Command を保持し、機能または変数をクリックすると、コードベース (またはオンラインドキュメント) でその宣言に移動します。Find と Find All を使用すると、より大きなプロジェクトをナビゲートできます。
- スクリプト分析 ウィンドウには、エラーと警告の概要が表示されますが、ユーティリティが限られているように見えます;スクリプトエディタは、入力するとすでにこれらの問題を強調します。
スクリプト用に Studio を構スクリプト作成する詳細情報は、スクリプトエディタ を参照してください。お気に入りのテキストエディタとバージョン管理システムの使用情報は、外部ツール を参照してください。
あなたの第二のスクリプト
Roblox Studio では、 エクスプローラー ウィンドウにスクリプトを追加し、ReplicatedStorage に名前を変更して名前を OhNo に変更します。
ファイルに次のコードを追加します:
print("Hello script types and locations!")クリック プレイ でエクスペリエンスを実行します。
スクリプトが実行されなかった理由を理解するには、スクリプトタイプと場所 を参照してください。