[Tutorial] Formataзгo de Strings
#1

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.

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

Уtimo tutorial, irб ajudar muitas pessoas mesmo, isso nгo serб ъtil apenas para format mбs tambйm para os que estгo querendo mecher com sscanf
Reply
#3

Faz um tuto como usar sscanf como minha Nigga Suprema disse -q

@TOPIC

Уtimo tutorial s2
Reply
#4

Great Tutorial. Agora nгo tem desculpa pros novatos nгo saberem usar format.
Reply
#5

Vocк sabe explicar de uma maneira simples, isso й muito bacana. Уtimo tutorial
Reply
#6

Na boa, ficou bom. Mas ensine que static com format й melhor. Logo que format automaticamente deleta o que tinha em static
Reply
#7

Booooom tutorial!
Reply
#8

Quote:
Originally Posted by Kuddy
Посмотреть сообщение
Уtimo tutorial, irб ajudar muitas pessoas mesmo, isso nгo serб ъtil apenas para format mбs tambйm para os que estгo querendo mecher com sscanf
Em breve quem sabe, farei um ensinando a utilizar

Quote:
Originally Posted by Ades
Посмотреть сообщение
Faz um tuto como usar sscanf como minha Nigga Suprema disse -q

@TOPIC

Уtimo tutorial s2
Thanks

Quote:
Originally Posted by Truck
Посмотреть сообщение
Great Tutorial. Agora nгo tem desculpa pros novatos nгo saberem usar format.
hehe, me pediram no msn pra fazer algo do gкnero, e como vi quem nгo й sу 1 ou outro que tem dъvida sobre isto resolvi ajudar de uma maneira simples porйm explicado.

Quote:
Originally Posted by FrostGF
Посмотреть сообщение
Vocк sabe explicar de uma maneira simples, isso й muito bacana. Уtimo tutorial
Vlw

Quote:
Originally Posted by [FeK]DraKiNs
Посмотреть сообщение
Na boa, ficou bom. Mas ensine que static com format й melhor. Logo que format automaticamente deleta o que tinha em static
Verdade, esqueci desta parte , Thanks.

Quote:
Originally Posted by sanalex
Посмотреть сообщение
Booooom tutorial!
Vlw
Reply
#9

Bom,porem como lhe disse, 'Formataзгo' nгo й o nome mais apropriado,mais sim Placeholds
Reply
#10

Quote:
Originally Posted by Gustavo_Araujo
Посмотреть сообщение
Bom,porem como lhe disse, 'Formataзгo' nгo й o nome mais apropriado,mais sim Placeholds
http://www.dicionarioinformal.com.br...%C3%A7%C3%A3o/

Formataзгo й o mais certo. Eu moro no Brasil falo formataзгo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)