2010-12-12 571 views

回答

10

Lua是一个相当知名的并且经常嵌入的脚本语言。

但是,如果您想了解关于Roblox脚本的一些基本“入门”信息,请查看Roblox Wiki。 (该tutorial's部分可能会特别感兴趣。)

5

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

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

我建议你通过Anaminus,VolcanoINC和Telamon来看游戏,看看你能用Lua做什么。

2

Lua是一种有点类似于Java的脚本语言。事实上,我记得Javala混合本身就是一种脚本语言。 Lua可能是学习和使用的最简单的脚本语言。它的功能是由指定的更改解雇如script.Parent.Value.Changed:connect(functionnamehere)

父母是什么指定的脚本或产品在 变量的工作方式是这样的:

v = script.Parent.Value 

d = game.Workspace.ScriptFireValue.Value 

如果ROBLOX独奏游戏是源代码和v的脚本.Parent的名字(script.Parent.Name)是ScriptFireValue,那么v等于d。

语言中也包含了可识别像

卢阿循环:而真正做到

VBS:做而/循环

的java:做而

'为' 是有限的循环,它只循环一定的时间。 exe。

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

这部分脚本将在传递之前运行10次。当你有部分1 - 10或1,10。 '结束'出现在以蓝色突出显示的任何事物之后。 突出显示的内容将是: 因为[这里的任何内容都不会被突出显示] do - 两个单词只能算一端。 while true do while [Something in here that exists or is a value] do - 两个单词只计算一端。 function() if [something exists or value] then - 两个单词只计算一端。 else - 在if之前的语句为false时使用。一端使用'if'和'else'计数。 elseif - 当if语句之前为false而且还要求另一个if语句时使用。一端使用'if'和'elseif'计数。

我想再多一点。

这是一个示例脚本,我正在写我的头顶。我要走的是ROBLOX的Build/Edit模式。

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) 

那个脚本如果没有明显的标识玩家谁点击。 (点击器)。顺便说一下,“喀哒声”参数将被识别为要触发的函数的原因。所以原因是因为一个按钮被点击了。因此,'唱首歌'检索发起者的人。因此确定玩家是否是允许该过程继续的某个人。所以如果玩家的名字是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脚本教程即可。一些老兄在脚本中写了如何编写脚本。阅读很长,但这就是我学习的方式。

+1

我不会说Lua比其他语言更接近Java。而且应该提到的是,'.Parent'.Changed'':connect'不是Lua,它是RBX.Lua – ZombieSpy 2013-12-17 15:26:15

+0

我想在4年后添加我以前写14时的14,我在这个网站上做了什么? – mattz608 2018-02-21 01:45:17

1

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

0

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

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

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