#include <amxmodx>
#include <amxmodx>
#include <colorchat>
#include <engine>
new regisztralva[33], belepve[33], irt[33], irt1[33], regfelhasznalo[32][33], felhasznalo[32][33], regjelszo[32][33], jelszo[32][33]
public plugin_init()
{
register_plugin("Regisztrációs Rendszer", "1.2", "author")
register_clcmd("REG_JELSZO", "regisztralas")
register_clcmd("LOG_JELSZO", "belepes")
register_clcmd("JELENLEGI_JELSZO", "kerdes")
register_clcmd("UJ_JELSZO", "csere")
}
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("Teszt Login System", "reg_handler")
if(irt[id] == true)
{
format(fh, charsmax(fh), "\rFelhasználónév: \d%s^n", regfelhasznalo[id])
menu_additem(menu,fh, "1",0)
format(jsz, charsmax(jsz), "\rJelszĂł: \d%s^n", regjelszo[id])
menu_additem(menu,jsz, "2",0)
menu_additem(menu, "\yRegisztrálás", "3", 0)
}
else
{
format(fh, charsmax(fh), "\rFelhasználónév: ^n")
menu_additem(menu,fh, "1",0)
format(jsz, charsmax(jsz), "\rJelszĂł: ^n")
menu_additem(menu,jsz, "2",0)
menu_additem(menu, "\yRegisztrálás", "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 logmenu(id)
{
new nev[32], fh[121], jsz[121]
get_user_name(id, nev, 31)
new menu = menu_create("Teszt Login System", "log_handler")
if(irt1[id] == true)
{
format(fh, charsmax(fh), "\rFelhasználónév: \d%s", felhasznalo[id])
menu_additem(menu,fh, "1",0)
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("Teszt Login System (2016)", "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_destroy(menu)
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, "Sikeresen regisztralcio! Felhasznalo:^3 %s Jelszavad:^3 %s", regfelhasznalo[id], regjelszo[id])
}
case 4:
{
regmenu(id)
ColorChat(id, GREEN, "[Információ] ^1Nem adtál meg ^3Jelszót!")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public log_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
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, "Sikeresen Bejelentkeztél.")
}
else
{
ColorChat(id, GREEN, "Hibás ^3Jelszót ^1adtál meg!")
}
}
case 4:
{
ColorChat(id, GREEN, "Keres fel minket Skypon: ^3.......")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
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
felhasznalo[id] = ""
jelszo[id] = ""
ColorChat(id, GREEN, "[Információ] ^1Sikeresen ^3Kijelentkeztél.")
}
case 2:
{
client_cmd(id, "messagemode JELENLEGI_JELSZO")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public regisztralas(id)
{
new adat[32]
new hosszusag = strlen(adat)
read_args(adat, charsmax(adat))
remove_quotes(adat)
if(hosszusag >= 5) {
regfelhasznalo[id] = adat
regjelszo[id] = adat
irt[id] = true
regmenu(id)
}
else {
regfelhasznalo[id] = adat
regjelszo[id] = adat
irt[id] = true
regmenu(id)
}
return PLUGIN_CONTINUE
}
public belepes(id)
{
new adat[32]
read_args(adat, charsmax(adat))
remove_quotes(adat)
if(equal(adat, ""))
return PLUGIN_HANDLED
felhasznalo[id] = adat
jelszo[id] = adat
irt1[id] = true
logmenu(id)
return PLUGIN_HANDLED
}
public client_putinserver(id) {
Load(id)
}
public client_disconnect(id) {
Save(id)
felhasznalo[id] = ""
jelszo[id] = ""
belepve[id] = false
irt[id] = false
irt1[id] = false
}
public Load(id)
{
new name[33]
get_user_name(id, name, 32)
new filenev[128]
format(filenev, 127, "addons/amxmodx/mod/adatok/%s.txt", regfelhasznalo[id])
new sor = 0
if (is_user_bot(id) || !file_exists(filenev))
return
new regfelhasznalo_mny[32], regjelszo_mny[32]
new len
sor++
read_file(filenev, sor, regfelhasznalo_mny, 63, len)
sor++
read_file(filenev, sor, regjelszo_mny, 63, len)
sor++
}
public Save(id)
{
new name[33]
get_user_name(id, name, 32)
new filenev[128], tartalom[32]
format(filenev, sizeof(filenev), "addons/amxmodx/configs/adatok/%s.txt", regfelhasznalo[id])
new sor = 0
formatex(tartalom, charsmax(tartalom), "%s", regfelhasznalo[id])
write_file(filenev, tartalom, sor)
sor++
formatex(tartalom, charsmax(tartalom), "%s", regjelszo[id])
write_file(filenev, tartalom, sor)
sor++
}