ArcticПрофильМои скрипты

Документация · актуальный клиент

Luau VM

Вкладка Luau VM запускает Luau в отдельной виртуальной машине Arctic. Код выполняется в клиенте, а не внутри Roblox. Игровая сцена доступна через внешний API; скрипты, рассчитанные на выполнение непосредственно в Roblox, могут требовать адаптации.

Два режима скриптов

Luau VM запускает код, который вы вставили в редактор клиента, и даёт доступ к HTTP, файлам, вводу и памяти процесса. «Мои скрипты» на сайте — отдельная облачная библиотека с ограниченным arctic.* API. Сохранение в ней не переносит скрипт во вкладку Luau VM. Для облачных модулей есть отдельная справка.

Быстрый старт

  1. Запустите актуальный клиент, подключитесь к игре Roblox и дождитесь загрузки сцены.
  2. Откройте вкладку Luau VM в меню Arctic и вставьте код в редактор.
  3. Нажмите Run in VM или Ctrl + Enter. Статус и строки print/warn появятся под редактором.
local Players = game:GetService("Players")
local me = Players.LocalPlayer
print(game.PlaceId, me.Name)

local marker = Drawing.new("Circle")
marker.Radius = 8
marker.Color = Color3.fromRGB(255, 80, 80)

function on_update()
    local character = me.Character
    local root = character and character:FindFirstChild("HumanoidRootPart")
    if not root then
        marker.Visible = false
        return
    end
    local point, visible = WorldToScreen(root.Position)
    marker.Position = point
    marker.Visible = visible
end

on_update() необязательна. Если она определена, клиент вызывает её примерно раз в 100 мс. Следующий запуск заменяет текущий скрипт и его объекты Drawing. При смене игровой сцены запустите скрипт повторно.

Доступный API

РазделФункции и свойства
LuauСтандартные библиотеки Luau, типы Luau, loadstring/load, typeof, tick, identifyexecutor, base64encode, base64decode.
Играgame, workspace, game:GetService(), game.PlaceId. У объектов: Name, ClassName, Parent, GetChildren(), GetDescendants(), FindFirstChild(), WaitForChild(), IsA(), GetFullName() и другие методы поиска.
ИгрокиPlayers.LocalPlayer, Players:GetPlayers(), Player.Character, Player.DisplayName.
Свойства сценыWorkspace.CurrentCamera, Camera.FieldOfView/ViewportSize, Model.PrimaryPart, BasePart.Position/Size/Velocity/AssemblyLinearVelocity/CanCollide/Transparency/Color, Humanoid.Health/MaxHealth/WalkSpeed/JumpPower/JumpHeight.
Типы и отрисовкаVector2.new, Vector3.new, Color3.new/fromRGB, Drawing.new("Line" | "Square" | "Circle" | "Text"), WorldToScreen(). У Drawing доступны координаты, размер, цвет, прозрачность, толщина, текст и Remove().
Вводisrbxactive, iskeypressed, keypress/keyrelease, функции мыши mouse1*/mouse2*, mousemoveabs/mousemoverel, mousescroll, setclipboard.
HTTP и JSONhttpget, httppost, game:HttpGet()/HttpPost(), HttpService:JSONEncode()/JSONDecode()/GenerateGUID().
Файлыwritefile, appendfile, readfile, isfile, isfolder, makefolder, listfiles, delfile, delfolder. Пути относятся к каталогу workspace рядом с клиентом.
Память и времяgetbase, memory_read(type, address), memory_write(type, address, value), wait(seconds), task.wait(seconds).

Примеры

Игроки и объекты

local Players = game:GetService("Players")
for _, player in Players:GetPlayers() do
    local character = player.Character
    if character then
        print(player.Name, character:GetFullName())
    end
end

Файл настроек

local HttpService = game:GetService("HttpService")
writefile("my-script/settings.json", HttpService:JSONEncode({enabled = true}))
local settings = HttpService:JSONDecode(readfile("my-script/settings.json"))
print(settings.enabled)

Этот пример пишет в локальный workspace клиента. Он не синхронизируется с профилем на сайте.

Ограничения и совместимость

memory_read и memory_write работают с процессом Roblox и принимают типы int, byte, float, double, uintptr_t, string. Неудачное чтение возвращает nil, неудачная запись вызывает ошибку. Строки памяти ограничены 1024 байтами чтения и 1023 байтами записи. WaitForChild ждёт не больше 30 секунд.

Luau VM может обращаться к сети, файлам, вводу и памяти Roblox. Проверяйте исходник перед запуском чужого кода. Скрипты из облачной библиотеки запускаются в другом, ограниченном режиме.

Справочник языка Luau ↗ · API облачных модулей →