SA выпущена

  • Популярные сообщения

Команда BH 155

Опубликовано 2 июля 2017 г.
  • Популярное сообщение
    • Поделиться
Опубликовано 2 июля 2017 г. (отредактировано)

v.026.5-beta

ЧТО ТАКОЕ MOONLOADER
MoonLoader — это модификация для GTA: San Andreas, которая дает новую возможность использовать скрипты Lua, созданные создателями модов. С помощью скриптов Lua вы можете изменить некоторые аспекты игры, расширить игровой процесс и добавить новые функции. MoonLoader предоставляет разработчикам обширную функциональность для моддинга, он включает в себя все знакомые возможности, которые есть в CLEO, а также сочетает в себе множество новых функций, которые ранее не были доступны вместе ни в одной структуре моддинга GTA: SA. Это еще молодая модификация и еще не получила широкого распространения, но есть уже написанные скрипты, и она стремится стать полной современной заменой CLEO!

ОСОБЕННОСТИ

  • Язык программирования Lua — сердце MoonLoader. Lua — один из самых популярных языков сценариев, у него огромное сообщество, Lua очень широко используется в разработке игр, это очень простой, но при этом очень гибкий язык программирования.
    • Очень легко выучить — несмотря на то, что это простой язык, существует множество руководств, руководств, книг, курсов и ответов на вопросы.
    • Отличное сообщество — много-много готовых решений, решаются почти все универсальные задачи программирования.
    • Просто и мощно
    • Никаких ограничений на программирование (по сравнению с SCM)
    • Компиляция не требуется
    • Безопасность и ошибки обработка
    • Встроенные инструменты отладки
    • Хороший и простой API
    • И многое другое …
  • MoonLoader использует LuaJIT — просто-в- компилятор времени для Lua и самый быстрый движок сценариев
  • FFI — FFI — это встроенная библиотека в LuaJIT, она обеспечивает прямой интерфейс между Lua и памятью процесса и дает возможность напрямую вызывать функции в памяти, обращаться к структурам данных, передавать Lua-функции в память и даже писать на ассемблере с DynASM из чистого Lua.. И, как всем известно, все это является неотъемлемой частью гейммоддинга.
  • Script Management — система управления скриптами позволяет получать информацию о скриптах и ​​управлять выполнением скриптов
  • Компиляция не требуется — сценарии можно компилировать, но это не обязательно, и если сценарий с открытым исходным кодом, каждый пользователь может редактировать его без какой-либо подготовки
  • Обработка ошибок — MoonLoader обрабатывает столько ошибок, сколько может. Если CLEO-скрипт умирает из-за ошибки, умирает вся игра, но если Lua-скрипт умирает из-за ошибки, он просто выводит ошибку в журнал и останавливает выполнение скрипта.
  • No Dependencies — требуются только две вещи: установлен ASI Loader и версия 1.0US GTA: San Andreas
  • Совместимость с SA-MP — MoonLoader совместим как с одиночной игрой, так и с SA-MP.
  • Events — отслеживает такие события, как запуск новой игры, оконные сообщения, выход из игры, сценарий остановки и т. д.
  • Atom как официальная среда IDE — Atom — отличный редактор кода, он современный и полностью настраиваемый. MoonLoader имеет собственный пакет для Atom, обеспечивающий интеллектуальное автозаполнение, поиск функций и выделение ошибок. Notepad ++ также имеет официальную поддержку MoonLoader. Если вам по каким-то причинам не нравится Atom, вы можете выбрать любой текстовый редактор, даже стандартный Блокнот. На самом деле нет никаких требований к каким-либо специальным инструментам.
  • Загрузка на ранней стадии — скрипты Lua загружаются сразу после запуска игры, но есть два этапа загрузки: этап инициализации «сразу после запуска игры и» активная стадия «при загрузке игры
  • Отдельная система сохранения игры — система сохранения игры на основе событий позволяет контролировать, когда игрок запускает новая игра, загружает игру или сохраняет ее.
  • Inter-Script Communication — скрипты могут обмениваться данными и взаимодействовать друг с другом с помощью функции экспорта-импорта (это не стандартная функция ‘require’)
  • Synchronous Scripting Threads — потоки сценариев значительно упрощают синхронную многозадачность
  • Стандартные библиотеки — дистрибутив включает несколько стандартных библиотек с общими инструментами разработки.
  • И, конечно же, множество новых функций

ЗАМЕЧАНИЯ И ПЛАНЫ
После почти через год открытого альфа-тестирования MoonLoader наконец-то получил статус бета-тестирования. Стабильность его работы проверена временем и многими пользователями, но есть некоторые вещи, о которых вам нужно знать.
Изначально планировалось, что MoonLoader будет поддерживать все версии GTA: SA, но с расширением функциональности это стало усложняться задачей, и в итоге было решено, что только v1. 0US будет поддерживаться, возможно, в будущем это изменится, но не сейчас и нет никаких обещаний. В любом случае это не большая проблема — большинство модов также поддерживает только v1.0US, и эта версия наиболее часто используется для моддинга.
У MoonLoader нет документации на английском языке, официальная вики — это нормально, но в настоящее время все на русском языке ( но имеет встроенный Google Translate). Другое дело, что многие из обычных кодов операций сценариев не описаны в нашей вики (но вы можете найти описания в Интернете, например, в GTAGModding).
Функции DXUT и SA-MP требуют установки SAMPFUNCS, поскольку они являются кодами операций из SAMPFUNCS. Если вы не используете эти функции, SAMPFUNCS не требуется.
Поскольку MoonLoader эмулирует коды операций SCM для обеспечения всех знакомых функций сценариев игр, он снижает скорость этих функций по сравнению с SCM — это затраты на все стандартные функции сценариев, но в большинстве случаев Lua быстрее, чем SCM. Наиболее распространенные коды операций постепенно заменяются встроенными функциями в более новых версиях.
Lua не имеет встроенной поддержки сохранения потоков в файл, и MoonLoader не поддерживает это. Но это не так уж плохо, есть система сохранения игры на основе событий, которая обеспечивает полный контроль над сохранением и загрузкой игры.
На данный момент MoonLoader уже имеет все необходимые концепции и новые функции (например, больше игровых функций) могут быть легко реализовано через модули dll и lua. В текущих планах — добавить хороший API рендеринга и исправить некоторые из перечисленных выше проблем.

Если вы заинтересованы в разработке сценария Lua, ознакомьтесь с руководством по началу работы.

РАЗРАБОТЧИКИ
FYP , hnnssy, EvgeN 1137

ОТДЕЛЬНОЕ СПАСИБО
DK22Pac, MISTER_GONWIK, 4el0ve4ik, EXPORT, Garrus, CLEO 4

СКАЧАТЬ
Загрузить установщик
Установка: запустите setup-moonloader.exe и следуйте инструкциям мастера установки
Загрузить архив (для руководства Установка. Не включает расширение для Notepad ++)
Установка: распакуйте все файлы из загруженного архива в корневую папку GTA: San Andreas (убедитесь, что у вас установлен ASI Loader)
Примеры сценариев загрузки (могут быть устаревшими)

УСТАНОВКА СКРИПТА
Следуйте сценарию инструкции по установке или просто скопируйте весь контент, связанный со скриптом, в папку ‘moonloader’, расположенную в корневом каталоге игры.

ССЫЛКИ
Тема разработки
Wiki (переведено с помощью Google Translate с русского): главная страница; все страницы, связанные с MoonLoader
Lua Mods на BlastHack (некоторые из них доступны в архиве с примерами, но темы на форуме имеют описания)
Официальная русская тема
Официальная российская разработка Тема

Отредактировано 7 мая 2018 BH Team

  • 61

Ссылка на публикацию
Поделиться на других сайтах
Оцените статью
Блог о современных технологиях
Добавить комментарий