hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.28. 07:40



Jelenlévő felhasználók

Jelenleg 532 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 532 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: SQL mentés hiba
HozzászólásElküldve: 2018.05.23. 12:35 
Offline
Senior Tag
Avatar

Csatlakozott: 2018.02.01. 16:27
Hozzászólások: 225
Megköszönt másnak: 14 alkalommal
Megköszönték neki: 18 alkalommal
Üdv!
Olyan problémám volna hogy nem igazán akar működni a mentés, ez alatt azt értem hogy: Nem minden játékosnak menti el a dolgát, pl: 5 játékosnak elmenti, 3-nak meg nem...

Előre is köszönöm a segítséget...

  1. public plugin_cfg()
  2. {
  3.     g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  4.     static Query[10048];
  5.     NEW Len;
  6.    
  7.     Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `beta_awp` ");
  8.     Len += formatex(Query[Len], charsmax(Query)-Len, "(`JATEKOSNEV` varchar(32) NOT NULL,");
  9.     Len += formatex(Query[Len], charsmax(Query)-Len, "`XP` int(11) NOT NULL,");
  10.     Len += formatex(Query[Len], charsmax(Query)-Len, "`SZINT` int(11) NOT NULL,");
  11.     Len += formatex(Query[Len], charsmax(Query)-Len, "`OLES` int(11) NOT NULL,");
  12.     Len += formatex(Query[Len], charsmax(Query)-Len, "`PONT` int(11) NOT NULL,");
  13.     Len += formatex(Query[Len], charsmax(Query)-Len, "`HALAL` int(11) NOT NULL,");
  14.     Len += formatex(Query[Len], charsmax(Query)-Len, "`FEJLOVES` int(11) NOT NULL,");
  15.     Len += formatex(Query[Len], charsmax(Query)-Len, "`CSAVAR` int(11) NOT NULL,");
  16.     Len += formatex(Query[Len], charsmax(Query)-Len, "`RUGO` int(11) NOT NULL,");
  17.     Len += formatex(Query[Len], charsmax(Query)-Len, "`FEGYVERTUS` int(11) NOT NULL,");
  18.  
  19.     Len += formatex(Query[Len], charsmax(Query)-Len, "`FEGYVEREGY` int(11) NOT NULL,");
  20.     Len += formatex(Query[Len], charsmax(Query)-Len, "`FEGYVERKETTO` int(11) NOT NULL,");
  21.     Len += formatex(Query[Len], charsmax(Query)-Len, "`FEGYVERHAROM` int(11) NOT NULL,");
  22.     Len += formatex(Query[Len], charsmax(Query)-Len, "`FEGYVERNEGY` int(11) NOT NULL,");
  23.  
  24.     Len += formatex(Query[Len], charsmax(Query)-Len, "`ELOLVAS` int(11) NOT NULL,");
  25.     Len += formatex(Query[Len], charsmax(Query)-Len, "`REGISZTRALT` int(11) NOT NULL,");
  26.     Len += formatex(Query[Len], charsmax(Query)-Len, "`PERCEK` int(11) NOT NULL,");
  27.     Len += formatex(Query[Len], charsmax(Query)-Len, "`ID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
  28.    
  29.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  30. }
  31.  
  32. public createTableThread(FailState, Handle:Query, Error[], Errcode, DATA[], DataSize, FLOAT:Queuetime)
  33. {
  34.     IF(FailState == TQUERY_CONNECT_FAILED)
  35.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  36.     ELSE IF(FailState == TQUERY_QUERY_FAILED)
  37.         set_fail_state("Query Error");
  38.     IF(Errcode)
  39.         log_amx("Hibat dobtam: %s",Error);
  40. }
  41.  
  42. public client_putinserver(id)
  43. {
  44.         IF(!is_user_bot(id))
  45.         get_user_name(id, name[id], charsmax(name))
  46.     regisztralas_betoltese(id)
  47.     LOAD(id)
  48. }
  49.  
  50. public client_disconnect(id)
  51. {
  52.     IF(!is_user_bot(id))
  53.     regisztralas_mentese(id)
  54.     UPDATE(id)
  55. }
  56.  
  57. public client_connect(id)
  58. {
  59.     NEW nm[32]
  60.     get_user_name(id, nm, 31)
  61.     regisztralas_betoltese(id)
  62.     kapcsolo[id] = TRUE
  63. }
  64.  
  65. public LOAD(id)
  66. {
  67.     NEW Query[512], DATA[1]
  68.     DATA[0] = id
  69.     formatex(Query, charsmax(Query), "SELECT * FROM `beta_awp` WHERE JATEKOSNEV = ^"%s^";", name[id])
  70.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, DATA, 1)
  71. }
  72.  
  73. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, DATA[], DataSize, FLOAT:Queuetime)
  74. {
  75.     IF(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  76.         log_amx("%s", Error)
  77.         RETURN
  78.     }
  79.     ELSE {
  80.         NEW id = DATA[0];
  81.  
  82.         IF(SQL_NumRows(Query) > 0)
  83.         {
  84.         Xp[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "XP"))
  85.         Szint[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SZINT"))
  86.         Oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "OLES"))
  87.         Pont[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "PONT"))
  88.         Halal[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "HALAL"))
  89.         Fejloves[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEJLOVES"))
  90.     Csavar[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "CSAVAR"))
  91.     Rugo[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "RUGO"))
  92.     FegyverTus[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEGYVERTUS"))
  93.  
  94.     awp[1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEGYVEREGY"))
  95.     kes[1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEGYVERKETTO"))
  96.     awp[2][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEGYVERHAROM"))
  97.     kes[2][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEGYVERNEGY"))
  98.  
  99.     Elolvas[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ELOLVAS"))
  100.          reg_pont[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "REGISZTRALT"))
  101.     Perc[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "PERCEK"))
  102.         }
  103.         ELSE {
  104.             save(id)
  105.         }
  106.     }
  107. }
  108.  
  109. public save(id)
  110. {
  111.     NEW text[512];
  112.     formatex(text, charsmax(text), "INSERT INTO `beta_awp` (`JATEKOSNEV`) VALUES (^"%s^");", name[id])
  113.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  114. }
  115.  
  116. public QuerySetData(FailState, Handle:Query, Error[], Errcode, DATA[], DataSize, FLOAT:Queuetime)
  117. {
  118.     IF(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  119.         log_amx("%s", Error)
  120.         RETURN
  121.     }
  122. }
  123.  
  124. public UPDATE(id)
  125. {
  126.     NEW Query[512], Len;
  127.    
  128.     Len += formatex(Query[Len], charsmax(Query), "UPDATE beta_awp SET ");
  129.     Len += formatex(Query[Len], charsmax(Query)-Len, "XP = %i, ", Xp[id]);
  130.     Len += formatex(Query[Len], charsmax(Query)-Len, "SZINT = %i, ", Szint[id]);
  131.     Len += formatex(Query[Len], charsmax(Query)-Len, "OLES = %i, ", Oles[id]);
  132.     Len += formatex(Query[Len], charsmax(Query)-Len, "HALAL = %i, ", Halal[id]);
  133.     Len += formatex(Query[Len], charsmax(Query)-Len, "FEJLOVES = %i, ", Fejloves[id]);
  134.     Len += formatex(Query[Len], charsmax(Query)-Len, "CSAVAR = %i, ", Csavar[id]);
  135.     Len += formatex(Query[Len], charsmax(Query)-Len, "RUGO = %i, ", Rugo[id]);
  136.     Len += formatex(Query[Len], charsmax(Query)-Len, "FEGYVERTUS = %i, ", FegyverTus[id]);
  137.  
  138.     Len += formatex(Query[Len], charsmax(Query)-Len, "FEGYVEREGY = %i, ", awp[1][id]);
  139.     Len += formatex(Query[Len], charsmax(Query)-Len, "FEGYVERKETTO = %i, ", kes[1][id]);
  140.     Len += formatex(Query[Len], charsmax(Query)-Len, "FEGYVERHAROM = %i, ", awp[2][id]);
  141.     Len += formatex(Query[Len], charsmax(Query)-Len, "FEGYVERNEGY = %i, ", kes[2][id]);
  142.  
  143.     Len += formatex(Query[Len], charsmax(Query)-Len, "ELOLVAS = %i, ", Elolvas[id]);
  144.     Len += formatex(Query[Len], charsmax(Query)-Len, "REGISZTRALT = %i, ", reg_pont[id]);
  145.     Len += formatex(Query[Len], charsmax(Query)-Len, "PERCEK = %i, ", Perc[id]+get_user_time(id));
  146.    
  147.     Len += formatex(Query[Len], charsmax(Query)-Len, "PONT = %i WHERE JATEKOSNEV  = ^"%s^";", Pont[id], name[id]);
  148.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  149. }
  150.  
  151. public plugin_end() {
  152.     SQL_FreeHandle(g_SqlTuple)
  153. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: SQL mentés hiba
HozzászólásElküldve: 2018.06.05. 20:32 
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
Lehetséges, hogy a Query tömb maximális karakterszáma (512) meghaladja a menteni kívánt dolgok számát.
Adj neki nagyobb maximális karakterszámot, valamint én inkább statikus változóként hoznám létre.


► Spoiler mutatása


Így meg szerintem hülyeség menteni:
Hogyha már ugyan azt a tömböt használod akkor egyszerűbb lenne for ciklussal lefuttatni aztán szia :D

► Spoiler mutatása


Valamint biztos, hogy a mentéssel van a probléma és nem mondjuk a betöltéssel?

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


Ki van itt

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