Jump to content
  • 0

Problema warn & ban


Razerz

Question

Salut Sa-mp.ro, de ceva timp am o problema minora dar in acelasi timp deranjanta.De cateva saptamani, uneori cand folosesc comanda /warn sau /ban nu apare text-ul.

 

La warn nu apare cand dai warn, textul fiind:

 

*** Administrator x has given x a warning. (Reason: x ) (Warning: x/3)***"

 

 si la ban

 

======================(Ban Info)======================
Player X has been Banned by Administrator X for X days.
Reason: X
====================================================
 
Uneori la ban se afiseaza doar
 
 
======================(Ban Info)======================
Reason: X
====================================================
 
Aici aveti cele 2 comenzi :
 
CMD:ban( playerid, params[ ] )
{
	LevelCheck( playerid, 5 );

	new
	    liPlayer,
	    liDays,
	    lsReason[ 56 ]
	;
	if ( sscanf( params, "uis[56]", liPlayer, liDays, lsReason ) )
	    return SendClientMessage( playerid, COLOR_ULTRARED, "USAGE: {33CCFF}/ban [PlayerID] [Day(s)] [Reason]" );

	if ( !IsPlayerConnected( liPlayer ) )
	    return SendError( playerid, "Player not connected !" );

	if ( PlayerInfo[ liPlayer ][ Level ] >= 5 )
	    FormatMSG( liPlayer, COLOR_ULTRARED, "%s has tried to ban you!", PlayerName( playerid ) );

 	if ( PlayerInfo[ liPlayer ][ Level ] > PlayerInfo[ playerid ][ Level ] )
		return SendError( playerid, "You cannot use this command on this admin" );

	if ( liPlayer == playerid && !IsPlayerAdmin( playerid ) )
	    return SendError( playerid, "You can't ban yourself!" );

	if ( liDays < 1 || liDays > 99 )
	    return SendError( playerid, "Invalid day ! Write values between 1 and 99." );


    PlayerInfo[ playerid ][ PBans ]++;

	SendClientMessageToAll( COLOR_ABLUE, "======================(Ban Info)======================" );
	format( gsString, 200, "{AFAFAF}Player {3399ff}%s {AFAFAF}has been {FF0000}Banned{AFAFAF} by Administrator {3399ff}%s {AFAFAF}for {FF0000}%d {AFAFAF}days.", PlayerName( liPlayer ), PlayerName( playerid ), liDays, zDate( ) );
    SendClientMessageToAll( COLOR_ABLUE, gsString );
	format( gsString, 200, "{AFAFAF}Reason: {3399ff}%s ", lsReason );
    SendClientMessageToAll( COLOR_ABLUE, gsString );
	SendClientMessageToAll( COLOR_ABLUE,  "====================================================" );

    new
	    szDay,
	    szMonth,
	    szYear,
	    szHour,
	    szMinute,
	    szSecond
	;

	getdate( szYear, szMonth, szDay );
	gettime( szHour, szMinute, szSecond );

	if ( !IsPlayerAdmin( liPlayer ) )
	{
	    format( gsQuery, 1024, "INSERT INTO `Banlist` (`Key`,`IP`,`Name`,`Reason`,`Admin`,`BanDate`,`BanTime`,`BanDays`,`Request`,`Aproove`) VALUES(0,'%s','%s','%s','%s','%d-%d-%d','%d:%d:%d',UNIX_TIMESTAMP() + %d * 86400,0,0)", GetPlayerIPEx( liPlayer ), PlayerName( liPlayer ), lsReason, PlayerName( playerid ), szYear, szMonth, szDay, szHour, szMinute, szSecond, liDays );
	    mysql_function_query( g_Handle, gsQuery, false, "", "" );
    }

	for ( new i = 0; i < 69; i++ )
	    SendClientMessage( liPlayer, ~1, " " );

	switch( Lang[ liPlayer ] )
	{
		case 0:
		{
		format( gsString, 500, "{00FF00}You are banned your server by {FF0000}%s {00FF00}for {FF0000}%d {00FF00}days!", PlayerName( playerid ), liDays );
		SendClientMessage(liPlayer, COLOR_GREEN, gsString );
		format( gsString, 500, "{FFFF00}Reason: %s", lsReason );
		SendClientMessage(liPlayer, COLOR_GREEN, gsString );
		SendClientMessage(liPlayer, COLOR_GREEN, "{00FF00}Press F8 for Screen!" );
		format( gsString, 500, "{00FF00}If you un-ban, visit x forum and make a request to the name {FF0000}%s {00FF00}and ip {FF0000}%s {00FF00}!", PlayerName( liPlayer ), GetPlayerIPEx( liPlayer ) );
		SendClientMessage(liPlayer, COLOR_GREEN, gsString );
		}
		case 1:
		{
		format( gsString, 500, "{00FF00}Ai primit interdictie pe server de la {FF0000}%s {00FF00}pentru {FF0000}%d {00FF00}zile!", PlayerName( playerid ), liDays );
		SendClientMessage(liPlayer, COLOR_GREEN, gsString );
		format( gsString, 500, "{FFFF00}Motiv: %s", lsReason );
		SendClientMessage(liPlayer, COLOR_GREEN, gsString );
		SendClientMessage(liPlayer, COLOR_GREEN, "{00FF00}Apasa F8 pentru a face o poza!" );
		format( gsString, 500, "{00FF00}Daca vrei un-ban, viziteaza x forum si fa o cerere cu numele {FF0000}%s {00FF00}si ip-ul {FF0000}%s {00FF00}!", PlayerName( liPlayer ), GetPlayerIPEx( liPlayer ) );
		SendClientMessage(liPlayer, COLOR_GREEN, gsString );
		}
	}
    FormatLog( "BanCMD_Log", "Administrator %s has banned %s for reason: '%s'", PlayerName( playerid ), PlayerName( liPlayer ), lsReason );

	SetTimerEx("KickPlayer", 500,false,"i",liPlayer);
	return ( 1 );
}
CMD:warn( playerid, params[ ] )
{
    LevelCheck( playerid, 3 );

    new
		Player,
		Reason[ 80 ]
	;
	if ( sscanf( params, "us[80]", Player, Reason ) )
		return SendClientMessage( playerid, COLOR_ULTRARED, "USAGE: {33CCFF}/warn [PlayerID] [Reason]" );

	if ( !IsPlayerConnected( Player ) )
		return SendError( playerid, "Player is not connected" );

	if ( PlayerInfo[ Player ][ Level ] > PlayerInfo[ playerid ][ Level ] )
		return SendError( playerid, "You cannot use this command on this admin" );

	if ( Player == playerid )
		return SendError( playerid, "You cannot warn yourself" );

    PlayerInfo[ playerid ][ PWarns ]++;
    PlayerInfo[ Player ][ Warnings ]++;

    if ( PlayerInfo[ Player ][ Warnings ] == MAX_WARNINGS )
    {
        gsString[ 0 ] = EOS;

		if ( PlayerInfo[ playerid ][ Level ] >= 3 )
        	format( gsString, sizeof( gsString ), "{D1D1D1}*** Administrator {FF0000}%s{D1D1D1} has kicked {00A6FF}%s. {D1D1D1}(Reason: %s) (Warning: %d/%d)***", PlayerName( playerid ), PlayerName( Player ), Reason, PlayerInfo[ Player ][ Warnings ], MAX_WARNINGS );

		SendClientMessageToAll( COLOR_GREY, gsString );

        Kick( Player );
        PlayerInfo[ Player ][ Warnings ] = 0;
        return ( 1 );
    }
    else
	{
		if ( PlayerInfo[ playerid ][ Level ] >= 3 )
        	format( gsString, sizeof( gsString ), "{FFFF00}*** Administrator {FF0000}%s{FFFF00} has given {00BBF6}%s {FFFF00}a warning. {FFFF00}(Reason: %s) (Warning: %d/%d) ***", PlayerName( playerid ), PlayerName( Player ), Reason, PlayerInfo[ Player ][ Warnings ], MAX_WARNINGS );

	    SendClientMessageToAll( COLOR_YELLOW, gsString );
        Announce( Player, "~r~~h~You have received a ~y~~h~warning!", 2500, 1 );
    }
    FormatLog( "Warn_Log", "Administrator %s has warned %s with reason %s", PlayerName( playerid ), PlayerName( Player ), Reason );
    return ( 1 );
}
Multumesc mult.
 
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

Guest
This topic is now closed to further replies.
×
×
  • 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.