hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.16. 20:38



Jelenlévő felhasználók

Jelenleg 486 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 485 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  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Sql Mentés egyben
HozzászólásElküldve: 2016.10.09. 12:24 
Offline
Senior Tag

Csatlakozott: 2015.12.14. 18:19
Hozzászólások: 216
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 5 alkalommal
Hali Én a mai nap elkezdtem egy paintball modot sajnos olyan hibába ütköztem hogy itt a hlmod forumon találtam egy regisztrációs rendszert sql-st!
És ugye nekem a régi mentés sql és ezt szeretném egybe írni mert be irtam mellé igy is müködik csak 2 sql mentés van más néven ez gond lehet?



  1. public plugin_init() {
  2.     register_plugin(PLUGIN, VERSION, AUTHOR)
  3.     register_impulse(201, "Fomenu")
  4.          register_event("CurWeapon", "FegyverCsere", "be", "1=1");
  5.          register_clcmd("say", "sayhook");
  6.     register_clcmd("DOLLAR", "lekeres");
  7.     //reg
  8.     g_iSqlTuple = SQL_MakeDbTuple(SQLINFO[ 0 ], SQLINFO[ 1 ], SQLINFO[ 2 ], SQLINFO[ 3 ] );
  9.          new sThread[ 512 ];
  10.          formatex( sThread, charsmax( sThread ), "CREATE TABLE IF NOT EXISTS `reg_users` (`username` varchar( 32 ) NOT NULL, `password` varchar( 32 ) NOT NULL, `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY );" );
  11.          SQL_ThreadQuery( g_iSqlTuple, "ThreadHandler", sThread, { 0 }, 1 );
  12.          register_clcmd( "Felhasznalonev", "GetUserName" );
  13.          register_clcmd( "Jelszo", "GetPassword" );
  14.          register_clcmd( "say /reg", "cmdReg" );
  15.     //reg
  16. }
  17. public plugin_cfg()
  18. {
  19.     g_SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]);
  20.    
  21.     static Query[10048];
  22.     new Len;
  23.    
  24.     Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `troyasd_3.0`");
  25.     Len += formatex(Query[Len], charsmax(Query)-Len, "(`Nev` varchar(32) NOT NULL, ");
  26.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Dollars` int(11) NOT NULL,");
  27.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Kulcss` int(11) NOT NULL,");
  28.  
  29.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Masodpercek` int(11) NOT NULL,");
  30.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Szint` int(11) NOT NULL,");
  31.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Oles` int(11) NOT NULL,");
  32.     for(new i;i < 2; i++)
  33.         Len += formatex(Query[Len], charsmax(Query)-Len, "`L_%d` int(11) NOT NULL,", i);
  34.        
  35.     for(new i;i < 15; i++)
  36.         Len += formatex(Query[Len], charsmax(Query)-Len, "`F_%d` int(11) NOT NULL,", i);
  37.    
  38.     for(new i;i < 1; i++)
  39.         Len += formatex(Query[Len], charsmax(Query)-Len, "`Skin_%d` int(11) NOT NULL,", i);
  40.    
  41.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Osszes` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
  42.    
  43.     SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
  44. }
  45. public Load(id) {
  46.     static Query[10048];
  47.     new Data[1], Name[32];
  48.     get_user_name(id, Name, 31);
  49.     Data[0] = id;
  50.    
  51.     formatex(Query, charsmax(Query), "SELECT * FROM `troyasd_3.0` WHERE Nev = ^"%s^";", Name);
  52.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1);
  53. }
  54. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  55.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  56.         log_amx("%s", Error);
  57.         return;
  58.     }
  59.     else {
  60.         new id = Data[0];
  61.        
  62.         if(SQL_NumRows(Query) > 0) {
  63.             Dollar[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Dollars"));
  64.             Kulcs[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Kulcss"));
  65.             Masodpercek[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Masodpercek"));
  66.             Szint[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Szint"));
  67.             Oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Oles"));
  68.            
  69.             for(new i=0;i<15;i++)
  70.                 OsszesNev[i] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Osszes"));
  71.        
  72.             for(new i=0;i < 2; i++)
  73.             {
  74.                 new String[64];
  75.                 formatex(String, charsmax(String), "L_%d", i);
  76.                 Lada[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  77.             }
  78.             for(new i=0;i < 15; i++)
  79.             {
  80.                 new String[64];
  81.                 formatex(String, charsmax(String), "F_%d", i);
  82.                 OsszesSkin[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  83.             }
  84.            
  85.             for(new i;i < 1; i++)
  86.             {
  87.                 new String[64];
  88.                 formatex(String, charsmax(String), "Skin_%d", i);
  89.                 Skin[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  90.             }
  91.            
  92.         }
  93.         else
  94.         {
  95.             Save(id);
  96.         }
  97.     }
  98. }
  99. public Save(id)
  100. {
  101.     static Query[256];
  102.     new Name[32]; get_user_name(id, Name, 31);
  103.    
  104.     formatex(Query, charsmax(Query), "INSERT INTO `troyasd_3.0` (`Nev`) VALUES (^"%s^");", Name);
  105.    
  106.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  107. }
  108. public Update(id)
  109. {
  110.     static Query[10048];
  111.     new Len;
  112.     new Name[32]; get_user_name(id, Name, 31);
  113.    
  114.     Len += formatex(Query[Len], charsmax(Query), "UPDATE `troyasd_3.0` SET Dollars = ^"%i^", ",Dollar[id]);
  115.     Len += formatex(Query[Len], charsmax(Query)-Len, "Kulcss = ^"%i^", ", Kulcs[id]);
  116.     Len += formatex(Query[Len], charsmax(Query)-Len, "Szint = ^"%i^", ", Szint[id]);
  117.     Len += formatex(Query[Len], charsmax(Query)-Len, "Oles = ^"%i^", ", Oles[id]);
  118.    
  119.     for(new i=0;i < 15; i++)
  120.         Len += formatex(Query[Len], charsmax(Query)-Len, "Osszes = ^"%i^", ", OsszesNev[i]);
  121.        
  122.     for(new i=0;i < 2; i++)
  123.     Len += formatex(Query[Len], charsmax(Query)-Len, "L_%d = ^"%i^", ", i, Lada[i][id]);
  124.    
  125.     for(new i=0;i < 15; i++)
  126.         Len += formatex(Query[Len], charsmax(Query)-Len, "F_%d = ^"%i^", ", i, OsszesSkin[i][id]);
  127.    
  128.     for(new i;i < 1; i++)
  129.         Len += formatex(Query[Len], charsmax(Query)-Len, "Skin_%d = ^"%i^", ", i, Skin[i][id]);
  130.    
  131.     Len += formatex(Query[Len], charsmax(Query)-Len, "Masodpercek = ^"%i^" WHERE Nev = ^"%s^";", Masodpercek[id]+get_user_time(id), Name);
  132.    
  133.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  134. }
  135. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  136.     if(FailState == TQUERY_CONNECT_FAILED)
  137.         set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
  138.     else if(FailState == TQUERY_QUERY_FAILED)
  139.         set_fail_state("Query Error");
  140.     if(Errcode)
  141.         log_amx("[HIBA*] HIBAT DOBTAM: %s",Error);
  142. }
  143. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  144.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  145.         log_amx("%s", Error);
  146.         return;
  147.     }
  148. }
  149.  
  150. //Regisztráció
  151. public cmdReg( iId ) { MainMenu( iId, 0 ); }
  152.  
  153. public MainMenu( iId, iMenu )
  154. {
  155.     static sTxt[ 256 ], iMenuId, sItemId[ 8 ];
  156.     static const iNum = charsmax( sTxt );
  157.    
  158.     formatex( sTxt, iNum, "\r[\w%s\r]\y ", g_sPrefix );
  159.    
  160.     switch( iMenu )
  161.     {
  162.         case 0:
  163.         {
  164.             add( sTxt, iNum, "Regisztracios menu" );
  165.             iMenuId = menu_create( sTxt, "MainMenuH" );
  166.            
  167.             if ( g_iLoggedIn[ iId ] == 3 ) menu_additem( iMenuId, "Kijelentkezes", "0 0" );
  168.             else
  169.             {
  170.                 menu_additem( iMenuId, "Regisztracio", "1 0" );
  171.                 menu_additem( iMenuId, "Bejelentkezes", "2 0" );
  172.             }
  173.         }
  174.         case 1, 2:
  175.         {
  176.             add( sTxt, iNum, iMenu == 1 ? "Regisztracio" : "Bejelentkezes" );
  177.             iMenuId = menu_create( sTxt, "MainMenuH" );
  178.            
  179.             formatex( sTxt, iNum, "Felhasznalonev: \r%s", g_sUserName[ iId ] );
  180.             formatex( sItemId, charsmax( sItemId ), "1 %d", iMenu );
  181.             menu_additem( iMenuId, sTxt, sItemId );
  182.            
  183.             formatex( sTxt, iNum, "Jelszo: \r%s^n", g_sPassword[ iId ] );
  184.             formatex( sItemId, charsmax( sItemId ), "2 %d", iMenu );
  185.             menu_additem( iMenuId, sTxt, sItemId );
  186.            
  187.             formatex( sItemId, charsmax( sItemId ), "3 %d", iMenu );
  188.             menu_additem( iMenuId, iMenu == 1 ? "Regisztralas" : "Bejelentkezes", sItemId );
  189.         }
  190.     }
  191.     menu_display( iId, iMenuId, 0 );
  192. }
  193.  
  194. public MainMenuH( iId, iMenuId, iItem )
  195. {
  196.     if ( iItem != MENU_EXIT )
  197.     {
  198.         new sMenuName[ 78 ], sInfo[ 32 ], sDatas[ 2 ][ 16 ], iKey, iMenuNum;
  199.         menu_item_getinfo( iMenuId, iItem, iKey, sInfo, charsmax( sInfo ), sMenuName, charsmax( sMenuName ), iMenuNum );
  200.         parse( sInfo, sDatas[ 0 ], charsmax( sDatas[ ] ), sDatas[ 1 ], charsmax( sDatas[ ] ) );
  201.         iKey = str_to_num( sDatas[ 0 ] );
  202.         iMenuNum = str_to_num( sDatas[ 1 ] );
  203.        
  204.        
  205.         switch( iMenuNum )
  206.         {
  207.             case 0:
  208.             {
  209.                 if ( ( g_iLoggedIn[ iId ] = iKey ) == 0 ) ChatColor( iId, "Sikeresen kijelentkeztel." );
  210.                 else MainMenu( iId, ( g_iLoggedIn[ iId ] = iKey ) );
  211.             }
  212.             case 1, 2:
  213.             {
  214.                 switch( iKey )
  215.                 {
  216.                     case 1: { client_cmd( iId, "messagemode Felhasznalonev" ); }
  217.                     case 2: { client_cmd( iId, "messagemode Jelszo" ); }
  218.                     case 3: { LoadDatas( iId, iMenuNum ); }
  219.                 }
  220.             }
  221.         }
  222.     }
  223.     menu_destroy( iMenuId );
  224.     return PLUGIN_HANDLED;
  225. }
  226.  
  227. public SaveDatas( iId )
  228. {
  229.     static sText[ 128 ];
  230.    
  231.     formatex( sText, charsmax( sText ), "INSERT INTO `reg_users` (`username`, `password`) VALUES (^"%s^", ^"%s^");", g_sUserName[ iId ], g_sPassword[ iId ] );
  232.    
  233.     SQL_ThreadQuery( g_iSqlTuple, "ThreadHandler", sText, { 0 }, 1 );
  234. }
  235.  
  236. public LoadDatas( iId, iMode )
  237. {
  238.     static sText[ 128 ], iArray[ 1 ];
  239.    
  240.     iArray[ 0 ] = iId;
  241.    
  242.     if ( iMode == 1 )
  243.     {
  244.         formatex( sText, charsmax( sText ), "SELECT * FROM `reg_users` WHERE username = ^"%s^";", g_sUserName[ iId ] );
  245.         iArray[ 0 ] += 100;
  246.     }
  247.     else formatex( sText, charsmax( sText ), "SELECT * FROM `reg_users` WHERE username = ^"%s^" AND password = ^"%s^";", g_sUserName[ iId ], g_sPassword[ iId ] );
  248.    
  249.     SQL_ThreadQuery( g_iSqlTuple, "ThreadHandler", sText, iArray, sizeof( iArray ) );
  250. }
  251.  
  252. public ThreadHandler( iFailState, Handle:iQuery, const sErrorMsg[ ], iErrorCode, const iARRAY[ ], iArraySize, Float:fQueueTime )
  253. {
  254.     if ( iFailState == TQUERY_CONNECT_FAILED )
  255.     {
  256.         set_fail_state( "Nem tudtam csatlakozni az adatbazishoz." );
  257.         return;
  258.     }
  259.     else if ( iFailState == TQUERY_QUERY_FAILED )
  260.     {
  261.         set_fail_state( "Query Error" );
  262.         return;
  263.     }
  264.    
  265.     if ( iErrorCode )
  266.     {
  267.         log_amx( "%i - %s", iErrorCode, sErrorMsg );
  268.         return;
  269.     }
  270.    
  271.     new iId = iARRAY[ 0 ];
  272.     if ( iId )
  273.     {
  274.         if ( iId > 100 )
  275.         {
  276.             iId -= 100;
  277.             if ( SQL_NumResults( iQuery ) > 0 )
  278.             {
  279.                 g_iLoggedIn[ iId ] = 3;
  280.                 ChatColor( iId, "Sikeresen bejelentkeztel." );
  281.                 MainMenu( iId, 0 );
  282.             }
  283.             else
  284.             {
  285.                 ChatColor( iId, "Hibas felhasznalonev es/vagy jelszo." );
  286.                 MainMenu( iId, 2 );
  287.             }
  288.         }
  289.         else
  290.         {
  291.             if ( SQL_NumResults( iQuery ) > 0 )
  292.             {
  293.                 ChatColor( iId, "Ez a felhasznalonev mar foglalt." );
  294.                 MainMenu( iId, 1 );
  295.             }
  296.             else
  297.             {
  298.                 g_iLoggedIn[ iId ] = 3;
  299.                 ChatColor( iId, "Sikeresen regisztraltal. Felhasznaloneved: %s, Jelszavad: %s.", g_sUserName[ iId ], g_sPassword[ iId ] );
  300.                 SaveDatas( iId );
  301.                 MainMenu( iId, 0 );
  302.             }
  303.         }
  304.     }
  305.    
  306.     return;
  307. }
  308.  
  309. public GetUserName( iId )
  310. {
  311.     static sUser[ 32 ];
  312.     read_args( sUser, charsmax( sUser ) );
  313.     remove_quotes( sUser );
  314.     if ( strlen( sUser ) < 5 )
  315.     {
  316.         ChatColor( iId, "A felhasznalonevednek hosszabb kell hogy legyen mint 5 karakter!" );
  317.         client_cmd( iId, "messagemode Felhasznalonev" );
  318.     }
  319.     else copy( g_sUserName[ iId ], charsmax( g_sUserName[ ] ), sUser );
  320.    
  321.     MainMenu( iId, g_iLoggedIn[ iId ] );
  322. }
  323.  
  324. public GetPassword( iId )
  325. {
  326.     static sPass[ 32 ];
  327.     read_args( sPass, charsmax( sPass ) );
  328.     remove_quotes( sPass );
  329.     if ( strlen( sPass ) < 5 )
  330.     {
  331.         ChatColor( iId, "A jelszavad hosszabb kell hogy legyen mint 5 karakter!" );
  332.         client_cmd( iId, "messagemode Jelszo" );
  333.     }
  334.     else copy( g_sPassword[ iId ], charsmax( g_sPassword[ ] ), sPass );
  335.  
  336.     MainMenu( iId, g_iLoggedIn[ iId ] );
  337. }
  338. //regisztárció
  339.  
  340. public client_putinserver(id)
  341. {
  342.     set_task(1.0, "toltes",_,_,_,"b");
  343.      
  344.     Dollar[id] = EOS;
  345.     Masodpercek[id] = 0;
  346.     Szint[id] = 0;
  347.     Kulcs[id] = 0;
  348.     Oles[id] = 0;
  349.     Fegyo[id] = 1;
  350.        
  351.  
  352.    
  353.  
  354.    
  355.     for(new i;i < 15; i++)
  356.         OsszesNev[i] = EOS;
  357.     for(new i;i < 2; i++)
  358.         Lada[i][id] = EOS;
  359.     for(new i;i < 15; i++)
  360.         OsszesSkin[i][id] = EOS;
  361.    
  362.     for(new i;i < 1; i++)
  363.         Skin[i][id] = EOS;
  364.    
  365.    
  366.    
  367.     if(!is_user_bot(id))
  368.         Load(id);
  369. }
  370. public toltes( iId )
  371. {
  372.     g_iLoggedIn[ iId ] = 0;
  373.     g_sUserName[ iId ] = "";
  374.     g_sPassword[ iId ] = "";
  375. }
  376. public plugin_end( ) { SQL_FreeHandle( g_iSqlTuple ); }

_________________
.::#0n3.Sh00T[Clan] Only AWP#Update[DEAGELE PÁRBAJ & RTD & Statrak*
Kép
Go,Go,Go Nagyon jó szerver :D


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  [ 1 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 147 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