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

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

Ограничение пунктов в Вип меню

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

  1. onderbert618

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

    64
    2
    80
    Вот сделал випменю
    Сделал ограничение на пунккты меню.


    Но как сделать что бы меню можно было отрыть после 2 - го раунда ???


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

    new Round1[33]
    new Round2[33]
    new Round5[33]
    new Roundic2[33]
    new Roundic5[33]

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

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

    public vip_menu(id)
    {
    if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
    {
    ChatColor ( id, "^3[Киберспорт 16+] У вас нету доступа к данной команде...")
    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 150 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;
    }

    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:
    {
    if(Round1[id] == 0)
    {
    Round1[id] = 1
    give_item( id, "weapon_famas" )
    cs_set_user_bpammo( id , CSW_FAMAS, 90 )
    }
    else
    if(Round1[id] > 0)
    {
    ChatColor ( id, "^3[Киберспорт 16+] Оружие можно брать 1 раз за раунд!!! Ждите...")
    }
    }
    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, "^3[Киберспорт 16+] Оружие можно брать 1 раз за раунд!!! Ждите...")
    }
    }
    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, "^3[Киберспорт 16+] Оружие можно брать 1 раз за раунд!!! Ждите...")
    }
    }
    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, "^3[Киберспорт 16+] Оружие можно брать 1 раз за раунд!!! Ждите...")
    }
    }
    case 5:
    {
    if(Round2[id] == 0 && Roundic2[id] > 3)
    {
    Round2[id] = 3
    set_user_health(id, 150)
    }
    else
    if(Round2[id] > 0)
    {
    ChatColor ( id, "^3[Киберспорт 16+] 150 HP Можно брать 1 раз за 3 раунда!!! Ждите...")
    }
    }
    case 6:
    {
    if(Round5[id] == 0 && Roundic5[id] > 1)
    {
    Round5[id] = 3
    cs_set_user_money(id, 10000)
    }
    else
    if(Round5[id] > 0)
    {
    ChatColor ( id, "^3[Киберспорт 16+] 10000 $ Можно брать 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++)
    {
    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, "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();
    }
    }
    }
    }



    Заранее спасибо за помощь )
     
  2. tyne

    tyne Проверенный

    439
    107
    235
    #define ITEM1 3 //1 пункт будет доступен через 3 раунд

    new blockset[33][10]

    {
    if (!blockset[id]) continue
    blockset[id]--
    }
    }
    }

    Код:
    public adminmenu(id)
    {
    static menu[1024], len
    len = 0
    len = formatex(menu[len], charsmax(menu) - len,  "menu^n^n");
    len += formatex(menu[len], charsmax(menu) - len, (blockset[id][1] || !(get_user_flags(id) & ADMIN_LEVEL_G) || !is_user_alive(id)) ? "\r1.\dak47 \rЖдите %d раунд^n" : "\r1.\wak47^n", blockset[id][1])
    Код:
    }
    else
    {
    ExecuteHam(Ham_CS_RoundRespawn, id)
    blockset[id][1]=ITEM1
    adminmenu(id)
    give_item( id, "weapon_ak47")
    }
    }
    Могу плагин скинуть, как пример..=)
     
  3. onderbert618

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

    64
    2
    80
    Скинь пожалуйста.