[size=32]● [/size]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 novos pararem de copiar, é muito mais fácil de usar por ser mais compacto;
Exemplos:
● Í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 novos pararem de copiar, é muito mais fácil de usar por ser mais compacto;
Exemplos:
Código do peão:
- Código:
CMD : oi ( playerid )
{
return 1 ;
}
Faça o que
Código do peão:
- Código:
if ( strcmp ( cmd, "/oi" , verdadeiro ) == 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.
Vamos criar um comando com variáveis.
Código do peão:
- Código:
nova Oi;
Código do peão:
- Código:
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" ) ;
retornar 1 ;
}
Oi = 1 ; //Se a variável Oi for diferente de 1, ele vai seta-la para 1
return 1 ;
}
Bom esta parte é fácil, vamos usar ZCMD com parâmetros, eu aprendi sozinho depois estudei e vi que não é difícil,
vamos la
adicionado no topo do seu gm/fs
vamos la
adicionado no topo do seu gm/fs
Código do peão:
- Código:
novo nome de jogador [ MAX_PLAYER_NAME ] ;
Código do peão:
- Código:
CMD : pegargrana ( playerid, params [ ] )
{
new String [ 128 ] , playername [ 25 ] ;
if ( isnull ( params ) )
return SendClientMessage ( playerid, - 1 , "Usar: /pegargrana valor" ) ;
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 ) ;
retornar 1 ;
}
Vamos as explicações
Código do peão:
- Código:
if ( isnull ( params ) )
return SendClientMessage ( playerid, - 1 , "Use: /dargrana valor" ) ;
isnull = Nulo
params = Como você já ouviu, no zcmd, params é o que vem depois do comando digitado. Ou seja, seu objetivo é definir um valor.
params = Como você já ouviu, no zcmd, params é o que vem depois do comando digitado. Ou seja, seu objetivo é definir um valor.
Código do peão:
- Código:
GivePlayerMoney ( iddele, params ) ; // seta para o recebedor o params que é o dinheiro
iddele = o Objetivo, o id do jogador 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
Código do peão:
- Código:
CMD : setlevel ( playerid, params [ ] )
{
new iddele,level;
if ( sscanf ( params, "dd" , iddele, nível ) )
return SendClientMessage ( playerid, COR_CINZA1, "Use: /setlevel [id] [nível]" ) ;
if ( ! IsPlayerConnected ( iddele ) )
return SendClientMessage ( playerid, COR_CINZA2, "Jogador não conectado" ) ;
SetPlayerScore( idlele, nível ) ;
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 ) ;
formato ( String, 80 ,"O Administrador %s definiu seu nível para %d" , playername, level ) ;
SendClientMessage ( iddele, COR_AZULCLARO, String ) ;
retornar 1 ;
}
• Explicando
if(!IsPlayerConnected(iddele)) // !IsPlayerConnected , nгo esta conectado,(iddele) , o recebedor
"dd" oque significa dd - 1є d = O ID Do player que recebeб, o 2є й oo level dado.
SetPlayerScore(iddele, nível); // iddele , id do player, "level" level setado
if(!IsPlayerConnected(iddele)) // !IsPlayerConnected , nгo esta conectado,(iddele) , o recebedor
"dd" oque significa dd - 1є d = O ID Do player que recebeб, o 2є й oo level dado.
SetPlayerScore(iddele, nível); // iddele , id do player, "level" level setado
Código do peão:
- Código:
CMD : irpos ( playerid, params [ ] )
{
new Float : X, Float : Y, Float : Z; //Posições XYZ
GetPlayerName ( iddele, playername1, sizeof ( playername1 ) ) ;
if ( sscanf ( params, "ddd" , X, Y,Z ) ) //Se nгo enviar XYZ no /irpos retorna a mensagem abaixo
return SendClientMessage ( playerid, COR_CINZA1,"USE: /irpos [X] [Y] [Z]" ) ;
SetPlayerPos ( playerid,X,Y,Z ) ; //define 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 ) ;
retornar 1 ;
}
● Créditos ●
• Zeex (ZCMD)
• Y_Less (sscanf)
• Wellington1999