Как отключить смерть от удара оружием?

  • Автор темы Автор темы Lev Angel
  • Дата начала Дата начала

Lev Angel

Developer
Команда форума
Скриптер
Есть такая фишка, что если пед стоит возле игрока и нажать R, то игрок бъет его прикладом и пед сразу падает и умирает. Кто-нибудь в курсе как это отключить? Я так подозреваю что есть какая-то нативка или конфиг флаг для этого, но ничего не могу найти...
1654436843193.png
 
Решение
В общем пока решил так. В моем случае работает идеально.
JavaScript:
mp.events.add('render', () => {
    if(!mp.players.local.isInMeleeCombat()){
        mp.game.controls.disableControlAction(32, 140, true);
        mp.game.controls.disableControlAction(32, 141, true);
        mp.game.controls.disableControlAction(32, 142, true);
        mp.game.controls.disableControlAction(32, 263, true);
        mp.game.controls.disableControlAction(32, 264, true);
    }
});
Один минус - если игрок с кулаками или холодным оружием, то пока он не вступит в бой, то не сможет махать кулаками. Но это можно улучшить если отключать не по isInMeleeCombat, а отключать только если в руках не холодное оружие.
Есть такая фишка, что если пед стоит возле игрока и нажать R, то игрок бъет его прикладом и пед сразу падает и умирает. Кто-нибудь в курсе как это отключить? Я так подозреваю что есть какая-то нативка или конфиг флаг для этого, но ничего не могу найти...
Суть в том, что данная анимация должна работать только в том случае, если вражеский пед не заметил тебя, и так как в рейдже это не обрабатывается, то соответсвенно в любом случае этот удар будет работать. Единственное решение, которое я находил в сети, вроде на форуме FiveM, это выпиливание анимации мгновенного убийства у каждого оружия. К сожалению сам так и не успел разобраться в этом вопросе :(
 
Суть в том, что данная анимация должна работать только в том случае, если вражеский пед не заметил тебя, и так как в рейдже это не обрабатывается, то соответсвенно в любом случае этот удар будет работать. Единственное решение, которое я находил в сети, вроде на форуме FiveM, это выпиливание анимации мгновенного убийства у каждого оружия. К сожалению сам так и не успел разобраться в этом вопросе :(
Понял, спасибо. Поищу на fivem еще.
 
При помощи метода isPerformingStealthKill можно определить момент stelth атаки. Но как отменить ее хз. Пробовал player.clearTasksImmediately, но оно только сбрасывает анимацию игрока при этом пед все равно падает. Буду ковырять дальше, возможно это не верный путь и нужно идти по пути отключения кнопок.
JavaScript:
mp.events.add('render', () => {
    if (mp.players.local.isPerformingStealthKill()){
        // как-то отменить здесь атаку или урон
    }
});
 
При помощи метода isPerformingStealthKill можно определить момент stelth атаки. Но как отменить ее хз. Пробовал player.clearTasksImmediately, но оно только сбрасывает анимацию игрока при этом пед все равно падает. Буду ковырять дальше, возможно это не верный путь и нужно идти по пути отключения кнопок.
JavaScript:
mp.events.add('render', () => {
    if (mp.players.local.isPerformingStealthKill()){
        // как-то отменить здесь атаку или урон
    }
});
Я так и не нашёл подходящий инпут на отключение )
 
В общем пока решил так. В моем случае работает идеально.
JavaScript:
mp.events.add('render', () => {
    if(!mp.players.local.isInMeleeCombat()){
        mp.game.controls.disableControlAction(32, 140, true);
        mp.game.controls.disableControlAction(32, 141, true);
        mp.game.controls.disableControlAction(32, 142, true);
        mp.game.controls.disableControlAction(32, 263, true);
        mp.game.controls.disableControlAction(32, 264, true);
    }
});
Один минус - если игрок с кулаками или холодным оружием, то пока он не вступит в бой, то не сможет махать кулаками. Но это можно улучшить если отключать не по isInMeleeCombat, а отключать только если в руках не холодное оружие.
 
  • Like
Реакции: C4_
Решение
Хз, у себя проверил и не смог воспроизвести. Но возможно я что-то не так делаю. Может еще от мода зависит.
 
Этот скрипт куда вставлять?)
Я новичок и мало что знаю, в ClientSide?
И еще вопрос, если я пишу на C#, может ли быть у меня скрипты и js и на c#? Типо что-то работает на даже, а что-то на с#.
В клиентский скрипт. По поводу совместной работы c# и js не подскажу, всегда использую только js
 
В недавнем релизе появился новый клиентский ивент MeleeActionDamage который возможно решает эту проблему.
JavaScript:
mp.events.add('meleeActionDamage', (source, target, weaponHash, damage, isCritical) => {
    if (damage >= 500) { //disable instant 'stealth' kill
        return true;
    }
});
 
Назад
Верх