[Tutorial] Como usar o sscanf em zcmd ou em strcmp
#1

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.

Reply
#2

Falta explicar coisa mais ta bacana parabйns.
Reply
#3

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

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
Reply
#5

Ta errado.
Reply
#6

Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)