- #include <amxmodx> 
- #include <colorchat> 
- #include <sqlx> 
-   
- new const Prefix[] = "Torreto Regi"; 
-   
- new gFelhasznalo[33][100], gJelszo[33][100], gMenu[33], gId[33], gFolyamatban[33], bool:gBejelentkezes[33] , Aktivitas[33]; 
-   
- new Handle:SqlTuple; 
-   
- new const SqlN[][] = { "127.0.0.1", "", "", ""  } 
-   
-   
- public plugin_init() { 
-     register_plugin("","",""); 
-      
-     register_clcmd("say /reg", "RegisztMenu"); 
-      
-     register_clcmd("Jelszo", "cmdJelszo"); 
-     register_clcmd("Felhasznalo", "cmdFelhasznalo"); 
- } 
- public RegisztMenu(id) { 
-     new menu = menu_create("Regisztrációs Menü", "Regi_h"); 
-      
-     menu_additem(menu, "Regisztrálás", "0", 0); 
-     menu_additem(menu, "Bejelentkezés", "1", 0); 
-      
-     menu_display(id, menu, 0); 
- } 
- public Regi_h(id, menu, item) { 
-     switch(item) { 
-         case MENU_EXIT: { 
-             menu_destroy(menu); 
-             return; 
-         } 
-         case 0: { 
-             RegFomenu(id); 
-             gMenu[id] = 0; 
-         } 
-         case 1: { 
-             RegFomenu(id); 
-             gMenu[id] = 1; 
-         } 
-     } 
- } 
- public RegFomenu(id) { 
-     new cim[121]; 
-     new menu = menu_create(gMenu[id] == 0? "Reigsztrációs Menü":"Bejelentkezés Menü", "RegFo_h"); 
-      
-     format(cim, charsmax(cim), "Felhasználónév: %s", gFelhasznalo[id]); 
-     menu_additem(menu, cim, "0", 0); 
-      
-     format(cim, charsmax(cim), "Jelszo: %s", gJelszo[id]); 
-     menu_additem(menu, cim, "1", 0); 
-      
-     menu_additem(menu, gMenu[id] == 0 ? "Regisztrálás!":"Bejelentkezés!", "2",0); 
-      
-     menu_display(id, menu, 0); 
- } 
- public RegFo_h(id, menu, item) { 
-     if(item == MENU_EXIT) 
-     { 
-         menu_destroy(menu); 
-         return; 
-     } 
-      
-     new data[9], szName[64]; 
-     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: client_cmd(id, "messagemode Felhasznalo"); 
-             case 1: client_cmd(id, "messagemode Jelszo"); 
-             case 2: cmdBejelentkezes(id); 
-         } 
- } 
- public cmdBejelentkezes(id) { 
-     if(gBejelentkezes[id] == true) 
-         return PLUGIN_HANDLED; 
-      
-      
-     if((strlen(gFelhasznalo[id]) == 0)) { 
-         ColorChat(id, NORMAL, "^4[%s] ^1Nem adtál meg felhaszálónevet!", Prefix); 
-         RegFomenu(id) 
-         return PLUGIN_HANDLED; 
-     } 
-     if((strlen(gJelszo[id]) == 0)) { 
-         ColorChat(id, NORMAL, "^4[%s] ^1Nem adtál meg jelszót!", Prefix); 
-         RegFomenu(id) 
-         return PLUGIN_HANDLED; 
-     } 
-      
-     if(gMenu[id] ==  0) { 
-         if(gFolyamatban[id] == 0) { 
-             ColorChat(id, NORMAL, "^4[%s] ^1Regisztrálás folyamatban van.... Kérlek várj!", Prefix); 
-             SqlAccBetolt(id); 
-             RegFomenu(id); 
-             gFolyamatban[id] = 1; 
-             return PLUGIN_HANDLED; 
-         } 
-         else RegFomenu(id); 
-     } 
-     if(gMenu[id] ==  1) { 
-         if(gFolyamatban[id] == 0) { 
-             ColorChat(id, NORMAL, "^4[%s] ^1Bejelentkezés folyamatban van.... Kérlek várj!", Prefix); 
-             SqlAccBetolt(id); 
-             RegFomenu(id); 
-             gFolyamatban[id] = 1; 
-             return PLUGIN_HANDLED; 
-         } 
-         else RegFomenu(id); 
-     } 
-      
-     return PLUGIN_CONTINUE; 
- } 
- public cmdJelszo(id) { 
-     if(gBejelentkezes[id] == true) 
-         return PLUGIN_HANDLED; 
-      
-     gJelszo[id][0] = EOS; 
-     read_args(gJelszo[id], 99); 
-     remove_quotes(gJelszo[id]); 
-      
-     if((strlen(gJelszo[id]) < 4 || strlen(gJelszo[id]) > 20)) { 
-         ColorChat(id, NORMAL, "^4[%s] ^1A jelszavad nem lehet rővidebb mint 4, illetve hosszabb 20 karakternél!.", Prefix); 
-         gJelszo[id][0] = EOS; 
-     } 
-      
-     RegFomenu(id); 
-     return PLUGIN_HANDLED; 
- } 
- public cmdFelhasznalo(id) { 
-     if(gBejelentkezes[id] == true) 
-         return PLUGIN_HANDLED; 
-      
-     gFelhasznalo[id][0] = EOS; 
-     read_args(gFelhasznalo[id], 99); 
-     remove_quotes(gFelhasznalo[id]); 
-      
-     if((strlen(gFelhasznalo[id]) < 4 || strlen(gFelhasznalo[id]) > 20)) { 
-         ColorChat(id, NORMAL, "^4[%s] ^1A felhasználóneved nem lehet rővidebb mint 4, illetve hosszabb 20 karakternél!.", Prefix); 
-         gFelhasznalo[id][0] = EOS; 
-     } 
-      
-     RegFomenu(id); 
-     return PLUGIN_HANDLED; 
- } 
- public client_putinserver(id) 
- { 
-     gBejelentkezes[id] = false 
-     Aktivitas[id] = 0 
- } 
- public client_disconnect(id)  
- { 
-     if(gBejelentkezes[id]) { 
-         SqlAccFissites(id); 
-     } 
-      
-     gFelhasznalo[id][0] = EOS; 
-     gJelszo[id][0] = EOS; 
-     gBejelentkezes[id] = false; 
-     Aktivitas[id] = 0 
- } 
- public plugin_cfg() { 
-     SqlTuple = SQL_MakeDbTuple(SqlN[0], SqlN[1], SqlN[2], SqlN[3]); 
- } 
- public SqlAccBetolt(id) { 
-     new Query[2048], Len = 0; 
-      
-     new a[191]; 
-      
-     format(a, 190, "%s", gFelhasznalo[id]); 
-      
-     replace_all(a, 190, "\", "\\") 
-     replace_all(a, 190, "'", "\'") 
-      
-     Len += format(Query[Len], charsmax(Query), "SELECT * FROM regi_sql "); 
-     Len += format(Query[Len], charsmax(Query)-Len, "WHERE Felhasznalo = '%s'", a); 
-      
-     new Data[2] 
-     Data[0] = id; 
-     Data[1] = get_user_userid(id); 
-      
-     SQL_ThreadQuery(SqlTuple, "SqlAccBetoltQwe", Query, Data, 2); 
- } 
- public SqlAccBetoltQwe(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) { 
-     if(FailState == TQUERY_CONNECT_FAILED) 
-     { 
-         set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!") 
-         return 
-     } 
-     else if(FailState == TQUERY_QUERY_FAILED) 
-     { 
-         set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!") 
-         return 
-     } 
-      
-     if(Errcode) 
-     { 
-         log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error) 
-         return 
-     } 
-      
-     new id = Data[0]; 
-      
-     if(Data[1] != get_user_userid(id)) 
-         return; 
-      
-     new Found = SQL_NumRows(Query); 
-      
-     if(gMenu[id] == 0) { 
-         if(Found > 0) { 
-             ColorChat(id, NORMAL, "^4[%s] ^1Ez a felhasználónév már foglalt!", Prefix); 
-             gFolyamatban[id] = 0; 
-             RegFomenu(id); 
-         } 
-         else SqlAccKeszit(id); 
-     } 
-     else if(gMenu[id] == 1) { 
-         if(Found == 0) { 
-             ColorChat(id, NORMAL, "^4[%s] ^1Hibás jelszó vagy felhasználónév!", Prefix); 
-             gFolyamatban[id] = 0; 
-             RegFomenu(id); 
-         } 
-         else SqlAccLoad(id); 
-     } 
- } 
- public SqlAccKeszit(id) { 
-     new Query[2048], Len = 0; 
-      
-     new a[191], b[191], c[191]; 
-      
-     format(a, 190, "%s", gFelhasznalo[id]); 
-     format(b, 190, "%s", gJelszo[id]); 
-      
-     replace_all(a, 190, "\", "\\") 
-     replace_all(a, 190, "'", "\'") 
-     replace_all(b, 190, "\", "\\") 
-     replace_all(b, 190, "'", "\'") 
-      
-     new Nev[32]; get_user_name(id, Nev, 31); 
-      
-     format(c, 190, "%s", Nev); 
-      
-     replace_all(c, 190, "\", "\\") 
-     replace_all(c, 190, "'", "\'") 
-      
-     Len += format(Query[Len], charsmax(Query), "INSERT INTO regi_sql "); 
-     Len += format(Query[Len], charsmax(Query)-Len, "(Felhasznalo, Jelszo,Jatekosnev) VALUES ('%s', '%s', '%s')", a, b, c); 
-      
-     new Data[2] 
-     Data[0] = id; 
-     Data[1] = get_user_userid(id); 
-      
-     SQL_ThreadQuery(SqlTuple,"SqlAccKeszitQwe", Query, Data, 2) 
- } 
- public SqlAccKeszitQwe(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) { 
-     if(FailState == TQUERY_CONNECT_FAILED) 
-     { 
-         set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!") 
-         return 
-     } 
-     else if(FailState == TQUERY_QUERY_FAILED) 
-     { 
-         set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!") 
-         return 
-     } 
-      
-     if(Errcode) 
-     { 
-         log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error) 
-         return 
-     } 
-      
-     new id = Data[0]; 
-      
-     if(Data[1] != get_user_userid(id)) 
-         return; 
-      
-     ColorChat(id, NORMAL, "^4[%s] ^1Sikeresen Regisztráltál! Felhasználónév: ^4%s ^1| Jelszó: ^4%s", Prefix, gFelhasznalo[id], gJelszo[id]); 
-     gFolyamatban[id] = 0; 
-     gMenu[id] = 1; 
-     RegFomenu(id); 
-     return; 
- } 
- public SqlAccLoad(id) { 
-     new Query[2048], Len = 0; 
-      
-     Len += format(Query[Len], charsmax(Query), "SELECT * FROM regi_sql "); 
-     Len += format(Query[Len], charsmax(Query)-Len, "WHERE Felhasznalo = '%s'", gFelhasznalo[id]); 
-      
-     new Data[2]; 
-     Data[0] = id; 
-     Data[1] = get_user_userid(id); 
-      
-     SQL_ThreadQuery(SqlTuple,"SqlAccLoadQwe", Query, Data, 2); 
- } 
- public SqlAccLoadQwe(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) { 
-     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) 
-     { 
-         log_amx("%s", Error) 
-         return 
-     } 
-     else 
-     { 
-         new id = Data[0]; 
-          
-         if (Data[1] != get_user_userid(id)) 
-             return ; 
-          
-         new Password[100]; 
-         SQL_ReadResult(Query, 2, Password, 99); 
-          
-         if(equal(gJelszo[id], Password)) 
-         { 
-             Aktivitas[id] = SQL_ReadResult(Query, 4); 
-             if(Aktivitas[id] > 0) { 
-                 RegFomenu(id); 
-                 return; 
-             } 
-             gId[id] = SQL_ReadResult(Query, 0); 
-             //pelda ha 1 tombot mentesz tomb[id] = SQL_ReadResult(Query, 3); es igy tovabb 
-              
-             ColorChat(id, NORMAL, "^4[%s] ^3%s ^1Üdv sikeresen bejelentkeztél!", Prefix, gFelhasznalo[id]); 
-             gFolyamatban[id] = 0 
-             gBejelentkezes[id] = true; 
-         } 
-         else  { 
-             ColorChat(id, NORMAL, "^4[%s] ^1Hibás jelszó vagy felhasználónév!", Prefix); 
-             gFolyamatban[id] = 0; 
-             RegFomenu(id); 
-         } 
-     } 
- } 
- public SqlAccFissites(id) { 
-     new Query[2048], Len = 0; 
-      
-     new c[191]; 
-      
-     new Nev[32]; get_user_name(id, Nev, 31); 
-      
-     format(c, 190, "%s", Nev); 
-      
-     replace_all(c, 190, "\", "\\") 
-     replace_all(c, 190, "'", "\'") 
-      
-     Len += format(Query[Len], charsmax(Query), "UPDATE regi_sql SET "); 
-      
-     //Len += format(Query[Len], charsmax(Query), "Tomb = '%d', ", Tomb[id]); ez egy pelda es ennyi 
-      
-     Len += format(Query[Len], charsmax(Query)-Len,"Jatekosnev = '%s', ", c); 
-     Len += format(Query[Len], charsmax(Query)-Len,"Aktivitas = '%d' ", Aktivitas[id]); 
-     Len += format(Query[Len], charsmax(Query)-Len,"WHERE Id = '%d'", gId[id]); 
-      
-     SQL_ThreadQuery(SqlTuple,"SqlUpdateQwe", Query); 
- } 
- public SqlUpdateQwe(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) { 
-     if(FailState == TQUERY_CONNECT_FAILED)return set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!") 
-     else if(FailState == TQUERY_QUERY_FAILED) return set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!") 
-         if(Errcode) return log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error) 
-      
-     return PLUGIN_CONTINUE 
- }