Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Wklejka i9bs9vzjql8 dodana przez Misiaczek ;c, 12.03.2014 11:14
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236.
#if defined _check_player_included #endinput #endif #define _check_player_included #include <amxmodx> #include <amxmisc> #include <sqlx> public prebanned_check(id) { id -= 204 if(!get_user_state(id, PDATA_CONNECTED) || get_user_state(id, PDATA_BOT) || get_user_state(id, PDATA_IMMUNITY) || !get_pcvar_num(pcvar_show_prebanned)) { return PLUGIN_HANDLED } new pquery[512] formatex(pquery, 511, "SELECT COUNT(*) FROM `%s%s` WHERE ((`player_id` = '%s' AND `ban_type` = 'S') OR (`player_ip` = '%s' AND `ban_type` = 'SI')) AND `expired` = '1';", g_dbPrefix, TBL_BANS, playerData[id][playerSteamid], playerData[id][playerIp]) new data[1] data[0] = id return SQL_ThreadQuery(g_SqlX, "prebanned_check_", pquery, data, 1) } public prebanned_check_(failstate, Handle:query, error[], errnum, data[], size) { new id = data[0] if (failstate) { new szQuery[256] MySqlX_ThreadError( szQuery, error, errnum, failstate, 16 ) return PLUGIN_HANDLED } new ban_count=SQL_ReadResult(query, 0) if(ban_count < get_pcvar_num(pcvar_show_prebanned_num)) return PLUGIN_HANDLED new name[32], player_steamid[35], player_ip[20]; get_user_authid(id, player_steamid, 34) get_user_name(id, name, 31) get_user_ip(id, player_ip, 19, 1) for(new i=1;i<=plnum;i++) { if(is_user_bot(i) || is_user_hltv(i) || !is_user_connected(i) || i==id) continue if(get_user_flags(i) & ADMIN_CHAT) { ColorChat(i, RED, "[AMXBans] ^x01%L",i, "PLAYER_BANNED_BEFORE", name, player_ip, player_steamid, ban_count) } } log_amx("[AMXBans] %L",LANG_SERVER, "PLAYER_BANNED_BEFORE", name, player_ip, player_steamid, ban_count) return PLUGIN_HANDLED } public check_player_(failstate, Handle:query, const error[], errornum, const data[], size, Float:queuetime) { if(failstate) { return SQL_Error(query, error, errornum, failstate) } new id = data[0] if(!SQL_NumResults(query) || is_user_disconnected(id)) { return SQL_FreeHandle(query) } new ban_reason[128], admin_nick[100], admin_steamid[50], admin_ip[30], ban_type[4] new player_nick[50], player_steamid[50], player_ip[30], server_name[100], server_ip[30] new bid = SQL_ReadResult(query, 0) new ban_created = SQL_ReadResult(query, 1) new ban_length_int = SQL_ReadResult(query, 2) * 60 SQL_ReadResult(query, 3, ban_reason, 127) SQL_ReadResult(query, 4, admin_nick, 99) SQL_ReadResult(query, 5, admin_steamid, 49) SQL_ReadResult(query, 6, admin_ip, 29) SQL_ReadResult(query, 7, player_nick, 49) SQL_ReadResult(query, 8, player_steamid, 49) SQL_ReadResult(query, 9, player_ip, 29) SQL_ReadResult(query, 10, server_name, 99) SQL_ReadResult(query, 11, server_ip, 29) SQL_ReadResult(query, 12, ban_type, 3) SQL_FreeHandle(query) if(get_pcvar_num(pcvar_debug) >= 1) { log_amx("[AMXBans] Player Check on Connect:^nbid: %d ^nwhen: %d ^nlenght: %d ^nreason: %s ^nadmin: %s ^nadminsteamID: %s ^nPlayername %s ^nserver: %s ^nserverip: %s ^nbantype: %s", bid, ban_created, ban_length_int, ban_reason, admin_nick, admin_steamid, player_nick, server_name, server_ip, ban_type) } new current_time_int = get_systime(get_pcvar_num(pcvar_offset)) if((ban_length_int == 0) || (ban_created == 0) || ((ban_created + ban_length_int) > current_time_int)) { new complain_url[256] get_pcvar_string(pcvar_complainurl, complain_url, 255) client_cmd(id, "echo ^"[AMXBans] ===============================================^"") new show_activity = get_pcvar_num(pcvar_activity) if(get_user_flags(id) & get_admin_mole_access_flag() || id == 0) { show_activity = 1 } switch(show_activity) { case 1: { client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_9") } case 2: { client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_8", admin_nick) } case 3: { if(is_user_admin(id)) { client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_8", admin_nick) } else { client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_9") } } case 4: { if(is_user_admin(id)) { client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_8", admin_nick) } } case 5: { if(is_user_admin(id)) { client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_9") } } } if(ban_length_int == 0) { client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_10") } else { new cTimeLength[128] new iSecondsLeft = (ban_created + ban_length_int - current_time_int) get_time_length(id, iSecondsLeft, timeunit_seconds, cTimeLength, 127) client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_12", cTimeLength) } replace_all(complain_url, 255, "http://", "") client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_13", player_nick) client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_2", ban_reason) client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_7", complain_url) client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_4", player_steamid) client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_5", player_ip) client_cmd(id, "echo ^"[AMXBans] ===============================================^"") if(get_pcvar_num(pcvar_debug) >= 1) { log_amx("[AMXBans] BID:<%d> Player:<%s> <%s> connected and got kicked, because of an active ban", bid, player_nick, player_steamid) } if(get_pcvar_num(pcvar_debug) >= 1) { new id_str[3] num_to_str(id, id_str, 3) log_amx("[AMXBans] Delayed Kick-TASK ID1: <%d> ID2: <%s>", id, id_str) } add_kick_to_db(bid) set_task(1.0, "delayed_kick", id + 200) return PLUGIN_HANDLED } else { client_cmd(id, "echo ^"[AMXBans] %L^"", id, "MSG_11") new pquery[256] formatex(pquery, 255, "UPDATE `%s%s` SET `expired` = '1' WHERE `bid` = '%d';", g_dbPrefix, TBL_BANS, bid) SQL_ThreadQuery(g_SqlX, "insert_to_banhistory", pquery) if(get_pcvar_num(pcvar_debug) >= 1) { log_amx("[AMXBans] PRUNE BAN: %s", pquery) } } return PLUGIN_HANDLED } public insert_to_banhistory(failstate, Handle:query, const error[], errornum, const data[], size, Float:queuetime) { if(failstate) { return SQL_Error(query, error, errornum, failstate) } return SQL_FreeHandle(query) } public add_kick_to_db(bid) { new pquery[256] formatex(pquery, 255, "UPDATE `%s%s` SET `ban_kicks` = `ban_kicks` + 1 WHERE `bid` = '%d';", g_dbPrefix, TBL_BANS, bid) return SQL_ThreadQuery(g_SqlX, "_add_kick_to_db", pquery) } public _add_kick_to_db(failstate, Handle:query, const error[], errornum, const data[], size, Float:queuetime) { if(failstate) { return SQL_Error(query, error, errornum, failstate) } return SQL_FreeHandle(query) }
Dodanych wklejek: 11179
Powered By (Pav32) Pastebin © 2011