スクリプト化

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

スクリプトは、エクスペリエンスにカスタムの動的行動を追加できるプレーンテキストファイルです。スクリプトを使用して、ゲーム内イベントをトリガーし、プレイヤーの入力に応答し、プレイヤーデータを保存し、リーダーボードを作成し、敵をスポーンし、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 messageToUser
print(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 -- 標準 Lua
print(index, value)
end
for key, value in pairs(myDictionary) do -- 標準 Lua
print(key, value)
end
for key, value in myDictionary do -- Luau 一般化イテレーション
print(key, value)
end

最初のスクリプト

  1. Roblox Studio では、 エクスプローラー ウィンドウServerScriptService をホバーし、 + をクリックします。

  2. Select スクリプト を選択して、新しいスクリプトを追加します。

  3. スクリプトを右クリックし、HelloScript に名前を変更します。

  4. スクリプトをダブルクリックして、スクリプトエディタで開きます。

  5. ファイルに次のコードを追加します:


    local helloArray = {"h", "e", "l", "l", "o"}
    local worldArray = {"w", "o", "r", "l", "d"}
    for index, value in helloArray do
    print(value)
    end
    print(table.concat(worldArray))
  6. 出力 ウィンドウが開いていることを確認します。

  7. クリック プレイ でエクスペリエンスを実行します。

  8. 出力を注意してください:


    h
    e
    l (x2)
    o
    world

心地よくする

新しい開発環境に適応する大きな部分は、ニーズに合わせて構成し、利用可能なツールを理解することです:

  • スタジオ設定 の スクリプトエディタ セクションでは、フォント、色、インデント、自動完了、括弧、ツールチップなどのライフ品質機能の品質を調整できます。 Studio セクションでも、ダークモードを有効にしたいかもしれません。
  • Ctrl または Command を保持し、機能または変数をクリックすると、コードベース (またはオンラインドキュメント) でその宣言に移動します。Find と Find All を使用すると、より大きなプロジェクトをナビゲートできます。
  • 出力 ウィンドウ は、スクリプトの動作を理解するための最も基本的なツールです。メニュー を使用して、 コンテキストを表示ソースを表示 を有効にします。
  • スクリプト分析 ウィンドウには、エラーと警告の概要が表示されますが、ユーティリティが限られているように見えます;スクリプトエディタは、入力するとすでにこれらの問題を強調します。
  • ロギング能力は最小限で、DEBUG または FATAL のようなログレベルの概念はありません。print() および warn() を使用します。

スクリプト用に Studio を構スクリプト作成する詳細情報は、スクリプトエディタ を参照してください。お気に入りのテキストエディタとバージョン管理システムの使用情報は、外部ツール を参照してください。

あなたの第二のスクリプト

  1. Roblox Studio では、 エクスプローラー ウィンドウにスクリプトを追加し、ReplicatedStorage に名前を変更して名前を OhNo に変更します。

  2. ファイルに次のコードを追加します:


    print("Hello script types and locations!")
  3. クリック プレイ でエクスペリエンスを実行します。

スクリプトが実行されなかった理由を理解するには、スクリプトタイプと場所 を参照してください。