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 | } |