hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Google [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  [ 10 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Ismeretlen Hiba
HozzászólásElküldve: 2016.09.27. 19:37 
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
Üdv, sziasztok fórumozók.

Olyan hibával lenne problémám, amit napok óta próbálok megfejteni de nem megy, ezért hát tőletek kérek segítséget.

A hiba:
A plugin ment 1 ideig, viszont (kb. naponta) random playereknél a plugin lenulláz mindent.
Tehát mindent amit elment azt csak úgy lenullázza. (Nem törli a játékosnak a létrehozott sorjait, hanem lenulláz mindent)

A forráskódót legalább 50x átnéztem hibát nem találok, az rcon sem ad semmi hibára utaló jelet, a logokban sincs eggyetlen hibaüzenet sem.
Ezért is olyan nehéz rábukkannom arra, hogy mi lehet a hiba.

Remélem ti többet tudtok mondani, mert én már teljesen kifogytam a tippekből,ötletekből

A komplett mentés:

  1. public client_disconnect(id)
  2. {
  3. if(!is_user_bot(id))
  4. {
  5.     Update(id);
  6. }
  7.    
  8. Dollar[id] = 0;
  9. Rang[id] = 0;
  10. Oles[id] = 0;
  11. Gun[id] = 0;
  12. Regisztralt[id] = 0;
  13. SMS[id] = 0;
  14. Kulcs[id] = 0;
  15. Erteke[id] = 0;
  16. kicucc[id] = 0;
  17. kirakva[id] = 0;
  18.  
  19. g_bZeus[id] = false;
  20. Belepve[id] = false;
  21. Beirtjelszot[id] = false;
  22. Beirtjelszot1[id] = false;
  23. Beirtfelhasznalot[id] = false;
  24. Beirtfelhasznalot1[id] = false;
  25.  
  26. regFh[id][0] = EOS;
  27. regJelszo[id][0] = EOS;
  28.  
  29. for(new i;i < 158; i++)
  30. OsszesSkin[i][id] = 0;
  31.  
  32. for(new i;i < 13; i++)
  33. Lada[i][id] = 0;
  34.  
  35. for(new i;i < 21; i++)
  36. Statrak[i][id] = 0;
  37.  
  38. for(new i;i < 13; i++)
  39. Skin[i][id] = 0;
  40. }
  41. public client_putinserver(id)
  42. {
  43. if(!is_user_bot(id))
  44. {
  45.     Load(id);
  46. }
  47. Gun[id] = 1;
  48. g_bZeus[id] = false;
  49. }
  50. public plugin_cfg()
  51. {
  52. g_SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]);
  53.  
  54. static Query[10048];
  55. new Len;
  56.  
  57. Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `exodus_go_teszt`");
  58. Len += formatex(Query[Len], charsmax(Query)-Len, "(`Nev` varchar(32) NOT NULL, ");
  59. Len += formatex(Query[Len], charsmax(Query)-Len, "`Felhasznalonev` varchar(32) NOT NULL,");
  60. Len += formatex(Query[Len], charsmax(Query)-Len, "`Jelszo` varchar(32) NOT NULL,");
  61. Len += formatex(Query[Len], charsmax(Query)-Len, "`Dollars` int(11) NOT NULL,");
  62. Len += formatex(Query[Len], charsmax(Query)-Len, "`Szint` int(11) NOT NULL,");
  63. Len += formatex(Query[Len], charsmax(Query)-Len, "`Oles` int(11) NOT NULL,");
  64. Len += formatex(Query[Len], charsmax(Query)-Len, "`Regisztralt` int(11) NOT NULL,");
  65. Len += formatex(Query[Len], charsmax(Query)-Len, "`Erteke` int(11) NOT NULL,");
  66. Len += formatex(Query[Len], charsmax(Query)-Len, "`Kicucc` int(11) NOT NULL,");
  67. Len += formatex(Query[Len], charsmax(Query)-Len, "`Kirakva` int(11) NOT NULL,");
  68.  
  69. for(new i;i < 158; i++)
  70. Len += formatex(Query[Len], charsmax(Query)-Len, "`F_%d` int(11) NOT NULL,", i);
  71.  
  72. for(new i;i < 13; i++)
  73. Len += formatex(Query[Len], charsmax(Query)-Len, "`L_%d` int(11) NOT NULL,", i);
  74.  
  75. for(new i;i < 21; i++)
  76. Len += formatex(Query[Len], charsmax(Query)-Len, "`Statrak%d` int(11) NOT NULL,", i);
  77.  
  78. for(new i;i < 13; i++)
  79. Len += formatex(Query[Len], charsmax(Query)-Len, "`Skin%d` int(11) NOT NULL,", i);
  80.  
  81. Len += formatex(Query[Len], charsmax(Query)-Len, "`Kulcs` int(11) NOT NULL, ");
  82. Len += formatex(Query[Len], charsmax(Query)-Len, "`SMS` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
  83.  
  84. SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
  85. }
  86. public Load(id) {
  87. static Query[10048];
  88. new Data[1], Name[32];
  89. get_user_name(id, Name, 31);
  90. Data[0] = id;
  91.  
  92. formatex(Query, charsmax(Query), "SELECT * FROM `exodus_go_teszt` WHERE Nev = ^"%s^";", Name);
  93. SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1);
  94. }
  95. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  96. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  97. log_amx("%s", Error);
  98. return;
  99. }
  100. else {
  101. new id = Data[0];
  102.  
  103. if(SQL_NumRows(Query) > 0) {
  104. SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Felhasznalonev"), regFh[id], charsmax(regFh[]));
  105. SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Jelszo"), regJelszo[id], charsmax(regJelszo[]));
  106. Rang[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Szint"));
  107. Kulcs[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Kulcs"));
  108. Oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Oles"));
  109. Regisztralt[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Regisztralt"));
  110. Erteke[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Erteke"));
  111. kicucc[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Kicucc"));
  112. kirakva[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Kirakva"));
  113.  
  114. SMS[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SMS"));
  115. Dollar[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Dollars"));
  116.  
  117. for(new i=0;i < 158; i++)
  118. {
  119. new String[64];
  120. formatex(String, charsmax(String), "F_%d", i);
  121. OsszesSkin[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  122. }
  123. for(new i;i < 13; i++)
  124. {
  125. new String[64];
  126. formatex(String, charsmax(String), "L_%d", i);
  127. Lada[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  128. }
  129. for(new i;i < 21; i++)
  130. {
  131. new String[64];
  132. formatex(String, charsmax(String), "Statrak%d", i);
  133. Statrak[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  134. }
  135.  
  136. for(new i;i < 13; i++)
  137. {
  138. new String[64];
  139. formatex(String, charsmax(String), "Skin%d", i);
  140. Skin[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
  141. }
  142.  
  143. }
  144. else
  145. {
  146. Save(id);
  147. }
  148. }
  149. }
  150. public Save(id)
  151. {
  152. static Query[256];
  153. new Name[32]; get_user_name(id, Name, 31);
  154.  
  155. formatex(Query, charsmax(Query), "INSERT INTO `exodus_go_teszt` (`Nev`) VALUES (^"%s^");", Name);
  156.  
  157. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  158. }
  159. public Update(id)
  160. {
  161. static Query[10048];
  162. new Len;
  163. new Name[32]; get_user_name(id, Name, 31);
  164.  
  165. Len += formatex(Query[Len], charsmax(Query), "UPDATE `exodus_go_teszt` SET Dollars = ^"%i^", ",Dollar[id]);
  166. Len += formatex(Query[Len], charsmax(Query)-Len, "Felhasznalonev = ^"%s^", ", regFh[id]);
  167. Len += formatex(Query[Len], charsmax(Query)-Len, "Jelszo = ^"%s^", ", regJelszo[id]);
  168. Len += formatex(Query[Len], charsmax(Query)-Len, "Szint = ^"%i^", ", Rang[id]);
  169. Len += formatex(Query[Len], charsmax(Query)-Len, "Oles = ^"%i^", ", Oles[id]);
  170. Len += formatex(Query[Len], charsmax(Query)-Len, "Kulcs = ^"%i^", ", Kulcs[id]);
  171. Len += formatex(Query[Len], charsmax(Query)-Len, "Regisztralt = ^"%i^", ", Regisztralt[id]);
  172. Len += formatex(Query[Len], charsmax(Query)-Len, "Erteke = ^"%i^", ", Erteke[id]);
  173. Len += formatex(Query[Len], charsmax(Query)-Len, "Kicucc = ^"%i^", ", kicucc[id]);
  174. Len += formatex(Query[Len], charsmax(Query)-Len, "Kirakva = ^"%i^", ", kirakva[id]);
  175.  
  176. for(new i=0;i < 158; i++)
  177. Len += formatex(Query[Len], charsmax(Query)-Len, "F_%d = ^"%i^", ", i, OsszesSkin[i][id]);
  178.  
  179. for(new i;i < 13; i++)
  180. Len += formatex(Query[Len], charsmax(Query)-Len, "L_%d = ^"%i^", ", i, Lada[i][id]);
  181.  
  182. for(new i;i < 21; i++)
  183. Len += formatex(Query[Len], charsmax(Query)-Len, "Statrak%d = ^"%i^", ", i, Statrak[i][id]);
  184.  
  185. for(new i;i < 13; i++)
  186. Len += formatex(Query[Len], charsmax(Query)-Len, "Skin%d = ^"%i^", ", i, Skin[i][id]);
  187.  
  188. Len += formatex(Query[Len], charsmax(Query)-Len, "SMS = ^"%i^" WHERE Nev = ^"%s^";", SMS[id], Name);
  189.  
  190. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  191. }
  192. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  193. if(FailState == TQUERY_CONNECT_FAILED)
  194. set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
  195. else if(FailState == TQUERY_QUERY_FAILED)
  196. set_fail_state("Query Error");
  197. if(Errcode)
  198. log_amx("[HIBA*] HIBAT DOBTAM: %s",Error);
  199. }
  200. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  201. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  202. log_amx("%s", Error);
  203. return;
  204. }
  205. }

_________________
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: Ismeretlen Hiba
HozzászólásElküldve: 2016.10.02. 11:18 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.01.15. 19:04
Hozzászólások: 407
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 176 alkalommal
Nagyon megterheled az adatbázist abban a pillanatban mikor a játékos csatlakozik, így nem sikerül betölteni az adatait, marad minden 0 értéken. Lecsatlakozáskor pedig szerepel az adatbázisban a játékos, így menti az új adatokat.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ismeretlen Hiba
HozzászólásElküldve: 2022.08.06. 19:58 
Offline
Jómunkásember

Csatlakozott: 2020.06.14. 17:59
Hozzászólások: 368
Megköszönt másnak: 64 alkalommal
Megköszönték neki: 10 alkalommal
demon írta:
Nagyon megterheled az adatbázist abban a pillanatban mikor a játékos csatlakozik, így nem sikerül betölteni az adatait, marad minden 0 értéken. Lecsatlakozáskor pedig szerepel az adatbázisban a játékos, így menti az új adatokat.



Ebben a cipőben járok én is! :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ismeretlen Hiba
HozzászólásElküldve: 2022.08.10. 21:26 
Offline
Fanatikus

Csatlakozott: 2018.05.05. 18:34
Hozzászólások: 198
Megköszönt másnak: 39 alkalommal
Megköszönték neki: 8 alkalommal
saxxo írta:
demon írta:
Nagyon megterheled az adatbázist abban a pillanatban mikor a játékos csatlakozik, így nem sikerül betölteni az adatait, marad minden 0 értéken. Lecsatlakozáskor pedig szerepel az adatbázisban a játékos, így menti az új adatokat.



Ebben a cipőben járok én is! :)

Esetleg ha be küldöd a mentést rá nézek.

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ismeretlen Hiba
HozzászólásElküldve: 2022.08.12. 10:23 
Offline
Jómunkásember

Csatlakozott: 2020.06.14. 17:59
Hozzászólások: 368
Megköszönt másnak: 64 alkalommal
Megköszönték neki: 10 alkalommal
konfigos312 írta:
saxxo írta:
demon írta:
Nagyon megterheled az adatbázist abban a pillanatban mikor a játékos csatlakozik, így nem sikerül betölteni az adatait, marad minden 0 értéken. Lecsatlakozáskor pedig szerepel az adatbázisban a játékos, így menti az új adatokat.



Ebben a cipőben járok én is! :)

Esetleg ha be küldöd a mentést rá nézek.


Szia!

  1. }
  2. public plugin_cfg()
  3. {
  4.     static Query[10048];
  5.     new Len;
  6.     g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  7.     Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `sql_mentes_valami`")
  8.     Len += formatex(Query[Len], charsmax(Query)-Len, "`SteamId` varchar(64) NOT NULL,");
  9.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsM4A1` int(11) NOT NULL,")
  10.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsAK47` int(11) NOT NULL,")
  11.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsAWP` int(11) NOT NULL,")
  12.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsSCOUT` int(11) NOT NULL,")
  13.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsFAMAS` int(11) NOT NULL,")
  14.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsGALIL` int(11) NOT NULL,")
  15.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsAUG` int(11) NOT NULL,")
  16.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsM3` int(11) NOT NULL,")
  17.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsXM1014` int(11) NOT NULL,")
  18.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsKNIFE` int(11) NOT NULL,")
  19.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsDEAGLE` int(11) NOT NULL,")
  20.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsUSP` int(11) NOT NULL,")
  21.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_uPointsGLOCK` int(11) NOT NULL,")
  22.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunM4A1` int(11) NOT NULL,")
  23.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunAK47` int(11) NOT NULL,")
  24.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunAWP` int(11) NOT NULL,")
  25.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunSCOUT` int(11) NOT NULL,")
  26.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunFAMAS` int(11) NOT NULL,")
  27.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunGALIL` int(11) NOT NULL,")
  28.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunAUG` int(11) NOT NULL,")
  29.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunM3` int(11) NOT NULL,")
  30.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunXM1014` int(11) NOT NULL,")
  31.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunKNIFE` int(11) NOT NULL,")
  32.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunDEAGLE` int(11) NOT NULL,")
  33.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunUSP` int(11) NOT NULL,")
  34.     Len += formatex(Query[Len], charsmax(Query)-Len, "`g_SelectedGunGLOCK` int(11) NOT NULL,")
  35.     Len += formatex(Query[Len], charsmax(Query)-Len, "`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
  36.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  37. }
  38.  
  39. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  40.     if(Errcode)
  41.         log_amx("Hibat dobtam: %s",Error);
  42.     if(FailState == TQUERY_CONNECT_FAILED)
  43.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  44.     else if(FailState == TQUERY_QUERY_FAILED)
  45.         set_fail_state("Query Error");
  46. }
  47.  
  48. public client_putinserver(id) {
  49.     if(!is_user_bot(id)) {
  50.         Load(id);
  51.     }
  52. }
  53.  
  54. public Load(id) {
  55.     static Query[10048];
  56.     new Data[1], sSteamID[64];
  57.     Data[0] = id
  58.     get_user_authid(id, sSteamID, charsmax(sSteamID)); //lekĂ©red a steamid-t
  59.     formatex(Query, charsmax(Query), "SELECT * FROM `sql_mentes_valami` WHERE SteamId = ^"%s^";", sSteamID); //majd kiválasztod steamid szerint.
  60.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
  61. }
  62.  
  63. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  64.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  65.         log_amx("%s", Error)
  66.         return
  67.     }
  68.     else {
  69.         new id = Data[0];
  70.        
  71.         if(SQL_NumRows(Query) > 0) {
  72.             g_uPoints[M4A1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsM4A1"))
  73.             g_uPoints[AK47][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsAK47"))
  74.             g_uPoints[AWP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsAWP"))
  75.             g_uPoints[SCOUT][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsSCOUT"))
  76.             g_uPoints[FAMAS][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsFAMAS"))
  77.             g_uPoints[GALIL][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsGALIL"))
  78.             g_uPoints[AUG][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsAUG"))
  79.             g_uPoints[M3][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsM3"))
  80.             g_uPoints[XM1014][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsXM1014"))
  81.             g_uPoints[KNIFE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsKNIFE"))
  82.             g_uPoints[DEAGLE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsDEAGLE"))
  83.             g_uPoints[USP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsUSP"))
  84.             g_uPoints[GLOCK][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_uPointsGLOCK"))
  85.             g_SelectedGun[M4A1][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunM4A1"))
  86.             g_SelectedGun[AK47][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunAK47"))
  87.             g_SelectedGun[AWP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunAWP"))
  88.             g_SelectedGun[SCOUT][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunSCOUT"))
  89.             g_SelectedGun[FAMAS][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunFAMAS"))
  90.             g_SelectedGun[GALIL][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunGALIL"))
  91.             g_SelectedGun[AUG][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunAUG"))
  92.             g_SelectedGun[M3][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunM3"))
  93.             g_SelectedGun[XM1014][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunXM1014"))
  94.             g_SelectedGun[KNIFE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunKNIFE"))
  95.             g_SelectedGun[DEAGLE][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunDEAGLE"))
  96.             g_SelectedGun[USP][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunUSP"))
  97.             g_SelectedGun[GLOCK][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "g_SelectedGunGLOCK"))
  98.         }
  99.         else {
  100.             Save(id)
  101.         }
  102.     }
  103. }
  104.  
  105. public Save(id) {
  106.     static Query[10048], sSteamID[64];
  107.     get_user_authid(id, sSteamID, charsmax(sSteamID)); //lekĂ©red a steamid-t
  108.     formatex(Query, charsmax(Query), "INSERT INTO `sql_mentes_valami` (`SteamId`) VALUES (^"%s^");", sSteamID);
  109.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query)
  110. }
  111.  
  112. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  113.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  114.         log_amx("%s", Error)
  115.         return
  116.     }
  117. }
  118.  
  119. public Update(id) {
  120.     static Query [10048];
  121.     new Len, sSteamID[64];
  122.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  123.    
  124.     Len += formatex(Query[Len], charsmax(Query), "UPDATE `sql_mentes_valami` SET g_uPointsM4A1 = ^"%i^", ", g_uPoints[M4A1][id])
  125.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsAK47 = ^"%i^", ", g_uPoints[AK47][id])
  126.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsAWP = ^"%i^", ", g_uPoints[AWP][id])
  127.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsSCOUT = ^"%i^", ", g_uPoints[SCOUT][id])
  128.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsFAMAS = ^"%i^", ", g_uPoints[FAMAS][id])
  129.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsGALIL = ^"%i^", ", g_uPoints[GALIL][id])
  130.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsAUG = ^"%i^", ", g_uPoints[AUG][id])
  131.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsM3 = ^"%i^", ", g_uPoints[M3][id])
  132.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsXM1014 = ^"%i^", ", g_uPoints[XM1014][id])
  133.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsKNIFE = ^"%i^", ", g_uPoints[KNIFE][id])
  134.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsDEAGLE = ^"%i^", ", g_uPoints[DEAGLE][id])
  135.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsUSP = ^"%i^", ", g_uPoints[USP][id])
  136.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_uPointsGLOCK = ^"%i^", ", g_uPoints[GLOCK][id])
  137.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunAK47 = ^"%i^", ", g_SelectedGun[AK47][id])
  138.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunAWP = ^"%i^", ", g_SelectedGun[AWP][id])
  139.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunSCOUT = ^"%i^", ", g_SelectedGun[SCOUT][id])
  140.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunFAMAS = ^"%i^", ", g_SelectedGun[FAMAS][id])
  141.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunGALIL = ^"%i^", ", g_SelectedGun[GALIL][id])
  142.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunAUG = ^"%i^", ", g_SelectedGun[AUG][id])
  143.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunM3 = ^"%i^", ", g_SelectedGun[M3][id])
  144.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunXM1014 = ^"%i^", ", g_SelectedGun[XM1014][id])
  145.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunKNIFE = ^"%i^", ", g_SelectedGun[KNIFE][id])
  146.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunDEAGLE = ^"%i^", ", g_SelectedGun[DEAGLE][id])
  147.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunUSP = ^"%i^", ", g_SelectedGun[USP][id])
  148.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunGLOCK = ^"%i^", ", g_SelectedGun[GLOCK][id])
  149.     Len += formatex(Query[Len], charsmax(Query)-Len, "g_SelectedGunM4A1 = ^"%i^" WHERE SteamId = ^"%s^";", g_SelectedGun[M4A1][id], sSteamID); //Ă©s itt is
  150.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query)
  151. }
  152.  
  153. public client_disconnected(id) {
  154.     if(!is_user_bot(id)) {
  155.         Update(id)
  156.     }
  157.     g_uPoints[M4A1][id] = 0
  158.     g_uPoints[AK47][id] = 0
  159.     g_uPoints[AWP][id] = 0
  160.     g_uPoints[SCOUT][id] = 0
  161.     g_uPoints[FAMAS][id] = 0
  162.     g_uPoints[GALIL][id] = 0
  163.     g_uPoints[AUG][id] = 0
  164.     g_uPoints[M3][id] = 0
  165.     g_uPoints[XM1014][id] = 0
  166.     g_uPoints[KNIFE][id] = 0
  167.     g_uPoints[DEAGLE][id] = 0
  168.     g_uPoints[USP][id] = 0
  169.     g_uPoints[GLOCK][id] = 0
  170.     g_SelectedGun[M4A1][id] = 0
  171.     g_SelectedGun[AK47][id] = 0
  172.     g_SelectedGun[AWP][id] = 0
  173.     g_SelectedGun[SCOUT][id] = 0
  174.     g_SelectedGun[FAMAS][id] = 0
  175.     g_SelectedGun[GALIL][id] = 0
  176.     g_SelectedGun[AUG][id] = 0
  177.     g_SelectedGun[M3][id] = 0
  178.     g_SelectedGun[XM1014][id] = 0
  179.     g_SelectedGun[KNIFE][id] = 0
  180.     g_SelectedGun[DEAGLE][id] = 0
  181.     g_SelectedGun[USP][id] = 0
  182.     g_SelectedGun[GLOCK][id] = 0
  183. }
  184.  
  185. public plugin_end() {
  186.     SQL_FreeHandle(g_SqlTuple)
  187. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ismeretlen Hiba
HozzászólásElküldve: 2022.08.12. 21:33 
Offline
Jómunkásember
Avatar

Csatlakozott: 2019.07.12. 13:47
Hozzászólások: 305
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 48 alkalommal
Egy 1.6 sql query 512 - vagy 1024 lehet, pontosat nem tudok, amit még le is tud kezelni a szerver.

Mivel rengeteg adatot mozgatsz, ezért megterhelődik az adatbázis, ergó lassabb a betöltés, ilyenkor ha disconnect érvényesül, akkor megtörtént a mentés.
Egyszerű, egy változó, ami csak akkor lesz 1 amikor betöltött.

_________________
Munkáim / Segítkezésem
Serial BanSystem v3
Serial BanSystem v4
HerBoy - Avatár MultiMod


Avatár: 37.221.209.130:27350
HerBoy: 37.221.209.130:27295

Ők köszönték meg ~Shediboii nek ezt a hozzászólást: saxxo (2022.09.04. 09:13)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ismeretlen Hiba
HozzászólásElküldve: 2022.09.04. 09:18 
Offline
Jómunkásember

Csatlakozott: 2020.06.14. 17:59
Hozzászólások: 368
Megköszönt másnak: 64 alkalommal
Megköszönték neki: 10 alkalommal
~Shediboii írta:
Egy 1.6 sql query 512 - vagy 1024 lehet, pontosat nem tudok, amit még le is tud kezelni a szerver.

Mivel rengeteg adatot mozgatsz, ezért megterhelődik az adatbázis, ergó lassabb a betöltés, ilyenkor ha disconnect érvényesül, akkor megtörtént a mentés.
Egyszerű, egy változó, ami csak akkor lesz 1 amikor betöltött.



Szia! Így néz ki most egy kis segítséggel! :) Esetleg még valamit kell javítani rajta?
  1. #include <amxmodx>
  2. #include <engine>
  3. #include <fakemeta>
  4. #include <cstrike>
  5. #include <sqlx>
  6.  
  7. #define PLUGIN "New Plug-In"
  8. #define VERSION "1.0"
  9. #define AUTHOR "author"
  10.  
  11. #define KILL_POINT 1
  12. #define HEADSHOT_POINT 5
  13. #define Tablename "Hlmodra_tabla_1" //SQL Tábla neve!//
  14.  
  15. enum _:GunDatas {
  16.     M4A1,
  17.     AK47,
  18.     AWP,
  19.     SCOUT,
  20.     FAMAS,
  21.     GALIL,
  22.     AUG,
  23.     M3,
  24.     XM1014,
  25.     KNIFE,
  26.     DEAGLE,
  27.     USP,
  28.     GLOCK
  29. }
  30. new g_SelectedGun[33][GunDatas], g_uPoints[33][GunDatas], g_Wpn[33];
  31. new sSteamID[64];
  32. new FunMentes[33];
  33.  
  34. new const gMenuPrefix[] = "\w[.:*[DarK*_*Knight]*:.]~\y \yFun";
  35. new const gChatPrefix[] = "[.:*[DarK*_*Knight]*:.]"
  36.  
  37. enum _:DATA {
  38.     GunName[64],
  39.     ModelName[64],
  40.     Points[8]
  41. }
  42. new const WeaponM4A1[][DATA] = {
  43.     {"M4A1 | Default", "models/v_m4a1.mdl", 0, },
  44.     {"M4A1 | Asiimow", "models/darkknight_skinek/m4a1/v_m4a1_asiimov.mdl", 0, },
  45.     {"M4A1 | Basilisk", "models/darkknight_skinek/m4a1/v_m4a1_basilisk.mdl", 50, },
  46.     {"M4A1 | Chanticos Fire", "models/darkknight_skinek/m4a1/v_m4a1_chanticos-fire.mdl", 100, },
  47.     {"M4A1 | Condor", "models/darkknight_skinek/m4a1/v_m4a1_condor.mdl", 150, },
  48.     {"M4A1 | Decimator", "models/darkknight_skinek/m4a1/v_m4a1_decimator.mdl", 200, },
  49.     {"M4A1 | Desolate Space", "models/darkknight_skinek/m4a1/v_m4a1_desolate-space.mdl", 250, },
  50.     {"M4A1 | Dragon King", "models/darkknight_skinek/m4a1/v_m4a1_dragon_king.mdl", 300, },
  51.     {"M4A1 | Fire", "models/darkknight_skinek/m4a1/v_m4a1_fire.mdl", 350, },
  52.     {"M4A1 | Firestyle", "models/darkknight_skinek/m4a1/v_m4a1_firestyle.mdl", 400, },
  53.     {"M4A1 | Flashback", "models/darkknight_skinek/m4a1/v_m4a1_flashback.mdl", 450, },
  54.     {"M4A1 | Frontsite Misty", "models/darkknight_skinek/m4a1/v_m4a1_frontsite_misty.mdl", 500, },
  55.     {"M4A1 | Frost", "models/darkknight_skinek/m4a1/v_m4a1_Frost.mdl", 550, },
  56.     {"M4A1 | Golden Coil", "models/darkknight_skinek/m4a1/v_m4a1_golden_coil.mdl", 600, },
  57.     {"M4A1 | Hellfire", "models/darkknight_skinek/m4a1/v_m4a1_Hellfire.mdl", 650, },
  58.     {"M4A1 | Hot Lava", "models/darkknight_skinek/m4a1/v_m4a1_hot_lava.mdl", 700, },
  59.     {"M4A1 | Icarus Fell",  "models/darkknight_skinek/m4a1/v_m4a1_icarus-fell.mdl", 750, },
  60.     {"M4A1 | Master Pice", "models/darkknight_skinek/m4a1/v_m4a1_master_piece.mdl", 800, },
  61.     {"M4A1 | Mecha Industries", "models/darkknight_skinek/m4a1/v_m4a1_mecha-industries.mdl", 850, },
  62.     {"M4A1 | Neon Mist", "models/darkknight_skinek/m4a1/v_m4a1_neon-mist.mdl", 900, },
  63.     {"M4A1 | Sticker", "models/darkknight_skinek/m4a1/v_m4a1_sticker.mdl", 950, },
  64.     {"M4A1 | Vanquish", "models/darkknight_skinek/m4a1/v_m4a1_vanquish.mdl", 1000, },
  65.     {"M4A1 | CSO Kitty", "models/darkknight_skinek/m4a1/v_m4a1_Kitty.mdl", 1050, },
  66.     {"M4A1 | Nightmare", "models/darkknight_skinek/m4a1/v_m4a1_nightmare.mdl", 1100, },
  67.     {"M4A1 | Colored", "models/darkknight_skinek/m4a1/v_m4a1_Colored.mdl", 11500, }
  68. }
  69. new const WeaponAK47[][DATA] = {
  70.     {"AK47 | Default", "models/v_ak47.mdl", 0, },
  71.     {"AK47 | Akihabara Accept", "models/darkknight_skinek/ak47/v_ak47_akihabara-accept.mdl", 0, },
  72.     {"AK47 | Anubis", "models/darkknight_skinek/ak47/v_ak47_anubis.mdl", 50, },
  73.     {"AK47 | Aquamarine Revenge", "models/darkknight_skinek/ak47/v_ak47_aquamarine-revenge.mdl", 100, },
  74.     {"AK47 | Astronaut", "models/darkknight_skinek/ak47/v_ak47_astronaut.mdl", 150, },
  75.     {"AK47 | Black Cartel", "models/darkknight_skinek/ak47/v_ak47_black-cartel.mdl", 200, },
  76.     {"AK47 | Bloodsport", "models/darkknight_skinek/ak47/v_ak47_bloodsport.mdl", 250, },
  77.     {"AK47 | Blue", "models/darkknight_skinek/ak47/v_ak47_blue.mdl", 300, },
  78.     {"AK47 | Chrome", "models/darkknight_skinek/ak47/v_ak47_chrome.mdl", 350, },
  79.     {"AK47 | Curzon", "models/darkknight_skinek/ak47/v_ak47_curzon.mdl", 400, },
  80.     {"AK47 | Desert Camo", "models/darkknight_skinek/ak47/v_ak47_desert_camo.mdl", 450, },
  81.     {"AK47 | Dream and Nightmare", "models/darkknight_skinek/ak47/v_ak47_Dream and Nightmare.mdl", 500, },
  82.     {"AK47 | Fire", "models/darkknight_skinek/ak47/v_ak47_fire.mdl", 550, },
  83.     {"AK47 | Fireserpent", "models/darkknight_skinek/ak47/v_ak47_fireserpent.mdl", 600, },
  84.     {"AK47 | Forest Camo", "models/darkknight_skinek/ak47/v_ak47_forest-camo.mdl", 650, },
  85.     {"AK47 | Frontside Misty", "models/darkknight_skinek/ak47/v_ak47_frontside_misty.mdl", 700, },
  86.     {"AK47 | Fuel Injector", "models/darkknight_skinek/ak47/v_ak47_fuel-injector.mdl", 750, },
  87.     {"AK47 | Furious Peacock", "models/darkknight_skinek/ak47/v_ak47_furious-peacock.mdl", 800, },
  88.     {"AK47 | Galaxy", "models/darkknight_skinek/ak47/v_ak47_galaxy.mdl", 850, },
  89.     {"AK47 | Neon Revolution", "models/darkknight_skinek/ak47/v_ak47_neon-revolution.mdl", 900, },
  90.     {"AK47 | Nephlim", "models/darkknight_skinek/ak47/v_ak47_Nephlim.mdl", 950, },
  91.     {"AK47 | Nox", "models/darkknight_skinek/ak47/v_ak47_Nox.mdl", 1000, },
  92.     {"AK47 | Pheonix", "models/darkknight_skinek/ak47/v_ak47_pheonix.mdl", 1050, },
  93.     {"AK47 | Poison Sakura", "models/darkknight_skinek/ak47/v_ak47_Poison Sakura.mdl", 1050, },
  94.     {"AK47 | Redline", "models/darkknight_skinek/ak47/v_ak47_redline.mdl", 1100, },
  95.     {"AK47 | Robotto", "models/darkknight_skinek/ak47/v_ak47_robotto.mdl", 1150, },
  96.     {"AK47 | Shadow Liquid", "models/darkknight_skinek/ak47/v_ak47_shadow_liquid.mdl", 1200, },
  97.     {"AK47 | Vulcan", "models/darkknight_skinek/ak47/v_ak47_vulcan.mdl", 1250, },
  98.     {"AK47 | Wasteland Rebel", "models/darkknight_skinek/ak47/v_ak47_wasteland-rebel.mdl", 1300, }
  99. }
  100. new const WeaponAWP[][DATA] = {
  101.     {"AWP | Default", "models/v_awp.mdl", 0, },
  102.     {"AWP | Asiimov Fnatic", "models/darkknight_skinek/awp/v_awp_asiimov-fnatic.mdl", 0, },
  103.     {"AWP | Banshee", "models/darkknight_skinek/awp/v_awp_banshee.mdl", 50, },
  104.     {"AWP | Black Chrome", "models/darkknight_skinek/awp/v_awp_black-chrome.mdl", 100, },
  105.     {"AWP | Cyrex", "models/darkknight_skinek/awp/v_awp_cyrex.mdl", 150, },
  106.     {"AWP | Dragon Lore", "models/darkknight_skinek/awp/v_awp_dragon-lore.mdl", 200, },
  107.     {"AWP | Fever Dream", "models/darkknight_skinek/awp/v_awp_fever-dream.mdl", 250, },
  108.     {"AWP | Golden", "models/darkknight_skinek/awp/v_awp_golden.mdl", 300, },
  109.     {"AWP | Frontside Misty", "models/darkknight_skinek/awp/v_awp_frontside-misty.mdl", 350, },
  110.     {"AWP | Lightning Strike", "models/darkknight_skinek/awp/v_awp_lightning-strike.mdl", 400, },
  111.     {"AWP | Malaysia", "models/darkknight_skinek/awp/v_awp_malaysia.mdl", 450, },
  112.     {"AWP | Raptor", "models/darkknight_skinek/awp/v_awp_raptor.mdl", 500, },
  113.     {"AWP | Red Puzzle", "models/darkknight_skinek/awp/v_awp_red-puzzle.mdl", 550, },
  114.     {"AWP | Snow", "models/darkknight_skinek/awp/v_awp_snow.mdl", 600, }
  115. }
  116. new const WeaponSCOUT[][DATA] = {
  117.     {"SCOUT | Default", "models/v_scout.mdl", 0, },
  118.     {"SCOUT | Blue Diamond", "models/darkknight_skinek/scout/v_scout_bluediamond.mdl", 0, }
  119. }
  120. new const WeaponFAMAS[][DATA] = {
  121.     {"FAMAS | Default", "models/v_famas.mdl", 0, },
  122.     {"FAMAS | 4TH", "models/darkknight_skinek/famas/v_famas_4th.mdl", 50,  },
  123.     {"FAMAS | Balrog", "models/darkknight_skinek/famas/v_famas_balrog.mdl", 100,  },
  124.     {"FAMAS | Hunter", "models/darkknight_skinek/famas/v_famas_hunter.mdl", 150,  },
  125.     {"FAMAS | Red Destiny", "models/darkknight_skinek/famas/v_famas_red_destiny.mdl", 200, },
  126.     {"FAMAS | Roll Cage", "models/darkknight_skinek/famas/v_famas_roll_cage.mdl", 250, },
  127.     {"FAMAS | SFWC", "models/darkknight_skinek/famas/v_famas_sfwc.mdl", 300, },
  128.     {"FAMAS | Spitfire", "models/darkknight_skinek/famas/v_famas_spitfire.mdl", 350, },
  129.     {"FAMAS | Survivor", "models/darkknight_skinek/famas/v_famas_survivor.mdl", 400, },
  130.     {"FAMAS | Commemoration", "models/darkknight_skinek/famas/v_famas_Commemoration.mdl", 450, }
  131. }
  132. new const WeaponGALIL[][DATA] = {
  133.     {"GALIL | Default", "models/v_galil.mdl", 0, },
  134.     {"GALIL | Black N White", "models/darkknight_skinek/galil/v_galil_black-n-white.mdl", 0, },
  135.     {"GALIL | Cerberus", "models/darkknight_skinek/galil/v_galil_cerberus.mdl",  50, },
  136.     {"GALIL | Stone Cold", "models/darkknight_skinek/galil/v_galil_stone-cold.mdl",  100, }
  137. }
  138. new const WeaponAUG[][DATA] = {
  139.     {"AUG | Default", "models/v_aug.mdl", 0, },
  140.     {"AUG | Woodland Camouflage", "models/darkknight_skinek/aug/v_aug_Woodland Camouflage.mdl", 0, },
  141.     {"AUG | Syd Mead", "models/darkknight_skinek/aug/v_aug_syd_mead.mdl", 50, },
  142.     {"AUG | Green Light", "models/darkknight_skinek/aug/v_aug_green_light.mdl", 100, },
  143.     {"AUG | Cat", "models/darkknight_skinek/aug/v_aug_cat.mdl", 150, },
  144.     {"AUG | Chameleon", "models/darkknight_skinek/aug/v_aug_Chameleon.mdl", 200, },
  145.     {"AUG | Akihabara_Accept", "models/darkknight_skinek/aug/v_aug_Akihabara_Accept.mdl", 250, },
  146.     {"AUG | Blue Horizon", "models/darkknight_skinek/aug/v_aug_Blue_Horizon.mdl", 300, },
  147.     {"AUG | Desert Cam", "models/darkknight_skinek/aug/v_aug_desertcam.mdl", 350, },
  148.     {"AUG | Leopard", "models/darkknight_skinek/aug/v_aug_leopard.mdl", 400, }
  149. }
  150. new const WeaponM3[][DATA] = {
  151.     {"M3 | Default", "models/v_m3.mdl", 0, },
  152. }
  153. new const WeaponXM1014[][DATA] = {
  154.     {"XM1014 | Default", "models/v_xm1014.mdl", 0, },
  155.     {"XM1014 | Arcturus", "models/darkknight_skinek/xm1014/v_xm1014_arcturus.mdl", 0, },
  156.     {"XM1014 | Balrog Xi Blue", "models/darkknight_skinek/xm1014/v_xm1014_balrog-xi-blue.mdl", 50, },
  157.     {"XM1014 | Balrog Xi Red", "models/darkknight_skinek/xm1014/v_xm1014_balrog-xi-red.mdl", 100, },
  158.     {"XM1014 | CSS", "models/darkknight_skinek/xm1014/v_xm1014_CSS.mdl", 150, },
  159.     {"XM1014 | Heaven Guard", "models/darkknight_skinek/xm1014/v_xm1014_heaven-guard.mdl", 200, },
  160.     {"XM1014 | Seasons", "models/darkknight_skinek/xm1014/v_xm1014_seasons.mdl", 250, },
  161.     {"XM1014 | Teclu Burner", "models/darkknight_skinek/xm1014/v_xm1014_teclu_burner.mdl", 300, },
  162.     {"XM1014 | Tranquility", "models/darkknight_skinek/xm1014/v_xm1014_tranquility.mdl", 350, },
  163.     {"XM1014 | Black Tie", "models/darkknight_skinek/xm1014/v_xm1014-black-tie.mdl", 400, }
  164. }
  165. new const WeaponKNIFE[][DATA] = {
  166.     {"KNIFE | Default", "models/v_knife.mdl", 0, },
  167.     {"KNIFE | Bayonet Slaughter", "models/darkknight_skinek/knife/v_knife_bayonet_slaughter.mdl", 0, },
  168.     {"KNIFE | Bloody M9 Touch Redux", "models/darkknight_skinek/knife/v_knife_Touch Redux.mdl", 50, }
  169. }
  170. new const WeaponDEAGLE[][DATA] = {
  171.     {"DEAGLE | Default", "models/v_deagle.mdl", 0, },
  172.     {"DEAGLE | Asiimov", "models/darkknight_skinek/deagle/v_deagle_asiimov.mdl", 0, },
  173.     {"DEAGLE | Blaze", "models/darkknight_skinek/deagle/v_deagle_blaze.mdl", 50, },
  174.     {"DEAGLE | Blood Sport", "models/darkknight_skinek/deagle/v_deagle_bloodsport.mdl", 100, },
  175.     {"DEAGLE | Cobalt Disruption", "models/darkknight_skinek/deagle/v_deagle_cobalt-disruption.mdl", 150, },
  176.     {"DEAGLE | Debra", "models/darkknight_skinek/deagle/v_deagle_debra.mdl", 200, },
  177.     {"DEAGLE | Devil", "models/darkknight_skinek/deagle/v_deagle_devil.mdl", 250, },
  178.     {"DEAGLE | Dragon", "models/darkknight_skinek/deagle/v_deagle_eagle_glory.mdl", 300, },
  179.     {"DEAGLE | Emperor Dragon", "models/darkknight_skinek/deagle/v_deagle_emperor_dragon.mdl", 350, },
  180.     {"DEAGLE | Neon Electro", "models/darkknight_skinek/deagle/v_deagle_neon-electro.mdl", 400, },
  181.     {"DEAGLE | OAKLEY", "models/darkknight_skinek/deagle/v_deagle_OAKLEY.mdl", 450, },
  182.     {"DEAGLE | Oxide Blaze", "models/darkknight_skinek/deagle/v_deagle_oxide_blaze.mdl", 500, },
  183.     {"DEAGLE | Redline", "models/darkknight_skinek/deagle/v_deagle_redline.mdl", 550, },
  184.     {"DEAGLE | Urban Camo", "models/darkknight_skinek/deagle/v_deagle_urban-camo.mdl", 600, }
  185. }
  186. new const WeaponUSP[][DATA] = {
  187.     {"USP | Default", "models/v_usp.mdl", 0, },
  188.     {"USP | Caiman", "models/darkknight_skinek/usp/v_usp_caiman.mdl", 0, },
  189.     {"USP | Comet", "models/darkknight_skinek/usp/v_usp_comet.mdl", 50, },
  190.     {"USP | Cyrex", "models/darkknight_skinek/usp/v_usp_cyrex.mdl", 100, },
  191.     {"USP | Kill Confirmed", "models/darkknight_skinek/usp/v_usp_Kill Confirmed.mdl", 150, }
  192. }
  193. new const WeaponGLOCK[][DATA] = {
  194.     {"GLOCK18 | Default", "models/v_glock18.mdl", 0, },
  195.     {"GLOCK18 | Attention", "models/darkknight_skinek/glock18/v_glock18_attention.mdl", 0, },
  196.     {"GLOCK18 | Blue Fissure", "models/darkknight_skinek/glock18/v_glock18_blue-fissure.mdl", 50, },
  197.     {"GLOCK18 | Candy Apple", "models/darkknight_skinek/glock18/v_glock18_candy-apple.mdl", 100, },
  198.     {"GLOCK18 | Cubes World", "models/darkknight_skinek/glock18/v_glock18_cubes-world.mdl", 150, },
  199.     {"GLOCK18 | Death Rattle", "models/darkknight_skinek/glock18/v_glock18_death-rattle.mdl", 200, },
  200.     {"GLOCK18 | Flame", "models/darkknight_skinek/glock18/v_glock18_flame.mdl", 300, },
  201.     {"GLOCK18 | Glamour", "models/darkknight_skinek/glock18/v_glock18_glamour.mdl", 350, },
  202.     {"GLOCK18 | Lime Fade", "models/darkknight_skinek/glock18/v_glock18_lime-fade.mdl", 350, },
  203.     {"GLOCK18 | Reactor", "models/darkknight_skinek/glock18/v_glock18_reactor.mdl", 350, },
  204.     {"GLOCK18 | Redline", "models/darkknight_skinek/glock18/v_glock18_redline.mdl", 400, },
  205.     {"GLOCK18 | The_Watcher", "models/darkknight_skinek/glock18/v_glock18_The_Watcher.mdl", 450, },
  206.     {"GLOCK18 | Turtle", "models/darkknight_skinek/glock18/v_glock18_turtle.mdl", 500, },
  207.     {"GLOCK18 | Universe", "models/darkknight_skinek/glock18/v_glock18_universe.mdl", 550, },
  208.     {"GLOCK18 | Wulcan", "models/darkknight_skinek/glock18/v_glock18_vulcan.mdl", 600, },
  209.     {"GLOCK18 | Wasteland Rebel", "models/darkknight_skinek/glock18/v_glock18_wasteland-rebel.mdl", 650, },
  210.     {"GLOCK18 | Water Element", "models/darkknight_skinek/glock18/v_glock18_water_element.mdl", 700, },
  211.     {"GLOCK18 | Weasel", "models/darkknight_skinek/glock18/v_glock18_weasel.mdl", 750, },
  212.     {"GLOCK18 | Clear Polymer", "models/darkknight_skinek/glock18/v_glock18_Clear_Polymer.mdl", 800, }
  213. }  
  214. new const MainStrings[][] = {
  215.     "M4A1 Skinek",
  216.     "AK47 Skinek",
  217.     "AWP Skinek",
  218.     "SCOUT Skinek",
  219.     "FAMAS Skinek",
  220.     "GALIL Skinek",
  221.     "AUG Skinek",
  222.     "M3 Skinek",
  223.     "XM1014 Skinek",
  224.     "KNIFE Skinek",
  225.     "DEAGLE Skinek",
  226.     "USP Skinek",
  227.     "GLOCK18 Skinek"
  228. }
  229. public plugin_init() {
  230.     register_plugin(PLUGIN, VERSION, AUTHOR)
  231.     register_clcmd("say /menu", "openMainMenu")
  232.     register_clcmd("say /add", "Addolas")
  233.     register_impulse(201, "openMainMenu");
  234.     register_event("DeathMsg","Halal","a")
  235.     register_event("CurWeapon", "evChangeWeapon", "be", "1=1")
  236. }
  237. public Addolas(id)
  238. {
  239.     g_uPoints[id][M4A1] += 50
  240.     g_uPoints[id][AK47] += 50
  241.     g_uPoints[id][AWP] += 50
  242.     g_uPoints[id][SCOUT] += 50
  243.     g_uPoints[id][FAMAS] += 50
  244.     g_uPoints[id][GALIL] += 50
  245.     g_uPoints[id][AUG] += 50
  246.     g_uPoints[id][M3] += 50
  247.     g_uPoints[id][XM1014] += 50
  248.     g_uPoints[id][KNIFE] += 50
  249.     g_uPoints[id][DEAGLE] += 50
  250.     g_uPoints[id][USP] += 50
  251.     g_uPoints[id][GLOCK] += 50;
  252. }
  253. public plugin_precache() { 
  254.     for(new i;i < sizeof(WeaponM4A1); i++) precache_model(WeaponM4A1[i][ModelName])
  255.     for(new i;i < sizeof(WeaponAK47); i++) precache_model(WeaponAK47[i][ModelName])
  256.     for(new i;i < sizeof(WeaponAWP); i++) precache_model(WeaponAWP[i][ModelName])
  257.     for(new i;i < sizeof(WeaponSCOUT); i++) precache_model(WeaponSCOUT[i][ModelName])
  258.     for(new i;i < sizeof(WeaponFAMAS); i++) precache_model(WeaponFAMAS[i][ModelName])
  259.     for(new i;i < sizeof(WeaponGALIL); i++) precache_model(WeaponGALIL[i][ModelName])
  260.     for(new i;i < sizeof(WeaponAUG); i++) precache_model(WeaponAUG[i][ModelName])
  261.     for(new i;i < sizeof(WeaponM3); i++) precache_model(WeaponM3[i][ModelName])
  262.     for(new i;i < sizeof(WeaponXM1014); i++) precache_model(WeaponXM1014[i][ModelName])
  263.     for(new i;i < sizeof(WeaponKNIFE); i++) precache_model(WeaponKNIFE[i][ModelName])
  264.     for(new i;i < sizeof(WeaponDEAGLE); i++) precache_model(WeaponDEAGLE[i][ModelName])
  265.     for(new i;i < sizeof(WeaponUSP); i++) precache_model(WeaponUSP[i][ModelName])
  266.     for(new i;i < sizeof(WeaponGLOCK); i++) precache_model(WeaponGLOCK[i][ModelName])
  267. }
  268. public evChangeWeapon(id) {
  269.     switch(get_user_weapon(id)) {
  270.         case CSW_M4A1: entity_set_string(id, EV_SZ_viewmodel, WeaponM4A1[g_SelectedGun[id][M4A1]][ModelName]);
  271.             case CSW_AK47: entity_set_string(id, EV_SZ_viewmodel, WeaponAK47[g_SelectedGun[id][AK47]][ModelName]);
  272.             case CSW_AWP: entity_set_string(id, EV_SZ_viewmodel, WeaponAWP[g_SelectedGun[id][AWP]][ModelName]);
  273.             case CSW_SCOUT: entity_set_string(id, EV_SZ_viewmodel, WeaponSCOUT[g_SelectedGun[id][SCOUT]][ModelName]);
  274.             case CSW_FAMAS: entity_set_string(id, EV_SZ_viewmodel, WeaponFAMAS[g_SelectedGun[id][FAMAS]][ModelName]);
  275.             case CSW_GALIL: entity_set_string(id, EV_SZ_viewmodel, WeaponGALIL[g_SelectedGun[id][GALIL]][ModelName]);
  276.             case CSW_AUG: entity_set_string(id, EV_SZ_viewmodel, WeaponAUG[g_SelectedGun[id][AUG]][ModelName]);
  277.             case CSW_M3: entity_set_string(id, EV_SZ_viewmodel, WeaponM3[g_SelectedGun[id][M3]][ModelName]);
  278.             case CSW_XM1014: entity_set_string(id, EV_SZ_viewmodel, WeaponXM1014[g_SelectedGun[id][XM1014]][ModelName]);
  279.             case CSW_KNIFE: entity_set_string(id, EV_SZ_viewmodel, WeaponKNIFE[g_SelectedGun[id][KNIFE]][ModelName]);
  280.             case CSW_DEAGLE: entity_set_string(id, EV_SZ_viewmodel, WeaponDEAGLE[g_SelectedGun[id][DEAGLE]][ModelName]);
  281.             case CSW_USP: entity_set_string(id, EV_SZ_viewmodel, WeaponUSP[g_SelectedGun[id][USP]][ModelName]);
  282.             case CSW_GLOCK18: entity_set_string(id, EV_SZ_viewmodel, WeaponGLOCK[g_SelectedGun[id][GLOCK]][ModelName]);
  283.         }
  284.     return PLUGIN_CONTINUE
  285. }
  286. public Halal() {
  287.    
  288.     new iAttacker = read_data(1)
  289.     new iVictim = read_data(2)
  290.     new iHs = read_data(3)
  291.    
  292.     if(iAttacker == iVictim || iAttacker == 0) return PLUGIN_HANDLED
  293.     new iPoints = iHs ? HEADSHOT_POINT : KILL_POINT
  294.    
  295.     switch(get_user_weapon(iAttacker)) {
  296.         case CSW_M4A1: g_uPoints[iAttacker][M4A1] += iPoints
  297.             case CSW_AK47: g_uPoints[iAttacker][AK47] += iPoints
  298.             case CSW_AWP: g_uPoints[iAttacker][AWP] += iPoints
  299.             case CSW_SCOUT: g_uPoints[iAttacker][SCOUT] += iPoints
  300.             case CSW_FAMAS: g_uPoints[iAttacker][FAMAS] += iPoints
  301.             case CSW_GALIL: g_uPoints[iAttacker][GALIL] += iPoints
  302.             case CSW_AUG: g_uPoints[iAttacker][AUG] += iPoints
  303.             case CSW_M3: g_uPoints[iAttacker][M3] += iPoints
  304.             case CSW_XM1014: g_uPoints[iAttacker][XM1014] += iPoints
  305.             case CSW_KNIFE: g_uPoints[iAttacker][KNIFE] += iPoints
  306.             case CSW_DEAGLE: g_uPoints[iAttacker][DEAGLE] += iPoints
  307.             case CSW_USP: g_uPoints[iAttacker][USP] += iPoints
  308.             case CSW_GLOCK18: g_uPoints[iAttacker][GLOCK] += iPoints
  309.         }
  310.     set_hudmessage(random(256), random(256), random(256), -1.0, 0.20, 0, 6.0, 3.0);
  311.     show_hudmessage(iAttacker, "+%i Pont", iPoints);
  312.     return PLUGIN_CONTINUE;
  313. }
  314. public openMainMenu(id) {
  315.     new szMenu[121], String[6]
  316.     formatex(szMenu, charsmax(szMenu), "%s \wFőMenü", gChatPrefix);
  317.     new menu = menu_create(szMenu, "hMainMenu");
  318.    
  319.     for(new i ;i < sizeof(MainStrings); i++) {
  320.         num_to_str(i, String, 5)
  321.         formatex(szMenu, charsmax(szMenu), MainStrings[i]);
  322.         menu_additem(menu, szMenu, String);
  323.     }
  324.     menu_display(id, menu, 0);
  325.     return PLUGIN_HANDLED;
  326. }
  327. public hMainMenu(id, menu, item) {
  328.     if(item == MENU_EXIT) {
  329.         menu_destroy(menu);
  330.         return PLUGIN_HANDLED;
  331.     }
  332.     g_Wpn[id] = item+1
  333.     openSkinMenu(id)
  334.     menu_destroy(menu);
  335.     return PLUGIN_HANDLED;
  336. }
  337. public openSkinMenu(id) {
  338.     new szMenu[121], szMenu2[64], String[6]
  339.     if(g_Wpn[id] == 1) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][M4A1])
  340.     else if(g_Wpn[id] == 2) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][AK47])
  341.         else if(g_Wpn[id] == 3) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][AWP])
  342.         else if(g_Wpn[id] == 4) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][SCOUT])
  343.         else if(g_Wpn[id] == 5) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][FAMAS])
  344.         else if(g_Wpn[id] == 6) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][GALIL])
  345.         else if(g_Wpn[id] == 7) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][AUG])
  346.         else if(g_Wpn[id] == 8) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][M3])
  347.         else if(g_Wpn[id] == 9) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][XM1014])
  348.         else if(g_Wpn[id] == 10) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][KNIFE])
  349.         else if(g_Wpn[id] == 11) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][DEAGLE])
  350.         else if(g_Wpn[id] == 12) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][USP])
  351.         else if(g_Wpn[id] == 13) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix, MainStrings[g_Wpn[id]-1], g_uPoints[id][GLOCK])
  352.         new menu = menu_create(szMenu, "hSkinChooser");
  353.     if(g_Wpn[id] == 1) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  354.     MainStrings[g_Wpn[id]-1], g_uPoints[id][M4A1])
  355.     if(g_Wpn[id] == 2) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  356.     MainStrings[g_Wpn[id]-1], g_uPoints[id][AK47])
  357.     if(g_Wpn[id] == 3) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  358.     MainStrings[g_Wpn[id]-1], g_uPoints[id][AWP])
  359.     if(g_Wpn[id] == 4) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  360.     MainStrings[g_Wpn[id]-1], g_uPoints[id][SCOUT])
  361.     if(g_Wpn[id] == 5) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  362.     MainStrings[g_Wpn[id]-1], g_uPoints[id][FAMAS])
  363.     if(g_Wpn[id] == 6) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  364.     MainStrings[g_Wpn[id]-1], g_uPoints[id][GALIL])
  365.     if(g_Wpn[id] == 7) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  366.     MainStrings[g_Wpn[id]-1], g_uPoints[id][AUG])
  367.     if(g_Wpn[id] == 8) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  368.     MainStrings[g_Wpn[id]-1], g_uPoints[id][M3])
  369.     if(g_Wpn[id] == 9) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  370.     MainStrings[g_Wpn[id]-1], g_uPoints[id][XM1014])
  371.     if(g_Wpn[id] == 10) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  372.     MainStrings[g_Wpn[id]-1], g_uPoints[id][KNIFE])
  373.     if(g_Wpn[id] == 11) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  374.     MainStrings[g_Wpn[id]-1], g_uPoints[id][DEAGLE])
  375.     if(g_Wpn[id] == 12) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  376.     MainStrings[g_Wpn[id]-1], g_uPoints[id][USP])
  377.     if(g_Wpn[id] == 13) formatex(szMenu, charsmax(szMenu), "%s \w%s^n\wPontjaid: \y%i\d", gChatPrefix,
  378.     MainStrings[g_Wpn[id]-1], g_uPoints[id][GLOCK])
  379.    
  380.     if(g_Wpn[id] == 1) {
  381.         for(new i; i < sizeof(WeaponM4A1); i++) {
  382.             num_to_str(i, String, 5)
  383.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponM4A1[i][Points]);
  384.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponM4A1[i][GunName], g_SelectedGun[id][M4A1] == i ? "\y{Kiválasztva}": szMenu2);
  385.             menu_additem(menu, szMenu, String);
  386.         }
  387.     }
  388.     else if(g_Wpn[id] == 2) {
  389.         for(new i; i < sizeof(WeaponAK47); i++) {
  390.             num_to_str(i, String, 5)
  391.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponAK47[i][Points]);
  392.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponAK47[i][GunName], g_SelectedGun[id][AK47] == i ? "\y{Kiválasztva}": szMenu2);
  393.             menu_additem(menu, szMenu, String);
  394.         }
  395.     }
  396.     else if(g_Wpn[id] == 3) {
  397.         for(new i; i < sizeof(WeaponAWP); i++) {
  398.             num_to_str(i, String, 5)
  399.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponAWP[i][Points]);
  400.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponAWP[i][GunName], g_SelectedGun[id][AWP] == i ? "\y{Kiválasztva}": szMenu2);
  401.             menu_additem(menu, szMenu, String);
  402.         }
  403.     }
  404.     else if(g_Wpn[id] == 4) {
  405.         for(new i; i < sizeof(WeaponSCOUT); i++) {
  406.             num_to_str(i, String, 5)
  407.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponSCOUT[i][Points]);
  408.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponSCOUT[i][GunName], g_SelectedGun[id][SCOUT] == i ? "\y{Kiválasztva}": szMenu2);
  409.             menu_additem(menu, szMenu, String);
  410.         }
  411.     }
  412.     else if(g_Wpn[id] == 5) {
  413.         for(new i; i < sizeof(WeaponFAMAS); i++) {
  414.             num_to_str(i, String, 5)
  415.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponFAMAS[i][Points]);
  416.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponFAMAS[i][GunName], g_SelectedGun[id][FAMAS] == i ? "\y{Kiválasztva}": szMenu2);
  417.             menu_additem(menu, szMenu, String);
  418.         }
  419.     }
  420.     else if(g_Wpn[id] == 6) {
  421.         for(new i; i < sizeof(WeaponGALIL); i++) {
  422.             num_to_str(i, String, 5)
  423.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponGALIL[i][Points]);
  424.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponGALIL[i][GunName], g_SelectedGun[id][GALIL] == i ? "\y{Kiválasztva}": szMenu2);
  425.             menu_additem(menu, szMenu, String);
  426.         }
  427.     }
  428.     else if(g_Wpn[id] == 7) {
  429.         for(new i; i < sizeof(WeaponAUG); i++) {
  430.             num_to_str(i, String, 5)
  431.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponAUG[i][Points]);
  432.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponAUG[i][GunName], g_SelectedGun[id][AUG] == i ? "\y{Kiválasztva}": szMenu2);
  433.             menu_additem(menu, szMenu, String);
  434.         }
  435.     }
  436.     else if(g_Wpn[id] == 8) {
  437.         for(new i; i < sizeof(WeaponM3); i++) {
  438.             num_to_str(i, String, 5)
  439.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponM3[i][Points]);
  440.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponM3[i][GunName], g_SelectedGun[id][M3] == i ? "\y{Kiválasztva}": szMenu2);
  441.             menu_additem(menu, szMenu, String);
  442.         }
  443.     }
  444.     else if(g_Wpn[id] == 9) {
  445.         for(new i; i < sizeof(WeaponXM1014); i++) {
  446.             num_to_str(i, String, 5)
  447.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponXM1014[i][Points]);
  448.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponXM1014[i][GunName], g_SelectedGun[id][XM1014] == i ? "\y{Kiválasztva}": szMenu2);
  449.             menu_additem(menu, szMenu, String);
  450.         }
  451.     }
  452.     else if(g_Wpn[id] == 10) {
  453.         for(new i; i < sizeof(WeaponKNIFE); i++) {
  454.             num_to_str(i, String, 5)
  455.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponKNIFE[i][Points]);
  456.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponKNIFE[i][GunName], g_SelectedGun[id][KNIFE] == i ? "\y{Kiválasztva}": szMenu2);
  457.             menu_additem(menu, szMenu, String);
  458.         }
  459.     }
  460.     else if(g_Wpn[id] == 11) {
  461.         for(new i; i < sizeof(WeaponDEAGLE); i++) {
  462.             num_to_str(i, String, 5)
  463.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponDEAGLE[i][Points]);
  464.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponDEAGLE[i][GunName], g_SelectedGun[id][DEAGLE] == i ? "\y{Kiválasztva}": szMenu2);
  465.             menu_additem(menu, szMenu, String);
  466.         }
  467.     }
  468.     else if(g_Wpn[id] == 12) {
  469.         for(new i; i < sizeof(WeaponUSP); i++) {
  470.             num_to_str(i, String, 5)
  471.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponUSP[i][Points]);
  472.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponUSP[i][GunName], g_SelectedGun[id][USP] == i ? "\y{Kiválasztva}": szMenu2);
  473.             menu_additem(menu, szMenu, String);
  474.         }
  475.     }
  476.     else if(g_Wpn[id] == 13) {
  477.         for(new i; i < sizeof(WeaponGLOCK); i++) {
  478.             num_to_str(i, String, 5)
  479.             formatex(szMenu2, charsmax(szMenu2), "\r{%i} Ölés", WeaponGLOCK[i][Points]);
  480.             formatex(szMenu, charsmax(szMenu), "%s %s", WeaponGLOCK[i][GunName], g_SelectedGun[id][GLOCK] == i ? "\y{Kiválasztva}": szMenu2);
  481.             menu_additem(menu, szMenu, String);
  482.         }
  483.     }
  484.     menu_display(id, menu, 0);
  485.     return PLUGIN_HANDLED;
  486. }
  487. public hSkinChooser(id, menu, item) {
  488.     if(item == MENU_EXIT)
  489.     {
  490.         menu_destroy(menu);
  491.         return PLUGIN_CONTINUE;
  492.     }
  493.     switch(g_Wpn[id]) {
  494.         case 1: {
  495.             if(g_uPoints[id][M4A1] >= WeaponM4A1[item][Points]) {
  496.                 g_SelectedGun[id][M4A1] = item
  497.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  498.             }
  499.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  500.         }
  501.         case 2: {
  502.             if(g_uPoints[id][AK47] >= WeaponAK47[item][Points]) {
  503.                 g_SelectedGun[id][AK47] = item
  504.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  505.             }
  506.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  507.         }
  508.         case 3: {
  509.             if(g_uPoints[id][AWP] >= WeaponAWP[item][Points]) {
  510.                 g_SelectedGun[id][AWP] = item
  511.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  512.             }
  513.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  514.         }
  515.         case 4: {
  516.             if(g_uPoints[id][SCOUT] >= WeaponSCOUT[item][Points]) {
  517.                 g_SelectedGun[id][SCOUT] = item
  518.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  519.             }
  520.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  521.         }
  522.         case 5: {
  523.             if(g_uPoints[id][FAMAS] >= WeaponFAMAS[item][Points]) {
  524.                 g_SelectedGun[id][FAMAS] = item
  525.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  526.             }
  527.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  528.         }
  529.         case 6: {
  530.             if(g_uPoints[id][GALIL] >= WeaponGALIL[item][Points]) {
  531.                 g_SelectedGun[id][GALIL] = item
  532.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  533.             }
  534.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  535.         }
  536.         case 7: {
  537.             if(g_uPoints[id][AUG] >= WeaponAUG[item][Points]) {
  538.                 g_SelectedGun[id][AUG] = item
  539.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  540.             }
  541.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  542.         }
  543.         case 8: {
  544.             if(g_uPoints[id][M3] >= WeaponM3[item][Points]) {
  545.                 g_SelectedGun[id][M3] = item
  546.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  547.             }
  548.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  549.         }
  550.         case 9: {
  551.             if(g_uPoints[id][XM1014] >= WeaponXM1014[item][Points]) {
  552.                 g_SelectedGun[id][XM1014] = item
  553.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  554.             }
  555.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  556.         }
  557.         case 10: {
  558.             if(g_uPoints[id][KNIFE] >= WeaponKNIFE[item][Points]) {
  559.                 g_SelectedGun[id][KNIFE] = item
  560.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  561.             }
  562.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  563.         }
  564.         case 11: {
  565.             if(g_uPoints[id][DEAGLE] >= WeaponDEAGLE[item][Points]) {
  566.                 g_SelectedGun[id][DEAGLE] = item
  567.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  568.             }
  569.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  570.         }
  571.         case 12: {
  572.             if(g_uPoints[id][USP] >= WeaponUSP[item][Points]) {
  573.                 g_SelectedGun[id][USP] = item
  574.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  575.             }
  576.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  577.         }
  578.         case 13: {
  579.             if(g_uPoints[id][GLOCK] >= WeaponGLOCK[item][Points]) {
  580.                 g_SelectedGun[id][GLOCK] = item
  581.                 client_print_color(id, print_team_blue, "^4%s ^1Sikeresen aktiváltad a skint!", gChatPrefix);
  582.             }
  583.             else client_print_color(id, print_team_blue, "^4%s ^1Sajnálom, nincs elegendő ^3pontod^3!", gChatPrefix);
  584.         }
  585.     }
  586.     menu_destroy(menu);
  587.     return PLUGIN_HANDLED;
  588. }
  589. public client_putinserver(id)
  590. {
  591.     if(is_user_bot(id))
  592.         return;
  593.    
  594.     FunMentes[id] = 1;
  595.     g_uPoints[id][M4A1] = 0;
  596.     g_uPoints[id][AK47] = 0;
  597.     g_uPoints[id][AWP] = 0;
  598.     g_uPoints[id][SCOUT] = 0;
  599.     g_uPoints[id][FAMAS] = 0;
  600.     g_uPoints[id][GALIL] = 0;
  601.     g_uPoints[id][AUG] = 0;
  602.     g_uPoints[id][M3] = 0;
  603.     g_uPoints[id][XM1014] = 0;
  604.     g_uPoints[id][KNIFE] = 0;
  605.     g_uPoints[id][DEAGLE] = 0;
  606.     g_uPoints[id][USP] = 0;
  607.     g_uPoints[id][GLOCK] = 0;
  608.     g_SelectedGun[id][M4A1] = 0;
  609.     g_SelectedGun[id][AK47] = 0;
  610.     g_SelectedGun[id][AWP] = 0;
  611.     g_SelectedGun[id][SCOUT] = 0;
  612.     g_SelectedGun[id][FAMAS] = 0;
  613.     g_SelectedGun[id][GALIL] = 0;
  614.     g_SelectedGun[id][AUG] = 0;
  615.     g_SelectedGun[id][M3] = 0;
  616.     g_SelectedGun[id][XM1014] = 0;
  617.     g_SelectedGun[id][KNIFE] = 0;
  618.     g_SelectedGun[id][DEAGLE] = 0;
  619.     g_SelectedGun[id][USP] = 0;
  620.     g_SelectedGun[id][GLOCK] = 0;
  621.    
  622.     SelectDataTable(id);
  623. }
  624. public client_disconnected(id)
  625. {
  626.     if(is_user_bot(id))
  627.         return;
  628.    
  629.     FunMentes[id] = 0;
  630.     TableUpdate(id);
  631. }
  632. new Handle:g_SqlTuple;
  633. public plugin_cfg()
  634. {
  635.     //Kiszolgáló | Felhasználó | Jelszó | Adatbázis
  636.    
  637.     g_SqlTuple = SQL_MakeDbTuple("mysql.srkhost.eu", "u12381_RhQuJgWhG3", "o1ai0hMq2vtA", "s12381_darkknight_ujmentes");
  638.     CreateTable();
  639. }
  640. public CreateTable(){
  641.     new iLen;
  642.     static sQuery[10048];
  643.    
  644.     iLen += formatex(sQuery[iLen], charsmax(sQuery), "CREATE TABLE IF NOT EXISTS `%s` ", Tablename);
  645.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "( ");
  646.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`Id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  647.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`SteamId` varchar(64) NOT NULL,");
  648.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsM4A1` int(11) NOT NULL,");
  649.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsAK47` int(11) NOT NULL,");
  650.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsAWP` int(11) NOT NULL,");
  651.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsSCOUT` int(11) NOT NULL,");
  652.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsFAMAS` int(11) NOT NULL,");
  653.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsGALIL` int(11) NOT NULL,");
  654.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsAUG` int(11) NOT NULL,");
  655.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsM3` int(11) NOT NULL,");
  656.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsXM1014` int(11) NOT NULL,");
  657.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsKNIFE` int(11) NOT NULL,");
  658.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsDEAGLE` int(11) NOT NULL,");
  659.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsUSP` int(11) NOT NULL,");
  660.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_uPointsGLOCK` int(11) NOT NULL,");
  661.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunM4A1` int(11) NOT NULL,");
  662.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunAK47` int(11) NOT NULL,");
  663.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunAWP` int(11) NOT NULL,");
  664.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunSCOUT` int(11) NOT NULL,");
  665.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunFAMAS` int(11) NOT NULL,");
  666.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunGALIL` int(11) NOT NULL,");
  667.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunAUG` int(11) NOT NULL,");
  668.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunM3` int(11) NOT NULL,");
  669.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunXM1014` int(11) NOT NULL,");
  670.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunKNIFE` int(11) NOT NULL,");
  671.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunDEAGLE` int(11) NOT NULL,");
  672.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunUSP` int(11) NOT NULL,");
  673.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`g_SelectedGunGLOCK` int(11) NOT NULL)");
  674.    
  675.     SQL_ThreadQuery(g_SqlTuple, "TableCreateThread", sQuery);
  676. }
  677. public TableUpdate(id)
  678. {
  679.     static sQuery[10048];
  680.     new iLen, sSteamID[64];
  681.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  682.    
  683.     iLen += formatex(sQuery[iLen], charsmax(sQuery), "UPDATE `%s` SET ", Tablename);
  684.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsM4A1 = ^"%i^",", g_uPoints[id][M4A1]);
  685.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsAK47 = ^"%i^",", g_uPoints[id][AK47]);
  686.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsAWP = ^"%i^",", g_uPoints[id][AWP]);
  687.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsSCOUT = ^"%i^",", g_uPoints[id][SCOUT]);
  688.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsFAMAS = ^"%i^",", g_uPoints[id][FAMAS]);
  689.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsGALIL = ^"%i^",", g_uPoints[id][GALIL]);
  690.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsAUG = ^"%i^",", g_uPoints[id][AUG]);
  691.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsM3 = ^"%i^",", g_uPoints[id][M3]);
  692.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsXM1014 = ^"%i^",", g_uPoints[id][XM1014]);
  693.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsKNIFE = ^"%i^",", g_uPoints[id][KNIFE]);
  694.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsDEAGLE = ^"%i^",", g_uPoints[id][DEAGLE]);
  695.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsUSP = ^"%i^",", g_uPoints[id][USP]);
  696.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_uPointsGLOCK = ^"%i^",", g_uPoints[id][GLOCK]);
  697.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunAK47 = ^"%i^",", g_SelectedGun[id][AK47]);
  698.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunAWP = ^"%i^",", g_SelectedGun[id][AWP]);
  699.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunSCOUT = ^"%i^",", g_SelectedGun[id][SCOUT]);
  700.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunFAMAS = ^"%i^",", g_SelectedGun[id][FAMAS]);
  701.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunGALIL = ^"%i^",", g_SelectedGun[id][GALIL]);
  702.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunAUG = ^"%i^",", g_SelectedGun[id][AUG]);
  703.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunM3 = ^"%i^",", g_SelectedGun[id][M3]);
  704.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunXM1014 = ^"%i^",", g_SelectedGun[id][XM1014]);
  705.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunKNIFE = ^"%i^",", g_SelectedGun[id][KNIFE]);
  706.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunDEAGLE = ^"%i^",", g_SelectedGun[id][DEAGLE]);
  707.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunUSP = ^"%i^",", g_SelectedGun[id][USP]);
  708.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunGLOCK = ^"%i^",", g_SelectedGun[id][GLOCK]);
  709.    
  710.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "g_SelectedGunM4A1 = ^"%i^" WHERE `SteamId` = ^"%s^";", g_SelectedGun[id][M4A1], sSteamID);
  711.     SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery);
  712. }
  713. public TableCreateThread(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  714. {
  715.     if(iFailState == TQUERY_CONNECT_FAILED)
  716.         set_fail_state("[Create] Nem lehet csatlakozni az adatbazishoz!");
  717.     else if(iFailState == TQUERY_QUERY_FAILED)
  718.         set_fail_state("[Create] Lekerdezesi hiba");
  719.     if(iErrcode)
  720.         log_amx("[Create] Hiba:**!! %s !!**", sError);
  721. }
  722. public TableInsert(id)
  723. {
  724.     static sQuery[10048], sSteamID[64];
  725.    
  726.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  727.     formatex(sQuery, charsmax(sQuery), "INSERT INTO `%s` (`SteamId`) VALUES (^"%s^");", Tablename, sSteamID);
  728.     SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery);
  729. }
  730. public SelectDataTable(id)
  731. {
  732.     static sQuery[10048];
  733.     new sData[1], sSteamID[64];
  734.     sData[0] = id;
  735.    
  736.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  737.    
  738.     formatex(sQuery, charsmax(sQuery), "SELECT * FROM `%s` WHERE SteamId = ^"%s^";", Tablename, sSteamID);
  739.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectDataTable", sQuery, sData, 1);
  740. }
  741. public QuerySelectDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  742. {
  743.     if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
  744.     {
  745.         log_amx("[Insert] Hiba:**!! %s !!**", sError);
  746.         return;
  747.     }
  748.     else
  749.     {
  750.         new id = sData[0];
  751.        
  752.         if(SQL_NumRows(sQuery) > 0)
  753.         {
  754.             g_uPoints[id][M4A1] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsM4A1"));
  755.             g_uPoints[id][AK47] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsAK47"));
  756.             g_uPoints[id][AWP] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsAWP"));
  757.             g_uPoints[id][SCOUT] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsSCOUT"));
  758.             g_uPoints[id][FAMAS] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsFAMAS"));
  759.             g_uPoints[id][GALIL] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsGALIL"));
  760.             g_uPoints[id][AUG] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsAUG"));
  761.             g_uPoints[id][M3] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsM3"));
  762.             g_uPoints[id][XM1014] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsXM1014"));
  763.             g_uPoints[id][KNIFE] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsKNIFE"));
  764.             g_uPoints[id][DEAGLE] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsDEAGLE"));
  765.             g_uPoints[id][USP] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsUSP"));
  766.             g_uPoints[id][GLOCK] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_uPointsGLOCK"));
  767.             g_SelectedGun[id][M4A1] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunM4A1"));
  768.             g_SelectedGun[id][AK47] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunAK47"));
  769.             g_SelectedGun[id][AWP] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunAWP"));
  770.             g_SelectedGun[id][SCOUT] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunSCOUT"));
  771.             g_SelectedGun[id][FAMAS] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunFAMAS"));
  772.             g_SelectedGun[id][GALIL] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunGALIL"));
  773.             g_SelectedGun[id][AUG] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunAUG"));
  774.             g_SelectedGun[id][M3] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunM3"));
  775.             g_SelectedGun[id][XM1014] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunXM1014"));
  776.             g_SelectedGun[id][KNIFE] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunKNIFE"));
  777.             g_SelectedGun[id][DEAGLE] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunDEAGLE"));
  778.             g_SelectedGun[id][USP] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunUSP"));
  779.             g_SelectedGun[id][GLOCK] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "g_SelectedGunGLOCK"));
  780.         }
  781.         else
  782.             TableInsert(id);
  783.     }
  784. }
  785. public QuerySetDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  786. {
  787.     if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
  788.     {
  789.         log_amx("[SetData] Hiba:**!! %s !!**", sError);
  790.         return;
  791.     }
  792. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ismeretlen Hiba
HozzászólásElküldve: 2022.11.30. 15:24 
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
demon írta:
Nagyon megterheled az adatbázist abban a pillanatban mikor a játékos csatlakozik, így nem sikerül betölteni az adatait, marad minden 0 értéken. Lecsatlakozáskor pedig szerepel az adatbázisban a játékos, így menti az új adatokat.


Már nem érdekes a téma de megterhelő nem lehet az adatbázisnak mivel nem felcsatlakozáskor tölt be a mentés hanem amikor a játékos belép a fiókjába.

_________________
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: Ismeretlen Hiba
HozzászólásElküldve: 2022.11.30. 16:16 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2011.09.18. 13:01
Hozzászólások: 4270
Megköszönt másnak: 55 alkalommal
Megköszönték neki: 513 alkalommal
Ha csak nem mikron fut az az adatbazis nincs olyan hogy "megterheled". Fuggetlentol milyen adatbazist hasznalsz messze tobb adat kellene hogy igazabol meg is erezze az adatbazis.

Nagyobb az esely hogy 1.6-nal futsz limitacioba minthogy adatbazis oldalon ezert szoktak irni optimizald a betoltest es mentest.
(Emlekezteto az adatbazis vagyis a mysql szerver teljesen kihasznalja a szervergepet vagy vps-t attol fugg min fut szoval amig nem mikron fut a mysql addig nem tudod megterhelni annyira ha van 10gb ramod akkor azt hasznalni fogja ha kell neki. Ez igaz procira is.)

_________________
Idk. Csak ugy funbooo.
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ismeretlen Hiba
HozzászólásElküldve: 2022.11.30. 16:23 
Offline
Tud valamit
Avatar

Csatlakozott: 2020.05.14. 11:32
Hozzászólások: 140
Megköszönt másnak: 13 alkalommal
Megköszönték neki: 56 alkalommal
exodus írta:
demon írta:
Nagyon megterheled az adatbázist abban a pillanatban mikor a játékos csatlakozik, így nem sikerül betölteni az adatait, marad minden 0 értéken. Lecsatlakozáskor pedig szerepel az adatbázisban a játékos, így menti az új adatokat.


Már nem érdekes a téma de megterhelő nem lehet az adatbázisnak mivel nem felcsatlakozáskor tölt be a mentés hanem amikor a játékos belép a fiókjába.

Decit alátámasztva még ha számítana is az amit te csinálsz az adatbázissal, ugyanúgy felcsatlakozáskor történik meg, mivel az egy időben van a "belépéssel".
Mindezt félretéve szerintem reggelig lehetne elmélkedni hogy mennyi minden lehet leterhelő abban a módban a szerver tekintetében. Ennél a szemét módnál az "adatbázisterhelés" a legkisebb gond.

_________________
[ExTasY] Super Deathmatch [SENTRY GUN] [Soon]

ExTasY Zombie Mutation
217.144.54.193:27057
Facebook
Discord

Kép


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


Ki van itt

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