[DUV]Profissao
#8

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.
Reply


Messages In This Thread
[DUV]Profissao - by lucas_loky - 20.05.2010, 21:15
Re: [DUV]Profissao - by DartakousLien - 20.05.2010, 22:05
Re: [DUV]Profissao - by SuB_ZeRo0_ - 20.05.2010, 22:30
Re: [DUV]Profissao - by russo666 - 20.05.2010, 22:43
Re: [DUV]Profissao - by lucas_loky - 21.05.2010, 00:23
Re: [DUV]Profissao - by russo666 - 21.05.2010, 00:28
Re: [DUV]Profissao - by lucas_loky - 21.05.2010, 00:30
Re: [DUV]Profissao - by russo666 - 21.05.2010, 01:03
Re: [DUV]Profissao - by andmeida10 - 21.05.2010, 12:00
Re: [DUV]Profissao - by russo666 - 21.05.2010, 12:37

Forum Jump:


Users browsing this thread: 1 Guest(s)