Вылет после установки SampFuncs и Moonloader
TheRaymondPlex
После того, когда ГТА была полностью готова к игре, она прекрасно работала. Никаких вылетов. Одиночку спокойно можно проходить.
Затем был установлен САМП 0.3.7 R1. И на нем тоже все прекрасно работает.
Но затем я нашел здесь, на этом форуме, раздел, в котором прописан разрешенный софт и вспомогательные скрипты, которые не дают никакого преимущества. Я заинтересовался этим. И выяснилось, что для корректной работы подобных вспомогательных скриптов, обязательно наличие SampFuncs и Moonloader.
И вот что происходит после установки: обычная игра, в одиночном режиме, отказывается работать. Дальше экрана загрузки сохранения никуда не грузится.
В САМПе дела обстоят по-другому: сама программа работает как и обычно, но вот при присоединении к серверу загрузка происходит успешно. И можно спокойно бегать, прыгать, ездить. Какое-то время.. Для проверки работоспособности SampSuncs и Moonloader был установлен безобидный скрипт, который показывает на экране реальное время, дату, никнейм игрока, его ID в сессии, и цвет ника. И скрипт работает. Все красиво, и все показывает. Но каждый раз происходит одно и то же.
Не пройдет и 10ти минут, как игра выдаст следующую ошибку, на скрине видно.
Пишу сюда с надеждой, что кто-то, может быть, сталкивался с похожей ситуацией, и сможет мне помочь решить эту проблему?
Assertion failed как исправить samp moonloader asi
Решение распространенных проблем:
———————————————————————————————————————-
— Проверьте, что ваша GTA версии 1.0 US.
— Проверьте, что у вас стоит SAMP 0.3.7 (не SAMP 0.3.7-R2 или др).
— Установите DirectX и Microsoft Visual C++ (если их нет).
— Если у вас есть при загрузке игры заставка SAMPFUNCS, то скорее всего вам помогут пункты ниже.
Чтобы помочь разработчику лучше разобраться в проблеме, пишите сюда и прикрепляйте текстовый файл moonloader.log, который находится в GTA/moonloader.
———————————————————————————————————————-
Нет окна редактирования / Не работает AutoEdit:
Введите /autoedit. Перейдите в Настройки>Общие. Нажмите на кнопку «Установить для Advance RP» и сохраните. Готовые настройки AutoEdit: https://vk.com/topic-177496337_44195419
Прыгаю, когда редактирую объявления, лекции и т.д./Крашит GTA при открытии окна:
— Удалите файлы imgui.lua и MoonImGui.dll в GTA/moonloader/lib (перед этим выйдите из игры). Скрипт их переустановит.
Во время редактирования объявлений не могу ввести текст (нажимаю на поле ввода, но оно сразу становится неактивным):
— Достаточно нажать 2 раза ESC (открыть меню игры и закрыть).
Бесконечная загрузка библиотек:
— Скорее всего вы используете старую версию скрипта. Скачайте установочник заново и установите.
или
— Установите скрипт сразу со всеми библиотеками.
kingleonides
Участник
Возник вопрос по поводу SF Intergration и в целом LuaJit’a, т.к я не особо разбираюсь что-там под капотом и как оно там крутится, но каким образом возможно получить доступ к _G тейбл и хранить там свои таблицы для взаимодействия двух разных скриптов, или для отладки уже имеющихся?
Например у меня в скрипте определена функция, но в SF Integration через принт указателя на функцию нет.
Даже если в скрипте присвою что нибудь в _G, например _G[«DebugScriptVar1»] = 1;
То в SF Integration при выполнении ( lua print(_G[«DebugScriptVar1»]) ), ничего не будет собственно.
Может подскажите как быть в данном случае или дадите советы по отладке?
[OFFTOP]
Не подскажете где можно найти плагин Packet Analyzer?
[/OFFTOP]
kingleonides
Участник
Возник такой вопрос, вероятно он глупый, но почему если я в скрипте rs1.lua напишу данный код
kingleonides
Участник
attachObjectToChar, что-то у меня эта функция не работает, точнее она не выполняет своей роли, пытаюсь к себе объект приаттачить, но ничего не аттачится.
attachObjectToChar(tableOfObject, PLAYER_PED, 0, 0, 0, 0, 0, 0)
tableOfObject был взят с object из onSetPlayerAttachedObject
Если создавать свой объект то созданный объект соответствует хэндлу на CObject, а вот то что прилетает из RPC не соответствует указателю, а является таблицей.
Я не пойму, как мне получить хэндл object который прислал мне rpc.onSetPlayerAttachedObject?
И еще такой нюанс, если делать в хуке через PLAYER_PED, выбрасывает исключение СФ по опкоду этой функции, а вот с PLAYER_HANDLE ничего не выбрасывает но не аттачится.
В противном же случае, если использовать объект созданный через objectCreate(), то с PLAYER_PED работает и все аттачится.
Это получается баг эвента onSetPlayerAttachedObject, или что?
#Northn
Police Helper «Reborn» — запущен!
attachObjectToChar, что-то у меня эта функция не работает, точнее она не выполняет своей роли, пытаюсь к себе объект приаттачить, но ничего не аттачится.
attachObjectToChar(tableOfObject, PLAYER_PED, 0, 0, 0, 0, 0, 0)
tableOfObject был взят с object из onSetPlayerAttachedObject
Если создавать свой объект то созданный объект соответствует хэндлу на CObject, а вот то что прилетает из RPC не соответствует указателю, а является таблицей.
Я не пойму, как мне получить хэндл object который прислал мне rpc.onSetPlayerAttachedObject?
И еще такой нюанс, если делать в хуке через PLAYER_PED, выбрасывает исключение СФ по опкоду этой функции, а вот с PLAYER_HANDLE ничего не выбрасывает но не аттачится.
В противном же случае, если использовать объект созданный через objectCreate(), то с PLAYER_PED работает и все аттачится.
Это получается баг эвента onSetPlayerAttachedObject, или что?
Избранное Lua ASI MoonLoader
Известный
MoonLoader будет полезен как разработчикам, так и пользователям, не занимающимся разработкой. Поскольку Lua скрипты не требуют обязательной компиляции, каждый может изменить исходный код скрипта любым текстовым редактором. Например, можно поменять кнопку или команду для активации скрипта, совсем не умея программировать и не обращаясь за помощью. Кроме этого, MoonLoader можно загружать в уже запущенную игру с помощью любого инжектора, эта возможность может быть полезна тем, кто не хочет держать скрипты и сам плагин в директории игры. Нельзя не упомянуть, что стабильность Lua-скриптов на порядок выше, благодаря встроенным средствам скриптового движка и плагина, а также повышенному качеству разработки, что тоже играет важную роль для любого пользователя.
MoonLoader не зависит от наличия установленного CLEO, не зависит от мультиплеерной модификации SA:MP и плагина SAMPFUNCS (зависят только скрипты, использующие те или иные возможности), а также он совместим с любой версией CLEO, SA:MP и SAMPFUNCS.
Язык программирования Lua является одним из самых популярных скриптовых языков в сфере разработки игр, и в связи с этим для него существует огромное количество готовых решений тех или иных задач, множество готовых модулей на самом Lua, с использованием FFI и в виде динамических библиотек помогут сэкономить время на поиске решения.
Lua значительно упростит разработку и повысит её качество и эффективность, а сами скрипты будут работать стабильнее и быстрее. Благодаря тому, что MoonLoader использует не обычный Lua, а LuaJIT, который широко известен своей колоссальной производительностью и невероятно мощной библиотекой FFI, можно добиться наилучших результатов в реализации задачи наиболее эффективным путём.
О том с чего начать и как правильно писать Lua скрипты можно прочитать в теме Все о Lua скриптинге для MoonLoader
Скачать
Установка: запустить setup-moonloader.exe и следовать шагам программы установки. Для работы MoonLoader требуется GTA: SA версии US1.0.
Скачать моды
Скачать читы
Скачать архивом для установки вручную
З аинтересовавшимся рекомендую подписаться на тему, чтобы не пропустить важные обновления.
После установки мода вид от первого лица v3.0 (by BoPoH) гта сан андрес вы даёт ошибку Hooks,asi error loading plugin
SA-MP 0.3.7
Exception At Address: 0x007FFF12
Base: 0x03C70000
Registers:
EAX: 0x00000004EBX: 0x0177F7B0ECX: 0x0177F7B0EDX: 0x018642D8
ESI: 0x00000004EDI: 0x5BF9F6ABEBP: 0x00000000ESP: 0x0177F788
EFLAGS: 0x00010202
Stack:
+0000: 0x00000000 0x0177F840 0x5C55153C 0x00618F06
+0010: 0x007CF9D0 0x008042DC 0x0177F7B0 0x00000000
+0020: 0x00000004 0x00000000 0x5C55153C 0x00000001
+0030: 0x00618F05 0x0177F7DC 0x5C53DD50 0x05F60000
+0040: 0x00000000 0x00000004 0x5C558250 0x5C559064
+0050: 0x5C552AD4 0x0177F7F8 0x5C538C9C 0x5C52C59E
+0060: 0x00000000 0x00000004 0x0177F830 0x0177F834
+0070: 0x0177F838 0x0177F83C 0x5C55C858 0x5C55C858
+0080: 0x00000200 0x5C55154C 0x5C55C858 0x00000200
+0090: 0x5C55CA58 0x5C5528A0 0x5C55153C 0x00000031
+00A0: 0x5BF9F6AB 0x773C0420 0x00001000 0x0177F864
+00B0: 0x5C51E978 0x00584C51 0x0177F864 0x5C51E995
+00C0: 0x5C55154C 0x5C55911C 0x773C09C0 0x05F60DD4
+00D0: 0x00000040 0x00000040 0x000000E9 0x0177F888
+00E0: 0x5C5180F5 0x5C55911C 0x05F60DD0 0x05F60DD4
+00F0: 0x5C55911C 0x00000000 0x00000000 0x00000001
+0100: 0x0177F8A0 0x5C53627D 0x00000001 0x0000000A
+0110: 0x00000000 0x00000001 0x76854EA0 0x00748D00
+0120: 0x0000000A 0x01B43478 0x0177F958 0xFFFFFFFF
+0130: 0x01E330F8 0x00000008 0x01860ED8 0x00000008
+0140: 0x00000100 0x00000008 0x00000102 0x442AC000
+0150: 0x43C00000 0x00000000 0x00000000 0x00000556
+0160: 0x00000300 0x00000000 0x6172475C 0x00050590
+0170: 0x00000113 0x00004242 0x00000000 0x012B15DB
+0180: 0x000002AB 0x00000180 0x0000002C 0x616C5069
+0190: 0x20726579 0x332E305B 0xFF005D65 0x0082AC0E
+01A0: 0x00000000 0x00000020 0x01E207E7 0x0177F9D0
+01B0: 0x05DD4024 0x5CE30504 0x00400000 0x00000000
+01C0: 0x01B43478 0x0000000A 0x01B6E12C 0x0177FA34
+01D0: 0x0177F988 0x5CE2E756 0x0177F9B8 0x0177F9BC
+01E0: 0x0177F9C0 0x0177F9C4 0x0177F990 0x0177FA34
+01F0: 0x01B6E12C 0x0177F9D0 0x5CE846D8 0x00000000
+0200: 0x0177F9DC 0x5CE2C01F 0x5CE88AC8 0x01C2EE90
+0210: 0x00000000 0x00000002 0x01B40000 0x00000040
+0220: 0x000207D0 0x00000064 0x00000038 0x0177F990
+0230: 0x00400000 0x00000000 0x01B43478 0x0000000A
+0240: 0x01C2EE90 0x01B6E118 0x0177FA20 0x5CE84268
+0250: 0xFFFFFFFF 0x0177F9FC 0x5CE3052B 0x01B6E12C
+0260: 0x0177FA34 0x0177FBD8 0x0177FBDC 0x0177FBE0
+0270: 0x0177F990 0x0177FA2C 0x5CE2EB52 0x0177FA34


