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

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

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

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

Перепутано оружие weaponmenu

Статус пользователя pukipuki
сообщение 14.7.2013, 18:36
Сообщение #1
Стаж: 13 лет

Сообщений: 34
Благодарностей: 2
Полезность: 46

К примеру при выборе ак 47 из меню автоматы появляется скорострелка. Помогите все расставить по местам.
Скрытый текст

Код
#include <amxmodx>
        #include <amxmisc>
        #include <cstrike>
        #include <fun>
        
        // Раскометируйте, чтобы при выдаче оружия происходил дроп (выброс)
        #define WEAPONS_DROP
        
        #define MAX_PLAYERS     32
        #define MAX_WEAPONS     24
        #define MAX_AMMO        10
        #define MAX_ITEMS        8
        #define MAX_DISPLAY      8
        
        #define MT_PISTOL        0
        #define MT_SHOTGUN       1
        #define MT_SMG           2
        #define MT_RIFLE         3
        #define MT_MACHINE       4
        #define MT_PAMMO         5
        #define MT_SAMMO         6
        #define MT_EQUIP         7
        #define MT_EXTRA         8
        
        #define OFFSET_SHOTGUN   6
        #define OFFSET_SMG      17
        #define OFFSET_RIFLE    20
        #define OFFSET_MACHINE  21
        
        #define MO_MAX_MAIN      9
        #define MO_MAX_PISTOL    6
        #define MO_MAX_SHOTGUN   2
        #define MO_MAX_SMG       9
        #define MO_MAX_RIFLE     3
        #define MO_MAX_EQUIP     8
        #define MO_MAX_EXTRA    11

new gRounds = 1

        new g_szMainMenuTxt[MO_MAX_MAIN][] = {
            "Пистолеты",
            "Дробовики",
            "Автоматы",
            "Винтовки",
            "Пулемёты",
            "Патроны к основному оружию",
            "Патроны к запасному оружию",
            "Снаряжение",
            "Дополнительно"
        }

        
        new g_szPistolMenuTxt[MO_MAX_PISTOL][] = {
            "USP",
            "Glock",
            "Deagle",
            "228 Compact",
            "Dual Elites",
            "Five-Seven"
        }
        
        new g_szShotgunMenuTxt[MO_MAX_SHOTGUN][] = {
            "Pump Shotgun",
            "Auto Shotgun"
        }
        
        new g_szSmgMenuTxt[MO_MAX_SMG][] = {
            "MP5",
            "TMP",
            "C90",
            "Mac10",
            "UMP",
            "AK47",
            "M4A1",
            "Clarion",
            "Galil"
        }
        
        new g_szRifleMenuTxt[MO_MAX_RIFLE][] = {
            
            "Krieg SG552",
            "Bullpup",
            "Scout"
            
        }
        
        new g_szMachineMenuTxt[] = "M249 (Para)"
        
        new g_szEquipMenuTxt[MO_MAX_EQUIP][] = {
            "Kevlar",
            "Kevlar + Helmet",
            "Flashbang Grenade",
            "HE Grenade",
            "Smoke Grenade",
            "Defusal Kit",
            "Nighvision Goggles",
            "Shield"
        }

new g_szExtraMenuTxt[MO_MAX_EXTRA][] = {
    "M3 Set",
    "MP5 Navy Set",
    "Clarion Set",
    "Galil Set",
    "M4A1 Set",
    "AK47 Set",
    "Krieg SG552 Set",
    "Bullpup Set",
    "M249 Set",
    "Scout Set",
    "Nades Set"
}

new g_szWeaponList[MAX_WEAPONS][] = {
    "weapon_usp", "weapon_glock18", "weapon_deagle", "weapon_p228", "weapon_elite",
    "weapon_fiveseven", "weapon_m3", "weapon_xm1014", "weapon_mp5navy", "weapon_tmp",
    "weapon_p90", "weapon_mac10", "weapon_ump45", "weapon_famas", "weapon_sg552",
    "weapon_ak47", "weapon_m4a1", "weapon_aug", "weapon_scout", "weapon_awp",
    "weapon_sg550", "weapon_g3sg1", "weapon_galil", "weapon_m249"
}

new g_szItemsList[MAX_ITEMS][] = {
    "item_kevlar", "item_assaultsuit", "weapon_flashbang", "weapon_hegrenade",
    "weapon_smokegrenade", "item_thighpack", "item_nvgs", "weapon_shield"
}

new g_szAmmoList[MAX_AMMO][] = {
    "ammo_45acp", "ammo_9mm", "ammo_50ae", "ammo_357sig",
    "ammo_57mm", "ammo_buckshot", "ammo_556nato", "ammo_762nato",
    "ammo_338magnum", "ammo_556natobox"
}

new g_nWeaponData[MAX_WEAPONS][2] = {
    { 0, 8 }, { 1, 8 }, { 2, 5 }, { 3, 6 }, { 1, 4 },
    { 4, 4 }, { 5, 4 }, { 5, 4 }, { 1, 4 }, { 1, 4 },
    { 4, 4 }, { 0, 6 }, { 0, 6 }, { 6, 3 }, { 6, 3 },
    { 7, 3 }, { 6, 3 }, { 6, 3 }, { 7, 3 }, { 8, 3 },
    { 6, 3 }, { 7, 3 }, { 6, 3 }, { 9, 7 }
}

new g_nMenuPosition[MAX_PLAYERS]
new g_nMenuType[MAX_PLAYERS]
new g_nMenuOption[MAX_PLAYERS]
new g_nMenuPlayers[MAX_PLAYERS][MAX_PLAYERS]
new g_nMenuPlayersNum[MAX_PLAYERS]

public plugin_init()
{
    register_plugin( "Weapon Menu", "1.1", "Adidasman" )

    register_clcmd( "amx_weaponmenu", "ShowWeaponMenu", ADMIN_MENU, "Shows The Weapon Menu" )
    register_clcmd( "weaponmenu", "ShowWeaponMenu", ADMIN_MENU, "Shows The Weapon Menu" )

    register_cvar( "sv_weaponmenu_smoke", "1" ) // Выдавать дымовые гранаты?  (1 = да, 0 = нет)
    register_cvar( "sv_weaponmenu_state", "1" ) // Действие после выдачи оружия
                                                // 0 = Закрытие меню
                                                // 1 = Возврат к выбору игрока
                                                // 2 = Возврат к выбору оружия

    register_menucmd( register_menuid("Выберите экипировку:"),      1023, "MainMenuCmd" )
    register_menucmd( register_menuid("Пистолеты:"),      1023, "RegularMenuCmd" )
    register_menucmd( register_menuid("Дробовики:"),     1023, "RegularMenuCmd" )
    register_menucmd( register_menuid("Автоматы:"),         1023, "RegularMenuCmd" )
    register_menucmd( register_menuid("Винтовки:"),       1023, "RifleMenuCmd" )
    register_menucmd( register_menuid("Пулемёты:"), 1023, "RegularMenuCmd" )
    register_menucmd( register_menuid("Снаряжение:"),    1023, "RegularMenuCmd" )
    register_menucmd( register_menuid("Дополнительно:"),       1023, "ExtraMenuCmd" )
    register_menucmd( register_menuid("Кому выдать:"),      1023, "PlayerMenuCmd" )
    register_event("TextMsg", "eRestart", "a", "2=#Game_will_restart_in","2=#Game_Commencing")
    register_event("HLTV", "eRoundStart", "a", "1=0", "2=0")
    return PLUGIN_CONTINUE
}

public eRestart()
gRounds = 1

public eRoundStart()
gRounds++

public ShowWeaponMenu( id, lvl, cid )
{
    if( cmd_access( id, lvl, cid, 0 ) )
    {
        g_nMenuPosition[id-1] = 0
        ShowMainMenu( id )
    }
    return PLUGIN_HANDLED
}

public MainMenuCmd( id, key )
{
    g_nMenuType[id-1] = key

    switch( key )
    {
        case 0: ShowPistolMenu( id )
        case 1: ShowShotgunMenu( id )
        case 2: ShowSmgMenu( id )
        case 3: ShowRifleMenu( id, g_nMenuPosition[id-1] = 0 )
        case 4: ShowMachineMenu( id )
        case 5: ShowPlayerMenu( id, g_nMenuPosition[id-1] = 0 )
        case 6: ShowPlayerMenu( id, g_nMenuPosition[id-1] = 0 )
        case 7: ShowEquipMenu( id )
        case 8: ShowExtraMenu( id, g_nMenuPosition[id-1] = 0 )
        default: { /* Do Nothing Here (Exit Option) */ }
    }
    return PLUGIN_HANDLED
}

public RegularMenuCmd( id, key )
{
    g_nMenuOption[id-1] = key

    switch( key )
    {
        case 9:
        {
            ShowMainMenu( id )
        }
        default: ShowPlayerMenu( id, g_nMenuPosition[id-1] = 0 )
    }
    return PLUGIN_HANDLED
}

public RifleMenuCmd( id, key )
{
    g_nMenuOption[id-1] = g_nMenuPosition[id-1] * MAX_DISPLAY + key

    switch( key )
    {
        case 8:
        {
            ShowRifleMenu( id, ++g_nMenuPosition[id-1] )
        }
        case 9:
        {
            if( g_nMenuPosition[id-1] )
            {
                ShowRifleMenu( id, --g_nMenuPosition[id-1] )
            }else
            {
                ShowMainMenu( id )
            }
        }
        default: ShowPlayerMenu( id, g_nMenuPosition[id-1] = 0 )
    }
    return PLUGIN_HANDLED
}

public PlayerMenuCmd( id, key )
{
    switch( key )
    {
        case 8:
        {
            ShowPlayerMenu( id, ++g_nMenuPosition[id-1] )
        }
        case 9:
        {
            if( g_nMenuPosition[id-1] )
            {
                ShowPlayerMenu( id, --g_nMenuPosition[id-1] )
            }else
            {
                ShowMainMenu( id )
            }
        }
        default:
        {
            new nPlayerID = g_nMenuPlayers[id-1][g_nMenuPosition[id-1] * MAX_DISPLAY + key]

            GiveMenuItem( id, nPlayerID )

            switch( clamp(get_cvar_num("sv_weaponmenu_state"), 0, 2) )
            {
                case 1: ShowPlayerMenu( id, g_nMenuPosition[id-1] )
                case 2: ShowMainMenu( id )
            }
        }
    }
    return PLUGIN_HANDLED
}

public ExtraMenuCmd( id, key )
{
    g_nMenuOption[id-1] = g_nMenuPosition[id-1] * MAX_DISPLAY + key

    switch( key )
    {
        case 8:
        {
            ShowExtraMenu( id, ++g_nMenuPosition[id-1] )
        }
        case 9:
        {
            if( g_nMenuPosition[id-1] )
            {
                ShowExtraMenu( id, --g_nMenuPosition[id-1] )
            }else
            {
                ShowMainMenu( id )
            }
        }
        default: ShowPlayerMenu( id, g_nMenuPosition[id-1] = 0 )
    }
    return PLUGIN_HANDLED
}

public ShowMainMenu( id )
{
if(get_user_flags(id) & ADMIN_IMMUNITY && gRounds > 3)
{
    new i, nLen, nKeys = (1<<9)
    new szMenuBody[512]

    nLen = format( szMenuBody, 511, "rВыберите экипировку:w^n" )
    for( i = 0; i < MO_MAX_MAIN; i++ )
    {
        nKeys |= (1<<i)
        nLen += format( szMenuBody[nLen], (511-nLen), "%d. %s^n", (i+1), g_szMainMenuTxt[i] )
    }
    format( szMenuBody[nLen], (511-nLen), "^n0. Выход" )

    show_menu( id, nKeys, szMenuBody, -1 )
}else if( get_user_flags(id) & ADMIN_LEVEL_H && gRounds <= 3){
client_print(id, print_chat, " * Взять оружие можно только с 3 раунда!")
}else if( gRounds <= 3){
client_print(id, print_chat, "Нет прав. купите админку!")
}
    return
}

public ShowPistolMenu( id )
{
    new i, nLen, nKeys = (1<<9)
    new szMenuBody[256]

    nLen = format( szMenuBody, 255, "rПистолеты:w^n" )
    for( i = 0; i < MO_MAX_PISTOL; i++ )
    {
        nKeys |= (1<<i)
        nLen += format( szMenuBody[nLen], (255-nLen), "%d. %s^n", (i+1), g_szPistolMenuTxt[i] )
    }
    format( szMenuBody[nLen], (255-nLen), "^n0. Назад" )

    show_menu( id, nKeys, szMenuBody, -1 )
    return
}

public ShowShotgunMenu( id )
{
    new i, nLen, nKeys = (1<<9)
    new szMenuBody[256]

    nLen = format( szMenuBody, 255, "rДробовики:w^n" )
    for( i = 0; i < MO_MAX_SHOTGUN; i++ )
    {
        nKeys |= (1<<i)
        nLen += format( szMenuBody[nLen], (255-nLen), "%d. %s^n", (i+1), g_szShotgunMenuTxt[i] )
    }
    format( szMenuBody[nLen], (255-nLen), "^n0. Назад" )

    show_menu( id, nKeys, szMenuBody, -1 )
    return
}

public ShowSmgMenu( id )
{
    new i, nLen, nKeys = (1<<9)
    new szMenuBody[2256]

    nLen = format( szMenuBody, 255, "rАвтоматы:w^n" )
    for( i = 0; i < MO_MAX_SMG; i++ )
    {
        nKeys |= (1<<i)
        nLen += format( szMenuBody[nLen], (255-nLen), "%d. %s^n", (i+1), g_szSmgMenuTxt[i] )
    }
    format( szMenuBody[nLen], (255-nLen), "^n0. Назад" )

    show_menu( id, nKeys, szMenuBody, -1 )
    return
}

public ShowRifleMenu( id, pos )
{
    if( pos < 0 ) return

    new i, j = 0, nStart, nEnd, nLen, nKeys = (1<<9)
    new szMenuBody[512]

    nStart = pos * MAX_DISPLAY

    if( nStart >= MO_MAX_RIFLE )
        nStart = pos = g_nMenuPosition[id-1] = 0

    nLen = format( szMenuBody, 511, "rВинтовки:R%d/2^nw^n", pos + 1 )

    nEnd = nStart + MAX_DISPLAY
    if( nEnd > MO_MAX_RIFLE ) nEnd = MO_MAX_RIFLE

    for( i = nStart; i < nEnd; i++ )
    {
        nKeys |= (1<<j++)
        nLen += format( szMenuBody[nLen], (511-nLen), "%d. %s^n", j, g_szRifleMenuTxt[i] )
    }

    if( nEnd != MO_MAX_RIFLE )
    {
        format( szMenuBody[nLen], (511-nLen), "^n9. Далее^n0. Назад" )
        nKeys |= (1<<8)
    }
    else format( szMenuBody[nLen], (511-nLen), "^n0. Назад" )

    show_menu( id, nKeys, szMenuBody, -1 )
    return
}

public ShowMachineMenu( id )
{
    new nLen, nKeys = (1<<0|1<<9)
    new szMenuBody[256]

    nLen = format( szMenuBody, 255, "rПулемёты:w^n" )
    nLen += format( szMenuBody[nLen], (255-nLen), "%d. %s^n", 1, g_szMachineMenuTxt )
    format( szMenuBody[nLen], (255-nLen), "^n0. Назад" )

    show_menu( id, nKeys, szMenuBody, -1 )
    return
}

public ShowEquipMenu( id )
{
    new i, nLen, nKeys = (1<<9)
    new szMenuBody[256]

    nLen = format( szMenuBody, 255, "rСнаряжение:w^n" )
    for( i = 0; i < MO_MAX_EQUIP; i++ )
    {
        nKeys |= (1<<i)
        nLen += format( szMenuBody[nLen], (255-nLen), "%d. %s^n", (i+1), g_szEquipMenuTxt[i] )
    }
    format( szMenuBody[nLen], (255-nLen), "^n0. Назад" )

    show_menu( id, nKeys, szMenuBody, -1 )
    return
}

public ShowExtraMenu( id, pos )
{
    if( pos < 0 ) return

    new i, j = 0, nStart, nEnd, nLen, nKeys = (1<<9)
    new szMenuBody[512]

    nStart = pos * MAX_DISPLAY

    if( nStart >= MO_MAX_EXTRA )
        nStart = pos = g_nMenuPosition[id-1] = 0

    nLen = format( szMenuBody, 511, "rДополнительно:R%d/2^nw^n", pos + 1 )

    nEnd = nStart + MAX_DISPLAY
    if( nEnd > MO_MAX_EXTRA ) nEnd = MO_MAX_EXTRA

    for( i = nStart; i < nEnd; i++ )
    {
        nKeys |= (1<<j++)
        nLen += format( szMenuBody[nLen], (511-nLen), "%d. %s^n", j, g_szExtraMenuTxt[i] )
    }

    if( nEnd != MO_MAX_EXTRA )
    {
        format( szMenuBody[nLen], (511-nLen), "^n9. Далее^n0. Назад" )
        nKeys |= (1<<8)
    }
    else format( szMenuBody[nLen], (511-nLen), "^n0. Назад" )

    show_menu( id, nKeys, szMenuBody, -1 )
    return
}

public ShowPlayerMenu( id, pos )
{
    if( pos < 0 ) return

    get_players( g_nMenuPlayers[id-1], g_nMenuPlayersNum[id-1] )

    new i, j = 0, idx
    new szUserName[32], szMenuBody[512]
    new nStart = pos * MAX_DISPLAY

    if( nStart >= g_nMenuPlayersNum[id-1] )
        nStart = pos = g_nMenuPosition[id-1] = 0

    new nLen = format( szMenuBody, 511, "rКому выдать:R%d/%d^nw^n", (pos+1), (g_nMenuPlayersNum[id-1] / MAX_DISPLAY + ((g_nMenuPlayersNum[id-1] % MAX_DISPLAY) ? 1 : 0 )) )
    new nEnd = nStart + MAX_DISPLAY
    new nKeys = (1<<9)

    if( nEnd > g_nMenuPlayersNum[id-1] )
        nEnd = g_nMenuPlayersNum[id-1]

    for( i = nStart; i < nEnd; i++ )
    {
        idx = g_nMenuPlayers[id-1][i]
        get_user_name( idx, szUserName, 31 )

        nKeys |= (1<<j++)
        nLen += format( szMenuBody[nLen], (511-nLen), "%d. %s^n", j, szUserName )
    }

    if( nEnd != g_nMenuPlayersNum[id-1] )
    {
        nKeys |= (1<<8)
        format( szMenuBody[nLen], (511-nLen), "^n9. Далее^n0. Назад" )
    }
    else format( szMenuBody[nLen], (511-nLen), "^n0. Назад" )

    show_menu( id, nKeys, szMenuBody )
    return
}

stock GiveMenuItem( id, p_nPlayerID )
{
    new szUserName[32]
    get_user_name( p_nPlayerID, szUserName, 31 )

    switch( g_nMenuType[id-1] )
    {
        case MT_PISTOL:  GiveSecondaryPlayerWeapon( p_nPlayerID, g_nMenuOption[id-1] )
        case MT_SHOTGUN: GivePlayerWeapon( p_nPlayerID, (OFFSET_SHOTGUN + g_nMenuOption[id-1]) )
        case MT_SMG:     GivePlayerWeapon( p_nPlayerID, (OFFSET_SMG + g_nMenuOption[id-1]) )
        case MT_RIFLE:   GivePlayerWeapon( p_nPlayerID, (OFFSET_RIFLE + g_nMenuOption[id-1]) )
        case MT_MACHINE: GivePlayerWeapon( p_nPlayerID, (OFFSET_MACHINE + g_nMenuOption[id-1]) )
        case MT_PAMMO:   GivePrimaryAmmo( p_nPlayerID )
        case MT_SAMMO:   GiveSecondaryAmmo( p_nPlayerID )
        case MT_EQUIP:   GivePlayerItem( p_nPlayerID, g_nMenuOption[id-1] )
        case MT_EXTRA:   GivePlayerExtra( p_nPlayerID, g_nMenuOption[id-1] )
    }
    return
}

stock GiveSecondaryPlayerWeapon( id, nWeaponIdx )
{
    if( !is_user_alive(id) || (nWeaponIdx < 0) || (nWeaponIdx >= 6) )
        return

    #if defined WEAPONS_DROP
    drop_s_weapons(id)
    #endif

    give_item( id, g_szWeaponList[nWeaponIdx] )
    for( new i = 0; i < g_nWeaponData[nWeaponIdx][1]; i++ )
        give_item( id, g_szAmmoList[g_nWeaponData[nWeaponIdx][0]] )

    return
}

stock GivePlayerWeapon( id, nWeaponIdx )
{
    if( !is_user_alive(id) || (nWeaponIdx < 6) || (nWeaponIdx >= MAX_WEAPONS) )
        return

    #if defined WEAPONS_DROP
    drop_p_weapons(id)
    #endif

    give_item( id, g_szWeaponList[nWeaponIdx] )
    for( new i = 0; i < g_nWeaponData[nWeaponIdx][1]; i++ )
        give_item( id, g_szAmmoList[g_nWeaponData[nWeaponIdx][0]] )

    return
}

stock GivePlayerExtra( id, nExtraIdx )
{
    if( !is_user_alive(id) || (nExtraIdx < 0) || (nExtraIdx >= MO_MAX_EXTRA) )
        return

    new i, j
    switch( nExtraIdx )
    {
        case 0:
        {
            for( i = 0; i < MAX_WEAPONS; i++ )
            {
                give_item( id, g_szWeaponList[i] )
                for( j = 0; j < g_nWeaponData[i][1]; j++ )
                    give_item( id, g_szAmmoList[g_nWeaponData[i][0]] )
            }
        }
        case 1:
        {
            GivePlayerWeapon( id, 6 )
            GiveSecondaryPlayerWeapon( id, 2 )
            for( i = 1; i < 6; i++ )
                GivePlayerItem( id, i )
        }
        case 2:
        {
            GivePlayerWeapon( id, 8 )
            GiveSecondaryPlayerWeapon( id, 2 )
            for( i = 1; i < 6; i++ )
                GivePlayerItem( id, i )
        }
        case 3:
        {
            GivePlayerWeapon( id, 13 )
            GiveSecondaryPlayerWeapon( id, 2 )
            for( i = 1; i < 6; i++ )
                GivePlayerItem( id, i )
        }
        case 4:
        {
            GivePlayerWeapon( id, 22 )
            GiveSecondaryPlayerWeapon( id, 2 )
            for( i = 1; i < 6; i++ )
                GivePlayerItem( id, i )
        }
        case 5:
        {
            GivePlayerWeapon( id, 16 )
            GiveSecondaryPlayerWeapon( id, 2 )
            for( i = 1; i < 6; i++ )
                GivePlayerItem( id, i )
        }
        case 6:
        {
            GivePlayerWeapon( id, 15 )
            GiveSecondaryPlayerWeapon( id, 2 )
            for( i = 1; i < 6; i++ )
                GivePlayerItem( id, i )
        }
        case 7:
        {
            GivePlayerWeapon( id, 14 )
            GiveSecondaryPlayerWeapon( id, 2 )
            for( i = 1; i < 6; i++ )
                GivePlayerItem( id, i )
        }
        case 8:
        {
            GivePlayerWeapon( id, 17 )
            GiveSecondaryPlayerWeapon( id, 2 )
            for( i = 1; i < 6; i++ )
                GivePlayerItem( id, i )
        }
        case 9:
        {
            GivePlayerWeapon( id, 23 )
            GiveSecondaryPlayerWeapon( id, 2 )
            for( i = 1; i < 6; i++ )
                GivePlayerItem( id, i )
        }
        case 10:
        {
            GivePlayerWeapon( id, 18 )
            GiveSecondaryPlayerWeapon( id, 2 )
            for( i = 1; i < 6; i++ )
                GivePlayerItem( id, i )
        }
        case 11:
        {
            GivePlayerWeapon( id, 20 )
            //GivePlayerWeapon( id, 21 )
            GiveSecondaryPlayerWeapon( id, 2 )
            for( i = 1; i < 6; i++ )
                GivePlayerItem( id, i )
        }
        case 12:
        {
            GivePlayerWeapon( id, 19 )
            GiveSecondaryPlayerWeapon( id, 2 )
            for( i = 1; i < 6; i++ )
                GivePlayerItem( id, i )
        }
        case 13:
        {
            for( i = 2; i < 5; i++ )
                GivePlayerItem( id, i )
        }
    }
    return
}

stock GivePlayerItem( id, nItemIdx )
{
    if( !is_user_alive(id) || (nItemIdx < 0) || (nItemIdx >= MAX_ITEMS) )
        return

    if(nItemIdx == 6)
    cs_set_user_nvg(id, true)

    if( (nItemIdx == 4) && (get_cvar_num("sv_weaponmenu_smoke") < 1) )
        return

    if( nItemIdx == 2 )
        give_item( id, g_szItemsList[nItemIdx] )

    if( nItemIdx != 6 )
        give_item( id, g_szItemsList[nItemIdx] )

    return
}

stock GivePrimaryAmmo( id )
{
    new nWeapons[32], nNum, i, j, k
    new szWeaponName[32]

    get_user_weapons( id, nWeapons, nNum )
    for( i = 0; i < nNum; i++ )
    {
        get_weaponname( nWeapons[i], szWeaponName, 31 )
        for( j = OFFSET_SHOTGUN; j < MAX_WEAPONS; j++ )
        {
            if( equali( szWeaponName, g_szWeaponList[j] ) )
            {
                for( k = 0; k < g_nWeaponData[j][1]; k++ )
                    give_item( id, g_szAmmoList[g_nWeaponData[j][0]] )
            }
        }
    }
    return
}

stock GiveSecondaryAmmo( id )
{
    new nWeapons[32], nNum, i, j, k
    new szWeaponName[32]

    get_user_weapons( id, nWeapons, nNum )
    for( i = 0; i < nNum; i++ )
    {
        get_weaponname( nWeapons[i], szWeaponName, 31 )
        for( j = 0; j < OFFSET_SHOTGUN; j++ )
        {
            if( equali( szWeaponName, g_szWeaponList[j] ) )
            {
                for( k = 0; k < g_nWeaponData[j][1]; k++ )
                    give_item( id, g_szAmmoList[g_nWeaponData[j][0]] )
            }
        }
    }
    return
}

#if defined WEAPONS_DROP
stock drop_p_weapons(id)
{
     static weapons[32], num
     get_user_weapons( id, weapons, num )
    
     for ( new i = 0; i < num; i++ )
     {
          if( ( 1<<weapons[i] ) & ( (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) ) )
          {
               static wname[32]
               get_weaponname( weapons[i], wname, sizeof wname - 1 )
               engclient_cmd( id, "drop", wname )
          }
     }
}

stock drop_s_weapons(id)
{
     static weapons[32], num
     get_user_weapons( id, weapons, num )
    
     for ( new i = 0; i < num; i++ )
     {
          if( ( 1<<weapons[i] ) & ( (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|
                                    (1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE) ) )
          {
               static wname[32]
               get_weaponname( weapons[i], wname, sizeof wname - 1 )
               engclient_cmd( id, "drop", wname )
          }
     }
}
#endif

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: