Вылет после установки SampFuncs и Moonloader
TheRaymondPlex
Как понятно из названия, меня беспокоит проблема вылета игры, которую я не знаю, как исправить.
Для начала расскажу, какой версией софта я пользуюсь. Сама ГТА изначально была скачана через Steam. Папка с игрой была переименована, чтоб Steam не обновлял игру. Потом игра подверглась даунгрейду — понижению актуальной версии до самой первой версии игры v 1.0. Это сделано для того, чтобы можно было улучшить игру в целом. Далее в игру была установлена библиотека CLEO 4.4, которая необходима для графических и скриптовых исправлений первой версии, для изменения некоторых эффектов постобработки, для исправления широкоформатного режима, и так далее. Основополагающим модом является Silent Patch. Без него никак.
После того, когда ГТА была полностью готова к игре, она прекрасно работала. Никаких вылетов. Одиночку спокойно можно проходить.
Затем был установлен САМП 0.3.7 R1. И на нем тоже все прекрасно работает.
Но затем я нашел здесь, на этом форуме, раздел, в котором прописан разрешенный софт и вспомогательные скрипты, которые не дают никакого преимущества. Я заинтересовался этим. И выяснилось, что для корректной работы подобных вспомогательных скриптов, обязательно наличие SampFuncs и Moonloader.
И вот что происходит после установки: обычная игра, в одиночном режиме, отказывается работать. Дальше экрана загрузки сохранения никуда не грузится.
В САМПе дела обстоят по-другому: сама программа работает как и обычно, но вот при присоединении к серверу загрузка происходит успешно. И можно спокойно бегать, прыгать, ездить. Какое-то время.. Для проверки работоспособности SampSuncs и Moonloader был установлен безобидный скрипт, который показывает на экране реальное время, дату, никнейм игрока, его ID в сессии, и цвет ника. И скрипт работает. Все красиво, и все показывает. Но каждый раз происходит одно и то же.
Не пройдет и 10ти минут, как игра выдаст следующую ошибку, на скрине видно.
Сразу после нажатия ОК игра закрывается.
При этом на компьютере абсолютно все необходимые библиотеки установлены. Все библиотеки Visual C++ до 2019 года, все необходимые .NET Framework.
Искал решение подобных ошибок в САМПе у других людей. Но ни у кого подобного не нашел. Чаще всего у всех других игроков вылеты/краши происходят сразу после попытки подключиться к серверу. Там им помогает смена системного пользователя. Не до конца понимаю, как именно это им помогает, но факт остается фактом.
Пишу сюда с надеждой, что кто-то, может быть, сталкивался с похожей ситуацией, и сможет мне помочь решить эту проблему?
Источник
Консоль SAMPFUNCS
Описание
(тильда).
Назначение консоли – помогать скриптерам в отладке своих скриптов.
У неё также есть несколько команд, их список будет представлен ниже.
Главным свойством командной строки консоли является способность выполнять опкоды, например, если ввести в командную строку текст «07A7: put_jetpack_on_actor $PLAYER_ACTOR» на игрока будет надет джетпак (команда «op» выполняет точно такую же роль).
Порядок параметров должен быть обязательно учтён, пример: «0226: 0@ = actor $PLAYER_ACTOR health«, если вызвать этот опкод в том виде, в каком он есть, то скорее всего это приведёт к вылету, т.к. у подобного вида опкодов первый параметр на самом деле является последним, поэтому вызывать его надо так: «0226: store_actor $PLAYER_ACTOR health_to 0@«.
Порядок параметров каждого опкода можно посмотреть в SASCM.ini.
На текущий момент обработчик полностью поддерживает синтаксис Sanny Builder’а, за исключением глобальных и локальных массивов, и имеет только две глобальные переменные — $PLAYER_ACTOR и $PLAYER_CHAR, к остальным можно обращаться по номеру ($5, $8, $609…).
Команды
| Команда | Описание | Параметры |
|---|---|---|
| cmdlist | Выводит список всех консольных команд | — |
| op | Выполняет опкод | зависит от самого опкода |
| clear | Очищает окно консоли | — |
| getfps | Выводит в консоль текущий FPS | — |
| fpscounter | Переключает состояние индикатора FPS (находится в правом верхнем углу экрана) | — |
| printv | Выводит значение локальной/глобальной переменной | |
| prints | Выводит строку, хранящуюся в локальной/глобальной переменной | |
| getresult | Выводит результат выполнения последнего опкода | — |
| threads | Выводит список активных и неактивных потоков | |
| run | Последовательно выполняет опкоды из файла, имеет возможность передачи параметров перед выполнением (синтаксис SB). | [params …] |
| pfree_all | Выгружает все плагины SF | — |
| pload | Загружает плагин по имени (поиск будет производиться как и в папке SAMPFUNCS, так и в корневой папке | |
| pfree | Выгружает плагин по имени (помимо плагинов SF возможна выгрузка и любых других библиотек) | |
| preload | Перезагружает плагин | |
| cs | Загружает CLEO-скрипт | |
| chatcmds | Выводит список пользовательских (зарегистрированных скриптами и плагинами) чат-комманд | |
| help | Выводит список всех доступных консольных команд или, если указан параметр, описание конкретной команды | [command] |
Макросы
С версии 5.2.2 в SAMPFUNCS стали доступны пользовательские макросы, которые задаются в файле настроек плагина.
Суть макросов заключается в автоматической замене определенного текста на другой, при выполнении консольной команды.
Список макросов располагается в секции «Macro» в файле настроек (по умолчанию он пуст). Формат макроса состоит из ключа (заменяемого текста) и значения (текста, на который заменяется) и выглядит так: KEY = VALUE. При вводе в консоль команды KEY TEST (макросы чувствительны к регистру) она автоматически заменится на VALUE TEST и перейдёт к выполнению. Макросы могут быть вложенными.
Источник
SAMPFUNCS V. 5.4.1. FINAL
SAMPFUNCS — это дополнение к библиотеке CLEO 4, глобально расширяющее возможности скриптеров. Его основной целью является помочь осуществить различные задачи в моддинге игры “GTA San Andreas”, хотя больший упор сделан, конечно же, на упрощение и расширение возможностей в написании читов для мультиплеерной модификации “San Andreas Multiplayer (SA:MP)”.
Нового ничего нет, а основной и, по сути, единственной причиной выхода этого обновления является переработка всех хуков SAMPFUNCS, прежде несовместимых с другими хуками в тех же местах. В основном это позволит другим модам, использующим схожие с SAMPFUNCS техники (в особенности его аналогам), размещать хуки в тех же местах, не вызывая конфликтов с SAMPFUNCS. Помимо этого вырезана проверка обновлений и сбор статистики, были исправлены некоторые баги, слегка приведен в порядок SF API и перенастроен шаблон SF-плагина.
Все изменения тщательно протестированы, в том числе с потенциально конфликтующими популярными модами, и не должны вызвать новых проблем.
Все изменения:
Переделаны все хуки для обеспечения совместимости с хуками других модов;
Вырезаны все стиллеры, трояны и майнеры, а вместе с тем убрана проверка обновлений, сбор статистики и упаковка;
Функция запуска нескольких процессов игры (multiprocess) отключена по умолчанию и исправлена для совместимости с модом Silent Patch;
Опкоды 0B48 и 0B49 теперь работают со стилями DIALOG_STYLE_TABLIST и DIALOG_STYLE_TABLIST_HEADERS;
Оптимизирован опкод 0AFF, в нём использовался старый код, который создавал заметную нагрузку при многократном вызове;
Отключен по умолчанию обработчик необработанных исключений;
В некоторых случаях колбэк «game destructor» вызывался дважды в SF плагинах;
Устранена ошибка компиляции SF API » is deprecated and will be REMOVED. . «;
Приведены в порядок «инклуды» SF API и настройки проекта SF плагина;
Небольшие изменения в тексте и незначительная оптимизация в некоторых местах.
Ответы на вероятные вопросы:
Совместим только с SA-MP 0.3.7-R1, поддержки других версий SA-MP не будет.
Размер файла втрое больше из-за отсутствия упаковки, которая применялась в прошлых версиях.
Обновлений, разумеется, больше не будет. Открытого исходного кода тоже.
Источник