#include <amxmod>
#include <colorchat>
#include <savedata>
new regisztralva[33], bool:belepve[33], bool:irt[33], bool:irt1[33], regjelszo[32][33], jelszo[32][33]
new const file[] = "regadatok"
public plugin_init()
{
register_plugin("Regisztrációs Rendszer", "0.8", "QUEXTON")
register_clcmd("say /reg", "fomenu")
register_clcmd("nightvision", "letilt")
register_clcmd("REG_JELSZO", "regisztralas")
register_clcmd("LOG_JELSZO", "belepes")
register_clcmd("JELENLEGI_JELSZO", "kerdes")
register_clcmd("UJ_JELSZO", "csere")
}
public letilt(id)
{
if(belepve[id] == false)
{
fomenu(id)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public fomenu(id)
{
if(belepve[id] == true)
{
menu(id)
}
else if(regisztralva[id] == 1)
{
logmenu(id)
}
else if(regisztralva[id] == 0)
{
regmenu(id)
}
}
public regmenu(id)
{
new nev[32], fh[121], jsz[121]
get_user_name(id, nev, 31)
new menu = menu_create("\rRegisztrációs Rendszer^n\rStátusz: \dNem Regisztrált^n", "reg_handler")
format(fh, charsmax(fh), "\rFelhasználónév: \d%s", nev)
menu_additem(menu,fh, "1",0)
if(irt[id] == true)
{
format(jsz, charsmax(jsz), "\rJelszó: \d%s^n", regjelszo[id])
menu_additem(menu,jsz, "2",0)
}
else
{
format(jsz, charsmax(jsz), "\rJelszó: ^n")
menu_additem(menu,jsz, "2",0)
}
menu_additem(menu, "\yRegisztrálás", "3", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public logmenu(id)
{
new nev[32], fh[121], jsz[121]
get_user_name(id, nev, 31)
new menu = menu_create("\rRegisztrációs Rendszer^n\rStátusz: \dRegisztrálva", "log_handler")
format(fh, charsmax(fh), "\rFelhasználónév: \d%s", nev)
menu_additem(menu,fh, "1",0)
if(irt1[id] == true)
{
format(jsz, charsmax(jsz), "\rJelszó: \d%s^n", jelszo[id])
menu_additem(menu,jsz, "2",0)
}
else
{
format(jsz, charsmax(jsz), "\rJelszó: ^n")
menu_additem(menu,jsz, "2",0)
}
menu_additem(menu, "\yBelépés", "3", 0)
menu_additem(menu, "\wElfelejtettem a \rJelszavam", "4", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public menu(id)
{
new menu = menu_create("\rRegisztrációs Rendszer:^nStátusz: \dBejelentkezve", "menu_handler")
menu_additem(menu, "\rKijelentkezés", "1", 0)
menu_additem(menu, "\rJelszó Váltás", "2", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public reg_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_cancel(id)
return PLUGIN_HANDLED
}
new data[9], access, callback, szName[64]
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
regmenu(id)
}
case 2:
{
client_cmd(id, "messagemode REG_JELSZO")
}
case 3:
{
regisztralva[id] = 1
irt[id] = false
ColorChat(id, GREEN, "[Információ] ^1Sikeresen regisztráltál a ^3Szervere.")
}
}
menu_cancel(id)
return PLUGIN_HANDLED
}
public log_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_cancel(id)
return PLUGIN_HANDLED
}
new data[9], access, callback, szName[64]
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
logmenu(id)
}
case 2:
{
client_cmd(id, "messagemode LOG_JELSZO")
}
case 3:
{
if(equali(jelszo[id], regjelszo[id]))
{
irt1[id] = false
belepve[id] = true
ColorChat(id, GREEN, "[Információ] ^1Sikeresen Bejelentkeztél.")
}
else
{
ColorChat(id, GREEN, "[Információ] ^1Hibás ^3Jelszót ^1adtál meg!")
}
}
case 4:
{
ColorChat(id, GREEN, "[Információ] ^1Keres fel minket Skypon: ^3dianics.sanyi2, Quex.szili^1.")
}
}
menu_cancel(id)
return PLUGIN_HANDLED
}
public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_cancel(id)
return PLUGIN_HANDLED
}
new data[9], access, callback, szName[64]
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
belepve[id] = false
jelszo[id] = ""
ColorChat(id, GREEN, "[Információ] ^1Sikeresen ^3Kijelentkeztél.")
}
case 2:
{
client_cmd(id, "messagemode JELENLEGI_JELSZO")
}
}
menu_cancel(id)
return PLUGIN_HANDLED
}
public regisztralas(id)
{
new adat[32]
read_args(adat, charsmax(adat))
remove_quotes(adat)
if(equal(adat, ""))
return PLUGIN_HANDLED
regjelszo[id] = adat
irt[id] = true
regmenu(id)
return PLUGIN_HANDLED
}
public belepes(id)
{
new adat[32]
read_args(adat, charsmax(adat))
remove_quotes(adat)
if(equal(adat, ""))
return PLUGIN_HANDLED
jelszo[id] = adat
irt1[id] = true
logmenu(id)
return PLUGIN_HANDLED
}
public kerdes(id)
{
new adat[32]
read_args(adat, charsmax(adat))
remove_quotes(adat)
if(equal(adat, ""))
return PLUGIN_HANDLED
if(equali(regjelszo[id], adat))
{
client_cmd(id, "messagemode UJ_JELSZO")
}
else
{
ColorChat(id, GREEN, "[Információ] ^1Rossz ^3Jelszót ^1adtál meg.")
}
return PLUGIN_HANDLED
}
public csere(id)
{
new adat[32]
read_args(adat, charsmax(adat))
remove_quotes(adat)
if(equal(adat, ""))
return PLUGIN_HANDLED
regjelszo[id] = adat
return PLUGIN_HANDLED
}
public client_authorized(id)
{
if( !is_user_hltv(id) && !is_user_bot(id) )
{
Load(id)
}
}
public client_disconnect(id)
{
Save(id)
jelszo[id] = ""
belepve[id] = false
irt[id] = false
irt1[id] = false
}
Load(id)
{
new nev[35]
get_user_name(id, nev, sizeof(nev)-1)
new adatok[20]
format(adatok, 19, "%s %i", regjelszo[id], regisztralva[id]);
if(fvault_get_data(file, nev, adatok, 19))
{
new pw[33], reg[33]
parse(adatok, pw, 32, reg, 32);
regjelszo[id] = pw
regisztralva[id] = str_to_num(reg)
}
else
{
regjelszo[id] = ""
regisztralva[id] = 0;
}
}
Save(id)
{
new nev[35]
get_user_name(id, nev, sizeof(nev)-1)
new adatok[20]
format(adatok, 19, "%s %i", regjelszo[id], regisztralva[id]);
fvault_set_data(file, nev, adatok)
}