Исправление плагина.

Статус
В этой теме нельзя размещать новые ответы.

alexmy

Участник
Сообщения
284
Реакции
13
Всем привет. Есть желающие платно взяться, за исправление у плагина предупреждений оптимизировать по возможности и самое главное найти кривой код, что приводит сервер в краш.
Если кто то возьмется я по максимум опишу при каких условиях сервер уходит в краш.
 

Вложения

  • l4d_fly_infected.sp
    29.8 КБ · Просмотры: 8

alexmy

Участник
Сообщения
284
Реакции
13
Оффтоп
L4D, госпиталь 5 карта, игроки вылазят на крышу, спавнишь танк, введешь его за собой чтоб летел, к радио как только он долетает до труб где можно бегать, локальный сервер уходит в краш... хотя на обычных картах такого нету.
--- Добавлено позже ---
Всем привет, помогите добить плагин кто нибудь, если что могу и на кофеек подкинуть :D. Что писал в шапке практически исправил, но еще где то в коде есть касяк и сервер падает. Касяк происходит если собирается взлетать узком месте.
l4d_fly_infected.sp
 
Последнее редактирование:

denmarko

Участник
Сообщения
5
Реакции
6
Я работал над етим плагином и обноружыл один косяк в функции TraceFly.
Етод косяк в условии проверки:
C-подобный:
    if(ScanTime[ent]+1.0<=time) // <-- вот здесь
    {
        ScanTime[ent]=time;
        if(fake)enemy=GetEnemy(posmissile, velocitymissile, enemyteam);
        else
        {
            new Float:lookdir[3];
            GetClientEyeAngles(ent, lookdir);
            GetAngleVectors(lookdir, lookdir, NULL_VECTOR, NULL_VECTOR);
            NormalizeVector(lookdir, lookdir);
            enemy=GetEnemy(posmissile, lookdir, enemyteam);
        }
    }
я переделал и пока небыло ни одного краша во время проверки но тестить нужно:
C-подобный:
    if(fake){
        enemy = GetEnemy(posmissile, velocitymissile, 2);
    } else {
        float lookdir[3];
        GetClientEyeAngles(ent, lookdir);
        GetAngleVectors(lookdir, lookdir, NULL_VECTOR, NULL_VECTOR);
        NormalizeVector(lookdir, lookdir);
        enemy = GetEnemy(posmissile, lookdir, 2);
    }
убрано само условие проверки и удалена перемена ScanTime.
 

alexmy

Участник
Сообщения
284
Реакции
13
Я работал над етим плагином и обноружыл один косяк в функции TraceFly.
Етод косяк в условии проверки:
C-подобный:
    if(ScanTime[ent]+1.0<=time) // <-- вот здесь
    {
        ScanTime[ent]=time;
        if(fake)enemy=GetEnemy(posmissile, velocitymissile, enemyteam);
        else
        {
            new Float:lookdir[3];
            GetClientEyeAngles(ent, lookdir);
            GetAngleVectors(lookdir, lookdir, NULL_VECTOR, NULL_VECTOR);
            NormalizeVector(lookdir, lookdir);
            enemy=GetEnemy(posmissile, lookdir, enemyteam);
        }
    }
я переделал и пока небыло ни одного краша во время проверки но тестить нужно:
C-подобный:
    if(fake){
        enemy = GetEnemy(posmissile, velocitymissile, 2);
    } else {
        float lookdir[3];
        GetClientEyeAngles(ent, lookdir);
        GetAngleVectors(lookdir, lookdir, NULL_VECTOR, NULL_VECTOR);
        NormalizeVector(lookdir, lookdir);
        enemy = GetEnemy(posmissile, lookdir, 2);
    }
убрано само условие проверки и удалена перемена ScanTime.
Кинь готовый=)
 

denmarko

Участник
Сообщения
5
Реакции
6
вот
 

Вложения

  • l4d_fly_infected.sp
    26.2 КБ · Просмотры: 7
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу