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

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

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

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

История благодарностей участнику amax ::: Спасибо сказали: 9
Дата поста: В теме: За сообщение: Спасибо сказали:
21.1.2017, 12:43 Добавлю ваши сервера в МС
80.77.174.155:7777
Jelly
7.9.2016, 17:33 AIM Detector by Mazdan
mazdan,
Я считаю сайт автора должен содержать последние версии для скачивания.
Я не думаю, что трудно в описание поместить архив с последней ерсии и всеми кфг на своем сайте в описание.
Или хотяб на этом форуме последнюю версию выкладывать в топ, а не в комменты. Зачем все усложнять?
----------------------------
Поддерживает ли rehlds? Спс.
Sokol35
19.3.2016, 18:50 Advanced Experience System
Здравствуйте. Такой вопрос. Видел в исходнике, что есть авп и мега дигл. Почему они не появляются в /anew? спасибо
Redir
6.3.2016, 8:44 Map Manager by Mistrick [2.5.61]
Подскажите пожалуйста. Как сделать, чтобы "зависание" перед сменой карты было быстрее, т.е. чтобы после конца карты мапа сразу же менялась, а то у меня все ждут секунды 3-4, такое ощущение как-будто сервер упал.
LeShiK
14.11.2015, 11:09 Поиск музыки из видео
ТУТ можно послушать полную версию по 30 сек
Nebo
19.10.2015, 11:11 Socket error
Socket error - ошибка соединения плагина, который требует подключение к какому-либо серверу.
Например aim_detector.amxx если у тебя от маздана и ты не купил ключ, то такая ошибка вполне может быть. (это только пример плагина, который требует подключения к серверу)
(((_CYBORG_)))
18.10.2015, 7:39 reconnect через n времени
Здравствуйте. Есть ли плагин, который перекидывает на другой сервер через n секунд. Например зашел человек на сервер и через 10 секунд его перекидывает на другой.
Спасибо.
ssx
7.10.2015, 14:03 Частично не работает плагин adminmenu
На одном сервере работает, а на другом нет. Кстати, меню управления почему то работает только и всё...а грава, скорость и т.д. - нет (серое)


Что делать? Что с сервером?
плугинс.ини
Код
superban.amxx
amxbans_core.amxx
amxbans_main.amxx
;admin.amxx
;;;second_load
voteban.amxx
changeteam.amxx
menuvoz.amxx                    \\меню возможностей
adminchat.amxx
admincmd.amxx
antiflood.amxx
cmdmenu.amxx
imessage.amxx
menufront.amxx
mapsmenu.amxx
nextmap.amxx
2jump.amxx
plmenu.amxx
pluginmenu.amxx
restmenu.amxx
scrollmsg.amxx
adminvote.amxx
miscstats.amxx
stats_logging.amxx
statscfg.amxx
hooknew.amxx
ad_manager.amxx
menu.amxx                       \\меню на ф
sentry.amxx                     \\пушки лазеры
fire_in_the_hole_blocker.amxx
wc3_extra_unlimited_clip.amxx
hud_customizer.amxx             \\скрывает радар таймер бабло жизьку
ultimate_gore.amxx
barhp.amxx                      \\показывает хп и броню епта
say_adminka.amxx
unstuck.amxx
lasermine_cso.amxx
BuildDispenser.amxx
money_transferer.amxx
money_menu.amxx
amx_dhud_mes.amxx               \\сообщение в правом углу
wc3Shopmenu3.amxx
bhop_for_admin.amxx
menuweapon.amxx                  \\меню оружия
goldenak.amxx
CS_Shop.amxx
supnoz.amxx                      \\супер нож
goldenm.amxx                     \\золотая мка заебался её искать
hide_slash.amxx                  \\скрытие команд
army_ranks_ultimate_csserv.amxx
lite_mapchooser.amxx
resetscore.amxx
snowballs.amxx
;goldegl.amxx
csdmadmin.amxx

исходник
Код
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <engine>
#include <cstrike>
#include <fun>
#include <dhudmessage>

#pragma tabsize 0

new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0

#define PLUGIN "AdminMenu"
#define VERSION "3.2"
#define AUTHOR "SkocH"

new Spawn[33], Money[33], PlayerSpawn[33], PlayerSpeed[33], Spead[33], HP[33], PlayerGrav[33], Speed[33], Grava[33]


public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_menu("Menu 1", keys, "func_menu")
    register_clcmd("adminmenu", "AdminMenu")
     register_event("CurWeapon", "MaxPlayerSpeed", "be", "1=1")
    register_clcmd("menu_admin", "MenuAdmin")
    RegisterHam(Ham_Spawn, "player", "PlayerSpawns",1)
    register_event("HLTV", "RoundNew", "a", "1=0", "2=0")
}
public RoundNew()
{
    for(new id = 1;id <= get_maxplayers(); id++)
    {
        Spawn[id] = 30
        Speed[id] = 30
        Grava[id] = 30
        PlayerSpawn[id] = 30
        PlayerSpeed[id] = 10
        PlayerGrav[id] = 10
        Money[id] = 10
        HP[id] = 3
    }
}
public PlayerSpawns()
{
    for(new id = 1;id <= get_maxplayers(); id++)
    {
        Spead[id] = false
    
    }
}
public client_authorized(id)
{
   if (get_user_flags(id) & ADMIN_LEVEL_A)
   {
   new player_name[32]
   get_user_name(id, player_name, 31)
   set_dhudmessage( 255, 0, 0, -1.0, 0.25, 0, 6.0, 3.0, 0.1, 1.5 );
   show_dhudmessage(0, "Админ [ %s ] заходит на сервер!",player_name );
   }
}
public AdminMenu(id)
{
    static menu[650], Len
    Len = 0
    Len = formatex(menu[Len], charsmax(menu) - Len, "\rАдминское меню^n^n");
    
    
    if(get_user_flags(id) & ADMIN_LEVEL_A)
    {
    if(Spawn[id] == 0)
    {
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d1. Воскреснуть \d[\r%d\d]^n", Spawn[id])
    keys &= ~MENU_KEY_1
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\y1. \wВоскреснуть \d[\r%d\d]^n", Spawn[id])
    keys |= MENU_KEY_1    
          }
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d1. Воскреснуть \d[\r%d\d]^n", Spawn[id])
    keys &= ~MENU_KEY_1
          }
    if(get_user_flags(id) & ADMIN_LEVEL_A)
    {
    if(Grava[id] == 0)
    {
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d2. Гравитация \d[\r%d\d]^n", Grava[id])
    keys &= ~MENU_KEY_2
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\y2. \wГравитация \d[\r%d\d]^n", Grava[id])
    keys |= MENU_KEY_2    
          }
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d2. Гравитация \d[\r%d\d]^n", Grava[id])
    keys &= ~MENU_KEY_2
          }      
    
    if(get_user_flags(id) & ADMIN_LEVEL_A)
    {
    if(Speed[id] == 0)
    {
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d3. Скорость \d[\r%d\d]^n", Speed[id])
    keys &= ~MENU_KEY_3
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\y3. \wСкорость \d[\r%d\d]^n", Speed[id])
    keys |= MENU_KEY_3    
          }
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d3. Скорость \d[\r%d\d]^n", Speed[id])
    keys &= ~MENU_KEY_3
          }  
          
    if(get_user_flags(id) & ADMIN_LEVEL_A)
    {
    if(HP[id] == 0)
    {
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d4. Взять \d[\r1500 ХП/Брони\d] \d[\r%d\d]^n", HP[id])
    keys &= ~MENU_KEY_4
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\y4. Взять \d[\r1500 ХП/Брони\d] \d[\r%d\d]^n", HP[id])
    keys |= MENU_KEY_4    
          }
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d4. Взять \d[\r1500 ХП/Брони\d] \d[\r%d\d]^n", HP[id])
    keys &= ~MENU_KEY_4
          }      
    if(get_user_flags(id) & ADMIN_LEVEL_A)
    {
    if(Money[id] == 0)
    {
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d5. Взять \d[\r16000$\d]  \d[\r%d\d]^n", Money[id])
    keys &= ~MENU_KEY_5
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\y5. \wВзять \d[\r16000$\d]  \d[\r%d\d]^n", Money[id])
    keys |= MENU_KEY_5    
          }
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d5. Взять \d[\r16000$\d]  \d[\r%d\d]^n", Money[id])
    keys &= ~MENU_KEY_5
          }    
    
    if(get_user_flags(id) & ADMIN_LEVEL_A)
    {
    if(PlayerSpawn[id] == 0)
    {
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d6. Возродить Игрока \d[\r%d\d]^n", PlayerSpawn[id])
    keys &= ~MENU_KEY_6
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\y6. \wВозродить Игрока \d[\r%d\d]^n", PlayerSpawn[id])
    keys|= MENU_KEY_6    
          }
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d6. Возродить Игрока \d[\r%d\d]^n", PlayerSpawn[id])
    keys &= ~MENU_KEY_6
          }
    if(get_user_flags(id) & ADMIN_LEVEL_A)
        {
        switch(get_user_team(id))
         {
                     case 1:
                     {
                        Len += formatex(menu[Len], charsmax(menu) - Len, "\y7. \wКоманда: \d[\rТеррорист\d]^n")
                        keys |= MENU_KEY_7
                     }
                     case 2:
                     {
                        Len += formatex(menu[Len], charsmax(menu) - Len, "\y7. \wКоманда: \d[\rCT\d]^n")
                        keys |= MENU_KEY_7
                     }
                     case 3:
                     {
                        Len += formatex(menu[Len], charsmax(menu) - Len, "\y7. \wКоманда: \d[\rНаблюдатель\d]^n")
                        keys |= MENU_KEY_7
                     }
        }  
        }else{
          switch(get_user_team(id))
         {
                     case 1:
                     {
                        Len += formatex(menu[Len], charsmax(menu) - Len, "\d7. Команда: \d[\rТеррорист\d]^n")
                        keys &= ~MENU_KEY_7
                     }
                     case 2:
                     {
                        Len += formatex(menu[Len], charsmax(menu) - Len, "\d7. Команда: \d[\rCT\d]^n")
                        keys &= ~MENU_KEY_7
                     }
                     case 3:
                     {
                        Len += formatex(menu[Len], charsmax(menu) - Len, "\d7. Команда: \d[\rНаблюдатель\d]^n")
                        keys &= ~MENU_KEY_7
                     }
        }      
              }  
          
    if(get_user_flags(id) & ADMIN_LEVEL_A)
    {
    if(PlayerSpeed[id] == 0)
    {
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d8. Подарить Скорость \d[\r%d\d]^n^n", PlayerSpeed[id])
    keys &= ~MENU_KEY_8
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\y8. \wПодарить Скорость \d[\r%d\d]^n^n", PlayerSpeed[id])
    keys|= MENU_KEY_8    
          }
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d8. Подарить Скорость \d[\r%d\d]^n^n", PlayerSpeed[id])
    keys &= ~MENU_KEY_8
          }      
        
    if(get_user_flags(id) & ADMIN_LEVEL_A)
    {    
    Len += formatex(menu[Len], charsmax(menu) - Len, "\y9. \wМеню Управлений^n^n")
    keys |= MENU_KEY_9
    }else{
    Len += formatex(menu[Len], charsmax(menu) - Len, "\d9. Меню Управлений^n^n")
    keys &= ~MENU_KEY_9
          }      
    
    
    Len += formatex(menu[Len], charsmax(menu) - Len, "\y0. \wВыход^n")
    keys |= MENU_KEY_0
    
    show_menu(id, keys, menu, -1, "Menu 1");
    return PLUGIN_HANDLED
}

public func_menu(id, key)
{
    switch(key)
    {
        case 0:
        {
        if(Spawn[id] == 0)
        {
            return PLUGIN_CONTINUE
        }
        else
        {
            Spawn[id] = Spawn[id] -1
            ExecuteHam(Ham_CS_RoundRespawn, id)
            AdminMenu(id)
              }    

        }
        case 1:
        {
            {
        if(Grava[id] == 0)
        {
            return PLUGIN_CONTINUE
        }else{
            Grava[id] = Grava[id] -1
            set_user_gravity(id, 0.3)  
            AdminMenu(id)
              }    

        }
    }
    case 2:
    {
            {
        if(Speed[id] == 0)
        {
            return PLUGIN_CONTINUE
        }else{
            Speed[id] = Speed[id] -1
            set_user_maxspeed(id, 520.0)
            Spead[id] = true
            AdminMenu(id)
              }    

        }
    }
        case 3:
        {
        if(HP[id] == 0)
        {
            return PLUGIN_CONTINUE
        }else{
            HP[id] = HP[id] -1
            set_user_health(id, 1500)
            set_user_armor(id, 1500)
            AdminMenu(id)
              }    

        }
        case 4:
        {
        if(Money[id] == 0)
        {
            return PLUGIN_CONTINUE
        }else{
            Money[id] = Money[id] -1
            cs_set_user_money(id, cs_get_user_money(id) + 16000)
            AdminMenu(id)
              }    

        }
        case 5:
        {
        if(PlayerSpawn[id] == 0)
        {
            return PLUGIN_CONTINUE
        }else{
            PlayerSpawn[id] = PlayerSpawn[id] -1
            SpawnPlayer(id)
              }     
        }
        case 6:
                {
                        switch (get_user_team(id))
                                {
                                        case 1:
                                        {
                                                cs_set_user_team(id, 2)
                                        }
                                        case 2:
                                        {
                                                cs_set_user_team(id, 3)
                                        }
                                        case 3:
                                        {
                                                if(get_user_flags(id) & ADMIN_BAN)
                                                {
                                                        cs_set_user_team(id, 1)
                                                }
                                                else
                                                {
                                                        cs_set_user_team(id, 2)
                                                }
                                        }
                                }
                        AdminMenu(id)
                }
        case 7:
           {
        if(PlayerSpeed[id] == 0)
        {
            return PLUGIN_CONTINUE
        }else{
            PlayerSpeed[id] = PlayerSpeed[id] -1
            SpeedPlayer(id)
              }     
                  }
        case 8:
        {
            client_cmd(id, "menu_admin")
        }
                 }      
    return PLUGIN_HANDLED
}
public MaxPlayerSpeed(id)
{
     if(Spead[id])
     {
          set_user_maxspeed(id, 550.0)
     }
}
public SpawnPlayer(id)
{
    new i_Menu = menu_create("\wВыбери Игрока", "menu_handler")
    new s_Players[32], i_Num, i_Player, msg[222]
    new s_Name[32], s_Player[10]
    get_players(s_Players, i_Num)
    for (new i; i < i_Num; i++)
    {
           i_Player = s_Players[i]
           get_user_name(i_Player, s_Name, charsmax(s_Name))
           num_to_str(i_Player, s_Player, charsmax(s_Player))
           if(is_user_alive(i_Player))
           {
                formatex(msg, charsmax(msg), "\d%s (\rЖивой\d)", s_Name)
                menu_additem(i_Menu, msg, s_Player, 0)
           }
           else
           {
                formatex(msg, charsmax(msg), "%s", s_Name)
                menu_additem(i_Menu, msg, s_Player, 0)
           }
           menu_setprop(i_Menu, MPROP_NEXTNAME, "Дальше")
           menu_setprop(i_Menu, MPROP_BACKNAME, "Назад")
           menu_setprop(i_Menu, MPROP_EXITNAME, "Закрыть")
    }
    menu_display(id, i_Menu, 0)
}

public menu_handler(id, menu, item)
{
    if (item == MENU_EXIT)
    {
           menu_destroy(menu)
           return PLUGIN_HANDLED
    }

    new s_Data[6], s_Name[64], i_Access, i_Callback
    menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
    new i_Player = str_to_num(s_Data)
    new name[32]
    new name2[32]
    get_user_name(id, name, 31)
    get_user_name(i_Player, name2, 31)
    if(id == i_Player)
    {
           AdminMenu(id)
    }
    else
    {
            ExecuteHam(Ham_CS_RoundRespawn, i_Player)
        ChatColor(0, "!y[!gАдмин Меню!y] !yАдминистратор !g%s !yвоскресил игрока !g%s", name, name2)
             AdminMenu(id)
    }

    menu_destroy(menu)
    return PLUGIN_HANDLED
}
public SpeedPlayer(id)
{
     if(get_user_flags(id) & ADMIN_LEVEL_A)
     {
    new menu = menu_create( "\wВыбери Игрока", "SpeedName" )
    new players[32], pnum, tempid
    new szName[32], szTempid[10]
    cs_get_user_team(id)

    get_players(players, pnum)

    for(new i; i<pnum; i++)
    {
        cs_get_user_team(players[i])
        
        tempid = players[i]

        if(!is_user_alive(tempid))
        {    
        }
                else if(get_user_maxspeed(tempid) < 700)
                {
            get_user_name(tempid, szName, 31)
            num_to_str(tempid, szTempid, 9)

            menu_additem(menu, szName, szTempid, 0)
                 }
           menu_setprop(menu, MPROP_NEXTNAME, "Дальше")
           menu_setprop(menu, MPROP_BACKNAME, "Назад")
           menu_setprop(menu, MPROP_EXITNAME, "Закрыть")
    }
    menu_display(id, menu, 0)
}

     return PLUGIN_HANDLED
}

public SpeedName(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }

    new data[6], iName[64], playername[33], playername2[33]
    new access, callback
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)

    new tempid = str_to_num(data)
    cs_get_user_team(tempid)
    
    get_user_name(id, playername, 32)
    get_user_name(tempid, playername2, 32)

    set_user_maxspeed(tempid, 500.0)
    ChatColor(0, "!y[!gАдмин Меню!y] !yАдминистратор !g%s !yДал Скорость игроку !g%s", playername, playername2)
        Spead[id] = true
     AdminMenu(id)

    menu_destroy(menu)
    return PLUGIN_HANDLED
}
public GravPlayer(id)
{
     if(get_user_flags(id) & ADMIN_LEVEL_A)
     {
    new menu = menu_create( "\yВыбири Игрока", "GravaPlayer" )
    new players[32], pnum, tempid
    new szName[32], szTempid[10]
    cs_get_user_team(id)

    get_players(players, pnum)

    for(new i; i<pnum; i++)
    {
    cs_get_user_team(players[i])
        
    tempid = players[i]

    if(!is_user_alive(tempid))
    {    
    }
    else if(get_user_gravity(tempid) > 0.35)
    {
    get_user_name(tempid, szName, 31)
    num_to_str(tempid, szTempid, 9)

    menu_additem(menu, szName, szTempid, 0)
    }
    }
    menu_setprop( menu, MPROP_NEXTNAME, "Дальше")
    menu_setprop( menu, MPROP_BACKNAME, "Назад")
    menu_setprop( menu, MPROP_EXITNAME, "Выход")    
    //menu_setprop( menu, MPROP_PERPAGE, 0)
    menu_display(id, menu, 0)
    }
     return PLUGIN_HANDLED
}

public GravaPlayer(id, menu, item)
{
    
    {
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }

    new data[6], iName[64], playername[33], playername2[33]
    new access, callback
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)

    new tempid = str_to_num(data)
    cs_get_user_team(tempid)
    
    get_user_name(id, playername, 32)
    get_user_name(tempid, playername2, 32)

    set_user_gravity(tempid, 0.5)
    ChatColor(0, "!y[!gАдмин Меню!y] !yАдминистратор !g%s !yДал Гравитацию игроку !g%s", playername, playername2)
          AdminMenu(id)
    }


    menu_destroy(menu)
    return PLUGIN_HANDLED
}
stock ChatColor(const id, const input[], any:...)
{
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)
  
    replace_all(msg, 190, "!g", "^4") // Green Color
    replace_all(msg, 190, "!y", "^1") // Default Color
    replace_all(msg, 190, "!team", "^3") // Team Color
    replace_all(msg, 190, "!team2", "^0") // Team2 Color
  
    if (id) players[0] = id; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}
public MenuAdmin(id)
{
        new Menu = menu_create("\yМеню Управления", "Admin")
    
    
    menu_additem(Menu, "\wКикнуть Игрока", "1")
    menu_additem(Menu, "\wЗабанить Игрока", "2")
    menu_additem(Menu, "\wСтукнуть/Убить Игрока", "3")
    menu_additem(Menu, "\wСменить Команду Игроку^n", "4")
    menu_additem(Menu, "\wГолосование За Карту", "5")
    menu_additem(Menu, "\wСменить Карту^n", "6")
    menu_additem(Menu, "\wЗаткнуть Игрока", "7")
    menu_additem(Menu, "\wГолосовое Сообщение^n", "8")
    
    
     menu_additem(Menu,"Назад", "9", 0)
        menu_additem(Menu,"Выход", "0", 0)

        menu_setprop(Menu, MPROP_PERPAGE, 0)
          menu_display(id, Menu, 0)
}
public Admin(id, menu, item)
{
        if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    
    new data[6], iName[64], access, callback
    menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
    new key = str_to_num(data)
    switch(key)
    {
        case 1:
        {
            client_cmd(id,"amx_kickmenu")
        }
        case 2:
        {
            client_cmd(id,"amx_banmenu")
        }
        case 3:
        {
            client_cmd(id,"amx_slapmenu")
        }
        case 4:
        {
            client_cmd(id,"amx_teammenu")
        }
        case 5:
        {
            client_cmd(id,"amx_votemapmenu")
        }
        case 6:
        {
            client_cmd(id,"amx_mapmenu")
        }
        case 7:
        {
            client_cmd(id,"amx_mute")
            client_cmd(id,"mute")
            client_cmd(id,"amx_gag")
            client_cmd(id,"amx_gagmenu")
        }
           case 8:
              {
                            client_cmd(id, "amx_speechmenu")
              }
              case 9:
          {
                      client_cmd(id, "adminmenu")       
          }
         }
    return PLUGIN_HANDLED
}

Инклуды все есть.

Неужели плагин по 1 отключать, как советуют г*вно тп на csserv
ssx