hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.26. 12:00



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: nincs regisztrált felhasználó 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  [ 4 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: SQL Mentés.
HozzászólásElküldve: 2016.10.13. 19:34 
Offline
Beavatott

Csatlakozott: 2016.08.17. 18:52
Hozzászólások: 92
Megköszönt másnak: 25 alkalommal
Megköszönték neki: 2 alkalommal
Hello.
Ha igy írom meg a mentést miért hozz a szerver nevével külön sorokat?
És miért tűnek el az mentet adatok?
  1. #include <sqlx>
  2. new Handle:g_SqlTuple;
  3. new const SQLINFO[][] = {
  4.     "",    // HOST
  5.     "",     // USERNAME
  6.     "",     // PASSWORD
  7.     ""      // DATABASE
  8. };
  9. public client_disconnect(id)
  10. {
  11.     if(!is_user_bot(id))
  12.         Update(id);
  13. }
  14. public client_putinserver(id)
  15. {
  16.     Dollar[id] = EOS;
  17.     Rang[id] = EOS;
  18.     Oles[id] = EOS;
  19.     Gun[id] = 1;
  20.    
  21.     Registered[id] = 0;
  22.     UserPassword[id] = "";
  23.     RegPassword[id] = "";
  24.     Loggedin[id] = false;
  25.     Write[id] = false;
  26.     Write2[id] = false;
  27.    
  28.     for(new i;i < 112; i++)
  29.         OsszesFegyver[i] = EOS;
  30.    
  31.     for(new i;i < 112; i++)
  32.         OsszesSkin[i][id] = EOS;
  33.    
  34.     for(new i;i < 8; i++)
  35.         Lada[i][id] = EOS;
  36.    
  37.     Kulcs[id] = 0;
  38.    
  39.     if(!is_user_bot(id))
  40.         Load(id);
  41. }
  42. public plugin_cfg()
  43. {
  44.     g_SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]);
  45.    
  46.     static Query[10048];
  47.     new Len;
  48.    
  49.     Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `ujgo_mod`");
  50.     Len += formatex(Query[Len], charsmax(Query)-Len, "(`Nev` varchar(32) NOT NULL, ");
  51.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Dollars` float(11) NOT NULL,");
  52.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Szint` int(11) NOT NULL,");
  53.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Oles` int(11) NOT NULL,");
  54.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Jelszo` varchar(32) NOT NULL,");
  55.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Regisztralva` int(11) NOT NULL,");
  56.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Osszes` int(11) NOT NULL, ");
  57.    
  58.     for(new i;i < 112; i++)
  59.         Len += formatex(Query[Len], charsmax(Query)-Len, "`Gun%d` int(11) NOT NULL,", i);
  60.     for(new i;i < 8; i++)
  61.         Len += formatex(Query[Len], charsmax(Query)-Len, "`Chest%d` int(11) NOT NULL,", i);
  62.    
  63.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Kulcs` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
  64.    
  65.     SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
  66. }
  67. public Load(id) {
  68.     static Query[10048];
  69.     new Data[1], Name[32];
  70.     get_user_name(id, Name, 31);
  71.     Data[0] = id;
  72.  
  73.     formatex(Query, charsmax(Query), "SELECT * FROM `ujgo_mod` WHERE Nev = ^"%s^";", Name);
  74.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1);
  75. }
  76. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  77.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  78.         log_amx("%s", Error);
  79.         return;
  80.     }
  81.     else {
  82.         new id = Data[0];
  83.  
  84.         if(SQL_NumRows(Query) > 0) {
  85.             SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Dollars"), Dollar[id]);
  86.             Rang[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Szint"));
  87.             Oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Oles"));
  88.             SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Jelszo"), RegPassword[id], charsmax(RegPassword[]));
  89.             Registered[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Regisztralva"));
  90.            
  91.             for(new i=0;i<112;i++)
  92.                 OsszesFegyver[i] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Osszes"));
  93.            
  94.             for(new i=0;i < 112; i++)
  95.             {
  96.                 new String[64];
  97.                 formatex(String, charsmax(String), "Gun%d", i);
  98.                 OsszesSkin[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  99.             }
  100.             for(new i;i < 8; i++)
  101.             {
  102.                 new String[64];
  103.                 formatex(String, charsmax(String), "Chest%d", i);
  104.                 Lada[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  105.             }
  106.            
  107.             Kulcs[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Kulcs"));
  108.         }
  109.         else
  110.         {
  111.             Save(id);
  112.         }
  113.     }
  114. }
  115. public Save(id)
  116. {
  117.     static Query[10048];
  118.     new Len;
  119.     new Name[32]; get_user_name(id, Name, 31);
  120.    
  121.     Len += formatex(Query[Len], charsmax(Query), "INSERT INTO `ujgo_mod` (`Nev`, ");
  122.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Dollars` ,");
  123.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Szint` ,");
  124.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Oles` ,");
  125.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Jelszo`, ");
  126.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Regisztralva`, ");
  127.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Osszes`, ");
  128.    
  129.     for(new i;i < 112; i++)
  130.         Len += formatex(Query[Len], charsmax(Query)-Len, "`Gun%d` ,", i);
  131.        
  132.     for(new i;i < 8; i++)
  133.         Len += formatex(Query[Len], charsmax(Query)-Len, "`Chest%d` ,", i);
  134.    
  135.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Kulcs`) VALUES (^"%s^" ,", Name);
  136.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  137.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  138.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  139.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  140.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  141.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  142.  
  143.    
  144.     for(new i=0;i < 112; i++)
  145.         Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  146.        
  147.     for(new i;i < 8; i++)
  148.         Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  149.    
  150.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^");");
  151.    
  152.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  153. }
  154. public Update(id)
  155. {
  156.     static Query[10048];
  157.     new Len;
  158.     new Name[32]; get_user_name(id, Name, 31);
  159.    
  160.     Len += formatex(Query[Len], charsmax(Query), "UPDATE `ujgo_mod` SET Dollars = ^"%i^", ",Dollar[id]);
  161.     Len += formatex(Query[Len], charsmax(Query)-Len, "Szint = ^"%i^", ", Rang[id]);
  162.     Len += formatex(Query[Len], charsmax(Query)-Len, "Oles = ^"%i^", ", Oles[id]);
  163.     Len += formatex(Query[Len], charsmax(Query)-Len, "Jelszo = ^"%s^", ", RegPassword[id]);
  164.     Len += formatex(Query[Len], charsmax(Query)-Len, "Regisztralva = ^"%i^", ", Registered[id]);
  165.    
  166.     for(new i=0;i < 112; i++)
  167.         Len += formatex(Query[Len], charsmax(Query)-Len, "Osszes = ^"%i^", ", OsszesFegyver[i]);
  168.    
  169.     for(new i=0;i < 112; i++)
  170.         Len += formatex(Query[Len], charsmax(Query)-Len, "Gun%d = ^"%i^", ", i, OsszesSkin[i][id]);
  171.        
  172.     for(new i;i < 8; i++)
  173.         Len += formatex(Query[Len], charsmax(Query)-Len, "Chest%d = ^"%i^", ", i, Lada[i][id]);
  174.    
  175.     Len += formatex(Query[Len], charsmax(Query)-Len, "Kulcs = ^"%i^" WHERE Nev = ^"%s^";", Kulcs[id], Name);
  176.    
  177.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  178. }
  179. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  180.     if(FailState == TQUERY_CONNECT_FAILED)
  181.         set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
  182.     else if(FailState == TQUERY_QUERY_FAILED)
  183.         set_fail_state("Query Error");
  184.     if(Errcode)
  185.         log_amx("[HIBA*] HIBAT DOBTAM: %s",Error);
  186. }
  187. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  188.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  189.         log_amx("%s", Error);
  190.         return;
  191.     }
  192. }
  193. public plugin_end() {
  194.     SQL_FreeHandle(g_SqlTuple);
  195. }

_________________
.:[BadboYs]:. Global Offensive
Vasárnap NEW MÓD!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: SQL Mentés.
HozzászólásElküldve: 2016.10.13. 21:26 
Offline
Nagyúr
Avatar

Csatlakozott: 2016.03.05. 20:56
Hozzászólások: 663
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 124 alkalommal
Itt karakterként kezeled a dollárt:

  1. SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Dollars"), Dollar[id]);


Itt meg floatként hozod létre a táblát:

  1. Len += formatex(Query[Len], charsmax(Query)-Len, "`Dollars` float(11) NOT NULL,");


Ez meg mi???
  1. public Save(id)
  2. {
  3.     static Query[10048];
  4.     new Len;
  5.     new Name[32]; get_user_name(id, Name, 31);
  6.    
  7.     Len += formatex(Query[Len], charsmax(Query), "INSERT INTO `ujgo_mod` (`Nev`, ");
  8.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Dollars` ,");
  9.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Szint` ,");
  10.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Oles` ,");
  11.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Jelszo`, ");
  12.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Regisztralva`, ");
  13.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Osszes`, ");
  14.    
  15.     for(new i;i < 112; i++)
  16.         Len += formatex(Query[Len], charsmax(Query)-Len, "`Gun%d` ,", i);
  17.        
  18.     for(new i;i < 8; i++)
  19.         Len += formatex(Query[Len], charsmax(Query)-Len, "`Chest%d` ,", i);
  20.    
  21.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Kulcs`) VALUES (^"%s^" ,", Name);
  22.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  23.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  24.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  25.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  26.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  27.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  28.  
  29.    
  30.     for(new i=0;i < 112; i++)
  31.         Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  32.        
  33.     for(new i;i < 8; i++)
  34.         Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", ");
  35.    
  36.     Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^");");
  37.    
  38.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  39. }

Ezeknek minek nulla érték? ha nem adsz meg értéket alapból 0

Rew:
  1. public Save(id)
  2. {
  3. static Query[256];
  4.  
  5. formatex(Query, charsmax(Query), "INSERT INTO `ujgo_mod` (`Nev`) VALUES (^"%s^");", name[id]);
  6. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  7. }


Itt létrehozol 1 sort:
  1. Len += formatex(Query[Len], charsmax(Query)-Len, "`Osszes` int(11) NOT NULL, ");


Közben ebbe az egybe 110 dolgot akarsz menteni:
  1. for(new i=0;i < 112; i++)
  2. Len += formatex(Query[Len], charsmax(Query)-Len, "Osszes = ^"%i^", ", OsszesFegyver[i]);


Miért kéred le mindenhol a játékos nevét???
  1. public Update(id)
  2. {
  3.     static Query[10048];
  4.     new Len;
  5.     new Name[32]; get_user_name(id, Name, 31);


Tárold egy külön tömbbe a nevet:
  1. new Nev[32][33];


EOS szövegek nullázására való..
  1. Dollar[id] = EOS;
  2. Rang[id] = EOS;
  3. Oles[id] = EOS;


Miért felcsatlakozáskor akarsz nullázni, miértnem lecsatlakozáskor??
  1. public client_putinserver(id)
  2. {
  3.     Dollar[id] = EOS;
  4.     Rang[id] = EOS;
  5.     Oles[id] = EOS;
  6.     Gun[id] = 1;
  7.    
  8.     Registered[id] = 0;
  9.     UserPassword[id] = "";
  10.     RegPassword[id] = "";
  11.     Loggedin[id] = false;
  12.     Write[id] = false;
  13.     Write2[id] = false;
  14.    
  15.     for(new i;i < 112; i++)
  16.         OsszesFegyver[i] = EOS;
  17.    
  18.     for(new i;i < 112; i++)
  19.         OsszesSkin[i][id] = EOS;
  20.    
  21.     for(new i;i < 8; i++)
  22.         Lada[i][id] = EOS;
  23.    
  24.     Kulcs[id] = 0;
  25.    
  26.     if(!is_user_bot(id))
  27.         Load(id);
  28. }


Ebbe még az a ráadás hogy:
  1. for(new i;i < 112; i++)
  2.         OsszesFegyver[i] = EOS
;
Ha ezt nullázod, hogy akarod számolni a fegyverek számát??

_________________
Global Offensive modok:

Global Offensive Mode 1.0
Global Offensive Mode 3.0
exodus Global Offensive 4.0


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: SQL Mentés.
HozzászólásElküldve: 2016.10.14. 18:58 
Offline
Beavatott

Csatlakozott: 2016.08.17. 18:52
Hozzászólások: 92
Megköszönt másnak: 25 alkalommal
Megköszönték neki: 2 alkalommal
Az miért van hogy a szerver nevével csinál sorokat sql-ben??

_________________
.:[BadboYs]:. Global Offensive
Vasárnap NEW MÓD!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: SQL Mentés.
HozzászólásElküldve: 2016.10.14. 21:17 
Offline
Nagyúr
Avatar

Csatlakozott: 2016.03.05. 20:56
Hozzászólások: 663
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 124 alkalommal
Toretto írta:
Az miért van hogy a szerver nevével csinál sorokat sql-ben??


Magában ez a sz*rhalom vagy amiket leírtam hibákat javítottad?

_________________
Global Offensive modok:

Global Offensive Mode 1.0
Global Offensive Mode 3.0
exodus Global Offensive 4.0


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


Ki van itt

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