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

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

Мое weaponmenu

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

  1. onderbert618

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

    64
    2
    80
    Вот решил сделать для себя weaponmenu

    Уже устранил ошибку )

    Может кому то понадобится )
    Выкладываю рабочий код

    Код ниже:

    #include
    #include
    #include

    new givingweapon[33], givepack[33]

    public plugin_init()
    {
    register_plugin("WeaponMenu", "1.0", "Sihoulette")
    register_clcmd("weaponmenu", "cmdmenu")
    }

    public cmdmenu(id)
    {
    if(!(get_user_flags(id) & ADMIN_LEVEL_A)) return PLUGIN_HANDLED
    givingweapon[id] = 0
    new menu = menu_create("Оружейное Меню:", "g_menu_handler")

    menu_additem(menu, "\wВыдать \r[\y AWP + Дигл \r]", "1")
    menu_additem(menu, "\wВыдать \r[\y AK-47 + Дигл \r]", "2")
    menu_additem(menu, "\wВыдать \r[\y M4A1 + Дигл \r]", "3")
    menu_additem(menu, "\wВыдать \r[\y FAMAS + Дигл \r]", "4")
    menu_additem(menu, "\yВыдать Экипировку", "5")

    menu_setprop(menu, MPROP_EXITNAME, "Выход")
    menu_display(id, menu, 0)
    return PLUGIN_HANDLED
    }

    public g_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 Key = str_to_num(s_Data)
    switch(Key)
    {
    case 1: cmdgiverifle(id, 1, 1)
    case 2: cmdgiverifle(id, 2, 1)
    case 3: cmdgiverifle(id, 3, 1)
    case 4: cmdgiverifle(id, 4, 1)
    case 5: cmdgiverifle(id, 5, 1)
    }

    menu_destroy(menu)
    return PLUGIN_HANDLED
    }

    public cmdgiverifle(id, weapon, pack)
    {
    givingweapon[id] = weapon
    givepack[id] = pack
    new menu = menu_create("Выберите игрока", "p_menu_handler")
    new s_Players[32], i_Num, i_Player
    new s_Name[64], s_Player[10]
    get_players(s_Players, i_Num)
    for (new i; i < i_Num; i++)
    {
    i_Player = s_Players

    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))
    format(s_Name, charsmax(s_Name), "\w%s", s_Name)
    else
    format(s_Name, charsmax(s_Name), "\d%s", s_Name)
    menu_additem(menu, s_Name, s_Player, 0)
    }
    menu_setprop(menu, MPROP_NEXTNAME, "Далее")
    menu_setprop(menu, MPROP_BACKNAME, "Назад")
    menu_setprop(menu, MPROP_EXITNAME, "Выход")
    menu_display(id, menu, 0)
    }

    public p_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)

    if(is_user_connected(i_Player) && is_user_alive(i_Player))
    {
    switch(givingweapon[id])
    {
    case 1:
    {
    give_item( i_Player, "weapon_awp" )
    cs_set_user_bpammo( i_Player, CSW_AWP, 30 )
    give_item( i_Player, "weapon_deagle" )
    cs_set_user_bpammo( i_Player, CSW_DEAGLE, 35 )
    }
    case 2:
    {
    give_item( i_Player, "weapon_ak47" )
    cs_set_user_bpammo( i_Player, CSW_AK47, 90 )
    give_item( i_Player, "weapon_deagle" )
    cs_set_user_bpammo( i_Player, CSW_DEAGLE, 35 )
    }
    case 3:
    {
    give_item( i_Player, "weapon_m4a1" )
    cs_set_user_bpammo( i_Player, CSW_M4A1, 90 )
    give_item( i_Player, "weapon_deagle" )
    cs_set_user_bpammo( i_Player, CSW_DEAGLE, 35 )
    }
    case 4:
    {
    give_item(i_Player, "weapon_famas" )
    cs_set_user_bpammo( i_Player, CSW_FAMAS, 90 )
    give_item( i_Player, "weapon_deagle" )
    cs_set_user_bpammo( i_Player, CSW_DEAGLE, 35 )
    }
    case 5:
    {
    give_item( i_Player, "weapon_hegrenade" )
    give_item( i_Player, "weapon_flashbang" )
    give_item( i_Player, "weapon_flashbang" )
    give_item( i_Player, "weapon_smokegrenade" )
    give_item( i_Player, "item_assaultsuit" )
    give_item( i_Player, "item_thighpack" )

    give_item( i_Player, "ammo_50ae" )
    give_item( i_Player, "ammo_50ae" )
    give_item( i_Player, "ammo_50ae" )
    give_item( i_Player, "ammo_50ae" )
    give_item( i_Player, "ammo_50ae" )
    }
    }
    }

    menu_destroy(menu)
    return PLUGIN_HANDLED
    }



    Спасибо tyne за помощь )
     
  2. tyne

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

    439
    107
    235
    new s_Data[6], s_Name[64], i_Access, i_Callback
    Разве обязательно каждый раз регать?
    И какую ошибку то?
    При компиляции вылазит или как?
     
    1 человеку нравится это.
  3. onderbert618

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

    64
    2
    80
    Строка: (105) : error 088: number of arguments does not match definition
     
  4. onderbert618

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

    64
    2
    80
    Сначала было с выдачой дигл плюс все грены, но я это убрал.
    НЕ гранаты бесконечно давались (
     
  5. Lacosti4

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

    7
    0
    25
    а чё, плохо что-ли? :))