Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Один из множества вариантов использования функции ScanMessage()
- Copyright (c) 2015 Untonyst
- */
- ///////////////////////////
- forward uCallKick(playerid);
- public uCallKick(playerid)
- {
- Kick(playerid);
- }
- stock fix_Kick(playerid)
- {
- if (0 == IsPlayerConnected(playerid))
- return 0;
- SetTimerEx("uCallKick", 200, false, "i", playerid);
- return 1;
- }
- #if defined _ALS_Kick
- #undef Kick
- #else
- #define _ALS_Kick
- #endif
- #define Kick fix_Kick
- ///////////////////////////
- static const
- white_list[][] =
- {
- "vk.com",
- "sa-mp.com"
- };
- static const
- black_list[][] =
- {
- ".ru",
- ".ру",
- ".рy",
- ".com",
- ".ком",
- ".кам",
- ".net",
- ".нет",
- ".нэт",
- ".org",
- ".орг",
- ".орк",
- ".su",
- ".су",
- ".online",
- ".онлайн",
- ".онлаин",
- ".анлайин"
- };
- RemoveSpaces_DC(string[])
- {
- static pos, pos2, c;
- for (pos = 0, pos2 = 0;; ++pos)
- {
- switch (c = string[pos])
- {
- case ' ': continue;
- case '\0':
- {
- string[pos2] = '\0';
- return;
- }
- }
- string[pos2++] = c;
- }
- }
- stock ScanMessage(playerid, text[])
- {
- new default_text[144];
- strcat(default_text, text);
- RemoveSpaces_DC(default_text);
- new text_size = strlen(default_text);
- for (new j; j < text_size; j ++)
- {
- for (new k; k < sizeof(white_list); k ++)
- {
- if (strfind(default_text[j], white_list[k], true) != -1)
- return 1;
- }
- for (new k; k < sizeof(black_list); k ++)
- if (strfind(default_text[j], black_list[k], true) != -1)
- {
- OnBannedWordDetect(playerid, black_list[k]);
- return 0;
- }
- }
- return 1;
- }
- forward OnBannedWordDetect(playerid, text[]);
- public OnBannedWordDetect(playerid, text[])
- {
- SendClientMessage(playerid, -1, "На сервере запрещено указывать ссылки сторонних ресурсов!");
- Kick(playerid);
- }
- public OnPlayerText(playerid, text[])
- {
- if (ScanMessage(playerid, text) == 0)
- return 0;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement