/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <sqlx>
#include <hamsandwich>
#define PLUGIN "Sorozatgyilkos"
#define VERSION "1.0"
#define AUTHOR "mforce"
new Handle:g_SqlTuple
new Host[] = "127.0.0.1"
new User[] = "felhasznalo"
new Pass[] = "jelszo"
new Db[] = "adatbazis"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
register_concmd("oles_add", "concmd_oles_add", ADMIN_BAN, "<nev, #userid vagy authid>")
makeTuple()
createTable()
}
public concmd_oles_add(id, level, cid) {
static arg[128]
read_argv(1, arg, sizeof(arg) - 1)
new target = cmd_target(id, arg)
new target_ip[35]
get_user_ip(target, target_ip, sizeof(target_ip) - 1, 1)
new target_steamid[35]
get_user_authid(target, target_steamid, sizeof(target_steamid) - 1)
new ErrorCode
new Error[512]
new Handle:SqlConnection = SQL_Connect(g_SqlTuple, ErrorCode, Error, 511)
if(SqlConnection == Empty_Handle)
{
set_fail_state(Error)
}
new Handle:Query = SQL_PrepareQuery(SqlConnection, "SELECT * FROM sorozatgyilkos WHERE steamid = ^"%s^" OR ip = ^"%s^"", target_steamid, target_ip)
if(!SQL_Execute(Query))
{
SQL_QueryError(Query, Error, 511)
set_fail_state(Error)
}
if(SQL_NumRows(Query) < 1)
{
new szTemp[512]
format(szTemp,charsmax(szTemp),"INSERT INTO sorozatgyilkos SET steamid = ^"%s^", ip = ^"%s^"", target_steamid, target_ip)
SQL_ThreadQuery(g_SqlTuple,"updateTableThread", szTemp)
if(is_user_alive(target)) user_kill(target)
}
else console_print(id,"Mar szerepel a jatekos a listaban.")
SQL_FreeHandle(Query)
SQL_FreeHandle(SqlConnection)
}
public spawn_event(id) {
new ErrorCode
new Error[512]
new Handle:SqlConnection = SQL_Connect(g_SqlTuple, ErrorCode, Error, 511)
if(SqlConnection == Empty_Handle)
{
set_fail_state(Error)
}
new nev[32]
get_user_name(id, nev, charsmax(nev))
new steamid[32]
get_user_authid(id, steamid, charsmax(steamid))
new ip[32]
get_user_ip(id, ip, charsmax(ip), 1)
new Handle:Query = SQL_PrepareQuery(SqlConnection, "SELECT * FROM sorozatgyilkos WHERE steamid = ^"%s^" OR ip = ^"%s^"", steamid, ip)
if(!SQL_Execute(Query))
{
SQL_QueryError(Query, Error, 511)
set_fail_state(Error)
}
if(SQL_NumRows(Query) > 0)
{
set_task(3.0,"oles",id)
}
SQL_FreeHandle(Query)
SQL_FreeHandle(SqlConnection)
}
public oles(id) user_kill(id)
public makeTuple() {
g_SqlTuple = SQL_MakeDbTuple(Host,User,Pass,Db)
}
public createTable() {
SQL_ThreadQuery(g_SqlTuple,"createTableThread", "CREATE TABLE IF NOT EXISTS sorozatgyilkos (`steamid` varchar(32), `ip` varchar(32))")
}
public createTableThread(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) {
if(FailState == TQUERY_CONNECT_FAILED)
return set_fail_state("Nem tudtam csatlakozni az adatbazishoz.")
else if(FailState == TQUERY_QUERY_FAILED)
return set_fail_state("Query Error")
if(Errcode)
return log_amx("Hibat dobtam: %s",Error)
return PLUGIN_CONTINUE
}
public plugin_end() {
SQL_FreeHandle(g_SqlTuple)
}
public updateTableThread(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
if(FailState == TQUERY_CONNECT_FAILED)
return set_fail_state("Nem tudtam csatlakozni az adatbazishoz.")
else if(FailState == TQUERY_QUERY_FAILED)
return set_fail_state("query hiba")
if(Errcode)
return log_amx("Hibat dobtam: %s",Error)
return PLUGIN_CONTINUE
}
public updateTableStatsThread(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
if(FailState == TQUERY_CONNECT_FAILED)
return set_fail_state("Nem tudtam letrehozni az adatbazist.")
else if(FailState == TQUERY_QUERY_FAILED)
return set_fail_state("query hiba")
if(Errcode)
return log_amx("Hibat dobtam: %s",Error)
return PLUGIN_CONTINUE
}