Advertisement
Vagrant

VAA V. 2.0 by Vagrant

May 16th, 2011
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.45 KB | None | 0 0
  1. #include <a_samp>
  2. /* Defs */
  3. /*
  4. VAA 0 - Changes the IP address but not the kick advertised.
  5. VAA 1 - Changes the IP address to advertising and later kick advertised.
  6. VAA 2 - Changes the IP address to advertising bans and later advertised.
  7. VAA 3 - To find the IP address in the message Kick.
  8. VAA 4 - When you are in communication IP addresses banned.
  9. */
  10. #define VAA 0  // Modes 0 through 4
  11. #define LANG 'А'..'я' /* Replace the large letters on a big first letter of the alphabet of your language and the second letter, replace the small and the last letter of your alphabet. */
  12. #define MAX_IPR 10 /* The maximum number of ads followed by a change in the advertised IP to the new invalid IP address. */
  13. #define MAX_KB_IPR 10 /* The maximum number of ads followed by a kick / ban advertised */
  14. #define KICK_MSG "[{006CFF}VAA{FFFFFF}]: [%d]%s {006CFF}kicked for the advertising server!" /* Post players server (player whose scat message does not see) */
  15. #define BAN_MSG "[{006CFF}VAA{FFFFFF}]: [%d]%s {006CFF}baned for the advertising server!"   /* Post players server (player whose scat message does not see) */
  16. /* Massive */
  17. #if VAA < 3
  18. new Oldip[13], Newip[13];
  19. #endif
  20. new IPReklama[MAX_PLAYERS];
  21. public OnFilterScriptInit()
  22. {
  23.     print("\n--------------------------------------------");
  24.     print("Vagrant Anti-Advertise Version 2.0 by Vagrant");
  25.     print("[ENG] Version.");
  26.     print("--------------------------------------------\n");
  27.     return 1;
  28. }
  29.  
  30. public OnFilterScriptExit()
  31. {
  32.     return 1;
  33. }
  34.  
  35. public OnPlayerText(playerid, text[])
  36. {
  37.     #if VAA == 0 /* If #define VAA 0 - Change IP in the derivation MAX_IPR (Standard - 10) posts */
  38.     if(strfind(text,GetStrIP(text),true) != -1)
  39.     {
  40.         if(IPReklama[playerid] == 0) IPAdressAnother(text,Oldip,sizeof(Oldip),Newip,sizeof(Newip));
  41.         if(strcmp(Oldip,GetStrIP(text),true) == 0)
  42.         {
  43.                 VAA0:
  44.             new ns = strfind(text,Oldip,true);
  45.         strdel(text,ns,ns+strlen(Oldip));
  46.         strins(text,Newip,ns,sizeof(Newip));
  47.         IPReklama[playerid]++;
  48.         if(IPReklama[playerid] == MAX_IPR) IPReklama[playerid] = 0;
  49.         }
  50.         else
  51.         {
  52.             IPAdressAnother(text,Oldip,sizeof(Oldip),Newip,sizeof(Newip));
  53.             goto VAA0;
  54.         }
  55.     }
  56.     #elseif VAA == 1 /* If #define VAA 1 - Change IP in the derivation MAX_KB_IPR (Standard - 10) posts and Kick */
  57.     if(strfind(text,GetStrIP(text),true) != -1)
  58.     {
  59.         if(IPReklama[playerid] == 0) IPAdressAnother(text,Oldip,sizeof(Oldip),Newip,sizeof(Newip));
  60.         if(strcmp(Oldip,GetStrIP(text),true) == 0)
  61.         {
  62.             VAA1:
  63.             new ns = strfind(text,Oldip,true);
  64.             strdel(text,ns,ns+strlen(Oldip));
  65.             strins(text,Newip,ns,sizeof(Newip));
  66.             IPReklama[playerid]++;
  67.             if(IPReklama[playerid] == MAX_KB_IPR)
  68.             {
  69.                 IPReklama[playerid] = 0;
  70.                 new vaanam[MAX_PLAYER_NAME];
  71.                 GetPlayerName(playerid,vaanam,sizeof(vaanam));
  72.                 Kick(playerid);
  73.                 new varmsg[128];
  74.                 format(varmsg,sizeof(varmsg),KICK_MSG,playerid,vaanam); // Kick Message
  75.                 SendClientMessageToAll(0xFFFFFFAA,varmsg);
  76.             }
  77.         }
  78.         else
  79.         {
  80.             IPAdressAnother(text,Oldip,sizeof(Oldip),Newip,sizeof(Newip));
  81.             goto VAA1;
  82.         }
  83.     }
  84.     #elseif VAA == 2 /* If #define VAA 2 - Change IP in the derivation MAX_KB_IPR (Standard - 10) and Ban messages */
  85.     if(strfind(text,GetStrIP(text),true) != -1)
  86.     {
  87.         if(IPReklama[playerid] == 0) IPAdressAnother(text,Oldip,sizeof(Oldip),Newip,sizeof(Newip));
  88.         if(strcmp(Oldip,GetStrIP(text),true) == 0)
  89.         {
  90.             VAA2:
  91.             new ns = strfind(text,Oldip,true);
  92.             strdel(text,ns,ns+strlen(Oldip));
  93.             strins(text,Newip,ns,sizeof(Newip));
  94.             IPReklama[playerid]++;
  95.             if(IPReklama[playerid] == MAX_KB_IPR)
  96.             {
  97.                 IPReklama[playerid] = 0;
  98.                 new vaanam[MAX_PLAYER_NAME];
  99.                 GetPlayerName(playerid,vaanam,sizeof(vaanam));
  100.                 Ban(playerid);
  101.                 new varmsg[128];
  102.                 format(varmsg,sizeof(varmsg),BAN_MSG,playerid,vaanam); // Ban Message
  103.                 SendClientMessageToAll(0xFFFFFFAA,varmsg);
  104.             }
  105.         }
  106.         else
  107.         {
  108.             IPAdressAnother(text,Oldip,sizeof(Oldip),Newip,sizeof(Newip));
  109.             goto VAA2;
  110.         }
  111.     }
  112.     #elseif VAA == 3 /* If #define VAA 3 - In finding the IP address in the message Kick */
  113.     if(strfind(text,GetStrIP(text),true) != -1)
  114.     {
  115.         IPReklama[playerid] = 0;
  116.         new vaanam[MAX_PLAYER_NAME];
  117.         GetPlayerName(playerid,vaanam,sizeof(vaanam));
  118.         Kick(playerid);
  119.         new varmsg[128];
  120.         format(varmsg,sizeof(varmsg),KICK_MSG,playerid,vaanam); // Kick Message
  121.         SendClientMessageToAll(0xFFFFFFAA,varmsg);
  122.         return 0;
  123.     }
  124.     #elseif VAA == 4 /* If #define VAA 4 - In finding the IP address in the message Ban */
  125.     if(strfind(text,GetStrIP(text),true) != -1)
  126.     {
  127.         new vaanam[MAX_PLAYER_NAME];
  128.         GetPlayerName(playerid,vaanam,sizeof(vaanam));
  129.         Ban(playerid);
  130.         new varmsg[128];
  131.         format(varmsg,sizeof(varmsg),BAN_MSG,playerid,vaanam); // Ban Message
  132.         SendClientMessageToAll(0xFFFFFFAA,varmsg);
  133.         return 0;
  134.     }
  135.     #endif
  136.     return 1;
  137. }
  138.  
  139. public OnPlayerDisconnect(playerid, reason)
  140. {
  141.     IPReklama[playerid] = 0;
  142.     return 1;
  143. }
  144.  
  145. stock IPAdressAnother(const string[],oldip[],oldiplen,newip[],newiplen)
  146. {
  147.     new IP[6];
  148.     IP[0] = -1,
  149.     IP[1] = -1,
  150.     IP[2] = -1;
  151.     for(new t=-1,c[3],x=strlen(string),j=0,i=0;i!=x;i++)
  152.     switch(string[i])
  153.     {   /* Characters standing between the numbers instead of */
  154.         case '.','*','_','^','#','№','&','<','>','|',' ',',','-','=','+','%','$','!','@','(',')','[',']','{','}','\"','\'','/','A'..'Z','a'..'z',LANG:
  155.         {
  156.             if(t == 0 || t == 1) { j = 0; IP[t] = strval(c); c[0] = '\0'; c[1] = '\0'; c[2] = '\0'; }
  157.             t++;
  158.             IP[t+3] = string[i];
  159.             if((string[i+1] >= '0' && string[i+1] <= '9') && (string[i-1] >= '0' && string[i-1] <= '9')) continue;
  160.             else t=-1;
  161.         }
  162.         case '0'..'9':
  163.         {
  164.             if(t == -1) continue;
  165.             c[j]=string[i];
  166.             j++;
  167.             if(t == 2)
  168.             {
  169.                 if(string[i+1] >= '0' && string[i+1] <= '9') continue;
  170.                 if((j == 1 || j == 2 || j == 3) && (IP[0] != -1 && IP[1] != -1 && IP[2] == -1))
  171.                 {
  172.                     IP[t] = strval(c);
  173.                     c[0] = '\0'; c[1] = '\0'; c[2] = '\0';
  174.                     j = 0;
  175.                     t = -1;
  176.                     break;
  177.                 }
  178.             }
  179.         }
  180.         default:
  181.         {
  182.             j = 0;
  183.             t = -1;
  184.             IP[0] = -1,
  185.             IP[1] = -1,
  186.             IP[2] = -1,
  187.             IP[3] = '\0',
  188.             IP[4] = '\0',
  189.             IP[5] = '\0';
  190.         }
  191.     }
  192.     format(oldip,oldiplen,"%c%d%c%d%c%d",IP[3],IP[0],IP[4],IP[1],IP[5],IP[2]);
  193.  
  194.     for(new i2=0;i2!=3;i2++)
  195.     switch(IP[i2])
  196.     {
  197.         case 0..6: { IP[i2] += random(2)+1; continue; }
  198.         case 7..9: { IP[i2] -= random(5)+1; continue; }
  199.         case 10..16: { IP[i2] += random(2)+1; continue; }
  200.         case 17..19: { IP[i2] -= random(5)+1; continue; }
  201.         case 20..26: { IP[i2] += random(2)+1; continue; }
  202.         case 27..29: { IP[i2] -= random(5)+1; continue; }
  203.         case 30..36: { IP[i2] += random(2)+1; continue; }
  204.         case 37..39: { IP[i2] -= random(5)+1; continue; }
  205.         case 40..46: { IP[i2] += random(2)+1; continue; }
  206.         case 47..49: { IP[i2] -= random(5)+1; continue; }
  207.         case 50..56: { IP[i2] += random(2)+1; continue; }
  208.         case 57..59: { IP[i2] -= random(5)+1; continue; }
  209.         case 60..66: { IP[i2] += random(2)+1; continue; }
  210.         case 67..69: { IP[i2] -= random(5)+1; continue; }
  211.         case 70..76: { IP[i2] += random(2)+1; continue; }
  212.         case 77..79: { IP[i2] -= random(5)+1; continue; }
  213.         case 80..86: { IP[i2] += random(2)+1; continue; }
  214.         case 87..89: { IP[i2] -= random(5)+1; continue; }
  215.         case 90..96: { IP[i2] += random(2)+1; continue; }
  216.         case 97..99: { IP[i2] -= random(5)+1; continue; }
  217.         case 100..106: { IP[i2] += random(2)+1; continue; }
  218.         case 107..109: { IP[i2] -= random(5)+1; continue; }
  219.         case 110..116: { IP[i2] += random(2)+1; continue; }
  220.         case 117..119: { IP[i2] -= random(5)+1; continue; }
  221.         case 120..126: { IP[i2] += random(2)+1; continue; }
  222.         case 127..129: { IP[i2] -= random(5)+1; continue; }
  223.         case 130..136: { IP[i2] += random(2)+1; continue; }
  224.         case 137..139: { IP[i2] -= random(5)+1; continue; }
  225.         case 140..146: { IP[i2] += random(2)+1; continue; }
  226.         case 147..149: { IP[i2] -= random(5)+1; continue; }
  227.         case 150..156: { IP[i2] += random(2)+1; continue; }
  228.         case 157..159: { IP[i2] -= random(5)+1; continue; }
  229.         case 160..166: { IP[i2] += random(2)+1; continue; }
  230.         case 167..169: { IP[i2] -= random(5)+1; continue; }
  231.         case 170..176: { IP[i2] += random(2)+1; continue; }
  232.         case 177..179: { IP[i2] -= random(5)+1; continue; }
  233.         case 180..186: { IP[i2] += random(2)+1; continue; }
  234.         case 187..189: { IP[i2] -= random(5)+1; continue; }
  235.         case 190..196: { IP[i2] += random(2)+1; continue; }
  236.         case 197..199: { IP[i2] -= random(5)+1; continue; }
  237.         case 200..206: { IP[i2] += random(2)+1; continue; }
  238.         case 207..209: { IP[i2] -= random(5)+1; continue; }
  239.         case 210..216: { IP[i2] += random(2)+1; continue; }
  240.         case 217..219: { IP[i2] -= random(5)+1; continue; }
  241.         case 220..226: { IP[i2] += random(2)+1; continue; }
  242.         case 227..229: { IP[i2] -= random(5)+1; continue; }
  243.         case 230..236: { IP[i2] += random(2)+1; continue; }
  244.         case 237..239: { IP[i2] -= random(5)+1; continue; }
  245.         case 240..246: { IP[i2] += random(2)+1; continue; }
  246.         case 247..249: { IP[i2] -= random(5)+1; continue; }
  247.         case 250..252: { IP[i2] += random(2)+1; continue; }
  248.         case 253..255: { IP[i2] -= random(4)+1; continue; }
  249.     }
  250.     format(newip,newiplen,"%c%d%c%d%c%d",IP[3],IP[0],IP[4],IP[1],IP[5],IP[2]);
  251. }
  252.  
  253. stock GetStrIP(const string[])
  254. {
  255.     new IP[6];
  256.     IP[0] = -1,
  257.     IP[1] = -1,
  258.     IP[2] = -1;
  259.     for(new t=-1,c[3],x=strlen(string),j=0,i=0;i!=x;i++)
  260.     switch(string[i])
  261.     {   /* Characters standing between the numbers instead of */
  262.         case '.','*','_','^','#','№','&','<','>','|',' ',',','-','=','+','%','$','!','@','(',')','[',']','{','}','\"','\'','/','A'..'Z','a'..'z',LANG:
  263.         {
  264.             if(t == 0 || t == 1) { j = 0; IP[t] = strval(c); c[0] = '\0'; c[1] = '\0'; c[2] = '\0'; }
  265.             t++;
  266.             IP[t+3] = string[i];
  267.             if((string[i+1] >= '0' && string[i+1] <= '9') && (string[i-1] >= '0' && string[i-1] <= '9')) continue;
  268.             else t=-1;
  269.         }
  270.         case '0'..'9':
  271.         {
  272.             if(t == -1) continue;
  273.             c[j] = string[i];
  274.             j++;
  275.             if(t == 2)
  276.             {
  277.                 if(string[i+1] >= '0' && string[i+1] <= '9') continue;
  278.                 if((j == 1 || j == 2 || j == 3) && (IP[0] != -1 && IP[1] != -1 && IP[2] == -1))
  279.                 {
  280.                     IP[t] = strval(c);
  281.                     c[0] = '\0'; c[1] = '\0'; c[2] = '\0';
  282.                     j = 0;
  283.                     t = -1;
  284.                     break;
  285.                 }
  286.             }
  287.         }
  288.         default:
  289.         {
  290.             j = 0;
  291.             t = -1;
  292.             IP[0] = -1,
  293.             IP[1] = -1,
  294.             IP[2] = -1,
  295.             IP[3] = '\0',
  296.             IP[4] = '\0',
  297.             IP[5] = '\0';
  298.         }
  299.     }
  300.     new strip[13];
  301.     format(strip,sizeof(strip),"%c%d%c%d%c%d",IP[3],IP[0],IP[4],IP[1],IP[5],IP[2]);
  302.     return strip;
  303. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement