Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- /* Defs */
- /*
- VAA 0 - Changes the IP address but not the kick advertised.
- VAA 1 - Changes the IP address to advertising and later kick advertised.
- VAA 2 - Changes the IP address to advertising bans and later advertised.
- VAA 3 - To find the IP address in the message Kick.
- VAA 4 - When you are in communication IP addresses banned.
- */
- #define VAA 0 // Modes 0 through 4
- #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. */
- #define MAX_IPR 10 /* The maximum number of ads followed by a change in the advertised IP to the new invalid IP address. */
- #define MAX_KB_IPR 10 /* The maximum number of ads followed by a kick / ban advertised */
- #define KICK_MSG "[{006CFF}VAA{FFFFFF}]: [%d]%s {006CFF}kicked for the advertising server!" /* Post players server (player whose scat message does not see) */
- #define BAN_MSG "[{006CFF}VAA{FFFFFF}]: [%d]%s {006CFF}baned for the advertising server!" /* Post players server (player whose scat message does not see) */
- /* Massive */
- #if VAA < 3
- new Oldip[13], Newip[13];
- #endif
- new IPReklama[MAX_PLAYERS];
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------------");
- print("Vagrant Anti-Advertise Version 2.0 by Vagrant");
- print("[ENG] Version.");
- print("--------------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- #if VAA == 0 /* If #define VAA 0 - Change IP in the derivation MAX_IPR (Standard - 10) posts */
- if(strfind(text,GetStrIP(text),true) != -1)
- {
- if(IPReklama[playerid] == 0) IPAdressAnother(text,Oldip,sizeof(Oldip),Newip,sizeof(Newip));
- if(strcmp(Oldip,GetStrIP(text),true) == 0)
- {
- VAA0:
- new ns = strfind(text,Oldip,true);
- strdel(text,ns,ns+strlen(Oldip));
- strins(text,Newip,ns,sizeof(Newip));
- IPReklama[playerid]++;
- if(IPReklama[playerid] == MAX_IPR) IPReklama[playerid] = 0;
- }
- else
- {
- IPAdressAnother(text,Oldip,sizeof(Oldip),Newip,sizeof(Newip));
- goto VAA0;
- }
- }
- #elseif VAA == 1 /* If #define VAA 1 - Change IP in the derivation MAX_KB_IPR (Standard - 10) posts and Kick */
- if(strfind(text,GetStrIP(text),true) != -1)
- {
- if(IPReklama[playerid] == 0) IPAdressAnother(text,Oldip,sizeof(Oldip),Newip,sizeof(Newip));
- if(strcmp(Oldip,GetStrIP(text),true) == 0)
- {
- VAA1:
- new ns = strfind(text,Oldip,true);
- strdel(text,ns,ns+strlen(Oldip));
- strins(text,Newip,ns,sizeof(Newip));
- IPReklama[playerid]++;
- if(IPReklama[playerid] == MAX_KB_IPR)
- {
- IPReklama[playerid] = 0;
- new vaanam[MAX_PLAYER_NAME];
- GetPlayerName(playerid,vaanam,sizeof(vaanam));
- Kick(playerid);
- new varmsg[128];
- format(varmsg,sizeof(varmsg),KICK_MSG,playerid,vaanam); // Kick Message
- SendClientMessageToAll(0xFFFFFFAA,varmsg);
- }
- }
- else
- {
- IPAdressAnother(text,Oldip,sizeof(Oldip),Newip,sizeof(Newip));
- goto VAA1;
- }
- }
- #elseif VAA == 2 /* If #define VAA 2 - Change IP in the derivation MAX_KB_IPR (Standard - 10) and Ban messages */
- if(strfind(text,GetStrIP(text),true) != -1)
- {
- if(IPReklama[playerid] == 0) IPAdressAnother(text,Oldip,sizeof(Oldip),Newip,sizeof(Newip));
- if(strcmp(Oldip,GetStrIP(text),true) == 0)
- {
- VAA2:
- new ns = strfind(text,Oldip,true);
- strdel(text,ns,ns+strlen(Oldip));
- strins(text,Newip,ns,sizeof(Newip));
- IPReklama[playerid]++;
- if(IPReklama[playerid] == MAX_KB_IPR)
- {
- IPReklama[playerid] = 0;
- new vaanam[MAX_PLAYER_NAME];
- GetPlayerName(playerid,vaanam,sizeof(vaanam));
- Ban(playerid);
- new varmsg[128];
- format(varmsg,sizeof(varmsg),BAN_MSG,playerid,vaanam); // Ban Message
- SendClientMessageToAll(0xFFFFFFAA,varmsg);
- }
- }
- else
- {
- IPAdressAnother(text,Oldip,sizeof(Oldip),Newip,sizeof(Newip));
- goto VAA2;
- }
- }
- #elseif VAA == 3 /* If #define VAA 3 - In finding the IP address in the message Kick */
- if(strfind(text,GetStrIP(text),true) != -1)
- {
- IPReklama[playerid] = 0;
- new vaanam[MAX_PLAYER_NAME];
- GetPlayerName(playerid,vaanam,sizeof(vaanam));
- Kick(playerid);
- new varmsg[128];
- format(varmsg,sizeof(varmsg),KICK_MSG,playerid,vaanam); // Kick Message
- SendClientMessageToAll(0xFFFFFFAA,varmsg);
- return 0;
- }
- #elseif VAA == 4 /* If #define VAA 4 - In finding the IP address in the message Ban */
- if(strfind(text,GetStrIP(text),true) != -1)
- {
- new vaanam[MAX_PLAYER_NAME];
- GetPlayerName(playerid,vaanam,sizeof(vaanam));
- Ban(playerid);
- new varmsg[128];
- format(varmsg,sizeof(varmsg),BAN_MSG,playerid,vaanam); // Ban Message
- SendClientMessageToAll(0xFFFFFFAA,varmsg);
- return 0;
- }
- #endif
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- IPReklama[playerid] = 0;
- return 1;
- }
- stock IPAdressAnother(const string[],oldip[],oldiplen,newip[],newiplen)
- {
- new IP[6];
- IP[0] = -1,
- IP[1] = -1,
- IP[2] = -1;
- for(new t=-1,c[3],x=strlen(string),j=0,i=0;i!=x;i++)
- switch(string[i])
- { /* Characters standing between the numbers instead of */
- case '.','*','_','^','#','№','&','<','>','|',' ',',','-','=','+','%','$','!','@','(',')','[',']','{','}','\"','\'','/','A'..'Z','a'..'z',LANG:
- {
- if(t == 0 || t == 1) { j = 0; IP[t] = strval(c); c[0] = '\0'; c[1] = '\0'; c[2] = '\0'; }
- t++;
- IP[t+3] = string[i];
- if((string[i+1] >= '0' && string[i+1] <= '9') && (string[i-1] >= '0' && string[i-1] <= '9')) continue;
- else t=-1;
- }
- case '0'..'9':
- {
- if(t == -1) continue;
- c[j]=string[i];
- j++;
- if(t == 2)
- {
- if(string[i+1] >= '0' && string[i+1] <= '9') continue;
- if((j == 1 || j == 2 || j == 3) && (IP[0] != -1 && IP[1] != -1 && IP[2] == -1))
- {
- IP[t] = strval(c);
- c[0] = '\0'; c[1] = '\0'; c[2] = '\0';
- j = 0;
- t = -1;
- break;
- }
- }
- }
- default:
- {
- j = 0;
- t = -1;
- IP[0] = -1,
- IP[1] = -1,
- IP[2] = -1,
- IP[3] = '\0',
- IP[4] = '\0',
- IP[5] = '\0';
- }
- }
- format(oldip,oldiplen,"%c%d%c%d%c%d",IP[3],IP[0],IP[4],IP[1],IP[5],IP[2]);
- for(new i2=0;i2!=3;i2++)
- switch(IP[i2])
- {
- case 0..6: { IP[i2] += random(2)+1; continue; }
- case 7..9: { IP[i2] -= random(5)+1; continue; }
- case 10..16: { IP[i2] += random(2)+1; continue; }
- case 17..19: { IP[i2] -= random(5)+1; continue; }
- case 20..26: { IP[i2] += random(2)+1; continue; }
- case 27..29: { IP[i2] -= random(5)+1; continue; }
- case 30..36: { IP[i2] += random(2)+1; continue; }
- case 37..39: { IP[i2] -= random(5)+1; continue; }
- case 40..46: { IP[i2] += random(2)+1; continue; }
- case 47..49: { IP[i2] -= random(5)+1; continue; }
- case 50..56: { IP[i2] += random(2)+1; continue; }
- case 57..59: { IP[i2] -= random(5)+1; continue; }
- case 60..66: { IP[i2] += random(2)+1; continue; }
- case 67..69: { IP[i2] -= random(5)+1; continue; }
- case 70..76: { IP[i2] += random(2)+1; continue; }
- case 77..79: { IP[i2] -= random(5)+1; continue; }
- case 80..86: { IP[i2] += random(2)+1; continue; }
- case 87..89: { IP[i2] -= random(5)+1; continue; }
- case 90..96: { IP[i2] += random(2)+1; continue; }
- case 97..99: { IP[i2] -= random(5)+1; continue; }
- case 100..106: { IP[i2] += random(2)+1; continue; }
- case 107..109: { IP[i2] -= random(5)+1; continue; }
- case 110..116: { IP[i2] += random(2)+1; continue; }
- case 117..119: { IP[i2] -= random(5)+1; continue; }
- case 120..126: { IP[i2] += random(2)+1; continue; }
- case 127..129: { IP[i2] -= random(5)+1; continue; }
- case 130..136: { IP[i2] += random(2)+1; continue; }
- case 137..139: { IP[i2] -= random(5)+1; continue; }
- case 140..146: { IP[i2] += random(2)+1; continue; }
- case 147..149: { IP[i2] -= random(5)+1; continue; }
- case 150..156: { IP[i2] += random(2)+1; continue; }
- case 157..159: { IP[i2] -= random(5)+1; continue; }
- case 160..166: { IP[i2] += random(2)+1; continue; }
- case 167..169: { IP[i2] -= random(5)+1; continue; }
- case 170..176: { IP[i2] += random(2)+1; continue; }
- case 177..179: { IP[i2] -= random(5)+1; continue; }
- case 180..186: { IP[i2] += random(2)+1; continue; }
- case 187..189: { IP[i2] -= random(5)+1; continue; }
- case 190..196: { IP[i2] += random(2)+1; continue; }
- case 197..199: { IP[i2] -= random(5)+1; continue; }
- case 200..206: { IP[i2] += random(2)+1; continue; }
- case 207..209: { IP[i2] -= random(5)+1; continue; }
- case 210..216: { IP[i2] += random(2)+1; continue; }
- case 217..219: { IP[i2] -= random(5)+1; continue; }
- case 220..226: { IP[i2] += random(2)+1; continue; }
- case 227..229: { IP[i2] -= random(5)+1; continue; }
- case 230..236: { IP[i2] += random(2)+1; continue; }
- case 237..239: { IP[i2] -= random(5)+1; continue; }
- case 240..246: { IP[i2] += random(2)+1; continue; }
- case 247..249: { IP[i2] -= random(5)+1; continue; }
- case 250..252: { IP[i2] += random(2)+1; continue; }
- case 253..255: { IP[i2] -= random(4)+1; continue; }
- }
- format(newip,newiplen,"%c%d%c%d%c%d",IP[3],IP[0],IP[4],IP[1],IP[5],IP[2]);
- }
- stock GetStrIP(const string[])
- {
- new IP[6];
- IP[0] = -1,
- IP[1] = -1,
- IP[2] = -1;
- for(new t=-1,c[3],x=strlen(string),j=0,i=0;i!=x;i++)
- switch(string[i])
- { /* Characters standing between the numbers instead of */
- case '.','*','_','^','#','№','&','<','>','|',' ',',','-','=','+','%','$','!','@','(',')','[',']','{','}','\"','\'','/','A'..'Z','a'..'z',LANG:
- {
- if(t == 0 || t == 1) { j = 0; IP[t] = strval(c); c[0] = '\0'; c[1] = '\0'; c[2] = '\0'; }
- t++;
- IP[t+3] = string[i];
- if((string[i+1] >= '0' && string[i+1] <= '9') && (string[i-1] >= '0' && string[i-1] <= '9')) continue;
- else t=-1;
- }
- case '0'..'9':
- {
- if(t == -1) continue;
- c[j] = string[i];
- j++;
- if(t == 2)
- {
- if(string[i+1] >= '0' && string[i+1] <= '9') continue;
- if((j == 1 || j == 2 || j == 3) && (IP[0] != -1 && IP[1] != -1 && IP[2] == -1))
- {
- IP[t] = strval(c);
- c[0] = '\0'; c[1] = '\0'; c[2] = '\0';
- j = 0;
- t = -1;
- break;
- }
- }
- }
- default:
- {
- j = 0;
- t = -1;
- IP[0] = -1,
- IP[1] = -1,
- IP[2] = -1,
- IP[3] = '\0',
- IP[4] = '\0',
- IP[5] = '\0';
- }
- }
- new strip[13];
- format(strip,sizeof(strip),"%c%d%c%d%c%d",IP[3],IP[0],IP[4],IP[1],IP[5],IP[2]);
- return strip;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement