[AJUDA]Chat Adm !!
#1

Tipow! Meu chat adm so vai pra qm ta logado na rcon.. como tiro isso?

CODIGO:

Код:
if(strcmp(cmd,"/ac",true)==0){
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(pAdmin[playerid] == 1 || pAdmin[playerid] == 2 || pAdmin[playerid] == 3 || pAdmin[playerid] == 4 || pAdmin[playerid] == 5){
new tmp[256];
//new msg[256];
strmid(tmp,cmdtext,3,strlen(cmdtext));
if(!strlen(tmp)) {
SendClientMessage(playerid,Vermelho, "(ERRO) Digite: /ac [texto]");
return 1;
} else {
format(string, sizeof(string), "(»)Chat-Admin(«) %s(%d) diz:%s", aname, playerid, tmp);
ABroadCast(Verde,string,1);
return 1;
}
}else{
SendClientMessage(playerid,Vermelho,"(ERRO) Vocк nгo tem permissгo para usar este comando!");
return 1;
}
}
Reply
#2

ABroadCast й a funзгo do chat de admin.


Deve ter um IsPlayerAdmin lб. Й sу tirar.
Reply
#3

Assim й bem mais fбcil, repare:

pawn Код:
if(strcmp(cmd,"/ac",true) == 0)
{
    if(pAdmin[playerid] >= 1)
    {
        text = strtok(cmdtext,idx);
        if(!strlen(text))
        {
            SendClientMessage(playerid,-1,"Digite: /ac [texto]");
            return true;
        }

        format(string,sizeof(string),"%s",text);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(pAdmin[i] >= 1)
            {
                SendClientMessage(i,-1,string);
            }
        }
    }
    else SendClientMessage(playerid,-1,"Sem permissгo.");
    return true;
}
Uma correзгozinha ali, no lugar de 'tmp' й 'text', rs.
Reply
#4

Quote:
Originally Posted by Devastador
Посмотреть сообщение
Assim й bem mais fбcil, repare:

pawn Код:
if(strcmp(cmd,"/ac",true) == 0)
{
    if(pAdmin[playerid] >= 1)
    {
        text = strtok(cmdtext,idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid,-1,"Digite: /ac [texto]");
            return true;
        }

        format(string,sizeof(string),"%s",text);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(pAdmin[i] >= 1)
            {
                SendClientMessage(i,-1,string);
            }
        }
    }
    else SendClientMessage(playerid,-1,"Sem permissгo.");
    return true;
}
Nгo estб faltando muita coisa neste codigo, nгo ? o.o'

PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmd,"/ac",true)==0)
    {
        new 
aname[MAX_PLAYER_NAME];
        
GetPlayerName(playeridanameMAX_PLAYER_NAME);
        new 
length strlen(string);
        while ((
index length) && (string[index] <= ' '))
        {
            
index++;
        }
        new 
offset index;
        new 
result[20];
        while ((
index length) && (string[index] > ' ') && ((index offset) < (sizeof(result) - 1)))
        {
            
result[index offset] = string[index];
            
index++;
        }
        
result[index offset] = EOS;
        if(
pAdmin[playerid] < 1) return SendClientMessage(playerid,Vermelho,"(ERRO) Vocк nгo tem permissгo para usar este comando!");
        if(!
strlen(result)) return SendClientMessage(playerid,Vermelho"(ERRO) Digite: /ac [texto]");
        
format(stringsizeof(string), "(»)Chat-Admin(«) %s(%d) diz:%s"anameplayeridresult);
        for(new 
0GetMaxPlayers(); i++)
        {
            if(
pAdmin[i] < 1) continue;
            
SendClientMessage(iVerdestring);
        }
        return 
1;
    }
    return 
0;

Reply
#5

o text = strtok(cmdtext,idx); estб ali pra isso, se foi isso que vocк perguntou, rs.
Reply
#6

Da forma como vocк fez, somente serб enviado a primeira palavra que o jogador digita.

E alйm do mais, faltou colocar isto:

PHP код:
new text[256], string[128
Reply
#7

ZCMD:

PHP код:
COMMAND:asay(playeridparams[])
{
    new 
Name[24], Msg[128], Message[128];
    
SendAdminText(playerid"/asay"params);
    
GetPlayerName(playeridNamesizeof(Name));
    if (
APlayerData[playerid][LoggedIn] == true)
    {
        if (
APlayerData[playerid][PlayerLevel] > 3)
        {
            if (
sscanf(params"s[128]"Message)) SendClientMessage(playerid0xFF0000AA"Usage: \"/asay <Your Message>\"");
            else
            {
                for (new 
iMAX_PLAYERSi++)
                {
                    if (
APlayerData[i][LoggedIn] == true)
                    {
                        if (
APlayerData[i][PlayerLevel] > 3)
                        {
                            
format(Msg128"Adm chat-->admin{B0B0B0}%s said: {FFFFFF}%s"NameMessage);
                            
SendClientMessage(i0x33AA33AAMsg);
                        }
                    }
                }
            }
        }
        else
            return 
0;
    }
    else
        return 
0;
    return 
1;

estou a tratar do dcmd
Reply
#8

Quote:
Originally Posted by DarkPT
Посмотреть сообщение
pawn Код:
public OnPlayerText(playerid, text[])
{
   if(text[0] == '/' && text[1] == 'a' && text[2] == 'c' && strlen(text) > 3)
   {
      new aname[MAX_PLAYER_NAME];
      GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
      format(file, sizeof(file), PASTA_CONTAS, aname);
   
      if(pAdmin[playerid] < 1 || pAdmin[playerid] > 5)
         return false;
   
      format(string, sizeof(string), "(»)Chat-Admin(«) %s(%d) diz: %s", aname, playerid, text[3]);
      ABroadCast(Verde,string,1);

      return true;
   }
   return false;
}
Acho que quando algum jogador digita um comando, a callback chama й OnPlayerCommandText e nгo OnPlayerText.
Reply
#9

OK! Vou testar todos ai!
Reply
#10

pawn Код:
f( text[0] == '@' && getPlayerAdminLevel(playerid) > 0 )
    {
        new msg[128] , arroba;
        if( sscanf( text , "cs[128]" , arroba , msg ) )
        {
            SendClientMessage( playerid , 0xCACACAFF , "AdminChat: @ [texto]" );
        }
        else
        {
            new send[200];
            IsAdmin(playerid)
            {
                format( send , 200 , "(Admin %d) %s: %s" , getPlayerAdminLevel( playerid ) , getPlayerName( playerid , true ) , msg );
            }
            foreach(Player, i)
            {
                IsAdmin( i )
                {
                    sendLongMessage( i , 0xEE17FFFF , send );
                }
            }
        }
    }
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)