[Pedido] [FS] ou [Comandos]
#1

Bom eu tenho uma GM RPG й nela tem sistema de admin com comandos para ver a Staff Online /admins /moderadores /ajudantes enfim queria um cmd ou fs pra camuflar essa pessoa no cmd e nгo aparecer ate que ela digita /disponivel ai aparecera uma msg { adm tal tal esta disponivel pra ajudar } e outro cmd /AdminAfk { o administrador esta indisponivel para ajudar Afk } se for possivel desde ja agredeзo!...
Reply
#2

@EDIT
Cуdigo desnecessario
Reply
#3

Isso й simples;
PHP код:
new ADMON[MAX_PLAYERS] = 0
PHP код:
CMD:disponivel(playeridparams[])
{
    if(
pInfo[playerid][Level] < 1) return SendClientMessage(playerid, ~1,"[ERRO] Vocк nгo tem permissгo para usar esse comando!");
    
ADMON[playerid] = 1;
    
SendClientMessage(playerid, ~1,"[MODO] Vocк entrou no modo disponнvel!");
    return 
1;

PHP код:
CMD:indisponivel(playeridparams[])
{
    if(
pInfo[playerid][Level] < 1) return SendClientMessage(playerid, ~1,"[ERRO] Vocк nгo tem permissгo para usar esse comando!");
    
ADMON[playerid] = 0;
    
SendClientMessage(playerid, ~1,"[MODO] Vocк entrou no modo Indisponнvel!");
    return 
1;

PHP код:
CMD:apagarchat(playeridparams[])
{
    if(
pInfo[playerid][Level] < 1) return SendClientMessage(playerid, ~1,"[ERRO] Vocк nгo tem permissгo para usar esse comando!");
    new 
string[128];
    for(new 
040++) SendClientMessageToAll(-1" ");
    if(
ADMON[playerid] == 1format(stringsizeof(string), "[ADMIN] O administrador %s pagou o chat!"GetName(playerid));
    else 
format(stringsizeof(string), "[ADMIN] O administrador pagou o chat!");
    
SendClientMessageToAll(~1string),
    return 
1;

Basicamente quando o valor de ADMON for 1 ele vai exibir o nome do administrador nos comandos que vocк quiser, quando for 0 nгo vai exibir, mas pra isso vocк tem que colocar if(ADMON[playerid] == 1) else format em todas as mensagens que quiser que tenha a opзгo de ocultar o nome.
Reply
#4

Quote:
Originally Posted by Kanuy
Посмотреть сообщение
Eu faria desta forma jб que pelo visto a GM й baixada
Код:
enum pInfo
{
    pAdmin, // A variavel existente
    aInvisible, // A variavel nova
};
new PlayerInfo[MAX_PLAYERS][pInfo];
O comando para ficar invisivel e visivel
Isso de forma alguma estб pronto e funcional de seu jeito para adaptar!
O comando nгo geta o level em que o admin estб nem coloca ele para qual level estava!

Код:
if(!strcmp("/invesivel",cmdtext,true))
{
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
        PlayerInfo[playerid][pAdmin] = 0; //Ira setar o level de admin para 0 (como jogador normal)
        PlayerInfo[playerid][aInvisible] = 1; // Aqui para ele utilizar os comandos de admins (Mudar verificaзгo de permissгo)
    }
    return 1;
}
if(!strcmp("/vesivel",cmdtext,true))
{
    if(PlayerInfo[playerid][aInvisible] >= 1)
    {
        PlayerInfo[playerid][pAdmin] = 1; //Seta a ele level 1 de admin novamente
        PlayerInfo[playerid][aInvisible] = 0; //Seta a 0 o modo invisivel
    }
    return 1;
}
Substituir a verificaзгo dos comandos administrativos (permissхes para quem usar)
Код:
if(!strcmp("/anunciar",cmdtext,true)) 
{
    if(PlayerInfo[playerid][pAdmin] >= 1)//como estaria o comando apenas para admins
    {
        //...
        //...
    }
    return 1;
}
if(!strcmp("/anunciar",cmdtext,true)) 
{
    if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][aInvisible] >= 1) //comando para admins ou para admin invisivel
    {
        //...
        //...
    }
    return 1;
}
@off dei f6 pra compilar o code no navegador
Entгo eu adicionei o cmd porem deu erro numa parte da gm que esta certa...

Cуdigo que adicionei...

Код:
	if(strcmp(cmd, "/indisponivel", true) == 0) {
	{
    if(PlayerInfo[playerid][pAdmin] == 1)
     {
        PlayerInfo[playerid][pAdmin] = 0; //Ira setar o level de admin para 0 (como jogador normal)
        PlayerInfo[playerid][aInvisible] = 1; // Aqui para ele utilizar os comandos de admins (Mudar verificaзгo de permissгo)
    	SendClientMessage( playerid, COLOR_ERRO, "( R.V ) Modo Afk/Ocupado Ativado" );
        format(string, sizeof(string), "( R.V ) O Ajudante %s(%d) Esta Indisponivel Para Ajudar!. (Motivo: Afk/Ocupado)", PlayerName(playerid));
	    SendClientMessageToAll( COLOR_BRANCO, string );
    }
    return 1;
    }
Reply
#5

Quote:
Originally Posted by Dishz
Посмотреть сообщение
Isso й simples;
PHP код:
new ADMON[MAX_PLAYERS] = 0
PHP код:
CMD:disponivel(playeridparams[])
{
    if(
pInfo[playerid][Level] < 1) return SendClientMessage(playerid, ~1,"[ERRO] Vocк nгo tem permissгo para usar esse comando!");
    
ADMON[playerid] = 1;
    
SendClientMessage(playerid, ~1,"[MODO] Vocк entrou no modo disponнvel!");
    return 
1;

PHP код:
CMD:indisponivel(playeridparams[])
{
    if(
pInfo[playerid][Level] < 1) return SendClientMessage(playerid, ~1,"[ERRO] Vocк nгo tem permissгo para usar esse comando!");
    
ADMON[playerid] = 0;
    
SendClientMessage(playerid, ~1,"[MODO] Vocк entrou no modo Indisponнvel!");
    return 
1;

PHP код:
CMD:apagarchat(playeridparams[])
{
    if(
pInfo[playerid][Level] < 1) return SendClientMessage(playerid, ~1,"[ERRO] Vocк nгo tem permissгo para usar esse comando!");
    new 
string[128];
    for(new 
040++) SendClientMessageToAll(-1" ");
    if(
ADMON[playerid] == 1format(stringsizeof(string), "[ADMIN] O administrador %s pagou o chat!"GetName(playerid));
    else 
format(stringsizeof(string), "[ADMIN] O administrador pagou o chat!");
    
SendClientMessageToAll(~1string),
    return 
1;

Basicamente quando o valor de ADMON for 1 ele vai exibir o nome do administrador nos comandos que vocк quiser, quando for 0 nгo vai exibir, mas pra isso vocк tem que colocar if(ADMON[playerid] == 1) else format em todas as mensagens que quiser que tenha a opзгo de ocultar o nome.
A Mesma coisa vocк copila da erro na GM na parte certa...
Reply
#6

Vou te falar uma coisa... se vocк usar isso aqui PlayerInfo[playerid][pAdmin] = 0; ele seta a variбvel do adm pra 0, entгo ele passa a nгo ser mais adm, logo nгo vai poder usar os comandos de adm.

pra que setar o adm level 0 sendo que jб tem isso PlayerInfo[playerid][aInvisible] = 1; use isso nos comando / mensagens.. vocк disse que queria ocultar os staff do /admins, entгo use isso nos comandos /admins /moderadores, nгo precisa voltar a variбvel de admin do player pra 0

-
edit: posta o erro.. O que eu passei estб praticamente pronto.
Reply
#7

Quote:
Originally Posted by Dishz
Посмотреть сообщение
Vou te falar uma coisa... se vocк usar isso aqui PlayerInfo[playerid][pAdmin] = 0; ele seta a variбvel do adm pra 0, entгo ele passa a nгo ser mais adm, logo nгo vai poder usar os comandos de adm.

pra que setar o adm level 0 sendo que jб tem isso PlayerInfo[playerid][aInvisible] = 1; use isso nos comando / mensagens.. vocк disse que queria ocultar os staff do /admins, entгo use isso nos comandos /admins /moderadores, nгo precisa voltar a variбvel de admin do player pra 0

-
edit: posta o erro.. O que eu passei estб praticamente pronto.
O Erro...

Код:
\gamemodes\BRV.pwn(3475) : error 017: undefined symbol "strtok"
\gamemodes\BRV.pwn(3476) : error 017: undefined symbol "strtok"
\gamemodes\BRV.pwn(3477) : error 017: undefined symbol "strtok"
\gamemodes\BRV.pwn(3478) : error 017: undefined symbol "strtok"
\gamemodes\BRV.pwn(3479) : error 017: undefined symbol "strtok"
\gamemodes\BRV.pwn(3480) : error 017: undefined symbol "strtok"
\gamemodes\BRV.pwn(3481) : error 017: undefined symbol "strtok"
\gamemodes\BRV.pwn(3482) : error 017: undefined symbol "strtok"
\gamemodes\BRV.pwn(3483) : error 017: undefined symbol "strtok"
\gamemodes\BRV.pwn(3484) : error 017: undefined symbol "strtok"
\gamemodes\BRV.pwn(3485) : error 017: undefined symbol "strtok"
\gamemodes\BRV.pwn(3487) : error 017: undefined symbol "AddHouse"

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


26 Errors.
Sendo que o lugar aonde deu esse erro esta totalmente certo, ao tirar oq adicionei copila normalmente...
Reply
#8

Vocк colocou 3 { abrindo, por isso deu erro... use
PHP код:
if(strcmp(cmd"/indisponivel"true) == 0
{
    
    if(
PlayerInfo[playerid][pAdmin] == 1)
    {
        
        
PlayerInfo[playerid][pAdmin] = 0//Ira setar o level de admin para 0 (como jogador normal)
        
PlayerInfo[playerid][aInvisible] = 1// Aqui para ele utilizar os comandos de admins (Mudar verificaзгo de permissгo)
        
SendClientMessageplayeridCOLOR_ERRO"( R.V ) Modo Afk/Ocupado Ativado" );
        
format(stringsizeof(string), "( R.V ) O Ajudante %s(%d) Esta Indisponivel Para Ajudar!. (Motivo: Afk/Ocupado)"PlayerName(playerid));
        
SendClientMessageToAllCOLOR_BRANCOstring );
    }
    return 
1;

Reply
#9

Quote:
Originally Posted by Dishz
Посмотреть сообщение
Vocк colocou 3 { abrindo, por isso deu erro... use
PHP код:
if(strcmp(cmd"/indisponivel"true) == 0
{
    
    if(
PlayerInfo[playerid][pAdmin] == 1)
    {
        
        
PlayerInfo[playerid][pAdmin] = 0//Ira setar o level de admin para 0 (como jogador normal)
        
PlayerInfo[playerid][aInvisible] = 1// Aqui para ele utilizar os comandos de admins (Mudar verificaзгo de permissгo)
        
SendClientMessageplayeridCOLOR_ERRO"( R.V ) Modo Afk/Ocupado Ativado" );
        
format(stringsizeof(string), "( R.V ) O Ajudante %s(%d) Esta Indisponivel Para Ajudar!. (Motivo: Afk/Ocupado)"PlayerName(playerid));
        
SendClientMessageToAllCOLOR_BRANCOstring );
    }
    return 
1;

deu certo porem alguns erros

Код:
\gamemodes\BRV.pwn(26498) : error 033: array must be indexed (variable "pAdmin")
\gamemodes\BRV.pwn(26501) : error 033: array must be indexed (variable "pAdmin")
\gamemodes\BRV.pwn(26502) : error 033: array must be indexed (variable "aInvisible")
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


3 Errors.
Reply
#10

Mude
PHP код:
PlayerInfo[playerid][pAdmin] = 0
PlayerInfo[playerid][aInvisible] = 1
para
PHP код:
if(PlayerInfo[playerid][pAdmin] == 0
if(
PlayerInfo[playerid][aInvisible] == 1
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)