Melhora na sintaxe de Pawn -
ipsBruno - 05.10.2013
Sabe aqueles simbolos chatos em Pawn %f %d %i %s? Estou estudando a possibilidade de remove-los usando uma sintaxe similar ao PHP.
Em PHP fizemos:
PHP код:
$var = 10;
echo "bruno", " top ", $var;
e eu tentei adaptar isto para pawn, me deu um trabalhгo reconhecer as tags, e estб ainda bastante incompleto. Mas sу vim postar isto aqui para mostra-los como ficaria mais ou menos
pawn Код:
stock TypeCat: pvp = TypeCat: 34542;
stock Float: suckTagOf ;
stock _@GlobalStr[1024];
#define tagof("%1") -47
#define boop(%0,%1,%2,%3,%4,%5,%6,%7,%8,%9) \
(sintaxeCat(\
%0, (tagof(%0)),\
%1, (tagof(%1)),\
%2, (tagof(%2)),\
%3, (tagof(%3)),\
%4, (tagof(%4)),\
%5, (tagof(%5))\
),_@GlobalStr)
#define s(%0) \
boop(%0,pvp,pvp,pvp,pvp,pvp,pvp,pvp,pvp,pvp)
sintaxeCat({Float,TypeCat,_}:...) {
new szReturn[1028];
for(new i = 1, j, tag; i < 10; i += 2, j += 2)
{
tag = getarg(i, 0);
switch (tag) {
case tagof(pvp): continue;
case 0: format(szReturn, 1024, "%s%d", szReturn, getarg(j,0));
case tagof(suckTagOf): {
new Float: f = Float:getarg(j,0);
format(szReturn, 1024, "%s%0.2f", szReturn, f);
}
case -47: for(new x; getarg(j, x); x++) format(szReturn, 1024, "%s%c", szReturn, getarg(j,x));
default: format(szReturn, 1024, "%s%d", szReturn, getarg(j,0));
}
}
return strcat((_@GlobalStr[0]=EOS,_@GlobalStr), szReturn);
}
Exemplo:
pawn Код:
main() {
new var1 = 10;
new Float:var2 = 2.5;
print(s("Cуdigo top ", var1, " do forum samp versгo ", var2));
}
LIMITES, TEM MUITOS limites. NГO podemos usar muitos parвmetros (se fizer mais que 5 buga), tem que cuidar com o tipo de variбvel que passa ali.
EU AINDA NГO TERMINEI, apenas estou demonstrando a possibilidade de eu conseguir fazer isto
Wilian me ajudou no apoio moral
Re: Melhora na sintaxe de Pawn -
WLSF - 05.10.2013
O meu ficou muito diferente disso, mas tб funcionando com alguns valores jб, mais tarde te mostro, quando voltar...
Respuesta: Melhora na sintaxe de Pawn -
ipsBruno - 05.10.2013
Tб me enrolando pra mostrar desde de tarde, eu mostrei o meu, mostra o teu agora ¬¬
Re: Melhora na sintaxe de Pawn -
Mteck - 05.10.2013
"Mostrei o meu, agora mostre o teu"






Respuesta: Melhora na sintaxe de Pawn -
ipsBruno - 05.10.2013
Cуdigo. Obvio
Re : Re: Melhora na sintaxe de Pawn -
ThiagoMK - 05.10.2013
Quote:
Originally Posted by Mteck
|
Nossa como vocк й um porco malicioso cara :\
Re: Melhora na sintaxe de Pawn -
[THs]ShadoW - 05.10.2013
Ainda prefiro usar "%f, %i, %s, %d", pq a necessidade de mudar ? D:
Respuesta: Re: Melhora na sintaxe de Pawn -
ipsBruno - 05.10.2013
Quote:
Originally Posted by [THs]ShadoW
Ainda prefiro usar "%f, %i, %s, %d", pq a necessidade de mudar ? D:
|
Programe Javascript e PHP, e verб a diferenзa. Й mais leve, prбtico, nгo precisa usar format, definir tamanhos, declarar toda hora variбveis. Уtimo!
Re: Melhora na sintaxe de Pawn -
PT - 05.10.2013
mas e muito mais trabalhoso e a finalidade e quase a mesma
Respuesta: Melhora na sintaxe de Pawn -
ipsBruno - 05.10.2013
Eu fiz para estudos, nгo para usar. Mas quem quiser usar, sinta-se a vontade. Vai do seu costume
PHP код:
new Float: health; GetPlayerHealth(playerid, health);
SendClientMessage(playerid, -1, s("Vocк tem ", health, " de vida"));
pawn Код:
new Float: health; GetPlayerHealth(playerid, health);
new string[128];
format(string,128, "Vocк tem %f de vida", health);
SendClientMessage(playerid,-1, string);