Usando ZMCD Com e sem sscanf -
Wellington1999 - 03.10.2013
●Usando Zcmd/sscanf●
●Нndice●
• Usando ZCMD.
• Usando ZCMD C/ Parвmetros.
• Usando ZCMD C/ sscanf.
• Crйditos.
●Usando ZCMD●
Ele й mais prбtico mais rбpido, eu acho que ele foi feito para os novatos pararem de copiar, й muito mais facil de usar por ser mais compacto;
Exemplos :
pawn Code:
CMD: oi(playerid)
{
return 1;
}
Do que
pawn Code:
if(strcmp(cmd,"/oi",true)==0)
Vamos ao que importa,Vamos fazer um comando simples sem parвmetros e sem o uso do sscanf.
Vamos criar um comando com variбveis.
pawn Code:
CMD:oi(playerid)
{
if(Oi == 1)//Se a variбvel OI for = 1,retorna a mensagem abaixo
{
SendClientMessage(playerid, -1, "Sua Variбvel Oi jб й 1");
return 1;
}
Oi = 1;//Se a variбvel Oi for diferente de 1, ele vai seta-la para 1
return 1;
}
Bom esta parte й facil, vamos usar ZCMD com parвmetros, eu aprendi sozinho depois estudei e vi que nгo й difнcil,
vamos la
adicione no topo do seu gm/fs
pawn Code:
new playername[MAX_PLAYER_NAME];
pawn Code:
CMD:pegargrana(playerid, params[])
{
new String[128], playername[25];
if(isnull(params))
return SendClientMessage(playerid, -1, "Use: /pegargrana quantia");
GivePlayerMoney(playerid, params);
GetPlayerName(playerid, playername, sizeof(playername));
format(String, sizeof(String), "Vocк %s te deu %d de dinheiro", UsadorDoComando, params);
SendClientMessage(playerid, -1, String);
return 1;
}
Vamos as explicaзхes
pawn Code:
if(isnull(params))
return SendClientMessage(playerid, -1, "Use: /dargrana quantia");
isnull = Nulo
params = Como vocк jб percebeu, no zcmd, params й o que vem depois do comando digitado. Ou seja, seu objetivo й setar um valor.
pawn Code:
GivePlayerMoney(iddele, params);// seta para o recebedor o params que й o dinheiro
iddele = o Objetivo, o id do player que estб recebendo
params = o valor.
●Usando ZCMD C/ sscanf●
⇝ Nesta etapa vamos usar o sscanf em comandos, como ir em posiзхes ,dar valores e etc
• Comando /setarlevel
pawn Code:
CMD:setlevel(playerid, params[])
{
new iddele,level;
if(sscanf(params, "dd", iddele, level))
return SendClientMessage(playerid, COR_CINZA1, "Use: /setlevel [id] [level]");
if(!IsPlayerConnected(iddele))
return SendClientMessage(playerid, COR_CINZA2, "Jogador nгo conectado");
SetPlayerScore(iddele, level);
GetPlayerName(iddele, playername1, sizeof(playername1));
GetPlayerName(playerid, playername, sizeof(playername));
format(String, 80, "Vocк setou o level do %s para %d ", playername1, level);
SendClientMessage(playerid, COR_AZULCLARO, String);
format(String, 80, "O Administrador %s setou seu level para %d", playername, level);
SendClientMessage(iddele, COR_AZULCLARO, String);
return 1;
}
• Explicando
if(!IsPlayerConnected(iddele))// !IsPlayerConnected , nгo esta conectado,(iddele) , o recebedor
"dd" oque significa dd - 1є d = O ID Do player que receberб, o 2є й o o level dado.
SetPlayerScore(iddele, level); // iddele , id do player, "level" level setado
pawn Code:
CMD:irpos(playerid, params[])
{
new Float:X,Float:Y,Float:Z;//Posiзхes X Y Z
GetPlayerName(iddele, playername1, sizeof(playername1));
if(sscanf(params, "ddd", X, Y,Z))//Se nгo tiver X Y Z no /irpos retorna a mensagem abaixo
return SendClientMessage(playerid, COR_CINZA1, "USE: /irpos [X] [Y] [Z]");
SetPlayerPos(playerid,X,Y,Z);//seta a posiзгo do player "playerid" quem digitou o cmd
printf("[Posiзгo]: Player %s foi para as posiзхes %f %f %f",playername,X,Y,Z);
return 1;
}
●Crйditos●
•
Zeex (ZCMD)
•
Y_Less (sscanf)
•
Wellington1999
Re: Usando ZMCD Com e sem sscanf -
Juniiro3 - 03.10.2013
Jб tem tutorias assim na board, mas mesmo assim parabйns pela esforзo '-'
Re: Usando ZMCD Com e sem sscanf -
Wellington1999 - 03.10.2013
Quote:
Originally Posted by Juniiro3
Jб tem tutorias assim na board, mas mesmo assim parabйns pela esforзo '-'
|
foi pra ajudar um amiguinho;
Respuesta: Usando ZMCD Com e sem sscanf -
DanDRT - 03.10.2013
i = inteiro
s = string
d = numeros
u = id
f = float
b = booleano(nгo tenho certeza deste)
Re: Usando ZMCD Com e sem sscanf -
WLSF - 03.10.2013
Bacana, te dou rep quando eu poder, tenho que esperar 24hrs... --'
Tente melhorar para o prуximo, em relaзгo a tudo, organizaзгo, explicaзгo e os cуdigos que vocк usa como exemplo, vocк acumulou muitas coisas uma em cima da outra, isso pode complicar para quem lк, tente dar um espaзo para descansar a vista e etc.
Abraзos.
Re: Usando ZMCD Com e sem sscanf -
zSuYaNw - 03.10.2013
Tem muitas coisas erradas em seu tutorial, primeiramente que na variбvel "Oi" vocк botou funзхes e esqueceu de abrir a chave para poder fechar (geralmente a causa de 26 erros no compilador).
E no comando "/dargrana" vocк tem que saber que isnull й sу quando й usado 1 parametro na funзгo. e no seu comando vocк esta usando 2 variбveis, sendo que nelas nгo tem nenhum valor especнfico. por isto sempre irб funcionar para o ID 0.
Bom, existem mais erros no seu tutorial, creio que os principais eu citei.
Lhe darei +rep se consertalos.
Cheers.
Respuesta: Re: Usando ZMCD Com e sem sscanf -
DanDRT - 03.10.2013
Quote:
Originally Posted by zSuYaNw
Tem muitas coisas erradas em seu tutorial, primeiramente que na variбvel "Oi" vocк botou funзхes e esqueceu de abrir a chave para poder fechar (geralmente a causa de 26 erros no compilador).
E no comando "/dargrana" vocк tem que saber que isnull й sу quando й usado 1 parametro na funзгo. e no seu comando vocк esta usando 2 variбveis, sendo que nelas nгo tem nenhum valor especнfico. por isto sempre irб funcionar para o ID 0.
Bom, existem mais erros no seu tutorial, creio que os principais eu citei.
Lhe darei +rep se consertalos.
Cheers.
|
26 erros й quando a chave de fechar estб faltando
quando estб faltando a de abrir o compilador para de funcionar :$
Re: Usando ZMCD Com e sem sscanf -
Wellington1999 - 03.10.2013
Distraзгo minha,eu mudei o comando /dargrana, para /pegargrana[quantia], e valeu por ajudar.
Re: Usando ZMCD Com e sem sscanf -
F1N4L - 03.10.2013
Quote:
Originally Posted by Wellington1999
Distraзгo minha,eu mudei o comando /dargrana, para /pegargrana[quantia], e valeu por ajudar.
|
Vlw man, de grande ajuda pra mim! +rep
Re: Usando ZMCD Com e sem sscanf -
zPain - 03.10.2013
Hб erros no tutorial.
pawn Code:
CMD:pegargrana(playerid, params[])
{
new String[128], playername[25];
if(isnull(params))
return SendClientMessage(playerid, -1, "Use: /pegargrana quantia");
GivePlayerMoney(playerid, params);
GetPlayerName(playerid, playername, sizeof(playername));
format(String, sizeof(String), "Vocк %s te deu %d de dinheiro", UsadorDoComando, params);
SendClientMessage(playerid, -1, String);
return 1;
}
Tente compilar isto.