Jump to content

Recommended Posts

Posted

Army Ban System

Descriere: Este un sistem de ban temporar, cu baza de date MySQL.

Autor: Army, Armyww, Armyw0w (aceasi persoana)

Versiunea: v1.0

Ce imi trebuie sa folosesc sistemul?

Pentru a folosi sistemul aveti nevoie de:

        Sscanf - Click

        MySQL - Click (recomandat)

        Wamp Server / Xampp

Cum instalez sistemul?

1. Adaugati

#include <A_BanSys>
2.
#define BAN_LIST " " /* Tabelul cu lista banurilor */
3. Daca le aveti deja definite, va rugam sa le redefiniti prin SQL_
#define SQL_HOST " " /* IP-ul serverului*/
#define SQL_USER " " /* Utilizatorul serverului*/
#define SQL_PASS "" /* Parola serverului (deobicei nul) */
#define SQL_DB " " /* Tabelul serverului */
4. Importati acest .sql in data de baze. Army Ban Functions A_DeleteBanIP()
A_DeleteBanIP( ip[] )  - Selecteaza 'IP' din banlist si sterge acel ban
A_DeteleBan()
A_DeteleBan( name[] ) - Selecteaza un 'name' din banlist si sterge acel ban
A_OfflineBan()
A_OfflineBan( name[], ip[], year, month, day, hour, min, sec, reason[], author[]) - Adauga in 'name' si 'ip' in ban list, "year, month, day, hour, min, sec" (Cand expira banul)
A_Ban()
A_Ban(playerid, year, month, day, hour, min, sec, reason[], author[]) - Acesta este cand jucatorul este in joc
A_CheckIPIsBanned()
A_CheckIPIsBanned( ip[] ) - Verifica daca 'ip' exista in banlist si returneaza cu un numar
A_CheckNameIsBanned()
A_CheckNameIsBanned( name[] ) - Verifica daca 'name' exista in banlist si returneaza cu un numar
A_BanExpired()
A_BanExpired(playerid) - se verifica daca 'playerid' este in banlist si verifica daca i-a expirat banul returnand  cu un numar
A_BanIPExpired()
A_BanIPExpired( ip[] ) - Se verifica daca 'ip' este in banlist si verifica daca i-a expirat banul returnand cu un numar
Cum folosesc sistemul? 1. DeleteBanIP + CheckIPIsBanned
YCMD:unbanip(playerid, params[], help)
{
    new
        giveip            [ 16 ];

    if ( sscanf ( params, "s[16]", giveip) ) return SendClientMessage(playerid, 0xFFFFFFAA, "{C8C8C8}Te rog scrie un IP.");
    if ( A_CheckIPIsBanned( giveip ) == 0 ) { // Se verifica daca este banat

        A_DeleteBanIP( giveip ); // Daca este ii sterge banul
        return 1;

    } else { SendClientMessage(playerid, 0xFFFFFFAA, "{C8C8C8}Scuze, dar jucatorul nu are ban."); } // In caz ca nu este banat
    return 1;
}
2. DeleteBan + CheckNameIsBanned
YCMD:unban(playerid, params[], help)
{
    new
        givename            [ 20 ];

    if ( sscanf ( params, "s[20]", givename) ) return SendClientMessage(playerid, 0xFFFFFFAA, "{C8C8C8}Te rog scrie un nume.");
    if ( A_CheckNameIsBanned( givename ) == 0 ) { // Verifica daca este banat

        A_DeteleBan( givename ); // Daca este ii sterge banul
        return 1;

    } else { SendClientMessage(playerid, 0xFFFFFFAA, "{C8C8C8}Scuze, dar jucatorul nu are ban."); } // In caz ca nu este banat
    return 1;
}
3. A_CheckNameIsBanned + A_Ban
YCMD:banoneyear(playerid, params[], help)
{
	new
	    giveplayerid,
	    reason[ 30 ];
	    
	if ( sscanf(params, "us[30]", giveplayerid, reason) ) return SendClientMessage(playerid, 0xFFFFFFAA, "{C8C8C8}Scuze, nu ai scris corect comanda.");
	if (A_CheckNameIsBanned(GetName(giveplayerid) ) == 1) { //  Se verifica daca jucatorul are ban

		A_Ban(giveplayerid, 2013, 4, 10, 12, 17, 30, reason, GetName(playerid) ); // Daca nu are ban, il baneaza.
		Kick(giveplayerid);


	} else { SendClientMessage(playerid, 0xFFFFFFAA, "{C8C8C8}Scuze, dar jucatorul are deja ban."); } // In caz ca are ban
	return 1;
}
4. A_CheckNameIsBanned + A_OfflineBan
YCMD:banoffponeyear(playerid, params[], help)
{
	new
	    givename[ 16 ],
	    reason	[ 30 ];

	if ( sscanf(params, "s[16]s[30]", givename, reason) ) return SendClientMessage(playerid, 0xFFFFFFAA, "{C8C8C8}Scuze, nu ai scris corect comanda.");
	if (A_CheckNameIsBanned( givename ) == 1) { // Il verifica daca are ban

		A_OfflineBan(givename, "NO-IP", 2013, 4, 10, 12, 21, 30, reason, GetName(playerid)); // Daca nu are il baneaza


	} else { SendClientMessage(playerid, 0xFFFFFFAA, "{C8C8C8}Scuze, dar jucatorul are deja ban."); } // In caz ca este deja banat
	return 1;
}
5. A_BanExpired
public OnPlayerConnect(playerid)
{
    if( A_BanExpired ( playerid ) == 0 ) // Verifica daca i-a expirat banul
    {
		SendClientMessage(playerid, 0xFFFFFFAA, "{C8C8C8}Welcome}"); // In caz ca i-a expirat banul
	}
	else
	{
		Kick(playerid); // In caz ca nu i-a expirat banul
	}
	return 1;
}
6. A_BanIPExpired
public OnPlayerConnect(playerid)
{
	new
		pIP     [ 16 ];

	GetPlayerIp(playerid, pIP, 16);
	if( A_BanIPExpired ( pIP ) == 0 ) // Verifica daca i-a expirat banul
    {
		SendClientMessage(playerid, 0xFFFFFFAA, "{C8C8C8}Welcome}"); // In caz ca i-a expirat
	}
	else
	{
		Kick(playerid); // In caz ca nu i-a expirat
	}
	return 1;
}
Download: Click Buguri:
Eu nu am gasit.
Va rog sa postati imediat daca gasiti un bug, multumesc.

Va multumesc:

    WizzeY - Testare

    SpeeDy - Testare

    Opptur - Testare

    Y_Less - Pentru sscanf plugin

    BlueG - Pentru MySQL Plugin.

Banner_2.png
Posted

Mda ai schimbat un pic variabilele..pe mysql e greu de lucrat si pun pariu ca tu habarnai sa faci un dialog

Uitati tot un include de asta

http://forum.sa-mp.com/showthread.php?t=269126

Massari e curva mea

Posted

Welcome Back

Scriptu e ...nu am cuvinte :X

10/10 asta e maximu nu? :cool:

ai facut tu vre-un inc sau ceva pana acum de te dai asa mare boss?

:| Stai linistit ca nu esti tu mai tare ca Rimmon

i_gerb.gif
Posted

MaTriX" post="119203" timestamp="1334047335"]

:| Stai linistit ca nu esti tu mai tare ca Rimmon

Nu sunt chiar  bun dar daca e facut de tine de ce mai exista acest inc pe alte siteuri?

Massari e curva mea

Posted

MaTriX" post="119209" timestamp="1334048366"]

Eu as pute spunce ca esti mult mai bun ca mine  :D

Orcum te consider ca un prieten

MS:D

Ok gata cu off-topic

Massari e curva mea

Posted

ma army,lasa ma paranoicii in pace,nu vezi cum sufera?

Man poti sa spui orice stiu ca nu e al tau..miam dat seama ca nu e facut de tine numai dupa nume..

si pentru ca am mai gasit un inc de genu asta chiar nu cred ca e facut de tn

Si nu cred eu ca stii tu mysql

Massari e curva mea

Posted

Man poti sa spui orice stiu ca nu e al tau..miam dat seama ca nu e facut de tine numai dupa nume..

si pentru ca am mai gasit un inc de genu asta chiar nu cred ca e facut de tn

Si nu cred eu ca stii tu mysql

Sincer ma amuzi ingrozitor de tare xD.

1. Scriptez de 4 ani.

2. Functiile nu au nici macar un fir de par furat din alt script.

EDIT: M-am uitat la jBan, este frumos, dar tu faci putin diferenta /:)?

stock jBan(player_banned, player_banner, reason[], time = 0)
{
	if(strlen(reason) > MAX_REASON_LENGTH) return SendClientMessage(player_banner, 0xFFFFFF, "[jBan]: Sorry, the maximum reason length is "#MAX_REASON_LENGTH" characters!");

	format(jQuery, MAX_QUERY_LENGTH, "INSERT INTO `"#J_TABLE"` (user_banned, user_banned_ip, user_banner, ban_reason, ban_timestamp, ban_time) VALUES ('%s', '%s', '%s', '%s', CURRENT_TIMESTAMP, %d)", jNames[player_banned], jIP[player_banned], jNames[player_banner], reason, time);
	mysql_query(jQuery, QUERY_BAN, player_banned, jban_connection);

	Kick(player_banned);

	#if J_LOGGING == 1
		printf("[jBan]: Player \"%s\" (%s) banned by \"%s\" with reason \"%s\" for %d minutes", jNames[player_banned], jIP[player_banned], jNames[player_banner], reason, time);
	#endif
	return 1;
}
Si
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 );
	format ( str , STRING_MAX, "INSERT INTO `"#BAN_LIST"`(`username`, `ip`) VALUES ('%s','%s')", GetName(playerid), ip);
	mysql_query ( str );
	format ( str , STRING_MAX , "UPDATE `"#BAN_LIST"` SET `actyear` = '%d', `actmonth` = '%d', `actday` = '%d' WHERE `username` ='%s' AND `ip` ='%s'", nY , nM , nD , GetName(playerid) , ip );
    mysql_query ( str );
	format ( str , STRING_MAX , "UPDATE `"#BAN_LIST"` SET `acthour` = '%d', `actmin` = '%d', `actsec` = '%d' WHERE `username` ='%s' AND `ip` ='%s'", nH , nMin , nS , GetName(playerid) , ip );
    mysql_query ( str );
	format ( str , STRING_MAX , "UPDATE `"#BAN_LIST"` SET `year` = '%d', `month` = '%d', `day` = '%d' WHERE `username` ='%s' AND `ip` ='%s'" , year , month , day , GetName(playerid) , ip );
    mysql_query ( str );
	format ( str , STRING_MAX , "UPDATE `"#BAN_LIST"` SET `hour` = '%d', `min` = '%d', `sec` = '%d' WHERE `username` ='%s' AND `ip` ='%s'", hour , min , sec , GetName(playerid) , ip );
    mysql_query ( str );
	format ( str , STRING_MAX , "UPDATE `"#BAN_LIST"` SET `reason` = '%s', `autor` = '%s' WHERE `username` ='%s' AND `ip` ='%s'" , reason , author , GetName(playerid) , ip );
    mysql_query ( str );
	return 1;
}

Si eu as zice ca sunt exact la fel ^_^

Ce e asa de greu sa stii MySQL /:)?

Banner_2.png
Posted

4 ani??:))

Ia zi cum se face un dialog sau un format da fara sa te uiti pe wiki

tu creca nu sti cum sa iei mute pe forum si te apasa greutatea asta?

elibereaza-te,dar nu ep forum,poate la o toaleta? :shocked:

rszadc33936a6e246e39ea2.png
Posted

new string      [ 128 ];

new b = 5;

new a = 10;

format(string, 128, "A este %d, iar B este %d", a, B);

ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "JAJAJA", string, "Ok", "");

Banner_2.png
Posted

new string      [ 128 ];

new b = 5;

new a = 10;

format(string, 128, "A este %d, iar B este %d", a, B);

ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "JAJAJA", string, "Ok", "");

eu martor:

Untitled.png

rszadc33936a6e246e39ea2.png
Posted

4 ani??:))

Ia zi cum se face un dialog sau un format da fara sa te uiti pe wiki

Te anunt ca esti un ^_^, ma pui sa-ti fac un Dialog, wtf? ce e asa de greu in asta?

Tu ai o problema grava, daca cineva face ceva, sa se oftice unul repede.

Sincer, nici nu trebuia sa-l pun aici, pacat ca am ban pe .com, mai era unu acum 2 ani ca tine care a comentat despre INC'ul meu ca l-a facut farse :).

Banner_2.png

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.