脚本

*此内容使用人工智能(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 中,将鼠标悬停在 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. 确保 输出 窗口打开。

  7. 单击 播放 以运行您的体验。

  8. 注意输出:


    h
    e
    l (x2)
    o
    world

获得舒适

适应新的开发环境的一个重要部分是配置它以满足您的需求并了解您可用的工具:

  • 脚本编辑器 部分的 Studio Settings 让你调整像字体、颜色、缩进、自动完成、括号和工具提示等生活质量功能的质量。你也许还想在 Studio 部分启用黑暗模式。
  • 按住 CtrlCommand 并单击函数或变量会将你带到你的代码库(或其在线文档)中的声明。使用 查找和查找所有 可以帮助你导航更大的项目。
  • 输出窗口是理解脚本行为的最基本工具。使用 菜单启用 显示上下文显示来源
  • 脚本分析 窗口显示错误和警告的摘要,但你可能会发现其功能有限;脚本编辑器已经在你输入时突出了这些问题。
  • 记录功能最小,没有像 DEBUGFATAL 这样的日志级别概念。使用 print()warn()

有关配置 Studio 用于脚本的更多信息,请参阅 脚本编辑器。有关使用最喜欢的文本编辑器和版本控制系统的信息,请参阅外部工具

你的第二个脚本

  1. 在 Roblox Studio 中,在 Explorer 窗口中添加一个脚本到 ReplicatedStorage 并将其重命名为 OhNo

  2. 将以下代码添加到文件:


    print("Hello script types and locations!")
  3. 单击 播放 以运行您的体验。

  4. 注意输出与当你运行 你的第一个脚本 时是否相同。

要了解为什么脚本没有奔跑,请参阅脚本类型和位置