20.07.2012, 17:26
Formataзгo de String's em Syntax PAWN
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.
Algo tanto como simples, mas hб aqueles que ainda tem dъvidas de como utilizar os mesmos, agora um exemplo usando %i.
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.
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.
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:
E Por aн Vai
Formataзгo %c:
Explicaзгo: Formata um Unico Charactere sozinho dentro de uma string, Exemplo:
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:
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.
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);
pawn Код:
new string[60];
format(string, sizeof(string), "Meu Dinheiro: R$%i", GetPlayerMoney(playerid));
SendClientMessage(playerid, -1, string);
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);...
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
}
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
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.
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);
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.