Survive After Fall

Survive After Fall 0.0.2

Нет прав для скачивания
Сообщения
336
Реакции
414
Помог
7 раз(а)
Albertio добавил(а) новый ресурс:

Survive After Fall - Выживание после смертельного падения

Плагин позволяет выживать после смертельного падения, т.е. если при падении урон, который вам должен нанестись больше, чем уровень вашего здоровья, то вы выживете и у вас остентся столько здоровья, сколько укажите в исходнике плагина. В плагине так же предусмотрено, либо бесконечное выживание при падении, либо выжить 1 раз при смертельном падении.
Узнать больше об этом ресурсе...
 

d3m37r4

111111
Сообщения
1,454
Реакции
1,194
Помог
10 раз(а)
Хук спавна лишний же, без проверки булевой переменной всё то же самое будет работать?
 
Сообщения
336
Реакции
414
Помог
7 раз(а)
d3m37r4, по логике плагина не лишний
 
Сообщения
333
Реакции
290
Помог
9 раз(а)
C++:
public client_putinserver(id)
Зачем?
 
Последнее редактирование:
Сообщения
336
Реакции
414
Помог
7 раз(а)
zhorzh78, если мертвый игрок вышел сервера, переменная, не оставалось true
 
Сообщения
1,701
Реакции
1,512
Помог
26 раз(а)
Можно было бы обойтись одной статик переменной (0-1-2) в функции падения вместо була и форвардов.
 
Сообщения
500
Реакции
275
Помог
6 раз(а)
Интересная штука. Можно ещё добавить проверку флага доступа для срабатывания, чтобы админы могли дополнить VIP привилегию на сервере. Актуально для той попы, в которой находится сейчас игра.
 
Сообщения
336
Реакции
414
Помог
7 раз(а)
CHEL74,
Код:
#include <amxmodx>
#include <reapi>

#define AMOUNT_HEALTH_SAVED 1.0        // Сколько ХП оставить игроку при смертельных падениях
//#define ENDLESS_SURVIVAL            // Раскомментируйте, что бы постоянно выживать при смертельных падениях
//#define ACCESS_FLAG ADMIN_LEVEL_H    // Раскомментируйте и укажите флаг, что бы при смертельных падениях, выживали игроки с этим флагом

public plugin_init()
{
    register_plugin("Survive After Fall", "0.0.2", "Albertio");

    RegisterHookChain(RG_CSGameRules_FlPlayerFallDamage, "PlayerFallDamage_Post", .post = true);
}

public PlayerFallDamage_Post(const index)
{
#if defined ACCESS_FLAG
    if(~get_user_flags(index) & ACCESS_FLAG)
    {
        return HC_CONTINUE;
    }
#endif
    new pHealth = floatround(get_entvar(index, var_health));
    new iSpawns = get_member(index, m_iNumSpawns);

    if(floatround(Float:GetHookChainReturn(ATYPE_FLOAT)) >= pHealth && iSpawns == 1)
    {
#if !defined ENDLESS_SURVIVAL
        set_member(index, m_iNumSpawns, iSpawns + 1);
#endif
        SetHookChainReturn(ATYPE_FLOAT, pHealth - AMOUNT_HEALTH_SAVED);
        return HC_SUPERCEDE;
    }

    return HC_CONTINUE;
}
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу