<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://hlds.pl/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
		<id>http://hlds.pl/index.php?action=history&amp;feed=atom&amp;title=AMXBans_bany_na_IP_%28amx_plugin%29</id>
		<title>AMXBans bany na IP (amx plugin) - Historia wersji</title>
		<link rel="self" type="application/atom+xml" href="http://hlds.pl/index.php?action=history&amp;feed=atom&amp;title=AMXBans_bany_na_IP_%28amx_plugin%29"/>
		<link rel="alternate" type="text/html" href="http://hlds.pl/index.php?title=AMXBans_bany_na_IP_(amx_plugin)&amp;action=history"/>
		<updated>2026-04-26T21:42:08Z</updated>
		<subtitle>Historia wersji tej strony wiki</subtitle>
		<generator>MediaWiki 1.18.1</generator>

	<entry>
		<id>http://hlds.pl/index.php?title=AMXBans_bany_na_IP_(amx_plugin)&amp;diff=8277&amp;oldid=prev</id>
		<title>Trawiator: +kategoria</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/index.php?title=AMXBans_bany_na_IP_(amx_plugin)&amp;diff=8277&amp;oldid=prev"/>
				<updated>2008-06-20T13:14:31Z</updated>
		
		<summary type="html">&lt;p&gt;+kategoria&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← poprzednia wersja&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Wersja z 13:14, 20 cze 2008&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[kategoria:AMXBans]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[kategoria:AMXBans]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[kategoria:Pluginy_Amxx]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;sma&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;sma&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;/*&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;/*&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki-wiki:diff:version:1.11a:oldid:6434:newid:8277 --&gt;
&lt;/table&gt;</summary>
		<author><name>Trawiator</name></author>	</entry>

	<entry>
		<id>http://hlds.pl/index.php?title=AMXBans_bany_na_IP_(amx_plugin)&amp;diff=6434&amp;oldid=prev</id>
		<title>KaszpiR o 13:28, 4 sty 2007</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/index.php?title=AMXBans_bany_na_IP_(amx_plugin)&amp;diff=6434&amp;oldid=prev"/>
				<updated>2007-01-04T13:28:45Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← poprzednia wersja&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Wersja z 13:28, 4 sty 2007&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[kategoria:AMXBans]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;sma&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;sma&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;/*&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;/*&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki-wiki:diff:version:1.11a:oldid:4348:newid:6434 --&gt;
&lt;/table&gt;</summary>
		<author><name>KaszpiR</name></author>	</entry>

	<entry>
		<id>http://hlds.pl/index.php?title=AMXBans_bany_na_IP_(amx_plugin)&amp;diff=4348&amp;oldid=prev</id>
		<title>Trawiator: Kaszpir, zaniem wkleisz cos to spawdz czy dziala....</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/index.php?title=AMXBans_bany_na_IP_(amx_plugin)&amp;diff=4348&amp;oldid=prev"/>
				<updated>2006-08-17T14:46:18Z</updated>
		
		<summary type="html">&lt;p&gt;Kaszpir, zaniem wkleisz cos to spawdz czy dziala....&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← poprzednia wersja&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Wersja z 14:46, 17 sie 2006&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 374:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 374:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; if ( (equal(&amp;quot;4294967295&amp;quot;,authid2)) || (equal(&amp;quot;HLTV&amp;quot;,authid2)) || (equali(&amp;quot;VALVE_ID_LAN&amp;quot;,authid2)) || (equali(&amp;quot;STEAM_ID_LAN&amp;quot;,authid2)) ) {&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; if ( (equal(&amp;quot;4294967295&amp;quot;,authid2)) || (equal(&amp;quot;HLTV&amp;quot;,authid2)) || (equali(&amp;quot;VALVE_ID_LAN&amp;quot;,authid2)) || (equali(&amp;quot;STEAM_ID_LAN&amp;quot;,authid2)) ) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; new ipa[32]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; new ipa[32]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160;  &lt;/del&gt;get_user_ip(player, ipa, 31, 1)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;	&lt;/ins&gt;get_user_ip(player,ipa,31,1)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160;  &lt;/del&gt;console_cmd(id,&amp;quot;amx_banip %d %s %s&amp;quot;, g_menuSettings[id], ipa,banReason)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;	&lt;/ins&gt;console_cmd(id,&amp;quot;amx_banip %d %s %s&amp;quot; ,g_menuSettings[id],ipa,banReason)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;	} else {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;	console_cmd(id,&amp;quot;amx_ban %d %s %s&amp;quot; ,g_menuSettings[id],authid2,banReason)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;	} &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; server_exec()&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; server_exec()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki-wiki:diff:version:1.11a:oldid:4347:newid:4348 --&gt;
&lt;/table&gt;</summary>
		<author><name>Trawiator</name></author>	</entry>

	<entry>
		<id>http://hlds.pl/index.php?title=AMXBans_bany_na_IP_(amx_plugin)&amp;diff=4347&amp;oldid=prev</id>
		<title>KaszpiR o 07:55, 17 sie 2006</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/index.php?title=AMXBans_bany_na_IP_(amx_plugin)&amp;diff=4347&amp;oldid=prev"/>
				<updated>2006-08-17T07:55:13Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;sma&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
    AMXBans, managing bans for Half-Life modifications&lt;br /&gt;
    Copyright (C) 2003, 2004  Ronald Renes / Jeroen de Rover&lt;br /&gt;
&lt;br /&gt;
      web      : http://www.xs4all.nl/~yomama/amxbans/&lt;br /&gt;
      mail   : yomama@xs4all.nl&lt;br /&gt;
      ICQ      : 104115504&lt;br /&gt;
      IRC      : #xs4all (Quakenet, nickname YoMama)&lt;br /&gt;
   &lt;br /&gt;
      This file is part of AMXBans.&lt;br /&gt;
&lt;br /&gt;
    AMXBans is free software; you can redistribute it and/or modify&lt;br /&gt;
    it under the terms of the GNU General Public License as published by&lt;br /&gt;
    the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;
    (at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
    AMXBans is distributed in the hope that it will be useful,&lt;br /&gt;
    but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
    GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
    You should have received a copy of the GNU General Public License&lt;br /&gt;
    along with AMXBans; if not, write to the Free Software&lt;br /&gt;
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA&lt;br /&gt;
&lt;br /&gt;
      Check out readme.html for more information&lt;br /&gt;
&lt;br /&gt;
      Current version: v4.0&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// specify tablenames here&lt;br /&gt;
#define tbl_reasons &amp;quot;amx_banreasons&amp;quot;&lt;br /&gt;
#define tbl_svrnfo &amp;quot;amx_serverinfo&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// If you want static reasons instead of reasons fetched from the database, uncomment this&lt;br /&gt;
//#define STATIC_REASONS&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;amxmodx&amp;gt;&lt;br /&gt;
#include &amp;lt;amxmisc&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#if !defined STATIC_REASONS&lt;br /&gt;
#include &amp;lt;dbi&amp;gt;&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
new g_menuPosition[33]&lt;br /&gt;
new g_menuPlayers[33][32]&lt;br /&gt;
new g_menuPlayersNum[33]&lt;br /&gt;
new g_menuOption[33]&lt;br /&gt;
new g_menuSettings[33]&lt;br /&gt;
&lt;br /&gt;
new g_bannedPlayer[33]&lt;br /&gt;
&lt;br /&gt;
new g_banReasons[7][128]&lt;br /&gt;
new g_lastCustom[33][128]&lt;br /&gt;
new g_inCustomReason[33]&lt;br /&gt;
&lt;br /&gt;
new g_coloredMenus&lt;br /&gt;
new g_aNum = 0&lt;br /&gt;
&lt;br /&gt;
new Sql:sql&lt;br /&gt;
new error[128]&lt;br /&gt;
&lt;br /&gt;
#if !defined STATIC_REASONS&lt;br /&gt;
public plugin_modules() {&lt;br /&gt;
   require_module(&amp;quot;dbi&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
public client_connect(id) {&lt;br /&gt;
  g_lastCustom[id][0]='^0'&lt;br /&gt;
  g_inCustomReason[id]=0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public plugin_init() {&lt;br /&gt;
#if defined STATIC_REASONS&lt;br /&gt;
  copy(g_banReasons[0],127,&amp;quot;Cheating&amp;quot;)&lt;br /&gt;
  copy(g_banReasons[1],127,&amp;quot;Laming&amp;quot;)&lt;br /&gt;
  copy(g_banReasons[2],127,&amp;quot;Swearing&amp;quot;)&lt;br /&gt;
  copy(g_banReasons[3],127,&amp;quot;Wallhack&amp;quot;)&lt;br /&gt;
  copy(g_banReasons[4],127,&amp;quot;Aimbot&amp;quot;)&lt;br /&gt;
  copy(g_banReasons[5],127,&amp;quot;Wallhack + Aimbot&amp;quot;)&lt;br /&gt;
  copy(g_banReasons[6],127,&amp;quot;Camping&amp;quot;)&lt;br /&gt;
#endif&lt;br /&gt;
 &lt;br /&gt;
  register_plugin(&amp;quot;AMXBans Menu&amp;quot;,&amp;quot;4.0&amp;quot;,&amp;quot;YoMama&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  register_dictionary(&amp;quot;common.txt&amp;quot;)&lt;br /&gt;
  register_dictionary(&amp;quot;amxbans.txt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
#if !defined STATIC_REASONS&lt;br /&gt;
  register_concmd(&amp;quot;amx_reloadreasons&amp;quot;,&amp;quot;reasonReload&amp;quot;,ADMIN_CFG)&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
  register_clcmd(&amp;quot;amxbans_menu&amp;quot;,&amp;quot;cmdBanMenu&amp;quot;,ADMIN_BAN,&amp;quot;- displays ban menu&amp;quot;)&lt;br /&gt;
  register_clcmd(&amp;quot;amxbans_menureason&amp;quot;,&amp;quot;cmdBanMenuReason&amp;quot;,ADMIN_BAN,&amp;quot;- configures custom ban message&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  register_menucmd(register_menuid(&amp;quot;Ban Menu&amp;quot;),1023,&amp;quot;actionBanMenu&amp;quot;)&lt;br /&gt;
  register_menucmd(register_menuid(&amp;quot;Ban Reason Menu&amp;quot;),1023,&amp;quot;actionBanMenuReason&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  g_coloredMenus = colored_menus()&lt;br /&gt;
&lt;br /&gt;
#if !defined STATIC_REASONS&lt;br /&gt;
  set_task(0.1,&amp;quot;init_function&amp;quot;)&lt;br /&gt;
#endif&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public init_function() {&lt;br /&gt;
   sql_init()&lt;br /&gt;
   fetchReasons()&lt;br /&gt;
   banmenu_online()&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public sql_init() {&lt;br /&gt;
   new host[64], user[32], pass[32], db[32]&lt;br /&gt;
&lt;br /&gt;
   get_cvar_string(&amp;quot;amx_sql_host&amp;quot;,host,64)&lt;br /&gt;
   get_cvar_string(&amp;quot;amx_sql_user&amp;quot;,user,32)&lt;br /&gt;
   get_cvar_string(&amp;quot;amx_sql_pass&amp;quot;,pass,32)&lt;br /&gt;
   get_cvar_string(&amp;quot;amx_sql_db&amp;quot;,db,32)&lt;br /&gt;
&lt;br /&gt;
   sql = dbi_connect(host,user,pass,db,error,128)&lt;br /&gt;
&lt;br /&gt;
   if(sql == SQL_FAILED) {&lt;br /&gt;
      server_print(&amp;quot;[AMXX] %L&amp;quot;,LANG_SERVER,&amp;quot;SQL_CANT_CON&amp;quot;,error)&lt;br /&gt;
      dbi_close(sql)&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   return PLUGIN_CONTINUE&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#if !defined STATIC_REASONS&lt;br /&gt;
public banmenu_online() {&lt;br /&gt;
  new ip[32]&lt;br /&gt;
  get_cvar_string(&amp;quot;ip&amp;quot;, ip, 32)&lt;br /&gt;
  new port[10]&lt;br /&gt;
  get_cvar_string(&amp;quot;port&amp;quot;, port, 10)&lt;br /&gt;
&lt;br /&gt;
  new Result:register = dbi_query(sql,&amp;quot;UPDATE `%s` set amxban_menu = '1' where address = '%s:%s'&amp;quot;, tbl_svrnfo, ip, port)&lt;br /&gt;
&lt;br /&gt;
  if (register == RESULT_FAILED) {&lt;br /&gt;
    dbi_error(sql,error,128)&lt;br /&gt;
    server_print(&amp;quot;[AMXX] %L&amp;quot;,LANG_SERVER,&amp;quot;GENERIC_SQL_ERROR&amp;quot;,error)&lt;br /&gt;
    dbi_free_result(register)&lt;br /&gt;
    dbi_close(sql)&lt;br /&gt;
    return PLUGIN_HANDLED&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (g_aNum == 1) {&lt;br /&gt;
    log_amx(&amp;quot;AMXBans Menu is online (1 reason loaded)&amp;quot;)&lt;br /&gt;
  } else {&lt;br /&gt;
    log_amx(&amp;quot;AMXBans Menu is online (%d reasons loaded)&amp;quot;,g_aNum)&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return PLUGIN_CONTINUE&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public fetchReasons() {&lt;br /&gt;
  new ip[32],port[10]&lt;br /&gt;
  get_cvar_string(&amp;quot;ip&amp;quot;,ip,32)&lt;br /&gt;
  get_cvar_string(&amp;quot;port&amp;quot;,port,10)&lt;br /&gt;
 &lt;br /&gt;
  new Result:get_reasons = dbi_query(sql,&amp;quot;SELECT reason FROM %s WHERE address = '%s:%s'&amp;quot;,tbl_reasons,ip,port)&lt;br /&gt;
&lt;br /&gt;
  if (get_reasons == RESULT_FAILED) {&lt;br /&gt;
    dbi_error(sql,error,127)&lt;br /&gt;
    server_print(&amp;quot;[AMXX] %L&amp;quot;,LANG_SERVER,&amp;quot;SQL_CANT_LOAD_REASONS&amp;quot;,error)&lt;br /&gt;
    dbi_free_result(get_reasons)&lt;br /&gt;
    dbi_close(sql)&lt;br /&gt;
    return PLUGIN_HANDLED&lt;br /&gt;
  } else if (get_reasons == RESULT_NONE) {&lt;br /&gt;
    server_print(&amp;quot;[AMXX] %L&amp;quot;,LANG_SERVER,&amp;quot;NO_REASONS&amp;quot;)&lt;br /&gt;
    dbi_free_result(get_reasons)&lt;br /&gt;
    return PLUGIN_HANDLED&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  g_aNum = 0&lt;br /&gt;
  while( dbi_nextrow(get_reasons) &amp;gt; 0 ) {&lt;br /&gt;
    dbi_result(get_reasons, &amp;quot;reason&amp;quot;, g_banReasons[g_aNum], 127)&lt;br /&gt;
    ++g_aNum&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (g_aNum == 1) {&lt;br /&gt;
    server_print(&amp;quot;[AMXX] %L&amp;quot;, LANG_SERVER, &amp;quot;SQL_LOADED_REASON&amp;quot; )&lt;br /&gt;
  } else {&lt;br /&gt;
    server_print(&amp;quot;[AMXX] %L&amp;quot;, LANG_SERVER, &amp;quot;SQL_LOADED_REASONS&amp;quot;, g_aNum )&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return PLUGIN_HANDLED&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public reasonReload(id,level,cid) {&lt;br /&gt;
  if (!cmd_access(id,level,cid,1)) {&lt;br /&gt;
    return PLUGIN_HANDLED&lt;br /&gt;
  } else {&lt;br /&gt;
    fetchReasons()&lt;br /&gt;
&lt;br /&gt;
    if (id != 0) {&lt;br /&gt;
      if (g_aNum == 1) {&lt;br /&gt;
        console_print(id,&amp;quot;[AMXX] %L&amp;quot;, LANG_SERVER, &amp;quot;SQL_LOADED_REASON&amp;quot; )&lt;br /&gt;
      } else {&lt;br /&gt;
        console_print(id,&amp;quot;[AMXX] %L&amp;quot;, LANG_SERVER, &amp;quot;SQL_LOADED_REASONS&amp;quot;, g_aNum )&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return PLUGIN_HANDLED&lt;br /&gt;
}&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
/* Ban menu */&lt;br /&gt;
&lt;br /&gt;
public actionBanMenu(id,key) {&lt;br /&gt;
  switch (key) {&lt;br /&gt;
    case 7: {&lt;br /&gt;
      ++g_menuOption[id]&lt;br /&gt;
      g_menuOption[id] %= 4&lt;br /&gt;
      switch(g_menuOption[id]){&lt;br /&gt;
      case 0: g_menuSettings[id] = 0&lt;br /&gt;
      case 1: g_menuSettings[id] = 10000&lt;br /&gt;
      case 2: g_menuSettings[id] = 20000&lt;br /&gt;
      case 3: g_menuSettings[id] = 40000&lt;br /&gt;
      }&lt;br /&gt;
     &lt;br /&gt;
      displayBanMenu(id,g_menuPosition[id])&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    case 8: displayBanMenu(id,++g_menuPosition[id])&lt;br /&gt;
    case 9: displayBanMenu(id,--g_menuPosition[id])&lt;br /&gt;
    default: {&lt;br /&gt;
      g_bannedPlayer[id] = g_menuPlayers[id][g_menuPosition[id] * 6 + key]&lt;br /&gt;
      cmdBanReasonMenu(id)&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return PLUGIN_HANDLED&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
displayBanMenu(id,pos) {&lt;br /&gt;
  if (pos &amp;lt; 0)  return&lt;br /&gt;
   &lt;br /&gt;
  get_players(g_menuPlayers[id],g_menuPlayersNum[id])&lt;br /&gt;
   &lt;br /&gt;
  new menuBody[512]&lt;br /&gt;
  new b = 0&lt;br /&gt;
  new i&lt;br /&gt;
  new name[32]&lt;br /&gt;
  new start = pos * 6&lt;br /&gt;
 &lt;br /&gt;
  if (start &amp;gt;= g_menuPlayersNum[id]) {&lt;br /&gt;
    start = pos = g_menuPosition[id] = 0&lt;br /&gt;
  }&lt;br /&gt;
   &lt;br /&gt;
  new len = format(menuBody,511, g_coloredMenus ?&lt;br /&gt;
    &amp;quot;\y%L\R%d/%d^n\w^n&amp;quot; : &amp;quot;%L %d/%d^n^n&amp;quot;,&lt;br /&gt;
    id,&amp;quot;BAN_MENU&amp;quot;,pos+1,(  g_menuPlayersNum[id] / 6 + ((g_menuPlayersNum[id] % 6) ? 1 : 0 )) )&lt;br /&gt;
&lt;br /&gt;
  new end = start + 6&lt;br /&gt;
  new keys = MENU_KEY_0|MENU_KEY_8&lt;br /&gt;
&lt;br /&gt;
  if (end &amp;gt; g_menuPlayersNum[id]) {&lt;br /&gt;
    end = g_menuPlayersNum[id]&lt;br /&gt;
  }&lt;br /&gt;
   &lt;br /&gt;
  for (new a = start; a &amp;lt; end; ++a) {&lt;br /&gt;
    i = g_menuPlayers[id][a]&lt;br /&gt;
    get_user_name(i,name,31)&lt;br /&gt;
&lt;br /&gt;
    if ( is_user_bot(i) || access(i,ADMIN_IMMUNITY) ) {&lt;br /&gt;
      ++b   &lt;br /&gt;
      if ( g_coloredMenus ) {&lt;br /&gt;
        len += format(menuBody[len],511-len,&amp;quot;\d%d. %s^n\w&amp;quot;,b,name)&lt;br /&gt;
      } else {&lt;br /&gt;
        len += format(menuBody[len],511-len,&amp;quot;#. %s^n&amp;quot;,name)&lt;br /&gt;
      }&lt;br /&gt;
    } else {&lt;br /&gt;
      keys |= (1&amp;lt;&amp;lt;b)&lt;br /&gt;
      len += format(menuBody[len],511-len,&amp;quot;%d. %s^n&amp;quot;,++b,name)&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ( g_menuSettings[id] ) {&lt;br /&gt;
    len += format(menuBody[len],511-len,&amp;quot;^n8. %L^n&amp;quot;, id, &amp;quot;BAN_FOR_MIN&amp;quot;, g_menuSettings[id] )&lt;br /&gt;
  } else {&lt;br /&gt;
    len += format(menuBody[len],511-len,&amp;quot;^n8. %L^n&amp;quot;, id, &amp;quot;BAN_PERM&amp;quot; )&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (end != g_menuPlayersNum[id]) {&lt;br /&gt;
    format(menuBody[len],511-len,&amp;quot;^n9. %L...^n0. %L&amp;quot;, id, &amp;quot;MORE&amp;quot;, id, pos ? &amp;quot;BACK&amp;quot; : &amp;quot;EXIT&amp;quot;)&lt;br /&gt;
    keys |= MENU_KEY_9&lt;br /&gt;
  } else {&lt;br /&gt;
    format(menuBody[len],511-len,&amp;quot;^n0. %L&amp;quot;, id, pos ? &amp;quot;BACK&amp;quot; : &amp;quot;EXIT&amp;quot;)&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  show_menu(id,keys,menuBody,-1,&amp;quot;Ban Menu&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public cmdBanMenu(id,level,cid) {&lt;br /&gt;
  if (!cmd_access(id,level,cid,1)) {&lt;br /&gt;
    return PLUGIN_HANDLED&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  g_menuOption[id] = 3&lt;br /&gt;
  g_menuSettings[id] = 10000&lt;br /&gt;
  displayBanMenu(id,g_menuPosition[id] = 0)&lt;br /&gt;
&lt;br /&gt;
  return PLUGIN_HANDLED&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
cmdBanReasonMenu(id) {&lt;br /&gt;
  new menuBody[1024]&lt;br /&gt;
  new len = format(menuBody,1023, g_coloredMenus ? &amp;quot;\y%s\R^n\w^n&amp;quot; : &amp;quot;%s^n^n&amp;quot;,&amp;quot;Reason&amp;quot;)&lt;br /&gt;
  new i=0;&lt;br /&gt;
&lt;br /&gt;
  while (i&amp;lt;6) {&lt;br /&gt;
    len+=format(menuBody[len],1023-len,&amp;quot;%d. %s^n&amp;quot;,i+1,g_banReasons[i])&lt;br /&gt;
    i++;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  len+=format(menuBody[len],1023-len,&amp;quot;^n8. Custom^n&amp;quot;)&lt;br /&gt;
  if (g_lastCustom[id][0]!='^0') {&lt;br /&gt;
    len+=format(menuBody[len],1023-len,&amp;quot;^n9. %s^n&amp;quot;,g_lastCustom[id])&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  len+=format(menuBody[len],1023-len,&amp;quot;^n0. %L^n&amp;quot;,id,&amp;quot;EXIT&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
  new keys = MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_4 | MENU_KEY_5 | MENU_KEY_6 | MENU_KEY_7 | MENU_KEY_8 | MENU_KEY_0&lt;br /&gt;
  if (g_lastCustom[id][0]!='^0') {&lt;br /&gt;
    keys |= MENU_KEY_9&lt;br /&gt;
  }&lt;br /&gt;
  show_menu(id,keys,menuBody,-1,&amp;quot;Ban Reason Menu&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public actionBanMenuReason(id,key) {&lt;br /&gt;
  switch (key) {&lt;br /&gt;
    case 9: { // go back to ban menu&lt;br /&gt;
      displayBanMenu(id,g_menuPosition[id])&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    case 7: {&lt;br /&gt;
      g_inCustomReason[id]=1&lt;br /&gt;
      client_cmd(id,&amp;quot;messagemode amx_banmenureason&amp;quot;)&lt;br /&gt;
      return PLUGIN_HANDLED&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    case 8: {&lt;br /&gt;
      banUser(id,g_lastCustom[id])&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    default: {&lt;br /&gt;
      banUser(id,g_banReasons[key])&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return PLUGIN_HANDLED&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
banUser(id,banReason[]) { /* id is the player banning, not player being banned :] */&lt;br /&gt;
  new player = g_bannedPlayer[id]&lt;br /&gt;
   &lt;br /&gt;
  new name[32], name2[32], authid[32],authid2[32]&lt;br /&gt;
  get_user_name(player,name2,31)&lt;br /&gt;
  get_user_authid(player,authid2,31)&lt;br /&gt;
  get_user_authid(id,authid,31)&lt;br /&gt;
  get_user_name(id,name,31)&lt;br /&gt;
 &lt;br /&gt;
  switch (get_cvar_num(&amp;quot;amx_show_activity&amp;quot;)) {&lt;br /&gt;
    case 2: client_print(0,print_chat,&amp;quot;%L&amp;quot;,LANG_PLAYER,&amp;quot;ADMIN_BAN_2&amp;quot;,name,name2)&lt;br /&gt;
    case 1: client_print(0,print_chat,&amp;quot;%L&amp;quot;,LANG_PLAYER,&amp;quot;ADMIN_BAN_1&amp;quot;,name2)&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
      if ( (equal(&amp;quot;4294967295&amp;quot;,authid2)) || (equal(&amp;quot;HLTV&amp;quot;,authid2)) || (equali(&amp;quot;VALVE_ID_LAN&amp;quot;,authid2)) || (equali(&amp;quot;STEAM_ID_LAN&amp;quot;,authid2)) ) {&lt;br /&gt;
        new ipa[32]&lt;br /&gt;
       get_user_ip(player, ipa, 31, 1)&lt;br /&gt;
       console_cmd(id,&amp;quot;amx_banip %d %s %s&amp;quot;, g_menuSettings[id], ipa,banReason)&lt;br /&gt;
  server_exec()&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public cmdBanMenuReason(id,level,cid) {&lt;br /&gt;
  if (!cmd_access(id,level,cid,1)) {&lt;br /&gt;
    return PLUGIN_HANDLED&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  new szReason[128]&lt;br /&gt;
  read_argv(1,szReason,127)&lt;br /&gt;
  copy(g_lastCustom[id],127,szReason)&lt;br /&gt;
&lt;br /&gt;
  if (g_inCustomReason[id]) {&lt;br /&gt;
    g_inCustomReason[id]=0&lt;br /&gt;
    banUser(id,g_lastCustom[id])&lt;br /&gt;
  }&lt;br /&gt;
  return PLUGIN_HANDLED&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/sma&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[kategoria:AMX Mod]]&lt;br /&gt;
[[kategoria:HLDS]]&lt;/div&gt;</summary>
		<author><name>KaszpiR</name></author>	</entry>

	</feed>