hlmod.hu
https://hlmod.hu/

Nem menti el a változót
https://hlmod.hu/viewtopic.php?f=29&t=28979
Oldal: 1 / 1

Szerző:  Tomii [2018.05.17. 20:53 ]
Hozzászólás témája:  Nem menti el a változót

Üdv!

Amelyiket nem menti: Percek[33]

Segítségeteket kérném!, van egy SQL mentésem, nos el akarok menteni benne egy változót, a baj ott kezdődik hogy egyszerűen valamiért nem akarja elmenti a változót amit pl: ( össze szedek ) az SQL táblában sikeresen létrehozza a megadott sort, onnan addolni is tudok, meg is kapom, el is menti, de ha játékon belül szerzem meg a ( változót ) akkor viszont kövi mapon eltűnik, előre is köszönöm a segítségeteket! :)

Mentés: ( Egyébként a többi változót elmenti, csak ezt nem. )

  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, "(`username` 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.     Len += formatex(Query[Len], charsmax(Query)-Len, "`FEGYVEREGY` int(11) NOT NULL,");
  19.     Len += formatex(Query[Len], charsmax(Query)-Len, "`ELOLVAS` int(11) NOT NULL,");
  20.     Len += formatex(Query[Len], charsmax(Query)-Len, "`PERCEK` int(11) NOT NULL,");
  21.     Len += formatex(Query[Len], charsmax(Query)-Len, "`ID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
  22.    
  23.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  24. }
  25.  
  26. public createTableThread(FailState, Handle:Query, Error[], Errcode, DATA[], DataSize, FLOAT:Queuetime)
  27. {
  28.     IF(FailState == TQUERY_CONNECT_FAILED)
  29.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  30.     ELSE IF(FailState == TQUERY_QUERY_FAILED)
  31.         set_fail_state("Query Error");
  32.     IF(Errcode)
  33.         log_amx("Hibat dobtam: %s",Error);
  34. }
  35.  
  36. public client_putinserver(id)
  37. {
  38.         IF(!is_user_bot(id))
  39.         get_user_name(id, name[id], charsmax(name))
  40.     LOAD(id)
  41. }
  42.  
  43. public client_disconnect(id)
  44. {
  45.     IF(!is_user_bot(id))
  46.         UPDATE(id)
  47. }
  48.  
  49. public client_connect(id)
  50. {
  51.     NEW nm[32]
  52.     get_user_name(id, nm, 31)
  53. }
  54.  
  55. public LOAD(id)
  56. {
  57.     NEW Query[512], DATA[1]
  58.     DATA[0] = id
  59.     formatex(Query, charsmax(Query), "SELECT * FROM `beta_awp` WHERE username = ^"%s^";", name[id])
  60.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, DATA, 1)
  61. }
  62.  
  63. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, DATA[], DataSize, FLOAT:Queuetime)
  64. {
  65.     IF(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  66.         log_amx("%s", Error)
  67.         RETURN
  68.     }
  69.     ELSE {
  70.         NEW id = DATA[0];
  71.  
  72.         IF(SQL_NumRows(Query) > 0) {
  73.         Xp[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "XP"))
  74.         Szint[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SZINT"))
  75.         Oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "OLES"))
  76.         Pont[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "PONT"))
  77.         Halal[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "HALAL"))
  78.         Fejloves[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEJLOVES"))
  79.     Csavar[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "CSAVAR"))
  80.     Rugo[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "RUGO"))
  81.     FegyverTus[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEGYVERTUS"))
  82.     awp[1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEGYVEREGY"))
  83.     Elolvas[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ELOLVAS"))
  84.     Percek[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "PERCEK"))
  85.         }
  86.         ELSE {
  87.             save(id)
  88.         }
  89.     }
  90. }
  91.  
  92. public save(id)
  93. {
  94.     NEW text[512];
  95.     formatex(text, charsmax(text), "INSERT INTO `beta_awp` (`username`) VALUES (^"%s^");", name[id])
  96.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  97. }
  98.  
  99. public QuerySetData(FailState, Handle:Query, Error[], Errcode, DATA[], DataSize, FLOAT:Queuetime)
  100. {
  101.     IF(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  102.         log_amx("%s", Error)
  103.         RETURN
  104.     }
  105. }
  106.  
  107. public UPDATE(id)
  108. {
  109.     NEW Query[512], Len;
  110.    
  111.     Len += formatex(Query[Len], charsmax(Query), "UPDATE beta_awp SET ");
  112.     Len += formatex(Query[Len], charsmax(Query)-Len, "XP = %i, ", Xp[id]);
  113.     Len += formatex(Query[Len], charsmax(Query)-Len, "SZINT = %i, ", Szint[id]);
  114.     Len += formatex(Query[Len], charsmax(Query)-Len, "OLES = %i, ", Oles[id]);
  115.     Len += formatex(Query[Len], charsmax(Query)-Len, "HALAL = %i, ", Halal[id]);
  116.     Len += formatex(Query[Len], charsmax(Query)-Len, "FEJLOVES = %i, ", Fejloves[id]);
  117.     Len += formatex(Query[Len], charsmax(Query)-Len, "CSAVAR = %i, ", Csavar[id]);
  118.     Len += formatex(Query[Len], charsmax(Query)-Len, "RUGO = %i, ", Rugo[id]);
  119.     Len += formatex(Query[Len], charsmax(Query)-Len, "FEGYVERTUS = %i, ", FegyverTus[id]);
  120.     Len += formatex(Query[Len], charsmax(Query)-Len, "FEGYVEREGY = %i, ", awp[1][id]);
  121.     Len += formatex(Query[Len], charsmax(Query)-Len, "ELOLVAS = %i, ", Elolvas[id]);
  122.     Len += formatex(Query[Len], charsmax(Query)-Len, "PERCEK = %i, ", Percek[id]);
  123.    
  124.     Len += formatex(Query[Len], charsmax(Query)-Len, "PONT = %i WHERE username  = ^"%s^";", Pont[id], name[id]);
  125.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  126. }
  127.  
  128. public plugin_end() {
  129.     SQL_FreeHandle(g_SqlTuple)
  130. }


Szép napot, estét! Ki mikor olvassa! :)

Szerző:  Shadow -.- [2018.05.17. 21:15 ]
Hozzászólás témája:  Re: Nem menti el a változót

Tomii írta:
Üdv!

Amelyiket nem menti: Percek[33]

Segítségeteket kérném!, van egy SQL mentésem, nos el akarok menteni benne egy változót, a baj ott kezdődik hogy egyszerűen valamiért nem akarja elmenti a változót amit pl: ( össze szedek ) az SQL táblában sikeresen létrehozza a megadott sort, onnan addolni is tudok, meg is kapom, el is menti, de ha játékon belül szerzem meg a ( változót ) akkor viszont kövi mapon eltűnik, előre is köszönöm a segítségeteket! :)

Mentés: ( Egyébként a többi változót elmenti, csak ezt nem. )

  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, "(`username` 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.     Len += formatex(Query[Len], charsmax(Query)-Len, "`FEGYVEREGY` int(11) NOT NULL,");
  19.     Len += formatex(Query[Len], charsmax(Query)-Len, "`ELOLVAS` int(11) NOT NULL,");
  20.     Len += formatex(Query[Len], charsmax(Query)-Len, "`PERCEK` int(11) NOT NULL,");
  21.     Len += formatex(Query[Len], charsmax(Query)-Len, "`ID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
  22.    
  23.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  24. }
  25.  
  26. public createTableThread(FailState, Handle:Query, Error[], Errcode, DATA[], DataSize, FLOAT:Queuetime)
  27. {
  28.     IF(FailState == TQUERY_CONNECT_FAILED)
  29.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  30.     ELSE IF(FailState == TQUERY_QUERY_FAILED)
  31.         set_fail_state("Query Error");
  32.     IF(Errcode)
  33.         log_amx("Hibat dobtam: %s",Error);
  34. }
  35.  
  36. public client_putinserver(id)
  37. {
  38.         IF(!is_user_bot(id))
  39.         get_user_name(id, name[id], charsmax(name))
  40.     LOAD(id)
  41. }
  42.  
  43. public client_disconnect(id)
  44. {
  45.     IF(!is_user_bot(id))
  46.         UPDATE(id)
  47. }
  48.  
  49. public client_connect(id)
  50. {
  51.     NEW nm[32]
  52.     get_user_name(id, nm, 31)
  53. }
  54.  
  55. public LOAD(id)
  56. {
  57.     NEW Query[512], DATA[1]
  58.     DATA[0] = id
  59.     formatex(Query, charsmax(Query), "SELECT * FROM `beta_awp` WHERE username = ^"%s^";", name[id])
  60.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, DATA, 1)
  61. }
  62.  
  63. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, DATA[], DataSize, FLOAT:Queuetime)
  64. {
  65.     IF(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  66.         log_amx("%s", Error)
  67.         RETURN
  68.     }
  69.     ELSE {
  70.         NEW id = DATA[0];
  71.  
  72.         IF(SQL_NumRows(Query) > 0) {
  73.         Xp[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "XP"))
  74.         Szint[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SZINT"))
  75.         Oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "OLES"))
  76.         Pont[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "PONT"))
  77.         Halal[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "HALAL"))
  78.         Fejloves[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEJLOVES"))
  79.     Csavar[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "CSAVAR"))
  80.     Rugo[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "RUGO"))
  81.     FegyverTus[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEGYVERTUS"))
  82.     awp[1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FEGYVEREGY"))
  83.     Elolvas[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ELOLVAS"))
  84.     Percek[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "PERCEK"))
  85.         }
  86.         ELSE {
  87.             save(id)
  88.         }
  89.     }
  90. }
  91.  
  92. public save(id)
  93. {
  94.     NEW text[512];
  95.     formatex(text, charsmax(text), "INSERT INTO `beta_awp` (`username`) VALUES (^"%s^");", name[id])
  96.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  97. }
  98.  
  99. public QuerySetData(FailState, Handle:Query, Error[], Errcode, DATA[], DataSize, FLOAT:Queuetime)
  100. {
  101.     IF(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  102.         log_amx("%s", Error)
  103.         RETURN
  104.     }
  105. }
  106.  
  107. public UPDATE(id)
  108. {
  109.     NEW Query[512], Len;
  110.    
  111.     Len += formatex(Query[Len], charsmax(Query), "UPDATE beta_awp SET ");
  112.     Len += formatex(Query[Len], charsmax(Query)-Len, "XP = %i, ", Xp[id]);
  113.     Len += formatex(Query[Len], charsmax(Query)-Len, "SZINT = %i, ", Szint[id]);
  114.     Len += formatex(Query[Len], charsmax(Query)-Len, "OLES = %i, ", Oles[id]);
  115.     Len += formatex(Query[Len], charsmax(Query)-Len, "HALAL = %i, ", Halal[id]);
  116.     Len += formatex(Query[Len], charsmax(Query)-Len, "FEJLOVES = %i, ", Fejloves[id]);
  117.     Len += formatex(Query[Len], charsmax(Query)-Len, "CSAVAR = %i, ", Csavar[id]);
  118.     Len += formatex(Query[Len], charsmax(Query)-Len, "RUGO = %i, ", Rugo[id]);
  119.     Len += formatex(Query[Len], charsmax(Query)-Len, "FEGYVERTUS = %i, ", FegyverTus[id]);
  120.     Len += formatex(Query[Len], charsmax(Query)-Len, "FEGYVEREGY = %i, ", awp[1][id]);
  121.     Len += formatex(Query[Len], charsmax(Query)-Len, "ELOLVAS = %i, ", Elolvas[id]);
  122.     Len += formatex(Query[Len], charsmax(Query)-Len, "PERCEK = %i, ", Percek[id]);
  123.    
  124.     Len += formatex(Query[Len], charsmax(Query)-Len, "PONT = %i WHERE username  = ^"%s^";", Pont[id], name[id]);
  125.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  126. }
  127.  
  128. public plugin_end() {
  129.     SQL_FreeHandle(g_SqlTuple)
  130. }


Szép napot, estét! Ki mikor olvassa! :)


Ebből nem fog kiderülni semmi, itt minden jó. Egész forráskód kéne.

Szerző:  exodus [2018.05.19. 11:41 ]
Hozzászólás témája:  Re: Nem menti el a változót

A mentéssel semmi probléma nincs viszont lecsatlakozáskor elfelejtetted hozzá adni az időt.

Update rész:


  1. Len += formatex(Query[Len], charsmax(Query)-Len, "PERCEK = %i, ", Percek[id]+get_user_time(id));


Így a Percek[id] tömbbe a szerveren eltöltött időt fogja elmenteni másodpercekben.

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