腳本是純文字文件,可以讓您為您的體驗添加自訂的動態行為。您可以使用腳本來觸發遊戲內事件、對玩家輸入作出回應、保存玩家數據、創建排行榜、生成敵人、控制 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 messageToUserprint(messageToUser) --> nilprint(type(message)) --> nilif messageToUser then-- 陳述評估為 falseend
您可能已經注意到,-- 開始一行評論。--[[]] 創建塊評論:
--[[
立即關閉宇宙月光射線。
應該只在山區標準時間的午夜前 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 -- 標準 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 中,將滑鼠懸停在 Explorer 窗口中的 ServerScriptService 上,然後點擊 +。
選擇 Script 以添加新的腳本。
右鍵單擊該腳本並將其重命名為 HelloScript。
雙擊該腳本以在 Script Editor 中打開它。
將以下代碼添加到文件中:
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))確保 Output 窗口已打開。
點擊 Play 來運行您的體驗。
注意輸出:
hel (x2)oworld
熟悉環境
適應新開發環境的重要部分是配置它以滿足您的需求並理解您可以使用的工具:
- 腳本分析 窗口顯示錯誤和警告的摘要,但您可能會發現其實用性有限;腳本編輯器已經在您輸入時突出顯示這些問題。
有關如何配置 Studio 以進行腳本編寫的更多信息,請參見 Script Editor。有關使用您喜愛的文本編輯器和版本控制系統的信息,請參見 外部工具。
您的第二個腳本
在 Roblox Studio 中,在 Explorer 窗口中將一個腳本添加到 ReplicatedStorage 並將其重命名為 OhNo。
將以下代碼添加到文件中:
print("你好,腳本類型和位置!")點擊 Play 來運行您的體驗。
注意輸出與您運行 第一個腳本 時並無不同。
要了解為什麼腳本未運行,請參見 腳本類型和位置。