Добро пожаловать

Для полноценного пользования форумом и общения с его участниками, пройдите регистрацию ниже
Регистрация

vipmenu со второго раунда

Тема в разделе "Свалка", создана пользователем onderbert618, 7 окт 2014.

  1. onderbert618

    onderbert618 Пользователь

    64
    2
    80
    Уже сам додумался как сделать =)

    Усовершенствовал :

    Исходник:
    #include
    #include
    #include
    #include
    #include
    #define VIP_FLAG ADMIN_RESERVATION

    new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18};

    new Round1[33]
    new Round2[33]
    new Round3[33]

    new round_number, g_round

    public plugin_init()
    {
    register_plugin("vip_weapon", "1.1", "Sihoulette")
    register_clcmd("vipmenu", "vip_menu")
    register_event("ResetHUD", "ResetHUD", "be")
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
    register_logevent("round_start", 2, "0=World triggered", "1=Round_Start")
    g_round = register_cvar("amx_vip_give", "2")
    }

    public event_round_start ()
    {
    round_number++
    }

    public round_start()
    {
    for(new id = 0; id < 33; id++)
    {
    if(Round1[id] > 0)
    {
    Round1[id] -= 1
    }
    if(Round2[id] > 0)
    {
    Round2[id] -= 1
    }
    if(Round3[id] > 0)
    {
    Round3[id] -= 1
    }
    }
    }

    public vip_menu(id)
    {
    if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
    {
    ChatColor ( id, "^4[Сервер] Данное меню доступно только для VIP.")
    return PLUGIN_HANDLED;
    }
    new menu = menu_create("\rВип Меню:", "show_vipmenu")

    menu_additem(menu, "\wВзять \r[\y FAMAS \r]", "1")
    menu_additem(menu, "\wВзять \r[\y M4A1 \r]", "2")
    menu_additem(menu, "\wВзять \r[\y AK-47 \r]", "3")
    menu_additem(menu, "\wВзять \r[\y AWP \r]", "4")
    menu_additem(menu, "\wВзять \r[\y 100 HP \r]", "5")
    menu_additem(menu, "\wВзять \r[\y 10000 $ \r]", "6")

    menu_setprop(menu, MPROP_NEXTNAME, "Дальше")
    menu_setprop(menu, MPROP_BACKNAME, "Назад")
    menu_setprop(menu, MPROP_EXITNAME, "Выход")
    menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)

    menu_display(id,menu,0)
    return PLUGIN_HANDLED;
    }
    public show_vipmenu(id, menu, item)
    {
    if(item == MENU_EXIT)
    {
    menu_destroy(menu)
    return PLUGIN_HANDLED;
    }

    if(is_user_alive(id))
    {
    if ( round_number 0)
    {
    ChatColor ( id, "^4[VIP] ^3Вы уже взяли оружие подождите.")
    }
    }
    case 2:
    {
    if(Round1[id] == 0)
    {
    Round1[id] = 1
    give_item( id, "weapon_m4a1" )
    cs_set_user_bpammo( id , CSW_M4A1, 90 )
    }
    else
    if(Round1[id] > 0)
    {
    ChatColor ( id, "^4[VIP] ^3Вы уже взяли оружие подождите.")
    }
    }
    case 3:
    {
    if(Round1[id] == 0)
    {
    Round1[id] = 1
    give_item( id, "weapon_ak47" )
    cs_set_user_bpammo( id , CSW_AK47, 90 )
    }
    else
    if(Round1[id] > 0)
    {
    ChatColor ( id, "^4[VIP] ^3Вы уже взяли оружие подождите.")
    }
    }
    case 4:
    {
    if(Round1[id] == 0)
    {
    Round1[id] = 1
    give_item( id, "weapon_awp" )
    cs_set_user_bpammo( id , CSW_AWP, 30 )
    }
    else
    if(Round1[id] > 0)
    {
    ChatColor ( id, "^4[VIP] ^3Вы уже взяли оружие подождите.")
    }
    }
    case 5:
    {
    if(Round2[id] == 0)
    {
    Round2[id] = 3
    set_user_health(id, 100)
    }
    else
    if(Round2[id] > 0)
    {
    ChatColor ( id, "^4[VIP] ^3Восстановить здоровья можно 1 раз за 3 раунда.")
    }
    }
    case 6:
    {
    if(Round3[id] == 0)
    {
    Round3[id] = 3
    cs_set_user_money(id, 10000)
    }
    else
    if(Round3[id] > 0)
    {
    ChatColor ( id, "^4[VIP] ^3Деньги можно брать 1 раз за 3 раунда.")
    }
    }
    }
    return PLUGIN_HANDLED
    }

    public ResetHUD(id)
    {
    set_task(0.5, "VIP", id + 6910)
    }

    public VIP(TaskID)
    {
    new id = TaskID - 6910
    if (get_user_flags(id) & VIP_FLAG && is_user_connected(id) && is_user_alive(id))
    {
    for (new i = 0; i < 6; i++)
    {
    if (fm_strip_user_gun(id, pistols))
    {
    break;
    }
    message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
    write_byte(id)
    write_byte(4)
    message_end()
    give_item( id, "weapon_hegrenade" )
    give_item( id, "weapon_flashbang" )
    give_item( id, "weapon_flashbang" )
    give_item( id, "weapon_smokegrenade" )
    give_item( id, "item_assaultsuit" )
    give_item( id, "item_thighpack" )
    give_item( id, "weapon_deagle")
    give_item( id, "ammo_50ae" )
    give_item( id, "ammo_50ae" )
    give_item( id, "ammo_50ae" )
    give_item( id, "ammo_50ae" )
    give_item( id, "ammo_50ae" )
    }
    }
    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))
    {
    message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
    write_byte(players);
    write_string(msg);
    message_end();
    }
    }
    }
    }



    1. Вначале каждого раунда даются: гранаты армор дигл и defusal kit
    2. Вип меню доступно со 2 раунда
    3. Доступность Вип Меню можно изменить кваром. (amx_vip_give)
    4. Можно взять только 1 оружие
    5. Пункты 5, 6 доступны 1 раз за 3 раунда
    6. Мертвым вип меню недоступно
    6. Надпись VIP в ТАБ
    7. Нету бага с 2-мя пистолетами
    8. Флаг доступа: ADMIN_RESERVATION "b"