Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Изменить плагин

, Эффект от флешки
Статус пользователя deltex
сообщение 18.10.2015, 14:44
Сообщение #1


Стаж: 14 лет

Сообщений: 694
Благодарностей: 407
Полезность: 794

Доброго времени суток. Тут такое дело, когда срабатывает флешка (за спиной или сбоку) то всё ровно ослепляет. Как сделать так, чтобы ослепляло как обычной флешкой (без эффектов) чтобы со спины не ослепляло?
Кол
Код
#include <amxmodx>
#include <fakemeta>

new const Version[] = "1.0.1"

new MsgScreenFade, MsgScreenShake
new FLenable, FLcolor, FLradius, FLlightcolor, FLsound

new const Sound[] = "sound/ultrasound.mp3"

public plugin_precache() {
    FLsound = register_cvar("amx_rfl_sound", "1")
    
    if(get_pcvar_num(FLsound))
        precache_generic(Sound)
}

public plugin_init()
{
    register_plugin("Realistic FlashBang", Version, "GlaDiuS")
    
    FLenable = register_cvar("amx_rfl_enable", "1")
    FLcolor = register_cvar("amx_rfl_color", "128 128 128")
    FLradius = register_cvar("amx_rfl_radius","50")
    FLlightcolor = register_cvar("amx_rfl_lightcolor","255 255 255")
    
    register_event("ScreenFade","FlashEvent","b","4=255","5=255","6=255","7>199")
;register_forward(FM_EmitSound,"fw_emitsound")
    
    MsgScreenFade = get_user_msgid("ScreenFade")
    MsgScreenShake = get_user_msgid("ScreenShake");
}

public FlashEvent(id)
{    
    if(!get_pcvar_num(FLenable))
        return
    
    // get color
    new Colores[12], rgb[3][4], Red, Green, Blue
    get_pcvar_string(FLcolor, Colores, charsmax(Colores))
    parse(Colores, rgb[0], 3, rgb[1], 3, rgb[2], 3)
    Red = clamp(str_to_num(rgb[0]), 0, 255)
    Green = clamp(str_to_num(rgb[1]), 0, 255)
    Blue = clamp(str_to_num(rgb[2]), 0, 255)
    
    new Duration, HoldTime, Fade, Alpha
    Duration = read_data(1)
    HoldTime = read_data(2)
    Fade = read_data(3)
    Alpha = read_data(7)
    
    message_begin(MSG_ONE, MsgScreenFade, {0,0,0}, id)
    write_short(Duration)    // Duration
    write_short(HoldTime)    // Hold time
    write_short(Fade)    // Fade type
    write_byte(Red)        // Red
    write_byte(Green)        // Green
    write_byte(Blue)        // Blue
    write_byte(Alpha)    // Alpha
    message_end()
    
    set_pev(id, pev_punchangle, Float:{125.0, 125.0, 125.0})
    
    if(get_pcvar_num(FLsound)) {
        client_cmd(id, "mp3 play %s", Sound)
        set_task(8.0, "stoppedsound", id)
    }
    
    set_task(3.0, "Shake", id)
}

public Shake(id)
{
    new Dura = UTIL_FixedUnsigned16(4.0, 1 << 12)
    new Freq = UTIL_FixedUnsigned16(0.7 , 1 << 8)
    new Ampl = UTIL_FixedUnsigned16(20.0, 1 << 12)
    
    message_begin(MSG_ONE , MsgScreenShake , {0,0,0} ,id)
    write_short( Ampl ) // --| Shake amount.
    write_short( Dura ) // --| Shake lasts this long.
    write_short( Freq ) // --| Shake noise frequency.
    message_end ()
}

public stoppedsound(id)
    client_cmd(id, "mp3 stop %s", Sound)

public fw_emitsound(entity,channel,const sample[],Float:volume,Float:attenuation,fFlags,pitch)
{
    if(!get_pcvar_num(FLenable))
        return FMRES_IGNORED
    
    // not a flashbang exploding
    if(!equali(sample,"weapons/flashbang-1.wav") && !equali(sample,"weapons/flashbang-2.wav"))
        return FMRES_IGNORED
    
    // light effect
    flashbang_explode(entity)
    
    return FMRES_IGNORED
}

public flashbang_explode(greindex)
{
    if(!pev_valid(greindex))
        return
    
    // get origin of explosion
    new Float:origin[3]
    pev(greindex, pev_origin, origin)
    
    // get color
    new Colores[12], rgb[3][4], Red, Green, Blue
    get_pcvar_string(FLlightcolor, Colores, charsmax(Colores))
    parse(Colores, rgb[0], 3, rgb[1], 3, rgb[2], 3)
    Red = clamp(str_to_num(rgb[0]), 0, 255)
    Green = clamp(str_to_num(rgb[1]), 0, 255)
    Blue = clamp(str_to_num(rgb[2]), 0, 255)
    
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
    write_byte(TE_DLIGHT) // 27
    write_coord(floatround(origin[0])) // x
    write_coord(floatround(origin[1])) // y
    write_coord(floatround(origin[2])) // z
    write_byte(get_pcvar_num(FLradius)) // radius
    write_byte(Red) // Red
    write_byte(Green) // Green
    write_byte(Blue) // Blue
    write_byte(8) // life
    write_byte(60) // decay rate
    message_end()
}

UTIL_FixedUnsigned16 ( const Float:Value, const Scale ) {
    return clamp( floatround( Value * Scale ), 0, 0xFFFF );
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Fresenius
сообщение 18.10.2015, 16:48
Сообщение #2


Стаж: 14 лет

Сообщений: 180
Благодарностей: 8
Полезность: < 0

а кто сказал что сос пины не слепит? dntknw.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя deltex
сообщение 18.10.2015, 16:58
Сообщение #3


Стаж: 14 лет

Сообщений: 694
Благодарностей: 407
Полезность: 794

Цитата(Fresenius @ 18.10.2015, 17:44) *
а кто сказал что сос пины не слепит? dntknw.gif


Не кто не сказал.. Потому что я сам проверял.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя amax
сообщение 20.10.2015, 13:52
Сообщение #4


Стаж: 10 лет

Сообщений: 177
Благодарностей: 9
Полезность: < 0

Флешка - это громкий хлопок, после которого закладывает уши и начинается головная боль (кружение)
Ты просишь что-то типо этого:
Эй звук! Давай-ка ты, когда сзади будешь, не оглушай меня! Ок? Ты как баба со спины не нападай! По-Пацански подойди спереди и оглуши!
----------------------------------------
Думаю никто таким бредом заниматься не станет.


Пиши вк - vk.com/amax_official
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя filip
сообщение 20.10.2015, 21:23
Сообщение #5


Стаж: 13 лет

Сообщений: 418
Благодарностей: 332
Полезность: 779

ТС видимо хочет добиться такого же эффекта как и с обычной флэхой, если отвернулся, то не слепит (слепит меньше)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя akuris13
сообщение 20.10.2015, 21:50
Сообщение #6


Стаж: 10 лет

Сообщений: 16
Благодарностей: 2
Полезность: 0

Подозреваю, что вряд ли кто-то поможет. С этим возиться нужно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: