Bom, venho por meio deste tutorial, apresentar a vocкs algumas explicaзхes para dъvidas que os que estгo iniciando nesta area apresentam, bom, pretendo ser rбpido, direto e breve com as palavras, nгo й para ser um tutorial grande, e sim uma breve explicaзгo para aqueles que apresentam estas mesmas dъvidas, Bom Vamos Iniciar o Tutorial:
Formataзгo %d ou %i:
Explicaзгo: Bom, sгo dois tipos de formataзгo de string que ambas retornam um numero (caractere) inteiro quando formatado.
pawn Код:
new string[60];
format(string, sizeof(string), "Meu Score: %d", GetPlayerScore(playerid));
SendClientMessage(playerid, -1, string);
Algo tanto como simples, mas hб aqueles que ainda tem dъvidas de como utilizar os mesmos, agora um exemplo usando %i.
pawn Код:
new string[60];
format(string, sizeof(string), "Meu Dinheiro: R$%i", GetPlayerMoney(playerid));
SendClientMessage(playerid, -1, string);
Bom, porque o R$%i? Isto й opcional, R$ utilizei como cifrгo da moeda, mas o que vai relativamente pegar o dado do dinheiro do jogador й apenas %i ou Integer.
Formataзгo %s:
Explicaзгo: Bom, da forma mais breve possнvel podemos dizer que %s й formataзгo de uma "String", ou seja, Alguma frase, Palavra ou algo que contenha na prуpria frase.
pawn Код:
new string[60], Nome[24];
GetPlayerName(playerid, Nome, sizeof(Nome));
format(string, sizeof, string), "Meu Nome й %s", Nome);
SendClientMessage(playerid, -1, string);
// Utilizei sizeof(Nome), do mesmo modo que poderia utilizar GetPlayerName(playerid, Nome, 24);...
Alguns irгo perguntar, tб mas porque vocк utilizou apenas 24 no Lenght do Nome? Pois bem, 24 й o numero de caracteres Maximo permitido pelo samp para nicknames, tб mas porque 24? se quando loga com nick muito grande aparece o aviso de 3-20 characteres? Bom, 24 Characteres Setados In-Game, Nick aceitado pelo samp й no maximo de 20 Characteres.
Formataзгo %f:
Explicaзгo: %f ou Para Alguns, chamado de Float ou Quantidade, Vou demonstrar um exemplo breve.
pawn Код:
new Float:Health;
GetPlayerHealth(playerid, Health);
if(Health < 30.0)
{
// Funзгo Abaixo
}
Porque utilizei o float? porque float й a unica maneira de vocк conseguir utilizar as funзхes GetPlayerHealth e GetPlayerArmour com sucesso, pois й da mesma maneira que disse anteriormente, float trabalha com quantidade, assim fazendo com que seja possнvel verificar a vida e colete do jogador.
Observaзгo: Float quando utilizado em resultados como PvP, X1 ou Sistema de Duelos, lб tem eles suas dъvidas, a mais comum entre os iniciantes, porque os numeros saem tipo 100.66666666? Pois bem, %f Formata a Float, %.0f Formata a float do mesmo modo porйm sem as casas decimais, o que define as casas decimais apуs o ponto, й o numero que hб na definiзгo, Exemplo:
pawn Код:
%.0f - 0 Casas Decimais
%.1f - 1 Casa Decimal
%.2f - 2 Casas Decimais
E Por aн Vai
Formataзгo %c:
Explicaзгo: Formata um Unico Charactere sozinho dentro de uma string, Exemplo:
pawn Код:
new PKD[1] = !"Oie";
printf("%c", PKD{0}); //Mostraria o caractere O.
printf("%c", PKD{1}); //Mostraria o caractere i.
printf("%c", PKD{2}); //Mostraria o caractere e.
PKD{0} = 'A'; //Trocaria o caractere O pelo A, na string.
print(PKD); //Imprime a packed string "Aie".
//Obs: PKD{3} conteria o EOS.
Creditos a rjjj ou Ken.
Formataзгo %x:
Explicaзгo Bбsica: Formata um Numero em Notaзгo Hexadecimal, porйm nгo й muito utilizado nas demais formas de format do pawn.
Formataзгo %%:
Explicaзгo Bбsica: Formata na Frase, o simbolo literal %%
Exemplo:
pawn Код:
new string[35];
format(string,sizeof(string),"43%s of my shirts are black.","%%");
SendClientMessage(playerid,0xFFFFFAA,string);
Creditos: Wiki-SA:MP
E Por Ultimo, Chegamos a Formataзгo %b:
Quase nгo й utilizada tambйm por Codagem bбsica do pawn, mas insere na frase ou string, um nъmero de forma binбria.
Para os Exemplos que faltaram, estou estudando mais sobre o assunto e quando os mesmos deverгo ser usados.