Исходник Проверка на IsWeaponSwitching (for legitbot)

Олдфаг
Статус
Оффлайн
Регистрация
5 Июл 2017
Сообщения
2,108
Реакции[?]
1,189
Поинты[?]
0
p2c метод :whyRly:

C++:
bool C_BaseCombatWeapon::IsWeaponSwitching()
{
    if (this->IsSniper() && !this->IsAuto())
        return false;

    static int g_iLastWeap = 0;
    static bool g_bWeapSwitched = false;

    if (this->m_iItemDefinitionIndex() != g_iLastWeap)
    {
        g_bWeapSwitched = true;
        g_iLastWeap = this->m_iItemDefinitionIndex();
    }

    float flServerTime = g_LocalPlayer->m_nTickBase() * g_GlobalVars->interval_per_tick;
    float flNextAttackTime = this->m_flNextPrimaryAttack();

    if (flServerTime - flNextAttackTime >= 1.f && g_bWeapSwitched)
        g_bWeapSwitched = false;

    return g_bWeapSwitched;
}

Пригодится для проверки на то, можно ли доводиться и стрелять, или нет (функция будет возвращать true, пока анимация смены оружия действует).
C++:
if (pWeapon->IsWeapSwitching())
    return false;
 
ウェンストニー
Участник
Статус
Оффлайн
Регистрация
6 Дек 2017
Сообщения
908
Реакции[?]
201
Поинты[?]
0
Товары в продаже
2
Можно пример ситуации, где это нужно?
Эта анимация идёт 2 секунды, в чём прикол? Мб для визуальной части подойдёт, как для саунд есп, например мол будет надпись над врагом, что он меняет оружие и ты мог его слышать, но для этого есть Weapon Esp
 
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
Можно пример ситуации, где это нужно?
Эта анимация идёт 2 секунды, в чём прикол? Мб для визуальной части подойдёт, как для саунд есп, например мол будет надпись над врагом, что он меняет оружие и ты мог его слышать, но для этого есть Weapon Esp
даже для саунд есп не надо, ты не слышишь когда кто-то меняет ган
 
Олдфаг
Статус
Оффлайн
Регистрация
5 Июл 2017
Сообщения
2,108
Реакции[?]
1,189
Поинты[?]
0
Можно пример ситуации, где это нужно?
Эта анимация идёт 2 секунды, в чём прикол? Мб для визуальной части подойдёт, как для саунд есп, например мол будет надпись над врагом, что он меняет оружие и ты мог его слышать, но для этого есть Weapon Esp
Чтобы легитбот не срабатывал пока идет анимация

даже для саунд есп не надо, ты не слышишь когда кто-то меняет ган
Ты, нет, а звук, на самом деле, идет. Игра "воспроизводит" звук, помню даже пришлось через костыль делать так, чтобы не показывался этот "звук"
 
ウェンストニー
Участник
Статус
Оффлайн
Регистрация
6 Дек 2017
Сообщения
908
Реакции[?]
201
Поинты[?]
0
Товары в продаже
2
даже для саунд есп не надо, ты не слышишь когда кто-то меняет ган
Чтоооооо, тоесть если берёшь в руки оружие, то только ты слышишь передёргивание затвора например?
 
Олдфаг
Статус
Оффлайн
Регистрация
5 Июл 2017
Сообщения
2,108
Реакции[?]
1,189
Поинты[?]
0
Пользователь
Статус
Оффлайн
Регистрация
7 Апр 2016
Сообщения
335
Реакции[?]
96
Поинты[?]
1K
Способ проще

C++:
const float m_flNextAttack = local_player + netvars_m_flNextAttack;
if (m_flNextAttack - curtime > .1f)
    return;
 
Олдфаг
Статус
Оффлайн
Регистрация
5 Июл 2017
Сообщения
2,108
Реакции[?]
1,189
Поинты[?]
0
Способ проще

C++:
const float m_flNextAttack = local_player + netvars_m_flNextAttack;
if (m_flNextAttack - curtime > .1f)
    return;
Нифига подобного. Это будет срабатывать и между выстрелами, а нам нужна проверка лишь когда меняешь оружие
 
Пользователь
Статус
Оффлайн
Регистрация
7 Апр 2016
Сообщения
335
Реакции[?]
96
Поинты[?]
1K
Нифига подобного. Это будет срабатывать и между выстрелами, а нам нужна проверка лишь когда меняешь оружие
Возможно стоили проверить прежде чем написать это?
Ничего между выстрелами срабатывать не будет.
 
Сверху Снизу