SA-MP Forums Archive
[Tutorial] Como usar o sscanf em zcmd ou em strcmp - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tutorial] Como usar o sscanf em zcmd ou em strcmp (/showthread.php?tid=426123)



Como usar o sscanf em zcmd - Mateus_. - 27.03.2013

Tutorial para novatos no pawn.
Como usar o sscanf em zcmd.

Coloque no topo do seu gm:
#include sscanf2
#include zcmd


Primeiramente um exemplo de um comando:

Код:
CMD:darvida(playerid, params[])
{
    new vida, id;
    if(sscanf(params,"ud",id,vida)) return SendClientMessage(playerid,-1,"(USE) /darvida [Playerid] [Vida] ");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"(ERRO)O Player esta offline");
    if(vida < 0 || vida > 100) return SendClientMessage(playerid,-1,"Numero de vida invalida.Somente use de 0 a 100.");
    SetPlayerHealth(id,vida);
    return 1;
}
Explicaзгo:
Код:
new vida, id; // aqui definimos as ARRAYS.
Quote:

if(sscanf(params,"ud",id,vida)) return SendClientMessage(playerid,-1,"(USE) /darvida [Playerid] [Vida] ");

No params й definido que й do zcmd mas para vc usar no strcmp й so trocar o params por cmdtext.
no ud // no u define o id do player e o d um numero.

d ou i - usado quando vocк usa nъmeros, exemplo numero do seu celular...
s - й o string usado quando vocк usa letras, exemplo "Meu nome й BlueX"
u - usado para aquele famoso [Id do Player]...
f - usado para coordenadas...

O u й igual a array do id que й um id de um player que sera digitado.
O d й o numero da vida й igual a array da vida.
No return SendClientMessage й caso ele usar o comando errado ex: /darvida 0 ele ira mandar a mensagem de como usar o comando.

Quote:

if(!IsPlayerConnected(id)) verificara se o player esta online.
Em return SendClientMessage vcs ja sabem a funзгo.

if(vida < 0 || vida > 100) essa funзгo definira o maximo de vida que pode-ra dar ao player.O vida < 0 || vida > 100 vcs pode mudar o maximo de vida ex: if(vida < 0 || vida > 200) vcs podem usar essa funзгo em outro comando que vcs querem definir um numero maximo.
SetPlayerHealth Setara a vida para o player.




Re: Como usar o sscanf em zcmd ou em strcmp - MatheusAlcapone - 27.03.2013

Falta explicar coisa mais ta bacana parabйns.


Respuesta: Re: Como usar o sscanf em zcmd ou em strcmp - Mateus_. - 27.03.2013

Quote:
Originally Posted by matheus_alcapone
Посмотреть сообщение
Falta explicar coisa mais ta bacana parabйns.
Eu nгo aprendi muito sobre o sscanf mas procuro aprender mais esse tutorial me ajudou muito e estou tentando ajudar a quem nгo conhece o sscanf.


Re: Como usar o sscanf em zcmd ou em strcmp - Crueliz0n - 27.03.2013

pawn Код:
if (strcmp("/darvida", cmdtext, true, 10) == 0)
{
    new vida, id;
    if(sscanf(cmdtext,"ud",id,vida)) return SendClientMessage(playerid,-1,"(USE) /darvida [Playerid] [Vida] ");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"(ERRO)O Player esta offline");
    if(vida < 0 || vida > 100) return SendClientMessage(playerid,-1,"Numero de vida invalida.Somente use de 0 a 100.");
    SetPlayerHealth(id,vida);
    return 1;
}
nгo sei se funciona dessa forma porque o cmdtext й o comando, nгo parametro, ai no caso vocк teria que usar strtok junto


Re: Como usar o sscanf em zcmd ou em strcmp - leonardo1434 - 27.03.2013

Ta errado.


Re: Como usar o sscanf em zcmd ou em strcmp - Delete_ - 28.03.2013