Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*------------------------------------------------------------------------------------------------------------------
- Army Ban System (MySQL)
- Author: Army, Armyww, Armyw0w (same person)
- Description: An timing ban system based on MySQL.
- Version: v1.0
- Credits:
- Y_Less - Thank you for Ssscanf plugin.
- BlueG - Thank you for MySQL plugin.
- -------------------------------------------------------------------------------------------------------------------*/
- #include <a_samp>
- #include <a_mysql>
- #include <sscanf3>
- // Astea le am puse si in gamemode, este vreo problema?
- #if !defined BAN_LIST
- #define BAN_LIST "_banlist"
- #if !defined SQL_HOST
- #define SQL_HOST "localhost"
- #if !defined SQL_USER
- #define SQL_USER "root"
- #if !defined SQL_PASS
- #define SQL_PASS ""
- #if !defined SQL_DB
- #define SQL_DB "123baba"
- #endif
- #define STRING_MAX 128
- #define IP_MAX 16
- static mysql;
- new query_bs[1250], Cache:resultq_bs;
- public OnGameModeInit()
- {
- mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
- return CallLocalFunction("ABan_OnGameModeInit", "");
- }
- stock A_DeleteBanIP(playerip[])
- {
- //new
- // string [ STRING_MAX ];
- mysql_format(mysql, query_bs, STRING_MAX ,"DELETE FROM `"#BAN_LIST"` WHERE `ip` = '%s'" , playerip );
- resultq_bs = mysql_query(mysql, query_bs);
- return 1;
- }
- stock A_DeteleBan(playername[])
- {
- // new
- // string [ STRING_MAX ];
- mysql_format(mysql, query_bs, STRING_MAX ,"DELETE FROM `"#BAN_LIST"` WHERE `username` = '%s'" , playername );
- resultq_bs = mysql_query(mysql, query_bs);
- return 1;
- }
- stock A_OfflineBan(playername[], ipn[], year, month, day, hour, min, sec, reason[], author[])
- {
- new
- nY, nM, nD,
- nH, nMin, nS,
- str [ STRING_MAX ];
- mysql_format(mysql, query_bs, sizeof(query_bs), "INSERT INTO `"#BAN_LIST"`(`username`, `ip`) VALUES ('%s','%s')" , playername , ipn );
- resultq_bs = mysql_query(mysql, query_bs);
- mysql_format(mysql, query_bs, sizeof(query_bs), "UPDATE `"#BAN_LIST"` SET `actyear` = '%d', `actmonth` = '%d', `actday` = '%d' WHERE `username` ='%s' AND `ip` ='%s'" , nY , nM , nD , playername , ipn );
- resultq_bs = mysql_query(mysql, query_bs);
- mysql_format(mysql, query_bs, sizeof(query_bs), "UPDATE `"#BAN_LIST"` SET `acthour` = '%d', `actmin` = '%d', `actsec` = '%d' WHERE `username` ='%s' AND `ip` ='%s'" , nH , nMin , nS , playername , ipn );
- resultq_bs = mysql_query(mysql, query_bs);
- mysql_format(mysql, query_bs, sizeof(query_bs), "UPDATE `"#BAN_LIST"` SET `year` = '%d', `month` = '%d', `day` = '%d' WHERE `username` ='%s' AND `ip` ='%s'" , year , month , day , playername , ipn );
- resultq_bs = mysql_query(mysql, query_bs);
- mysql_format(mysql, query_bs, sizeof(query_bs), "UPDATE `"#BAN_LIST"` SET `hour` = '%d', `min` = '%d', `sec` = '%d' WHERE `username` ='%s' AND `ip` ='%s'" , hour , min , sec , playername , ipn );
- resultq_bs = mysql_query(mysql, query_bs);
- mysql_format(mysql, query_bs, sizeof(query_bs), "UPDATE `"#BAN_LIST"` SET `reason` = '%s', `autor` = '%s' WHERE `username` ='%s' AND `ip` ='%s'" , reason , author , playername , ipn );
- resultq_bs = mysql_query(mysql, query_bs);
- return 1;
- }
- stock A_Ban(playerid, year, month, day, hour, min, sec, reason[], author[])
- {
- new
- nY, nM, nD,
- nH, nMin, nS,
- // str [ STRING_MAX ],
- ip [ IP_MAX ];
- GetPlayerIp ( playerid , ip , IP_MAX ),getdate ( nY , nM , nD ), gettime ( nH , nMin , nS );
- mysql_format(mysql, query_bs, STRING_MAX, "INSERT INTO `"#BAN_LIST"`(`username`, `ip`) VALUES ('%s','%s')", GetName(playerid), ip);
- resultq_bs = mysql_query(mysql, query_bs);
- mysql_format(mysql, query_bs, sizeof(query_bs), "UPDATE `"#BAN_LIST"` SET `actyear` = '%d', `actmonth` = '%d', `actday` = '%d' WHERE `username` ='%s' AND `ip` ='%s'", nY , nM , nD , GetName(playerid) , ip );
- resultq_bs = mysql_query(mysql, query_bs);
- mysql_format(mysql, query_bs, sizeof(query_bs), "UPDATE `"#BAN_LIST"` SET `acthour` = '%d', `actmin` = '%d', `actsec` = '%d' WHERE `username` ='%s' AND `ip` ='%s'", nH , nMin , nS , GetName(playerid) , ip );
- resultq_bs = mysql_query(mysql, query_bs);
- mysql_format(mysql, query_bs, sizeof(query_bs), "UPDATE `"#BAN_LIST"` SET `year` = '%d', `month` = '%d', `day` = '%d' WHERE `username` ='%s' AND `ip` ='%s'" , year , month , day , GetName(playerid) , ip );
- resultq_bs = mysql_query(mysql, query_bs);
- mysql_format(mysql, query_bs, sizeof(query_bs), "UPDATE `"#BAN_LIST"` SET `hour` = '%d', `min` = '%d', `sec` = '%d' WHERE `username` ='%s' AND `ip` ='%s'", hour , min , sec , GetName(playerid) , ip );
- resultq_bs = mysql_query(mysql, query_bs);
- mysql_format(mysql, query_bs, sizeof(query_bs), "UPDATE `"#BAN_LIST"` SET `reason` = '%s', `autor` = '%s' WHERE `username` ='%s' AND `ip` ='%s'" , reason , author , GetName(playerid) , ip );
- resultq_bs = mysql_query(mysql, query_bs);
- return 1;
- }
- stock A_CheckIPIsBanned(playerip[])
- {
- // new string [ STRING_MAX ];
- mysql_format(mysql, query_bs,STRING_MAX , "SELECT * FROM `"#BAN_LIST"` WHERE `ip` = '%s'" , playerip );
- resultq_bs = mysql_query(mysql, query_bs);
- //new rows, fields;
- //cache_get_data(rows, fields, mysql);
- //mysql_store_result ( );
- //if(mysql_num_rows ( ) != 0)
- new rows = cache_get_row_count();
- if(rows != 0)
- {
- return 0;
- }
- else return 1;
- }
- stock A_CheckNameIsBanned(playername[])
- {
- //new string [ STRING_MAX ];
- mysql_format(mysql, query_bs, STRING_MAX , "SELECT * FROM `"#BAN_LIST"` WHERE `username` = '%s'" , playername );
- resultq_bs = mysql_query(mysql, query_bs);
- //mysql_store_result ( );
- //if(mysql_num_rows ( ) != 0)
- new rows = cache_get_row_count();
- if(rows != 0)
- {
- return 0;
- }
- else return 1;
- }
- stock A_BanExpired(playerid)
- {
- new
- nY, nM, nD,
- nH, nM2, nS,
- eY, eM, eD,
- eH, eM2, eS,
- aY, aM, aD,
- aH, aM2, aS,
- // string [ STRING_MAX ],
- un [ 20 ],
- ip [ IP_MAX ],
- r [ 30 ],
- a [ 20 ];
- getdate ( nY , nM , nD ), gettime ( nH , nM2 , nS);
- mysql_format(mysql, query_bs, STRING_MAX , "SELECT * FROM `"#BAN_LIST"` WHERE `username` = '%s'" , GetName( playerid ) );
- resultq_bs = mysql_query(mysql, query_bs);
- //mysql_store_result ( );
- //if(mysql_num_rows ( ) != 0)
- new rows = cache_get_row_count();
- if(rows)
- {
- for(new nr = 0, ax = 0; nr <= rows; nr++)//; nr != Rows; ++nr, ax = 0)
- {
- /*if ( nr == 2000 )
- {
- printf( " !ERROR! Numarul de case depaseste numarul maxim !ERROR!" ) ;
- break ;
- }*/
- cache_get_row(nr, ax++, un, mysql, MAX_PLAYER_NAME);
- cache_get_row(nr, ax++, ip, mysql, 18);
- aY = cache_get_row_int(nr, ax++, mysql);
- aM = cache_get_row_int(nr, ax++, mysql);
- aD = cache_get_row_int(nr, ax++, mysql);
- aH = cache_get_row_int(nr, ax++, mysql);
- aM2 = cache_get_row_int(nr, ax++, mysql);
- aS = cache_get_row_int(nr, ax++, mysql);
- eY = cache_get_row_int(nr, ax++, mysql);
- eM = cache_get_row_int(nr, ax++, mysql);
- eD = cache_get_row_int(nr, ax++, mysql);
- eH = cache_get_row_int(nr, ax++, mysql);
- eM2 = cache_get_row_int(nr, ax++, mysql);
- eS = cache_get_row_int(nr, ax++, mysql);
- cache_get_row(nr, ax++, r, mysql, 100);
- cache_get_row(nr, ax++, a, mysql, MAX_PLAYER_NAME);
- }
- //mysql_fetch_row_mysql_format(mysql, query_bs,"|" );
- //sscanf(string, "p<|>s[20]s[16]iiiiiiiiiiiis[30]s[20]", un, ip, aY, aM, aD, aH, aM2, aS, eY, eM, eD, eH, eM2, eS, r, a);
- if ( (nY > eY || nY == eY) && (nM > eM || nM == eM || (nM < eM && nY > eY)) && (nD > eD || nD == eD || (nD > eD && nM > eM)) && (nH > eH || nH == eH) && (nM2 > eM2 || nM2 == eM2 || (nM2 < eM2 && nH > eH)) && (nS > eS || nS == eS || (nS < eS && nM2 > eM2)) )
- {
- return 0;
- } else return 1;
- } else return 1;
- }
- stock A_BanIPExpired(ipn[])
- {
- new
- nY, nM, nD,
- nH, nM2, nS,
- eY, eM, eD,
- eH, eM2, eS,
- aY, aM, aD,
- aH, aM2, aS,
- string [ STRING_MAX ],
- un [ 20 ],
- ip [ IP_MAX ],
- r [ 30 ],
- a [ 20 ];
- getdate ( nY , nM , nD ), gettime ( nH , nM2 , nS );
- format ( string, STRING_MAX , "SELECT * FROM `"#BAN_LIST"` WHERE `ip` = '%s'" , ipn );
- resultq_bs = mysql_query(mysql, query_bs);
- //mysql_store_result ( );
- //if(mysql_num_rows ( ) != 0)
- new rows = cache_get_row_count();
- if(rows != 0)
- {
- for(new nr = 0, ax = 0; nr <= rows; nr++)//; nr != Rows; ++nr, ax = 0)
- {
- /*if ( nr == 2000 )
- {
- printf( " !ERROR! " ) ;
- break ;
- }*/
- cache_get_row(nr, ax++, un, mysql, MAX_PLAYER_NAME);
- cache_get_row(nr, ax++, ip, mysql, 18);
- aY = cache_get_row_int(nr, ax++, mysql);
- aM = cache_get_row_int(nr, ax++, mysql);
- aD = cache_get_row_int(nr, ax++, mysql);
- aH = cache_get_row_int(nr, ax++, mysql);
- aM2 = cache_get_row_int(nr, ax++, mysql);
- aS = cache_get_row_int(nr, ax++, mysql);
- eY = cache_get_row_int(nr, ax++, mysql);
- eM = cache_get_row_int(nr, ax++, mysql);
- eD = cache_get_row_int(nr, ax++, mysql);
- eH = cache_get_row_int(nr, ax++, mysql);
- eM2 = cache_get_row_int(nr, ax++, mysql);
- eS = cache_get_row_int(nr, ax++, mysql);
- cache_get_row(nr, ax++, r, mysql, 100);
- cache_get_row(nr, ax++, a, mysql, MAX_PLAYER_NAME);
- }
- //mysql_fetch_row_mysql_format(mysql, query_bs,"|" );
- //sscanf(string, "p<|>s[20]s[16]iiiiiiiiiiiis[30]s[20]", un, ip, aY, aM, aD, aH, aM2, aS, eY, eM, eD, eH, eM2, eS, r, a);
- if ( (nY > eY || nY == eY) && (nM > eM || nM == eM) && (nD > eD || nD == eD) && (nH > eH || nH == eH) && (nM2 > eM2 || nM2 == eM2) && (nS > eS || nS == eS) ) {
- return 0;
- }
- else
- {
- return 1;
- }
- }
- return 1;
- }
- GetName(playerid)
- {
- new
- name[ 20 ];
- GetPlayerName ( playerid , name , 20 );
- return name;
- }
- forward ABan_OnGameModeInit();
- #if defined _ALS_OnGameModeInit
- #undef OnGameModeInit
- #else
- #define _ALS_OnGameModeInit
- #endif
- #define OnGameModeInit ABan_OnGameModeInit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement