[GameMode] ByFly GTA: SA GangWar
#15

PHP Code:
public OnPlayerText(playerid, text[])
{
    if(!
PlayerInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_BORDO, "Чтобы писать в чат, необходимо залогиниться!"), 0;
    if(
PlayerInfo[playerid][pMute]) return SendClientMessage(playerid, COLOR_RED, "Вы не можете писать в чат, Вы заглушены!"), 0;
    if(
PlayerInfo[playerid][pFloodTime] > gettime())
    {
        
PlayerInfo[playerid][pFloodCount]++;
        if(
PlayerInfo[playerid][pFloodCount] >= 3)
        {
            static 
string[145];
            
format(string, sizeof string, "%s(ID: %d) был кикнут. Причина: Спам", PlayerInfo[playerid][pName], playerid);
            
SendClientMessageToAll(COLOR_BORDO, string);
            
Kick2(playerid);
            return 
0;
        }
        else if(
PlayerInfo[playerid][pFloodCount] >= 2) SendClientMessage(playerid, COLOR_RED, "АнтиСпам предупреждение! Дальше кик.");
        else 
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Администрация: не флуди!");
        return 
0;
    }
    if(
ContainsAnyIP(text))
    {
        static 
string[145];
        
format(string, sizeof string, "SERVER: %s(%d) забанен на сервере. Причина: реклама", PlayerInfo[playerid][pName], playerid);
        
SendClientMessageToAll(COLOR_BORDO, string);
        
Ban2(playerid);
        return 
0;
    }
    for(new 
s, i, pos, start, end; s < sizeof Swears; s++)
    {
        
pos = -1;
        while((
pos = strfuzzyfind(text, Swears[s], pos + 1, start, end)) != -1)
        {
            for(
i = end; i >= start; --i) text[i] = '*';
        }
    }
    if(
PlayerInfo[playerid][pCaps]) UpperToLower(text);
    
PlayerInfo[playerid][pFloodTime] = gettime() + 1;
    if(
IsEmptyMessage(text)) return 0;
    if(
text[0] == '!')
    {
        if(
IsEmptyMessage(text[1])) return 0;
        static 
string[145];
        if(
PlayerInfo[playerid][pGang])
        {
            
format(string, sizeof string, "* Чат банды %s >> от %s: %s", GName[PlayerInfo[playerid][pGang]], PlayerInfo[playerid][pName], text[1]);
            
SendClientMessageToGang(PlayerInfo[playerid][pGang], GetPlayerColor(playerid), string);
        }
        else
        {
            
format(string, sizeof string, "* Чат банды %s >> от %s: %s", DefaultGangNames[PlayerInfo[playerid][pTeam]], PlayerInfo[playerid][pName], text[1]);
            
SendClientMessageToTeam(PlayerInfo[playerid][pTeam], GetPlayerColor(playerid), string);
        }
        return 
0;
    }
    if(
text[0] == '#' && IsPlayerAdminEx(playerid, 1))
    {
        if(
IsEmptyMessage(text[1])) return 0;
        static 
string[145];
        
format(string, sizeof string, "* Админский чат: %s: %s", PlayerInfo[playerid][pName], text[1]);
        
SendClientMessageToAdmins(COLOR_LIME, string);
        return 
0;
    }
    if(
PlayerInfo[playerid][pGang] && GTag[PlayerInfo[playerid][pGang]])
    {
        static 
string[145];
        
format(string, sizeof string, "[%s]%s(%d): {FFFFFF}%s", GName[PlayerInfo[playerid][pGang]], PlayerInfo[playerid][pName], playerid, text);
        
SendClientMessageToAll(GetPlayerColor(playerid), string);
        return 
0;
    }
    static 
string[145];
    
format(string, sizeof string, "(%d): %s", playerid, text);
    
SendPlayerMessageToAll(playerid, string);
    return 
0;
} 
А зачем static string, а не new?)

Quote:

"SERVER: %s(%d) забанен на сервере. Причина: реклама"

Фигово банить за рекламу сразу. Лучше блокировать сообщение, или чат отключать автоматом на n-минут.
ContainsAnyIP - это вроде MX_Master делал, в ней есть баг, всё равно можно написать текст так, что система ложно подумает, что это ип, => иногда забаниться не виновный игрок.

Quote:

Немного доработан антимат

Спустя много времени я пришёл к выводу, что антимат бесполезен для сервера. А если ещё антимат ложно срабатывает, то это беда. Например у меня на серве разрешено материться, но запрещено оскорблядь. Когда надо админы мутируют игроков по желанию на 5-30 минут. И всё - нет проблем.
Reply


Messages In This Thread
ByFly GTA: SA GangWar - by OstGot - 12.03.2016, 19:20
Re: ByFly GTA: SA GangWar - by Diman777 - 12.03.2016, 21:42
Re: ByFly GTA: SA GangWar - by Romz - 13.03.2016, 00:20
Re: ByFly GTA: SA GangWar - by OstGot - 13.03.2016, 07:56
Re: ByFly GTA: SA GangWar - by OstGot - 15.03.2016, 12:15
Re: ByFly GTA: SA GangWar - by OstGot - 18.03.2016, 18:02
Re: ByFly GTA: SA GangWar - by OstGot - 21.03.2016, 12:54
Re: ByFly GTA: SA GangWar - by OstGot - 28.03.2016, 16:23
Re: ByFly GTA: SA GangWar - by TheMallard - 15.04.2016, 09:06
Re: ByFly GTA: SA GangWar - by OstGot - 04.06.2016, 16:34
Re: ByFly GTA: SA GangWar - by OstGot - 30.07.2016, 20:36
Re: ByFly GTA: SA GangWar - by OstGot - 03.01.2017, 14:37
Re: ByFly GTA: SA GangWar - by Bombo - 03.01.2017, 15:08
Re: ByFly GTA: SA GangWar - by stabker - 03.01.2017, 16:58
Re: ByFly GTA: SA GangWar - by Diman777 - 03.01.2017, 21:17
Re: ByFly GTA: SA GangWar - by OstGot - 16.02.2017, 18:10
Re: ByFly GTA: SA GangWar - by stabker - 17.02.2017, 09:17
Re: ByFly GTA: SA GangWar - by OstGot - 17.02.2017, 20:52
Re: ByFly GTA: SA GangWar - by OstGot - 11.06.2017, 13:33
Re: ByFly GTA: SA GangWar - by OstGot - 01.08.2017, 17:47
Re: ByFly GTA: SA GangWar - by OstGot - 16.12.2017, 21:45
Re: ByFly GTA: SA GangWar - by OstGot - 15.01.2018, 11:02
Re: ByFly GTA: SA GangWar - by OstGot - 16.01.2018, 10:39

Forum Jump:


Users browsing this thread: 1 Guest(s)