#define azulagua 0x0080FFAA
#define azulclaro 0x7BE8FBAA
#define verde 0x33AA33AA
#define azulclaro 0x7BE8FBAA//===> definimos o que o sнmbolo azulclaro representarб no nosso cуdigo que no caso й uma cor.
forward AvisoAdmin(COLOR,const string[]);
AvisoAdmin(COLOR,const string[]);//===> declaremos a funзгo que logo mais utilizaremos
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/relatorio", true) == 0) //comando
{//inicio do codigo do comando
new string[256];//criamos uma string
new mensagem[256];//criamos a string que identificarб o que o player digita
new sendername[MAX_PLAYER_NAME];//criamos a string que pegarб o nome do player
new idx;//criamos uma array
mensagem = strtok(cmdtext, idx);//definimos a funзгo da string mensagem
if(!strlen(mensagem)) //Caso o player nгo digite nada
{
SendClientMessage(playerid,verde,"Erro digite: /relatorio [texto]");//envia a mensagem para o player
return 1;//retorna a 1, ou seja caso o player digite nada nгo acontecerб nada
}
GetPlayerName(playerid,sendername,sizeof(sendername));//identifica o nome do player que digitou o comando
format(string,sizeof(string),"Relatуrio de %s: %s",sendername,mensagem);//formata a string que serб enviada para os administradores
AvisoAdmin(azulagua,string);//envia a string com a cor azulagua
SendClientMessage(playerid,azulclaro,"Mensagem enviada com sucesso para nossos adms");//mensagem de que o comando foi bem executado
return 1;//retorna a 1
}//fim do cуdigo
return 1;
}// fim da public
public AvisoAdmin(COLOR,const string[])//public que terб a funзгo de enviar a mensagem para os admins
{//inicia o cуdigo da public
for(new i = 0; i < MAX_PLAYERS; i++)//criamos um loop
{
if(IsPlayerConnected(i))//verifica se o player estб conectado
{
if (IsPlayerAdmin(i))//verifica se o player й admin
{
SendClientMessage(i, COLOR, string);//envia a mensagem para os admins
printf("%s", string);//mostra no console a mensagem
}
}
}
return 1;
}//Final da public
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
bom tutorial, dб para tirar umas bases de como fazer outras coisas, como rбdio, etc
|