Made it for you. For the GetPlayerName( playerid ) bla bla, you can do that. For the moment it`ll be "Admin ID (of the admin) in the text.
pawn Код:
CMD:warn( playerid, params[ ] )
{
if(PVar[playerid][pLevel] < 2) //level 2 admin
return SendClientMessage( playerid, -1, "Only admins level 2+ can use this command."
new tempname, temptext[ 128 ];
if ( sscanf( params, "us[128]", tempname, temptext ) )
return SendClientMessage( playerid, -1, "Usage: /warn <PlayerID> [Reason]");
if ( !IsPlayerConnected( tempname ) )
return SendClientMessage( playerid, -1, "Player is not connected.");
SetPVarInt( tempname, "Warnings", GetPVarInt( tempname, "Warnings") + 1 );
new String[ 256 ];
format( String, sizeof( String ), "Admin %s warned player %s for: %s",
playerid,
tempname,
temptext );
SendClientMessageToAll( -1, String );
if( GetPVarInt( tempname, "Warnings" ) == 3 )
{
format( String, sizeof ( String ), "Player %s got autobanned for earning 3 warnings.", pName( tempname ) );
SendClientMessageToAll( -1, String );
SendClientMessage( tempname, -1, "You've been banned for 3 warnings." );
BanEx( tempname, "3 Warnings" );
}
return 1;
}
And for unwarn:
pawn Код:
CMD:unwarn( playerid, params[ ] )
{
if(PVar[playerid][pLevel] < 2) //level 2 admin
return SendClientMessage( playerid, -1, "Only admins level 2+ can use this command."
new tempname, temptext[ 128 ]
if ( sscanf( params, "us[128]", tempname, temptext ) )
return SendClientMessage( playerid, -1, "Usage: /unwarn <PlayerID> [reason]");
if ( !IsPlayerConnected( tempname ) )
return SendClientMessage( playerid, -1, "Player is not connected.");
SetPVarInt( tempname, "Warnings", GetPVarInt( tempname, "Warnings") - 1 );
new String[ 50 ];
format( String, sizeof( String ), "Admin %u unwarned you.", playerid );
SendClientMessage( tempname, -1, String );
format( String, sizeof( String ), "You unwarned player %u for %s.", tempname, temptext );
SendClientMessage( playerid, -1, String );
return 1;
}
And if you want to save the warnings, you'll have to work that on your own.