[Ajuda] parametros em zcmd!
#3

PHP код:
CMD:helloworld(playerid//quando nгo tem parametros, usa assim
{
    
SendClientMessage(playerid, -1"OIEE");
    return 
1;
}
CMD:setar(playeridparams[]) // quando tem parametros, usa assim
{
    
// comando de apenas um parametro (TEXTO):
    
if(isnull(params)) return SendClientMessage(playerid, -1"Uso correto: /Setar [Cargo]");
    
//isnull => verifica se o params (parametros) й nulo. ou seja, se o jogador digitou nada como parametro
    
if(strcmp(params"ajudante"true) == 0)
    {
        
PlayerInfo[playerid][pAdmin] =  1;
    }
    else if(
strcmp(params"moderador"true) == 0)
    {
        
PlayerInfo[playerid][pAdmin] = 2;
        
    }
    
// por aн vai..
    
else return SendClientMessage(playerid, -1"Cargo incorreto!");
    
SendClientMessage(playerid, -1"Cargo setado com sucesso!");
    return 
1;
}
CMD:numero(playeridparams[])
{
    
//comando de apenas um parametro (NЪMERO)
    
if(isnull(params)) return SendClientMessage(playerid, -1"Uso correto: /Numero [1-10]");
    new 
strval(params); // converte de string para inteiro
    
if(|| 10) return SendClientMessage(playerid, -1"De 1 a 10, parзa!"); // caso o jogador digite um nъmero menor que 1 ou maior que 10
    
new str[30];
    
format(strsizeof(str), "Escolheu o nъmero %d"n); //formata a mensagem, obtendo o valor de n
    
SendClientMessage(playerid, -1str); // exibe a mensagem
    
return 1;
}
/* Para mais que um parametro, й recomendado o uso do plugin/include sscanf, pois facilita muito
a versгo mais atualizada usa plugin, mas existe outra que nгo precisa ...
Em sscanf, vocк irб usar "s" para texto, "d"/"i" para inteiros, "f" para float, como jб se utiliza no "format"
O de diferente aqui vai ser o "u" para jogadores
OBS: eu ia pegar link de tуpicos de tutoriais e do download, mas tб difнcil esse fуrum hoje */
CMD:daradm(playeridparams[])
{
    new 
jogadornivel// cria variбveis onde serгo armazenados o jogador e o nivel de adm
    
if(sscanf(params"ud"jogadornivel)) return SendClientMessage(playerid, -1"Uso correto: /DarAdm [Jogador] [Nivel]"); // verifica se foram digitados os parametros exigidos
    /* na linha acima vc, basicamente, divide a string "params" em 2 coisas..
    u => й pra vc poder usar tanto ID quanto parte do nick / nick completo
    d => usado para inteiros (neste caso, o nнvel de adm)..
    repare que tem que estar na respectiva ordem..
    se o comando fosse /daradm [nivel] [jogador]
    seria: if(sscanf(params, "du", nivel, jogador)) ... */
    
PlayerInfo[jogador][pAdmin] = nivel;  // atribui ao jogador escolhido o nнvel escolhido de admin
    
return 1;
}
CMD:kick(playeridparams[])
{
    new 
jogadormotivo[30]; // cria variбveis onde serгo armazenados o jogador e o motivo do kick
    
if(sscanf(params"us[30]"jogadormotivo)) return SendClientMessage(playerid, -1"Uso correto: /Kick [Jogador] [Motivo]"); // verifica se foram digitados os parametros exigidos
    /* aqui o "params" tbm й dividido em 2 coisas..
    u => jб vimos acima
    s => usado para textos
    quando se usa "s", ou seja, string, no sscanf2, vc deve sempre colocar o "tamanho" em seguida
    */
    
new str[90];
    
format(strsizeof(str), "%s foi kickado por %s. Motivo: %s"PlayerName(jogador), PlayerName(playerid), motivo); // formata a mensagem com o nome do jogador, do adm e o motivo do kick
    
SendClientMessageToAll(-1str); // envia a mensagem para todos
    
    
Kick(jogador); // kicka o jogador escolhido
    
return 1;
}
/*
e por aн vai.... se vc quisesse um comando com mais parametros, й sу adicionar a variбvel e o seu especificador (s, d, u, i, f, etc)
exemplo: /banir [jogador] [dias] [motivo]
temos 3 parвmetros
1 u
1 inteiro (d, i)
1 string (s)
vamos criar a variбvel de cada parametro:
new jogador, dias, motivo[30];
if(sscanf(params, "uds[30]", jogador, dias, motivo)) return SendClientMessage...
*/
PlayerName(playerid)
{
    new 
nome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridnomesizeof(nome));
    return 
nome;

Galera.. O fуrum tambйm estб horrнvel pra vocкs? Misericуrdia. Tб foda!
Reply


Messages In This Thread
parametros em zcmd! - by vitinhosamp - 19.08.2018, 20:32
Re: parametros em zcmd! - by Malandrin - 20.08.2018, 00:35
Re: parametros em zcmd! - by humildadeforever - 20.08.2018, 01:59
Re: parametros em zcmd! - by vitinhosamp - 20.08.2018, 03:10
Re: parametros em zcmd! - by humildadeforever - 20.08.2018, 03:16
Re: parametros em zcmd! - by vitinhosamp - 20.08.2018, 03:18

Forum Jump:


Users browsing this thread: 1 Guest(s)