2010-12-12 159 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的基本數據模型中,用於創建和控制對象,數據以及遊戲。