Обсудить / получить поддержку
Краткое описание
Для начало распакуем содержимое архива build69-master.zip папку jni в любое вам место (лучше создайте отдельную папку на диске C для удобства)
И в тоже место наш NDK
![]()
После того как мы всё разархивовали запускаем Командную строку (CMD)
Нажимаем win+r и вводим cmd и нажимаем кнопочку ОК

После этого пишем в командной строке:
cd Путь до папки NDK
Пример: cd C:/Android/NDK и нажимаем Enter

После того как мы перешли в командной строке в папку с нашим NDK нам надо поставить свой IP:port для сервера
Для этого переходим по пути и открываем файл любым редактором (в моём случае): Android/jni/main.cpp и ищем такие строки:
И меняем 2 строки encryptedAddress.decrypt(), port что бы получилось вот так:
После того как мы отредактировали main.cpp сохраняем его и открываем следующий файл Application.mk (Любым редактором) и меняем
После этого сохраняем наш Application.mk и возвращаемся в командную строку
В командной строке пишем следующие:
ndk-build -C Путь до исходников SAMP Mobile (Android)
В моём случае получается следующие: ndk-build -C C:Androidjni

Нажимаем Enter и ждём
При удачном компилирование должно получится:

Переходим в папку где лежат наши NDK и исходники SAMP Mobile (Android) и видим что появились 2 папки
Переходим в папку libsarmeabi-v7a и видим наш скомпилированый клиент libsamp.so
В следующем уроке я расскажу как его поместить в наш samp.apk
Вот и всё урок окончен Автор урока: MuhamadPawnКопирование данной статьи без разрешение автора запрешено!Мы скомпилировали исходники SAMP Mobile (Android) и получили libsamp.soЕсли у вас появились вопросы или ошибки задавайте в теме отвечу
Следующий урок — https://pawno-rus.ru/wiki/tutorials/samp-android_lesson2/ (Сборка .apk)
Актуальный список уроков — https://pawno-rus.ru/topic/4292-samp-mobile-android-sbornik-urokov/
Разработчики:
FYP, hnnssy, EvgeN 1137
Официальная тема на бластхаке: https://blast.hk/threads/13305/
MoonLoader — это мод для игры GTA San Andreas, стремящийся стать полной современной заменой CLEO. Он вносит возможность загрузки Lua-скриптов в игру, имеет всю функциональность опкодов игры, библиотеки CLEO, плагина SAMPFUNCS и добавляет свой набор новых функций для разработки.
MoonLoader будет полезен как разработчикам, так и пользователям, не занимающимся разработкой. Поскольку Lua скрипты не требуют обязательной компиляции, каждый может изменить исходный код скрипта любым текстовым редактором. Например, можно поменять кнопку или команду для активации скрипта, совсем не умея программировать и не обращаясь за помощью. Кроме этого, MoonLoader можно загружать в уже запущенную игру с помощью любого инжектора, эта возможность может быть полезна тем, кто не хочет держать скрипты и сам плагин в директории игры. Нельзя не упомянуть, что стабильность Lua-скриптов на порядок выше, благодаря встроенным средствам скриптового движка и плагина, а также повышенному качеству разработки, что тоже играет важную роль для любого пользователя.
MoonLoader не зависит от наличия установленного CLEO, не зависит от мультиплеерной модификации SA:MP и плагина SAMPFUNCS (зависят только скрипты, использующие те или иные возможности), а также он совместим с любой версией CLEO, SA:MP и SAMPFUNCS.
Данная тема для тех, кто всегда хотел попробовать, но по каким-то причинам не делал этого. Или же для тех, кто один раз попробовал, но почему-то не получиось. Рекомендую перед знакомством с данной модификацией прочитать основную информацию, изложенную выше, а также ознакомиться с официальной темой на бластхаке.
Процесс установки муна довольно прост и не отличается совершенно ничем от установки любой другой программы или игры, вы указываете папку с гта, нажимаете далее, далее, далее. Есть лишь один нюанс, на который многие не обращают внимание, а зря.

При открытии установщика вас встретит данное окно с предложением установить некоторые штуки, сейчас расскажу почему это чрезвычайно важно и не только упростит дальнейшее использование муна, но и избавит от головных болей, связанных с ошибками в скриптах. Если вам лень читать о каждом компоненте, просто установите все, лишним точно не будет.
Хотя информация о каждом и так представлена в установщике, я помещу их описание тут.
Reload All — Нажмите Ctrl + R и все скрипты в папке moonloader перезагрузятся, применив все изменения.
Update Checker — Оповещает о выходе новой версии муна и предлагает ее загрузку.
Auto Reboot — Самый мощный скрипт по-моему мнению, автоматически перезагружает измененные вами скрипты в игре. Вы сворачиваетесь, пишете код, сохраняете и при разворачивании игры скрипт с вашим кодом активируется. Однако важно добавить, что он не загружает новые скрипты из папки, если вы добавили еще один файл, используйте Reload All чтобы загрузить его вначале.
SF Integration — Выводит содержимое файла moonloader.log в консоль SAMPFUNCS (если у вас он есть, а я крайне рекомендую его поставить). Таким образом намного упрощается отладка и вам не нужно постоянно проверять текстовик на наличие ошибок или вывода информации для дебага.
Модули и инструменты для разработчиков
MoonAdditions — тот же newOpcodes.cleo, только для луа. Добавляет огромное количество новых фишек и может использоваться в некоторых скриптах, обязательно стоит поставить.
SAMP. Lua — Без этой библиотеки многие скриптеры просто не представляют свою жизнь, в том числе и я, используется во многих скриптах. Если говорить понятным языком, она позволяет очень просто взаимодействовать с сетевой частью игры. Но при этом требует SAMPFUNCS.
Во вкладке инструменты для разработчиков присутствует расширение для Notepad++, которое упрощает работу с луа. Если вы планируете заниматься скриптингом, подробнее о нем и о других средах можно почитать на бластхаке.
Все поставили, но почему-то не работает?
Мунлодер работает таким образом, что скрипты выполняются у всех одинаково и в более чем 90% случаев если вы скачиваете какой-то скрипт, то он функционирует должным образом по умолчанию, а проблема только на вашей стороне. Конечно, есть еще 10%, когда скриптер не учел какие-то моменты, но это бывает крайне редко. Есть два варианта:
1) У вас есть SAMPFUNCS и SF Integration, после входа в игру вы открываете консоль SF (~) и смотрите красный текст с ошибкой.
2) У вас нет SAMPFUNCS, после входа в игру вы сворачиваете ее, открываете moonloader/moonloader.log (расширение может не отображаться) и ищете там слово error (красного цвета в блокнот не завезли)
В муне не так много видов ошибок, их можно запомнить все и даже наверное пересчитать по пальцам, но большинство из них видят только скриптеры при разработке, а вот с готовым продуктом могут быть несколько видов проблем:
Примерно с таким текстом скрипт падает, юзер в панике пишет мне и говорит, что скрипт ну ведь не работает мой и с этим нужно что-то сделать.
Глазами находим главную мысль в ошибке module ‘lib.samp.events’ not found: и из этого мы можем понять, что скрипт не смог найти библиотеку SAMP. Lua, потому что 1) юзер не установил ее при установке муна 2) юзер неправильно установил ее из моего архива 3) да я все поставил, че не так то сука
Решением является установка библиотеки в правильную директорию, а именно в moonloader/lib. Причем в папке lib не должно быть еще одной папки lib, а ее содержимое должно быть помещено непосредственно в вашу папку с таким названием, то есть не moonloader/lib/lib/samp, а moonloader/lib/samp. (хотя судя по логу он ищет даже там.) Надеюсь, разницу поняли.
(error) RPColor: D:GTA San Andreasmoonloaderlibsampeventscore.lua:23: samp.events requires SAMPFUNCS
(error) RPColor: Script died due to an error. (0F89383C)
Тут я думаю даже объяснять не особо и нужно, что данная либа требует SAMPFUNCS. И если его у вас нет, скрипт с использованием этой либы вы никак не запустите.
Мне лень искать скрины ошибки, но так бывает, что при запуске игры с сампфунксом или другими модами, вам говорят, что ваша версия игры не соответствует требуемой и люди задаются вопросом, а че делать то, неужели игру переустанавливать и перекачивать.
Да нет, всего-то нужно поставить другой файл gta_sa.exe по ссылке
Сейчас навскидку даже и не скажу какие еще могут быть проблемы, потому что мун это самая стабильная модификация для гта на моей памяти. Дополню данную тему позже, если вспомню про что-то еще или мне напомнят. Комментируйте, отвечу на все вопросы, касаемо луа и муна.

