Исходник Resolver для legendware по леерам с фиксами из otcv2.idb

Модератор форума
Модератор
Статус
Оффлайн
Регистрация
26 Янв 2020
Сообщения
378
Реакции[?]
157
Поинты[?]
9K
Короче строго не судите, попытался сделать что то годное. Получилось или нет, судите сами.
C++:
void resolver::resolve_yaw()
{

    float no_side = FLT_MAX;

    auto animstate = player->get_animation_state();

    AnimationLayer layers[15];
    AnimationLayer moveLayers[3][15];
    memcpy(moveLayers, player->get_animlayers(), sizeof(AnimationLayer) * 15);

    auto speed = player->m_vecVelocity().Length2D();
    int m_side;
   
        if (speed <= 0.1f)
        {
            auto delta = math::AngleDiff(player->m_angEyeAngles().y, player->get_animation_state()->m_flGoalFeetYaw);

            if (layers[3].m_flWeight == 0.0f && layers[3].m_flCycle == 0.0f)
            {
                resolving_way = (math::AngleDiff(player->get_animation_state()->m_flEyeYaw, player->get_animation_state()->m_flGoalFeetYaw) <= 0.0) - 1;
            }
        }

        if (int(layers[12].m_flWeight * 1000.0f) == int(layers[6].m_flWeight * 1000.0f))
        {
            float firstDelta = fabs(layers[6].m_flPlaybackRate - moveLayers[0][6].m_flPlaybackRate);

            float secondDelta = fabs(layers[6].m_flPlaybackRate - moveLayers[2][6].m_flPlaybackRate);

            float thirdDelta = fabs(layers[6].m_flPlaybackRate - moveLayers[1][6].m_flPlaybackRate);

            if (firstDelta < secondDelta || thirdDelta <= secondDelta || (secondDelta * 1000.0))
            {
                if (firstDelta >= thirdDelta && secondDelta > thirdDelta && !(thirdDelta * 1000.0))
                {
                    m_side= 1;
                }
            }
            else
            {
                m_side= -1;
            }
        }
 


    if (m_side= -1)
    {
     
        animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 60.f);
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 2)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 60.f);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 30.f);
            break;
        }

     
    }
    else if (m_side= 1)
    {
   
        animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 60.f);
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 2)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 60.f);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 30.f);
            break;
        }
    }

 
}
 
Последнее редактирование:
На ваш бан.
Эксперт
Статус
Оффлайн
Регистрация
7 Дек 2020
Сообщения
1,454
Реакции[?]
434
Поинты[?]
36K
Короче строго не судите, попытался сделать что то годное. Получилось или нет, судите сами.
C++:
void resolver::resolve_yaw()
{
    CGameTrace enterTrace;

    auto isEnemy = ((player_t*)enterTrace.hit_entity)->m_iTeamNum() != g_ctx.local()->m_iTeamNum();

    float no_side = FLT_MAX;

    auto animstate = player->get_animation_state();

    AnimationLayer layers[15];
    AnimationLayer moveLayers[3][15];
    memcpy(moveLayers, player->get_animlayers(), sizeof(AnimationLayer) * 15);

    auto speed = player->m_vecVelocity().Length2D();
    int resolving_way;
    if (isEnemy)
    {
        if (speed <= 0.1f)
        {
            auto delta = math::AngleDiff(player->m_angEyeAngles().y, player->get_animation_state()->m_flGoalFeetYaw);

            if (layers[3].m_flWeight == 0.0f && layers[3].m_flCycle == 0.0f)
            {
                resolving_way = (math::AngleDiff(player->get_animation_state()->m_flEyeYaw, player->get_animation_state()->m_flGoalFeetYaw) <= 0.0) - 1;
            }
        }

        if (int(layers[12].m_flWeight * 1000.0f) == int(layers[6].m_flWeight * 1000.0f))
        {
            float firstDelta = fabs(layers[6].m_flPlaybackRate - moveLayers[0][6].m_flPlaybackRate);

            float secondDelta = fabs(layers[6].m_flPlaybackRate - moveLayers[2][6].m_flPlaybackRate);

            float thirdDelta = fabs(layers[6].m_flPlaybackRate - moveLayers[1][6].m_flPlaybackRate);

            if (firstDelta < secondDelta || thirdDelta <= secondDelta || (secondDelta * 1000.0))
            {
                if (firstDelta >= thirdDelta && secondDelta > thirdDelta && !(thirdDelta * 1000.0))
                {
                    resolving_way = 1;
                }
            }
            else
            {
                resolving_way = -1;
            }
        }
   }
   


    if (resolving_way = -1)
    {
       
        animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 60.f);
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 2)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 60.f);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 30.f);
            break;
        }

       
    }
    else if (resolving_way = 1)
    {
     
        animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 60.f);
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 2)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 60.f);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 30.f);
            break;
        }
    }

   
}
а как его вставить в легендвар?
 
Забаненный
Статус
Оффлайн
Регистрация
17 Ноя 2020
Сообщения
1
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
auto isEnemy = ((player_t*)enterTrace.hit_entity)->m_iTeamNum() != g_ctx.local()->m_iTeamNum();
ЧЕГО НАХУЙ -________________------------
 
// removed because antipasta
Забаненный
Статус
Оффлайн
Регистрация
10 Сен 2018
Сообщения
312
Реакции[?]
145
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
auto isEnemy = ((player_t*)enterTrace.hit_entity)->m_iTeamNum() != g_ctx.local()->m_iTeamNum();
красиво делаешь, ничего не скажешь
 
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
26 Янв 2020
Сообщения
378
Реакции[?]
157
Поинты[?]
9K
Код:
auto isEnemy = ((player_t*)enterTrace.hit_entity)->m_iTeamNum() != g_ctx.local()->m_iTeamNum();
красиво делаешь, ничего не скажешь
уже увидел, сейчас исправлю
C++:
e->GetEyeYaw().y = e->GetEyeYaw().y + math::random_float(-60.0f, 60.0f);
так будет лучше
я тут не на рандом значения выбираю. В начале идет первый сайд а потом уже идет перебор 2х других
 
Забаненный
Статус
Оффлайн
Регистрация
3 Дек 2020
Сообщения
8
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
What's the point of this? Default Lw resolver is 100x better than this wrong reversed shit.
 
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
26 Янв 2020
Сообщения
378
Реакции[?]
157
Поинты[?]
9K
Пользователь
Статус
Оффлайн
Регистрация
7 Фев 2020
Сообщения
76
Реакции[?]
33
Поинты[?]
0
Короче строго не судите, попытался сделать что то годное. Получилось или нет, судите сами.
C++:
void resolver::resolve_yaw()
{

    float no_side = FLT_MAX;

    auto animstate = player->get_animation_state();

    AnimationLayer layers[15];
    AnimationLayer moveLayers[3][15];
    memcpy(moveLayers, player->get_animlayers(), sizeof(AnimationLayer) * 15);

    auto speed = player->m_vecVelocity().Length2D();
    int m_side;
  
        if (speed <= 0.1f)
        {
            auto delta = math::AngleDiff(player->m_angEyeAngles().y, player->get_animation_state()->m_flGoalFeetYaw);

            if (layers[3].m_flWeight == 0.0f && layers[3].m_flCycle == 0.0f)
            {
                resolving_way = (math::AngleDiff(player->get_animation_state()->m_flEyeYaw, player->get_animation_state()->m_flGoalFeetYaw) <= 0.0) - 1;
            }
        }

        if (int(layers[12].m_flWeight * 1000.0f) == int(layers[6].m_flWeight * 1000.0f))
        {
            float firstDelta = fabs(layers[6].m_flPlaybackRate - moveLayers[0][6].m_flPlaybackRate);

            float secondDelta = fabs(layers[6].m_flPlaybackRate - moveLayers[2][6].m_flPlaybackRate);

            float thirdDelta = fabs(layers[6].m_flPlaybackRate - moveLayers[1][6].m_flPlaybackRate);

            if (firstDelta < secondDelta || thirdDelta <= secondDelta || (secondDelta * 1000.0))
            {
                if (firstDelta >= thirdDelta && secondDelta > thirdDelta && !(thirdDelta * 1000.0))
                {
                    m_side= 1;
                }
            }
            else
            {
                m_side= -1;
            }
        }



    if (m_side= -1)
    {
    
        animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 60.f);
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 2)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 60.f);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 30.f);
            break;
        }

    
    }
    else if (m_side= 1)
    {
  
        animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 60.f);
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 2)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 60.f);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 30.f);
            break;
        }
    }


}
неплохо только сурс лв сам говно типо когда меняешь глобально резольвер (тобеж на animlayer) рейдж тупит
 
:roflanBuldiga:
Пользователь
Статус
Оффлайн
Регистрация
3 Апр 2019
Сообщения
428
Реакции[?]
117
Поинты[?]
1K
я не согласен, этот рес могет. Тем более что это фри версия. И с учетом того что это не весь код)
Не весь код) ГЫ) Смешно) Хахахаха). Держу в курсе половина пастеров этого форума никак не дополнит. А знающие люди давно уже написали резольверы. Соу бесполезная хуйня. /del тему
 
Забаненный
Статус
Оффлайн
Регистрация
7 Дек 2020
Сообщения
11
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Короче строго не судите, попытался сделать что то годное. Получилось или нет, судите сами.
C++:
void resolver::resolve_yaw()
{

    float no_side = FLT_MAX;

    auto animstate = player->get_animation_state();

    AnimationLayer layers[15];
    AnimationLayer moveLayers[3][15];
    memcpy(moveLayers, player->get_animlayers(), sizeof(AnimationLayer) * 15);

    auto speed = player->m_vecVelocity().Length2D();
    int m_side;
 
        if (speed <= 0.1f)
        {
            auto delta = math::AngleDiff(player->m_angEyeAngles().y, player->get_animation_state()->m_flGoalFeetYaw);

            if (layers[3].m_flWeight == 0.0f && layers[3].m_flCycle == 0.0f)
            {
                resolving_way = (math::AngleDiff(player->get_animation_state()->m_flEyeYaw, player->get_animation_state()->m_flGoalFeetYaw) <= 0.0) - 1;
            }
        }

        if (int(layers[12].m_flWeight * 1000.0f) == int(layers[6].m_flWeight * 1000.0f))
        {
            float firstDelta = fabs(layers[6].m_flPlaybackRate - moveLayers[0][6].m_flPlaybackRate);

            float secondDelta = fabs(layers[6].m_flPlaybackRate - moveLayers[2][6].m_flPlaybackRate);

            float thirdDelta = fabs(layers[6].m_flPlaybackRate - moveLayers[1][6].m_flPlaybackRate);

            if (firstDelta < secondDelta || thirdDelta <= secondDelta || (secondDelta * 1000.0))
            {
                if (firstDelta >= thirdDelta && secondDelta > thirdDelta && !(thirdDelta * 1000.0))
                {
                    m_side= 1;
                }
            }
            else
            {
                m_side= -1;
            }
        }



    if (m_side= -1)
    {
   
        animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 60.f);
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 2)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 60.f);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 30.f);
            break;
        }

   
    }
    else if (m_side= 1)
    {
 
        animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 60.f);
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 2)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 60.f);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 30.f);
            break;
        }
    }


}
AnimationLayer layers[15]; // зачем
AnimationLayer moveLayers[3][15]; // зачем
Ты должен его сторить и потом сравнивать 0.о, а не одно и тоже сравнивать 0.оооооооооооооооооооо
memcpy(moveLayers, player->get_animlayers(), sizeof(AnimationLayer) * 15); // погугли чё такое мемкопи блин

C++:
if (m_side= -1)
    {
   
        animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 60.f);
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 2)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 60.f);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 30.f);
            break;
        }

   
    }
    else if (m_side= 1)
    {
 
        animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 60.f);
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 2)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 60.f);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 30.f);
            break;
        }
    }
Крутой брутфорс друк, интересно, у таких как ты вообще есть логика, про мозг я молчу
да ещё и брать всё с паблик "реверс", вронг вронг и ещё раз вронг
 
Забаненный
Статус
Оффлайн
Регистрация
7 Дек 2020
Сообщения
11
Реакции[?]
3
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Своими темами вы заблуждаете друг людей, которые только вникаются в сферу хвх кодинга, половина форума обсурда
Как минимум, еслиб не было таким stupid тем, было бы легче другим развиваться, смотря на ПРАВИЛЬНЫЙ КОД ИЛИ ПОДСКАЗКИ, ХУЙ КТО ВАМ ДАСТ ЗА ФРИ ЧТО-ТО НОРМАЛЬНОЕ.
 
Эксперт
Статус
Оффлайн
Регистрация
17 Фев 2017
Сообщения
864
Реакции[?]
420
Поинты[?]
1K
Блять когда сливаешь свои идею находится какие то пидорасы которые начинают пиздить то что они всё знают но на самом деле всё кто много пиздят уже на помойке валяются. Человек блять бесплатно дал свои наработки а вы бляди не до оцениваете друд чужих. Так что пошли нахуй отсюда гении хуевы.
Ну у парня половина кода не правильно сделана. Хотя сама логика брута, уже есть прогресс. Но как минимум, ему следовало бы изучить С++.

Из-за того, что он присваивает сайды, вместо проверки на равенство, он ломает весь код. Я уже молчу о том, что он сравнивает вейт 12 леера с вейтом 6 леера, вместо того, что б нормально спастить.

Нафиг вы вообще пастите этот мусор, я спастил себе, ели попадает. Ну ладно там я, может я дурень и что-то не так сделал. Так в меня пандора тоже миссает в мувы постоянно, у которой такой же пащенный ресольвер.... Перестаньте пастить этот бред, обычный +- 60 рандом на мувы будет куда полезнее чем вот это вот все, даже если бы оно на 100% правильным.
 
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
26 Янв 2020
Сообщения
378
Реакции[?]
157
Поинты[?]
9K
Ну у парня половина кода не правильно сделана. Хотя сама логика брута, уже есть прогресс. Но как минимум, ему следовало бы изучить С++.

Из-за того, что он присваивает сайды, вместо проверки на равенство, он ломает весь код. Я уже молчу о том, что он сравнивает вейт 12 леера с вейтом 6 леера, вместо того, что б нормально спастить.

Нафиг вы вообще пастите этот мусор, я спастил себе, ели попадает. Ну ладно там я, может я дурень и что-то не так сделал. Так в меня пандора тоже миссает в мувы постоянно, у которой такой же пащенный ресольвер.... Перестаньте пастить этот бред, обычный +- 60 рандом на мувы будет куда полезнее чем вот это вот все, даже если бы оно на 100% правильным.
уже работаем над фиксом ошибочек
 
Участник
Статус
Оффлайн
Регистрация
26 Апр 2018
Сообщения
852
Реакции[?]
181
Поинты[?]
0
Короче строго не судите, попытался сделать что то годное. Получилось или нет, судите сами.
C++:
void resolver::resolve_yaw()
{

 

    if (m_side= -1)
    {
   
        animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 60.f);
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 2)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 60.f);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 30.f);
            break;
        }

   
    }
    else if (m_side= 1)
    {
 
        animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 60.f);
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 2)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 60.f);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + 30.f);
            break;
        }
    }


}
это что за говно код блин если ты сделал фикс анимацию енеми правильно и хочей брутить по анимации то этот часть кода нахер не нужно
это что за говно код блин если ты сделал фикс анимацию енеми правильно и хочей брутить по анимации то этот часть кода нахер не нужно
и да какие нафиг
animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y - 30.f); всегда было 60 и 45,
 
Участник
Статус
Оффлайн
Регистрация
31 Дек 2018
Сообщения
862
Реакции[?]
225
Поинты[?]
0
Товары в продаже
1
Сверху Снизу