Приветствую Вас Гость | RSS

Все для SA-MP

Воскресенье, 29.06.2025, 00:26
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Отличный антимат для SA-MP сервера
Подполковник

massa Администраторы

Сообщения:
145
Симпатия:
1
Quote (ZiGGi)
Давным давно хотел написать антимат, но так руки и не доходили, пока не попросили функцию на одном форуме. Этот антимат проверяет строку на запрещённые слова, учитывая исключения(оскорблять, например). Найденные плохие слова заменяет на *(сколько в слове символов, столько и звёздочек).

Исходный код функции:
Code
stock remove_bad_word(text[])
{
    static words[][32] = {"bla","cyk"};
    static exceptions[][32] = {"vobla", "krabla", "mobla","picyk","mucyk"};
       
    new i, j, k, pos, epos, len, epos_buf;
    for (i = 0; i < sizeof(words); i++)
    {
     while ( (pos = strfind(text, words[i], true, pos+1)) != -1 )
     {
      len = strlen(words[i]);
       
      for (j = 0; j < sizeof(exceptions); j++)
      {
       epos = strfind(text, exceptions[j], true, epos+1);
       if ( epos != pos - (strlen(exceptions[j]) - len) )
       {
        epos = epos_buf;
        if (j == sizeof(exceptions)-1)
        {
         for (k = pos; k < pos+len; k++)
         {
          text[k] = '*';
         }
        }
        continue;
       }
       else
       {
        break;
       }
      }
      epos_buf = epos;
     }
    }
}


Пример использования
Code
public OnPlayerText(playerid, text[])
{
    remove_bad_word(text);
    return 1;
}

Автор: ZiGGi


ТРЕБУЮТСЯ МОДЕРАТОРЫ НА ФОРУМ!

 
Нездешний

PWN Пользователи

Сообщения:
4
Симпатия:
-1
ljhGHJ KHGkgqkh qw GKhGga

Добавлено (24.11.2012, 20:31)
---------------------------------------------
ljhGHJ KHGkgqkh qw GKhGgaaA Ga

 
  • Страница 1 из 1
  • 1
Поиск: