0

我真的不明白它到底是什么。它只是普通的脚本还是其他什么?

4

7 回答 7

14

Lua是一种相当知名且通常是嵌入式的脚本语言。

但是,如果您想了解有关 Roblox 脚本的一些基本“入门”信息,请查看Roblox Wiki。(本教程的部分可能会引起特别的兴趣。)

于 2010-12-12T21:33:36.013 回答
7

Lua 是一种众所周知的脚本和编程语言,它轻量级且易于学习。许多游戏都嵌入了它,包括 Garry's Mod (GMod) 和魔兽世界。

ROBLOX 使用 Lua 来实际创建游戏。您在 ROBLOX 中看到的大多数功能(如 GUI 和构建工具)实际上都是用 Lua 编码的。

我建议你看看AnaminusVolcanoINC和 Telamon 的游戏,看看你可以用 Lua 做什么。

于 2011-10-16T10:12:17.720 回答
6

Lua 是一种类似于 Java 的脚本语言。事实上,我记得 Javalua 本身就是一种脚本语言。Lua 可能是最容易学习和使用的脚本语言。它的功能由指定的更改触发,例如script.Parent.Value.Changed:connect(functionnamehere)

父母是指定的脚本或项目所在的内容。变量的工作方式如下:

v = script.Parent.Value

或者

d = game.Workspace.ScriptFireValue.Value

如果 ROBLOX 单人游戏是源并且 v 的 script.Parent 的名称 (script.Parent.Name) 是 ScriptFireValue,则 v 等于 d。

该语言还包括可识别的循环,例如

lua: 虽然真的做

vbs:做while/循环

java:同时做

'for' 是一个有限循环,它只循环一定次数。可执行程序。

for i = 1, 10 do
game.Lighting.TimeofDay = game.Lighting.TimeofDay + 1
end

这部分脚本将在传递之前运行 10 次。当您拥有第 1 - 10 部分或第 1、10 部分时。“结束”出现在任何以蓝色突出显示的内容之后。突出显示的内容将是:对于 [这里的任何内容都不会突出显示] 做 - 这两个词只算一个目的。while true do while [Something in here that exists or is a value] do - 这两个词只算一个目的。function() if [something exists or is a value] then - 这两个词只计算一个结束。else -- 当前面的 if 语句为假时使用。当使用'if' 和'else' 时计数为一端。elseif -- 当前面的 if 语句为假但还调用另一个 if 语句时使用。当使用 'if' 和 'elseif' 时计数为一端。

我想多了几个。

这是我正在写的示例脚本。我要离开的来源是游戏中 ROBLOX 的构建/编辑模式。

function KillAllPlayers(clicker)
if clicker.Name == "coolboy10000" then
people = game.Players:GetChildren()
for i = 1, #people do
people[i].Character.Humanoid.Health = people[i].Character.Humanoid.Health - 10000
end -- ends if
end -- ends for - do
end -- ends function

script.Parent.Clicked:connect(KillAllPlayers)

如果不是很明显,该脚本会识别出点击的玩家。(点击器)。顺便说一句,参数“clicker”将被识别为触发函数的原因。所以原因是因为一个按钮被“点击”了。所以“点击者”检索发起该操作的人。因此识别玩家是否是允许该过程继续的特定人。因此,如果玩家的名字是coolboy10000,那么它将收集所有玩家并杀死他们。

要在该按钮上设置安全性,如果玩家不是coolboy10000,那么玩家将被杀死,您可以这样做:

function KillAllPlayers(clicker)
if clicker.Name == "coolboy10000" then
people = game.Players:GetChildren()
for i = 1, #people do
people[i].Character.Humanoid.Health = people[i].Character.Humanoid.Health - 10000
end -- ends for - do
else
clicker.Humanoid.Health = clicker.Humanoid.Health - 10000
end -- ends if and else
end -- ends function

script.Parent.Clicked:connect(KillAllPlayers)

如果有多个人允许执行此功能,您可以执行以下操作:

function KillAllPlayers(clicker)
if clicker.Name == "coolboy10000" or "coldnature" then
people = game.Players:GetChildren()
for i = 1, #people do
people[i].Character.Humanoid.Health = people[i].Character.Humanoid.Health - 10000
end -- ends for - do
else
clicker.Humanoid.Health = clicker.Humanoid.Health - 10000
end -- ends if and else
end -- ends function

script.Parent.Clicked:connect(KillAllPlayers)

或者如果有特定的人应该受到单独的惩罚:

function KillAllPlayers(clicker)
if clicker.Name == "coolboy10000" or "coldnature" then
people = game.Players:GetChildren()
for i = 1, #people do
people[i].Character.Humanoid.Health = people[i].Character.Humanoid.Health - 10000
end -- ends for - do
elseif clicker.Name == "Person299" then
clicker.Head.Position = clicker.Torso.Position
else
clicker.Humanoid.Health = clicker.Humanoid.Health - 10000
end -- ends if and else and elseif - then
end -- ends function

script.Parent.Clicked:connect(KillAllPlayers)

是的,这只是基础知识:/那里有教程。主要在 ROBLOX 免费模型上。我说你应该学习一些免费的脚本并了解它们是如何工作的。这只是基础知识。有一个关于 ROBLOX 的教程。只需在 Free Models 脚本教程中搜索即可。有些家伙在脚本中写了如何编写脚本。读起来很长,但我就是这样学习的。

于 2012-07-01T03:49:06.460 回答
1

Roblox 是一个游戏网站,用户使用“Roblox Studio”制作游戏。它几乎就像一个超级复杂的虚拟乐高积木。要与您的部件(游戏中的任何东西)进行交互,您需要制作用“Lua”语言编写的脚本。

于 2014-01-27T23:35:19.883 回答
0

我不会重复别人说过的话,而是说点别的。与原版 lua 不同,ROBLOX lua(也称为 rlua)是 lua 的修改版本。

ROBLOX 已经实现了不同类型的 c 和 l 闭包,例如 tick、wait、delay 等,这就是为什么它是 lua 的修改版本。

于 2019-04-16T14:29:47.573 回答
0

Roblox Lua是 Roblox 数据模型中的 Lua 5.1。

Roblox Lua 脚本是在 Roblox Studio 中编写脚本的行为。

他们的脚本实际上是其中嵌入代码的对象。它们被放置在 roblox 的基本数据模型中,用于创建和控制对象、数据以及游戏玩法。

于 2016-12-17T18:03:43.830 回答
0

Roblox Lua 脚本是一种嵌入式编码语言,用于为您的游戏添加功能。它易于学习,是对现代游戏编程的松散解释。它是一种整体很棒的语言,我强烈推荐它!

https://roblox.fandom.com/wiki/Project :首页 https://devforum.roblox.com/

于 2020-11-23T14:33:53.960 回答