Поиск Бессмертие в начале раунда

devilman

Пользователь
Регистрация
11 Июн 2017
Сообщения
10
Симпатии
3
Пол
Мужской
Всем привет,

Есть ли готовый плагин бессмертия в начале раунда? (блокировать любой урон: падения, пули, гранаты, триггеры) Не от спавна игрока и + сколько-то секунд по таску, а через таск от начала раунда (время действия желательно по квару). Например (в кваре указано 10 секунд), человек спавнится на 5-ой секунде раунда, у него есть бессмертие, на 11 секунде - бессмертия нет. То есть бессмертие выдается всем в первые 10 секунд, после 10-ой оно исчезает. Вроде все)

Под HLDS, не Re.

PS Мне не нужен spawn protector, во всяком случае не в том виде, в котором он сейчас. А сафетист игнорит.
 
Последнее редактирование:

ifx

Пользователь
Регистрация
11 Фев 2018
Сообщения
361
Симпатии
148
тебе по сути нужно 2 функции

блочить дамаг
Код:
set_pev(id,pev_takedamage,read_data(1) ? DAMAGE_NO : DAMAGE_AIM);
не блочить дамаг
Код:
set_pev(id,pev_takedamage,read_data(1) ? DAMAGE_YES : DAMAGE_AIM);
ну и дописать таск на 10 сек
 

devilman

Пользователь
Регистрация
11 Июн 2017
Сообщения
10
Симпатии
3
Пол
Мужской
Как-то так?

public round_start(id)
{
if{is_user_alive(id)}
{
set_pev(id,pev_takedamage,read_data(1) ? DAMAGE_NO : DAMAGE_AIM);
}
set_task(get_pcvar_float(g_gmoff), "disablegm", id)
}
 

Vaqtincha

aggressive
Разработчик
Скриптер
Регистрация
28 Янв 2018
Сообщения
963
Симпатии
685
Пол
Мужской

To be or not to be

Пользователь
Регистрация
9 Июн 2017
Сообщения
1.215
Симпатии
304
devilman,
Код:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

#define GOD_TIME         10                // Сколько секунд от начала раунда работает бессмертие ?

public plugin_init()
{
    register_plugin("Start Rnd God", "1.0", "TBONTB");
    register_event("HLTV", "eRoundStart", "a","1=0","2=0");
    RegisterHam(Ham_Spawn, "player", "CBasePlayer_Spawn");
}

new god_active;

public eRoundStart()
{
    god_active = true;
    set_task(GOD_TIME.0, "EndGod");
}

public CBasePlayer_Spawn(id)
{
    if(!is_user_alive(id) || !god_active) return;
    
    set_user_godmode(id, 1);
}

public EndGod()
{
    god_active = false;
    
    for(new id = 1;id <= get_maxplayers(); id++)
    {
        if(!is_user_alive(id)) continue;
        
        set_user_godmode(id, 0);
    }
}
 
Сверху Снизу