PDA

Просмотр полной версии : [Вопрос] Непонятные краши



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

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

DeimoS
20.06.2019, 03:55
Если крашит в каком-то конкретном месте на карте, то, скорее всего, дело в невалидном ID объекта (где-то создаёшь объект с несуществующим ID модели). Либо же создаётся объект автоматических ворот, которые обычно на гаражах с покраской стоят (точно уже не помню суть проблемы, но, в общих чертах, проблема заключается в скрипте открытия этих самых ворот, который и крашит игру).

Как вариант - сделай перехват CreateObject/CreatePlayerObject/CreateDynamicObject/CreateDynamicObjectEx, возьми вот эту функцию (http://pro-pawn.ru/showthread.php?15206-IsValidObjectModel) и делай проверку на то, какой ID модели попадает в функции + выводи строку этих функций.

Ну вот пример для CreateObject
stock test_CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance = 0.0, line)
{
if(!IsValidObjectModel(modelid))
{
printf("Объект с моделью %i невалиден (строка %d)", modelid, line);
return 1;
}
return CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance);
}
#if defined _ALS_CreateObject
#undef CreateObject
#else
#define _ALS_CreateObject
#endif

#define CreateObject(%0) test_CreateObject(%0, .line=__line)
Для работы требуется последняя версия компилятора. Либо убери код, связанный с "line"

execution
22.06.2019, 00:08
Огромное спасибо за совет, учту. Но вроде обошёлся путём удаление дубликатов объектов.

execution
02.07.2019, 10:04
Либо же создаётся объект автоматических ворот, которые обычно на гаражах с покраской стоят (точно уже не помню суть проблемы, но, в общих чертах, проблема заключается в скрипте открытия этих самых ворот, который и крашит игру).


А как тогда с ними быть?