hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.24. 03:31



Jelenlévő felhasználók

Jelenleg 421 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 420 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Regisztrációs rendszer hiba
HozzászólásElküldve: 2016.08.14. 20:04 
Offline
Tag

Csatlakozott: 2016.05.12. 06:36
Hozzászólások: 49
Hello, ez egy részlet egy regisztrációs menüs szkinrendszerből.
Valamiért random bedobja néha a Felhasználónévhez és Jelszóhoz más játékosok adatait, és így be is lehet velük lépni.
tipp?hiba? :O

Kód:
public MainRegMenu(id)
   {
      if(!Loggedin[id])
      {
         new String[121], Menu;

         formatex(String, charsmax(String), "\r%s \y%s \w| \dRegisztráciĂłs Rendszer", MENUPREFIX, PLUGIN);
         Menu = menu_create(String, "MenuHandler");

         formatex(String, charsmax(String), "\rFelhasználĂłnĂ©v: \d%s", UserName[id]);
         menu_additem(Menu, String, "a0");

         formatex(String, charsmax(String), "\rJelszĂł: \d%s^n", UserPassword[id]);
         menu_additem(Menu, String, "a1");

         if(Found[id] == 2)
         {
            formatex(String, charsmax(String), "BejelentkezĂ©s");
            menu_additem(Menu, String, "a2");
         }
         else if(Found[id] == 1)
         {
            formatex(String, charsmax(String), "RegisztráciĂł");
            menu_additem(Menu, String, "a2");
         }

         menu_display(id, Menu);
      }
   }
   public MenuHandler(id, Menu, Item)
   {
      if(Item == MENU_EXIT )
      {
         menu_destroy(Menu);
         return PLUGIN_HANDLED;
      }
      new Data[6], szName[64];
      new Access, Callback;
      menu_item_getinfo(Menu, Item, Access, Data,charsmax(Data), szName,charsmax(szName), Callback);
      new Key = str_to_num(Data[1]);

      switch(Data[0])
      {
         case 'a':
         {
            switch(Key)
            {
               case 0: client_cmd(id, "messagemode MY_USERNAME");
               case 1: client_cmd(id, "messagemode MY_PASSWORD");
               case 2: cmdRegLog(id);
            }
         }
      }

      menu_destroy(Menu);
      return PLUGIN_HANDLED;
   }
   public fomenu(id)
   {
      if(!Loggedin[id])
      {
         client_printcolor(id, "!g%s !yCsak bejelentkezĂ©s után elĂ©rhetĹ‘!", CHATPREFIX);
         MainRegMenu(id);
         return PLUGIN_HANDLED;
      }
      new String[96]
      format(String, charsmax(String), "\r[Weapon Skin System] \wFĹ‘menĂĽ^n\yĂ–lĂ©sek: \d%i \w|\y Kreditek: \d%i", oles[id],kredit[id])
      new menu = menu_create(String, "fomenu_MyMenu");

      menu_additem(menu, "Fegyver Skin Csomagok", "0");
      menu_additem(menu, "JátĂ©kos InfĂłk", "1");
      menu_additem(menu, "Csomag InformáciĂłk", "2");
      menu_additem(menu, "Bolt - TESZT v 1.0", "3");

      menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
      menu_setprop(menu, MPROP_EXITNAME, "\rKilĂ©pĂ©s");

      menu_display(id, menu, 0);

      return PLUGIN_HANDLED;
   }
   public fomenu_MyMenu(id, menu, item)
   {
      if(item == MENU_EXIT)
      {
         menu_destroy(menu);
         return PLUGIN_HANDLED;
      }

      new command[6], name[64], access, callback;
      menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);

      switch(item)
      {
         case 0: fegymenu(id)
         case 1: playerinfo(id)
         case 2: show_motd(id, "addons/amxmodx/configs/wssinfo.txt", "[WSS] Infok")
         case 3: bolt(id)
      }

      menu_destroy(menu);

      return PLUGIN_HANDLED;
   }
   public bolt(id)
   {
      new String[96]
      format(String, charsmax(String), "\r[Weapon Skin System] \wFegyver Bolt^n\y Kreditek: \d%i", kredit[id])
      new menu = menu_create(String, "bolt_handler" )

      format(String, charsmax(String), kredit[id] >= need_kills_bolt[0] ? (menuszovegbolt[0][0]):(menuszovegbolt[0][1]), kredit[id], need_kills_bolt[0]);
      menu_additem(menu, String, "0" );

      menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
      menu_setprop(menu, MPROP_BACKNAME, "Vissza");
      menu_setprop(menu, MPROP_NEXTNAME, "ElĹ‘re");
      menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");

      menu_display(id, menu, 0);
      return PLUGIN_HANDLED;
   }
   public bolt_handler(id, menu, item)
   {
      if(item == MENU_EXIT)
      {
         menu_destroy(menu)
         return PLUGIN_HANDLED;
      }

      new command[6], name[64], access, callback;
      menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);

      switch(item)
      {

         case 0: {
            if(kredit[id] >= need_kills_bolt[0]) {
            csomag[id] = 8
            kredit[id] -= get_cvar_num("wastelandara");
            ColorChat(id, GREEN, chatszoveg[10],prefix, get_cvar_num("wastelandara"), csomagmsgbolt[0]);
            }
            else  {
            ColorChat(id, GREEN, chatszoveg[9],prefix);
            }
         }
      }

      bolt(id)
      return PLUGIN_HANDLED;
   }
   public playerinfo(id)
   {   
      new some[256], menu
      static players[32],szTemp[10],pnum
      get_players(players,pnum,"ch");
   
      formatex(some,255,"\r[Weapon Skin System] \wJátĂ©kos \d|\w Ă–lĂ©s \d|\w Kredit");
      menu = menu_create(some,"pinfo_Handler");
   
      for (new i; i < pnum; i++)
      {
         formatex(some,256,"%s \r(\yĂ–lĂ©se: \w%i \d| \yKreditje: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]);
         num_to_str(players[i],szTemp,charsmax(szTemp));
         menu_additem(menu, some, szTemp);
      }
   
      menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
      menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
      menu_display(id, menu);
      return PLUGIN_HANDLED;
   }
   public pinfo_Handler(id,menu, item)
   {
      if(item == MENU_EXIT)
      {
         menu_destroy(menu);
         return;
      }

      playerinfo(id)
   }
   public fegymenu(id)
   {
      new String[96]
      format(String, charsmax(String), "\r[Weapon Skin System] \wSkin csomagok^n\yKiválasztott Csomag: \d[%s]", csomagmsg[csomag[id]])
      new menu = menu_create(String, "fegymenu_handler" )

      format(String, charsmax(String), oles[id] >= need_kills[0] ? (menuszoveg[0][0]):(menuszoveg[0][1]), oles[id], need_kills[0]);
      menu_additem(menu, String, "0" );
      formatex(String, charsmax(String), oles[id] >= need_kills[1] ? (menuszoveg[1][0]):(menuszoveg[1][1]), oles[id], need_kills[1]);
      menu_additem(menu, String, "1");
      formatex(String, charsmax(String), oles[id] >= need_kills[2] ? (menuszoveg[2][0]):(menuszoveg[2][1]), oles[id], need_kills[2]);
      menu_additem(menu, String, "2");
      format(String, charsmax(String), oles[id] >= need_kills[3] ? (menuszoveg[3][0]):(menuszoveg[3][1]), oles[id], need_kills[3]);
      menu_additem(menu, String, "3");
      format(String, charsmax(String), oles[id] >= need_kills[4] ? (menuszoveg[4][0]):(menuszoveg[4][1]), oles[id], need_kills[4]);
      menu_additem(menu, String, "4");
      format(String, charsmax(String), oles[id] >= need_kills[5] ? (menuszoveg[5][0]):(menuszoveg[5][1]), oles[id], need_kills[5]);
      menu_additem(menu, String, "5");
      format(String, charsmax(String), oles[id] >= need_kills[6] ? (menuszoveg[6][0]):(menuszoveg[6][1]), oles[id], need_kills[6]);
      menu_additem(menu, String, "6");
      formatex(String, charsmax(String), kredit[id] >= need_kills[7] ? (menuszoveg[7][0]):(menuszoveg[7][1]), kredit[id], need_kills[7]);
      menu_additem(menu, String, "7");
      menu_additem(menu, switchbutton[id] == 1 ? (menuszoveg[8][0]):(menuszoveg[8][1]), "8");

      menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
      menu_setprop(menu, MPROP_BACKNAME, "Vissza");
      menu_setprop(menu, MPROP_NEXTNAME, "ElĹ‘re");
      menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");

      menu_display(id, menu, 0);
      return PLUGIN_HANDLED;
   }
   public fegymenu_handler(id, menu, item)
   {
      if(item == MENU_EXIT)
      {
         menu_destroy(menu)
         return PLUGIN_HANDLED;
      }

      new command[6], name[64], access, callback;
      menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);

      switch(item)
      {
         case 0: {
            if(oles[id] >= need_kills[0]) {
            csomag[id] = 1
            ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
            ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
         }
         case 1: {
            if(oles[id] >= need_kills[1]) {
            csomag[id] = 2
            ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
            ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
         }
         case 2: {
            if(oles[id] >= need_kills[2]) {
            csomag[id] = 3
            ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
            ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
         }
         case 3: {
            if(oles[id] >= need_kills[3]) {
            csomag[id] = 4
            ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
            ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
         }
         case 4: {
            if(oles[id] >= need_kills[4]) {
            csomag[id] = 5
            ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
            ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
         }
         case 5: {
            if(oles[id] >= need_kills[5]) {
            csomag[id] = 6
            ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
            ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
         }
         case 6: {
            if(oles[id] >= need_kills[6]) {
            csomag[id] = 7
            ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
            ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
         }
         case 7: {
            if(kredit[id] >= need_kills[7]) {
            knife[id] = 1
            ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[5]);
            }
            else  {
            ColorChat(id, GREEN, chatszoveg[9],prefix);
            }
         }
         case 8: {
            if(switchbutton[id] == 0){
            switchbutton[id] = 1
            csomag[id] = 0
            knife[id] = 0
            ColorChat(id, GREEN, chatszoveg[6],prefix);
            }
            else {
            switchbutton[id] = 0
            ColorChat(id, GREEN, chatszoveg[7],prefix);
            }
         }
         case 9: {
            ColorChat(id, GREEN, chatszoveg[5],prefix);
         }
      }

      fegymenu(id)
      return PLUGIN_HANDLED;
   }
   public cmdRegLog(id)
   {
      if(!is_user_connected(id) || Loggedin[id])
         return PLUGIN_HANDLED;

      if((strlen(UserPassword[id]) > 16))
      {
         if(Found[id] == 1)
            client_printcolor(id, "!g%s !yA jelszĂł nem lehet hoszabb, mint 16 karakter!", CHATPREFIX);
         else
            client_printcolor(id, "!g%s !yHibás felhasználĂłnĂ©v, vagy jelszĂł!", CHATPREFIX);

         MainRegMenu(id);
         return PLUGIN_HANDLED;
      }
      if((strlen(UserPassword[id]) < 5))
      {
         if(Found[id] == 1)
            client_printcolor(id, "!g%s !yA jelszĂł nem lehet rövidebb, mint 5 karakter!", CHATPREFIX);
         else
            client_printcolor(id, "!g%s !yHibás felhasználĂłnĂ©v, vagy jelszĂł!", CHATPREFIX);
      
         MainRegMenu(id);
         return PLUGIN_HANDLED;
      }
      switch(Found[id])
      {
         case 1:
         {
            if(Process[id] == 0)
            {
               Process[id] = 1;
               MainRegMenu(id);
               SQL_AccountCheck(id);
               client_printcolor(id, "!g%s !yRegisztráciĂł folyamatban... KĂ©rlek várj...", CHATPREFIX);
            }
            else
               MainRegMenu(id);
         }
         case 2:
         {
            if(Process[id] == 0)
            {
               Process[id] = 1;
               MainRegMenu(id);
               SQL_AccountCheck(id);
               client_printcolor(id, "!g%s !yBejelentkezĂ©s folyamatban... KĂ©rlek várj...", CHATPREFIX);
            }
            else
               MainRegMenu(id);
         }
      }
      return PLUGIN_HANDLED;
   }
   public infohud() {
      
      if(!get_cvar_num("wss_hudenable")) return PLUGIN_HANDLED
      
      static id
      for(id = 1; id <= get_maxplayers(); id++)
      {
         if(is_user_alive(id)){
            set_hudmessage(0, 127, 255, 0.01, 0.20, 0, 6.0, 1.0)
            show_hudmessage(id, "[Ă–lĂ©s: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[id],kredit[id],csomagmsg[csomag[id]], knifedisenable[knife[id]])
         }
         else{
            new target = entity_get_int(id, EV_INT_iuser2);
            
            if(!target)
            return PLUGIN_CONTINUE;
               
            set_hudmessage(255, 255, 255, 0.01, 0.20, 0, 6.0, 1.0)
            show_hudmessage(id, "[Ă–lĂ©s: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[target],kredit[target],csomagmsg[csomag[target]], knifedisenable[knife[target]])
         }
      }
      return PLUGIN_CONTINUE;
   }
   stock get_player_name(id){
      static szName[32];
      get_user_name(id,szName,31);
      return szName;
   }
   public client_disconnect(id){
      if(Loggedin[id])
         SQL_AccountUpdate(id);
   }
   public client_putinserver( id ) {
      if(is_user_bot(id)) return;
      set_task(10.0, "fomenu", id)
      get_user_name(id, Name[id], charsmax(Name[]));
      oles[id] = 0;
      kredit[id] = 0;
      csomag[id] = 0;
      switchbutton[id] = 0;
      UserName[0][id] = EOS;
      UserPassword[0][id] = EOS;
      Name[0][id] = EOS;
      UserID[id] = 0;
      Process[id] = 0;
      Loggedin[id] = false;
   }
   public plugin_end()
   {
      SQL_FreeHandle(SqlTuple);
   }
   public MYSQL_Init()
   {
      new Query[512], Len;
      SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]);

      Len += formatex(Query[Len], charsmax(Query)-Len, "CREATE TABLE IF NOT EXISTS `virushdreg` (`Felhasznalonev` varchar(32) NOT NULL, `Jelszo` varchar(32) NOT NULL, ");
      Len += formatex(Query[Len], charsmax(Query)-Len, "`Jatekosnev` varchar(32) NOT NULL, `Oles` int(11) NOT NULL, `Kredit` int(11) NOT NULL, `Csomag` int(11) NOT NULL, ");
      Len += formatex(Query[Len], charsmax(Query)-Len, "`Switchbutton` int(11) NOT NULL, `ID` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
      
      SQL_ThreadQuery(SqlTuple, "CreateTableThread", Query);
   }
   public CreateTableThread(FailState, Handle:Query, Error[], ErrorCode, Data[], DataSize, Float:Queuetime)
   {
      if(FailState == TQUERY_CONNECT_FAILED)
         set_fail_state("Nem sikerult kapcsolodni az adatbazishoz!");
      else if(FailState == TQUERY_QUERY_FAILED)
         set_fail_state("Query Hiba");
      if(ErrorCode)
         log_amx("Hibat dobtam: %s", Error);
   }
   public SQL_AccountCheck(id)
   {
      new Query[512], User[32], Data[2];
      formatex(User, 31, "%s", UserName[id]);
      replace_all(User, 31, "\", "\\");
      replace_all(User, 31, "'", "\'");
      Data[0] = id;
      Data[1] = get_user_userid(id);

      formatex(Query, charsmax(Query), "SELECT * FROM `virushdreg` WHERE Felhasznalonev = ^"%s^";", User);
      SQL_ThreadQuery(SqlTuple, "AccountCheckThread", Query, Data, 2);
   }
   public AccountCheckThread(FailState, Handle:Query, Error[], ErrorCode, Data[], DataSize, Float:Queuetime)
   {
      if(FailState == TQUERY_CONNECT_FAILED)
         set_fail_state("Nem sikerult kapcsolodni az adatbazishoz!");
      else if(FailState == TQUERY_QUERY_FAILED)
         set_fail_state("Query Hiba");
      if(ErrorCode)
         log_amx("Hibat dobtam: %s", Error);

      new id = Data[0];
      if(Data[1] != get_user_userid(id))
         return;

      if(Found[id] == 1)
      {
         if((Query) > 0)
         {
            Process[id] = 0;
            MainRegMenu(id);
            client_printcolor(id, "!g%s !yEz a felhasználĂłnĂ©v már foglalt!", CHATPREFIX);
         }
         else
         {
            SQL_AccountCreate(id);
         }
      }
      else if(Found[id] == 2)
      {
         if(SQL_NumRows(Query) == 0)
         {
            Process[id] = 0;
            MainRegMenu(id);
            client_printcolor(id, "!g%s !yHibás felhasználĂłnĂ©v, vagy jelszĂł!", CHATPREFIX);
         }
         else
         {
            SQL_AccountLoad(id);
         }
      }
   }
   public SQL_RegCheck(id)
   {
      new Query[512], User[32], Data[2];
      formatex(User, 31, "%s", UserName[id]);
      replace_all(User, 31, "\", "\\");
      replace_all(User, 31, "'", "\'");
      Data[0] = id;
      Data[1] = get_user_userid(id);

      formatex(Query, charsmax(Query), "SELECT * FROM `virushdreg` WHERE Felhasznalonev = ^"%s^";", User);
      SQL_ThreadQuery(SqlTuple, "RegCheckThread", Query, Data, 2);
   }
   public RegCheckThread(FailState, Handle:Query, Error[], ErrorCode, Data[], DataSize, Float:Queuetime)
   {
      if(FailState == TQUERY_CONNECT_FAILED)
         set_fail_state("Nem sikerult kapcsolodni az adatbazishoz!");
      else if(FailState == TQUERY_QUERY_FAILED)
         set_fail_state("Query Hiba");
      if(ErrorCode)
         log_amx("Hibat dobtam: %s", Error);

      new id = Data[0];
      if(Data[1] != get_user_userid(id))
         return;

      if(SQL_NumRows(Query) > 0)
         Found[id] = 2;
         //formatex(User, 31, "%s", UserName[id]);
         //formatex(Password, 31, "%s", UserPassword[id]);
      else
         Found[id] = 1;

      Process[id] = 0;
      MainRegMenu(id);
   }
   public SQL_AccountCreate(id)
   {
      new Query[512], User[32], Password[32], pName[32], Data[2], Len;
      formatex(User, 31, "%s", UserName[id]);
      formatex(Password, 31, "%s", UserPassword[id]);
      formatex(pName, 31, "%s", Name[id]);

      replace_all(User, 31, "\", "\\");
      replace_all(User, 31, "'", "\'");
      replace_all(Password, 31, "\", "\\");
      replace_all(Password, 31, "'", "\'");
      replace_all(pName, 31, "\", "\\");
      replace_all(pName, 31, "'", "\'");

      Data[0] = id;
      Data[1] = get_user_userid(id);

      Len += formatex(Query[Len], charsmax(Query)-Len, "INSERT INTO `virushdreg` (`Felhasznalonev`, `Jelszo`, `Jatekosnev`, `Oles`, `Kredit`, `Csomag`, `Switchbutton`) ");
      Len += formatex(Query[Len], charsmax(Query)-Len, "VALUES (^"%s^", ^"%s^", ^"%s^", ^"0^", ^"0^", ^"0^", ^"0^");", User, Password, pName);

      SQL_ThreadQuery(SqlTuple, "AccountCreateThread", Query, Data, 2);
   }
   public AccountCreateThread(FailState, Handle:Query, Error[], ErrorCode, Data[], DataSize, Float:Queuetime)
   {
      if(FailState == TQUERY_CONNECT_FAILED)
         set_fail_state("Nem sikerult kapcsolodni az adatbazishoz!");
      else if(FailState == TQUERY_QUERY_FAILED)
         set_fail_state("Query Hiba");
      if(ErrorCode)
         log_amx("Hibat dobtam: %s", Error);

      new id = Data[0];
      if(Data[1] != get_user_userid(id))
         return;

      Process[id] = 0;
      Found[id] = 2;
      MainRegMenu(id);
      client_printcolor(id, "!g%s !ySikeresen regisztráltál a szerverre. (FelhasználĂłneved: !g%s !t| !yJelszavad: !g%s!y)", CHATPREFIX, UserName[id], UserPassword[id]);
   }
   public SQL_AccountLoad(id)
   {
      new Query[512], User[32], Data[2];
      formatex(User, 31, "%s", UserName[id]);
      replace_all(User, 31, "\", "\\");
      replace_all(User, 31, "'", "\'");
      Data[0] = id;
      Data[1] = get_user_userid(id);

      formatex(Query, charsmax(Query), "SELECT * FROM `virushdreg` WHERE Felhasznalonev = ^"%s^";", User);
      SQL_ThreadQuery(SqlTuple, "AccountLoadThread", Query, Data, 2);
   }
   public AccountLoadThread(FailState, Handle:Query, Error[], ErrorCode, Data[], DataSize, Float:Queuetime)
   {
      if(FailState == TQUERY_CONNECT_FAILED)
         set_fail_state("Nem sikerult kapcsolodni az adatbazishoz!");
      else if(FailState == TQUERY_QUERY_FAILED)
         set_fail_state("Query Hiba");
      if(ErrorCode)
         log_amx("Hibat dobtam: %s", Error);

      new id = Data[0];
      if(Data[1] != get_user_userid(id))
         return;

      new SqlPassword[32];
      SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Jelszo"), SqlPassword, 31);

      if(equal(UserPassword[id], SqlPassword))
      {
         UserID[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ID"));
         oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Oles"));
         kredit[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Kredit"));
         csomag[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Csomag"));
         switchbutton[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Switchbutton"));
         Process[id] = 0;
         Loggedin[id] = true;
         show_menu(id, 0, "^n", 1);
         set_task(1.0, "fomenu", id)
         client_printcolor(id, "!g%s !yĂśdv a szerveren !g%s!y(!t#%d!y), sikeresen bejelentkeztĂ©l.", CHATPREFIX, UserName[id], UserID[id]);
      }
      else
      {
         Process[id] = 0;
         MainRegMenu(id);
         client_printcolor(id, "!g%s !yHibás felhasználĂłnĂ©v, vagy jelszĂł!", CHATPREFIX);
      }
   }
   public SQL_AccountUpdate(id)
   {
      new Query[512], NewName[32], Password[32], Len;
      formatex(NewName, 31, "%s", Name[id]);
      formatex(Password, 31, "%s", UserPassword[id]);
      replace_all(NewName, 31, "\", "\\");
      replace_all(NewName, 31, "'", "\'");
      replace_all(Password, 31, "\", "\\");
      replace_all(Password, 31, "'", "\'");

      Len += formatex(Query[Len], charsmax(Query)-Len, "UPDATE `virushdreg` SET Jelszo = ^"%s^", Jatekosnev = ^"%s^", Oles = ^"%d^", ", Password, NewName, oles[id]);
      Len += formatex(Query[Len], charsmax(Query)-Len, "Kredit = ^"%d^", Csomag = ^"%d^", Switchbutton = ^"%d^" WHERE ID = ^"%d^";", kredit[id], csomag[id], switchbutton[id], UserID[id]);

      SQL_ThreadQuery(SqlTuple, "AccountUpdateThread", Query);
   }
   public AccountUpdateThread(FailState, Handle:Query, Error[], ErrorCode, Data[], DataSize, Float:Queuetime)
   {
      if(FailState == TQUERY_CONNECT_FAILED)
         set_fail_state("Nem sikerult kapcsolodni az adatbazishoz!");
      else if(FailState == TQUERY_QUERY_FAILED)
         set_fail_state("Query Hiba");
      if(ErrorCode)
         log_amx("Hibat dobtam: %s", Error);
   }
   public cmdUser(id)
   {
      if(!is_user_connected(id) || Loggedin[id])
         return PLUGIN_HANDLED;

      UserName[0][id] = EOS;
      read_args(UserName[id], 31);
      remove_quotes(UserName[id]);

      SQL_RegCheck(id);
      return PLUGIN_HANDLED;
   }
   public cmdPassword(id)
   {
      if(!is_user_connected(id) || Loggedin[id])
         return PLUGIN_HANDLED;

      UserPassword[0][id] = EOS;
      read_args(UserPassword[id], 31);
      remove_quotes(UserPassword[id]);

      MainRegMenu(id);
      return PLUGIN_HANDLED;
   }
   stock client_printcolor(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")   ;
      
      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;
   }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Regisztrációs rendszer hiba
HozzászólásElküldve: 2016.08.15. 14:38 
Offline
Fanatikus

Csatlakozott: 2015.03.25. 18:06
Hozzászólások: 179
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 6 alkalommal
Ezt próbáld meg Nála ;)

  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <fakemeta_util>
  6. #include <nvault>
  7.  
  8. #define PLUGIN "Regisztracios Rendszer"
  9. #define VERSION "2.0"
  10. #define AUTHOR "GudDevil"
  11.  
  12. new jelszo[32], reg_pont[33], belepve[33], beirt_jelszo[32]
  13. new mentett_pw[33][32], beirt_pw[33][32]
  14. new olvas[33], bool:kijelentkezve[33], ef_jsz[32][33]
  15. new users_db_file[256] , reg_vault, probal[33], irt[33]
  16.  
  17. public plugin_init() {
  18.     register_plugin(PLUGIN, VERSION, AUTHOR)
  19.    
  20.     register_clcmd("REGISZTRACIOS_JELSZO", "reg_jelszo")
  21.          register_clcmd("BELEPESI_JELSZO", "belepes_jelszo")
  22.          register_forward(FM_ClientUserInfoChanged, "nevvaltas")
  23.          check_db()
  24.          register_clcmd("say /reg","Regisztralas")
  25.          reg_vault = nvault_open("Regisztraciosmenu")
  26.  
  27. }
  28.  
  29. public Regisztralas(id) {
  30.     new menu
  31.     new ks1[121], ks2[121], cim[121]
  32.     new nev[32]
  33.     get_user_name(id, nev, 31)
  34.     if(olvas[id] == 0){
  35.         format(cim, charsmax(cim),"\reSport MultiGaming \wRegisztráciĂłs MenĂĽ^n \rStátusz : \dNem regisztrált^n")
  36.         menu = menu_create(cim,"Regisztralas_handler")
  37.         format(ks1, charsmax(ks1),"\rSzabályzat^n", mentett_pw[id])
  38.         menu_additem(menu,ks1,"5",0)
  39.         menu_additem(menu,"\yElfogadom a szabályokat!","6",0)
  40.         menu_additem(menu,"\dNem fogadom el!","7",0)
  41.         menu_display(id,menu,0)
  42.     }
  43.     if(belepve[id] == 0 && olvas[id] == 1){
  44.         if(reg_pont[id] == 0){
  45.             format(cim, charsmax(cim),"\reSport MultiGaming \wRegisztráciĂłs MenĂĽ^n \rStátusz : \dNem regisztrált^n")
  46.         }
  47.         else if(reg_pont[id] == 1 && kijelentkezve[id] == false){
  48.             format(cim, charsmax(cim),"\reSport MultiGaming \wRegisztráciĂłs MenĂĽ^n \rStátusz : \dRegisztrálva^n\rPrĂłbálkozások : \d%d/3", probal[id])
  49.         }
  50.         else if(reg_pont[id] == 1 && kijelentkezve[id] == true){
  51.             format(cim, charsmax(cim),"\reSport MultiGaming \wRegisztráciĂłs MenĂĽ^n \rStátusz : \dKijelentkezve^n\rPrĂłbálkozások : \d%d/3", probal[id])
  52.         }
  53.         menu = menu_create(cim,"Regisztralas_handler")
  54.         format(ks2, charsmax(ks2),"\rFelhasználĂł :\d %s", nev)
  55.         if(reg_pont[id] == 0){
  56.             if(irt[id] == 1){
  57.                 format(ks1, charsmax(ks1),"\rJelszĂł : \d%s^n", mentett_pw[id])
  58.             }
  59.             else if(irt[id] == 0){
  60.                 format(ks1, charsmax(ks1),"\rJelszĂł : \d^n")
  61.             }
  62.         }
  63.         else if(reg_pont[id] == 1){
  64.             format(ks1, charsmax(ks1),"\rJelszĂł : \d%s^n", beirt_pw[id])
  65.         }
  66.         menu_additem(menu,ks2,"0",0)
  67.         menu_additem(menu,ks1,"1",0)
  68.         if(reg_pont[id] == 0){
  69.             if(irt[id] == 0){
  70.                 menu_additem(menu,"\dRegisztrálok","18",0)
  71.             }
  72.             else if(irt[id] == 1){
  73.                 menu_additem(menu,"Regisztrálok","2",0)
  74.             }
  75.         }
  76.         else if(reg_pont[id] == 1){
  77.             menu_additem(menu,"BelĂ©pek","3",0)
  78.         }
  79.         if(reg_pont[id] == 1){
  80.             menu_additem(menu,"\rElfelejtettem a jelszavam!","8",0)
  81.         }
  82.         menu_display(id,menu,0)
  83.     }
  84.     else if(belepve[id] == 1 && olvas[id] == 1)
  85.     {
  86.         format(cim, charsmax(cim),"\reSport MultiGaming \wRegisztráciĂłs MenĂĽ^n \rStátusz : \dBejelentkezve")
  87.         menu = menu_create(cim,"Regisztralas_handler")
  88.         format(ks1, charsmax(ks1),"\rSzabályzat^n")
  89.         menu_additem(menu,ks1,"5",0)
  90.         menu_additem(menu,"\yKijelentkezĂ©s","4",0)
  91.         menu_display(id,menu,0)
  92.     }
  93. }  
  94. public Regisztralas_handler(id, menu, item){
  95.     if( item == MENU_EXIT )
  96.     {
  97.     menu_destroy(menu);
  98.     return PLUGIN_HANDLED;
  99.     }
  100.     new data[9], szName[64], name[32]
  101.     get_user_name(id, name, 31)
  102.     new access, callback;
  103.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  104.     new key = str_to_num(data);
  105.  
  106.     switch(key)
  107.     {
  108.     case 0: Regisztralas(id)
  109.     case 1:{
  110.         if(reg_pont[id] == 0){
  111.             client_cmd(id, "messagemode REGISZTRACIOS_JELSZO")
  112.         }
  113.         else if(reg_pont[id] == 1){
  114.             client_cmd(id, "messagemode BELEPESI_JELSZO")
  115.         }
  116.     }
  117.     case 2:{
  118.         ef_jsz[id] = jelszo
  119.         reg_pont[id] = 1
  120.         print_color(id, "!g[eSport MG]!y Sikeres regisztráció! Jelszavad:!t %s", mentett_pw[id])
  121.         Regisztralas(id)
  122.         client_cmd(id,"setinfo _jelszo ^"%s^"",ef_jsz[id])
  123.         regisztralas_mentese(id)
  124.     }
  125.     case 3:{
  126.         if(equali(beirt_pw[id], mentett_pw[id])){
  127.             belepve[id] = 1
  128.             print_color(id, "!g[eSport MG]!y Sikeresen beléptél!")
  129.             set_task(0.0,"motor", id)
  130.             if(kijelentkezve[id]){
  131.             kijelentkezve[id] = false
  132.         }
  133.         }
  134.         else if(probal[id] >= 3)
  135.         {
  136.             server_cmd("kick #%i ^"Rossz jelszĂł! 3/3 PrĂłbálkozás után KICK!",get_user_userid(id))
  137.         }
  138.         else if(!equali(beirt_pw[id], mentett_pw[id]))
  139.         {
  140.             probal[id]++
  141.             print_color(id, "!g[eSport MG]!y Rossz jelszó!")
  142.         }
  143.     }
  144.     case 4:{
  145.         beirt_pw[id] = ""
  146.         belepve[id] = 0
  147.         kijelentkezve[id] = true
  148.         print_color(id, "!g[eSport MG]!y Sikeresen kijelentkeztél!")
  149.     }
  150.     case 5: {
  151.         show_motd(id,"addons/amxmodx/configs/info/szabalyzat.txt","Szabályzat")
  152.     }
  153.     case 6: {
  154.         olvas[id] = 1
  155.         print_color(id, "!g[eSport MG]!y Elfogadtad a!t szabályokat!y !!!")
  156.         Regisztralas(id)
  157.     }
  158.     case 7: {
  159.         print_color(id, "!g[eSport MG]!y Szabály elfogadása nélkül nem regisztrálhatsz!")
  160.     }
  161.     case 8: {
  162.         print_color(id, "!g[eSport MG]!y TeamSpeak3:!t 37.221.209.130:9988")
  163.     }
  164.     case 18:{
  165.         print_color(id, "!g[eSport MG]!y Nem írtál be jelszót!")
  166.         Regisztralas(id)
  167.     }
  168. }
  169.     menu_destroy(menu);
  170.     return PLUGIN_HANDLED;
  171. }
  172. public belepes_jelszo(id)
  173. {
  174.     read_args(beirt_jelszo, charsmax(beirt_jelszo))
  175.     remove_quotes(beirt_jelszo)
  176.     new hossz = strlen(beirt_jelszo)
  177.     if(equal(beirt_jelszo, ""))
  178.         return PLUGIN_HANDLED
  179.        
  180.     if(hossz < 6)
  181.     {
  182.         print_color(id, "!g[eSport MG]!y Jelszavadnak minimum 6 betűnek kell lennie!")
  183.         client_cmd(id, "messagemode BELEPESI_JELSZO")
  184.     }
  185.     else
  186.     {
  187.         beirt_pw[id] = beirt_jelszo
  188.         Regisztralas(id)
  189.     }
  190.     return PLUGIN_CONTINUE
  191. }
  192. public reg_jelszo(id)
  193. {
  194.     if(reg_pont[id] == 0){
  195.         read_args(jelszo, charsmax(jelszo))
  196.         remove_quotes(jelszo)
  197.         new hossz = strlen(jelszo)
  198.         if(equal(jelszo, ""))
  199.         return PLUGIN_HANDLED
  200.        
  201.         if(hossz < 6)
  202.         {
  203.             print_color(id, "!g[eSport MG]!y Jelszavadnak minimum 6 betűnek kell lennie!")
  204.             client_cmd(id, "messagemode REGISZTRACIOS_JELSZO")
  205.         }
  206.         else
  207.         {
  208.             irt[id] = 1
  209.             mentett_pw[id] = jelszo
  210.             ef_jsz[id] = jelszo
  211.             Regisztralas(id)
  212.         }
  213.     }
  214.     return PLUGIN_CONTINUE
  215. }
  216. public regisztralas_mentese(id)
  217. {
  218.     new Buffer[256]
  219.    
  220.     new adate[128], name[32]
  221.     get_time("%x", adate, sizeof adate - 1);   
  222.    
  223.     get_user_name(id, name, 31)
  224.     format(Buffer, sizeof Buffer - 1, "^"%s^" ^"%s^" ^n^n^n^n", name, mentett_pw[id]);
  225.    
  226.     new file = fopen(users_db_file, "at+");
  227.     fprintf(file, Buffer);
  228.     fclose(file);
  229.    
  230.     return 1;
  231. }
  232. public nevvaltas(id)
  233. {
  234.     if(!is_user_connected(id))
  235.         return FMRES_IGNORED
  236.  
  237.     new regi_nev[32], uj_nev[32], nev[32]
  238.     get_user_name(id, nev, 31)
  239.     pev(id, pev_netname, regi_nev, charsmax(regi_nev))
  240.     if(regi_nev[0])
  241.     {
  242.         get_user_info(id, "name", uj_nev, charsmax(uj_nev))
  243.         if(!equal(regi_nev, uj_nev))
  244.         {
  245.             if(belepve[id] == 1)
  246.             {
  247.                 set_user_info(id, "name", regi_nev)
  248.                 print_color(id, "!g[eSport MG]!y A név váltás tiltott!")
  249.                 return FMRES_HANDLED
  250.             }
  251.             else
  252.             {
  253.                 set_user_info(id, "name", regi_nev)
  254.                 print_color(id, "!g[eSport MG]!y A név váltás tiltott!")
  255.                 return FMRES_HANDLED
  256.             }
  257.         }
  258.     }
  259.     return FMRES_IGNORED
  260. }
  261. public check_db()
  262. {
  263.     new datadir[64];
  264.     get_datadir(datadir, 63);
  265.    
  266.     format(users_db_file, sizeof users_db_file - 1, "%s/user_db.ini", datadir);
  267.    
  268.     new file_pointer = fopen(users_db_file, "r");
  269.    
  270.     if(!file_pointer)
  271.     {
  272.         server_print("NEM TALALHATO A FAJL");
  273.        
  274.         write_file(users_db_file, "");
  275.     }
  276.     fclose(file_pointer);
  277. }
  278. stock check_user(id)
  279. {
  280.     new szFile = fopen(users_db_file, "rt");
  281.    
  282.     new Buffer[256], file_id[32], file_password[32], name[32]
  283.     get_user_name(id, name, 31)
  284.    
  285.     while(!feof(szFile))
  286.     {
  287.         fgets(szFile, Buffer, 255);
  288.        
  289.         if((strlen(Buffer) < 2) || Buffer[0] == ';')
  290.             continue;
  291.        
  292.         parse(Buffer, file_id, 31, file_password, 31);
  293.        
  294.         if(equal(file_id, name))
  295.         {
  296.             mentett_pw[id] = file_password
  297.             break;
  298.         }
  299.     }
  300.     fclose(szFile);
  301.     return 0;
  302. }
  303. public client_putinserver(id)
  304. {
  305.     belepve[id] = 0
  306.     irt[id] = 0
  307.     probal[id] = 0
  308.     beirt_pw[id] = ""
  309.     check_user(id)
  310.     set_task(3.0,"Regisztralas",id)
  311. }
  312. public save(id)
  313. {
  314.     new vaultkey[64],vaultdata[256], name[32]
  315.     get_user_name(id, name, 31)
  316.     format(vaultkey,63,"%s-REG", name)
  317.     format(vaultdata,255,"%i#%i",reg_pont[id], olvas[id])
  318.     nvault_set(reg_vault,vaultkey,vaultdata)
  319.     return PLUGIN_CONTINUE
  320. }
  321. public load(id)
  322. {
  323.     new vaultkey[64],vaultdata[256], name[32]
  324.     get_user_name(id, name, 31)
  325.     format(vaultkey,63,"%s-REG", name)
  326.     format(vaultdata,255,"%i#%i",reg_pont[id], olvas[id])
  327.     nvault_get(reg_vault,vaultkey,vaultdata,255)
  328.     replace_all(vaultdata, 255, "#", " ")
  329.     new a3[32], a4[32]
  330.     parse(vaultdata, a3, 31, a4, 31)
  331.     reg_pont[id] = str_to_num(a3)
  332.     olvas[id] = str_to_num(a4)
  333.     return PLUGIN_CONTINUE;
  334. }
  335. stock print_color(const id, const input[], any:...)
  336. {
  337.         new count = 1, players[32]
  338.         static msg[191]
  339.         vformat(msg, 190, input, 3)
  340.  
  341.         replace_all(msg, 190, "!g", "^4")
  342.         replace_all(msg, 190, "!y", "^1")
  343.         replace_all(msg, 190, "!t", "^3")
  344.         replace_all(msg, 190, "á", "á")
  345.         replace_all(msg, 190, "é", "Ă©")
  346.         replace_all(msg, 190, "í", "Ă­")
  347.         replace_all(msg, 190, "ó", "Ăł")
  348.         replace_all(msg, 190, "ö", "ö")
  349.         replace_all(msg, 190, "ő", "Ĺ‘")
  350.         replace_all(msg, 190, "ú", "Ăş")
  351.         replace_all(msg, 190, "ü", "ĂĽ")
  352.         replace_all(msg, 190, "ű", "ű")
  353.         replace_all(msg, 190, "Á", "Á")
  354.         replace_all(msg, 190, "É", "É")
  355.         replace_all(msg, 190, "Í", "ĂŤ")
  356.         replace_all(msg, 190, "Ó", "Ă“")
  357.         replace_all(msg, 190, "Ö", "Ă–")
  358.         replace_all(msg, 190, "Ő", "Ő")
  359.         replace_all(msg, 190, "Ú", "Ăš")
  360.         replace_all(msg, 190, "Ü", "Ăś")
  361.         replace_all(msg, 190, "Ű", "Ĺ°")      
  362.  
  363.         if (id) players[0] = id; else get_players(players, count, "ch")
  364.         {
  365.                 for (new i = 0; i < count; i++)
  366.                 {
  367.                         if (is_user_connected(players[i]))
  368.                         {
  369.                                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  370.                                 write_byte(players[i])
  371.                                 write_string(msg)
  372.                                 message_end()
  373.                         }
  374.                 }
  375.         }
  376.         return PLUGIN_HANDLED
  377. }



És ezt meg majd
valahova be ileszted ;)

  1. public ellenorzes(id){
  2. if(belepve[id] == 1){
  3. fomenu(id)
  4. }
  5. else
  6. {
  7. Regisztralas(id)
  8. }
  9. }

Ezt elne felejtsd Rolla :)

  1. register_impulse(201, "ellenorzes")//--------------]/
  2. register_clcmd("say /menu", "ellenorzes")//--------]/
Ha sikerült köszönni :D


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Regisztrációs rendszer hiba
HozzászólásElküldve: 2016.08.16. 22:25 
Offline
Tag

Csatlakozott: 2016.05.12. 06:36
Hozzászólások: 49
köszi, de valahogy ezt akarnám megcsinálni.

nem ezt kéne valahogy máshogy megcsinálni a putinszerverben
Kód:
   UserName[0][id] = EOS;
   UserPassword[0][id] = EOS;
   Name[0][id] = EOS;

?


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 93 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole