[DUVIDA] Opзхes de Chat [RESOLVIDO] -
Dj_Paradox - 05.01.2011
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.
Re: [DUVIDA] Opзхes de Chat [DUVIDA] -
Black Sσldiєя - 05.01.2011
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;
}
Re: [DUVIDA] Opзхes de Chat [DUVIDA] -
[NWD]Jim._.Carrey - 05.01.2011
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 .-.
Re: [DUVIDA] Opзхes de Chat [DUVIDA] -
Macintosh - 05.01.2011
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;
}
Re: [DUVIDA] Opзхes de Chat [DUVIDA] -
Dj_Paradox - 05.01.2011
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...
Respuesta: [DUVIDA] Opзхes de Chat [DUVIDA] -
zSuYaNw - 05.01.2011
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;
}
}