Friendlyfire для гранат.

Mr.Black

Участник
Сообщения
145
Реакции
61
Добрый день!
Игра CS GO. Нужно сделать, чтобы союзники могли наносить союзникам урон с he гранат и молотова, но не могли с огнестрельного оружия и ножа(также зевса).
Квары отвечающие за урон по союзникам:
C-подобный:
mp_friendlyfire 1
//Управление коэффициентом снижения пулевого урона по игрокам из своей команды
ff_damage_reduction_bullets 0
//Управление коэффициентом снижения урона гранаты по игрокам из своей команды
ff_damage_reduction_grenade 1
//Управление коэффициентом снижения урона молотова и ножа по игрокам из своей команды
ff_damage_reduction_other 1
Сейчас плагин выглядит следующим образом и урон с огнестрела, ножа и зевса не наносится по союзникам, а с гранат и молотова урон союзникам наносится как и нужно.
C-подобный:
public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype)
{
    if(GetClientTeam(victim) == GetClientTeam(attacker))
    {
        char szWeapon[32];
        GetClientWeapon(attacker, szWeapon, sizeof(szWeapon));
        if(StrEqual(szWeapon[7], "knife") || StrEqual(szWeapon[7], "taser"))
        {
            damage = 0.0;
            return Plugin_Changed;
        }
    }
    return Plugin_Continue;
}

public OnClientPostAdminCheck(client) SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
Помогите, пожалуйста, решить две проблемы:
1) Когда союзники режут союзников с ножа урон не наносится, но происходит замедление. Как отключить это замедление?
2) При падении с большой высоты игроки не получают урона от падения (скорей всего это связано с damagetype урона от ножа, раньше в плагине была проверка на damagetype - переделал по другому, но это не решило проблему). Как сделать проверку получил ли игрок урон с ножа от своего союзника или просто упал с высоты ?
 
Последнее редактирование:
Сверху Снизу