Fiz isto nos meus primeiros tempos aqui no fуrum samp... Muito simples, mas dб para o que vocк quer:
PHP Code:
//Includes
#include <a_samp>
//Cores
#define Amarelo 0xEEAD0EFF
#define Laranja 0xFF7F00FF
#define Vermelho 0xEE0000FF
// »Variбveis«
new NomeTemporario[ MAX_PLAYER_NAME ];
new Jogador[ MAX_PLAYER_NAME ];
new AFK[ MAX_PLAYERS ];
new sStr[ 56 ];
public OnPlayerConnect( playerid ) return AFK[ playerid ] = 0;
public OnPlayerCommandText(playerid, cmdtext[])
{
if( !strcmp( cmdtext, "/ausente", true ) )
{
if( AFK[ playerid ] == 0 )
{
GetPlayerName( playerid, NomeTemporario, sizeof( NomeTemporario ) );
SetPVarString( playerid, "NomeOriginal", NomeTemporario );
format( NomeTemporario, sizeof( NomeTemporario ), "[AFK]%s", NomeTemporario );
SetPlayerName( playerid, NomeTemporario );
SetPlayerArmour( playerid, 99999 );
TogglePlayerControllable( playerid, 0 );
GetPlayerName( playerid, Jogador, sizeof( Jogador ) );
format( sStr, sizeof( sStr ), "|AFK| Jogador(a) %s estб ausente! (/ausente).", Jogador );
SendClientMessageToAll( Amarelo, sStr );
AFK[ playerid ] = 1;
return SetPlayerVirtualWorld( playerid, 1 );
}
else return SendClientMessage( playerid, Laranja, "|AFK| Vocк jб estб ausente! Use (/online) para voltar ao servidor." );
}
if( !strcmp( cmdtext, "/online", true ) )
{
if( AFK[ playerid ] == 1 )
{
GetPVarString( playerid, "NomeOriginal", NomeTemporario, sizeof( NomeTemporario ) );
SetPlayerName( playerid, NomeTemporario );
DeletePVar( playerid, "NomeOriginal" );
SetPlayerArmour( playerid, 0 );
TogglePlayerControllable( playerid, 1 );
GetPlayerName( playerid, Jogador, sizeof( Jogador ) );
format( sStr, sizeof( sStr ), "|AFK| Jogador(a) %s estб voltou ao jogo! (/online).", Jogador );
SendClientMessageToAll( Amarelo, sStr );
AFK[ playerid ] = 0;
return SetPlayerVirtualWorld( playerid, 0 );
}
else return SendClientMessage( playerid, Laranja, "|AFK| Vocк jб estб online!" );
}
if( !strcmp( cmdtext, "/Lista", true ) )
{
SendClientMessage( playerid, Laranja, "|AFK| Jogadores Ausentes:" );
for( new j = 0; j < MAX_PLAYERS; j++ )
{
if( IsPlayerConnected( j ) )
{
if( AFK[ j ] == 1 )
{
GetPlayerName( j, Jogador, sizeof( Jogador ) );
format( sStr, sizeof( sStr ), "Jogador %s | ID: %i", Jogador, j );
SendClientMessage( playerid, Amarelo, sStr );
return true;
}
}
}
return true;
}
if( !strcmp( cmdtext, "/sougay", true ) )
{
GetPlayerName( playerid, Jogador, sizeof( Jogador ) );
format( sStr, sizeof( sStr ), "Jogador(a) %s admitiu ser gay (/sougay)", Jogador );
SendClientMessageToAll( 0xFFF000AA, sStr );
SetPlayerColor( playerid, 0xFF00FFAA );
return true;
}
return SendClientMessage( playerid, Vermelho, "Comando invбlido!" );
}