Advertisement
Romanius

AntiReklama with RegEx v0.3

Apr 18th, 2011
534
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.16 KB | None | 0 0
  1. #include <a_samp>
  2. #include <regex>
  3.  
  4. #define REPLACE_TEXT " {FF0000}[РЕЛАМА ЗАПРЕЩЕНА]{00FF00} "
  5.  
  6. new RegEx:antiReklama;
  7.  
  8. public OnFilterScriptInit()
  9. {
  10.     antiReklama = regex_build("(((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp|samp):\\/\\/)|(www\\.|\\,|))+(([a-zA-Z0-9\\.\\,_-]+(\\.|\\,)[a-zA-Z]{2,6})|(([0-9]{1,3}(\\b))(\\s+|)(\\.|\\,)(\\s+|)[0-9]{1,3}(\\s+|)(\\.|\\,)(\\s+|)[0-9]{1,3}(\\s+|)(\\.|\\,)(\\s+|)[0-9]{1,3}))(((\\s+|)\\:(\\s+|)[0-9]{2,}(\\b))|\\b)(\\/[a-zA-Z0-9\\&amp;%_\\.\\/-~-]*)?");
  11.  
  12.     if(regex_isvalid(antiReklama))
  13.         printf("Антиреклама by Romanius загружена!");
  14.     else
  15.         printf("Проблемма при загрузке скрипта антирекламы. Проверьте правильность регулярного выражения");
  16.    
  17.     return 1;
  18. }
  19.  
  20. public OnFilterScriptExit()
  21. {
  22.     regex_delete(antiReklama);
  23.    
  24.     printf("Антиреклама by Romanius выгружена!");
  25.    
  26.     return 1;
  27. }
  28.  
  29. public OnPlayerText(playerid, text[])
  30. {
  31.     new message[256];
  32.    
  33.     regex_replace_exid(text, antiReklama, REPLACE_TEXT, message);
  34.    
  35.     SendPlayerMessageToAll(playerid, message);
  36.    
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement