Luau — внутренний диалект Lua, используемый в Roblox. Он сохраняет простоту Lua и добавляет типизацию и оптимизации для игровых сценариев. Luau используется как в серверных, так и в клиентских скриптах.
Для написания скриптов используется Roblox Studio. Важные панели: Explorer, Properties, Output, Debugger. Рекомендуется активировать линтер и включить режим Debug для локального тестирования.
Luau близок к стандартному Lua:
local function sayHello(name)
print('Привет, '..name)
end
sayHello('Игрок')
Переменные, таблицы, функции и замыкания работают как в Lua, но Luau добавляет проверки типов и улучшения производительности.
Пример создания объекта и его помещения в Workspace:
local part = Instance.new('Part')
part.Position = Vector3.new(0,10,0)
part.Parent = workspace
Используйте RemoteEvent для общения между клиентом и сервером.
Пример отправки события от клиента на сервер:
-- LocalScript
local Replicated = game:GetService('ReplicatedStorage')
local ev = Replicated:WaitForChild('MyEvent')
ev:FireServer('data')
-- Server Script
local Replicated = game:GetService('ReplicatedStorage')
local ev = Replicated:WaitForChild('MyEvent')
ev.OnServerEvent:Connect(function(player, data)
print(player.Name, data)
end)
После изучения основ переходите к задачам: анимации, катсцены и оптимизация. Подробные упражнения — в разделе 'Скрипты и практика'.
Продолжайте практиковаться: сделайте мини-проект и выложите его на тестирование.