腳本

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

腳本是純粹的文字檔案,可讓您為體驗添加自訂、動態行為。您可以使用腳本來觸發遊戲內事件、回應玩家輸入、儲存玩家數據、創建排行榜、生成敵人、控制 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 使用 nil 來表示無存在或無效,這在條件聲明中評為 false


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] 。您用一組彎曲括號宣言陣列和字典:


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 中,將鼠標懸停在 服務器腳本服務 窗口上,然後單擊 + 。

  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. 確保 輸出 窗口打開。

  7. 點擊 開始播放 以運行您的體驗。

  8. 注意輸出:


    h
    e
    l (x2)
    o
    world

感到舒適

適應新的開發環境的一個重要部分是配置它以滿足您的需求並了解您可用的工具:

  • 腳本編輯器 區域的 Studio 設定 讓您調整字體、顏色、 indentation、自動完成、括號和工具提示等生活質量功能。您也可能想在 Studio 部分啟用黑暗模式。
  • 按住 CtrlCommand 並點擊功能或變量會帶你到你的代碼庫 (或其在線文件) 中的宣言。使用 尋找和尋找所有 可以幫助您導航更大的項目。
  • 輸出窗口是理解腳本行為的最基本工具。使用 選單啟用 顯示上下文顯示來源
  • 腳本分析窗口顯示錯誤和警告的總結,但您可能會發現其功能有限;腳本編輯器已經在您輸入時突出了這些問題。
  • 記錄功能最小,沒有像 DEBUGFATAL 這樣的記錄等級概念。使用 print()warn()

有關配置 Studio 以執行指令碼化的更多資訊,請參閱 腳本編輯器。有關使用最喜愛的文字編輯器和版本控制系統的資訊,請參閱外部工具

你的第二個腳指令碼

  1. 在 Roblox Studio 中,將腳本添加到 重複儲存勘探者 視窗中,並將其重命名為 OhNo

  2. 將以下代碼添加到文件:


    print("Hello script types and locations!")
  3. 點擊 開始播放 以運行您的體驗。

  4. 注意輸出與您執行 第一個腳本 時一樣。

若要理解為什麼腳本無法執行,請參閱 腳本類型和位置