Utilizo o Pawn.CMD mesmo, coloquei como condição o "strcmp" no "OnPlayerCommandReceived" para verificar se o jogador usou qualquer outro comando que não seja o /sairafk, enviando aquela mensagem de saída. Mas não funciona.
O comando no Pawn.CMD já está feito corretamente, só me resta aquilo.
Ou seja, apenas o '/sairafk' poderia ser utilizado por um jogador ausente.
O comando no Pawn.CMD já está feito corretamente, só me resta aquilo.
Código:
CMD:sairafk(playerid, params[])
{
// Envie o comando a todos os administradores para que possam vê-lo
SendAdminText(playerid, "/sairafk", params);
// Cria variáveis locais
new string[124], Name[MAX_PLAYER_NAME];
// Gera o nome do jogador
GetPlayerName(playerid, Name, sizeof(Name));
// Verifique se o jogador não está logado
if (APlayerData[playerid][LoggedIn] != true)
return SendClientMessage(playerid, -1, "{FF0000}* Logue-se para usar o comando.");
// Verifica se o jogador não está afk
if (APlayerData[playerid][PlayerAfk] != true)
return SendClientMessage(playerid, -1, "{FF0000}* Você não está no modo afk.");
format(string, sizeof(string), "{008B00}* {9ACD32}%s {008B00}não está mais ausente.", Name);
SendClientMessageToAll(-1, string); // Envia uma mensagem informando a todos que ele saiu do afk
APlayerData[playerid][PlayerAfk] = false; // Tira o jogador do afk
TogglePlayerControllable(playerid, 1); // Deixa o jogador movimentar-se
SendClientMessage(playerid, -1, "{9AC0CD}* {FFFFFF}Você saiu do modo ausente."); // Envia uma mensagem para ele
// Excluí a textdraw do afk
PlayerTextDrawHide(playerid, TD_Afk[playerid][0]);
PlayerTextDrawHide(playerid, TD_Afk[playerid][1]);
return 1;
}
Ou seja, apenas o '/sairafk' poderia ser utilizado por um jogador ausente.
Código:
public OnPlayerCommandReceived(playerid, cmd[], params[], flags)
{
if (APlayerData[playerid][PlayerAfk] == true && strcmp(cmd, "/sairafk"))
{
SendClientMessage(playerid, -1, "* Você não pode utilizar comando estando ausentes.");
return 0;
}
return 1;
}
virtuS_#6832