Русское сообщество по скриптингу

Как включить friendly fire только для КТ?

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

Как включить friendly fire только для КТ?

Сообщение szeaum6adr » 31 янв 2021, 15:44

Как выключить friendly fire у террористов (зомби) подскажите пожалуйста
Аватара пользователя
szeaum6adr
 
Сообщения: 1
Зарегистрирован: 31 янв 2021, 15:42
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше недели
Языки программирования: Я ничего не знаю

Re: Как включить friendly fire только для КТ?

Сообщение Stimul » 05 фев 2021, 23:38

Не тестировал, но должно работать.

Код: Выделить всё
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN    "Friendly Fire For Terrorists"
#define VERSION    "1.0"
#define AUTHOR    "Stimul"

#define DMG_HEGRENADE    (1<<24)

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    RegisterHam
(Ham_TraceAttack, "player", "fw_PlayerTraceAttack");
    RegisterHam(Ham_TakeDamage, "player", "fw_PlayerTakeDamage");
}

public fw_PlayerTraceAttack(victim, attacker, Float:damage, Float:direction[3], tracehandle, damagebits)
{
    if(is_user_alive(victim)
    && is_user_alive(attacker)
    && victim != attacker
    
&& cs_get_user_team(victim) == CS_TEAM_CT
    
&& cs_get_user_team(attacker) == CS_TEAM_CT)
        return HAM_SUPERCEDE;
    
    return HAM_IGNORED
;
}

public fw_PlayerTakeDamage(victim, inflictor, attacker, Float:damage, damagebits)
{
    if(is_user_alive(victim)
    && is_user_alive(attacker)
    && victim != attacker
    
&& damagebits & DMG_HEGRENADE
    
&& cs_get_user_team(victim) == CS_TEAM_CT
    
&& cs_get_user_team(attacker) == CS_TEAM_CT)
        return HAM_SUPERCEDE;
    
    return HAM_IGNORED
;


Значение mp_friendlyfire должно быть 1.
Аватара пользователя
Stimul
 
Сообщения: 3582
Зарегистрирован: 04 янв 2012, 19:51
Благодарил (а): 192 раз.
Поблагодарили: 1163 раз.
Опыт программирования: Больше трех лет


Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5