[Ajuda] Erros Chat Admim/Helper
#1

Resolvido !
Reply
#2

vc percebeu que vocк criou o new dentro das chaves de um de seus "if", e vocк esta tentando usar o result fora dessas chaves?
Faзa o new no comeзo do comando, nгo dentro de if, ou else, pois nгo vai funcionar se o comando nгo estiver entre as chaves ( { & } ) que o new esta.
Se vocк nгo entendeu, use esse cуdigo
pawn Код:
if(strcmp(cmd, "/cah", true) == 0 || strcmp(cmd, "/cah1", true) == 0)
    {
           new result[64];
        if(IsPlayerConnected(playerid) && PlayerInfo[playerid][pAdmin] >= 1)
        {
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new length = strlen(cmdtext);
            while ((idx < length) && (cmdtext[idx] <= ' '))
            {
                idx++;
            }
            new offset = idx;
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
                result[idx - offset] = cmdtext[idx];
                idx++;
            }
            result[idx - offset] = EOS;
            if(!strlen(result))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /cah [Chat Admin/Helper]");
                return 1;
            }
            format(string, sizeof(string), "Admin %s diz: %s", sendername, result);
            SendVIPMessage(COR_ADMIN,string);
            printf("Helper %s diz: %s",sendername, result);
     }
                    if(PlayerInfo[playerid][pHelper] >= 1)
  {
            format(string, sizeof(string), "Helper %s diz: %s", sendername, result);
            SendVIPMessage(COLOR_HELPER,string);
            printf("Helper %s diz: %s",sendername, result);
                    }
        return 1;
    }
Vocк criou o new dentro do "IsPlayerConnected", mas vocк tentou usar ele fora do IsPlayerConnected, e isso nгo da certo, pois um dos cуdigos nгo estгo dentro da mesma chaves
Reply
#3

Resolvido !
Reply
#4

Quote:
Originally Posted by Coringa_Vilao
Посмотреть сообщение
tipo assim a new sempre tem que ser primeiro para ser usado por 2 modos de equipe ? se nao entendeu tipo tem que botar a new primeiro para aperecer Helper & Admin ?
Depende de onde vocк for usar, em casos como esse, que vocк usa muitos "if", os "new" devem ser posto no comeзo.
Deixa eu te explicar melhor.


Dentro do if de comparaзao de comandos, vc deve por o new se vc for usar ele em vбrios if's que contenham chave, por que esses if vгo estar dentro da primeira chave que й a chave do comando /cah, se um dos if ter um new ali, mas vocк tentar usar fora da chave em que foi criado, nгo funciona.
Reply
#5

Resolvido !
Reply
#6

Quote:
Originally Posted by Coringa_Vilao
Посмотреть сообщение
Olб usei seu codigo mais nem ta fucionando quando eu falo no /cah ele nao aparece para o outro jogador e aparece para mim assim:

Admin Coringa_HunterS diz: kkkk
Helper Coringa_HunterS diz: kkkk

aparece 2 vezes pq ?
de return 1; antes do if que checa se o cara й um helper
Reply
#7

Resolvido !
Reply
#8

pawn Код:
if(strcmp(cmd, "/cah", true) == 0 || strcmp(cmd, "/cah1", true) == 0)
{
    if(PlayerInfo[playerid][pHelper] == 0 || PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, 0xFF0000FF, "Nгo й admin ou helper");
    new result[64];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
        idx++;
    }
    new offset = idx;
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
        result[idx - offset] = cmdtext[idx];
        idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: /cah [Chat Admin/Helper]");
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
        format(string, sizeof(string), "Admin %s diz: %s", sendername, result);
        SendVIPMessage(COR_ADMIN,string);
        printf("Helper %s diz: %s",sendername, result);
        return 1;
    }
    if(PlayerInfo[playerid][pHelper] >= 1)
    {
        format(string, sizeof(string), "Helper %s diz: %s", sendername, result);
        SendVIPMessage(COLOR_HELPER,string);
        printf("Helper %s diz: %s",sendername, result);
        return 1;
    }
}
Deve funcionar assim...
Reply
#9

Resolvido !
Reply
#10

Resolvido !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)