Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для execution
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±

    Непонятные краши

    Здравствуйте, с недавних времён появились непонятные краши, которые раньше никогда не появлялись.
    Это не единичный случай и случается массово. Бывает кикает по 20-30 человек и с кодом: Warning(s007): Exception 0xC0000005 at 0x44A503

    Находил в интернете, писали, что может из-за невалидного объекта 11102 или же установки аттача. Но нет ни такого объекта, ни аттачей никаких.
    Если кто-то сталкивался с таким, посоветуйте как решить данную проблему

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Если крашит в каком-то конкретном месте на карте, то, скорее всего, дело в невалидном ID объекта (где-то создаёшь объект с несуществующим ID модели). Либо же создаётся объект автоматических ворот, которые обычно на гаражах с покраской стоят (точно уже не помню суть проблемы, но, в общих чертах, проблема заключается в скрипте открытия этих самых ворот, который и крашит игру).

    Как вариант - сделай перехват CreateObject/CreatePlayerObject/CreateDynamicObject/CreateDynamicObjectEx, возьми вот эту функцию и делай проверку на то, какой ID модели попадает в функции + выводи строку этих функций.

    Ну вот пример для CreateObject
    1. stock test_CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance = 0.0, line)
    2. {
    3. if(!IsValidObjectModel(modelid))
    4. {
    5. printf("Объект с моделью %i невалиден (строка %d)", modelid, line);
    6. return 1;
    7. }
    8. return CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance);
    9. }
    10. #if defined _ALS_CreateObject
    11. #undef CreateObject
    12. #else
    13. #define _ALS_CreateObject
    14. #endif
    15.  
    16. #define CreateObject(%0) test_CreateObject(%0, .line=__line)

    Для работы требуется последняя версия компилятора. Либо убери код, связанный с "line"
    Последний раз редактировалось DeimoS; 20.06.2019 в 04:02.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для execution
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±
    Огромное спасибо за совет, учту. Но вроде обошёлся путём удаление дубликатов объектов.

  4. #4
    Аватар для execution
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Либо же создаётся объект автоматических ворот, которые обычно на гаражах с покраской стоят (точно уже не помню суть проблемы, но, в общих чертах, проблема заключается в скрипте открытия этих самых ворот, который и крашит игру).
    А как тогда с ними быть?

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •