FlashBang DynLight

FlashBang DynLight 1.3

Нет прав для скачивания
Сообщения
61
Реакции
14
Kristinka и headway, нужно заменить синк на RG_CGrenade_ExplodeFlashbang.
Че по коду? ? Спасибо

Код:
#include <amxmodx>
#include <engine>
#tryinclude <reapi>

//#define RANDOM_COLOR         // расскомментируйте, чтобы цвет эффекта был рандомным

#if !defined RANDOM_COLOR
    enum CLR { R, G, B };
    new g_arrEffectColors[CLR] =     // цвет эффекта в формате RGB (настраивается в фигурных скобках)
    {
        255, // R
        255, // G
        255  // B
    }
#endif

const EffectRadius= 50;     // радиус действия эффекта
const EffectLife  = 8;        // продолжительность "жизни" эффекта
const EffectDecayR= 50;        // радиус затухания эффекта. должен быть больше либо равен EffectRadius, иначе будет убого.

#if AMXX_VERSION_NUM < 183                                                                                         
    #include <colorchat>
    
    #define print_team_default DontChange
    #define print_team_grey    Grey
    #define print_team_red     Red
    #define print_team_blue    Blue
    
    #define MAX_PLAYERS 32
#endif

new Float:g_fOldOrigin[3];
new bool:g_bDynLight[33];

public plugin_init()
{
#if defined _reapi_included
    register_plugin("FlashBang DynLight", "1.3 [REAPI]", "neugomon");
#else
    register_plugin("FlashBang DynLight", "1.3 [ENGINE]", "neugomon");
#endif
    register_think("grenade", "ThinkGrenade");
    
}

public client_putinserver(id)
{
    new szDL[3];
    if(get_user_info(id, "dl", szDL, charsmax(szDL)))
        g_bDynLight[id] = str_to_num(szDL) ? true : false;
    else    g_bDynLight[id] = false;
}

public ThinkGrenade(const ent)
{
#if defined _reapi_included
    if(!is_entity(ent))
#else
    if(!is_valid_ent(ent))
#endif   
        return PLUGIN_CONTINUE;

    static model[11];
#if defined _reapi_included
    get_entvar(ent, var_model, model, charsmax(model));
    new id = get_entvar(ent, var_owner);
#else
    entity_get_string(ent, EV_SZ_model, model, charsmax(model));
    new id = entity_get_edict(ent, EV_ENT_owner);
#endif
    if(is_user_connected(id))
    {
        if(!g_bDynLight[id])
            return PLUGIN_CONTINUE;
    }
    
    if(model[7] == 'w' && model[8] == '_' && model[9] == 'f')
    {
    #if defined _reapi_included
        if(Float:get_entvar(ent, var_dmgtime) > get_gametime())
    #else
        if(entity_get_float(ent, EV_FL_dmgtime) > get_gametime())
    #endif
            return PLUGIN_CONTINUE;
        
        static Float:origin[3];
    #if defined _reapi_included
        get_entvar(ent, var_origin, origin);
    #else
        entity_get_vector(ent, EV_VEC_origin, origin);
    #endif
        if(
            g_fOldOrigin[0] == origin[0] ||
            g_fOldOrigin[1] == origin[1] ||
            g_fOldOrigin[2] == origin[2]
        )    return PLUGIN_CONTINUE;

        g_fOldOrigin[0] = origin[0];
        g_fOldOrigin[1] = origin[1];
        g_fOldOrigin[2] = origin[2];
        
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
        write_byte(TE_DLIGHT);
        write_coord(floatround(origin[0]));
        write_coord(floatround(origin[1]));
        write_coord(floatround(origin[2]));
        write_byte(EffectRadius);
    #if defined RANDOM_COLOR
        write_byte(random(255));
        write_byte(random(255));
        write_byte(random(255));
    #else
        write_byte(g_arrEffectColors[R]);
        write_byte(g_arrEffectColors[G]);
        write_byte(g_arrEffectColors[B]);
    #endif
        write_byte(EffectLife);
        write_byte(EffectDecayR);
        message_end();
    }
    return PLUGIN_CONTINUE;
}
 

d3m37r4

111111
Сообщения
1,449
Реакции
1,175
Помог
10 раз(а)
headway, дык раздел заказов существует. Как грится: "любой каприз за ваши деньги".
 
Сообщения
61
Реакции
14
d3m37r4, ,быть может кто-то за спасибо сделает ? Как грится
 
Сообщения
75
Реакции
82
Помог
6 раз(а)
headway, В чем собственно дело?
RG_CGrenade_ExplodeFlashbang(const this, tracehandle, const bitsDamageType), получай координаты у this и рисуй нужный эффект. Ничего сложного!
 
  • Нравится
Реакции: Ayk
Сообщения
61
Реакции
14
headway, В чем собственно дело?
RG_CGrenade_ExplodeFlashbang(const this, tracehandle, const bitsDamageType), получай координаты у this и рисуй нужный эффект. Ничего сложного!
Че по коду? ? Спасибо

Код:
#include <amxmodx>
#include <engine>
#tryinclude <reapi>

//#define RANDOM_COLOR         // расскомментируйте, чтобы цвет эффекта был рандомным

#if !defined RANDOM_COLOR
    enum CLR { R, G, B };
    new g_arrEffectColors[CLR] =     // цвет эффекта в формате RGB (настраивается в фигурных скобках)
    {
        255, // R
        255, // G
        255  // B
    }
#endif

const EffectRadius= 50;     // радиус действия эффекта
const EffectLife  = 8;        // продолжительность "жизни" эффекта
const EffectDecayR= 50;        // радиус затухания эффекта. должен быть больше либо равен EffectRadius, иначе будет убого.

#if AMXX_VERSION_NUM < 183                                                                                        
    #include <colorchat>
   
    #define print_team_default DontChange
    #define print_team_grey    Grey
    #define print_team_red     Red
    #define print_team_blue    Blue
   
    #define MAX_PLAYERS 32
#endif

new Float:g_fOldOrigin[3];
new bool:g_bDynLight[33];

public plugin_init()
{
#if defined _reapi_included
    register_plugin("FlashBang DynLight", "1.3 [REAPI]", "neugomon");
#else
    register_plugin("FlashBang DynLight", "1.3 [ENGINE]", "neugomon");
#endif
    register_think("grenade", "ThinkGrenade");
   
}

public client_putinserver(id)
{
    new szDL[3];
    if(get_user_info(id, "dl", szDL, charsmax(szDL)))
        g_bDynLight[id] = str_to_num(szDL) ? true : false;
    else    g_bDynLight[id] = false;
}

public ThinkGrenade(const ent)
{
#if defined _reapi_included
    if(!is_entity(ent))
#else
    if(!is_valid_ent(ent))
#endif  
        return PLUGIN_CONTINUE;

    static model[11];
#if defined _reapi_included
    get_entvar(ent, var_model, model, charsmax(model));
    new id = get_entvar(ent, var_owner);
#else
    entity_get_string(ent, EV_SZ_model, model, charsmax(model));
    new id = entity_get_edict(ent, EV_ENT_owner);
#endif
    if(is_user_connected(id))
    {
        if(!g_bDynLight[id])
            return PLUGIN_CONTINUE;
    }
   
    if(model[7] == 'w' && model[8] == '_' && model[9] == 'f')
    {
    #if defined _reapi_included
        if(Float:get_entvar(ent, var_dmgtime) > get_gametime())
    #else
        if(entity_get_float(ent, EV_FL_dmgtime) > get_gametime())
    #endif
            return PLUGIN_CONTINUE;
       
        static Float:origin[3];
    #if defined _reapi_included
        get_entvar(ent, var_origin, origin);
    #else
        entity_get_vector(ent, EV_VEC_origin, origin);
    #endif
        if(
            g_fOldOrigin[0] == origin[0] ||
            g_fOldOrigin[1] == origin[1] ||
            g_fOldOrigin[2] == origin[2]
        )    return PLUGIN_CONTINUE;

        g_fOldOrigin[0] = origin[0];
        g_fOldOrigin[1] = origin[1];
        g_fOldOrigin[2] = origin[2];
       
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
        write_byte(TE_DLIGHT);
        write_coord(floatround(origin[0]));
        write_coord(floatround(origin[1]));
        write_coord(floatround(origin[2]));
        write_byte(EffectRadius);
    #if defined RANDOM_COLOR
        write_byte(random(255));
        write_byte(random(255));
        write_byte(random(255));
    #else
        write_byte(g_arrEffectColors[R]);
        write_byte(g_arrEffectColors[G]);
        write_byte(g_arrEffectColors[B]);
    #endif
        write_byte(EffectLife);
        write_byte(EffectDecayR);
        message_end();
    }
    return PLUGIN_CONTINUE;
}
Весьма благодарен, но знание кода равняется 0
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
headway, раздел заказов неподалеку находится.
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
headway,
Код:
#include <amxmodx>
#include <reapi>

public plugin_init() {
    RegisterHookChain(RG_CGrenade_ExplodeFlashbang, "CGrenade_ExplodeFlashbang_Post", true);
}

public CGrenade_ExplodeFlashbang_Post(const ent) {
    new Float:origin[3];
    get_entvar(ent, var_origin, origin);
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
    write_byte(TE_DLIGHT);
    write_coord(floatround(origin[0]));
    write_coord(floatround(origin[1]));
    write_coord(floatround(origin[2]));
    write_byte(50);
    write_byte(random(255));
    write_byte(random(255));
    write_byte(random(255));
    write_byte(8);
    write_byte(60);
    message_end();
}
 
Сообщения
61
Реакции
14
d3m37r4, ,быть может кто-то за спасибо сделает ? Как грится
Один
headway, дык раздел заказов существует. Как грится: "любой каприз за ваши деньги".
Два
headway, раздел заказов неподалеку находится.
Три
headway,
Код:
#include <amxmodx>
#include <reapi>

public plugin_init() {
    RegisterHookChain(RG_CGrenade_ExplodeFlashbang, "CGrenade_ExplodeFlashbang_Post", true);
}

public CGrenade_ExplodeFlashbang_Post(const ent) {
    new Float:origin[3];
    get_entvar(ent, var_origin, origin);
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
    write_byte(TE_DLIGHT);
    write_coord(floatround(origin[0]));
    write_coord(floatround(origin[1]));
    write_coord(floatround(origin[2]));
    write_byte(50);
    write_byte(random(255));
    write_byte(random(255));
    write_byte(random(255));
    write_byte(8);
    write_byte(60);
    message_end();
}
Результат.
Спасибо :thank_you: fantom
псы: влепил бы плюс, но кармы не хватает
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
headway, это не для вас я сделал. И я соглашусь с ними на счет заказов. Это просто потому, что я уже это сделал. И оно бы так и валялось у меня на компе.
 

d3m37r4

111111
Сообщения
1,449
Реакции
1,175
Помог
10 раз(а)
Grenade Effects
Тип добавили отправку эффекта в ExplodeFlashbang, квары, ланг и нормальное отключение эффекта, ибо в этом плагине используется MSG_BROADCAST - который шлется всем игрокам без гарантии доставки.
 

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

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