- #include <amxmodx> 
- #include <amxmisc> 
- #include <engine> 
- #include <cstrike> 
- #include <fun> 
- #include <nvault> 
- #include <fakemeta> 
- #include <fakemeta_util> 
- #include <hamsandwich> 
- #include <csx> 
- #include <dhudmessage> 
- #include <geoip> 
-   
- #define PLUGIN "DerO Reg Rendszer" 
- #define VERSION "2.0" 
- #define AUTHOR "DeRoiD" 
-   
-   
- // Regisztráció 
- new jelszo[32], reg_pont[33], belepve[33], beirt_jelszo[32], mentett_pw[33][32], beirt_pw[33][32], olvas[33], bool:kijelentkezve[33], ef_jsz[32][33] 
- new users_db_file[256] , reg_vault, probal[33], irt[33] 
-   
-   
- public plugin_init() { 
-     register_plugin(PLUGIN, VERSION, AUTHOR) 
-   
-     reg_vault = nvault_open("Regisztraciosmenu") 
-     check_db() 
-     register_clcmd("REGISZTRACIOS_JELSZO", "reg_jelszo") 
-     register_clcmd("BELEPESI_JELSZO", "belepes_jelszo") 
-     // Add your code here... 
- } 
- public Regisztralas(id) { 
- new menu 
- new ks1[121], ks2[121], cim[121] 
- new nev[32] 
- get_user_name(id, nev, 31) 
- if(olvas[id] == 0){ 
- format(cim, charsmax(cim),"\rRegisztrációs Rendszer^n \rStátusz : \dNem regisztrált") 
- menu = menu_create(cim,"Regisztralas_handler") 
- format(ks1, charsmax(ks1),"\rSzabályzat^n") 
- menu_additem(menu,ks1,"5",0) 
- menu_additem(menu,"\yElfogadom a szabályzatot!","6",0) 
- menu_additem(menu,"\dNem fogadom el!","7",0) 
- menu_display(id,menu,0) 
- } 
- if(belepve[id] == 0 && olvas[id] == 1){ 
- if(reg_pont[id] == 0){ 
- format(cim, charsmax(cim),"\rRegisztrációs Rendszer^nStátusz: \dNem regisztrált") 
- } 
- else if(reg_pont[id] == 1 && kijelentkezve[id] == false){ 
- format(cim, charsmax(cim),"\rRegisztrációs Rendszer^nStátusz: \dRegisztrálva^n\rPróbálkozások : \d%d/3", probal[id]) 
- } 
- else if(reg_pont[id] == 1 && kijelentkezve[id] == true){             
- format(cim, charsmax(cim),"Regisztrációs Rendszer^nStátusz: \dKijelentkezve^n\rPróbálkozások : \d%d/3", probal[id]) 
- } 
- menu = menu_create(cim,"Regisztralas_handler") 
- format(ks2, charsmax(ks2),"\rFelhasználónév:\d %s", nev) 
- if(reg_pont[id] == 0){ 
- if(irt[id] == 1){ 
- format(ks1, charsmax(ks1),"\rJelszó: \d%s^n", mentett_pw[id]) 
- } 
- else if(irt[id] == 0){ 
- format(ks1, charsmax(ks1),"\rJelszó: \d^n") 
- } 
- } 
- else if(reg_pont[id] == 1){ 
- format(ks1, charsmax(ks1),"\rJelszó: \d%s^n", beirt_pw[id]) 
- } 
- menu_additem(menu,ks2,"0",0) 
- menu_additem(menu,ks1,"1",0) 
- if(reg_pont[id] == 0){ 
- if(irt[id] == 0){ 
- menu_additem(menu,"\dRegisztrálok","18",0) 
- } 
- else if(irt[id] == 1){ 
- menu_additem(menu,"Regisztrálok","2",0) 
- } 
- } 
- else if(reg_pont[id] == 1){ 
- menu_additem(menu,"Belépek","3",0) 
- } 
- if(reg_pont[id] == 1){ 
- menu_additem(menu,"\rElfelejtettem a jelszavam!","8",0) 
- } 
- menu_display(id,menu,0) 
- } 
- else if(belepve[id] == 1 && olvas[id] == 1) 
- { 
- format(cim, charsmax(cim),"\rRegisztrációs Rendszer^nStátusz: \dBejelentkezve") 
- menu = menu_create(cim,"Regisztralas_handler") 
- format(ks1, charsmax(ks1),"\rSzabályzat^n") 
- menu_additem(menu,ks1,"5",0) 
- menu_additem(menu,"\yKijelentkezés","4",0) 
- menu_display(id,menu,0) 
- } 
- }    
- public Regisztralas_handler(id, menu, item){ 
- if( item == MENU_EXIT ) 
- { 
- menu_destroy(menu); 
- return PLUGIN_HANDLED; 
- } 
- new data[9], szName[64], name[32] 
- get_user_name(id, name, 31) 
- new access, callback; 
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); 
- new key = str_to_num(data); 
-   
- switch(key) 
- { 
-   
- case 0: { 
- Regisztralas(id) 
- } 
- case 1:{ 
- if(reg_pont[id] == 0){ 
- client_cmd(id, "messagemode REGISZTRACIOS_JELSZO") 
- } 
- else if(reg_pont[id] == 1){ 
- client_cmd(id, "messagemode BELEPESI_JELSZO")    
- } 
- } 
- case 2:{ 
- ef_jsz[id] = jelszo 
- reg_pont[id] = 1 
- print_color(id, "!g[Információ]!y Sikeres regisztráció! Jelszavad:!t %s", mentett_pw[id]) 
- Regisztralas(id) 
- client_cmd(id,"setinfo _jelszo ^"%s^"",ef_jsz[id]) 
- regisztralas_mentese(id) 
- } 
- case 3:{ 
- if(equali(beirt_pw[id], mentett_pw[id])){ 
- belepve[id] = 1 
- print_color(id, "!g[Információ]!y Sikeresen beléptél!") 
- set_task(0.0,"motor", id) 
- if(kijelentkezve[id]){ 
- kijelentkezve[id] = false 
- } 
- } 
- else if(probal[id] >= 2) 
- { 
- server_cmd("kick #%i ^"Rossz jelszó!",get_user_userid(id)) 
- } 
- else if(!equali(beirt_pw[id], mentett_pw[id])) 
- { 
- probal[id]++ 
- print_color(id, "!g[Információ]!y Rossz jelszó!") 
- } 
- } 
- case 4:{ 
- beirt_pw[id] = "" 
- belepve[id] = 0 
- kijelentkezve[id] = true 
- print_color(id, "!g[Információ]!y Sikeresen kijelentkeztél!") 
- } 
- case 5: { 
- show_motd(id,"addons/amxmodx/configs/info/szabalyzat.txt","Szabályzat") 
- } 
- case 6: { 
- olvas[id] = 1 
- print_color(id, "!g[Információ]!y Elfogadtad a szabályokat !!!") 
- Regisztralas(id) 
- } 
- case 7: { 
- print_color(id, "!g[Információ]!y Szabály elfogadása nélkül nem regisztrálhatsz!") 
- } 
- case 8: { 
- print_color(id, "!g[Információ]!y TeamSpeak3:!") 
- } 
- case 18:{ 
- print_color(id, "!g[Információ]!y Nem írtál be jelszót!") 
- Regisztralas(id) 
- } 
- } 
- menu_destroy(menu); 
- return PLUGIN_HANDLED; 
- } 
- public belepes_jelszo(id) 
- { 
-     read_args(beirt_jelszo, charsmax(beirt_jelszo)) 
-     remove_quotes(beirt_jelszo) 
-     new hossz = strlen(beirt_jelszo) 
-     if(equal(beirt_jelszo, "")) 
-         return PLUGIN_HANDLED 
-   
-     if(hossz < 6) 
-     { 
-         print_color(id, "!g[Információ]!y Jelszavadnak minimum 6 betűnek kell lennie!") 
-         client_cmd(id, "messagemode BELEPESI_JELSZO") 
-     } 
-     else 
-     { 
-         beirt_pw[id] = beirt_jelszo 
-         Regisztralas(id) 
-     } 
-     return PLUGIN_CONTINUE 
- } 
- public reg_jelszo(id) 
- { 
-     if(reg_pont[id] == 0){ 
-         read_args(jelszo, charsmax(jelszo)) 
-         remove_quotes(jelszo) 
-         new hossz = strlen(jelszo) 
-         if(equal(jelszo, "")) 
-         return PLUGIN_HANDLED 
-   
-         if(hossz < 6) 
-         { 
-             print_color(id, "!g[Információ]!y Jelszavadnak minimum 6 betűnek kell lennie!") 
-             client_cmd(id, "messagemode REGISZTRACIOS_JELSZO") 
-         } 
-         else 
-         { 
-             irt[id] = 1 
-             mentett_pw[id] = jelszo 
-             ef_jsz[id] = jelszo 
-             Regisztralas(id) 
-         } 
-     } 
-     return PLUGIN_CONTINUE 
- } 
- public regisztralas_mentese(id) 
- { 
-     new Buffer[256] 
-   
-     new adate[128], name[32] 
-     get_time("%x", adate, sizeof adate - 1);     
-   
-     get_user_name(id, name, 31) 
-     format(Buffer, sizeof Buffer - 1, "^"%s^" ^"%s^" ^n^n^n^n", name, mentett_pw[id]); 
-   
-     new file = fopen(users_db_file, "at+"); 
-     fprintf(file, Buffer); 
-     fclose(file); 
-   
-     return 1; 
- } 
- public nevvaltas(id)  
- { 
-     if(!is_user_connected(id)) 
-         return FMRES_IGNORED 
-   
-     new regi_nev[32], uj_nev[32], nev[32] 
-     get_user_name(id, nev, 31) 
-     pev(id, pev_netname, regi_nev, charsmax(regi_nev)) 
-     if(regi_nev[0]) 
-     { 
-         get_user_info(id, "name", uj_nev, charsmax(uj_nev)) 
-         if(!equal(regi_nev, uj_nev)) 
-         { 
-             if(belepve[id] == 1) 
-             { 
-                 set_user_info(id, "name", regi_nev) 
-                 print_color(id, "!g[Információ]!y A név váltás tiltott!") 
-                 return FMRES_HANDLED 
-             } 
-             else 
-             { 
-                 set_user_info(id, "name", regi_nev) 
-                 print_color(id, "!g[Információ]!y A név váltás tiltott!") 
-                 return FMRES_HANDLED 
-             } 
-         } 
-     } 
-     return FMRES_IGNORED 
- } 
- public check_db() 
- { 
-     new datadir[64]; 
-     get_datadir(datadir, 63); 
-   
-     format(users_db_file, sizeof users_db_file - 1, "%s/user_db.ini", datadir); 
-   
-     new file_pointer = fopen(users_db_file, "r"); 
-   
-     if(!file_pointer) 
-     { 
-         server_print("NEM TALALHATO A FAJL"); 
-   
-         write_file(users_db_file, ""); 
-     } 
-     fclose(file_pointer); 
- } 
- stock check_user(id) 
- { 
-     new szFile = fopen(users_db_file, "rt"); 
-   
-     new Buffer[256], file_id[32], file_password[32], name[32] 
-     get_user_name(id, name, 31) 
-   
-     while(!feof(szFile)) 
-     { 
-         fgets(szFile, Buffer, 255); 
-   
-         if((strlen(Buffer) < 2) || Buffer[0] == ';') 
-             continue; 
-   
-         parse(Buffer, file_id, 31, file_password, 31); 
-   
-         if(equal(file_id, name)) 
-         { 
-             mentett_pw[id] = file_password 
-             break; 
-         } 
-     } 
-     fclose(szFile); 
-     return 0; 
- } 
- public client_putinserver(id) 
- { 
-     belepve[id] = 0 
-     irt[id] = 0 
-     probal[id] = 0 
-     beirt_pw[id] = "" 
-     check_user(id) 
-     set_task(3.0,"Regisztralas",id) 
- } 
- public save(id)  
- { 
-     new vaultkey[64],vaultdata[256], name[32] 
-     get_user_name(id, name, 31) 
-     format(vaultkey,63,"%s-REG", name) 
-     format(vaultdata,255,"%i#%i",reg_pont[id], olvas[id]) 
-     nvault_set(reg_vault,vaultkey,vaultdata) 
-     return PLUGIN_CONTINUE 
- } 
- public load(id)  
- {  
-     new vaultkey[64],vaultdata[256], name[32] 
-     get_user_name(id, name, 31) 
-     format(vaultkey,63,"%s-REG", name) 
-     format(vaultdata,255,"%i#%i",reg_pont[id], olvas[id]) 
-     nvault_get(reg_vault,vaultkey,vaultdata,255) 
-     replace_all(vaultdata, 255, "#", " ")  
-     new a3[32], a4[32] 
-     parse(vaultdata, a3, 31, a4, 31)  
-     reg_pont[id] = str_to_num(a3) 
-     olvas[id] = str_to_num(a4) 
-     return PLUGIN_CONTINUE; 
- } 
- stock print_color(const id, const input[], any:...) 
- { 
-         new count = 1, players[32] 
-         static msg[191] 
-         vformat(msg, 190, input, 3) 
-   
-         replace_all(msg, 190, "!g", "^4") 
-         replace_all(msg, 190, "!y", "^1") 
-         replace_all(msg, 190, "!t", "^3") 
-         replace_all(msg, 190, "á", "á") 
-         replace_all(msg, 190, "é", "Ă©") 
-         replace_all(msg, 190, "í", "Ă") 
-         replace_all(msg, 190, "ó", "Ăł") 
-         replace_all(msg, 190, "ö", "ö") 
-         replace_all(msg, 190, "ő", "Ĺ‘") 
-         replace_all(msg, 190, "ú", "Ăş") 
-         replace_all(msg, 190, "ü", "ĂĽ") 
-         replace_all(msg, 190, "ű", "ű") 
-         replace_all(msg, 190, "Á", "Ă") 
-         replace_all(msg, 190, "É", "É") 
-         replace_all(msg, 190, "Í", "ĂŤ") 
-         replace_all(msg, 190, "Ó", "Ă“") 
-         replace_all(msg, 190, "Ö", "Ă–") 
-         replace_all(msg, 190, "Ő", "Ĺ") 
-         replace_all(msg, 190, "Ú", "Ăš") 
-         replace_all(msg, 190, "Ü", "Ăś") 
-         replace_all(msg, 190, "Ű", "Ű")        
-   
-         if (id) players[0] = id; else get_players(players, count, "ch") 
-         { 
-                 for (new i = 0; i < count; i++) 
-                 { 
-                         if (is_user_connected(players[i])) 
-                         { 
-                                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) 
-                                 write_byte(players[i]) 
-                                 write_string(msg) 
-                                 message_end() 
-                         } 
-                 } 
-         } 
-         return PLUGIN_HANDLED 
- }