- 934
- 14,885
Разработчики:
FYP, hnnssy, EvgeN 1137
Официальная тема на бластхаке: https://blast.hk/threads/13305/
Данная тема для тех, кто всегда хотел попробовать, но по каким-то причинам не делал этого. Или же для тех, кто один раз попробовал, но почему-то не получиось. Рекомендую перед знакомством с данной модификацией прочитать основную информацию, изложенную выше, а также ознакомиться с официальной темой на бластхаке.
Установка
Процесс установки муна довольно прост и не отличается совершенно ничем от установки любой другой программы или игры, вы указываете папку с гта, нажимаете далее, далее, далее. Есть лишь один нюанс, на который многие не обращают внимание, а зря.
При открытии установщика вас встретит данное окно с предложением установить некоторые штуки, сейчас расскажу почему это чрезвычайно важно и не только упростит дальнейшее использование муна, но и избавит от головных болей, связанных с ошибками в скриптах. Если вам лень читать о каждом компоненте, просто установите все, лишним точно не будет.
Скрипты
Хотя информация о каждом и так представлена в установщике, я помещу их описание тут.
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 (красного цвета в блокнот не завезли)
В муне не так много видов ошибок, их можно запомнить все и даже наверное пересчитать по пальцам, но большинство из них видят только скриптеры при разработке, а вот с готовым продуктом могут быть несколько видов проблем:
[C]
Сейчас навскидку даже и не скажу какие еще могут быть проблемы, потому что мун это самая стабильная модификация для гта на моей памяти. Дополню данную тему позже, если вспомню про что-то еще или мне напомнят. Комментируйте, отвечу на все вопросы, касаемо луа и муна.[/c]
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 (красного цвета в блокнот не завезли)
В муне не так много видов ошибок, их можно запомнить все и даже наверное пересчитать по пальцам, но большинство из них видят только скриптеры при разработке, а вот с готовым продуктом могут быть несколько видов проблем:
[13:41:36.394886] (system) Loading script 'D:\GTA San Andreas\moonloader\PameViewerV2.lua'...
[13:41:36.394886] (debug) New script: 01D0311C
[13:41:36.395883] (error) PameViewerV2: D:\GTA San Andreas\moonloader\PameViewerV2.lua:2: module 'lib.samp.events' not found:
no field package.preload['lib.samp.events']
no file 'D:\GTA San Andreas\moonloader\lib\lib\samp\events.lua'
no file 'D:\GTA San Andreas\moonloader\lib\lib\samp\events\init.lua'
no file 'D:\GTA San Andreas\moonloader\lib\samp\events.lua'
no file 'D:\GTA San Andreas\moonloader\lib\samp\events\init.lua'
no file '.\lib\samp\events.lua'
no file 'D:\GTA San Andreas\moonloader\lib\lib\samp\events.luac'
no file 'D:\GTA San Andreas\moonloader\lib\lib\samp\events\init.luac'
no file 'D:\GTA San Andreas\moonloader\lib\samp\events.luac'
no file 'D:\GTA San Andreas\moonloader\lib\samp\events\init.luac'
no file '.\lib\samp\events.luac'
no file 'D:\GTA San Andreas\moonloader\lib\lib\samp\events.dll'
no file 'D:\GTA San Andreas\moonloader\lib\lib.dll'
stack traceback:
[C]: in function 'require'
D:\GTA San Andreas\moonloader\PameViewerV2.lua:2: in main chunk
[13:41:36.395883] (error) PameViewerV2: Script died due to an error. (01D0311C)
Примерно с таким текстом скрипт падает, юзер в панике пишет мне и говорит, что скрипт ну ведь не работает мой и с этим нужно что-то сделать.
Глазами находим главную мысль в ошибке module 'lib.samp.events' not found: и из этого мы можем понять, что скрипт не смог найти библиотеку SAMP.Lua, потому что 1) юзер не установил ее при установке муна 2) юзер неправильно установил ее из моего архива 3) да я все поставил, че не так то сука
Решением является установка библиотеки в правильную директорию, а именно в moonloader/lib. Причем в папке lib не должно быть еще одной папки lib, а ее содержимое должно быть помещено непосредственно в вашу папку с таким названием, то есть не moonloader/lib/lib/samp, а moonloader/lib/samp. (хотя судя по логу он ищет даже там..) Надеюсь, разницу поняли.
[/C]
[13:41:36.394886] (debug) New script: 01D0311C
[13:41:36.395883] (error) PameViewerV2: D:\GTA San Andreas\moonloader\PameViewerV2.lua:2: module 'lib.samp.events' not found:
no field package.preload['lib.samp.events']
no file 'D:\GTA San Andreas\moonloader\lib\lib\samp\events.lua'
no file 'D:\GTA San Andreas\moonloader\lib\lib\samp\events\init.lua'
no file 'D:\GTA San Andreas\moonloader\lib\samp\events.lua'
no file 'D:\GTA San Andreas\moonloader\lib\samp\events\init.lua'
no file '.\lib\samp\events.lua'
no file 'D:\GTA San Andreas\moonloader\lib\lib\samp\events.luac'
no file 'D:\GTA San Andreas\moonloader\lib\lib\samp\events\init.luac'
no file 'D:\GTA San Andreas\moonloader\lib\samp\events.luac'
no file 'D:\GTA San Andreas\moonloader\lib\samp\events\init.luac'
no file '.\lib\samp\events.luac'
no file 'D:\GTA San Andreas\moonloader\lib\lib\samp\events.dll'
no file 'D:\GTA San Andreas\moonloader\lib\lib.dll'
stack traceback:
[C]: in function 'require'
D:\GTA San Andreas\moonloader\PameViewerV2.lua:2: in main chunk
[13:41:36.395883] (error) PameViewerV2: Script died due to an error. (01D0311C)
Примерно с таким текстом скрипт падает, юзер в панике пишет мне и говорит, что скрипт ну ведь не работает мой и с этим нужно что-то сделать.
Глазами находим главную мысль в ошибке module 'lib.samp.events' not found: и из этого мы можем понять, что скрипт не смог найти библиотеку SAMP.Lua, потому что 1) юзер не установил ее при установке муна 2) юзер неправильно установил ее из моего архива 3) да я все поставил, че не так то сука
Решением является установка библиотеки в правильную директорию, а именно в moonloader/lib. Причем в папке lib не должно быть еще одной папки lib, а ее содержимое должно быть помещено непосредственно в вашу папку с таким названием, то есть не moonloader/lib/lib/samp, а moonloader/lib/samp. (хотя судя по логу он ищет даже там..) Надеюсь, разницу поняли.
[/C]
(error) RPColor: D:\GTA San Andreas\moonloader\lib\samp\events\core.lua:23: samp.events requires SAMPFUNCS
(error) RPColor: Script died due to an error. (0F89383C)
Тут я думаю даже объяснять не особо и нужно, что данная либа требует SAMPFUNCS. И если его у вас нет, скрипт с использованием этой либы вы никак не запустите.
(error) RPColor: Script died due to an error. (0F89383C)
Тут я думаю даже объяснять не особо и нужно, что данная либа требует SAMPFUNCS. И если его у вас нет, скрипт с использованием этой либы вы никак не запустите.
Мне лень искать скрины ошибки, но так бывает, что при запуске игры с сампфунксом или другими модами, вам говорят, что ваша версия игры не соответствует требуемой и люди задаются вопросом, а че делать то, неужели игру переустанавливать и перекачивать.
Да нет, всего-то нужно поставить другой файл gta_sa.exe по ссылке
Да нет, всего-то нужно поставить другой файл gta_sa.exe по ссылке
Сейчас навскидку даже и не скажу какие еще могут быть проблемы, потому что мун это самая стабильная модификация для гта на моей памяти. Дополню данную тему позже, если вспомню про что-то еще или мне напомнят. Комментируйте, отвечу на все вопросы, касаемо луа и муна.[/c]