Romanius

AntiReklama with RegEx v0.4

Apr 23rd, 2011
1,732
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.13 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("(((\\w+):\\/\\/)|(www\\.|\\,|))+(([\\w\\.\\,_-]{2,}(\\.|\\,)[\\w]{2,6})|(([\\d]{1,3}(\\b))(\\s+|)(\\.|\\,|\\s)(\\s+|)[\\d]{1,3}(\\s+|)(\\.|\\,|\\s)(\\s+|)[\\d]{1,3}(\\s+|)(\\.|\\,|\\s)(\\s+|)[\\d]{1,3}))(((\\s+|)(\\:|\\;|\\s)(\\s+|)[\\d\\s]{2,}(\\b))|\\b)(\\/[\\w\\&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