スクリプティング

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

スクリプトは、ゲームにカスタムで動的な動作を追加できるプレーン テキスト ファイルです。スクリプトを使用して、ゲーム内のイベントをトリガーしたり、プレイヤーの入力に応答したり、プレイヤーのデータを保存したり、リーダーボードを作成したり、敵を出現させたり、NPC の動作を制御したり、その他の多くのことを実行できます。

Luau

Roblox スクリプトは、Luau プログラミング言語を使用します。これは Lua 5.1 に由来しています。

  • Lua 5.1 と比較して、Luau にはパフォーマンスの向上や、多くの便利な機能が追加されています。これには、オプションの型システム、文字列補間、テーブルの一般化された反復処理が含まれます。
  • 有効な Lua 5.1 コードはすべて有効な Luau コードですが、その逆は必ずしも真ではありません。

Lua に関するほとんどの書籍やオンラインリソースは、Luau にも広く適用可能です。違いの詳細な要約については、Luau ドキュメントの 互換性 を参照してください。言語の構文については、Luau リファレンス を参照してください。

Luau の基本

Luau は段階的に型指定ができるため、変数を作成する際に型を指定する必要はありません。type() を使用してオブジェクトの型を確認できます:


logMessage = "ユーザーは 10 個以上のアイテムを持っています!"
print(logMessage) --> ユーザーは 10 個以上のアイテムを持っています!
print(type(logMessage)) --> string

Luau にはグローバルとローカルの スコープ がありますが、通常は local キーワードを使用して、変数や関数をローカルに宣言する方が良いです:


local logMessage = "ユーザーは 10 個以上のアイテムを持っています!"
local function printMessage()
print(logMessage)
end
printMessage() --> ユーザーは 10 個以上のアイテムを持っています!

Luau では nil を存在しないことや無を表すために使用します。これは条件文で false と評価されます:


local messageToUser
print(messageToUser) --> nil
print(type(messageToUser)) --> nil
if messageToUser then
-- 文は false に評価されます
end

ご覧のように、-- は1行のコメントを開始します。--[[]] はブロックコメントを作成します:


--[[
宇宙月光線を即座に停止します。
宇宙月光線にダメージを与えないために、山岳標準時の真 midnight の15分前以内にのみ呼び出すべきです。
]]
local function stopCosmicMoonRay()
-- 後でこれを追加します。それが重要になるかもしれません。
end

テーブル は、配列と辞書の一般的な用語です。配列はゼロ基ではなく、1 基のため、最初の項目は [1] です。配列と辞書は、1 つの波括弧のセットを使用して宣言します:


local myArray = {"チップス", "スパークリング ウォーター", "サルサ"}
local myDictionary = {
snack = "チップス",
drink = "スパークリング ウォーター",
dip = "サルサ"
}
print(myArray[1]) --> チップス
print(myDictionary.dip) --> サルサ

テーブルを反復処理するには、配列には ipairs() 関数、辞書には pairs() 関数を使用した for ループを利用できますが、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 で、Explorer ウィンドウの ServerScriptService にカーソルを合わせて + をクリックします。

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

  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. Output ウィンドウが開いていることを確認してください。

  7. ゲームを実行し、出力をメモします:


    h
    e
    l (x2)
    o
    world

快適に使えるようにする

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

  • Studio 設定スクリプトエディタ セクションでは、フォント、色、インデント、自動完了、ブラケット、ツールチップなどの生活の質を向上させる機能を調整できます。また、Studio セクションでダークモードを有効にすることもお勧めします。
  • Ctrl または Command を押しながら関数や変数をクリックすると、コードベース内の宣言に移動します(またはオンラインドキュメントに移動します)。検索とすべてを検索 を使用すると、大規模なプロジェクトをナビゲートするのに役立ちます。
  • 出力 ウィンドウは、スクリプトの動作を理解するための最も基本的なツールです。 メニューを使用して Show ContextShow Source を有効にしてください。
  • スクリプト分析 ウィンドウは、エラーや警告の要約を表示しますが、その有用性は限られているかもしれません。スクリプトエディタでは、入力中にこれらの問題を強調表示します。
  • ロギング機能は最小限で、DEBUGFATAL のようなログレベルの概念はありません。print()warn() を使用します。

スクリプティング用にスタジオを構成するための詳細については、スクリプトエディタ を参照してください。

あなたの2番目のスクリプト

  1. Roblox Studio で、Explorer ウィンドウの ReplicatedStorage にスクリプトを追加し、名前を OhNo に変更します。

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


    print("こんにちは、スクリプトのタイプと場所!")
  3. ゲームを実行します。

  4. 出力が 最初のスクリプト を実行したときと同じであることに気付いてください。

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

©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。