hlmod.hu
https://hlmod.hu/

Mentés külön táblába.
https://hlmod.hu/viewtopic.php?f=9&t=29177
Oldal: 1 / 2

Szerző:  konfigos312 [ 2018.07.17. 15:54 ]
Hozzászólás témája:  Mentés külön táblába.

Üdv!
Egy olyan kérdesem lenne hogy ebben hogy tudnám megoldani azt hogy a Regisztráciokat egy táblába mentse és a többi változot meg egy másik táblába?
Előre is köszönöm a segitségeteket.
  1. #include <amxmodx>
  2. #include <dhudmessage>
  3. #include <hamsandwich>
  4. #include <cstrike>
  5. #include <colorchat>
  6. #include <engine>
  7. #include <fun>
  8. #include <sqlx>
  9. #include <fakemeta>
  10.  
  11. #define PLUGIN "New Plug-In"
  12. #define VERSION "1.0"
  13. #define AUTHOR "author"
  14.  
  15. new const Crprefixx[] = "[Információ]";
  16.  
  17. new const SqlN[][] = {  "mysql51.websupport.sk:3309", "", "", "" };
  18.  
  19. new gFelhasznalo[33][100], gJelszo[33][100], gMenu[33], gId[33], gFolyamatban[33], bool:gBejelentkezes[33];
  20.  
  21. new Handle:SqlTuple;
  22.  
  23. public plugin_init() {
  24.     register_plugin(PLUGIN, VERSION, AUTHOR)
  25.     register_impulse(201, "RegisztMenu");
  26.  
  27.     register_clcmd("Jelszo", "cmdJelszo");
  28.     register_clcmd("Felhasznalo", "cmdFelhasznalo");
  29.     // Add your code here...
  30. }
  31. public RegisztMenu(id) {
  32.     new menu = menu_create("RegisztráciĂłs MenĂĽ^n A mĂłdot Ă­rta Ă©s fejleszti: Toretto", "Regi_h");
  33.    
  34.     menu_additem(menu, "Regisztrálás", "0", 0);
  35.     menu_additem(menu, "BejelentkezĂ©s", "1", 0);
  36.    
  37.     menu_display(id, menu, 0);
  38. }
  39. public Regi_h(id, menu, item) {
  40.     switch(item) {
  41.         case MENU_EXIT: {
  42.             menu_destroy(menu);
  43.             return;
  44.         }
  45.         case 0: {
  46.             RegFomenu(id);
  47.             gMenu[id] = 0;
  48.         }
  49.         case 1: {
  50.             RegFomenu(id);
  51.             gMenu[id] = 1;
  52.         }
  53.     }
  54. }
  55. public RegFomenu(id) {
  56.     new cim[121];
  57.     new menu = menu_create(gMenu[id] == 0? "ReigsztráciĂłs MenĂĽ^n A mĂłdot Ă­rta Ă©s fejleszti: Toretto ":"BejelentkezĂ©s MenĂĽ^n A mĂłdot Ă­rta Ă©s fejleszti: Toretto", "RegFo_h");
  58.    
  59.     format(cim, charsmax(cim), "FelhasználĂłnĂ©v: %s", gFelhasznalo[id]);
  60.     menu_additem(menu, cim, "0", 0);
  61.    
  62.     format(cim, charsmax(cim), "Jelszo: %s", gJelszo[id]);
  63.     menu_additem(menu, cim, "1", 0);
  64.    
  65.     menu_additem(menu, gMenu[id] == 0 ? "Regisztrálás!":"BejelentkezĂ©s!", "2",0);
  66.    
  67.     menu_display(id, menu, 0);
  68. }
  69. public RegFo_h(id, menu, item) {
  70.     if(item == MENU_EXIT)
  71.     {
  72.         menu_destroy(menu);
  73.         return;
  74.     }
  75.    
  76.     new data[9], szName[64];
  77.     new access, callback;
  78.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  79.     new key = str_to_num(data);
  80.    
  81.     switch(key)
  82.     {
  83.         case 0: client_cmd(id, "messagemode Felhasznalo");
  84.             case 1: client_cmd(id, "messagemode Jelszo");
  85.             case 2: cmdBejelentkezes(id);
  86.         }
  87. }
  88. public cmdBejelentkezes(id) {
  89.     if(gBejelentkezes[id] == true)
  90.         return PLUGIN_HANDLED;
  91.    
  92.    
  93.     if((strlen(gFelhasznalo[id]) == 0)) {
  94.         ColorChat(id, NORMAL, "^4[%s] ^1Nem adtál meg felhaszálĂłnevet!", Crprefixx);
  95.         RegFomenu(id)
  96.         return PLUGIN_HANDLED;
  97.     }
  98.     if((strlen(gJelszo[id]) == 0)) {
  99.         ColorChat(id, NORMAL, "^4[%s] ^1Nem adtál meg jelszĂłt!", Crprefixx);
  100.         RegFomenu(id)
  101.         return PLUGIN_HANDLED;
  102.     }
  103.    
  104.     if(gMenu[id] ==  0) {
  105.         if(gFolyamatban[id] == 0) {
  106.             ColorChat(id, NORMAL, "^4[%s] ^1Regisztrálás folyamatban van.... KĂ©rlek várj!", Crprefixx);
  107.             SqlAccBetolt(id);
  108.             RegFomenu(id);
  109.             gFolyamatban[id] = 1;
  110.             return PLUGIN_HANDLED;
  111.         }
  112.         else RegFomenu(id);
  113.     }
  114.     if(gMenu[id] ==  1) {
  115.         if(gFolyamatban[id] == 0) {
  116.             ColorChat(id, NORMAL, "^4[%s] ^1BejelentkezĂ©s folyamatban van.... KĂ©rlek várj!", Crprefixx);
  117.             SqlAccBetolt(id);
  118.             RegFomenu(id);
  119.             gFolyamatban[id] = 1;
  120.             return PLUGIN_HANDLED;
  121.         }
  122.         else RegFomenu(id);
  123.     }
  124.    
  125.     return PLUGIN_CONTINUE;
  126. }
  127. public cmdJelszo(id) {
  128.     if(gBejelentkezes[id] == true)
  129.         return PLUGIN_HANDLED;
  130.    
  131.     gJelszo[id][0] = EOS;
  132.     read_args(gJelszo[id], 99);
  133.     remove_quotes(gJelszo[id]);
  134.    
  135.     if((strlen(gJelszo[id]) < 4 || strlen(gJelszo[id]) > 20)) {
  136.         ColorChat(id, NORMAL, "^4[%s] ^1A jelszavad nem lehet rövidebb mint 4, illetve hosszabb 20 karakternĂ©l!.", Crprefixx);
  137.         gJelszo[id][0] = EOS;
  138.     }
  139.    
  140.     RegFomenu(id);
  141.     return PLUGIN_HANDLED;
  142. }
  143. public cmdFelhasznalo(id) {
  144.     if(gBejelentkezes[id] == true)
  145.         return PLUGIN_HANDLED;
  146.    
  147.     gFelhasznalo[id][0] = EOS;
  148.     read_args(gFelhasznalo[id], 99);
  149.     remove_quotes(gFelhasznalo[id]);
  150.    
  151.     if((strlen(gFelhasznalo[id]) < 4 || strlen(gFelhasznalo[id]) > 20)) {
  152.         ColorChat(id, NORMAL, "^4[%s] ^1A felhasználĂłneved nem lehet rövidebb mint 4, illetve hosszabb 20 karakternĂ©l!.", Crprefixx);
  153.         gFelhasznalo[id][0] = EOS;
  154.     }
  155.    
  156.     RegFomenu(id);
  157.     return PLUGIN_HANDLED;
  158. }
  159. public client_putinserver(id)
  160. {
  161.     gFolyamatban[id] = 0
  162.     gBejelentkezes[id] = false
  163.     copy(gJelszo[id], 31, "")
  164.     copy(gFelhasznalo[id], 31, "")
  165.    
  166.  
  167. }
  168.  
  169.  
  170.  
  171. public client_disconnect(id)
  172. {  
  173.     gFolyamatban[id] = 0;
  174.    
  175.     if(gBejelentkezes[id]) {
  176.         SqlAccFissites(id)
  177.     }
  178.    
  179.    
  180.     gBejelentkezes[id] = false;
  181.        
  182. }
  183.  
  184.  
  185. public plugin_cfg()
  186. {
  187.     SqlTuple = SQL_MakeDbTuple(SqlN[0], SqlN[1], SqlN[2], SqlN[3]);
  188.    
  189.  
  190.  
  191. }
  192. public SqlAccBetolt(id) {
  193.     new Query[2048], Len = 0;
  194.    
  195.     new a[191];
  196.    
  197.     format(a, 190, "%s", gFelhasznalo[id]);
  198.    
  199.     replace_all(a, 190, "\", "\\")
  200.     replace_all(a, 190, "'", "\'")
  201.    
  202.     Len += format(Query[Len], charsmax(Query), "SELECT * FROM regi_sql ");
  203.     Len += format(Query[Len], charsmax(Query)-Len, "WHERE Felhasznalo = '%s'", a);
  204.    
  205.     new Data[2]
  206.     Data[0] = id;
  207.     Data[1] = get_user_userid(id);
  208.    
  209.     SQL_ThreadQuery(SqlTuple, "SqlAccBetoltQwe", Query, Data, 2);
  210. }
  211. public SqlAccBetoltQwe(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) {
  212.     if(FailState == TQUERY_CONNECT_FAILED)
  213.     {
  214.         set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!")
  215.         return
  216.     }
  217.     else if(FailState == TQUERY_QUERY_FAILED)
  218.     {
  219.         set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!")
  220.         return
  221.     }
  222.    
  223.     if(Errcode)
  224.     {
  225.         log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error)
  226.         return
  227.     }
  228.    
  229.     new id = Data[0];
  230.    
  231.     if(Data[1] != get_user_userid(id))
  232.         return;
  233.        
  234.     new Found = SQL_NumRows(Query);
  235.    
  236.     if(gMenu[id] == 0) {
  237.         if(Found > 0) {
  238.             ColorChat(id, NORMAL, "^4[%s] ^1Ez a felhasználĂłnĂ©v már foglalt!", Crprefixx);
  239.             gFolyamatban[id] = 0;
  240.             RegFomenu(id);
  241.         }
  242.         else SqlAccKeszit(id);
  243.     }
  244.     else if(gMenu[id] == 1) {
  245.         if(Found == 0) {
  246.             ColorChat(id, NORMAL, "^4[%s] ^1Hibás jelszĂł vagy felhasználĂłnĂ©v!", Crprefixx);
  247.             gFolyamatban[id] = 0;
  248.             RegFomenu(id);
  249.         }
  250.         else SqlAccLoad(id);
  251.     }
  252. }
  253. public SqlAccKeszit(id) {
  254.     new Query[2048], Len = 0;
  255.    
  256.     new a[191], b[191], c[191];
  257.    
  258.     format(a, 190, "%s", gFelhasznalo[id]);
  259.     format(b, 190, "%s", gJelszo[id]);
  260.    
  261.     replace_all(a, 190, "\", "\\")
  262.     replace_all(a, 190, "'", "\'")
  263.     replace_all(b, 190, "\", "\\")
  264.     replace_all(b, 190, "'", "\'")
  265.    
  266.     new Nev[32]; get_user_name(id, Nev, 31);
  267.    
  268.     format(c, 190, "%s", Nev);
  269.    
  270.     replace_all(c, 190, "\", "\\")
  271.     replace_all(c, 190, "'", "\'")
  272.    
  273.     Len += format(Query[Len], charsmax(Query), "INSERT INTO regi_sql ");
  274.     Len += format(Query[Len], charsmax(Query)-Len, "(Felhasznalo, Jelszo,Jatekosnev) VALUES ('%s', '%s', '%s')", a, b, c);
  275.    
  276.     new Data[2]
  277.     Data[0] = id;
  278.     Data[1] = get_user_userid(id);
  279.    
  280.     SQL_ThreadQuery(SqlTuple,"SqlAccKeszitQwe", Query, Data, 2)
  281. }
  282. public SqlAccKeszitQwe(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) {
  283.     if(FailState == TQUERY_CONNECT_FAILED)
  284.     {
  285.         set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!")
  286.         return
  287.     }
  288.     else if(FailState == TQUERY_QUERY_FAILED)
  289.     {
  290.         set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!")
  291.         return
  292.     }
  293.    
  294.     if(Errcode)
  295.     {
  296.         log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error)
  297.         return
  298.     }
  299.    
  300.     new id = Data[0];
  301.    
  302.     if(Data[1] != get_user_userid(id))
  303.         return;
  304.        
  305.     ColorChat(id, NORMAL, "^4[%s] ^1Sikeresen Regisztráltál! FelhasználĂłnĂ©v: ^4%s ^1| JelszĂł: ^4%s", Crprefixx, gFelhasznalo[id], gJelszo[id]);
  306.     gFolyamatban[id] = 0;
  307.     gMenu[id] = 1;
  308.     RegFomenu(id);
  309.     return;
  310. }
  311. public SqlAccLoad(id) {
  312.     new Query[2048], Len = 0;
  313.    
  314.     Len += format(Query[Len], charsmax(Query), "SELECT * FROM regi_sql ");
  315.     Len += format(Query[Len], charsmax(Query)-Len, "WHERE Felhasznalo = '%s'", gFelhasznalo[id]);
  316.    
  317.     new Data[2];
  318.     Data[0] = id;
  319.     Data[1] = get_user_userid(id);
  320.    
  321.     SQL_ThreadQuery(SqlTuple,"SqlAccLoadQwe", Query, Data, 2);
  322. }
  323. public SqlAccLoadQwe(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) {
  324.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  325.     {
  326.         log_amx("%s", Error)
  327.         return
  328.     }
  329.     else
  330.     {
  331.         new id = Data[0];
  332.        
  333.         if (Data[1] != get_user_userid(id))
  334.             return ;
  335.        
  336.         new Password[100];
  337.         SQL_ReadResult(Query, 2, Password, 99);
  338.        
  339.         if(equal(gJelszo[id], Password)) {
  340.             if ( is_online( id ) )
  341.             {
  342.                 ColorChat(id, NORMAL, "^4[%s] ^3%s ^1már be van jelentkezve!", Crprefixx, gFelhasznalo[id]);
  343.                 RegFomenu(id);
  344.                 return;
  345.             }
  346.             gId[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Id"));
  347.            
  348.            
  349.            
  350.             client_printcolor(id, "!g[%s] !nSzia,!t %s!n (#!g%d!n) Sikeresen BejelenetkeztĂ©l!", Crprefixx, gFelhasznalo[id], gId[id]);
  351.             gFolyamatban[id] = 0
  352.             gBejelentkezes[id] = true;
  353.         }
  354.         else  {
  355.             ColorChat(id, NORMAL, "^4[%s] ^1Hibás jelszĂł vagy felhasználĂłnĂ©v!", Crprefixx);
  356.             gFolyamatban[id] = 0;
  357.             RegFomenu(id);
  358.         }
  359.     }
  360. }
  361.  
  362. public SqlAccFissites(id) {
  363.     new Query[2048], Len = 0;
  364.    
  365.     new c[191];
  366.    
  367.     new Nev[32]; get_user_name(id, Nev, 31);
  368.    
  369.     format(c, 190, "%s", Nev);
  370.    
  371.     replace_all(c, 190, "\", "\\")
  372.     replace_all(c, 190, "'", "\'")
  373.    
  374.     Len += format(Query[Len], charsmax(Query), "UPDATE regi_sql SET ");
  375.    
  376.    
  377.     Len += format(Query[Len], charsmax(Query)-Len, "Jatekosnev = '%s' ", c);
  378.    
  379.     Len += format(Query[Len], charsmax(Query)-Len,"WHERE Id = '%d'", gId[id]);
  380.    
  381.     SQL_ThreadQuery(SqlTuple,"SqlUpdateQwe", Query);
  382. }
  383. public SqlUpdateQwe(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) {
  384.     if(FailState == TQUERY_CONNECT_FAILED)return set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!")
  385.     else if(FailState == TQUERY_QUERY_FAILED) return set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!")
  386.     if(Errcode) return log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error)
  387.    
  388.     return PLUGIN_CONTINUE
  389. }
  390.  
  391. stock is_online( iPlayerId )
  392. {
  393.     for ( new i = 1; i < 33; ++i )
  394.         if ( gBejelentkezes[ i ] )
  395.         if ( equal( gFelhasznalo[ iPlayerId ], gFelhasznalo[ i ] ) )
  396.         return i;
  397.     return 0;
  398. }
  399. stock client_printcolor(const id, const input[], any:...)
  400. {
  401.        new count = 1, players[32]
  402.        static msg[191]
  403.        vformat(msg, 190, input, 3)
  404.  
  405.        replace_all(msg, 190, "!g", "^4")
  406.        replace_all(msg, 190, "!n", "^1")
  407.        replace_all(msg, 190, "!t", "^3")    
  408.  
  409.        if (id) players[0] = id; else get_players(players, count, "ch")
  410.        {
  411.                for (new i = 0; i < count; i++)
  412.                {
  413.                        if (is_user_connected(players[i]))
  414.                        {
  415.                                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  416.                                write_byte(players[i])
  417.                                write_string(msg)
  418.                                message_end()
  419.                        }
  420.                }
  421.        }
  422.        return PLUGIN_HANDLED
  423. }

Szerző:  [AK26] manuell [ 2018.07.18. 13:28 ]
Hozzászólás témája:  Re: Mentés külön táblába.

Szia, megírtam amit kértél. Ha valami nem érthető akkor csak kérdezz :D

sql reg:

Kép

sql valtozok:

Kép

sql reg tábla:

Kód:
CREATE TABLE IF NOT EXISTS `regi_sql` (
  `Id` int(10) NOT NULL AUTO_INCREMENT,
  `Felhasznalo` varchar(32) NOT NULL,
  `Jelszo` varchar(32) NOT NULL,
  `Jatekosnev` varchar(32) NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


sql valtozo tábla:

Kód:
CREATE TABLE IF NOT EXISTS `valtozok` (
  `Id` int(10) NOT NULL AUTO_INCREMENT,
  `Felhasznalo` varchar(32) NOT NULL,
  `Valtozouj` INT(11) NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


Csatolmányok:
modcucc.sma [14.79 KiB]
Letöltve 85 alkalommal.

Szerző:  konfigos312 [ 2018.07.19. 20:01 ]
Hozzászólás témája:  Re: Mentés külön táblába.

Probáltam teszteni de a szervereb lese fut.
Amugy a valtozo tábla frisitése nem maradt ki?
Átnéztem mindenhol de sehol nem találtam.

Szerző:  [AK26] manuell [ 2018.07.19. 21:33 ]
Hozzászólás témája:  Re: Mentés külön táblába.

konfigos312 írta:
Probáltam teszteni de a szervereb lese fut.
Amugy a valtozo tábla frisitése nem maradt ki?
Átnéztem mindenhol de sehol nem találtam.

Nekem tökéletesen lefutott, és igazad van a frissítés kimaradt sorry holnap beleírom azt is. :xicon_e_biggrin: :D

Szerző:  konfigos312 [ 2018.07.19. 21:37 ]
Hozzászólás témája:  Re: Mentés külön táblába.

[AK26] manuell írta:
konfigos312 írta:
Probáltam teszteni de a szervereb lese fut.
Amugy a valtozo tábla frisitése nem maradt ki?
Átnéztem mindenhol de sehol nem találtam.

Nekem tökéletesen lefutott, és igazad van a frissítés kimaradt sorry holnap beleírom azt is. :xicon_e_biggrin: :D

Else indul a plugin a szerveren :D

Szerző:  [AK26] manuell [ 2018.07.19. 21:45 ]
Hozzászólás témája:  Re: Mentés külön táblába.

A konzolba ír valami hibát?

Szerző:  konfigos312 [ 2018.07.19. 21:53 ]
Hozzászólás témája:  Re: Mentés külön táblába.

Semmit azon csodálkoztam pedig debug is mögöte van

Szerző:  terminator100 [ 2018.07.19. 22:05 ]
Hozzászólás témája:  Re: Mentés külön táblába.

Csak úgy megkérdezném minden nélkül, hogy mi értelme van?
Mert átláthatósághoz amúgy sem phpmyadmin-t használnak az emberek több ok miatt is mint pl: lassú,atom lassú,átláthatatlan,nem olyan könnyű szerkeszteni vele az oszlopokat.
Más értelmét én nem látom.

Szerző:  Shadow -.- [ 2018.07.19. 22:17 ]
Hozzászólás témája:  Re: Mentés külön táblába.

terminator100 írta:
Csak úgy megkérdezném minden nélkül, hogy mi értelme van?
Mert átláthatósághoz amúgy sem phpmyadmin-t használnak az emberek több ok miatt is mint pl: lassú,atom lassú,átláthatatlan,nem olyan könnyű szerkeszteni vele az oszlopokat.
Más értelmét én nem látom.


Van értelme aki lusta, hogy ne számoljon :D Nálam is külön táblákba vannak megoldva, és nem kell skin berakásnál kinlódni a számolással, egyéb dolgokkal.

Szerző:  konfigos312 [ 2018.07.19. 23:14 ]
Hozzászólás témája:  Re: Mentés külön táblába.

terminator100 írta:
Csak úgy megkérdezném minden nélkül, hogy mi értelme van?
Mert átláthatósághoz amúgy sem phpmyadmin-t használnak az emberek több ok miatt is mint pl: lassú,atom lassú,átláthatatlan,nem olyan könnyű szerkeszteni vele az oszlopokat.
Más értelmét én nem látom.

Egy reget akarok minden szerveremen használni ahol külön változok vannak.
Sadownak meg annyit itt nem kell sehogy az számolni mert megvan mindenek a maga sora :)

Oldal: 1 / 2 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/