SA-MP Forums Archive
[Ajuda] Ajuda para criar comando ADM - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Ajuda para criar comando ADM (/showthread.php?tid=601476)

Pages: 1 2


Ajuda para criar comando ADM - ZombieSmash - 21.02.2016

Olб pessoas, vim pedir mais uma ajudinha a vocкs

Й o seguinte, procurei, procurei mas nгo achei como se cria um comando de adm, alguem poderia me dar um exemplo em qualquer comando?
OBS: Nгo uso aquele negocio de colocar CMD em vez de if

@edit Sou novato em pawno, entгo se puderem me ajudar... Desculpe tbm o tanto de ajuda que estou pedindo


Re: Ajuda para criar comando ADM - Derritee1001 - 21.02.2016

Primeiro, veja qual sua funзao do administrador.
Code:
if(strcmp(cmd, "/teste", true) == 0)
{
   	if (PlayerData[playerid][pAdmin] < 1)
	    return SendClientMessage(playerid, -1 "ERRO: Vocк nгo estб autorizado a utilizar este comando.");

        SendClientMessage(playerid, -1, "Vocк testou o comando."); //Sua funзao
        return 1;
}
-1 = COR BRANCA.


Re: Ajuda para criar comando ADM - ZombieSmash - 21.02.2016

Deu um erro olha:

Quote:

(93) : error 017: undefined symbol "PlayerData"
(93) : warning 215: expression has no effect
(93) : error 001: expected token: ";", but found "]"
(93) : error 029: invalid expression, assumed zero
(93) : fatal error 107: too many error messages on one line

Linha 93:
Quote:

if (PlayerData[playerid][pAdmin] > 1)




Re: Ajuda para criar comando ADM - MatheusOliveira - 21.02.2016

Faзa:
Code:
if(strcmp(cmd, "/ban", true) == 0)
{
   	if (IsPlayerAdmin(playerid)) // se ele estiver logado na rcon
        {   

        SendClientMessage(playerid, -1, "Vocк baniu o jogador."); //Funзгo
        } else {
        SendClientMessage(playerid, -1, "Sem permissгo!");
}

        return 1;
}



Re: Ajuda para criar comando ADM - ZombieSmash - 21.02.2016

Quote:
Originally Posted by MatheusOliveira
View Post
Faзa:
Code:
if(strcmp(cmd, "/ban", true) == 0)
{
   	if (IsPlayerAdmin(playerid)) // se ele estiver logado na rcon
        {   

        SendClientMessage(playerid, -1, "Vocк baniu o jogador."); //Funзгo
        } else {
        SendClientMessage(playerid, -1, "Sem permissгo!");
}

        return 1;
}
Tem como mudar isso de Rcon, vou fazer sistema de administraзгo sem rcon


Re: Ajuda para criar comando ADM - MatheusOliveira - 21.02.2016

Tem, apenas vocк mudar a funзгo, exemplo:

Code:
if(strcmp(cmd, "/ban", true) == 0)
{
   	if (admin[playerid] == 1) // se ele estiver logado na rcon
        {   

        SendClientMessage(playerid, -1, "Vocк baniu o jogador."); //Funзгo
        } else {
        SendClientMessage(playerid, -1, "Sem permissгo!");
}

        return 1;
}



Re: Ajuda para criar comando ADM - LockedLucas - 21.02.2016

Aqui

PHP Code:
new Admin[MAX_PLAYERS]; // Topo do gm
CMD:meucomando(playerid)
{
   if(
Admin[playerid] >= 1) return SendClientMessage(playerid, -1,"Voce nгo й admin"); // Verifica se o player й admin 1 ou maior que 1 como 2 3 4 5 6... etc.
   
SendClientMessage(playerid, -1,"Seu comando ta funfando"); // Aqui й o resto do comando, coloquei essa mensagem como exemplo
   
return 1;

Ai pra vocк virar admin usando essa variбvel, fбcil.

PHP Code:
CMD:viraradmin(playerid)
{
   
Admin[playerid] = 1// Vocк pode trocar esse 1 por quanto vocк quiser, 2 3 4 5 6 etc...
   
return 1;




Re: Ajuda para criar comando ADM - ZombieSmash - 21.02.2016

Quote:
Originally Posted by MatheusOliveira
View Post
Tem, apenas vocк mudar a funзгo, exemplo:

Code:
if(strcmp(cmd, "/ban", true) == 0)
{
   	if (admin[playerid] == 1) // se ele estiver logado na rcon
        {   

        SendClientMessage(playerid, -1, "Vocк baniu o jogador."); //Funзгo
        } else {
        SendClientMessage(playerid, -1, "Sem permissгo!");
}

        return 1;
}
Ainda ta dando erro.

Comando:
Quote:

if(strcmp("/ban", cmdtext, true) == 0)
{
if (pAdmin[playerid] == 1);
{
SendClientMessage(playerid, COLOR_AMARELO, "[PBR] Vocк baniu o jogador.");
} else {
SendClientMessage(playerid, COLOR_ERRO, "[ERRO] Comando invбlido!");
}
return 1;
}

Erro:
Quote:

(95) : error 017: undefined symbol "pAdmin"
(95) : warning 215: expression has no effect
(95) : error 001: expected token: ";", but found "]"
(95) : error 029: invalid expression, assumed zero
(95) : fatal error 107: too many error messages on one line

Linha 95:
Quote:

if (pAdmin[playerid] == 1);




Re: Ajuda para criar comando ADM - ZombieSmash - 21.02.2016

Quote:
Originally Posted by LockedLucas
View Post
Aqui

PHP Code:
new Admin[MAX_PLAYERS]; // Topo do gm
CMD:meucomando(playerid)
{
   if(
Admin[playerid] >= 1) return SendClientMessage(playerid, -1,"Voce nгo й admin"); // Verifica se o player й admin 1 ou maior que 1 como 2 3 4 5 6... etc.
   
SendClientMessage(playerid, -1,"Seu comando ta funfando"); // Aqui й o resto do comando, coloquei essa mensagem como exemplo
   
return 1;

Ai pra vocк virar admin usando essa variбvel, fбcil.

PHP Code:
CMD:viraradmin(playerid)
{
   
Admin[playerid] = 1// Vocк pode trocar esse 1 por quanto vocк quiser, 2 3 4 5 6 etc...
   
return 1;

Quando deixo esse comando da mais erros ainda... Serб que vc sabe aquele comando de if sem CMD?


Re: Ajuda para criar comando ADM - LockedLucas - 21.02.2016

Use a include zcmd em vez de strcmp pois й mais rбpido e mais fбcil.

Mas caso vocк queria insistir em strcmp, fica assim os comandos.

PHP Code:
if(strcmp(cmd"/meucomando"true) == 0)

   if(
Admin[playerid] >= 1) return SendClientMessage(playerid, -1,"Voce nгo й admin"); // Verifica se o player й admin 1 ou maior que 1 como 2 3 4 5 6... etc. 
   
SendClientMessage(playerid, -1,"Seu comando ta funfando"); // Aqui й o resto do comando, coloquei essa mensagem como exemplo 
   
return 1

if(
strcmp(cmd"/viraradmin"true) == 0)

   
Admin[playerid] = 1// Vocк pode trocar esse 1 por quanto vocк quiser, 2 3 4 5 6 etc... 
   
return 1




Re: Ajuda para criar comando ADM - ZombieSmash - 21.02.2016

Quote:
Originally Posted by LockedLucas
View Post
Use a include zcmd em vez de strcmp pois й mais rбpido e mais fбcil.

Mas caso vocк queria insistir em strcmp, fica assim os comandos.

PHP Code:
if(strcmp(cmd"/meucomando"true) == 0)

   if(
Admin[playerid] >= 1) return SendClientMessage(playerid, -1,"Voce nгo й admin"); // Verifica se o player й admin 1 ou maior que 1 como 2 3 4 5 6... etc. 
   
SendClientMessage(playerid, -1,"Seu comando ta funfando"); // Aqui й o resto do comando, coloquei essa mensagem como exemplo 
   
return 1

if(
strcmp(cmd"/viraradmin"true) == 0)

   
Admin[playerid] = 1// Vocк pode trocar esse 1 por quanto vocк quiser, 2 3 4 5 6 etc... 
   
return 1

Deu erro:
Quote:

(94) : error 029: invalid expression, assumed zero
(94) : error 017: undefined symbol "cmd_"
(94) : error 017: undefined symbol "ban"
(94) : fatal error 107: too many error messages on one line

Linha 94:
Quote:

CMD:ban(playerid);




Re: Ajuda para criar comando ADM - LucasMts - 21.02.2016

Quote:
Originally Posted by ZombieSmash
View Post
Deu um erro olha:



Linha 93:
Use (IsPlayerAdmin(playerid))


Re: Ajuda para criar comando ADM - ZombieSmash - 21.02.2016

Alguem me ajuda? Preciso instalar o sscanf mas nгo sei onde fica a pasta plugins, nem onde coloca os arquivos


Re: Ajuda para criar comando ADM - LockedLucas - 21.02.2016

A pasta plugins fica na raiz do teu servidor e uma pasta chamada '' plugins '' igual a '' gamemodes '' '' scriptfiles '' etc...


Re: Ajuda para criar comando ADM - ZackT - 21.02.2016

Cara vocк tem que criar a definiзгo pro seu admin por isso estб dando erro.

Ex:

Code:
enum PInfo
{
  Padmin
}
new Player[MAX_PLAYERS][PInfo];

CMD:exemplo(playerid, params[])
{
   if (IsPlayerAdmin(playerid) || Player[playerid][Padmin] >= 1)
   {
      SendClientMessage(playerid, Cinza, "Alguma Coisa");
   }
   return 1;
}



Re: Ajuda para criar comando ADM - ipsLuan - 21.02.2016

Tem experiкncia nenhuma na linguagem, e ainda por cima quer criar uma comunidade dando suporte 24 horas...


Re: Ajuda para criar comando ADM - ZombieSmash - 21.02.2016

Quote:
Originally Posted by ipsLuan
View Post
Tem experiкncia nenhuma na linguagem, e ainda por cima quer criar uma comunidade dando suporte 24 horas...
1° Й uma comunidade e nгo um servidor.
2° Dou suporte para duvidas sobre a comunidade.
3° Vai ativar seu modo crianзa?


Re: Ajuda para criar comando ADM - 1sbedx - 21.02.2016

Jб resolveu seu problema ae amg ? caso nгo :

PHP Code:
enum pInfo
{
    
pAdmin
};
new 
p_Info[MAX_PLAYERS][pInfo];
new 
s_cmd[128]
CMD:daradmin(playeridparams[])
{
    if(
IsPlayerAdmin(playerid))
    {
        
        new 
p_idadm_level;
        if( 
sscanf(params" dd "p_idadm_level ) )
        return 
SendClientMessage(playerid, -1"/daradmin [id][adm level]");
        
p_Info[p_id][pAdmin] = adm_level;
    }
    return 
1;
}
CMD:kick(playeridparams[])
{
    if( 
IsAdmin(playerid1) ) // CMD pra adms de nv = a 1 ou a cima de 1
    
{
        
        new 
p_idk_motivo[128];
        if( 
sscanf(params" ds[128]"p_idk_motivo ) )
        return 
SendClientMessage(playerid, -1"/kick [id] [motivo pelo kick]");
        
format(s_cmdsizeof(s_cmd), "%s foi Kickado pelo Administrador %s, pelo Motivo: %s"p_name(p_id), p_name(playerid), k_motivo);
        
SendClientMessageToAll(-1s_cmd)
        
Kick(p_id);
    }
    return 
1;
}
CMD:dargrana(playeridparams)
{
    if( 
IsAdmin(playerid1) ) // CMD pra adms de nv = a 1 ou a cima de 1
    
{
        
        new 
p_idc_grana;
        if( 
sscanf(params" dd"p_idc_grana ) )
        return 
SendClientMessage(playerid, -1"/dargrana [id] [grana]");
        
GivePlayerMoney(p_idc_grana);
    }
    return 
1;
}
stock p_name(playerid)
{
    new 
Name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNameMAX_PLAYER_NAME);
    return 
Name;
}
stock IsAdmin(playerida_level)
{
    if(
IsPlayerAdmin(playerid) || p_Info[playerid][pAdmin] >= a_level) return 1;
    return 
0;
}
// use if( IsAdmin(playerid, 1) ) {} em todos os comandos dependendo do nv de adm 



Re: Ajuda para criar comando ADM - ZombieSmash - 21.02.2016

Quote:
Originally Posted by 1sbedx
View Post
Jб resolveu seu problema ae amg ? caso nгo :

PHP Code:
enum pInfo
{
    
pAdmin
};
new 
p_Info[MAX_PLAYERS][pInfo];
new 
s_cmd[128]
CMD:daradmin(playeridparams[])
{
    if(
IsPlayerAdmin(playerid))
    {
        
        new 
p_idadm_level;
        if( 
sscanf(params" dd "p_idadm_level ) )
        return 
SendClientMessage(playerid, -1"/daradmin [id][adm level]");
        
p_Info[p_id][pAdmin] = adm_level;
    }
    return 
1;
}
CMD:kick(playeridparams[])
{
    if( 
IsAdmin(playerid1) ) // CMD pra adms de nv = a 1 ou a cima de 1
    
{
        
        new 
p_idk_motivo[128];
        if( 
sscanf(params" ds[128]"p_idk_motivo ) )
        return 
SendClientMessage(playerid, -1"/kick [id] [motivo pelo kick]");
        
format(s_cmdsizeof(s_cmd), "%s foi Kickado pelo Administrador %s, pelo Motivo: %s"p_name(p_id), p_name(playerid), k_motivo);
        
SendClientMessageToAll(-1s_cmd)
        
Kick(p_id);
    }
    return 
1;
}
CMD:dargrana(playeridparams)
{
    if( 
IsAdmin(playerid1) ) // CMD pra adms de nv = a 1 ou a cima de 1
    
{
        
        new 
p_idc_grana;
        if( 
sscanf(params" dd"p_idc_grana ) )
        return 
SendClientMessage(playerid, -1"/dargrana [id] [grana]");
        
GivePlayerMoney(p_idc_grana);
    }
    return 
1;
}
stock p_name(playerid)
{
    new 
Name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNameMAX_PLAYER_NAME);
    return 
Name;
}
stock IsAdmin(playerida_level)
{
    if(
IsPlayerAdmin(playerid) || pAdmin[playerid] >= a_level) return 1;
    return 
0;
}
// use if( IsAdmin(playerid, 1) ) {} em todos os comandos dependendo do nv de adm 
Coloco tudo isso junto? Tentei uma vez e deu erro :/


Re: Ajuda para criar comando ADM - 1sbedx - 21.02.2016

Quote:
Originally Posted by ZombieSmash
View Post
Coloco tudo isso junto? Tentei uma vez e deu erro :/
Tenta :

Topo da GM!

PHP Code:
enum pInfo
{
    
pAdmin
};
new 
p_Info[MAX_PLAYERS][pInfo];
new 
s_cmd[128]; 
Qualquer lugar da GM! (aconselhбvel no final ou meio)

PHP Code:
CMD:daradmin(playeridparams[])
{
    if(
IsPlayerAdmin(playerid))
    {
        
        new 
p_idadm_level;
        if( 
sscanf(params" dd "p_idadm_level ) )
        return 
SendClientMessage(playerid, -1"/daradmin [id][adm level]");
        
p_Info[p_id][pAdmin] = adm_level;
    }
    return 
1;
}
CMD:kick(playeridparams[])
{
    if( 
IsAdmin(playerid1) ) // CMD pra adms de nv = a 1 ou a cima de 1
    
{
        
        new 
p_idk_motivo[128];
        if( 
sscanf(params" ds[128]"p_idk_motivo ) )
        return 
SendClientMessage(playerid, -1"/kick [id] [motivo pelo kick]");
        
format(s_cmdsizeof(s_cmd), "%s foi Kickado pelo Administrador %s, pelo Motivo: %s"p_name(p_id), p_name(playerid), k_motivo);
        
SendClientMessageToAll(-1s_cmd)
        
Kick(p_id);
    }
    return 
1;
}
CMD:dargrana(playeridparams)
{
    if( 
IsAdmin(playerid1) ) // CMD pra adms de nv = a 1 ou a cima de 1
    
{
        
        new 
p_idc_grana;
        if( 
sscanf(params" dd"p_idc_grana ) )
        return 
SendClientMessage(playerid, -1"/dargrana [id] [grana]");
        
GivePlayerMoney(p_idc_grana);
    }
    return 
1;
}
stock p_name(playerid)
{
    new 
Name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNameMAX_PLAYER_NAME);
    return 
Name;
}
stock IsAdmin(playerida_level)
{
    if(
IsPlayerAdmin(playerid) || p_Info[playerid][pAdmin] >= a_level) return 1;
    return 
0;
}
// use if( IsAdmin(playerid, 1) ) {} em todos os comandos dependendo do nv de adm