#include <amxmodx>
#include <amxmisc>
#include <sqlx>
#include <ironvip>
#define PLUGIN "SQL VIP"
#define VERSION "1.0"
#define AUTHOR "IrOn"
new Handle:g_SqlTuple
new g_error[512]
new sqllekerdezes[1024];
new bool:is_user_vip[33]=false;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("vip_belepes", "vip_belepes")
register_clcmd("vip_kilepes", "vip_kilepes")
register_clcmd("say /viphelp", "viphelp")
register_clcmd("say /vip", "viponline")
g_SqlTuple = SQL_MakeDbTuple("kiszolgalo(host)","felhasznalo", "jelszo","adatbazis")
new errorcode, Handle:SqlConnection = SQL_Connect(g_SqlTuple, errorcode, g_error, charsmax(g_error))
SQL_FreeHandle(SqlConnection)
}
public plugin_natives()
{
register_library("ironvip_sql")
register_native("is_vip", "_is_vip")
}
public _is_vip(plugin, parameters)
{
if(parameters != 1)
return false
new id = get_param(1)
if(!id)
return false
if(is_user_vip[id])
{
return true
}
return false
}
public viphelp(id)
{
show_motd( id,"addons/amxmodx/configs/vip/info.txt");
}
public viponline(id)
{
new players[32], pnum, vip=0;
get_players(players, pnum)
for(new i = 0; i < pnum; i++)
{
if(is_user_vip[players[i]])
vip++
}
client_print(id, print_chat, "Jelenleg online %d VIP!", vip)
}
public client_connect(id)
{
is_user_vip[id] = false;
new userip[64], usersteamid[64];
get_user_ip(id, userip, charsmax(userip));
get_user_authid(id, usersteamid, charsmax(usersteamid));
new data[1]
data[0] = id
formatex(sqllekerdezes, charsmax(sqllekerdezes), "SELECT * FROM `vipek` WHERE tipusadat = ^"%s^" AND tipus=^"1^" AND aktiv=^"1^";", usersteamid)
SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", sqllekerdezes, data, 1)
formatex(sqllekerdezes, charsmax(sqllekerdezes), "SELECT * FROM `vipek` WHERE tipusadat = ^"%s^" AND tipus=^"2^" AND aktiv=^"1^";", userip)
SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", sqllekerdezes, data, 1)
}
public vip_belepes(id)
{
new vipuser[32], vippass[32]
read_argv(1,vipuser,31)
read_argv(2,vippass,31)
new userip[64], usersteamid[64];
get_user_ip(id, userip, charsmax(userip), 1);
get_user_authid(id, usersteamid, charsmax(usersteamid));
if(vipuser[0] > 0)
{
if(vippass[0] > 0)
{
new data[1]
data[0] = id
formatex(sqllekerdezes, charsmax(sqllekerdezes), "SELECT * FROM `vipek` WHERE tipusadat = ^"%s^" AND jelszo = ^"%s^" AND tipus=^"3^" AND aktiv=^"1^";", vipuser, vippass)
SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", sqllekerdezes, data, 1)
}
else
{
if(equal(vipuser, "ip"))
{
new data[1]
data[0] = id
formatex(sqllekerdezes, charsmax(sqllekerdezes), "SELECT * FROM `vipek` WHERE tipusadat = ^"%s^" AND tipus=^"2^" AND aktiv=^"1^";", userip)
SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", sqllekerdezes, data, 1)
}
else if(equal(vipuser, "id"))
{
new data[1]
data[0] = id
formatex(sqllekerdezes, charsmax(sqllekerdezes), "SELECT * FROM `vipek` WHERE tipusadat = ^"%s^" AND tipus=^"1^" AND aktiv=^"1^";", usersteamid)
SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", sqllekerdezes, data, 1)
}
else
{
client_print(id, print_console, "VIP | Hibas adatok!")
}
}
}
else
{
client_print(id, print_console, "VIP | Nem adtal meg mindent!")
}
return PLUGIN_HANDLED;
}
public vip_kilepes(id)
{
is_user_vip[id] = false;
client_print(id, print_console, "VIP | Kijelentkeztel!")
return PLUGIN_HANDLED
}
public QuerySelectData(FailState, Handle:Query, error[], errorcode, data[], datasize, Float:fQueueTime)
{
if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
{
log_amx("%s", error)
return
}
else
{
new id = data[0];
while(SQL_MoreResults(Query))
{
is_user_vip[id] = true;
client_print(id, print_console, "VIP | Sikeres bejelentkezes!")
SQL_NextRow(Query)
}
if(is_user_vip[id] == false)
client_print(id, print_console, "VIP | Hibas adatok, nem vagy VIP!")
}
}
public QuerySetData(FailState, Handle:Query, error[],errcode, data[], datasize)
{
if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
{
return
}
}