Lua · GTA San Andreas · SA-MP

MoonLoader

Загрузчик Lua-скриптов, который добавляет в GTA San Andreas собственную скриптовую среду: моды пишутся на обычном Lua, кладутся в папку и работают без пересборки игры.

Что это такое

MoonLoader — это ASI-плагин для GTA San Andreas. Он поднимает внутри игры интерпретатор Lua и даёт скриптам доступ к игровым функциям: транспорту, персонажам, интерфейсу, памяти процесса, сетевому слою SA-MP. По сути это прослойка между игрой и вашим кодом.

Каждый скрипт — отдельный .lua-файл. Он живёт в собственном потоке, может быть перезагружен на лету и не мешает остальным.

Что умеет

Lua-скрипты

Полноценный Lua 5.1 с корутинами, таймерами и горячей перезагрузкой скриптов прямо во время игры.

Доступ к игре

Сотни опкодов и функций: спавн техники, телепорт, погода, время, работа с игроками и объектами.

Интерфейс

Отрисовка текста и примитивов, поддержка ImGui для окон, кнопок, слайдеров и настроек мода.

SA-MP и сеть

Через дополнительные библиотеки — чтение чата, диалогов, RPC и сетевых пакетов многопользовательского режима.

Память процесса

Чтение и запись адресов, хуки и патчи — для тех, кому мало готового API.

Библиотеки

Экосистема готовых модулей: requests, ffi, encoding, vkeys, inicfg и десятки других.

Что нужно

Как ставится

  1. Скачать установщик MoonLoader с официальной страницы проекта.
  2. Указать папку с gta_sa.exe — установщик сам положит moonloader.asi и создаст каталог moonloader/.
  3. Кинуть нужные .lua-скрипты в moonloader/.
  4. Запустить игру. Логи и ошибки — в moonloader/moonloader.log.

Скрипты перезагружаются сочетанием клавиш без перезапуска игры — удобно, когда правишь свой мод.

Частые вопросы

Забанят ли за это?
На сетевых серверах — зависит от правил конкретного проекта. Читерские скрипты почти везде запрещены, вспомогательные и интерфейсные обычно нет. Решение и ответственность — на игроке.
Работает ли на других версиях игры?
Нет. Нужна именно 1.0 US, остальные сборки имеют другую разметку памяти.
Чем отличается от CLEO?
CLEO использует язык на базе игровых опкодов, MoonLoader — обычный Lua. Оба плагина спокойно работают в одной установке.

Где искать подробности