PDA

View Full Version : [Ajuda] Nicks sendo trocados no OnPlayerText


Yaan.Mx
22/07/2012, 01:43 PM
Boas.

Estou codando um gamemode do 0 mas está com um bug..

Quando um jogador digita no chat, ele tá com o nick de outra pessoa, as vezes todos que estão no server ficam com o nick de uma pessoa, ai do nada muda pra outro nick.. Isso ocorre só no OnPlayerText, no TAB e em comandos o nick fica normal..

Callback:

public OnPlayerText(playerid, text[])
{
if(Flooder[playerid] == 1)
{
SendClientMessage(playerid, -1, "{FF4500}| ANTI-FLOOD | Você está calado.");
return 0;
}
IsFlooding[playerid]++;
if(!IsPlayerAdmin(playerid))
{
if(strlen(text) == strlen(szPlayerChatMsg[playerid]) && !strcmp(szPlayerChatMsg[playerid], text, false))
{
SendClientMessage(playerid, -1, "{FF4500}| ANTI-FLOOD | Não repita a mesma mensagem");
format(szPlayerChatMsg[playerid], 128, "%s", text);
return 0;
}
}
if(IsFlooding[playerid] >= 3)
{
IsFlooding[playerid] = 0;
Flooder[playerid] = 1;
format(String, sizeof(String), "{FF4500}| ANTI-FLOOD | O jogador %s foi calado por 45 segundos.", PlayerName(playerid));
SendClientMessageToAll(-1, String);
SetTimerEx("LiberarChat", 45000, false, "i", playerid);
return 0;
}
else
{
SetTimerEx("SemFlood", 2000, false, "i", playerid);
}

format(String, sizeof(String), "%s [%d]: {FFFFFF}%s", nome, playerid, text);
SendClientMessageToAll(GetPlayerColor(playerid), String);
return 0;
}

Dolby
22/07/2012, 01:47 PM
public OnPlayerText(playerid, text[])
{
if(Flooder[playerid] == 1)
{
SendClientMessage(playerid, -1, "{FF4500}| ANTI-FLOOD | Você está calado.");
return 0;
}
IsFlooding[playerid]++;
if(!IsPlayerAdmin(playerid))
{
if(strlen(text) == strlen(szPlayerChatMsg[playerid]) && !strcmp(szPlayerChatMsg[playerid], text, false))
{
SendClientMessage(playerid, -1, "{FF4500}| ANTI-FLOOD | Não repita a mesma mensagem");
format(szPlayerChatMsg[playerid], 128, "%s", text);
return 0;
}
}
if(IsFlooding[playerid] >= 3)
{
IsFlooding[playerid] = 0;
Flooder[playerid] = 1;
format(String, sizeof(String), "{FF4500}| ANTI-FLOOD | O jogador %s foi calado por 45 segundos.", PlayerName(playerid));
SendClientMessageToAll(-1, String);
SetTimerEx("LiberarChat", 45000, false, "i", playerid);
return 0;
}
else
{
SetTimerEx("SemFlood", 2000, false, "i", playerid);
}


GetPlayerName(playerid,nome,24);
format(String, sizeof(String), "%s [%d]: {FFFFFF}%s", nome, playerid, text);
SendClientMessageToAll(GetPlayerColor(playerid), String);
return 0;
}

Yaan.Mx
22/07/2012, 02:03 PM
Obrigado Gustavo, não tenho com quem testar, mas acho que vai dar certo. Esqueci o GetPlayerName, é isso? hehe