- #include <amxmodx> 
- #include <amxmisc> 
- #include <ColorChat> 
- #include <engine> 
- #include <cstrike> 
- #include <sqlx> 
-   
- #define TULAJ ADMIN_LEVEL_H 
- #define ADMIN ADMIN_LEVEL_D 
- #define VIP ADMIN_LEVEL_E 
- #define FOADMIN ADMIN_LEVEL_G 
- #define KONFIG ADMIN_LEVEL_F 
- #define HIRDETO ADMIN_LEVEL_C 
-   
- #define ASD 15 
-   
- //SQL MENTéS/REGRENDSZER 
- //**(exodus regrendszere és mentése)**// 
- new const SQLINFO[][] = { "", "", "", "" }; 
- new name[33][32]; 
- new Handle:g_SqlTuple; 
- new bool:Belepve[33], bool:Beirtjelszot[33], bool:Beirtjelszot1[33], bool:Beirtfelhasznalot[33], bool:Beirtfelhasznalot1[33], Regisztralt[33], Felhasznalonev[33][64], Jelszo[33][64], regJelszo[33][64], regFh[33][64]; 
-   
- new PLUGIN[] = "Rangok"; 
- new VERSION[] = "0.1.0"; 
- new AUTHOR[] = "asdasdasd"; 
-   
- new PREFIX[] = "##RippeR Team##"; 
-   
- new olesek[33], szint[33]; 
-   
- //**Chat is exodus chatje**// 
- new Temp[192]; 
-   
- new const szamok[ASD] = { 
-     100, 
-     300, 
-     550, 
-     1000, 
-     2000, 
-     4000, 
-     5000, 
-     6000, 
-     7000, 
-     8000, 
-     10000, 
-     12000, 
-     15000, 
-     18000, 
-     22000 
- } 
-   
- new const rangok[ASD+1][] = { 
-     "Újonc(Lvl.1)", 
-     "Honvéd(Lvl.2)", 
-     "Őrvezető(Lvl.3)", 
-     "Tizedes(Lvl.4)", 
-     "Szakaszvezető(Lvl.5)", 
-     "Örmester(Lvl.6)", 
-     "Hadnagy(Lvl.7)", 
-     "Főhadnagy(Lvl.8)", 
-     "Százados(Lvl.9)", 
-     "Őrnagy(Lvl.10)", 
-     "Alezredes(Lvl.11)", 
-     "Ezredes(Lvl.12)", 
-     "Dandártábornok(Lvl.13)", 
-     "Vezérnagy(Lvl.14)", 
-     "Altábornok(Lvl.15)", 
-     "Vezérezredes(Lvl.16)" 
- } 
- public plugin_init() 
- { 
-     //regrendszer 
-     register_clcmd("Reg_Felhasznalonev", "regisztralas_felh"); 
-     register_clcmd("Reg_Jelszo", "regisztralas_jelszo"); 
-     register_clcmd("Log_Felhasznalonev", "bejelentkezes_felh"); 
-     register_clcmd("Log_Jelszo", "bejelentkezes_jelszo"); 
-     register_plugin(PLUGIN, VERSION, AUTHOR) 
-     //Parancsok 
-     register_clcmd("say /rang", "showrang"); 
-     register_clcmd("say /reg", "Ellenorzes"); 
-     register_clcmd("say_team /reg", "Ellenorzes"); 
-     //Event 
-     register_event("DeathMsg", "halal", "a") 
-   
-   
-     //Ha a regrendszer menujet: 
-     //t beture szeretned 
-     //*register_impulse(201, "Ellenorzes"); 
-     //f beture szeretned 
-     //*register_impulse(100, "Ellenorzes"); 
-     //m beture szeretned 
-     //*register_clcmd("chooseteam", "Ellenorzes"); 
-   
-     //Ha valamelyik betére szeretnéd a menőt, akkor csak vedd el a --> // - jelet 
-   
-     //**FONTOS!**//(maradjon alul) 
-     register_clcmd("say", "sayhook"); 
- } 
- public halal(id) 
- { 
-     new killer = read_data(1); 
-     new victim = read_data(2); 
-   
-   
-     if(killer != victim) 
-         olesek[killer]++ 
-   
-     while(olesek[killer] >= szamok[szint[killer]]) 
-     { 
-         szint[killer]++ 
-     } 
- } 
- public showrang(id) 
- { 
-     if(szint[id] != ASD+1) 
-     { 
-         ColorChat(id, GREEN, "^4[%s] ^3Rang: ^4%s ^1| ^3Ölések: ^4%d ^1| ^3Kell még: ^4%d", PREFIX, rangok[szint[id]], olesek[id], szamok[szint[id]]-olesek[id]); 
-     } 
-     else 
-     { 
-         ColorChat(id, GREEN, "^4[%s] ^3Rang: ^4%s ^1| ^3Ölések: ^4%d", PREFIX, rangok[szint[id]], olesek[id]); 
-         ColorChat(id, GREEN, "^4[%s] ^1Elérted a legmagasabb ^3Rangot.", PREFIX); 
-     } 
-     return PLUGIN_HANDLED; 
- } 
- public Menu_Regisztracio(id) 
- { 
-     new String[121]; 
-     formatex(String, charsmax(String), "[\d%s\y] \r- \dRegisztráció", PREFIX); 
-     new menu = menu_create(String, "Menu_Regisztracio_h"); 
-   
-     if(Regisztralt[id] == 0) 
-     { 
-         formatex(String, charsmax(String), "\wFelhasználónév: \r%s^n", regFh[id]); 
-         menu_additem(menu, String, "1",0); 
-         formatex(String, charsmax(String), "\wJelszó: \r%s^n", regJelszo[id]); 
-         menu_additem(menu, String, "2",0); 
-     } 
-     else 
-     { 
-         formatex(String, charsmax(String), "\rNév: \d%s^n\wTe már regisztráltál a szerverre.", name[id], regFh[id]); 
-         menu_additem(menu, String, "",0); 
-     } 
-   
-     if(Beirtfelhasznalot[id] == true && Beirtjelszot[id] == true) 
-     { 
-         formatex(String, charsmax(String), "\yRegisztráció"); 
-         menu_additem(menu, String, "3",0); 
-     } 
-   
-     menu_display(id, menu, 0); 
-     return PLUGIN_HANDLED; 
- } 
- public Menu_Regisztracio_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 1: 
-         { 
-             client_cmd(id, "messagemode Reg_Felhasznalonev"); 
-         } 
-         case 2: 
-         { 
-             client_cmd(id, "messagemode Reg_Jelszo"); 
-         } 
-         case 3: 
-         { 
-             Regisztralt[id] = 1; 
-             ColorChat(id, GREEN, "%s^1Sikeresen regisztráltál a szerverre.", PREFIX); 
-             Menu_Bejelentkezes(id); 
-             SQL_Update_Reg(id); 
-         } 
-     } 
- } 
- public Menu_Bejelentkezes(id) 
- { 
-     new String[121]; 
-     formatex(String, charsmax(String), "[\d%s\y] \r- \dBejelentkezés^n", PREFIX); 
-     new menu = menu_create(String, "Menu_Bejelentkezes_h"); 
-   
-     formatex(String, charsmax(String), "Felhasználónév: \r%s^n", Felhasznalonev[id]); 
-     menu_additem(menu, String, "1",0); 
-     formatex(String, charsmax(String), "Jelszó: \r%s^n", Jelszo[id]); 
-     menu_additem(menu, String, "2",0); 
-   
-     formatex(String, charsmax(String), "\yBejelentkezés^n"); 
-     menu_additem(menu, String, "3",0); 
-   
-     menu_display(id, menu, 0); 
-     return PLUGIN_HANDLED; 
- } 
- public Menu_Bejelentkezes_h(id, menu, item) 
- { 
-     if(item == MENU_EXIT) 
-     { 
-         menu_destroy(menu); 
-         return; 
-     } 
-   
-     switch(item) 
-     { 
-         case 1: 
-         { 
-             client_cmd(id, "messagemode Log_Felhasznalonev"); 
-         } 
-         case 2: 
-         { 
-             client_cmd(id, "messagemode Log_Jelszo"); 
-         } 
-         case 3: 
-         { 
-             if(equali(Jelszo[id], regJelszo[id]) && (equali(Felhasznalonev[id], regFh[id]))) 
-             { 
-                 Belepve[id] = true; 
-                 ColorChat(id, GREEN,"%s ^1Üdv újra itt ^4%s ^1!", PREFIX, name[id]); 
-             } 
-             else 
-             { 
-                 ColorChat(id, GREEN,"%s ^1Hibás Felhasználónév vagy Jelszó.", PREFIX); 
-             } 
-         } 
-     } 
- } 
- public Menu_Fo(id) 
- { 
-     new String[121]; 
-     formatex(String, charsmax(String), "[\d%s\y] \r- \dRegisztrációs rendszer", PREFIX); 
-     new menu = menu_create(String, "Menu_Fo_h"); 
-   
-     formatex(String, charsmax(String), "Regisztráció"); 
-     menu_additem(menu, String, "2",0); 
-     formatex(String, charsmax(String), "Bejelentkezés^n"); 
-     menu_additem(menu, String, "1",0); 
-   
-     menu_display(id, menu, 0); 
-     return PLUGIN_HANDLED; 
- } 
- public Menu_Fo_h(id, menu, item) 
- { 
-     if(item == MENU_EXIT) 
-     { 
-         menu_destroy(menu); 
-         return; 
-     } 
-   
-     switch(item) 
-     { 
-         case 1: Menu_Bejelentkezes(id); 
-         case 2: Menu_Regisztracio(id); 
-     } 
- } 
- public Ellenorzes(id) 
- { 
-     if(Belepve[id] == false) 
-     { 
-         Menu_Fo(id); 
-     } 
-     else 
-     { 
-         ColorChat(id, GREEN,"%s ^1Te mar beleptel 1x...", PREFIX); 
-     } 
- } 
- public regisztralas_felh(id) 
- { 
-     new adat[32]; 
-     new hosszusag = strlen(adat); 
-     read_args(adat, charsmax(adat)); 
-     remove_quotes(adat); 
-     if(hosszusag >= 5) 
-     { 
-         regFh[id] = adat; 
-         Beirtfelhasznalot[id] = true; 
-         Menu_Regisztracio(id); 
-     } 
-     else 
-     { 
-         regFh[id] = adat; 
-         Beirtfelhasznalot[id] = true; 
-         Menu_Regisztracio(id); 
-     } 
-     return PLUGIN_CONTINUE; 
- } 
- public regisztralas_jelszo(id) 
- { 
-     new adat[32]; 
-     new hosszusag = strlen(adat); 
-     read_args(adat, charsmax(adat)); 
-     remove_quotes(adat); 
-     if(hosszusag >= 5) { 
-         regJelszo[id] = adat; 
-         Beirtjelszot[id] = true; 
-         Menu_Regisztracio(id); 
-     } 
-     else { 
-         regJelszo[id] = adat; 
-         Beirtjelszot[id] = true; 
-         Menu_Regisztracio(id); 
-     } 
-     return PLUGIN_CONTINUE; 
- } 
- public bejelentkezes_jelszo(id) 
- { 
-     new adat[32]; 
-     new hosszusag = strlen(adat); 
-     read_args(adat, charsmax(adat)); 
-     remove_quotes(adat); 
-     if(hosszusag >= 5) { 
-         Jelszo[id] = adat; 
-         Beirtjelszot1[id] = true; 
-         Menu_Bejelentkezes(id); 
-     } 
-     else { 
-         Jelszo[id] = adat; 
-         Beirtjelszot1[id] = true; 
-         Menu_Bejelentkezes(id); 
-     } 
-     return PLUGIN_CONTINUE; 
- } 
- public bejelentkezes_felh(id) 
- { 
-     new adat[32]; 
-     new hosszusag = strlen(adat); 
-     read_args(adat, charsmax(adat)); 
-     remove_quotes(adat); 
-     if(hosszusag >= 5) 
-     { 
-         Felhasznalonev[id] = adat; 
-         Beirtfelhasznalot1[id] = true; 
-         Menu_Bejelentkezes(id); 
-     } 
-     else 
-     { 
-         Felhasznalonev[id] = adat; 
-         Beirtfelhasznalot1[id] = true; 
-         Menu_Bejelentkezes(id); 
-     } 
-     return PLUGIN_CONTINUE; 
- } 
- public client_disconnect(id) 
- { 
-     if(!is_user_bot(id) && !is_user_hltv(id)) 
-     { 
-         Update(id); 
-     } 
-     olesek[id] = 0; 
-     szint[id] = 0; 
-   
-     Belepve[id] = false; 
-     Beirtjelszot[id] = false; 
-     Beirtjelszot1[id] = false; 
-     Beirtfelhasznalot[id] = false; 
-     Beirtfelhasznalot1[id] = false; 
-     regFh[id][0] = EOS; 
-     regJelszo[id][0] = EOS; 
-     Felhasznalonev[id][0] = EOS; 
-     Jelszo[id][0] = EOS; 
-   
-     copy(name[id], charsmax(name[]), ""); 
- } 
- public client_putinserver(id) 
- { 
-     if(!is_user_bot(id) && !is_user_hltv(id)) 
-     { 
-         get_user_name(id, name[id], charsmax(name)); 
-         Load(id); 
-     } 
-     Felhasznalonev[id] = ""; 
-     Jelszo[id] = ""; 
- } 
- public plugin_cfg() 
- { 
-     g_SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]); 
-   
-     static Query[10048]; 
-     new Len; 
-   
-     Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `rangok_mentes`"); 
-     Len += formatex(Query[Len], charsmax(Query)-Len, "(`Nev` varchar(32) NOT NULL, "); 
-     Len += formatex(Query[Len], charsmax(Query)-Len, "`Felhasznalonev` varchar(32) NOT NULL,"); 
-     Len += formatex(Query[Len], charsmax(Query)-Len, "`Jelszo` varchar(32) NOT NULL,"); 
-     Len += formatex(Query[Len], charsmax(Query)-Len, "`Regisztralt` int(11) NOT NULL,"); 
-     Len += formatex(Query[Len], charsmax(Query)-Len, "`Olesek` int(11) NOT NULL,"); 
-   
-     Len += formatex(Query[Len], charsmax(Query)-Len, "`Szint` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)"); 
-   
-     SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query); 
- } 
- public Load(id) 
- { 
-     static Query[10048]; 
-     new Data[1]; 
-     Data[0] = id; 
-   
-     formatex(Query, charsmax(Query), "SELECT * FROM `rangok_mentes` WHERE Nev = ^"%s^";", name[id]); 
-     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1); 
-   
-     set_task(1.0, "setRang", id ); // Így biztos az SQL után fut le 
- } 
- public setRang(id) 
- { 
-     if(is_user_connected(id)) 
-     { 
-         while(olesek[id] >= szamok[szint[id]]) 
-         { 
-             szint[id]++; 
-         } 
-     } 
- } 
-   
- public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) { 
-     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) { 
-         log_amx("%s", Error); 
-         return; 
-     } 
-     else { 
-         new id = Data[0]; 
-   
-         if(SQL_NumRows(Query) > 0) { 
-             SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Felhasznalonev"), regFh[id], charsmax(regFh[])); 
-             SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Jelszo"), regJelszo[id], charsmax(regJelszo[])); 
-             Regisztralt[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Regisztralt")); 
-             olesek[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Olesek")); 
-   
-             szint[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Szint")); 
-         } 
-         else 
-         { 
-             Save(id); 
-         } 
-     } 
- } 
- public Save(id) 
- { 
-     static Query[256]; 
-   
-     formatex(Query, charsmax(Query), "INSERT INTO `rangok_mentes` (`Nev`) VALUES (^"%s^");", name[id]); 
-   
-     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query); 
- } 
- public Update(id) 
- { 
-     static Query[10048]; 
-     new Len; 
-   
-     Len += formatex(Query[Len], charsmax(Query), "UPDATE `rangok_mentes` SET Olesek = ^"%i^", ",olesek[id]); 
-     Len += formatex(Query[Len], charsmax(Query)-Len, "Szint = ^"%i^" WHERE Nev = ^"%s^";", szint[id], name[id]); 
-   
-     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query); 
- } 
- public SQL_Update_Reg(id) 
- { 
-     static Query[10048]; 
-     new Len; 
-   
-     Len += formatex(Query[Len], charsmax(Query), "UPDATE `rangok_mentes` SET Felhasznalonev = ^"%s^", ", regFh[id]); 
-     Len += formatex(Query[Len], charsmax(Query)-Len, "Jelszo = ^"%s^", ", regJelszo[id]); 
-     Len += formatex(Query[Len], charsmax(Query)-Len, "Regisztralt = ^"%i^" WHERE Nev = ^"%s^";", Regisztralt[id], name[id]); 
-   
-     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query); 
- } 
- public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) { 
-     if(FailState == TQUERY_CONNECT_FAILED) 
-         set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!"); 
-     else if(FailState == TQUERY_QUERY_FAILED) 
-         set_fail_state("Query Error"); 
-     if(Errcode) 
-         log_amx("[HIBA*] HIBAT DOBTAM: %s",Error); 
- } 
- public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) { 
-     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) { 
-         log_amx("%s", Error); 
-         return; 
-     } 
- } 
- public sayhook(id) 
- { 
-     new message[192], none[2][32]; 
-     read_args(message, 191); 
-     remove_quotes(message); 
-   
-     formatex(none[0], 31, ""), formatex(none[1], 31, " "); 
-   
-     if (message[0] == '@' || message[0] == '/' || message[0] == '#' || message[0] == '!' || equal (message, "")) 
-         return PLUGIN_HANDLED; 
-   
-     if(!equali(message, none[0]) && !equali(message, none[1])) 
-     { 
-         if(is_user_alive(id)) 
-         { 
-             if(Regisztralt[id] == 0) 
-                 formatex(Temp, 191, "^x04[Nem Regisztrált]^x03%s^x01: %s", name[id], message); 
-             else if(get_user_flags(id) & TULAJ && Belepve[id] == true) 
-                 formatex(Temp, 191, "^x04[Tulajdonos][%s]^3%s^x04: %s", rangok[szint[id]], name[id], message); 
-             else if(get_user_flags(id) & FOADMIN && Belepve[id] == true) 
-                 formatex(Temp, 191, "^x04[FőAdmin][%s]^3%s^x04: %s", rangok[szint[id]], name[id], message); 
-             else if(get_user_flags(id) & ADMIN && Belepve[id] == true) 
-                 formatex(Temp, 191, "^x04[Admin][%s]^3%s^x04: %s", rangok[szint[id]], name[id], message); 
-             else if(get_user_flags(id) & KONFIG && Belepve[id] == true) 
-                 formatex(Temp, 191, "^x04[SzerverFejlesztő][%s]^3%s^x04: %s", rangok[szint[id]], name[id], message); 
-             else if(get_user_flags(id) & VIP && Belepve[id] == true) 
-                 formatex(Temp, 191, "^x04[VIP][%s]^3%s^x04: %s", rangok[szint[id]], name[id], message); 
-             else if(get_user_flags(id) & HIRDETO && Belepve[id] == true) 
-                 formatex(Temp, 191, "^x04[Hírdető][%s]^3%s^x04: %s", rangok[szint[id]], name[id], message); 
-             else if(Belepve[id] == true) 
-                 formatex(Temp, 191, "^x04[%s]^x03 %s^x01: %s", rangok[szint[id]],  name[id], message); 
-             else if(Regisztralt[id] == 1) 
-                 formatex(Temp, 191, "^x04[Kijelentkezve]^x03 %s^x01: %s", name[id], message); 
-         } 
-         else { 
-             if(Regisztralt[id] == 0) 
-                 formatex(Temp, 191, "^x01*Halott*^x04[Nem Regisztrált]^x03 %s^x01: %s", name[id], message); 
-             else if(get_user_flags(id) & TULAJ && Belepve[id] == true) 
-                 formatex(Temp, 191, "^x01*Halott*^x04[Tulajdonos][%s]^3%s^x04: %s", rangok[szint[id]], name[id], message); 
-             else if(get_user_flags(id) & FOADMIN && Belepve[id] == true) 
-                 formatex(Temp, 191, "^x01*Halott*^x04[FőAdmin][%s]^3%s^x04: %s", rangok[szint[id]], name[id], message); 
-             else if(get_user_flags(id) & ADMIN && Belepve[id] == true) 
-                 formatex(Temp, 191, "^x01*Halott*^x04[Admin][%s]^3%s^x04: %s", rangok[szint[id]], name[id], message); 
-             else if(get_user_flags(id) & KONFIG && Belepve[id] == true) 
-                 formatex(Temp, 191, "^x01*Halott*^x04[SzerverFejlesztő][%s]^3%s^x04: %s", rangok[szint[id]], name[id], message); 
-             else if(get_user_flags(id) & VIP && Belepve[id] == true) 
-                 formatex(Temp, 191, "^x01*Halott*^x04[VIP][%s]^3%s^x04: %s", rangok[szint[id]], name[id], message); 
-             else if(get_user_flags(id) & HIRDETO && Belepve[id] == true) 
-                 formatex(Temp, 191, "^x01*Halott*^x04[Hírdető][%s]^3%s^x04: %s", rangok[szint[id]], name[id], message); 
-             else if(Belepve[id] == true) 
-                 formatex(Temp, 191, "^x01*Halott*^x04[%s]^x03 %s^x01: %s", rangok[szint[id]],  name[id], message); 
-             else if(Regisztralt[id] == 1) 
-                 formatex(Temp, 191, "^x01*Halott*^x04[Kijelentkezve]^x03 %s^x01: %s", name[id], message); 
-         } 
-   
-         switch(cs_get_user_team(id)) 
-         { 
-             case 1: ColorChat(0, RED, Temp); 
-             case 2: ColorChat(0, BLUE, Temp); 
-             default: ColorChat(0, GREY, Temp); 
-         } 
-         return PLUGIN_HANDLED; 
-     } 
-     return PLUGIN_CONTINUE; 
- } 
-   
- public plugin_end() 
- { 
-     SQL_FreeHandle(g_SqlTuple); 
- }