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

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

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

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

Компиляция Sniper Control

Статус пользователя BornToBeFree
сообщение 31.5.2014, 11:03
Сообщение #1


Стаж: 12 лет

Сообщений: 741
Благодарностей: 287
Полезность: 602

Меценат Меценат

Попытался скомпилировать исходник с одной темы, а он не компилируется - выдаёт ошибку. Кто сможет исправить?
Исходник
Код:
#include <amxmodx>
#include <amxmisc>
#include <engine>
  
#pragma semicolon                1      // force ; usage, just 'cause
  
#define INCLUDE_SCOUT            1      // Include scouts in sniper rifle
  
new g_szTitle[]   = "Sniper Rifle Control";
new g_szVersion[] = "1.2";
new g_szAuthor[]  = "WillyumYum";
  
new g_iSniperNum[3];                    // number of sniper rifles per team
  
new bool:g_bHasSniper[33];              // bool - true if player has a sniper rifle
  
new g_szWarn[]    = "Внимание! Исчерпан лимит AWP, максимум 3 на команду";
  
new const SNIPERMODELS[4][] =
{
    #if ( INCLUDE_SCOUT )
    "models/w_scout.mdl",               // CSW_SCOUT
    #else
    "",
    #endif
    "models/w_sg550.mdl",               // CSW_SG550
    "models/w_awp.mdl",                 // CSW_AWP
    "models/w_g3sg1.mdl"                // CSW_G3SG1
};
  
// Map disabled - original code by Ryan
  
public bool:Map_Disabled() {
  
    new szDisabledFile[64];
    get_configsdir( szDisabledFile, 63 );
    format( szDisabledFile, 63, "%s/sc_disabled_maps.cfg", szDisabledFile );
  
    if ( file_exists( szDisabledFile ) )
    {
        new iLineNum, szData[64], iTextLen;
  
        while ( read_file( szDisabledFile, iLineNum, szData, 63, iTextLen ) )
        {
            new szMapName[64], szDisabledName[64];
  
            get_mapname( szMapName, 63 );
            new iLen = copyc( szDisabledName, 63, szData, '*' );
  
            if ( equali( szMapName, szDisabledName, iLen ) )
                return true;
  
            iLineNum++;
        }
    }
  
    return false;
}
  
public menuSniper( id, key ) {
  
    if ( !get_cvar_num( "mp_sniper_control" ) )
        return PLUGIN_CONTINUE;
  
    new iTeam = get_user_team( id );
  
    if ( iTeam == 1 && ( g_iSniperNum[iTeam] < get_cvar_num( "sc_max_snipers_t" ) || g_bHasSniper[id] ) )       // TERRORIST
        return PLUGIN_CONTINUE;
    else
    if ( iTeam == 2 && ( g_iSniperNum[iTeam] < get_cvar_num( "sc_max_snipers_ct" ) || g_bHasSniper[id] ) )       // COUNTER-TERRORIST
        return PLUGIN_CONTINUE;
  
    if( iTeam == 1 && key == 1 )  // Allows T's tp buy ak-47, but blocks CT's from buying scout
        return PLUGIN_CONTINUE;
    else
    if( iTeam == 2 && key == 2 )  // Allows CT's to buy m4, but blocks T's from buying scout
        return PLUGIN_CONTINUE;
  
    engclient_cmd( id, "menuselect" ,"10");
    client_print( id, print_chat , g_szWarn );
  
    return PLUGIN_HANDLED;
}
  
public bool:check_primary( id ) {
  
    new iWeapons[32];
    new iTotalWeapons = 0;
    get_user_weapons( id, iWeapons, iTotalWeapons );
  
    for ( new i = 0; i < iTotalWeapons; i++ )
    {
        switch ( iWeapons[i] )
        {
            case CSW_M3:      return true;
            case CSW_XM1014:  return true;
            case CSW_MP5NAVY: return true;
            case CSW_TMP:     return true;
            case CSW_P90:     return true;
            case CSW_MAC10:   return true;
            case CSW_UMP45:   return true;
            case CSW_AK47:    return true;
            case CSW_SG552:   return true;
            case CSW_GALI:    return true;
            case CSW_FAMAS:   return true;
            case CSW_M4A1:    return true;
            case CSW_AUG:     return true;
            case CSW_SCOUT:   return true;
            case CSW_AWP:     return true;
            case CSW_G3SG1:   return true;
            case CSW_SG550:   return true;
            case CSW_M249:    return true;
        }
    }
    return false;
}
  
public bool:check_sniper( id ) {
  
    new iWeapons[32];
    new iTotalWeapons = 0;
    get_user_weapons( id, iWeapons, iTotalWeapons );
  
    for ( new i = 0; i < iTotalWeapons; i++ )
    {
        switch ( iWeapons[i] )
        {
            #if ( INCLUDE_SCOUT )
            case CSW_SCOUT:   return true;
            #else
            case CSW_SCOUT:   return false;
            #endif
  
            case CSW_AWP:     return true;
            case CSW_G3SG1:   return true;
            case CSW_SG550:   return true;
        }
    }
    return false;
}
  
public vexd_pfntouch(pToucher, pTouched) {
  
    if ( !get_cvar_num( "mp_sniper_control" ) )
        return PLUGIN_CONTINUE;
  
    new iTouchId   = pToucher;
    new iPlayerId  = pTouched;
  
    if ( iPlayerId < 0 || iPlayerId > 32 || !is_user_alive( iPlayerId ) )
        return PLUGIN_CONTINUE;
  
    new szClassName[32];
    entity_get_string( iTouchId, EV_SZ_classname, szClassName, 31 );
  
    if ( equal( szClassName, "weaponbox" ) )        // a dropped or already 'fired' weapon
    {
        new szGunModel[32];
        entity_get_string( iTouchId, EV_SZ_model, szGunModel, 31 );
  
        new bool:bHasPrimaryWeapon = check_primary( iPlayerId );
  
        for ( new i = 0; i < 4; i++ )
        {
            if ( get_entity_flags( iTouchId ) & FL_ONGROUND && !bHasPrimaryWeapon && equal( szGunModel, SNIPERMODELS[i] ) )
            {
                set_entity_flags( iTouchId, FL_ONGROUND, 0 );
  
                new iTeam = get_user_team( iPlayerId );
  
                if ( iTeam == 1 )   // TERRORIST
                {
                    if ( g_iSniperNum[iTeam] < get_cvar_num( "sc_max_snipers_t" ) )
                    {
                        set_entity_flags( iTouchId, FL_ONGROUND, 1 );
                    }
                    else
                    {
                        client_print( iPlayerId, print_chat , g_szWarn );
                    }
                }
                else
                if ( iTeam == 2 )   // COUNTER-TERRORIST
                {
                    if ( g_iSniperNum[iTeam] < get_cvar_num( "sc_max_snipers_ct" ) )
                    {
                        set_entity_flags( iTouchId, FL_ONGROUND, 1 );
                    }
                    else
                    {
                        client_print( iPlayerId, print_chat , g_szWarn );
                    }
                }
                break;
            }
        }
    }
    return PLUGIN_CONTINUE;
}
  
public cmdDrop( id ) {
  
    if ( !get_cvar_num( "mp_sniper_control" ) )
        return PLUGIN_CONTINUE;
  
    new iTeam = get_user_team( id );
  
    new iAmmo, iClip;
    new iWeap = get_user_weapon( id, iAmmo, iClip );
  
    if ( check_sniper( id ) && ( iWeap == CSW_AWP || iWeap == CSW_G3SG1 || iWeap == CSW_SG550 ) )
    {
        g_bHasSniper[id] = false;
        --g_iSniperNum[iTeam];
  
    }
    #if ( INCLUDE_SCOUT )
  
    else
    if( check_sniper( id ) && iWeap == CSW_SCOUT  )
    {
        g_bHasSniper[id] = false;
        --g_iSniperNum[iTeam];
    }
  
    #endif
  
    return PLUGIN_CONTINUE;
}
  
public evPickUp( id ) {
  
    if ( !get_cvar_num( "mp_sniper_control" ) )
        return PLUGIN_CONTINUE;
  
    new iTeam = get_user_team( id );
  
    if( check_sniper( id ) && !g_bHasSniper[id] )
    {
        g_bHasSniper[id] = true;
        ++g_iSniperNum[iTeam];
    }
  
    if ( g_bHasSniper[id] && !check_sniper( id ) )
    {
        // Has a primary weapon and HAD sniper, but bought new non-sniper rifle weapon ( no drop event )
  
        g_bHasSniper[id] = false;
        --g_iSniperNum[iTeam];
    }
  
    return PLUGIN_CONTINUE;
}
  
public evRestartRound() {
  
    if ( !get_cvar_num( "mp_sniper_control" ) )
        return PLUGIN_CONTINUE;
  
    g_iSniperNum[0] = g_iSniperNum[1] = g_iSniperNum[2]    = 0;
  
    for(new a = 1; a < 33; ++a)
        g_bHasSniper[a] = false;
  
    return PLUGIN_CONTINUE;
}
  
public sc_remove_data( id ) {
  
    new iTeam = get_user_team( id );
  
    if ( g_bHasSniper[id] )
    {
        g_bHasSniper[id] = false;
        --g_iSniperNum[iTeam];
    }
  
    return PLUGIN_CONTINUE;
}
  
public client_disconnect( id ) {
  
    if ( !get_cvar_num( "mp_sniper_control" ) )
        return PLUGIN_CONTINUE;
  
    sc_remove_data( id );
  
    return PLUGIN_CONTINUE;
}
  
public evDeath() {
  
    new id = read_data(2);
    sc_remove_data( id );
  
    return PLUGIN_CONTINUE;
}
  
public plugin_init() {
  
    register_plugin( g_szTitle, g_szVersion, g_szAuthor );
  
    // set defaults ( for non '<span class="searchlite">sniper_control</span>.cfg' users )
  
    register_cvar( "mp_sniper_control", "1" );
    register_cvar( "sc_max_snipers_t",  "2" );
    register_cvar( "sc_max_snipers_ct", "2" );
  
    // Standard Menus
  
    register_menucmd( register_menuid("BuyRifle" , 1 ), (1<<4), "menuSniper" );        //  T: AWP, CT: Sig SG-550 Sniper
    register_menucmd( register_menuid("BuyRifle" , 1 ), (1<<5), "menuSniper" );        // CT: AWP,  T: H&K G3/SG-1 Sniper Rifle
  
  
   // Block Aliases and Vgui menus - because steam sucks and uses aliases to buy rifles ?!?!?
  
    register_clcmd("awp",      "menuSniper");
    register_clcmd("magnum",   "menuSniper");
    register_clcmd("g3sg1",    "menuSniper");
    register_clcmd("d3au1",    "menuSniper");
    register_clcmd("sg550",    "menuSniper");
    register_clcmd("krieg550", "menuSniper");
  
    register_menucmd( -31 ,(1<<4), "menuSniper" );                                     //  T: AWP, CT: Sig SG-550 Sniper        - VGUI
    register_menucmd( -31 ,(1<<5), "menuSniper" );                                     // CT: AWP,  T: H&K G3/SG-1 Sniper Rifle - VGUI
  
    #if ( INCLUDE_SCOUT )
  
    register_menucmd( register_menuid("BuyRifle" , 1 ), (1<<1), "menuSniper" );        // CT: Scout - Standard
    register_menucmd( register_menuid("BuyRifle" , 1 ), (1<<2), "menuSniper" );        //  T: Scout - Standard
  
    register_clcmd("scout",    "menuSniper");
  
    register_menucmd( -31 ,(1<<1), "menuSniper" );                                     // CT: Scout - VGUI
    register_menucmd( -31 ,(1<<2), "menuSniper" );                                     //  T: Scout - VGUI
  
    #endif
  
    register_event( "WeapPickup", "evPickUp",       "b"                         );        // 3 = Scout, 13 = SG-550, 18 = AWP, G3/SG-1
    register_clcmd( "drop",       "cmdDrop"                                     );
    register_event( "DeathMsg",   "evDeath",        "a"                         );
    register_event( "TextMsg",    "evRestartRound", "a", "2&Game_C", "2&Game_w" );
  
    if ( !Map_Disabled() )
    {
        new szConfigFile[64];
        get_configsdir( szConfigFile, 63 );
        format( szConfigFile, 63, "%s/sniper_control.cfg", szConfigFile );
        server_cmd( "exec %s", szConfigFile );                                                // load configuration settings
    }
    else
    {
        set_cvar_num( "mp_sniper_control", 0 );
    }
  
    return PLUGIN_CONTINUE;
}

Прикрепленные файлы:
Прикрепленное изображение


Скидка 5% при заказе сервера
Чтобы получить 5% скидку при заказе сервера на хостинге Serva4ok.ru
Необходимо ввести это кодовое слово gKUt-FENO-ZonE-aIaa
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Zer0CooL
сообщение 31.5.2014, 12:47
Сообщение #2
Стаж: 13 лет

Сообщений: 13
Благодарностей: 8
Полезность: 0

Не стоило ради этого создавать новую тему.
У меня все компилируется.
Прикрепленные файлы:
Прикрепленный файл  sniper_control.zip ( 13,27 килобайт ) Кол-во скачиваний: 19
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: