1. Pavel Chepikov Пользователь

    Регистрация:
    15.04.16
    Сообщения:
    25
    Симпатии:
    5
    Пол:
    Мужской
    Skype:
    Diamonds671
    ICQ:
    374171059
    Описание: Функциональный Vip Menu

    Автор: Ba/lePa
    Актуальная версия: 3.2

    Требуемые модули:
    Amx Mod X

    Консольная команда для вызова меню:
    Консоль - Vipmenu
    Чат - /vipmenu

    d75048988bb4.jpg 1627df576931.jpg

    История:
    1.0:
    [!] Первый релиз
    *
    1.1:
    [!] Полная оптимизация кода
    [*] Фикс ошибок
    [+] Добавлен квар amx_vipround
    [+] Добавлен квар amx_vipzaround
    [+] Добавлен квар amx_vipshow
    1.2:
    [+] Добавлена надпись VIP в таблицу на TAB
    *
    1.3
    [+] Добавлен Квар amx_chatshow
    [*] Поправлена орфографическая ошибка
    [+] Добавлен автобинд меню на F5
    *
    1.4
    [!] Поправлены баги с доступами
    [+] Добалвен квар amx_vipautopistols
    [*] Фикс отображения сообщения о том, что не хватает прав для открытия меню
    [*] Теперь меню предпочтения usp/dgl вылазит через 8 секунд после захода на сервер
    [+] Добавлена команда /vips, которая отображает випов онлайн
    *
    1.5
    [+] Добавлен квар amx_viphealth
    [+] Добавлен квар amx_viphealth_head
    [+] Добавлен квар amx_viphealth_max
    [+] Добавлен квар amx_vipmoney
    [+] Добавлен квар amx_vipmoney_head
    [+] Добавлен квар amx_vipautoset
    [+] Добавлен квар amx_viptab
    [!] Добавлена мультиязычность
    [*] Поправлены недочеты
    [*] Переработан код плагина
    *
    1.6
    [*] Мини фикс орфографии
    *
    1.7
    [!] Фикс исчезновения бомбы
    *
    2.0
    [!] Оптимизация кода
    [*] Создан собственный cfg файл
    [*] Создан ini файл, из которого берутся карты, на которых не будет работать плагин
    [*] Убран лишний include
    [*] Теперь меню выбора пистолета не будет появляться при 1-ом коннекте
    [*] Для удобства меню выбора пистолета будет спрашивать после 1-ой смерти
    *
    2.1
    [!] Оптимизация кода
    *
    2.2
    [!] Замена register_event >> registerHam
    *
    2.3
    [!] Fix утечки памяти
    *
    2.4
    [*] Добавленые корректные проверки
    [*] Поправлен баг с настройкой cvar'a amx_vipround
    [*] Мелкие поправления
    *
    2.5
    [*] Fix отображения команды /vips
    *
    2.6
    [!] Переписана большая часть кода
    [!] Изменены алгоритмы работы меню
    [!] Добавлено меню для глока
    [!] Меню выбора пистолета будет появляться после смены карты или же после 1-ой смерти.
    [!] В меню выбора оружия можно всегда изменить питолет
    [!] Поправлен баг с автовыдачей в каждом раунде гранат + пистолета
    [!] Переделан ланг файл
    [!] Поправлено отображение vip'oв онлайн командой /vips
    [*] мелкие поправки...
    *
    2.7
    [!] Поправлен баг с выдачей второго оружия, когда берешь М4А1
    [*] Теперь после смены карты пистолет будет
    [!] Префикс можно указать в конфиге для плагина
    [!] Добавление оповещения при заходе випа ( полностью можно настроить )
    [!] Добавлены команды: /adminka /vipka в чат
    [!] Fix ошибки: Invalid iMenu id
    *
    2.8
    [!] Fix ошибки: Run time error 10: native error (native "get_pcvar_num")
    *
    2.9
    [!] Человек с ником Ba/lePa без заданного пароля не сможет пользоваться випкой.
    [!] Добавлен квар: amx_vipMusic - отвечающий за проигрывания звука при заходе vip игрока
    *
    3.0
    [!] Попрален баг с проигрыванием звука при коннекте випа
    [+] Добавлено показывание наносимого/принимаемого урона
    *
    3.1
    [+] Исправлена ошибка в логах: invalid CVAR pointer
    [+] Убрана проверка на мой ник(ибо ухожу из кс все равно ^^ )
    [!] Теперь, если у вип есть бомба, то она не сбрасывается
    [*] Поправлен цвет худа принимаемого урона
    [*] Фикс отображаемого урона в Damager'е (округление теперь в меньшую сторону)
    *
    3.2
    [!] Исправлена ошибка Invalid Cvar Pointer
    [!] Поправлено отображение урона
    [*] Улучшена читабельность кода (А то свой код стало не удобно читать :D)

    P.s Если данная тема где то завалялась, извините не видел...Плагином пользуюсь где то пол года уже и ни каких проблем нет!!!
    Плагин переделан по меня, так что сами настраивайте под себя.
    Менять настройки плагина можно как в исходники так и в cfg файле, ideal_block_maps.ini работает в идеале(Выключает плагин на отдельных картах). Настроек масса, все приводить и расписывать в топике смысла нет, там на русском и интуитивно понятно что за что отвечает.

    Установка:
    1. Скачиваем архив, распаковываем.
    2. Прописываем настройки в конфиге, текстовых файлах и, если нужно, в исходнике.
    3. Компилируем исходник
    4. Заливаем на сервер.
     

    Вложения:

    • ideal_vip.7z
      Размер файла:
      15 КБ
      Просмотров:
      40
    Последнее редактирование модератором: 17.04.16
    gudaus нравится это.
  2. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.594
    Симпатии:
    4.169
    Пол:
    Мужской
    Pavel Chepikov, код у него говно :)
     
    MakapoH. нравится это.
  3. Pavel Chepikov Пользователь

    Регистрация:
    15.04.16
    Сообщения:
    25
    Симпатии:
    5
    Пол:
    Мужской
    Skype:
    Diamonds671
    ICQ:
    374171059
    Может и гавно...но главное работает все как часики лично у меня)
     
  4. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.516
    Симпатии:
    1.107
    Пол:
    Мужской
    Ошибки в оформлении:

    4)Скриншоты, если таковые будут, прикрепляйте к теме. Не постите ссылки на
    скрины из Вконтакта, хостингов картинок и.т.п. Всё, что прикрепить можно -
    прикрепляйте. Что нельзя - заливайте на Яндекс Диск или Гугл Диск.

    Не описан процесс установки.

    Пока сам поправлю, так и быть.
     
  5. Pavel Chepikov Пользователь

    Регистрация:
    15.04.16
    Сообщения:
    25
    Симпатии:
    5
    Пол:
    Мужской
    Skype:
    Diamonds671
    ICQ:
    374171059
    Понял, исправлюсь)
     
  6. Владюша Пользователь

    Регистрация:
    29.01.16
    Сообщения:
    114
    Симпатии:
    29
    Пол:
    Мужской
    насколько помню в этом плагине кривой дамагер, очень часто показывает что нанес урон в 2 раза больше чем на самом деле..
     
  7. Pavel Chepikov Пользователь

    Регистрация:
    15.04.16
    Сообщения:
    25
    Симпатии:
    5
    Пол:
    Мужской
    Skype:
    Diamonds671
    ICQ:
    374171059
    На сколько помню , он показывает вместе с броней...Я отключил данную функцию, так как делать такую плюшку тока випам не хочу.
     
  8. Hypa_[KZ] Пользователь

    Регистрация:
    26.02.16
    Сообщения:
    71
    Симпатии:
    25
    Пол:
    Мужской
    VKcom:
    a362_kz
    Skype:
    By_Hypa
    а у вас есть IDEAL VIP + GOLD ?? говорят в инете есть но не нашел!
     
  9. 1200Fps Пользователь

    Регистрация:
    16.10.15
    Сообщения:
    110
    Симпатии:
    27
    Пол:
    Мужской
    Telegram:
    tg_1K2
    ICQ:
    2053567
  10. Hypa_[KZ] Пользователь

    Регистрация:
    26.02.16
    Сообщения:
    71
    Симпатии:
    25
    Пол:
    Мужской
    VKcom:
    a362_kz
    Skype:
    By_Hypa
  11. Hnt Пользователь

    Регистрация:
    27.02.16
    Сообщения:
    102
    Симпатии:
    27
    Пол:
    Мужской
    Не ставь без исходника. Под себя #define поправиш. Модельки гуглятса ,найти легко.
    Код:
    #include <amxmodx>
    #include <cstrike>
    #include <fun>
    #include <fakemeta_util>
    #include <hamsandwich>
    
    #if AMXX_VERSION_NUM < 183
        #include <colorchat>
    #endif
    
    #define PLUGIN "IDEAL VIP"
    #define VERSION "3 c xepoM]"
    #define AUTHOR "15% oT Ba/lePa"
    
    #define GOLD                    //золотое оружие он/офф
    #define TAB_SHOW                //VIP в scoreboard
    #define AUTO_ARMOR                //автовыдача гранат и аммуниции в начале раунда
    #define AUTO_PISTOLS            //авто меню пистолетов, если не выбран в наборе
    //#define AUTO_WEAPMENU            //випменю в начале раунда
    #define vip_flag ADMIN_LEVEL_H    //флаг VIP
    #define c_round            3        //с какого раунда доступно меню
    #define c_health        5        //+здоровья за 1 убийство
    #define c_health_head    10        //+здоровья за 1 убийство в голову
    #define c_health_max    100        //максимум здоровья для VIP
    #define c_money            300        //+баксов за 1 убийство
    #define c_money_head    500        //+баксов за 1 убийство в голову
    
    #define VIP_TAG (1<<2)
    #define m_LastHitGroup    75
    
    #if defined GOLD
        #define MAX_ITEM_TYPES          6
        #define m_linux_entity          4
        #define m_pPlayer               41
        #define m_pActiveItem            373
        #define DMG_VALUE                1 //множитель урона
        #define linuxdiff                5
    
        new const m_rgpPlayerItems[MAX_ITEM_TYPES] = {34, 35, ...}
    
        new V_AK[]    = "models/gold/v_ak47_gold.mdl"
        new P_AK[]    = "models/gold/p_ak47_gold.mdl"
        new W_AK[]    = "models/gold/w_ak47_gold.mdl"
    
        new V_M4[]    = "models/gold/v_m4a1_gold.mdl"
        new P_M4[]    = "models/gold/p_m4a1_gold.mdl"
        new W_M4[]    = "models/gold/w_m4a1_gold.mdl"
    
        new V_AWP[]    = "models/gold/v_awp_gold.mdl"
        new P_AWP[]    = "models/gold/p_awp_gold.mdl"
        new W_AWP[]    = "models/gold/w_awp_gold.mdl"
    #endif
    
    new bool:g_map_valid = false
    new bool:g_vip_allow[33] = true
    new bool:g_haveGold[33] = false
    
    static g_Round, g_SecondWeap[33], g_SecondHave[33], g_buyTime, set_SecCase, i_Menu, g_maxPlayers
    
    public plugin_init()
    {   
        register_plugin(PLUGIN, VERSION, AUTHOR)
    
        register_message(get_user_msgid("ScoreAttrib"), "msgScoreAttrib")
    
        register_event("HLTV", "round_start", "a", "1=0", "2=0")
        register_event("TextMsg", "round_restart", "a", "2=#Game_will_restart_in","2=#Game_Commencing")
    
        RegisterHam(Ham_Killed, "player", "player_killed", 1)
        RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
        RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
    
        register_clcmd("say /vipmenu", "main_menu")
        register_clcmd("say_team /vipmenu", "main_menu")
        register_clcmd("vipmenu", "main_menu")
    
        g_maxPlayers = get_maxplayers()
    
        new szPrefixMap[][] = {"de_", "css_"}
        new map[32]; get_mapname(map, charsmax(map));
        for(new i; i < sizeof szPrefixMap; i++)
        {
            if(containi(map, szPrefixMap[i]) != -1)
                g_map_valid = true
       
        }
        #if defined GOLD
            RegisterHam(Ham_Item_Deploy, "weapon_ak47", "deploy_weapon", 1)
            RegisterHam(Ham_Item_Deploy, "weapon_m4a1", "deploy_weapon", 1)
            RegisterHam(Ham_Item_Deploy, "weapon_awp", "deploy_weapon", 1)
    
            register_forward(FM_SetModel, "set_model", 1)
        #endif
    }
    
    #if defined GOLD
        public plugin_precache()
        {
            precache_model (V_AK)
            precache_model (P_AK)
            precache_model (W_AK)
    
            precache_model (V_M4)
            precache_model (P_M4)
            precache_model (W_M4)
    
            precache_model (V_AWP)
            precache_model (P_AWP)
            precache_model (W_AWP)
        }
    #endif
    
    public round_start()
    {
        g_Round++
        g_buyTime = get_systime()
    }
    
    public round_restart()
        g_Round = 0
    
    public player_spawn(Player)
    {
        if(!g_map_valid || !user_admin(Player))
            return 1
    
        g_vip_allow[Player] = true
    
        if(is_user_alive(Player))
        {
            task_funk(Player)
       
            #if defined AUTO_WEAPMENU
                if(g_Round >= c_round)
                    main_menu(Player)
            #endif
        }
    
        return 1
    }
    
    public task_funk(id)
    {
        #if defined AUTO_ARMOR
        if(cs_get_user_team(id) == CS_TEAM_CT)
            cs_set_user_defuse(id, 1, 255, 255, 0,_,0)
        cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
        cs_set_user_armor(id, 100, CS_ARMOR_KEVLAR)
    
        give_item(id, "weapon_hegrenade")
        give_item(id, "weapon_flashbang")
        give_item(id, "weapon_flashbang")
        give_item(id, "weapon_smokegrenade")
        #endif
    
        #if defined AUTO_PISTOLS
            if(g_SecondHave[id])
                return 1
            Give_Second_Weapon(id, g_SecondWeap[id])
        #endif
    
        return 0
    }
    
    public main_menu(id)
    {
        if(!user_admin(id))
            return client_print_color(id, 0, "^3[^4PREMIUM^3] ^1У вас нет доступа для открытия этого меню!")
    
        if(!g_map_valid)
            return client_print_color(id, 0, "^3[^4PREMIUM^3] ^1На данной карте меню недоступно!")
    
        if(!is_user_alive(id))
            return client_print_color(id, 0, "^3[^4PREMIUM^3] ^1Мертвым меню не положено!")
    
        if(g_Round < c_round)   
            return client_print_color(id, 0, "^3[^4PREMIUM^3] ^1Оружейное меню доступно с %d-го раунда!", c_round)
    
        if(!g_vip_allow[id] || get_systime() > (g_buyTime + 20))
            return client_print_color(id, 0, "^3[^4PREMIUM^3] ^1Оружейное меню больше нельзя открыть! Ждите нового раунда!")
    
        new s_Title[128], s_Pistol[32], szMenuMulti[64]
        switch(g_SecondWeap[id])
        {
            case 0: s_Pistol = "NONE"
            case 1: s_Pistol = "Deagle"
            case 2: s_Pistol = "Usp"
            case 3: s_Pistol = "Glock"
        }
    
        formatex(s_Title, charsmax(s_Title), "\r[ \ySKILLSIDE | GOLDEN EMPIRE © \r]^n\rО\yружейное \rм\yеню:")   
        i_Menu = menu_create(s_Title, "main_handler", 1);
    
        formatex(szMenuMulti, charsmax(szMenuMulti), "\y%s \d+ Гранаты +  \rM4A1", s_Pistol)
        menu_additem(i_Menu, szMenuMulti, "1", 0)
    
        formatex(szMenuMulti, charsmax(szMenuMulti), "\y%s \d+ Гранаты +  \rAK47", s_Pistol)
        menu_additem(i_Menu, szMenuMulti, "2", 0)
    
        formatex(szMenuMulti, charsmax(szMenuMulti), "\y%s \d+ Гранаты +  \rAWP", s_Pistol)
        menu_additem(i_Menu, szMenuMulti, "3", 0)
    
        formatex(szMenuMulti, charsmax(szMenuMulti), "\y%s \d+ Гранаты +  \rFAMAS", s_Pistol)
        menu_additem(i_Menu, szMenuMulti, "4", 0)
    
        formatex(szMenuMulti, charsmax(szMenuMulti), "\y%s \d+ Гранаты +  \rSCOUT", s_Pistol)
        menu_additem(i_Menu, szMenuMulti, "5", 0)
    
        menu_addblank(i_Menu, 0)
    
        formatex(szMenuMulti, charsmax(szMenuMulti), "\yИзменить \rпистолет \yв наборе")
        menu_additem(i_Menu, szMenuMulti, "6", 0)
    
        #if defined GOLD
            formatex(szMenuMulti, charsmax(szMenuMulti), "\yМагазин Золотого оружия")
            menu_additem(i_Menu, szMenuMulti, "7", 0)
        #endif
    
        menu_setprop(i_Menu, MPROP_EXITNAME, "Выход")
    
        return menu_display(id, i_Menu, 0)
    }
    
    public main_handler(id, menu, item)
    {
        if(item == MENU_EXIT)
            return menu_destroy(menu)
    
        new s_Data[6], s_Name[60], 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_Key = str_to_num(s_Data)
        if(1 <= i_Key <= 5)
        {
            g_vip_allow[id] = false
            g_haveGold[id] = false
        }
    
        switch(i_Key)
        {
            case 1: DropWeapons(id, 1, "weapon_m4a1", CSW_M4A1, 90)
            case 2: DropWeapons(id, 1, "weapon_ak47", CSW_AK47, 90)
            case 3: DropWeapons(id, 1, "weapon_awp", CSW_AWP, 30)
            case 4: DropWeapons(id, 1, "weapon_famas", CSW_FAMAS, 90)
            case 5: DropWeapons(id, 1, "weapon_scout", CSW_SCOUT, 90)   
            case 6:
            {
                set_SecCase = 6
                sec_WpnMenu(id)
            }
            case 7: GoldMenu(id)
        }
    
        return menu_destroy(menu)
    }
    
    public sec_WpnMenu(id)
    {
        i_Menu = menu_create("\yВыберите \rпистолет \yдля набора", "sec_WpnMenu_handler")
    
        menu_additem(i_Menu, "\yDeagle", "1", 0)
        menu_additem(i_Menu, "\yUsp", "2", 0)
        menu_additem(i_Menu, "\yGlock", "3", 0)
    
        menu_display(id, i_Menu, 0)
    }
    
    public sec_WpnMenu_handler(id, menu, item)
    {
        if(item == MENU_EXIT)
            return PLUGIN_HANDLED
    
        new s_Data[6], s_Name[60], 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_Key = str_to_num(s_Data)
        g_SecondWeap[id] = i_Key
        g_SecondHave[id] = true
    
        menu_destroy(menu)
    
        return Give_Second_Weapon(id, g_SecondWeap[id])
    }
    
    #if defined GOLD
    public GoldMenu(id)
    {
        i_Menu = menu_create("\rМагазин \yЗолотого \rоружия", "GoldMenu_handler")
    
        menu_additem(i_Menu, "\yЗолотой \rМ4А1", "1", 0)
        menu_additem(i_Menu, "\yЗолотой \rАК-47", "2", 0); 
        menu_additem(i_Menu, "\yЗолотой \rAWP", "3", 0)
    //    menu_addblank2(i_Menu)
    
        menu_setprop(i_Menu, MPROP_EXITNAME, "\yВыход")
        menu_display(id, i_Menu, 0)                               
    }
    
    public GoldMenu_handler(id, menu, item)
    {
        if(item == MENU_EXIT)
            return menu_destroy(menu)
    
        new cmd[3], access, callback
        menu_item_getinfo(menu, item, access, cmd, 2,_,_, callback)
    
        if(item != MENU_EXIT)
        {
            g_vip_allow[id] = false
            g_haveGold[id] = true
        }
    
        new i_Key = str_to_num(cmd)
        switch (i_Key)
        {
            case 1:    DropWeapons(id, 1, "weapon_m4a1", CSW_M4A1, 90)
            case 2: DropWeapons(id, 1, "weapon_ak47", CSW_AK47, 90)
            case 3: DropWeapons(id, 1, "weapon_awp", CSW_AWP, 30)
            case 4: main_menu(id)
        }
    
        return menu_destroy(menu)
    }
    
    public deploy_weapon(ent)
    {
        static id; id = get_pdata_cbase(ent, m_pPlayer, m_linux_entity)
    
        static wpn; wpn = pev(ent, pev_iuser1)
        if(!wpn)
            return
    
        switch(wpn)
        {
            case CSW_AK47:
            {
                set_pev(id, pev_viewmodel2, V_AK)
                set_pev(id, pev_weaponmodel2, P_AK)
            }
            case CSW_M4A1:
            {
                set_pev(id, pev_viewmodel2, V_M4)
                set_pev(id, pev_weaponmodel2, P_M4)
            }
            case CSW_AWP:
            {
                set_pev(id, pev_viewmodel2, V_AWP)
                set_pev(id, pev_weaponmodel2, P_AWP)
            }
        }
    }
    
    public set_model(ent, model[])
    {
        if(!pev_valid(ent))
            return
    
        static classname[10]; pev(ent, pev_classname, classname, charsmax(classname))
        if(!equal(classname, "weaponbox"))
            return
    
        static drop
        for(new i = 0 ; i < MAX_ITEM_TYPES; i++)
        {
            drop = get_pdata_cbase(ent, m_rgpPlayerItems[i], m_linux_entity)
            if(drop < 1)
                continue
            break
        }
    
        if(drop < 1)
            return
    
        static wpn; wpn = pev(drop, pev_iuser1)
        if(!wpn)
            return
    
        switch(wpn)
        {
            case CSW_AK47: engfunc(EngFunc_SetModel, ent, W_AK)
            case CSW_M4A1: engfunc(EngFunc_SetModel, ent, W_M4)
            case CSW_AWP: engfunc(EngFunc_SetModel, ent, W_AWP)
        }
    }
    
    public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
    {
        if(!attacker || attacker > g_maxPlayers)
            return HAM_IGNORED
    
        static ent; ent = get_pdata_cbase(attacker, m_pActiveItem, linuxdiff)
        static wpn; wpn = pev(ent, pev_iuser1)
    
        if(!wpn)
            return HAM_IGNORED
    
        SetHamParamFloat(4, damage * DMG_VALUE)
    
        return HAM_IGNORED
    }
    #endif
    
    public player_killed(victim, killer, corpse)
    {
        if(user_admin(victim))
        {
            g_SecondHave[victim] = false
            g_haveGold[victim] = false
            return
        }
    
        if(user_admin(victim))
        {
            if(is_user_alive(killer))
            {
                static p_Health; p_Health = get_user_health(killer)
                static p_Money; p_Money = cs_get_user_money(killer)
                if(get_pdata_int(victim, m_LastHitGroup) == HIT_HEAD)
                {
                    set_user_health(killer, p_Health + c_health_head)
                    if(p_Health > c_health_max)
                        set_user_health(killer, c_health_max)
                    cs_set_user_money(killer, p_Money + c_money_head)
                }
                else
                {
                    set_user_health(killer, p_Health + c_health)
                    if(p_Health > c_health_max)
                        set_user_health(killer, c_health_max)
                    cs_set_user_money(killer, p_Money + c_money)
                }
            }
        }
    }
    
    #if defined TAB_SHOW
    public msgScoreAttrib(const MsgId, const MsgType, const MsgDest)
    {
        if(user_admin(get_msg_arg_int(1)) && !get_msg_arg_int(2))
            set_msg_arg_int(2, ARG_BYTE, VIP_TAG)
    }
    #endif
    
    stock bool: user_admin(const id)
    {
        if(!is_user_connected(id))
            return false
    
        if(get_user_flags(id) & vip_flag)
            return true
    
        return false
    }
    
    Give_Second_Weapon(id, wpnHave)
    {
        switch(wpnHave)
        {
            case 0:    sec_WpnMenu(id)
            case 1: DropWeapons(id, 2, "weapon_deagle", CSW_DEAGLE, 35)
            case 2: DropWeapons(id, 2, "weapon_usp", CSW_USP, 100)
            case 3:    DropWeapons(id, 2, "weapon_glock18", CSW_GLOCK18, 120)
        }
    
        if(set_SecCase == 6)
        {
            set_SecCase = 0
            main_menu(id)
        }
    
        return 1
    }
    
    DropWeapons(id, wpnType, wpnName[], wpnID, iAmmo)
    {
    #define PRIMARY_WEAPON ((1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|\
        (1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|\
        (1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90))
    
    #define SECONDARY_WEAPON ((1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_P228)|(1<<CSW_DEAGLE))
    
        new weapons[32], num, i
        get_user_weapons(id, weapons, num)
    
        switch(wpnType)
        {
            case 1: wpnType = PRIMARY_WEAPON
            case 2: wpnType = SECONDARY_WEAPON
        }
    
        static weap_name[32]
        for(i = 0; i < num; i++)
        {
            if(wpnType & (1<<weapons[i]))
            {
                get_weaponname(weapons[i], weap_name, sizeof weap_name - 1)
                if(!equali(weap_name, wpnName))
                    engclient_cmd(id, "drop", weap_name)
            }
        }
    
        #if defined GOLD
       
            if(g_haveGold[id])
            {
                static ent; ent = fm_give_item(id, wpnName)
                if(!pev_valid(ent))
                    return
               
                set_pev(ent, pev_iuser1, wpnID)
                cs_set_user_bpammo(id, wpnID, iAmmo)
                deploy_weapon(ent)
                engclient_cmd(id, wpnName)
    
                return
            }
        #endif
    
        fm_give_item(id, wpnName)
        cs_set_user_bpammo(id, wpnID, iAmmo)
    }
     
  12. dexter_308 Пользователь

    Регистрация:
    18.06.15
    Сообщения:
    97
    Симпатии:
    25
    Пол:
    Мужской
    уже версия 3.3 есть там код другой делал радиус
     
  13. Hnt Пользователь

    Регистрация:
    27.02.16
    Сообщения:
    102
    Симпатии:
    27
    Пол:
    Мужской
    Если есть выложи, а тот что выше без Lung, ini и прочего мусора )
     
  14. dexter_308 Пользователь

    Регистрация:
    18.06.15
    Сообщения:
    97
    Симпатии:
    25
    Пол:
    Мужской
    сначало спрошу разрешение у радиуса если можно то выложу
     
  15. Anonymous Пользователь

    Регистрация:
    16.07.15
    Сообщения:
    136
    Симпатии:
    71
    Пол:
    Мужской
    VKcom:
    anonymous102
    ICQ:
    9035313
    У этого плагина есть баг. Суть в том, что на карте появляются две бомбы С4. И игроки начинают метаться в непонятках, куда и какую поставить :taunt:
    dexter_308, от него же есть уже 3.4 версия.
     
  16. Владюша Пользователь

    Регистрация:
    29.01.16
    Сообщения:
    114
    Симпатии:
    29
    Пол:
    Мужской
    Артур, так же ловил такой баг, после этого сразу поменял вип плагин)
     
  17. vasifasmcs Пользователь

    Регистрация:
    13.04.16
    Сообщения:
    31
    Симпатии:
    0
    Пол:
    Мужской
    Поставил себе такой, прочитал отзывы
    Что теперь делать то с этим багом....
     
  18. Hnt Пользователь

    Регистрация:
    27.02.16
    Сообщения:
    102
    Симпатии:
    27
    Пол:
    Мужской
    1) Не юзать
    2) Не попить пиво на выходных, а проставиться тому кто решит твою задачу за тебя ,хули тут думать то)
     
    Anonymous нравится это.
  19. krenko Пользователь

    Регистрация:
    13.04.16
    Сообщения:
    38
    Симпатии:
    5
    Пол:
    Мужской
    Не замечал баг с бомбой
     
  20. Anonymous Пользователь

    Регистрация:
    16.07.15
    Сообщения:
    136
    Симпатии:
    71
    Пол:
    Мужской
    VKcom:
    anonymous102
    ICQ:
    9035313
    krenko, он редко бывает, но бывает! Я отказался от него. Чуток доплатил скриптеру и теперь юзаю тот, что на моих скринах :boast: