• Страница 1 из 1
  • 1
Модератор форума: admin, TweIk  
Анти флуд
adminДата: Пятница, 29.10.2010, 02:46:55 | Сообщение # 1

Группа: Администраторы
Сообщений: 3869
Урок по созданию анти флуда на время если игрок слишком часто отправляет сообшения то эта функция его заткнет на 20 сек
в верху пишем

Code
    new Muted[MAX_PLAYERS];
     new Spamcounter[MAX_PLAYERS][2];
     new mute0;
     #define ANTI_SPAM 1
     #define SPAM_MESSAGES 2
     #define SPAM_TIMELIMIT 1  

в
Code
public OnPlayerText(playerid, text[])

Code

         #if ANTI_SPAM
             SpamProtection(playerid);
         #endif
         new string[256];

         if(Muted[playerid] == 1)
         {
         SendClientMessage(playerid, COLOR_YELLOW, "Âû íå ìîæåòå ãîâîðèòü, âû çàòêíóòû!");
         return 0;
         }  

В низу вписываем
Code

     stock SpamProtection(playerid)
     {
             new string[64];
             if(Spamcounter[playerid][0] == 0) { Spamcounter[playerid][1] = TimeStamp(); }

             Spamcounter[playerid][0]++;
             if(TimeStamp() - Spamcounter[playerid][1] > SPAM_TIMELIMIT)
             {
                 Spamcounter[playerid][0] = 1;
                 Spamcounter[playerid][1] = TimeStamp();
             }
             else if(Spamcounter[playerid][0] == SPAM_MESSAGES)
             {
     //              Mute[playerid] = 1;
     //            mutetime[playerid] += 20;
                 mute0 = SetTimerEx("PlayerUnMute",20000,0,"d",playerid);
                 format(string,sizeof(string)," *** %s заткнут на 20 секунд(Флуд)",oGetPlayerName(playerid));
                 SendClientMessageToAll(0xC8BEBEAA,string);
                 Muted[playerid] = 1;
             }
             return 1;
     }

и
Code

     forward PlayerUnMute(playerid);
     public PlayerUnMute(playerid)
     {
         new string[256];
         new playrname[MAX_PLAYER_NAME];
         GetPlayerName(playerid, playrname, sizeof(playrname));
         Muted[playerid] = 0;
         format(string, sizeof(string), "Вы разоткнуты.", playrname);
         SendClientMessage(playerid,COLOR_YELLOW, string);
         return 1;
     }

Code

     stock oGetPlayerName(playerid)
     {
         new name[MAX_PLAYER_NAME];
         GetPlayerName(playerid, name, sizeof (name));
         return name;
     }

Code

     stock TimeStamp()
     {
         new time = GetTickCount()/1000;
         return time;
     }  


zm-jail.ru

Разработка сайта samp-pawno.ru


 
СообщениеУрок по созданию анти флуда на время если игрок слишком часто отправляет сообшения то эта функция его заткнет на 20 сек
в верху пишем

Code
    new Muted[MAX_PLAYERS];
     new Spamcounter[MAX_PLAYERS][2];
     new mute0;
     #define ANTI_SPAM 1
     #define SPAM_MESSAGES 2
     #define SPAM_TIMELIMIT 1  

в
Code
public OnPlayerText(playerid, text[])

Code

         #if ANTI_SPAM
             SpamProtection(playerid);
         #endif
         new string[256];

         if(Muted[playerid] == 1)
         {
         SendClientMessage(playerid, COLOR_YELLOW, "Âû íå ìîæåòå ãîâîðèòü, âû çàòêíóòû!");
         return 0;
         }  

В низу вписываем
Code

     stock SpamProtection(playerid)
     {
             new string[64];
             if(Spamcounter[playerid][0] == 0) { Spamcounter[playerid][1] = TimeStamp(); }

             Spamcounter[playerid][0]++;
             if(TimeStamp() - Spamcounter[playerid][1] > SPAM_TIMELIMIT)
             {
                 Spamcounter[playerid][0] = 1;
                 Spamcounter[playerid][1] = TimeStamp();
             }
             else if(Spamcounter[playerid][0] == SPAM_MESSAGES)
             {
     //              Mute[playerid] = 1;
     //            mutetime[playerid] += 20;
                 mute0 = SetTimerEx("PlayerUnMute",20000,0,"d",playerid);
                 format(string,sizeof(string)," *** %s заткнут на 20 секунд(Флуд)",oGetPlayerName(playerid));
                 SendClientMessageToAll(0xC8BEBEAA,string);
                 Muted[playerid] = 1;
             }
             return 1;
     }

и
Code

     forward PlayerUnMute(playerid);
     public PlayerUnMute(playerid)
     {
         new string[256];
         new playrname[MAX_PLAYER_NAME];
         GetPlayerName(playerid, playrname, sizeof(playrname));
         Muted[playerid] = 0;
         format(string, sizeof(string), "Вы разоткнуты.", playrname);
         SendClientMessage(playerid,COLOR_YELLOW, string);
         return 1;
     }

Code

     stock oGetPlayerName(playerid)
     {
         new name[MAX_PLAYER_NAME];
         GetPlayerName(playerid, name, sizeof (name));
         return name;
     }

Code

     stock TimeStamp()
     {
         new time = GetTickCount()/1000;
         return time;
     }  

Автор - admin
Дата добавления - 29.10.2010 в 02:46:55
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

swoysb

(Пятница 14:55:29)

Вверх
09:03:16
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2024

vkontakte :samp-pawno.ru: