Что такое скрипты ROBLOX Lua? - PullRequest
       38

Что такое скрипты ROBLOX Lua?

1 голос
/ 13 декабря 2010

Я действительно не понимаю, что это такое на самом деле. Это обычный сценарий или что-то еще?

Ответы [ 6 ]

10 голосов
/ 13 декабря 2010

Lua - довольно известный и часто внедряемый язык сценариев.

Однако, если вам нужна базовая информация о начале работы со сценариями Roblox, ознакомьтесь с Roblox Wiki . (Раздел учебника , вероятно, представляет особый интерес.)

5 голосов
/ 16 октября 2011

Lua - это хорошо известный язык сценариев и программирования, легкий и легкий в освоении. В него встроены многие игры, включая Garry's Mod (GMod) и World of Warcraft.

ROBLOX использует Lua для создания игр. Большинство функций, которые вы видите в ROBLOX (например, графический интерфейс и инструменты сборки), на самом деле написаны на Lua.

Я бы порекомендовал посмотреть игры Anaminus , VolcanoINC и Telamon, чтобы узнать, что вы можете сделать с Lua.

2 голосов
/ 01 июля 2012

Lua - это язык сценариев, несколько похожий на Java. На самом деле, я помню, что в качестве языка сценариев сам по себе был Javalua. Lua, вероятно, самый простой язык сценариев для изучения и работы. Его функции запускаются указанными изменениями, такими как script.Parent.Value.Changed:connect(functionnamehere)

Родители - это то, в чем заключается указанный сценарий или элемент. Переменные работают так:

v = script.Parent.Value

или

d = game.Workspace.ScriptFireValue.Value

Если ROBLOX Solo Game является источником и скриптом v. Имя родителя (script.Parent.Name) равно ScriptFireValue, тогда v равно d.

Язык также включает в себя циклы, которые распознаются как

Луа: пока верно

VBS: делать, пока / Loop

Java: делай пока

'for' - это ограниченный цикл, в котором он выполняется только определенное количество раз. ехе.

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

Эта часть сценария будет запущена 10 раз, прежде чем продолжить. когда у вас есть часть 1 - 10 или 1, 10. «Конец» идет после всего, что выделено синим цветом. Вещи выделены будут: ибо [все, что здесь есть, не будет выделено] делать - оба слова имеют значение только для одного конца. в то время как правда while [Здесь есть что-то, что существует или является значением] do - Оба слова имеют значение только для одного конца. Функция () если [что-то существует или является значением], то - Оба слова учитываются только для одного конца. 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 есть учебное пособие. Просто поищите в бесплатных учебниках по сценариям для моделей. Какой-то чувак написал в сценариях, как писать сценарии. Читать довольно долго, но вот как я научился.

1 голос
/ 28 января 2014

Roblox - это игровой сайт, где пользователи делают игры, используя «Roblox Studio». Это почти как супер сложный виртуальный лего. Для взаимодействия с вашими частями (что-нибудь в вашей игре) вы создаете сценарии, написанные на языке "Lua".

0 голосов
/ 16 апреля 2019

Я не буду повторять то, что говорили другие, а скажу что-то другое. В отличие от ванильного луа, ROBLOX lua (также известный как rlua) является модифицированной версией lua.

ROBLOX реализовал различные типы замыканий c и l, такие как tick, wait, delay и т. Д., Поэтому он является модифицированной версией lua.

0 голосов
/ 17 декабря 2016

Roblox Lua - это Lua 5.1 в модели данных Roblox.

Roblox Lua Scripting - это процесс написания сценария в Roblox Studio.

Их сценарии на самом делеобъекты со встроенным кодом внутри них.Они размещены в базовой модели данных roblox и используются для создания и управления объектами, данными и, следовательно, игровым процессом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...