Pawn Tutorial - format() // (Made in 2008)
#1

---------------------------------------------------------------------------------------------
_________________________________________________
- format()

Parameters:
(output[], len, const format[], {Float,_}:...)

output[] - The string to output the result to
len - The maximum length output can contain
format[] - The format string
{Float,_}:... - Indefinite number of arguments of any tag


Format Strings:

%b - Inserts a number at this position in binary radix
%c - Inserts a single character.
%d - Inserts an integer (whole) number
%f - Inserts a floating point number.
%i - Inserts an integer.
%s - Inserts a string.
%x - Inserts a number in hexadecimal notation.
%% - Inserts the literal '%'


Jб alguma vez tentaste mandar mensagens aos jogadores em 'tempo real', isto й, mensagens do gйnero: 'Tens, de momento, 100Ђ na tua carteira.', sem nunca ter sucesso ? Entгo preste bem atenзгo a este tutorial.
... © PLAYMAKER


.

Em primeiro lugar vamos declarar o str (string) no inicio do script.
pawn Код:
#define MAX_SERVER_STRING (512 char)

new
    MY_STRING[MAX_SERVER_STRING];
Repara que utilizo 128 devido a vбrios factores. Para saber porque deve utilizar 128 em vez de 256, visite o seguinte endereзo: Why you should not use 256

.

Agora jб pudemos utilizar o str em qualquer format() que utilize-mos.
Vamos entгo dar um exemplo:

pawn Код:
public
    OnPlayerConnect(playerid)
{
    new
        NAME[MAX_PLAYER_NAME];

    GetPlayerName(playerid, NAME, sizeof NAME);
       
    format(MY_STRING, sizeof MY_STRING
 
        , "- O jogador %s (ID: %d) entrou no sv."
       
        , NAME
        , playerid
       
    );
 
    SendClientMessageToAll((0xDFD50BFF), MY_STRING);
 
    return true;
}
.

Como podes verificar й um processo muito simples e fбcil de usar / scriptar.

Explainning format()

pawn Код:
format(str, sizeof(str), "O jogador %s (ID: %d) entrou no sv.", pName, playerid);
Vamos entгo dividir isto em 4 partes.

1 - str - O que utilizamos.
2 - sizeof(str) - Length do string.
3 - "Text & Format Strings" - Formato do texto no string.
4 - Parameters - Parameters que correspondem aos Format Strings


Uma ъltima coisa:

Temos um float definido como 1.00000

Utilizando %0.3f (3 decimal points)
Vai-nos ser dado 1.000

Utilizando %0.0f (0 decimal points)
Vai-nos ser dado 1

Muita gente tem problemas ao fazer o racio, isto й, as kills a dividir pelas deaths.
Entгo, como o racio tem sempre 2 decimal points, fazem assim:
%0.2f

Conclusгo:

pawn Код:
new
        Float:RACIO = floatdiv(KILLS[playerid], DEATHS[playerid]);
       
    format(MY_SRING, sizeof MY_STRING, "Kills: %d | Deaths: %d | Racio: %0.2f", KILLS[playerid], DEATHS[playerid], RACIO);
Algum tipo de dъvida, pm me. ;')
_________________________________________________
---------------------------------------------------------------------------------------------
Reply
#2

Й Ratio nгo Racio.

E esse tutorial й seu? "© PLAYMAKER"
Se sim, mude para Portugues.
Reply
#3

Existe racio tambйm, esquecime do acento 'rбcio'. --'
E estб em portuguкs, simplesmente acho que fica mal certas expressхes inglesas em portuguкs. Algumas delas nem tкm traduзгo.

Vocкs, brasileiros, й que gostam de mudar tudo nгo sei porquк. : S
Reply
#4

Quote:
Originally Posted by @PlayMaker
Existe racio tambйm, esquecime do acento 'rбcio'. --'
E estб em portuguкs, simplesmente acho que fica mal certas expressхes inglesas em portuguкs. Algumas delas nem tкm traduзгo.

Vocкs, brasileiros, й que gostam de mudar tudo nгo sei porquк. : S
Que eu saiba aqui й бrea para o idioma portuguкs (seja pra brasileiros, portugueses ou outras nacionalidades que compartilham a lнngua), entгo se for para publicar algo que publique na nossa lнngua. Estrangeirismo forзado й algo muito broxante.
Nгo leve a mal nгo, й sу o que eu acho. Abraзo.
Reply
#5

Excelente PlayMaker.

@Os outros: O Play tem razгo sobre os termos.
Reply
#6

Quote:
Originally Posted by russooooo
Excelente PlayMaker.

@Os outros: O Play tem razгo sobre os termos.
Vai me dizer que traduzir isso:
Length do string.

Fica ruim? Vamos ver:
Tamanho da string.


Acho que nгo, e essa parte do forum й Portuguesa, se for postar inglкs tem o lugar certo. ^^
Reply
#7

Quote:
Originally Posted by russooooo
Excelente PlayMaker.

@Os outros: O Play tem razгo sobre os termos.
Certo, agora imagine uma pessoa que TEM vontade de aprender, porйm ainda tem conhecimento fraco sobre outras lнnguas (tambйm nem teria o dever de ser boa nisso) chega aqui e se depara com "termos" destes:

Quote:

Format Strings:

%b - Inserts a number at this position in binary radix
%c - Inserts a single character.
%d - Inserts an integer (whole) number
%f - Inserts a floating point number.
%i - Inserts an integer.
%s - Inserts a string.
%x - Inserts a number in hexadecimal notation.
%% - Inserts the literal '%'

SE ela fosse um pouco mais sabida, talvez colocaria em um tradutor, mas o que seria mais fбcil: tentar entender o que estб escrito em outro idioma na бrea do seu prуprio idioma ou simplesmente ler na sua prуpria lнngua? Se й para postar grandes partes em inglкs, nгo teria a necessidade de ramificaзгo do fуrum original para outras lнnguas.

Comparaзгo (exemplo):
%f - Usado para inserir um nъmero decimal (ex.: 1000.000)
%f - Inserts a floating point number.

------------------------|

Talvez nem precisasse discutir tanto, mas esse й um ponto que pra mim й importante: por que nгo dar mais atenзгo а nossa lнngua? Afinal, somos brasileiros, portugueses, entre outras nacionalidades que compartilham o portuguкs, ou norte americanos entre outras nacionalidades que tambйm compartilham inglкs?

Abraзo.
Reply
#8

bom tutorial, mais tambйm acho que deveria ser postado totalmente portuguкs,rs

Enquanto a Dividir o "Rбcio" nгo teria como usar "/" para executar como divisгo?
Ex:
pawn Код:
format(mystring,128,"Player Tem o Ratio de %d",Kills / Deaths));
Apenas Exemplo, nгo tenho certeza se esta correto

Enquanto ao Racio e Ratio os Dois Termos Existem:
Rбtio:
Expressгo matematica, normamente usada para indicar divisoes, ou seja quantidades de um valor em relaзгo ao outro valor
Rбcio:
Valor financeiro, matematico usado para comparar/fazer balanзo de dois valores diferentes...
Sendo Assim:
Rбcio:Dividi Valores Diferentes
Rбtio:Dividi Valores Diferente e Iguais

Ou Seja й quase tudo a mesma "merda'.. rsrsrs (pelo meno PT-BR Sim).

esqueceu a tag [TUT]

Parabйns pelo TUTORIAL!

Ah Quantos Anos vocк programa?
Reply
#9

@[VGS]Protioso_OC / SuB_ZeRo0_ / DraKoNeoN :

Compreendo, das prуximas vezes tentarei entгo adaptar certos termos para a lнngua portuguesa. ( :

@DraKoNeoN:

Quote:
Originally Posted by DraKoNeoN
Enquanto a Dividir o "Rбcio" nгo teria como usar "/" para executar como divisгo?
Ex:
pawn Код:
format(mystring,128,"Player Tem o Ratio de %d",Kills / Deaths));
Apenas Exemplo, nгo tenho certeza se esta correto
Sim, tambйm dava. : p

Quote:
Originally Posted by DraKoNeoN
Ah Quantos Anos vocк programa?
Pawn ? Pouco tempo, desde 2007 mais ou menos.

@russooooo:

Obrigado ! Йs um amor. : D
Reply
#10

@PlayerMaker:
Sim, eu sabia que era desde 2007 sу queria ter certeza
Russoo й Meu tira o Olho dele seu tarado

Mais Uma vez Bom TUTO
Reply
#11

Quote:

@russooooo:

Obrigado ! Йs um amor. : D

Ai meu Deus... Baitolice й contagioso...
Nй DraKoNeoN?
Reply
#12

Quote:
Originally Posted by [BEP
GeoPilot ]
Quote:

@russooooo:

Obrigado ! Йs um amor. : D

Ai meu Deus... Baitolice й contagioso...
Nй DraKoNeoN?
Lawl.
Reply
#13

Nem da Bola, eles tem preconceito

da cadeia

@PlayMaker
me Falaram que tu era bem entendido em Paw, queria saber se tu sabes de como funciona as funзхes While ...


Ainda nгo estudei isso em PAWN
Reply
#14

Ele й um king, claro que sabe.

De qualquer maneira faz o que eu fiz, Wiki + Documentaзгo do pawn.
Reply
#15

Ok, Vou Dar uma Olhada Russooo
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)