腳本編寫

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

腳本是純文字文件,可以讓您為您的體驗添加自訂的動態行為。您可以使用腳本來觸發遊戲內事件、對玩家輸入作出回應、保存玩家數據、創建排行榜、生成敵人、控制 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(message)) --> nil
if messageToUser then
-- 陳述評估為 false
end

您可能已經注意到,-- 開始一行評論。--[[]] 創建塊評論:


--[[
立即關閉宇宙月光射線。
應該只在山區標準時間的午夜前 15 分鐘內被調用,以避免對宇宙月光射線造成損壞。
]]
local function stopCosmicMoonRay()
-- 稍後添加,這可能會很重要
end

是數組和字典的總稱。數組是基於 1 而不是基於 0 的,因此第一個項目是 [1]。您可以使用一組大括號來聲明數組和字典:


local myArray = {"薯片", "氣泡水", "莎莎醬"}
local myDictionary = {
snack = "薯片",
drink = "氣泡水",
dip = "莎莎醬"
}
print(myArray[1]) --> 薯片
print(myDictionary.dip) --> 莎莎醬

您可以使用 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 中,將滑鼠懸停在 Explorer 窗口中的 ServerScriptService 上,然後點擊 +

  2. 選擇 Script 以添加新的腳本。

  3. 右鍵單擊該腳本並將其重命名為 HelloScript

  4. 雙擊該腳本以在 Script Editor 中打開它。

  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. 點擊 Play 來運行您的體驗。

  8. 注意輸出:


    h
    e
    l (x2)
    o
    world

熟悉環境

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

  • Studio SettingsScript Editor 部分允許您調整生活品質功能,如字體、顏色、縮排、自動完成、大括號和工具提示。您可能還想在 Studio 部分啟用暗黑模式。
  • 按住 CtrlCommand 並點擊一個函數或變量,會將您帶到代碼庫中的其聲明(或其在線文檔)。使用 查找和全部查找 可以幫助您瀏覽大型項目。
  • Output 窗口是了解腳本行為的最基本工具。使用 菜單啟用 顯示上下文顯示來源
  • 腳本分析 窗口顯示錯誤和警告的摘要,但您可能會發現其實用性有限;腳本編輯器已經在您輸入時突出顯示這些問題。
  • 日誌功能有限,沒有類似 DEBUGFATAL 的日誌級別概念。使用 print()warn()

有關如何配置 Studio 以進行腳本編寫的更多信息,請參見 Script Editor。有關使用您喜愛的文本編輯器和版本控制系統的信息,請參見 外部工具

您的第二個腳本

  1. 在 Roblox Studio 中,在 Explorer 窗口中將一個腳本添加到 ReplicatedStorage 並將其重命名為 OhNo

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


    print("你好,腳本類型和位置!")
  3. 點擊 Play 來運行您的體驗。

  4. 注意輸出與您運行 第一個腳本 時並無不同。

要了解為什麼腳本未運行,請參見 腳本類型和位置