Offline |
|
|
Csatlakozott: 2014.08.21. 19:30 Hozzászólások: 182
Megköszönt másnak: 3 alkalommal Megköszönték neki: 41 alkalommal
|
IP tartomány ban: #include <amxmodx> #include <amxmisc> #define PLUGIN "BAN dinamikus IP-re" #define VERSION "1.0" #define AUTHOR "IrOn" #define MAXBAN 500 new user_id[32] new user_ip[32] new osszesban=0; new banoltipk[MAXBAN][32]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("amx_ipban","DinamikusIPBan", ADMIN_BAN, "<ip>") } public plugin_cfg() { banokbetoltese() } public banokbetoltese() { osszesban=0; new configsmappa[64], mappa[132] get_configsdir(configsmappa, 63) format(mappa, 131, "%s/dinamikusip.ini", configsmappa) new fajl = fopen(mappa, "rt") if(!fajl) { server_print("Nem talalhato a dinamikusip.ini fajl!") return PLUGIN_CONTINUE } new szoveg[32] while(!feof(fajl)) { fgets(fajl, szoveg, 179) banoltipk[osszesban]=szoveg; osszesban++; } fclose(fajl) return PLUGIN_CONTINUE } public banokkiirasa() { new configsmappa[64], mappa[132] get_configsdir(configsmappa, 63) format(mappa, 131, "%s/dinamikusip.ini", configsmappa) new fajl = fopen(mappa,"a+") if(fajl) { for(new i=0;i<=osszesban;i++) { fprintf(fajl,"%s^n",banoltipk[i]) } fclose(fajl) } } public client_putinserver(id) { get_user_authid(id, user_id, 31) get_user_ip(id, user_ip, 31, 1) if(containi(user_id, "ID_LAN") != -1) { for(new i=0;i<osszesban;i++) { if(equali(user_ip, banoltipk[i], 5)) { server_cmd("kick #%i ^"IP cim banolva. Szerezz be STEAM-es cset^"", get_user_userid(id)) return PLUGIN_HANDLED } } } if(containi(user_id, "HLTV") != -1) { server_cmd("kick #%i ^"A HLTV nincs engedelyezve^"", get_user_userid(id)) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public DinamikusIPBan(id, level, cid) { if( !cmd_access(id, level, cid, 1) ) return PLUGIN_HANDLED; static arg[32]; read_argv(1, arg, sizeof(arg) - 1); if(equal(arg,"")) { new menu = menu_create("\rKit akarsz banolni?(Dinamikus IP - CSAK NS)", "menu_handler"); new p[32],n; get_players(p,n) for(new i=0;i<n;i++) { get_user_authid(p[i], user_id, 31) new szoveg[5]; num_to_str(p[i],szoveg,4) new name[33]; get_user_name(p[i],name,32) menu_additem(menu, name, szoveg, 0); } menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu) } else { new bool:van=false; for(new i=0;i<=osszesban;i++) { if(equali(arg, banoltipk[i], 5)) van=true } if(van) { client_print(id, print_chat,"Ez az IP mar banolva van!") } else { osszesban++; if(osszesban >= MAXBAN) { osszesban--; client_print(id, print_chat, "Dinamikus ban lista megtelt, torolj a regiek kozul, vagy emeld meg a limitet a forraskodban!") } else { remove_quotes(arg) banoltipk[osszesban]=arg; banokkiirasa() client_print(id, print_chat, "%s kibanolva!", arg) } } } return PLUGIN_CONTINUE; } public menu_handler(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new playerid = str_to_num(data); if(is_user_connected(playerid)) { get_user_ip(playerid, user_ip, 31, 1) new bool:van=false; for(new i=0;i<=osszesban;i++) { if(equali(user_ip, banoltipk[i], 5)) van=true } if(van) { client_print(id, print_chat,"Ez az IP mar banolva van!") } else { osszesban++; if(osszesban >= MAXBAN) { osszesban--; client_print(id, print_chat, "Dinamikus ban lista megtelt, torolj a regiek kozul!") } else { remove_quotes(user_ip) banoltipk[osszesban]=user_ip; banokkiirasa() client_print(id, print_chat, "%s kibanolva!", user_ip) } } } menu_destroy(menu); return PLUGIN_HANDLED; }
crazyboy írta: 1. tiltsd a STEAM_ID_LAN os cs-t (sokra nem mész vele mert ott a steam id changer de ez is egy lehetőség) 2. ez 100%, hogy működik ez a legjobb megoldás és több legyet is ütsz 1 csapásra: dproto törlése. Ne reklámozz, csak simán írd így: kricsi15 írta: Sziasztok. Segítsetek nekem légyszíves. Szóval van egy klán, állandóan dinamikus IP-vel járnak fel és folyamatosan CSALNAK , de bannolni úgy nem tudom őket mert egyből visszajönnek... Mit tegyek?
|
|