[DUVIDA] Opзхes de Chat [DUVIDA]
#1

Bom estou fazendo um GameMode simples de drift so que estou com um duvida estou querendo fazer sistema de chat diferente por exemplo:
(FnA pra quem nao sabe й 1 clan de drift que tem por ai, nao e o meu somente estou citando como exemplo)

/FnA (texto)

[FnA] => Player: Falou

e por ai vai... queria saber o que estou fazendo de errado...

Code:
 
if (strcmp("/FnA", cmdtext, true, 10) == 0)
{
       GetPlayerName(playerid,string,sizeof(string));
       format(string,sizeof(string),"[FnA] - %s: %s",string);
       SendClientMessageToAll(Azul,string);
       return 1;
}
Bom se o player digita no caso /fna aparece somente o nick do player queria saber o que preciso colocar no GM pra ele mandar o texto tbm.
Agradeзo desde ja.
Reply
#2

Final do GM:
pawn Code:
strtok(const string[], &index)
{
    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;
    return result;
}
Primeiras linhas da OnPlayerCommandText:
pawn Code:
new string[256], cmd[256], new idx;
cmd = strtok(cmdtext, idx); idx = 0;
Comando:
pawn Code:
if (strcmp(cmd, "/FnA", true) == 0)
    {
        cmd = strtok(cmdtext, idx);
        new length = strlen(cmdtext);
        while ((idx < length) && (cmdtext[idx] <= ' '))
        {
            idx++;
        }
        new offset = idx;
        while ((idx < length) && ((idx - offset) < (sizeof(string) - 1)))
        {
            string[idx - offset] = cmdtext[idx];
            idx++;
        }
        string[idx - offset] = EOS;
        if (!strlen(string)) return SendClientMessage(playerid, Azul, "Utilize: /FnA [Texto]");
        new pNome[24];
        GetPlayerName(playerid, pNome, 24);
        new string2[256];
        format(string2, 128, "[FnA] %s: %s", pNome, string);
        SendClientMessageToAll(Azul, string2);
        return 1;
    }
Reply
#3

Usa esse:

pawn Code:
if(strcmp(cmd, "/FnA", true) == 0)
    {
        GetPlayerName(playerid, pName, sizeof(pName));
        new length = strlen(cmdtext);
        while ((idx < length) && (cmdtext[idx] <= ' '))
        {
            idx++;
        }
        new offset = idx;
        new result[64];
        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
        {
            result[idx - offset] = cmdtext[idx];
            idx++;
        }
        result[idx - offset] = EOS;
        if(!strlen(result))
        {
            SendClientMessage(playerid, COR_ERRO, "[Comando Fail] Uso: /FnA [Texto]");
            return 1;
        }
        format(string, sizeof(string), "[FaA]%s diz: %s", pName, result);
        SendClientMessageToAll(0xFF00AA,string);
        return 1;
    }
Edit:

Fail o manolo de cima /\ mandou mais rapido .-.
Reply
#4

Ou assim...

pawn Code:
if (strcmp("/FnA", cmdtext, true, 10) == 0)
{
       GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
}
    new offset = idx;
    new result[64];
    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, "DIGITE /FnA [texto]");
    return 1;
}
       GetPlayerName(playerid,string,sizeof(string));
       format(string,sizeof(string),"[FnA] - %s: %s"sendername,result);
       SendClientMessageToAll(Azul,string);
       return 1;
}
Reply
#5

Agradeзo a todos que me ajudaram agradecimento especial ai para o "Black Sσldiєя" usei seu codigo e ta aqui funfa de boua... brigadгo ai man...
Reply
#6

Com Sscanf
pawn Code:
if(!strcmp(cmdtext,"/Asay", true))
{
   new string[128],Garfield,Nome[24];
   if(sscanf(cmdtext, "s[128]", Garfield))
  {
      format(string, sizeof(string),"[YeaH]%s:%s",GetPlayerName(playerid, Nome, 24), Garfield);
      SendClientMessageToAll(Azul,string);
  }
   return 1;
}
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)