19.08.2011, 17:06
¤Usando sscanf em zcmd¤
Bem comecei a usar zcmd a pouco tempo, mas tenho visto que й muito diferente de strcmp, alem de tudo й mais fбcil de se aprender, neste tutorial vou ensinar como usar sscanf em zcmd, irei ensinar o que aprendi claro, nгo estarei dizendo coisas que nгo sei, por tanto vamos comeзar...
Bem para usar sscanf em zcmd terб que criar o comando zcmd logico, entгo vamos lб.
No topo do GM/Fs adicione
pawn Код:
#include zcmd
#include sscanf2
Nгo se esqueзa de adicionar as arrays como logico, claro que pode mudar o nome, nгo й preciso chamar-se new Texto, pode ser new frase, o que quiser, sу tem que saber colocar...
pawn Код:
//=====[ARRAYS]======
new texto;
new nome[MAX_PLAYER_NAME];
new Str[128];
new id;
pawn Код:
CMD:mp(playerid, params[])
{
if(sscanf(params, "us",id,texto))
{
SendClientMessage(playerid,-1,"Use: /mp [id] [texto]");
}
else
{
if(IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Este jogador nгo estб conectado");
GetPlayerName(playerid,nome,sizeof(nome));
format(Str, sizeof(Str), "Mesangem Privada de %s: %s",nome,texto);
SendClientMessage(id,-1,Str);
}
return true;
}
pawn Код:
if(sscanf(params, "us",id,texto))
params - Como vocк jб sabe, no zcmd, params й o que vem depois do /comando. Ou seja, seu objetivo й quebrar a string 'params' para poder pegar a hora para setar o servidor. (Crйditos Luнs Miki)
us - Bem essa parte й o que torna sscanf facil de usar em zcmd, vc sabe sabe quando usa mensagem que tenha que pegar o nome do player? ou o id, que usa %s, %d aqui й mesma coisa sу que sem %, entгo vamos ver alguns dos que eu sei...
Код:
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... Existem mais, mas eu ainda nгo todos....
pawn Код:
SendClientMessage(playerid,-1,"Use: /mp [id] [texto]");
pawn Код:
else
Por fim usamos ↓
pawn Код:
format(Str, sizeof(Str), "Mesangem Privada de%s: %s",nome,texto);
Nгo pois vocк irб mandar para o player nгo serб necessбrio, mas caso vocк queira que mostre o id basta colocar assim:
pawn Код:
format(Str, sizeof(Str), "Mesangem Privada de %s [ID%d]: %s",nome,playerid,texto);
/av para admin:
pawn Код:
CMD:av(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
if(sscanf(params, "s",texto))
{
SendClientMessage(playerid,-1,"Use: /av [texto]");
}
else
{
GetPlayerName(playerid,nome,sizeof(nome));
format(Str, sizeof(Str),"Admin %s [ID:%d]: %s",nome,playerid,texto);
SendClientMessageToAll(-1,Str);
}
}
else SendClientMessage(playerid,-1,"Vocк nгo esta logado na rcon");
return true;
}
pawn Код:
CMD:a(playerid, params[])
{
for( new i; i < MAX_PLAYERS; i++ )
{
if(IsPlayerAdmin(playerid))
{
if(sscanf(params, "s",texto))
{
SendClientMessage(playerid,-1,"Use: /a [texto]");
}
else
{
GetPlayerName(playerid,nome,sizeof(nome));
format(Str, sizeof(Str),"%s: %s",nome,texto);
SendClientMessage(i,-1,Str);
}
}
else SendClientMessage(playerid,-1,"Vocк nгo й adminRcon");
}
return true;
}
Usando imaginaзгo vocк chega lб. Espero que goste
®Creditos®
®BlueX - Por criaзгo do Tutorial
®Luis Miki - Por explicaзгo de duas coisas que eu nгo sabia
®****** - Pela criaзгo do sscanf
®Zeex - Plea criaзгo do zcmd
↓Download↓
↓ZCMD - Clique Aqui
↓sscanf 2.0 - Clique Aqui