Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include < amxmodx >
- #include < amxmisc >
- #include < regex >
- #define MAX 32
- //#define PATTERN "(?:(?:2\s*5\s*[0-5]|2\s*[0-4]\s*[0-9]|1\s*[0-9]\s*[0-9]|[1-9]?\s*[0-9])\s*\.\s*){3}(?:2\s*5\s*[0-5]|2\s*[0-4]\s*[0-9]|1\s*[0-9]\s*[0-9]|[1-9]?\s*[0-9])"
- new const PATTERN[] = "((\d{1,3}[^^\d]+){3}\d{1,3})";
- // Flaga Admina, zeby mogl reklamowac inne nasze serwery w nicku i say :P [ Standardowo: ADMIN_RESERVATION | czyli flaga "b" ]
- #define ADMIN_FLAGA ADMIN_RESERVATION
- new const Powod[ ][ ] = {
- "Reklamowanie na Czacie",
- "Reklamowanie w Nazwie Gracza",
- "Proba zmiany Nazwy Gracza na Reklame w trakcie gry"
- };
- new gFile[ 128 ], gName[ MAX ], gCvar[ 3 ];
- public plugin_init( ) {
- register_plugin( "Ad-Block", "1.1.2", "Misiaczek" );
- /* Czat */
- register_clcmd( "say", "Czat" );
- register_clcmd( "say_team", "Czat" );
- /* Logi */
- get_localinfo( "amxx_logs", gFile, 127 );
- formatex( gFile, 127, "%s/ABB.html", gFile );
- /* Konfiguracja */
- gCvar[ 0 ] = register_cvar( "adblock_kara", "0" );
- if( get_pcvar_num( gCvar[ 0 ] ) == 0 ) {
- gCvar[ 1 ] = register_cvar( "adblock_ban_komenda", "0" );
- gCvar[ 2 ] = register_cvar( "adblock_ban_czas", "0" );
- }
- }
- /* Czat */
- public Czat( id ) Sprawdz_Uprawnienia( id, 0 );
- /* Nick - Przy podlaczaniu do serwera
- Trzy metody bo nie zawsze jedna wylapie od razu
- */
- public client_connect( id ) Sprawdz_Uprawnienia( id, 1 );
- public client_authorized( id ) Sprawdz_Uprawnienia( id, 1 );
- public client_putinserver( id ) Sprawdz_Uprawnienia( id, 1 );
- /* Nick - Zmiana w trakcie Gry */
- public client_infochanged( id ) Sprawdz_Uprawnienia( id, 2 );
- /* Funkcje */
- // Sprawdz uprawnienia admina i odpal odpowiednia funkcje
- public Sprawdz_Uprawnienia( id, uOpcja ) {
- /* Podlaczony */
- if( !is_user_connected( id ) )
- return PLUGIN_CONTINUE;
- /* Bot lub HLTV */
- if( is_user_bot( id ) || is_user_hltv( id ) )
- return PLUGIN_CONTINUE;
- /* Flaga Admina */
- if( get_user_flags( id ) & ADMIN_FLAGA )
- return PLUGIN_CONTINUE;
- /* Odpowiednie Sprawdzanie */
- switch( uOpcja ) {
- case 0: Sprawdz_Czat( id );
- case 1: Sprawdz_Nick( id );
- case 2: Sprawdz_Nick_Zmiana( id );
- }
- return PLUGIN_CONTINUE;
- }
- // Sprawdzanie czatu
- public Sprawdz_Czat( id ) {
- new szArgs[ 256 ];
- read_args( szArgs, 256 );
- get_user_name( id, gName, MAX - 1 );
- Sprawdz_Reklama( id, szArgs, 0, gName );
- }
- // Sprawdzanie Nicku przy wejsciu na serwer
- public Sprawdz_Nick( id ) {
- get_user_name( id, gName, MAX - 1 );
- Sprawdz_Reklama( id, gName, 1, gName );
- }
- // Sprawdzanie Nicku przy probie zmiany w trakcie gry
- public Sprawdz_Nick_Zmiana( id ) {
- get_user_name( id, gName, MAX - 1 );
- Sprawdz_Reklama( id, gName, 2, gName );
- }
- public Sprawdz_Reklama( id, iText[ ], iTyp, iNazwa[ ] ) {
- new Regex:gResult, gError[ 2 ], gReturn;
- gResult = regex_match( iText, PATTERN, gReturn, gError, 1 );
- switch( gResult ) {
- case REGEX_MATCH_FAIL, REGEX_PATTERN_FAIL, REGEX_NO_MATCH:
- return PLUGIN_CONTINUE;
- }
- switch( iTyp ) {
- case 0: {
- Kara( id, 0, get_pcvar_num( gCvar[ 0 ] ) ? 1 : 0 );
- Zapisz( id, iNazwa, 0 );
- }
- case 1: {
- Kara( id, 1, get_pcvar_num( gCvar[ 0 ] ) ? 1 : 0 );
- Zapisz( id, iNazwa, 1 );
- }
- case 2: {
- Kara( id, 2, get_pcvar_num( gCvar[ 0 ] ) ? 1 : 0 );
- Zapisz( id, iNazwa , 2 );
- }
- }
- return PLUGIN_HANDLED;
- }
- // Ustawienia Kary za Reklame
- public Kara( id, kTyp, kKara ) {
- new uID;
- uID = get_user_userid( id );
- switch( kKara ) {
- /* Banowanie */
- case 0: {
- switch( get_pcvar_num( gCvar[ 1 ] ) ) {
- case 0: server_cmd( "amx_ban %d #%d ^"%s^"", get_pcvar_num( gCvar[ 2 ] ), uID, Powod[ kTyp ] );
- case 1: server_cmd( "amx_ban #%d %d ^"%s^"", uID, get_pcvar_num( gCvar[ 2 ] ), Powod[ kTyp ] );
- }
- }
- /* Kick */
- case 1: server_cmd( "kick #%d ^"%s^"", uID, Powod[ kTyp ] );
- }
- }
- // Logowanie banów z pluginu do pliku
- public Zapisz( id, zNazwa[ ], zTyp ) {
- new szTxt[ 512 ]
- static szData[ 23 ];
- get_time( "%Y.%m.%d - %H:%M:%S", szData , 22 );
- if( !file_exists( gFile ) ) {
- write_file( gFile , "<meta http-equiv=^"content-type^" content=^"text/html; charset=utf-8^">");
- write_file( gFile , "<h2 align=center>Ad-Block and Ban by Misiaczek</h2><hr>");
- }
- formatex( szTxt, 511, "[ Ad-Block and Ban ] Gracz [ %s ], zostal %s! | Powod: %s | Data %s <br />", zNazwa, get_pcvar_num( gCvar[ 0 ] ) ? "wyrzucony" : "zbanowany", Powod[ zTyp ], szData );
- write_file( gFile, szTxt );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement