Код:
#include <amxmodx>
#define autobindMenuKeys (1<<0)|(1<<1)|(1<<2)
#define PLUGIN "Autobinds"
#define VERSION "1.0"
#define AUTHOR "CLLlAgOB"
#define MAX_STRING_LEN 256
#define MAX_LINES 64
new key_set[MAX_LINES][MAX_STRING_LEN]
new key_command[MAX_LINES][MAX_STRING_LEN]
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menucmd(register_menuid("Auto Bind Menu"), autobindMenuKeys, "autobindmenu")
register_clcmd("say /bind","task_autibondmenu")
register_cvar("auto_bind","")
register_cvar("auto_helpdir", "addons/amxmodx/datal/lang/youhelp.txt")
load_settings("addons/amxmodx/configs/keys.ini")
register_cvar("auto_ver","v1.0")
}
public task_autibondmenu(id) {
new crate[33],ver[33]
get_user_info(id,"autobind",crate,32)
get_cvar_string("auto_ver",ver,31)
if(!equali(crate, ver)){
show_menu(id, autobindMenuKeys, "\rАвто бинд меню^n\w^n1. Забиндить мне!^n2. Помощь ^n3. Не биндить мне^n", -1, "");
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
load_settings(szFilename[]) {
if (!file_exists(szFilename))
return 0
new num = 0
new szText[MAX_STRING_LEN], setbuttn[MAX_STRING_LEN], setcommand[MAX_STRING_LEN]
new a, pos = 0
while (num < MAX_LINES && read_file(szFilename, pos++, szText, sizeof(szText), a)) {
if (szText[0] == ';')
continue
if (szText[0] == '#')
continue
if (parse(szText,setbuttn,sizeof(setbuttn),setcommand,sizeof(setcommand)) < 2)
continue
copy(key_set[num], MAX_STRING_LEN - 1, setbuttn)
copy(key_command[num], MAX_STRING_LEN - 1, setcommand)
server_cmd("say %s %s",key_set[num],key_command[num])
num++
}
return 1
}
public autobindmenu(id, key) {
switch (key) {
case 0: func_autobind(id);
case 1: {
autobind_help(id);
task_autibondmenu(id);
}
case 2: return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
///---------------[Help]
public autobind_help(id)
{
new dir[129]
get_cvar_string("auto_helpdir",dir,128)
show_motd(id, dir,"Help keys")
}
//---------------[AUTO BIND SYSTEM]---------------
public func_autobind(id)
{
for (new i = 0; i <= (MAX_LINES-1); i++) {
if(key_set[i][0]){
client_cmd(id,"bind %s ^"%s^"",key_set[i],key_command[i])
}
}
new ver[129]
get_cvar_string("auto_ver",ver,128)
client_cmd(id," setinfo autobind %s",ver)
console_print(id,"Key Defaults are bound. ENJOY!")
return PLUGIN_HANDLED
}