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

Плагин antiflash + исходник

Поиск плагинов для AMX Mod X.

Модератор: Leonidddd

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

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

Плагин antiflash + исходник

Сообщение Печенька » 26 фев 2016, 08:44

Всем доброе утро. Ребят, помогите пожалуйста найти плагин antiflash google результат конечно дал,
но там плагин без исходника и в комментариях пишут, что там редирект на другой сервер. Если есть у кого возможность поделиться, буду благодарен. Заранее спасибо.
Аватара пользователя
Печенька
 
Сообщения: 51
Зарегистрирован: 09 фев 2016, 16:13
Благодарил (а): 15 раз.
Поблагодарили: 2 раз.

Re: Плагин antiflash + исходник

Сообщение shelru » 26 фев 2016, 10:24

semiclip
Аватара пользователя
shelru
 
Сообщения: 34
Зарегистрирован: 05 фев 2016, 12:09
Забанен
Благодарил (а): 4 раз.
Поблагодарили: 3 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Плагин antiflash + исходник

Сообщение артист666 » 26 фев 2016, 11:18

Вы должны зарегистрироваться, чтобы видеть ссылки. ... iflash.sma

Первая же ссылка.

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

#define PLUGIN       "AntiFlash"
#define VERSION       "1.0"
#define AUTHOR       "CrAsH"

new g_PlayerFlasher

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)

   register_event("ScreenFade", "CheckFlash", "be", "4=255", "5=255", "6=255", "7>199")
   register_event("23", "RemoveFlasher", "a", "1=5", "6=25", "7=6")

   register_forward(FM_SetModel, "CheckFlasher")
}

public CheckFlash(id)
{
   if(id == g_PlayerFlasher)
      return;
   
   if(get_user_team(id) == get_user_team(g_PlayerFlasher))
   {
        message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0, 0, 0}, id)
        write_short(1)
        write_short(1)
        write_short(1)
        write_byte(0)
        write_byte(0)
        write_byte(0)
        write_byte(255)
        message_end()
   }
}

public RemoveFlasher()
{
   set_task(0.05,"ResetFlasher")
   return PLUGIN_CONTINUE
}

public ResetFlasher()
{
   g_PlayerFlasher = 0
}


public SetFlasher(id)
{
   g_PlayerFlasher = id - 12345
}


public CheckFlasher(iEntity, szModel[])
{
   
   if(!equal(szModel, "models/w_flashbang.mdl"))
      return FMRES_IGNORED

   new iOwner = pev(iEntity, pev_owner)

   if(iOwner == 0)
      return FMRES_IGNORED

   set_task(1.52, "SetFlasher", iOwner + 12345)
   return FMRES_IGNORED
}
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Плагин antiflash + исходник

Сообщение Печенька » 26 фев 2016, 18:08

артист666 Спасибо большое за плагин. А то вроде один раз нашел, но скачать не смог, антивирус с ума сошел. :-D
Аватара пользователя
Печенька
 
Сообщения: 51
Зарегистрирован: 09 фев 2016, 16:13
Благодарил (а): 15 раз.
Поблагодарили: 2 раз.

Re: Плагин antiflash + исходник

Сообщение Leo_[BH] » 12 дек 2017, 19:15

Плагин AntiFlash by CrAsH неплох, но в нем присутствует один критический баг:
Давайте припустим такую ситуацию:
1) Вас слепит противник
2) Товарищ по команде кидает флеш-гранату, и при взрыве она оказывается в зоне вашего зрения.
3) Вуаля, вы снова все видете!


Данный баг устранён в следующем плагине: Вы должны зарегистрироваться, чтобы видеть ссылки.

Код: Выделить всё
/*
    // // // // //
    
    AntiFlash v5.0 FINAL by Leo_[BH]
    
    Описание плагина:
    Не слепит товарищей по команде от Flash-гранаты.
    Финальная стабильная версия плагина, исправлены все баги и недочёты предыдущих версий других авторов.

    // // // // //
    
    Давайте припустим такую ситуацию:
    1) Вас слепит противник
    2) Товарищ по команде кидает флеш-гранату, и при взрыве она оказывается в зоне вашего зрения.
    3) Вуаля, вы снова все видете!
    
    Так вот в данном плагине этот баг исправлен.
    И сделана небольшая оптимизация.
    
    // // // // //
    
    Автор плагина: Leo_[BH]
    
    В ходе создания плагина были использованы части кода:
    - AntiFlash by CrAsH
    - Zombie Plague by MeRcyLeZZ
    За что им большое спасибо.
    
    // // // // //
    
    Написание плагинов на заказ: http://amx-x.ru/viewtopic.php?t=38255
    
    // // // // //
*/

#include <amxmodx>
#include <fakemeta> 
#include <hamsandwich>

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

const PEV_NADE_TYPE = pev_flTimeStepSound
const NADE_TYPE_FLASH 
= 3333

new g_msgid_ScreenFade
new g_PlayerFlasher

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

public plugin_init()
{
    register_plugin("AntiFlash FINAL", "5.0", "Leo_[BH]")
    
    g_msgid_ScreenFade 
= get_user_msgid("ScreenFade")

    register_message(g_msgid_ScreenFade, "message_screenfade");

    register_forward(FM_SetModel, "fw_SetModel")
    RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

public message_screenfade(msg_id, msg_dest, msg_entity)
{
    if (get_msg_arg_int(4) != 255 || get_msg_arg_int(5) != 255 || get_msg_arg_int(6) != 255 || get_msg_arg_int(7) < 200)
        return PLUGIN_CONTINUE;
    
    new id 
= msg_entity
    
    if 
(id != g_PlayerFlasher && get_user_team(id) == get_user_team(g_PlayerFlasher))
    {
        return PLUGIN_HANDLED;
    }
    
    return PLUGIN_CONTINUE
;
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

public fw_SetModel(entity, szModel[]) 
{
    if(!equal(szModel, "models/w_flashbang.mdl")) 
        return FMRES_IGNORED
;
    
    set_pev
(entity, PEV_NADE_TYPE, NADE_TYPE_FLASH)

    return FMRES_IGNORED;
}
 

public fw_ThinkGrenade
(entity)
{
    if (!pev_valid(entity)) return HAM_IGNORED;
    
    static Float
:dmgtime
    pev
(entity, pev_dmgtime, dmgtime)
    
    if 
(dmgtime > get_gametime())
        return HAM_IGNORED;
    
    switch 
(pev(entity, PEV_NADE_TYPE))
    {
        case NADE_TYPE_FLASH: // Flash Grenade
        {
            g_PlayerFlasher = pev(entity, pev_owner)
            return HAM_IGNORED;
        }
    }
    
    return HAM_IGNORED
;
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

// Написание плагинов на заказ: http://amx-x.ru/viewtopic.php?t=38255

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
Сохраняйте историю
Аватара пользователя
Leo_[BH]
 
Сообщения: 98
Зарегистрирован: 06 апр 2014, 17:51
Откуда: UA
Благодарил (а): 9 раз.
Поблагодарили: 30 раз.
Опыт программирования: Больше трех лет


Вернуться в Поиск плагинов

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

Сейчас этот форум просматривают: Bing [Bot] и гости: 6