Amx_gagip прикрутить к Amxmodmenu, Реально ли?! Возможно ли?! Как сделать?!))))) |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|

|
|
Amx_gagip прикрутить к Amxmodmenu, Реально ли?! Возможно ли?! Как сделать?!))))) |
ziumer
|
17.3.2009, 19:38
Сообщение
|
![]() |
Ребят, а можно как-нить, чтоб плагин amx_gagip работал через amxmodmenu или хотяб через отдельную менюшку, что-то типа amx_gagmenu.
Подскажите, как осуществить? |
|
|
|
Makzz
|
17.3.2009, 19:46
Сообщение
|
![]() |
Давай исходник amx_gagip, посмотрим что сможем сделать....
|
Поблагодарили 2 раз
|
|
aqua
|
18.3.2009, 10:01
Сообщение
|
|||
![]() |
Код "Заткнуть рот" "amx_gagip #%userip%" "bd" "u" попробуй так...
|
|||
|
|
||||
ziumer
|
18.3.2009, 13:01
Сообщение
|
![]() |
|
|
|
|
Makzz
|
20.3.2009, 15:43
Сообщение
|
![]() |
А так:
Код Удалено
Отредактировал: Makzz, - 10.5.2009, 19:45
|
Поблагодарили 1 раз
|
|
ziumer
|
21.3.2009, 0:08
Сообщение
|
![]() |
Makzz Не работает опять, к сожалению
|
|
|
|
Makzz
|
21.3.2009, 14:10
Сообщение
|
![]() |
Я блин совершенно не могу понять принцип работы плагина....
он чёт записывает и ...... х3...... amx_gagmenu не известная команда? БЫТЬ НЕ МОЖЕТ ТАКОГО! Ща дрова починю и буду тестить :) |
|
|
|
Makzz
|
22.3.2009, 18:49
Сообщение
|
![]() |
ну вроде так:
Код #include <amxmodx>
#include <amxmisc> new IPs[50][32] new ipgaged[64] = "addons/amxmodx/configs/ipgaged.cfg" new logs[200][70] new log_file[64] = "addons/amxmodx/logs/ipgaged.log" new g_menuPosition[33] new g_menuPlayers[33][32] new g_menuPlayersNum[33] new g_menuOption[33] public plugin_init() { register_plugin("IP gag","0.2","Mak-Di") register_concmd("amx_gagip","cmdgag",ADMIN_LEVEL_A,"<IP address> - Gag this IP") register_concmd("amx_gaglist","cmdgagl",ADMIN_LEVEL_A," - Show gaged IP addresses") register_concmd("amx_ungagip","cmdungagip",ADMIN_LEVEL_A,"<IP address> - Ungaged IP address") register_concmd("amx_gaglog","cmdgaglog",ADMIN_LEVEL_A," - Show log file") register_clcmd("say","chek") register_clcmd("say_team","chek") register_clcmd("amx_gagmenu", "cmdGagMenu", ADMIN_KICK, "- displays gag menu") register_menucmd(register_menuid("Gag Menu"), 1023, "actionGagMenu") read_list() } public cmdgaglog(id) { if (!(get_user_flags(id)&ADMIN_LEVEL_A)) return PLUGIN_CONTINUE read_logfile() client_print( id , print_notify , "------------- Log file -------------" ) for(new i=0;i<200;i++) if(!equal(logs[i],"",0)) { client_print( id , print_notify ,logs[i]) } return PLUGIN_HANDLED } public cmdgag(id) { if (!(get_user_flags(id)&ADMIN_LEVEL_A)) return PLUGIN_CONTINUE new arg[32] read_argv(1, arg, 31) if(equal(arg,"",0)) { client_print(id,print_notify,"Enter IP address, please") return PLUGIN_HANDLED } for(new i=0;i<50;i++) if(equal(IPs[i],arg,0)) { client_print(id,print_notify,"This IP already gaged") return PLUGIN_HANDLED } for(new i=0;i<50;i++) if(equal(IPs[i],"",0)) { IPs[i]=arg client_print(id,print_notify,"IP: %s was gaged",arg) add_log(id,arg) delete_file(ipgaged) for(new j=0;j<50;j++) if(!equal(IPs[j],"",0)) { write_file(ipgaged,IPs[j],-1) } return PLUGIN_HANDLED } return PLUGIN_HANDLED } public cmdgagl(id) { if (!(get_user_flags(id)&ADMIN_LEVEL_A)) return PLUGIN_CONTINUE client_print( id , print_notify , "------------- Gaged IP addresses -------------" ) for(new i=0;i<50;i++) if(!equal(IPs[i],"",0)) { client_print( id , print_notify ,IPs[i]) } return PLUGIN_HANDLED } public cmdungagip(id) { if (!(get_user_flags(id)&ADMIN_LEVEL_A)) return PLUGIN_CONTINUE new arg[32] read_argv(1, arg, 31) if(equal(arg,"",0)) { client_print(id,print_notify,"Enter IP address, please") return PLUGIN_HANDLED } for(new i=0;i<50;i++) if(equal(IPs[i],arg,0)) { client_print( id , print_notify ,"IP: %s was removed",arg) IPs[i]="" rm_log(id,arg) delete_file(ipgaged) for(new j=0;j<50;j++) if(!equal(IPs[j],"",0)) { write_file(ipgaged,IPs[j],-1) } return PLUGIN_HANDLED } client_print( id , print_notify ,"IP: %s not found",arg) return PLUGIN_HANDLED } public chek(id) { new userip[32] get_user_ip(id,userip,31,-1) for(new i=0;i<50;i++) if(containi(userip,IPs[i])!=-1) { client_print( id , print_chat ,"Sorry, you gaged. RespecT") return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public read_list() { new index=0, line[32] if (file_exists(ipgaged)) { new length new i while(read_file(ipgaged,index,line,32,length)) { for(i = 0; line[i]; i++) if(line[i] == '^r' || line[i] =='^n') line[i] = 0 if(line[0]) IPs[index++] = line } } else log_message("[AMX] ipgaged file not found") return PLUGIN_CONTINUE } stock add_log(id,const ip[]) { new uname[31],Info[70],Time[25] get_user_name(id,uname,31) get_time("%m/%d/%Y - %H:%M",Time,25) format(Info,70,"Admin %s added IP: %s %s",uname,ip,Time) write_file(log_file,Info,-1) return PLUGIN_CONTINUE } stock rm_log(id,const ip[]) { new uname[31],Info[70],Time[25] get_user_name(id,uname,31) get_time("%m/%d/%Y - %H:%M",Time,25) format(Info,70,"Admin %s removed IP: %s %s",uname,ip,Time) write_file(log_file,Info,-1) return PLUGIN_CONTINUE } public read_logfile() { new index=0, line[70] if (file_exists(log_file)) { new length new i while(read_file(log_file,index,line,70,length)) { for(i = 0; line[i]; i++) if(line[i] == '^r' || line[i] =='^n') line[i] = 0 if(line[0]) logs[index++] = line } } else log_message("[AMX] log file not found") return PLUGIN_CONTINUE } public cmdGagMenu(id, level, cid) { if (!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED g_menuOption[id] = 0 displayGagMenu(id, g_menuPosition[id] = 0) return PLUGIN_HANDLED } displayGagMenu(id, pos) { if (pos < 0) return get_players(g_menuPlayers[id], g_menuPlayersNum[id]) new menuBody[512] new b = 0 new i new name[32] new start = pos * 8 if (start >= g_menuPlayersNum[id]) start = pos = g_menuPosition[id] = 0 new len = format(menuBody, 511, "\yPlayers Menu:\R%d/%d^n\w^n", (pos+1), (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0))) new end = start + 8 new keys = MENU_KEY_0 if (end > g_menuPlayersNum[id]) end = g_menuPlayersNum[id] for (new a = start; a < end; ++a) { i = g_menuPlayers[id][a] get_user_name(i, name, 31) if (access(i, ADMIN_IMMUNITY) && i != id) { ++b len += format(menuBody[len], 511-len, "#. %s^n", name) } else { keys |= (1<<b) len += format(menuBody[len], 511-len, "%d. %s^n", ++b, name) } } if (end != g_menuPlayersNum[id]) { format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT") keys |= MENU_KEY_9 } else format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT") show_menu(id, keys, menuBody, -1, "Gag Menu") } public actionGagMenu(id, key) { switch (key) { case 8: displayGagMenu(id, ++g_menuPosition[id]) case 9: displayGagMenu(id, --g_menuPosition[id]) default: { new player = g_menuPlayers[id][g_menuPosition[id] * 8 + key] new authid[32], authid2[32], name[32], name2[32] get_user_authid(id, authid, 31) get_user_authid(player, authid2, 31) get_user_name(id, name, 31) get_user_name(player, name2, 31) new userid2 = get_user_userid(player) log_amx("Gag: ^"%s<%d><%s><>^" gaged ^"%s<%d><%s><>^"", name, get_user_userid(id), authid, name2, userid2, authid2) switch (get_cvar_num("amx_show_activity")) { case 2: client_print(0, print_chat, "ADMIN %s: gag %s", name, name2) case 1: client_print(0, print_chat, "ADMIN: gag %s", name2) } server_cmd("amx_gag #%d", userid2) server_exec() displayGagMenu(id, g_menuPosition[id]) } } return PLUGIN_HANDLED }
Отредактировал: Makzz, - 2.5.2009, 12:48
|
Поблагодарили 1 раз
|
|
ziumer
|
23.3.2009, 19:54
Сообщение
|
![]() |
Спасибо, будем тестить..
|
|
|
|
![]() ![]() |