Guest User

Untitled

a guest
Jan 17th, 2014
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.47 KB | None | 0 0
  1. /*
  2. Filterscript by Maurice.
  3. Bitte benutzt es nicht als euers
  4. */
  5. #include <a_samp>
  6. #include <a_mysql>
  7. #include <ocmd>
  8. #include <sscanf2>
  9.  
  10. #define SQL_HOST ""
  11. #define SQL_USER ""
  12. #define SQL_PASS ""
  13. #define SQL_DATA ""
  14.  
  15.  
  16. enum SPAM
  17. {
  18. pCmdspam,
  19. pChatspam,
  20. pChatmuted
  21. }
  22. new Spam[MAX_PLAYERS][SPAM];
  23. forward ChatSpam(playerid);
  24.  
  25. public OnFilterScriptInit()
  26. {
  27. print("\n--------------------------------------");
  28. print("Anti Spam / CMD + Log system by Maurice.");
  29. print("--------------------------------------\n");
  30. MySQL_Connect();
  31. mysql_query("CREATE TABLE IF NOT EXISTS `logs` (`id` int(11) AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
  32. mysql_query("ALTER TABLE `logs` ADD `Name` varchar(64)");
  33. mysql_query("ALTER TABLE `logs` ADD `Grund` varchar(64)");
  34. mysql_query("ALTER TABLE `logs` ADD `Datum` varchar(64)");
  35. mysql_query("ALTER TABLE `logs` ADD `Uhrzeit` varchar(64)");
  36.  
  37. return 1;
  38. }
  39.  
  40. public OnFilterScriptExit()
  41. {
  42. return 1;
  43. }
  44.  
  45. public OnPlayerText(playerid, text[])
  46. {
  47. new name[40];
  48. GetPlayerName(playerid,name,sizeof(name));
  49. Spam[playerid][pChatspam]++;
  50. if(Spam[playerid][pChatspam] == 3)
  51. {
  52. new pID,Grund[128] = "Chat-Spam",query[128];
  53. new name2[MAX_PLAYER_NAME];
  54. Spam[playerid][pChatmuted] = 1;
  55. GetPlayerName(pID,name2,sizeof(name2));
  56. LogsSpeichern(name2,Grund);
  57. SendClientMessage(playerid,-1,"CHAT SPAM 3/3");
  58. format(query,sizeof(query),"INSERT TO logs (Grund) VALUES ('%s')",Grund);
  59. mysql_query(query);
  60. Kick(playerid);
  61. return 0;
  62. }
  63. if(Spam[playerid][pChatmuted]==1)
  64. {
  65. SendClientMessage(playerid,-1,"Du hast gespamt du kannst erst in 1-2 Minuten wieder schreiben.");
  66. SetTimerEx("ChatSpam",15000,0,"i",playerid);
  67. }
  68. return 1;
  69. }
  70.  
  71. public ChatSpam(playerid)
  72. {
  73. Spam[playerid][pChatmuted] = 0;
  74. return 1;
  75. }
  76.  
  77. public OnPlayerCommandText(playerid, cmdtext[])
  78. {
  79. new name[40];
  80. GetPlayerName(playerid,name,sizeof(name));
  81. Spam[playerid][pCmdspam]++;
  82. if(Spam[playerid][pCmdspam] == 3)
  83. {
  84. new pID,Grund[128] = "CMD-Spam",query[128];
  85. new name2[MAX_PLAYER_NAME];
  86. Spam[playerid][pChatmuted] = 1;
  87. GetPlayerName(pID,name2,sizeof(name2));
  88. LogsSpeichern(name2,Grund);
  89. SendClientMessage(playerid,-1,"CMD SPAM 3/3");
  90. format(query,sizeof(query),"INSERT TO logs (Grund) VALUES ('%s')",Grund);
  91. mysql_query(query);
  92. Kick(playerid);
  93. return 0;
  94. }
  95. if(Spam[playerid][pChatmuted]==1)
  96. {
  97. SendClientMessage(playerid,-1,"Du hast gespamt du kannst erst in 1-2 Minuten wieder schreiben.");
  98. SetTimerEx("ChatSpam",15000,0,"i",playerid);
  99. }
  100. return 0;
  101. }
  102.  
  103. ocmd:kick(playerid,params[])
  104. {
  105. new pID,Grund[128] = "Kick",query[128];
  106. new name2[MAX_PLAYER_NAME];
  107. GetPlayerName(pID,name2,sizeof(name2));
  108. LogsSpeichern(name2,Grund);
  109. format(query,sizeof(query),"INSERT TO logs (Grund) VALUES ('%s')",Grund);
  110. mysql_query(query);
  111. return 1;
  112. }
  113.  
  114. ocmd:ban(playerid,params[])
  115. {
  116. new pID,Grund[128] = "Ban",query[128];
  117. new name2[MAX_PLAYER_NAME];
  118. GetPlayerName(pID,name2,sizeof(name2));
  119. LogsSpeichern(name2,Grund);
  120. format(query,sizeof(query),"INSERT TO logs (Grund) VALUES ('%s')",Grund);
  121. mysql_query(query);
  122. return 1;
  123. }
  124.  
  125. stock LogsSpeichern(name[MAX_PLAYER_NAME],grund[128])
  126. {
  127. new date[14],time[8];
  128. new th,tm,ts,dy,dm,dd;
  129. getdate(dy,dm,dd);
  130. format(date,sizeof(date),"%02d.%02d.%02d",dd,dm,dy);
  131. gettime(th,tm,ts);
  132. format(time,sizeof(time),"%02d:%02d:%02d",th,tm,ts);
  133. new query[512];
  134. format(query,sizeof(query),"INSERT INTO logs (Name,Grund,Datum,Uhrzeit) VALUES ('%s','%s','%s','%s')", name, grund, date, time);
  135. mysql_query(query);
  136. return 1;
  137. }
  138.  
  139. stock MySQL_Connect()
  140. {
  141. mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
  142. if(mysql_ping() == 1)
  143. {
  144. print("Verbindung zur Datenbank wurde erfolgreich hergestellt!");
  145. return true;
  146. }
  147. else
  148. {
  149. print("Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  150. print("Es wird erneut versucht eine Verbindung zur Datenbank herzustellen!");
  151. mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
  152. if(mysql_ping() == 1)
  153. {
  154. print("Es konnte im 2 Versuch eine Verbindung hergestellt werden!");
  155. return true;
  156. }
  157. else
  158. {
  159. print("Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  160. print("Der Server wird nun beendet!");
  161. SendRconCommand("exit");
  162. return true;
  163. }
  164. }
  165. }
Advertisement
Add Comment
Please, Sign In to add comment