SHOW:
|
|
- or go back to the newest paste.
| 1 | #include <a_samp> | |
| 2 | ||
| 3 | enum KindOf | |
| 4 | {
| |
| 5 | pCmdspam, | |
| 6 | pChatspam, | |
| 7 | pChatmuted, | |
| 8 | pCmdmuted | |
| 9 | } | |
| 10 | ||
| 11 | new Spam[MAX_PLAYERS][KindOf]; | |
| 12 | ||
| 13 | ||
| 14 | new str[100]; | |
| 15 | ||
| 16 | public OnFilterScriptInit() | |
| 17 | {
| |
| 18 | print("\n--------------------------------------");
| |
| 19 | print("Jimmy93432||Anti IP/Page ||Anti Spam");
| |
| 20 | print("--------------------------------------\n");
| |
| 21 | SetTimer("ResetSpam",5000,1);
| |
| 22 | return 1; | |
| 23 | } | |
| 24 | public OnPlayerText(playerid, text[]) | |
| 25 | {
| |
| 26 | if(anty(text) && !IsPlayerAdmin(playerid)) | |
| 27 | {
| |
| 28 | format(str,900,"[Server]%s wurde gekickt wegen versuchten spammen einer Werbung (IP/PAGE)",PlayerName(playerid)); | |
| 29 | SendClientMessageToAll(0xFF0000FF, str); | |
| 30 | Kick(playerid); //Wen jmd ein IP/Page spamen will kann man hier entscheiden ob er gekickt oder gebannd wird ;) | |
| 31 | return 0; | |
| 32 | } | |
| 33 | new string[100]; | |
| 34 | new playername[40]; | |
| 35 | GetPlayerName(playerid,playername,40); | |
| 36 | Spam[playerid][pChatspam]++; | |
| 37 | - | if(Spam[playerid][pChatspam] == 5)//Die 5 ist die zahl wie offt jmd den gleichen satz sagen darf ;) |
| 37 | + | if(Spam[playerid][pChatspam] == 3)//Die 3 ist die zahl wie offt jmd den gleichen satz sagen darf ;) |
| 38 | {
| |
| 39 | Spam[playerid][pChatmuted] = 1; | |
| 40 | format(string,sizeof string, "[Server]%s wurde gekickt wegen mehrfachen spams!", playername); | |
| 41 | SendClientMessageToAll(0xFF0000FF,string); | |
| 42 | return 0; | |
| 43 | } | |
| 44 | if(Spam[playerid][pChatmuted]==1) | |
| 45 | {
| |
| 46 | SendClientMessage(playerid,0xFF0000FF,"[Server]Du wurdest gekickt wegen mehrfachen spams!"); | |
| 47 | Kick(playerid);//Wieder die entscheidung was passiert Kickt/bann ect. (bei spamen) | |
| 48 | return 0; | |
| 49 | } | |
| 50 | ||
| 51 | return 1; | |
| 52 | } | |
| 53 | ||
| 54 | ||
| 55 | stock anty(string[]) | |
| 56 | {
| |
| 57 | if(strfind(string,"www.",true)!=-1 || strfind(string,"http://",true)!=-1 || strfind(string,".com",true)!=-1 || strfind(string,".net",true)!=-1 || strfind(string,"91.",true)!=-1 || strfind(string,"195.",true)!=-1 || strfind(string,".pl",true)!=-1|| strfind(string,".org",true)!=-1|| | |
| 58 | strfind(string,"89.",true)!=-1 || strfind(string,"176.",true)!=-1 || strfind(string,":7777",true)!=-1 || strfind(string,"8.",true)!=-1 || strfind(string,"68.",true)!=-1 || strfind(string,"195.",true)!=-1 || strfind(string,"216.",true)!=-1|| strfind(string,"109.",true)!=-1|| | |
| 59 | strfind(string,"37.",true)!=-1 || strfind(string,"95.",true)!=-1 || strfind(string,"77.",true)!=-1 || strfind(string,"174.",true)!=-1 || strfind(string,"202.",true)!=-1 || strfind(string,"212.",true)!=-1 || strfind(string,"188.",true)!=-1|| strfind(string,"31.",true)!=-1|| | |
| 60 | strfind(string,"46.",true)!=-1 || strfind(string,"178.",true)!=-1 || strfind(string,"70.",true)!=-1 || strfind(string,"168.",true)!=-1 || strfind(string,"99.",true)!=-1 || strfind(string,"120.",true)!=-1 || strfind(string,"47.",true)!=-1|| strfind(string,"253.",true)!=-1|| | |
| 61 | strfind(string,"85.",true)!=-1 || strfind(string,"86.",true)!=-1 || strfind(string,"9.",true)!=-1 || strfind(string,"208.",true)!=-1 || strfind(string,"64.",true)!=-1 || strfind(string,"34.",true)!=-1 || strfind(string,"78.",true)!=-1|| strfind(string,"100.",true)!=-1|| | |
| 62 | strfind(string,"182.",true)!=-1 || strfind(string,"82.",true)!=-1 || strfind(string,"164.",true)!=-1 || strfind(string,"23.",true)!=-1 || strfind(string,"101.",true)!=-1 || strfind(string,"0.",true)!=-1 || strfind(string,"79.",true)!=-1|| strfind(string,"235.",true)!=-1|| | |
| 63 | strfind(string,".info",true)!=-1 || strfind(string,".tv",true)!=-1 || strfind(string,".to",true)!=-1 || strfind(string,".ws",true)!=-1 || strfind(string,".de",true)!=-1 || strfind(string,".biz",true)!=-1 || strfind(string,".eu",true)!=-1|| strfind(string,".cc",true)!=-1|| | |
| 64 | strfind(string,"www,",true)!=-1 || strfind(string,"http://",true)!=-1 || strfind(string,",com",true)!=-1 || strfind(string,",net",true)!=-1 || strfind(string,"91,",true)!=-1 || strfind(string,"195,",true)!=-1 || strfind(string,",pl",true)!=-1|| strfind(string,",org",true)!=-1|| | |
| 65 | strfind(string,"89,",true)!=-1 || strfind(string,"176,",true)!=-1 || strfind(string,":7777",true)!=-1 || strfind(string,"8,",true)!=-1 || strfind(string,"68,",true)!=-1 || strfind(string,"195,",true)!=-1 || strfind(string,"216,",true)!=-1|| strfind(string,"109,",true)!=-1|| | |
| 66 | strfind(string,"37,",true)!=-1 || strfind(string,"95,",true)!=-1 || strfind(string,"77,",true)!=-1 || strfind(string,"174,",true)!=-1 || strfind(string,"202,",true)!=-1 || strfind(string,"212,",true)!=-1 || strfind(string,"188,",true)!=-1|| strfind(string,"31,",true)!=-1|| | |
| 67 | strfind(string,"182,",true)!=-1 || strfind(string,"82,",true)!=-1 || strfind(string,"164,",true)!=-1 || strfind(string,"23,",true)!=-1 || strfind(string,"101,",true)!=-1 || strfind(string,"0,",true)!=-1 || strfind(string,"79,",true)!=-1|| strfind(string,"235,",true)!=-1|| | |
| 68 | strfind(string,"1.",true)!=-1 || strfind(string,"29.",true)!=-1||strfind(string,"137.",true)!=-1)//Hier sind die sachen wo er ekennt was passiert IP/PAGE man kann auch noch böse wörter hinzufügen ect ;) | |
| 69 | return true; | |
| 70 | return false; | |
| 71 | } | |
| 72 | ||
| 73 | ||
| 74 | stock PlayerName(playerid) | |
| 75 | {
| |
| 76 | new name[MAX_PLAYER_NAME]; | |
| 77 | GetPlayerName(playerid, name, MAX_PLAYER_NAME); | |
| 78 | return name; | |
| 79 | } | |
| 80 | ||
| 81 | public OnPlayerConnect(playerid) | |
| 82 | {
| |
| 83 | Spam[playerid][pChatspam] = 0; | |
| 84 | Spam[playerid][pCmdspam] = 0; | |
| 85 | Spam[playerid][pChatmuted] = 0; | |
| 86 | Spam[playerid][pCmdmuted] = 0; | |
| 87 | return 1; | |
| 88 | } | |
| 89 | ||
| 90 | public OnPlayerCommandText(playerid, cmdtext[]) | |
| 91 | {
| |
| 92 | new string[100]; | |
| 93 | new playername[40]; | |
| 94 | GetPlayerName(playerid,playername,40); | |
| 95 | Spam[playerid][pCmdspam]++; | |
| 96 | if(Spam[playerid][pCmdspam] == 3)//einstellbar wie oft command spam (zahl 3) | |
| 97 | {
| |
| 98 | Spam[playerid][pCmdmuted] = 1; | |
| 99 | format(string,sizeof string, "[Server]%s wurde gekickt wegen command Spams!", playername); | |
| 100 | SendClientMessageToAll(0xFF0000FF,string); | |
| 101 | SendClientMessage(playerid,0xFF0000FF,"[Server]Du wurdest gekickt wegen (command Spams)!"); | |
| 102 | Kick(playerid); //Wieder die entscheidung was passiert Kickt/bann ect. (bei command spams) | |
| 103 | return 0; | |
| 104 | } | |
| 105 | return 0; | |
| 106 | } | |
| 107 | ||
| 108 | forward ResetSpam(playerid,modus); | |
| 109 | public ResetSpam(playerid,modus) | |
| 110 | {
| |
| 111 | for (new i = 0; i<MAX_PLAYERS; i++) | |
| 112 | {
| |
| 113 | Spam[i][pChatspam] = 0; | |
| 114 | Spam[i][pCmdspam] = 0; | |
| 115 | } | |
| 116 | if(modus == 1) Spam[playerid][pCmdspam] = 0; | |
| 117 | return 1; | |
| 118 | } |