pawn Код:
new sendername[MAX_PLAYER_NAME], string[73];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Vocк foi colocado como traficante de droga por %s", sendername);
SendClientMessage(playerid, COR, string);
O '
sendername' й para pegar o nome do jogador. O '
MAX_PLAYER_NAME' significa o tamanho. Isto quer dizer que й o mбximo de caracteres que o nick pode ter.
A '
string' й o que vai armazenar os dados. O '
73' й o nъmero de cells. O nъmero de cells tem que ser suficiente para guardar todos os caracteres.
Pergunta: Como saber quantos caracteres tem a frase?
Resposta: Simples. Cada caracter equivale a uma letra ou espaзo. Entгo й sу contб-los e no fim somar 1. Porquк 1? Porque o '
null' estб presente em todas as strings. O null pode ser representado por 0 (hб mais opзхes mas esta chega).
Depois de teres contado os caracteres, inclusive o null, й hora de prosseguir. O '
%s' que se vк na frase й o que serб substituнdo neste caso pelo nome do jogador. Entгo ao valor calculado subtraнmos 2 (porque sгo dois caracteres) e somamos 24 (porque o MAX_PLAYER_NAME sгo 24).
Pronto, jб estб o valor da string.
A funзгo '
GetPlayerName' й usada para pegar o nome do jogador. Ela funciona de uma forma simples.
playerid - Й o id/jogador em causa.
sendername - Й onde se coloca o nome da string que armazenarб o nome do jogador. Neste caso chamada sendername porque fora assim predefenida antes.
sizeof(sendername) - Й onde se coloca o tamanho da string. Poderia ser colocado neste caso '
MAX_PLAYER_NAME' ou '
24'. Eu optei por colocar sizeof(sendername) para ele automaticamente pegar o valor.
Depois temos que 'preparar' a string que armazenarб os dados e posteriormente enviar a mensagem.
A funзгo '
format' й como jб disse como se estivessemos a 'arrumar' a string para que os dados sejam armazenados.
string - Й onde referimos a string que armazenarб os dados, neste caso a string chama-se mesmo string.
sizeof(string) - Como jб explicado acima й onde se coloca o tamanho da string.
"Vocк foi colocado como traficante de droga por %s" - Й onde se encontra a constante/mensagem. O '
%s' й referido a string (texto) que й usado para ser substituнdo pelo nome do jogador neste caso.
sendername - Por fim no '
format' da string temos a '
funзгo' que irб substituir o '
%s' da constante com o nome do jogador.
Por ъltimo vem a parte de enviar a mensagem ao jogador.
SendClientMessage - Й a '
funзгo' utilizada para mandar uma mensagem no chat para um id/jogador em especнfico.
playerid - Neste caso й o id/jogador em causa, ou seja, o que neste caso foi colocado em traficante de droga.
COR - Й onde serб colocada a cor em Hexadecimal. Em vez de andarmos a colocar a cor em Hexadecimal podemos ir ao topo e definir a cor da seguinte maneira:
#define NOME CуdigoHexadecimal.
EX: #define LIGHTGREEN 0x38FF06FF. Agora poderiamos utilizar o nome 'LIGHTGREEN' ao invйs da cor em hexadecimal.
string - Finalmente й onde se coloca a constante/mensagem. Neste caso й a string que utilizamos para guardar os dados. Como jб referi, neste caso a string chama-se string porque foi assim que eu a defini.
Epб desculpa se tem algo mal explicado (tem concerteza), mas й que estou cheio de sono.print Espero que entendas.
Edit: Hб termos que nгo sгo os mais correctos, mas espero que entendas. Quanto aos
negritos, nгo estгo todos os importantes, mas estгo alguns. Desculpa mas estou com sono.