#include <amxmodx>
#include <amxmisc>
#include <netdb>
#define PLUGIN "Konta IP"
#define VERSION "2.0"
#define AUTHOR "Sn!ff3r"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_cvar("amx_konto_msg", "Zablokowane IP - sprawdz konsole!");
}
public client_putinserver(id) {
set_task(5.0, "sprawdz_gracza", id);
}
public sprawdz_gracza(id) {
if(!is_user_connected(id) || get_user_flags(id) & ADMIN_RESERVATION)
return PLUGIN_CONTINUE;
if(access(id,ADMIN_LEVEL_H) && access(id,ADMIN_USER)) {
remove_user_flags(id, ADMIN_LEVEL_H);
return PLUGIN_CONTINUE;
}
new authid[32]; get_user_authid(id, authid, 31);
if(!is_steam(authid)) {
new ip[16], host[50];
get_user_ip(id,ip , 15 , 1);
netdb_gethostbyaddr(ip, host, 49);
if((contain(host, "adsl") != -1 || contain(host, "dynamic") != -1) && contain(host, "dynamic.chello") == -1) {
new kickmsg[512];
get_cvar_string("amx_konto_msg", kickmsg, 511);
console_print(id, "* * * Masz zmienne IP !");
server_cmd("wait;wait;wait;wait;wait;kick #%d %s", get_user_userid(id), kickmsg);
}
}
return PLUGIN_CONTINUE;
}
stock bool:is_steam(auth[]) {
if(contain(auth, "STEAM_0:0:") != -1 || contain(auth, "STEAM_0:1:") != -1)
return true;
return false;
}
Zamieniłem też stock odpowiedzialny za sprawdzanie, czy gracz posiada steama.