HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. //95% optimalized last at: 2019.08.23 04:51
  2. //Semantics edit last at: 2019.09.08 18:15
  3. //Project started at: 2019.08.16 11:39
  4. #pragma tabsize 0
  5. #include <amxmodx>
  6. #include <cstrike>
  7. #include <fakemeta>
  8. #include <hamsandwich>
  9. #include <sqlx>
  10. #include <regex>
  11. #include <engine>
  12. #include <RegSystem_SKA>
  13. #include <fun>
  14. #include <Settings_native>
  15. #include <ServerPrefix>
  16.  
  17. #define PLUGIN "NextLvL Mod"
  18. #define VERSION "0.4.1"
  19. #define AUTHOR "Kova, Adek, Shedi" //DO NOT CHANGE
  20. //SQL SAVE, Admin System(Credit ~ Dooz) - Shedi
  21. //SintaxManger - Adek
  22. //Front/Back-end, SemanticsManeger - Kova
  23.  
  24. #define CaseDrops_CaseNum 7 //CASE EXTEND NEED HERE, Ha ládát akarsz böviteni itt is kell!
  25. #define CaseDrops_Openable 10 //Max fegyver amennyít lehet nyítni 1 ládából! Ha a láda elönezet MODT-t használod akkor 10 fölött már nem tudja megjeleníteni feltétlen!
  26.  
  27. #define Cost_ToolsStattrak 100.0 //Stattrak felszerelő ára > $
  28. #define Cost_ToolsNametag 50.0 //Névcédula felszerelő ára > $
  29. #define Cost_InventoryExtend 20.0 //1 raktár férőhely ára > $
  30. #define Cost_WeaponRepair 10.0 //a fegyveren való javítása 1%-éknak az ára > $
  31. #define Cost_WeaponRestore 1000.0 //0%-os fegyver helyreállításának ára > $
  32. #define Cost_WeaponMakePermanent 2000 //fegyver véglegesítésének ára > Végtelen darabka
  33. #define Return_BreakPermanent 1000 //Végleges fegyverből visszajövő összeg > Végtelen darabka
  34.  
  35. //Azt határozza meg hány golyót kell kilőni hogy 1%-ot rololjon a fegyver
  36. #define WeaponWorstByAttacks_AutomaticGun 300 //ak47, m4a1, mp5, famas
  37. #define WeaponWorstByAttacks_SingleShotGun 150 //deagle, awp, scout
  38. #define WeaponWorstByHitsNWepChange_Melee 300 //kés //sebzésnél romlik+amikor előveszed (a tok surlodása koptatja az élét)
  39.  
  40. #define Market_MaxCost 1000000 //maximum ennyiért tudsz kirakni valamit a piacra > $
  41. #define Market_MaxAmount 100 //maximum ennyit tudsz kirakni valamiből a piacra > mennyiség
  42. #define Market_MaxProduct 10 //maximum ennyi adak/fegyver lehet kint a piacon > mennyiség
  43.  
  44. const InventoryMaxExtend = 400; //maximum inventory méret (nem ajánlatos állítani)
  45. const InventoryMAX = 1200; //mivel nem Dinamikus tömbe lett megoldva ezért lehetnek vele problémák ha indexen kivul mutatunk erre az esetre van ez! (legyen az inventory 4x-erese)
  46.  
  47. new Prefix[32]; //A prefix ami mindenhol megjelenik?
  48.  
  49. //SQL
  50. new Handle:g_SqlTuple;
  51. static const SQLINFO[][] = { "127.0.0.1", "root", "root_jelszó", "Adatbázis_Név"}; //Sql mentéshez itt kell meganod a szervert és adatbázíst
  52. static Query[10048];
  53.  
  54. new g_Maxplayers;
  55. new String[512];
  56. new StringHud[128];
  57. new StringMotd[1536];
  58.  
  59. new logline[250];
  60. new Filename_ItemTransaction[100];
  61. new Filename_Give[100];
  62. //INCLUDE
  63. new fwd_musiccmd;
  64.  
  65. new Array:g_Admins;
  66. enum _:AdminData{
  67. Id,
  68. Name[32],
  69. Permission
  70. }
  71. enum _:TEAMS {T, CT};
  72. new g_Awps[TEAMS];
  73. new g_AwpCanAdd = 0;
  74. new g_PlayingPlayers;
  75. new s_AdminLevel[33];
  76. enum _:rank_Properties
  77. {
  78. r_Name[32],
  79. Float:r_Need
  80. }
  81. new const Admin_Permissions[][][] = { //jogokat lehet kedved szerint bövíteni ()
  82. //Rang név | Jogok | Hozzáadhat-e admint? (0-Nem | 1-Igen)| Hozzáadhat-e VIP-t? (0-Nem | 1-Igen)
  83. {"Játékos", "z", "0", "0"}, //0
  84. {"Fejlesztő", "abcvnmlpoikujzhtgrfedwsayc", "1", "1"}, //1
  85. {"Tulajdonos", "abcvnmlpoikujzhtgrfedwsayc", "1", "1"}, //2
  86. {"SzuperAdmin", "abmcfscdtiue", "1", "1"}, //3
  87. {"FőAdmin", "bmcfscdtiue", "0", "1"}, //4
  88. {"Admin", "bmcfscdtiue", "0", "0"} //5
  89. };
  90. static const g_Ranks[][rank_Properties] =
  91. {
  92. //szabadon bövíthető elvehető modosítható!
  93. {"Kifejezhetlenül szar(-5k)", -5000.0},
  94. {"Szánalmas(-2k)", -2000.0},
  95. {"Inkább töröld le(-1k)", -1000.0},
  96. {"Tehetségtelen(-500)", -500.0},
  97. {"Béna(-100)", -100.0},
  98. {"Gyakorlatlan(-50)", -50.0},
  99. {"Kezdő(-10)", -10.0},
  100. {"Midranger(0)", 0.0},
  101. {"Kezdő(+10)", 10.0},
  102. {"Jártas(+50)", 50.0},
  103. {"Ügyes(+100)", 100.0},
  104. {"Tehetséges(+500)", 500.0},
  105. {"Pusztitó(+1k)", 1000.0},
  106. {"Gyilkológép(+2k)", 2000.0},
  107. {"Hihetetlen(+5k)", 5000.0},
  108. {"Félisten(+10k)", 10000.0},
  109. {"Halál Isten(+20k)", 20000.0},
  110. {"Minden6ó(+30k)", 30000.0},
  111. {"Megállíthatatlan(+50k)", 50000.0},
  112. {"Legenda(+100k)", 100000.0}
  113. }
  114. new g_Rank_id_Middle;
  115.  
  116. enum _:stats_Properties
  117. {
  118. Name[32],
  119. Kills, //deathM
  120. HSs, //deathM
  121. Deaths, //deathM
  122. AllHitCount,
  123. AllShotCount
  124. }
  125. new Player_Stats[33][stats_Properties];
  126. new Top15_list[15][stats_Properties];
  127.  
  128. enum _:product_Properties
  129. {
  130. product_SQL_key,
  131. UTS_EndTimeDate,
  132. Type,
  133. product_id,
  134. Amount,
  135. Price,
  136. Seller_User_id,
  137. p_w_Is_NameTaged,
  138. p_w_NameTag[32],
  139. p_w_Is_Stattrak,
  140. p_w_Stattrak_Kills,
  141. p_w_Damage_Level,
  142. p_w_AttackCount
  143. }
  144. new Array:g_Products;
  145.  
  146.  
  147. enum _:search_Properties
  148. {
  149. SelectedSearchType,
  150. weaponsearch_Type,
  151. weaponsearch_MaxDamage,
  152. weaponsearch_MinDamage,
  153. weaponsearch_MaxCost,
  154. weaponsearch_MinCost,
  155. weaponsearch_Stattrak,
  156. weaponsearch_Nametag,
  157. casesearch_Type,
  158. casesearch_MaxAmount,
  159. casesearch_MinAmount,
  160. casesearch_MaxCost,
  161. casesearch_MinCost,
  162. keysearch_MaxAmount,
  163. keysearch_MinAmount,
  164. keysearch_MaxCost,
  165. keysearch_MinCost,
  166. infinityfragmentsearch_MaxAmount,
  167. infinityfragmentsearch_MinAmount,
  168. infinityfragmentsearch_MaxCost,
  169. infinityfragmentsearch_MinCost,
  170. playersearch_User_id
  171. }
  172. new searchsettings_Player[33][search_Properties];
  173.  
  174. enum _:player_Properties
  175. {
  176. FirstServerLogin,
  177. Float:Euro,
  178. PlayTime, //HUD
  179. ToolsStattrak,
  180. ToolsNametag,
  181. InfinityFragment,
  182. InventorySize,
  183. InventorySizeMax,
  184. InventoryWriteableSize,
  185. InventorySelectedSlot,
  186. CaseSelectedSlot,
  187. ShopSelectedSlot,
  188. MarketSelectedSlot,
  189. PreMarketSelectedType,
  190. TypedMarketPrice,
  191. TypedMarketAmount,
  192. MarketSize,
  193. ShopTypedAmount,
  194. SkinDisplay, //Settings
  195. HudDisplayPlayerInfo, //Settings
  196. HudDisplayWeaponInfo, //Settings
  197. SoundPlay, //Settings
  198. RoundEndSoundPlay, //Settings
  199. KnifeSoundPlay, //Settings
  200. ItemBreakSoundPlay, //Settings
  201. CanSendMe, //Settings
  202. SilentTransfer, //Settings
  203. Ranking, //Settings
  204. SilentAdminMod, //Settings
  205. InHandWepInvSlot,
  206. Keys,
  207. WeaponBuyInRound,
  208. Float:RankPoint,
  209. RankPrefix[32],
  210. Now_Rank
  211. }
  212. new s_Player[33][player_Properties];
  213.  
  214. new AllRegistedRank;
  215.  
  216. new Player_Cases[33][CaseDrops_CaseNum];
  217. new CasesEmpty[CaseDrops_CaseNum];
  218.  
  219. enum _:Equipment
  220. {
  221. AK47,
  222. AWP,
  223. DEAGLE,
  224. FAMAS,
  225. M4A1,
  226. MP5,
  227. SCOUT,
  228. KNIFE
  229. }
  230. new Equipmented[33][Equipment];
  231.  
  232. static const EquipmentedDef[Equipment] =
  233. {
  234. {0},
  235. {1},
  236. {2},
  237. {3},
  238. {4},
  239. {5},
  240. {6},
  241. {7}
  242. }
  243.  
  244. enum _:weapon_Properties
  245. {
  246. SQL_Key,
  247. w_UserId,
  248. w_id,
  249. w_Is_NameTaged,
  250. w_NameTag[32],
  251. w_Is_Stattrak,
  252. w_Stattrak_Kills,
  253. w_Damage_Level,
  254. w_AttackCount,
  255. w_Tradable,
  256. w_Equiped,
  257. w_Deleted
  258. }
  259. new Inventory[33][InventoryMAX][weapon_Properties];
  260.  
  261. new Item[weapon_Properties];
  262. static const EmptyItem[weapon_Properties];
  263.  
  264. new const g_CasesNames[][] =
  265. {
  266. //Láda hozzáadás bonyolultabb müvelet a pluginban több helyen meg van jelölve a következő szöveggel: "CASE EXTEND NEED HERE"
  267. "S0-Fusion Láda",
  268. "S0-Power Láda",
  269. "S0-Thunder Láda",
  270. "S0-Light Láda",
  271. "S0-Boom Láda",
  272. "S1-BlackIce Láda",
  273. "S2-??? Láda"
  274. //CASE EXTEND NEED HERE, Ha ládát akarsz böviteni itt is kell!
  275. }
  276. new const Float:s_DropCaseChance[] =
  277. {
  278. 14.0,
  279. 13.0,
  280. 12.0,
  281. 11.0,
  282. 10.0,
  283. 5.0,
  284. 0.05
  285. //CASE EXTEND NEED HERE, Ha ládát akarsz böviteni itt is kell!
  286. }
  287. new Float:s_DropCaseChanceOverAll;
  288.  
  289. new const Float:CaseDrops[CaseDrops_CaseNum][CaseDrops_Openable][2] =
  290. {
  291. {//Fusion
  292. {8.0, 4.0 },
  293. {13.0, 20.0 },
  294. {18.0, 14.0 },
  295. {23.0, 20.0 },
  296. {28.0, 2.0 },
  297. {33.0, 14.0 },
  298. {38.0, 20.0 },
  299. {43.0, 0.05 },
  300. {0.0, 0.0 },
  301. {0.0, 0.0 }
  302. },
  303. {//Power
  304. {9.0, 1.0 },
  305. {14.0, 4.0 },
  306. {19.0, 18.0 },
  307. {24.0, 10.0 },
  308. {29.0, 10.0 },
  309. {34.0, 12.0 },
  310. {39.0, 18.0 },
  311. {44.0, 0.04 },
  312. {0.0, 0.0 },
  313. {0.0, 0.0 }
  314. },
  315. {//Thunder
  316. {10.0, 14.0 },
  317. {15.0, 12.0 },
  318. {20.0, 10.0 },
  319. {25.0, 16.0 },
  320. {30.0, 3.0 },
  321. {35.0, 18.0 },
  322. {40.0, 12.0 },
  323. {45.0, 0.03 },
  324. {0.0, 0.0 },
  325. {0.0, 0.0 }
  326. },
  327. {//Light
  328. {11.0, 3.0 },
  329. {16.0, 3.0 },
  330. {21.0, 16.0 },
  331. {26.0, 4.0 },
  332. {31.0, 4.0 },
  333. {36.0, 1.0 },
  334. {41.0, 3.0 },
  335. {46.0, 0.02 },
  336. {0.0, 0.0 },
  337. {0.0, 0.0 }
  338. },
  339. {//Boom
  340. {12.0, 18.0 },
  341. {17.0, 10.0 },
  342. {22.0, 20.0 },
  343. {27.0, 20.0 },
  344. {32.0, 16.0 },
  345. {37.0, 14.0 },
  346. {42.0, 16.0 },
  347. {47.0, 0.01 },
  348. {0.0, 0.0 },
  349. {0.0, 0.0 }
  350. },
  351. {//Black Ice
  352. {49.0, 4.5 },
  353. {50.0, 6.0 },
  354. {51.0, 7.0 },
  355. {52.0, 8.0 },
  356. {53.0, 5.0 },
  357. {54.0, 9.0 },
  358. {55.0, 10.0 },
  359. {56.0, 0.02 },
  360. {57.0, 0.02 },
  361. {58.0, 0.02 }
  362. },
  363. {//New case
  364. {0.0, 0.0 },
  365. {0.0, 0.0 },
  366. {0.0, 0.0 },
  367. {0.0, 0.0 },
  368. {0.0, 0.0 },
  369. {0.0, 0.0 },
  370. {0.0, 0.0 },
  371. {0.0, 0.0 },
  372. {0.0, 0.0 },
  373. {0.0, 0.0 }
  374. }
  375. //CASE EXTEND NEED HERE, Ha ládát akarsz böviteni itt is kell!
  376. }
  377.  
  378. enum _:Properties
  379. {
  380. w_id,
  381. w_name[32],
  382. w_model[128],
  383. w_type[16],
  384. w_ImgLink[128]
  385. }
  386. new const g_Weapon[][Properties] =
  387. {
  388. //Default models
  389. {0 ,"AK47 | Default", "models/NextLvL/Default/v_ak47.mdl", CSW_AK47, "http://perfectcs.ml/P/bg.jpg"},
  390. {1 ,"AWP | Default", "models/NextLvL/Default/v_awp.mdl", CSW_AWP, "http://perfectcs.ml/P/bg.jpg"},
  391. {2 ,"DEAGLE | Default", "models/NextLvL/Default/v_deagle.mdl", CSW_DEAGLE, "http://perfectcs.ml/P/bg.jpg"},
  392. {3 ,"FAMAS | Default", "models/NextLvL/Default/v_famas.mdl", CSW_FAMAS, "http://perfectcs.ml/P/bg.jpg"},
  393. {4 ,"M4A1 | Default", "models/NextLvL/Default/v_m4a1.mdl", CSW_M4A1, "http://perfectcs.ml/P/bg.jpg"},
  394. {5 ,"MP5 | Default", "models/NextLvL/Default/v_mp5.mdl", CSW_MP5NAVY, "http://perfectcs.ml/P/bg.jpg"},
  395. {6 ,"SCOUT | Default", "models/NextLvL/Default/v_scout.mdl", CSW_SCOUT, "http://perfectcs.ml/P/bg.jpg"},
  396. {7 ,"KÉS | Default", "models/NextLvL/Default/v_knife.mdl", CSW_KNIFE, "http://perfectcs.ml/P/bg.jpg"},
  397. //First
  398. {8 ,"AK47 | Aquamarine Revenge", "models/NextLvL/Serias_0/AK47/AquamarineRevenge.mdl", CSW_AK47, "http://perfectcs.ml/P/8.jpg"},
  399. {9 ,"AK47 | Astronaut", "models/NextLvL/Serias_0/AK47/Astronaut.mdl", CSW_AK47, "http://perfectcs.ml/P/9.jpg"},
  400. {10 ,"AK47 | Bloodsport", "models/NextLvL/Serias_0/AK47/Bloodsport.mdl", CSW_AK47, "http://perfectcs.ml/P/10.jpg"},
  401. {11 ,"AK47 | Demolition Derby", "models/NextLvL/Serias_0/AK47/DemolitionDerby.mdl", CSW_AK47, "http://perfectcs.ml/P/11.jpg"},
  402. {12 ,"AK47 | Horas", "models/NextLvL/Serias_0/AK47/Horas.mdl", CSW_AK47, "http://perfectcs.ml/P/12.jpg"},
  403. {13 ,"AWP | Captain Strike", "models/NextLvL/Serias_0/AWP/CaptainStrike.mdl", CSW_AWP, "http://perfectcs.ml/P/13.jpg"},
  404. {14 ,"AWP | De Jackal", "models/NextLvL/Serias_0/AWP/DeJackal.mdl", CSW_AWP, "http://perfectcs.ml/P/14.jpg"},
  405. {15 ,"AWP | Dragon Lore", "models/NextLvL/Serias_0/AWP/DragonLore.mdl", CSW_AWP, "http://perfectcs.ml/P/15.jpg"},
  406. {16 ,"AWP | Golden Roll", "models/NextLvL/Serias_0/AWP/GoldenRoll.mdl", CSW_AWP, "http://perfectcs.ml/P/16.jpg"},
  407. {17 ,"AWP | Virus", "models/NextLvL/Serias_0/AWP/Virus.mdl", CSW_AWP, "http://perfectcs.ml/P/17.jpg"},
  408.  
  409. {18 ,"DEAGLE | Black Countrains", "models/NextLvL/Serias_0/DEAGLE/BlackCountrains.mdl", CSW_DEAGLE,"http://perfectcs.ml/P/18.jpg"},
  410. {19 ,"DEAGLE | Cyberwanderer Black", "models/NextLvL/Serias_0/DEAGLE/CyberwandererBlack.mdl", CSW_DEAGLE, "http://perfectcs.ml/P/19.jpg"},
  411. {20 ,"DEAGLE | Extreme", "models/NextLvL/Serias_0/DEAGLE/Extreme.mdl", CSW_DEAGLE, "http://perfectcs.ml/P/20.jpg"},
  412. {21 ,"DEAGLE | Graan", "models/NextLvL/Serias_0/DEAGLE/Graan.mdl", CSW_DEAGLE, "http://perfectcs.ml/P/21.jpg"},
  413. {22 ,"DEAGLE | Ice Dragon", "models/NextLvL/Serias_0/DEAGLE/IceDragon.mdl", CSW_DEAGLE, "http://perfectcs.ml/P/22.jpg"},
  414.  
  415. {23 ,"FAMAS | Fade", "models/NextLvL/Serias_0/FAMAS/Fade.mdl", CSW_FAMAS, "http://perfectcs.ml/P/23.jpg"},
  416. {24 ,"FAMAS | Purple Pulse", "models/NextLvL/Serias_0/FAMAS/PurplePulse.mdl", CSW_FAMAS, "http://perfectcs.ml/P/24.jpg"},
  417. {25 ,"FAMAS | Roll Cage", "models/NextLvL/Serias_0/FAMAS/RollCage.mdl", CSW_FAMAS, "http://perfectcs.ml/P/25.jpg"},
  418. {26 ,"FAMAS | Spitfire", "models/NextLvL/Serias_0/FAMAS/Spitfire.mdl", CSW_FAMAS, "http://perfectcs.ml/P/26.jpg"},
  419. {27 ,"FAMAS | Valence", "models/NextLvL/Serias_0/FAMAS/Valence.mdl", CSW_FAMAS, "http://perfectcs.ml/P/27.jpg"},
  420.  
  421. {28 ,"M4A1 | Alliance", "models/NextLvL/Serias_0/M4A1/Alliance.mdl", CSW_M4A1, "http://perfectcs.ml/P/28.jpg"},
  422. {29 ,"M4A1 | Fade", "models/NextLvL/Serias_0/M4A1/Fade.mdl", CSW_M4A1, "http://perfectcs.ml/P/29.jpg"},
  423. {30 ,"M4A1 | Nuclear", "models/NextLvL/Serias_0/M4A1/Nuclear.mdl", CSW_M4A1, "http://perfectcs.ml/P/30.jpg"},
  424. {31 ,"M4A1 | Spiritual", "models/NextLvL/Serias_0/M4A1/Spiritual.mdl", CSW_M4A1, "http://perfectcs.ml/P/31.jpg"},
  425. {32 ,"M4A1 | Wild Style", "models/NextLvL/Serias_0/M4A1/WildStyle.mdl", CSW_M4A1, "http://perfectcs.ml/P/32.jpg"},
  426.  
  427. {33 ,"MP5 | Ares", "models/NextLvL/Serias_0/MP5/Ares.mdl", CSW_MP5NAVY, "http://perfectcs.ml/P/33.jpg"},
  428. {34 ,"MP5 | Golden", "models/NextLvL/Serias_0/MP5/Golden.mdl", CSW_MP5NAVY, "http://perfectcs.ml/P/34.jpg"},
  429. {35 ,"MP5 | Nemesis", "models/NextLvL/Serias_0/MP5/Nemesis.mdl", CSW_MP5NAVY, "http://perfectcs.ml/P/35.jpg"},
  430. {36 ,"MP5 | Spooky", "models/NextLvL/Serias_0/MP5/Spooky.mdl", CSW_MP5NAVY, "http://perfectcs.ml/P/36.jpg"},
  431. {37 ,"MP5 | Water", "models/NextLvL/Serias_0/MP5/Water.mdl", CSW_MP5NAVY, "http://perfectcs.ml/P/37.jpg"},
  432.  
  433. {38 ,"SCOUT | Blood In The Water", "models/NextLvL/Serias_0/SCOUT/BloodInTheWater.mdl", CSW_SCOUT, "http://perfectcs.ml/P/38.jpg"},
  434. {39 ,"SCOUT | Dragon Fire", "models/NextLvL/Serias_0/SCOUT/DragonFire.mdl", CSW_SCOUT, "http://perfectcs.ml/P/39.jpg"},
  435. {40 ,"SCOUT | Fade", "models/NextLvL/Serias_0/SCOUT/Fade.mdl", CSW_SCOUT, "http://perfectcs.ml/P/40.jpg"},
  436. {41 ,"SCOUT | Necropos", "models/NextLvL/Serias_0/SCOUT/Necropos.mdl", CSW_SCOUT, "http://perfectcs.ml/P/41.jpg"},
  437. {42 ,"SCOUT | Wooden", "models/NextLvL/Serias_0/SCOUT/Wooden.mdl", CSW_SCOUT, "http://perfectcs.ml/P/42.jpg"},
  438.  
  439. {43 ,"Bayonet | Autotronic Animation", "models/NextLvL/Serias_0/KNIFE/Bayonet-Autotronic.mdl", CSW_KNIFE, "http://perfectcs.ml/P/43.jpg"},
  440. {44 ,"Butterfly | KnifeBlaze", "models/NextLvL/Serias_0/KNIFE/Butterfly-KnifeBlaze.mdl", CSW_KNIFE, "http://perfectcs.ml/P/44.jpg"},
  441. {45 ,"Filp | BlackPearl", "models/NextLvL/Serias_0/KNIFE/Filp-BlackPearl.mdl", CSW_KNIFE, "http://perfectcs.ml/P/45.jpg"},
  442. {46 ,"Karmabit | Blossoming", "models/NextLvL/Serias_0/KNIFE/Karmabit-Blossoming.mdl", CSW_KNIFE, "http://perfectcs.ml/P/46.jpg"},
  443. {47 ,"M9 Bayonet | Galant", "models/NextLvL/Serias_0/KNIFE/M9-BayonetGalant.mdl", CSW_KNIFE, "http://perfectcs.ml/P/47.jpg"},
  444.  
  445. {48 ,"M9 Bayonet | LuckyestOwner", "models/NextLvL/Serias_0/KNIFE/M9-BayonetLucky.mdl", CSW_KNIFE, "http://perfectcs.ml/P/bg.jpg"}, // 1 a 100000-hez a drop esélye
  446.  
  447. {49 ,"AK47 | BlackIce", "models/NextLvL/Serias_1/ak47.mdl", CSW_AK47, "http://perfectcs.ml/P/49.jpg"},
  448. {50 ,"AWP | BlackIce", "models/NextLvL/Serias_1/awp.mdl", CSW_AWP, "http://perfectcs.ml/P/50.jpg"},
  449. {52 ,"DEAGLE | BlackIce", "models/NextLvL/Serias_1/deagle.mdl", CSW_DEAGLE, "http://perfectcs.ml/P/51.jpg"},
  450. {53 ,"FAMAS | BlackIce", "models/NextLvL/Serias_1/famas.mdl", CSW_FAMAS, "http://perfectcs.ml/P/52.jpg"},
  451. {54 ,"M4A1 | BlackIce", "models/NextLvL/Serias_1/m4a1.mdl", CSW_M4A1, "http://perfectcs.ml/P/53.jpg"},
  452. {55 ,"MP5 | BlackIce", "models/NextLvL/Serias_1/mp5.mdl", CSW_MP5NAVY, "http://perfectcs.ml/P/54.jpg"},
  453. {56 ,"SCOUT | BlackIce", "models/NextLvL/Serias_1/scout.mdl", CSW_SCOUT, "http://perfectcs.ml/P/55.jpg"},
  454. {57 ,"Butterfly | BlackIce", "models/NextLvL/Serias_1/Butterfly.mdl", CSW_KNIFE, "http://perfectcs.ml/P/56.jpg"},
  455. {58 ,"Shadow Daggers | BlackIce", "models/NextLvL/Serias_1/Dagger.mdl", CSW_KNIFE, "http://perfectcs.ml/P/57.jpg"},
  456. {51 ,"Karambit | BlackIce", "models/NextLvL/Serias_1/Karambit.mdl", CSW_KNIFE, "http://perfectcs.ml/P/58.jpg"},
  457. //Itt tudsz hozzáadni skineket, FONTOS mindig csak az aljára adjál hozzá mert különben elcsuszik a mentés!
  458. //A kének amit ott meghivsz azt maximum 100x100px-el lehet!!!
  459. }
  460. public plugin_precache()
  461. {
  462. g_Admins = ArrayCreate(AdminData);
  463. new m_g_Weapon_size = sizeof(g_Weapon);
  464. for(new i;i < m_g_Weapon_size; i++) precache_model(g_Weapon[i][w_model]);
  465. precache_sound("NextLvL/KnifeOpen.wav");
  466. precache_sound("NextLvL/ItemBreak.wav");
  467.  
  468. new m_s_DropCaseChance_size = sizeof(s_DropCaseChance);
  469. for(new i; i < m_s_DropCaseChance_size; i++)
  470. {
  471. s_DropCaseChanceOverAll += s_DropCaseChance[i];
  472. }
  473.  
  474. new m_g_Ranks_sizeof = sizeof(g_Ranks);
  475. for(new i; i < m_g_Ranks_sizeof;i++)
  476. {
  477. if(g_Ranks[i][r_Need] == 0.0)
  478. {
  479. g_Rank_id_Middle = i;
  480. break;
  481. }
  482. }
  483.  
  484. Prefix = Get_ServerPrefix();
  485.  
  486. //Fájlba logolást nem sikerült megoldani, nem fektettem rá hangsúlyt.
  487. get_time("addons/amxmodx/logs/mod/%Y-%m-%d/ItemTransaction.log", Filename_ItemTransaction, 99);
  488. get_time("addons/amxmodx/logs/mod/%Y-%m-%d/Give.log", Filename_Give, 99);
  489. }
  490.  
  491. public plugin_init()
  492. {
  493. register_plugin(PLUGIN, VERSION, AUTHOR);
  494.  
  495. register_impulse(201, "MainMenu");
  496. register_clcmd("weapon_list", "CmdListItem");
  497. register_concmd("weapon_give", "CmdGiveItem", _, "<#User_ID> <Weapon_Id (command: weapon_list)> <Tradable> <IsStattrak / -1 for Random> <Stattrak_Kills> <IsNameTaged> <NameTag> <Damage_Lvl / -1 for Random>");
  498. register_concmd("money_give", "CmdGiveMoney", _, "<#User_ID> <Money Amount>");
  499. register_clcmd("case_list", "CmdListCase");
  500. register_concmd("case_give", "CmdGiveCase", _, "<#User_ID> <Case id> <Case Amount>");
  501. register_concmd("key_give", "CmdGiveKey", _, "<#User_ID> <Key Amount>");
  502. register_concmd("if_give", "CmdGiveInfinityFragment", _, "<#User_ID> <InfinityFragment Amount>");
  503. register_concmd("fd_set_admin", "CmdSetAdmin", _, "<#id> <jog> | <1 Developer> <2 Tulaj> <3 SzuperAdmin> <2 FoAdmin> <1 Admin>");
  504.  
  505. register_clcmd("Nevcedula", "Get_NameTag");
  506. register_clcmd("Mennyiseg", "Get_ShopAmount");
  507.  
  508. register_clcmd("MaxHasznaltsag", "Get_MaxDamage");
  509. register_clcmd("MinHasznaltsag", "Get_MinDamage");
  510. register_clcmd("MaxMennyiseg", "Get_MaxAmount");
  511. register_clcmd("MinMennyiseg", "Get_MinAmount");
  512. register_clcmd("MaxAr", "Get_MaxCost");
  513. register_clcmd("MinAr", "Get_MinCost");
  514. register_clcmd("idmegad", "Get_SearchById");
  515.  
  516. register_clcmd("PiaciAr", "Get_MarketCost");
  517. register_clcmd("PiaciMennyiseg", "Get_MarketAmount");
  518.  
  519. register_event("DeathMsg", "deathM", "a");
  520.  
  521. register_clcmd("say /guns", "WeaponMenu");
  522. register_clcmd("say /fegyo", "WeaponMenu");
  523. register_clcmd("say /fegyver", "WeaponMenu");
  524. register_clcmd("say /rs", "CmdResetScore");
  525. register_clcmd("say_team /rs", "CmdResetScore");
  526.  
  527. register_clcmd("say /top15", "CmdTop15");
  528. register_clcmd("say /rank", "CmdRank");
  529.  
  530. register_clcmd("say", "Hook_Say");
  531. register_clcmd("say_team", "Hook_Say");
  532.  
  533. RegisterHam(Ham_Spawn,"player","PlayerSpawn", 1);
  534. RegisterHam(Ham_Spawn,"player","WeaponMenu", 1);
  535.  
  536. RegisterHam(Ham_Item_Deploy, "weapon_m4a1", "Change_Weapon", 1);
  537. RegisterHam(Ham_Item_Deploy, "weapon_ak47", "Change_Weapon", 1);
  538. RegisterHam(Ham_Item_Deploy, "weapon_awp", "Change_Weapon", 1);
  539. RegisterHam(Ham_Item_Deploy, "weapon_deagle", "Change_Weapon", 1);
  540. RegisterHam(Ham_Item_Deploy, "weapon_knife", "Change_Weapon", 1);
  541. RegisterHam(Ham_Item_Deploy, "weapon_scout", "Change_Weapon", 1);
  542. RegisterHam(Ham_Item_Deploy, "weapon_mp5navy", "Change_Weapon", 1);
  543. RegisterHam(Ham_Item_Deploy, "weapon_famas", "Change_Weapon", 1);
  544. RegisterHam(Ham_Item_Deploy, "weapon_c4", "Change_Weapon", 1);
  545. RegisterHam(Ham_Item_Deploy, "weapon_flashbang", "Change_Weapon", 1);
  546. RegisterHam(Ham_Item_Deploy, "weapon_hegrenade", "Change_Weapon", 1);
  547.  
  548. RegisterHam(Ham_TakeDamage, "player", "PlayerGetHit");
  549. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_m4a1", "Attack_AutomaticGun", 1);
  550. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_ak47", "Attack_AutomaticGun", 1);
  551. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_mp5navy", "Attack_AutomaticGun", 1);
  552. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_famas", "Attack_AutomaticGun", 1);
  553.  
  554. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_awp", "Attack_SingleShotGun", 1);
  555. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_deagle", "Attack_SingleShotGun", 1);
  556. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_scout", "Attack_SingleShotGun", 1);
  557.  
  558. fwd_musiccmd=CreateMultiForward("Toggle", ET_IGNORE, FP_CELL)
  559.  
  560. register_event("HLTV", "NewRoundStart", "a", "1=0", "2=0");
  561.  
  562. set_task(0.1, "OnMapStart",_,_,_,"c");
  563. register_event("30", "OnMapEnd", "a");
  564. register_clcmd("amx_map", "MapChangeByClient"); // forward to OnMapEnd if client have 'f' flag!
  565. //register_concmd("map", "OnMapEnd"); EZ ITT EGY HIBALEHETŐSÉG, ha 'map' commanddal váltasz pályát akkor nem ment a piac!
  566. register_concmd("amx_map", "OnMapEnd");
  567.  
  568. set_task(0.1, "Check",_,_,_,"b");
  569.  
  570. g_Maxplayers = get_maxplayers();
  571. g_Products = ArrayCreate(product_Properties);
  572. }
  573.  
  574. public MapChangeByClient(id)
  575. {
  576. new Arg1[32];
  577. read_argv(1, Arg1, charsmax(Arg1));
  578.  
  579. if((get_user_flags(id) & ADMIN_MAP) && equali(Arg1, "de_dust2"))
  580. {
  581. OnMapEnd();
  582. return PLUGIN_CONTINUE;
  583. }
  584. else
  585. {
  586. if((get_user_flags(id) & ADMIN_MAP))
  587. client_print(id, print_console, "Ez egy Only de_dust2, tiszta'ba vagy vele?");
  588. return PLUGIN_HANDLED;
  589. }
  590. }
  591.  
  592. new g_IsStarted = 0;
  593. public OnMapStart()
  594. {
  595. if(g_IsStarted != 0)
  596. return;
  597.  
  598. server_print(" ");
  599. server_print("[DEBUG] The map ready and Data load form SQL is started!");
  600. server_print(" ");
  601. Load_Data_15("NextLvL_Player_Stats", "TablaAdatValasztas15_PlayerStats");
  602. Load_Data_Market("NextLvL_g_Products", "TablaAdatValasztas_gProducts");
  603. g_IsStarted++;
  604. }
  605. new g_IsEnded = 0;
  606. public OnMapEnd()
  607. {
  608. if(g_IsEnded != 0)
  609. return;
  610.  
  611. server_print(" ");
  612. server_print("[DEBUG] The map will change and Data save into SQL is started!");
  613. server_print(" ");
  614. Update_g_Products();
  615. g_IsEnded++;
  616. }
  617.  
  618. public plugin_natives()
  619. {
  620. register_native("Settings_Get_RoundEndSoundPlay","native_Settings_Get_RoundEndSoundPlay",1)
  621. register_native("Settings_Get_SoundPlay","native_Settings_Get_SoundPlay",1)
  622. }
  623. public native_Settings_Get_RoundEndSoundPlay(id)
  624. {
  625. if(!(ska_is_user_logged(id)))
  626. return -1;
  627.  
  628. if(s_Player[id][RoundEndSoundPlay])
  629. return 1;
  630. else
  631. return 0;
  632. }
  633. public native_Settings_Get_SoundPlay(id)
  634. {
  635. if(!(ska_is_user_logged(id)))
  636. return -1;
  637.  
  638. if(s_Player[id][SoundPlay])
  639. return 1;
  640. else
  641. return 0;
  642. }
  643.  
  644. public Attack_AutomaticGun(ent)
  645. {
  646. static id; id = pev(ent, 18);
  647.  
  648. Player_Stats[id][AllShotCount]++;
  649.  
  650. new m_InHandWepInvSlot = s_Player[id][InHandWepInvSlot];
  651.  
  652. switch(m_InHandWepInvSlot)
  653. {
  654. case -1:
  655. return HAM_IGNORED;
  656. }
  657.  
  658. if(Inventory[id][m_InHandWepInvSlot][w_Damage_Level] == 101)
  659. return HAM_IGNORED;
  660.  
  661. Inventory[id][m_InHandWepInvSlot][w_AttackCount]++;
  662.  
  663. if(Inventory[id][m_InHandWepInvSlot][w_AttackCount] >= WeaponWorstByAttacks_AutomaticGun)
  664. {
  665. Inventory[id][m_InHandWepInvSlot][w_AttackCount] = 0;
  666. Inventory[id][m_InHandWepInvSlot][w_Damage_Level] -= 1;
  667. if(Inventory[id][m_InHandWepInvSlot][w_Damage_Level] <= 0)
  668. {
  669. WeaponBreak(id, m_InHandWepInvSlot);
  670. }
  671. }
  672. return HAM_IGNORED;
  673. }
  674.  
  675. public Attack_SingleShotGun(ent)
  676. {
  677. static id; id = pev(ent, 18);
  678.  
  679. Player_Stats[id][AllShotCount]++;
  680.  
  681. new m_InHandWepInvSlot = s_Player[id][InHandWepInvSlot];
  682.  
  683. switch(m_InHandWepInvSlot)
  684. {
  685. case -1:
  686. return HAM_IGNORED;
  687. }
  688.  
  689. if(Inventory[id][m_InHandWepInvSlot][w_Damage_Level] == 101)
  690. return HAM_IGNORED;
  691.  
  692. Inventory[id][m_InHandWepInvSlot][w_AttackCount]++;
  693.  
  694. if(Inventory[id][m_InHandWepInvSlot][w_AttackCount] >= WeaponWorstByAttacks_SingleShotGun)
  695. {
  696. Inventory[id][m_InHandWepInvSlot][w_AttackCount] = 0;
  697. Inventory[id][m_InHandWepInvSlot][w_Damage_Level] -= 1;
  698. if(Inventory[id][m_InHandWepInvSlot][w_Damage_Level] <= 0)
  699. {
  700. WeaponBreak(id, m_InHandWepInvSlot);
  701. }
  702. }
  703. return HAM_IGNORED;
  704. }
  705.  
  706. public PlayerGetHit(victim, inflictor, attacker, Float:damage, bits)
  707. {
  708. if(!(bits & DMG_BULLET))
  709. return HAM_IGNORED;
  710.  
  711. if(get_user_weapon(attacker) == 29)
  712. {
  713. new m_InHandWepInvSlot = s_Player[attacker][InHandWepInvSlot];
  714.  
  715. if(m_InHandWepInvSlot == -1 || Inventory[attacker][m_InHandWepInvSlot][w_Damage_Level] == 101)
  716. return HAM_IGNORED;
  717.  
  718. Inventory[attacker][m_InHandWepInvSlot][w_AttackCount]++;
  719. if(Inventory[attacker][m_InHandWepInvSlot][w_AttackCount] >= WeaponWorstByHitsNWepChange_Melee)
  720. {
  721. Inventory[attacker][m_InHandWepInvSlot][w_AttackCount] = 0;
  722. Inventory[attacker][m_InHandWepInvSlot][w_Damage_Level] -= 1;
  723. if(Inventory[attacker][m_InHandWepInvSlot][w_Damage_Level] <= 0)
  724. {
  725. WeaponBreak(attacker, m_InHandWepInvSlot);
  726. }
  727. }
  728. return HAM_IGNORED;
  729. }
  730.  
  731. Player_Stats[attacker][AllHitCount]++;
  732. return HAM_IGNORED;
  733. }
  734.  
  735. public PlayerSpawn(id)
  736. {
  737. if(!is_user_alive(id))
  738. return;
  739.  
  740. new m_HaveBomb = 0;
  741. if(user_has_weapon(id, CSW_C4))
  742. m_HaveBomb = 1;
  743.  
  744. strip_user_weapons(id);
  745. s_Player[id][InHandWepInvSlot] = -1;
  746. if(m_HaveBomb)
  747. give_item(id, "weapon_c4");
  748.  
  749. s_Player[id][WeaponBuyInRound] = 0;
  750. SetUserRank(id);
  751. }
  752.  
  753. public WeaponMenu(id)
  754. {
  755. if(!is_user_alive(id))
  756. {
  757. client_print_color(id, print_team_default, "^4%s ^1Halottként nem tudsz fegyvert venni!", Prefix);
  758. return;
  759. }
  760. else if(s_Player[id][WeaponBuyInRound])
  761. {
  762. client_print_color(id, print_team_default, "^4%s ^1Ebben a körben már választottál fegyvert!", Prefix);
  763. return;
  764. }
  765.  
  766. formatex(String, charsmax(String), "\r%s \y» \wFegyvermenü", Prefix);
  767. new menu = menu_create(String , "WeaponMenu_h");
  768.  
  769. formatex(String, charsmax(String), "\r[\w*~\y%s\w~*\r]", g_Weapon[Inventory[id][Equipmented[id][M4A1]][w_id]][w_name]);
  770. menu_additem(menu, String, "1", 0);
  771.  
  772. formatex(String, charsmax(String), "\r[\w*~\y%s\w~*\r]", g_Weapon[Inventory[id][Equipmented[id][AK47]][w_id]][w_name]);
  773. menu_additem(menu, String, "2", 0);
  774.  
  775. formatex(String, charsmax(String), "\r[\w*~\y%s\w~*\r] \wCsapatonként 2 ember", g_Weapon[Inventory[id][Equipmented[id][AWP]][w_id]][w_name]);
  776. menu_additem(menu, String, "3", 0);
  777.  
  778. formatex(String, charsmax(String), "\r[\w*~\y%s\w~*\r]", g_Weapon[Inventory[id][Equipmented[id][FAMAS]][w_id]][w_name]);
  779. menu_additem(menu, String, "4", 0);
  780.  
  781. formatex(String, charsmax(String), "\r[\w*~\y%s\w~*\r]", g_Weapon[Inventory[id][Equipmented[id][MP5]][w_id]][w_name]);
  782. menu_additem(menu, String, "5", 0);
  783.  
  784. formatex(String, charsmax(String), "\r[\w*~\y%s\w~*\r]", g_Weapon[Inventory[id][Equipmented[id][SCOUT]][w_id]][w_name]);
  785. menu_additem(menu, String, "6", 0);
  786.  
  787.  
  788.  
  789. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  790. menu_display(id, menu);
  791. }
  792.  
  793. public WeaponMenu_h(id, menu, item)
  794. {
  795. if(!is_user_alive(id))
  796. {
  797. client_print_color(id, print_team_default, "^4%s ^1Halottként nem tudsz fegyvert venni!", Prefix);
  798. menu_destroy(menu);
  799. return;
  800. }
  801. if(item == MENU_EXIT)
  802. {
  803. menu_destroy(menu);
  804. return;
  805. }
  806. new data[6], szName[64];
  807. new access, callback;
  808. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  809. new key = str_to_num(data);
  810.  
  811. new m_Added = 1;
  812.  
  813. new m_HaveBomb = 0;
  814. if(user_has_weapon(id, CSW_C4))
  815. m_HaveBomb = 1;
  816.  
  817. new m_Team[10];
  818. get_user_team(id, m_Team, 10);
  819.  
  820. strip_user_weapons(id);
  821. switch(key)
  822. {
  823. case 1:
  824. {
  825. give_item(id, "weapon_m4a1");
  826. give_item(id, "ammo_556nato");
  827. give_item(id, "ammo_556nato");
  828. give_item(id, "ammo_556nato");
  829. }
  830. case 2:
  831. {
  832. give_item(id, "weapon_ak47");
  833. give_item(id, "ammo_762nato");
  834. give_item(id, "ammo_762nato");
  835. give_item(id, "ammo_762nato");
  836. }
  837. case 3:
  838. {
  839. if((((contain(m_Team, "TERRORIST") == 0) && g_Awps[T] <= 2) || ((contain(m_Team, "CT") == 0) && g_Awps[CT] <= 2)) && g_AwpCanAdd)
  840. {
  841. if(contain(m_Team, "CT") == 0)
  842. {
  843. g_Awps[CT]++;
  844. }
  845. else
  846. {
  847. g_Awps[T]++;
  848. }
  849. give_item(id, "weapon_awp");
  850. give_item(id, "ammo_338magnum");
  851. give_item(id, "ammo_338magnum");
  852. give_item(id, "ammo_338magnum");
  853. }
  854. else
  855. {
  856. m_Added = 0;
  857. if((contain(m_Team, "TERRORIST") == 0 && g_Awps[T] <= 2) || (contain(m_Team, "CT") == 0 && g_Awps[CT] <= 2))
  858. client_print_color(id, print_team_default, "^4%s ^1Nincs meg/kör elején nem volt meg a 4v4 az AWP-hez!", Prefix);
  859. else
  860. client_print_color(id, print_team_default, "^4%s ^1A csapatodban már ki lett osztva a 2 AWP!", Prefix);
  861.  
  862. WeaponMenu(id);
  863. }
  864. }
  865. case 4:
  866. {
  867. give_item(id, "weapon_famas");
  868. give_item(id, "ammo_556nato");
  869. give_item(id, "ammo_556nato");
  870. give_item(id, "ammo_556nato");
  871. }
  872. case 5:
  873. {
  874. give_item(id, "weapon_mp5navy");
  875. give_item(id, "ammo_9mm");
  876. give_item(id, "ammo_9mm");
  877. give_item(id, "ammo_9mm");
  878. }
  879. case 6:
  880. {
  881. give_item(id, "weapon_scout");
  882. give_item(id, "ammo_762nato");
  883. give_item(id, "ammo_762nato");
  884. give_item(id, "ammo_762nato");
  885. }
  886. }
  887.  
  888. if(m_HaveBomb)
  889. {
  890. give_item(id, "weapon_c4");
  891. cs_set_user_plant(id);
  892. }
  893.  
  894. if(m_Added)
  895. {
  896.  
  897. if(contain(m_Team, "CT") == 0)
  898. {
  899. give_item(id, "item_thighpack");
  900. cs_set_user_defuse(id);
  901. }
  902.  
  903. give_item(id, "item_kevlar");
  904. set_user_armor(id, 100);
  905. give_item(id, "weapon_hegrenade");
  906. give_item(id, "weapon_flashbang");
  907. give_item(id, "weapon_flashbang");
  908. give_item(id, "weapon_deagle");
  909. give_item(id, "ammo_50ae");
  910. give_item(id, "ammo_50ae");
  911. give_item(id, "ammo_50ae");
  912. give_item(id, "weapon_knife");
  913. s_Player[id][WeaponBuyInRound] = 1;
  914. }
  915.  
  916. menu_destroy(menu);
  917. }
  918.  
  919.  
  920. public SetUserRank(id)
  921. {
  922. if(!(s_Player[id][Ranking]))
  923. {
  924. s_Player[id][RankPrefix] = "";
  925. return;
  926. }
  927.  
  928. new Float:m_RankPoint = s_Player[id][RankPoint];
  929. new Float:OldRank = 0.0;
  930. new Float:NowRank = 0.0;
  931.  
  932. new m_g_Ranks_sizeof = sizeof(g_Ranks);
  933. new m_StartFrom = g_Rank_id_Middle;
  934. if(m_RankPoint > 0.0 && m_RankPoint <= g_Ranks[m_g_Ranks_sizeof - 1][r_Need])
  935. {
  936. NowRank = g_Ranks[m_StartFrom][r_Need];
  937. for(new i = m_StartFrom;i < m_g_Ranks_sizeof;i++)
  938. {
  939. OldRank = NowRank;
  940. NowRank = g_Ranks[i+1][r_Need];
  941. if(OldRank <= m_RankPoint < NowRank)
  942. {
  943. copy(s_Player[id][RankPrefix], 31, g_Ranks[i][r_Name]);
  944. return;
  945. }
  946. }
  947. }
  948. else if(m_RankPoint >= g_Ranks[m_g_Ranks_sizeof - 1][r_Need])
  949. {
  950. copy(s_Player[id][RankPrefix], 31, g_Ranks[m_g_Ranks_sizeof - 1][r_Name]);
  951. return;
  952. }
  953.  
  954. if(m_RankPoint == 0.0)
  955. {
  956. copy(s_Player[id][RankPrefix], 31, g_Ranks[g_Rank_id_Middle][r_Name]);
  957. return;
  958. }
  959.  
  960. m_RankPoint = floatabs(m_RankPoint); //-1000 >> 1000
  961.  
  962. if(m_RankPoint > 0.0 && m_RankPoint <= floatabs(g_Ranks[0][r_Need]))
  963. {
  964. NowRank = floatabs(g_Ranks[0][r_Need]);
  965. for(new i = 0;i < g_Rank_id_Middle + 1 ;i++)
  966. {
  967. OldRank = NowRank;
  968. NowRank = floatabs(g_Ranks[i+1][r_Need]);
  969. if(OldRank > m_RankPoint >= NowRank)
  970. {
  971. copy(s_Player[id][RankPrefix], 31, g_Ranks[i+1][r_Name]);
  972. return;
  973. }
  974. }
  975. }
  976. else
  977. {
  978. copy(s_Player[id][RankPrefix], 31, g_Ranks[0][r_Name]);
  979. return;
  980. }
  981. }
  982.  
  983. public NewRoundStart()
  984. {
  985. g_Awps[T] = 0;
  986. g_Awps[CT] = 0;
  987.  
  988. new Players[32], iNum;
  989. new any:m_Team;
  990. new t_num = 0;
  991. new ct_num = 0;
  992. get_players(Players, iNum, "ch");
  993. new Player;
  994. for (new i=0; i<iNum; i++)
  995. {
  996. Player = Players[i];
  997. if(ska_is_user_logged(Player))
  998. {
  999. Update_Player_Stats(Player);
  1000. SetUserRank(Player);
  1001. }
  1002.  
  1003. m_Team = cs_get_user_team(Player);
  1004. switch(m_Team)
  1005. {
  1006. case CS_TEAM_CT:
  1007. {
  1008. ct_num++;
  1009. }
  1010. case CS_TEAM_T:
  1011. {
  1012. t_num++;
  1013. }
  1014. }
  1015. }
  1016. if(t_num >= 4 && ct_num >= 4)
  1017. g_AwpCanAdd = 1;
  1018. else
  1019. g_AwpCanAdd = 0;
  1020. g_PlayingPlayers = ct_num + t_num;
  1021.  
  1022. Load_Data_15("NextLvL_Player_Stats", "TablaAdatValasztas15_PlayerStats");
  1023. }
  1024.  
  1025. public Change_Weapon(iEnt)
  1026. {
  1027. if(!pev_valid(iEnt))
  1028. return;
  1029.  
  1030. new id = get_pdata_cbase(iEnt, 41, 4);
  1031.  
  1032. if(s_Player[id][SkinDisplay] == 0)
  1033. {
  1034. s_Player[id][InHandWepInvSlot] = -1;
  1035. return;
  1036. }
  1037.  
  1038. if(!pev_valid(id))
  1039. return;
  1040.  
  1041. //if(!Gun[id])
  1042. //return;
  1043.  
  1044. new iWeapon = cs_get_weapon_id(iEnt);
  1045. new m_Equipmented = -1;
  1046. switch(iWeapon)
  1047. {
  1048. case CSW_AK47:
  1049. {
  1050. m_Equipmented = Equipmented[id][AK47];
  1051. if(Inventory[id][m_Equipmented][w_Equiped] == 1)
  1052. {
  1053. entity_set_string(id, EV_SZ_viewmodel, g_Weapon[Inventory[id][m_Equipmented][w_id]][w_model]);
  1054. s_Player[id][InHandWepInvSlot] = m_Equipmented;
  1055. }
  1056. }
  1057. case CSW_M4A1:
  1058. {
  1059. m_Equipmented = Equipmented[id][M4A1];
  1060. if(Inventory[id][m_Equipmented][w_Equiped] == 1)
  1061. {
  1062. entity_set_string(id, EV_SZ_viewmodel, g_Weapon[Inventory[id][m_Equipmented][w_id]][w_model]);
  1063. s_Player[id][InHandWepInvSlot] = m_Equipmented;
  1064. }
  1065. }
  1066. case CSW_AWP:
  1067. {
  1068. m_Equipmented = Equipmented[id][AWP];
  1069. if(Inventory[id][m_Equipmented][w_Equiped] == 1)
  1070. {
  1071. entity_set_string(id, EV_SZ_viewmodel, g_Weapon[Inventory[id][m_Equipmented][w_id]][w_model]);
  1072. s_Player[id][InHandWepInvSlot] = m_Equipmented;
  1073. }
  1074. }
  1075. case CSW_DEAGLE:
  1076. {
  1077. m_Equipmented = Equipmented[id][DEAGLE];
  1078. if(Inventory[id][m_Equipmented][w_Equiped] == 1)
  1079. {
  1080. entity_set_string(id, EV_SZ_viewmodel, g_Weapon[Inventory[id][m_Equipmented][w_id]][w_model]);
  1081. s_Player[id][InHandWepInvSlot] = m_Equipmented;
  1082. }
  1083. }
  1084. case CSW_KNIFE:
  1085. {
  1086. m_Equipmented = Equipmented[id][KNIFE];
  1087. if(Inventory[id][m_Equipmented][w_Equiped] == 1)
  1088. {
  1089. entity_set_string(id, EV_SZ_viewmodel, g_Weapon[Inventory[id][m_Equipmented][w_id]][w_model]);
  1090. s_Player[id][InHandWepInvSlot] = m_Equipmented;
  1091.  
  1092. new m_InHandWepInvSlot = s_Player[id][InHandWepInvSlot];
  1093. if(Inventory[id][m_InHandWepInvSlot][w_Damage_Level] != 101)
  1094. {
  1095. Inventory[id][m_InHandWepInvSlot][w_AttackCount]++;
  1096. if(Inventory[id][m_InHandWepInvSlot][w_AttackCount] >= WeaponWorstByHitsNWepChange_Melee)
  1097. {
  1098. Inventory[id][m_InHandWepInvSlot][w_AttackCount] = 0;
  1099. Inventory[id][m_InHandWepInvSlot][w_Damage_Level] -= 1;
  1100. if(Inventory[id][m_InHandWepInvSlot][w_Damage_Level] <= 0)
  1101. {
  1102. WeaponBreak(id, m_InHandWepInvSlot);
  1103. }
  1104. }
  1105. }
  1106. }
  1107. }
  1108. case CSW_FAMAS:
  1109. {
  1110. m_Equipmented = Equipmented[id][FAMAS];
  1111. if(Inventory[id][m_Equipmented][w_Equiped] == 1)
  1112. {
  1113. entity_set_string(id, EV_SZ_viewmodel, g_Weapon[Inventory[id][m_Equipmented][w_id]][w_model]);
  1114. s_Player[id][InHandWepInvSlot] = m_Equipmented;
  1115. }
  1116.  
  1117. }
  1118. case CSW_MP5NAVY:
  1119. {
  1120. m_Equipmented = Equipmented[id][MP5];
  1121. if(Inventory[id][m_Equipmented][w_Equiped] == 1)
  1122. {
  1123. entity_set_string(id, EV_SZ_viewmodel, g_Weapon[Inventory[id][m_Equipmented][w_id]][w_model]);
  1124. s_Player[id][InHandWepInvSlot] = m_Equipmented;
  1125. }
  1126.  
  1127. }
  1128. case CSW_SCOUT:
  1129. {
  1130. m_Equipmented = Equipmented[id][SCOUT];
  1131. if(Inventory[id][m_Equipmented][w_Equiped] == 1)
  1132. {
  1133. entity_set_string(id, EV_SZ_viewmodel, g_Weapon[Inventory[id][m_Equipmented][w_id]][w_model]);
  1134. s_Player[id][InHandWepInvSlot] = m_Equipmented;
  1135. }
  1136.  
  1137. }
  1138. default:
  1139. {
  1140. s_Player[id][InHandWepInvSlot] = -1;
  1141. }
  1142. }
  1143. }
  1144.  
  1145. public Hook_Say(id)
  1146. {
  1147. if(!ska_is_user_logged(id))
  1148. {
  1149. client_print_color(id, print_team_default, "^4%s ^1Nem tudsz írni ameddig nem jelentkezel be!", Prefix);
  1150. return PLUGIN_HANDLED;
  1151. }
  1152.  
  1153. new Message[512], Status[16], Num[5];
  1154.  
  1155. read_args(Message, charsmax(Message));
  1156. remove_quotes(Message);
  1157.  
  1158. new Message_Size = strlen(Message);
  1159. for(new i; i < Message_Size; i++){
  1160. if(Message[i] == '.')
  1161. Num[0] ++;
  1162.  
  1163. if(Message[i] == ':')
  1164. Num[1] ++;
  1165.  
  1166. if(Message[i] == '1' || Message[i] == '2' || Message[i] == '3' || Message[i] == '4' || Message[i] == '5'
  1167. || Message[i] == '6' || Message[i] == '7' || Message[i] == '8' || Message[i] == '9' || Message[i] == '0')
  1168. Num[2] ++;
  1169.  
  1170. if(Message[i] == 'w')
  1171. Num[3] ++;
  1172. }
  1173.  
  1174. if((contain(Message, "www.") != -1)
  1175. || (contain(Message, "http://") != -1)
  1176. || (contain(Message, "https://") != -1)
  1177. || (contain(Message, ".io") != -1)
  1178. || (contain(Message, ".tsdns.") != -1)
  1179. || (contain(Message, "ts3.run") != -1)
  1180. || (contain(Message, ".com") != -1)
  1181. || (contain(Message, ".ro") != -1)
  1182. || (contain(Message, ".hu") != -1))
  1183. Num[4] = 1;
  1184.  
  1185. if((Num[0] >= 3 && Num[1] >= 1 && Num[2] >= 8) || (Num[3] >= 3) || Num[4]){
  1186. client_print_color(id, print_team_default, "^4%s ^1 Tilos a hirdetés!", Prefix);
  1187. return PLUGIN_HANDLED;
  1188. }
  1189.  
  1190. if(Message[0] == '@' || equal (Message, "") || Message[0] == '/')
  1191. return PLUGIN_HANDLED;
  1192.  
  1193. if(!is_user_alive(id))
  1194. Status = "*Halott* ";
  1195.  
  1196. new len;
  1197.  
  1198. len += formatex(String[len], charsmax(String)-len, "^1%s", Status);
  1199.  
  1200. if(s_AdminLevel[id] > 0 && s_Player[id][SilentAdminMod] == 0)
  1201. len += formatex(String[len], charsmax(String)-len, "^4[%s]", Admin_Permissions[s_AdminLevel[id]][0]);
  1202.  
  1203. if(!equali(s_Player[id][RankPrefix], ""))
  1204. len += formatex(String[len], charsmax(String)-len, "^4[%s]", s_Player[id][RankPrefix]);
  1205.  
  1206. if(s_AdminLevel[id] > 0 && s_Player[id][SilentAdminMod] == 0)
  1207. len += formatex(String[len], charsmax(String)-len, "^3%s:^4", Player_Stats[id][Name]);
  1208. else
  1209. len += formatex(String[len], charsmax(String)-len, "^3%s:^1", Player_Stats[id][Name]);
  1210.  
  1211. format(Message, charsmax(Message), "%s %s", String, Message);
  1212.  
  1213. for(new i; i < g_Maxplayers; i++)
  1214. {
  1215. if(!is_user_connected(i))
  1216. continue;
  1217.  
  1218. if(cs_get_user_team(id) == CS_TEAM_CT)
  1219. client_print_color(i, id, Message);
  1220. else if(cs_get_user_team(id) == CS_TEAM_T)
  1221. client_print_color(i, id, Message);
  1222. else
  1223. client_print_color(i, id, Message);
  1224. }
  1225.  
  1226. return PLUGIN_HANDLED;
  1227. }
  1228.  
  1229. new Killer, Victim, HsKiller;
  1230.  
  1231. public deathM()
  1232. {
  1233. Killer = read_data(1);
  1234. Victim = read_data(2);
  1235. HsKiller = read_data(3);
  1236.  
  1237. if(Killer == Victim)
  1238. {
  1239. Player_Stats[Victim][Deaths]++;
  1240. s_Player[Victim][RankPoint] += -2.0;
  1241. return PLUGIN_HANDLED;
  1242. }
  1243.  
  1244. new m_InHandWepInvSlot = s_Player[Killer][InHandWepInvSlot];
  1245. if(m_InHandWepInvSlot != -1 && Inventory[Killer][m_InHandWepInvSlot][w_Is_Stattrak])
  1246. {
  1247. Inventory[Killer][m_InHandWepInvSlot][w_Stattrak_Kills]++;
  1248. }
  1249.  
  1250. Player_Stats[Killer][Kills]++;
  1251. Player_Stats[Victim][Deaths]++;
  1252. s_Player[Victim][RankPoint] += -1.0;
  1253.  
  1254. s_Player[Killer][RankPoint] += 1.0;
  1255. if(HsKiller)
  1256. {
  1257. s_Player[Killer][RankPoint] += 0.2;
  1258. Player_Stats[Killer][HSs]++;
  1259. }
  1260.  
  1261. RandomReward(Killer, 20, 10, 10);
  1262.  
  1263. client_print_color(Victim, print_team_default, "^4%s ^1A gyilkosodnak ^4%i ^1HP-ja maradt!", Prefix, get_user_health(Killer));
  1264. return PLUGIN_CONTINUE;
  1265. }
  1266.  
  1267. public HudX(id)
  1268. {
  1269. new m_Index;
  1270. if(is_user_alive(id))
  1271. m_Index = id;
  1272. else
  1273. m_Index = entity_get_int(id, EV_INT_iuser2);
  1274.  
  1275. if (!ska_is_user_logged(m_Index))
  1276. return;
  1277. if(s_Player[id][HudDisplayPlayerInfo] == 1)
  1278. {
  1279. new i_Seconds, i_Minutes, i_Hours, i_Days;
  1280. i_Seconds = s_Player[m_Index][PlayTime] + get_user_time(m_Index);
  1281. i_Minutes = i_Seconds / 60;
  1282. i_Hours = i_Minutes / 60;
  1283. i_Seconds = i_Seconds - i_Minutes * 60;
  1284. i_Minutes = i_Minutes - i_Hours * 60;
  1285. i_Days = i_Hours / 24;
  1286. i_Hours = i_Hours - (i_Days * 24);
  1287.  
  1288. set_hudmessage(255, 255, 255, 0.01, 0.15, 0, 6.0, 0.2, 0.0, 0.0, -1);
  1289. formatex(String, 511, "Név: %s(#%i)!^n[ Dollár: %.2f$ ]^n[ Ölés: %i | HS: %i ]^n[ Halál: %i ]^n[ RangPont: %.3f ]^n[ Játszott idő: %i Nap %i Óra %i Perc ]", Player_Stats[m_Index][Name], ska_get_user_id(m_Index), s_Player[m_Index][Euro], Player_Stats[m_Index][Kills], Player_Stats[m_Index][HSs], Player_Stats[m_Index][Deaths], s_Player[m_Index][RankPoint], i_Days, i_Hours, i_Minutes);
  1290. replace_all(String, 511, ".", ",");
  1291. show_hudmessage(id, String);
  1292. }
  1293.  
  1294. new m_InHandWepInvSlot = s_Player[m_Index][InHandWepInvSlot];
  1295. if(m_InHandWepInvSlot == -1)
  1296. return;
  1297.  
  1298. if(s_Player[id][HudDisplayWeaponInfo] == 1)
  1299. {
  1300. new Len;
  1301. if(Inventory[m_Index][m_InHandWepInvSlot][w_Is_NameTaged] == 1)
  1302. Len += formatex(StringHud[Len], charsmax(StringHud)-Len, "^"%s^"", Inventory[m_Index][m_InHandWepInvSlot][w_NameTag]);
  1303. else
  1304. Len += formatex(StringHud[Len], charsmax(StringHud)-Len, "%s", g_Weapon[Inventory[m_Index][m_InHandWepInvSlot][w_id]][w_name]);
  1305.  
  1306. if(Inventory[m_Index][m_InHandWepInvSlot][w_Is_Stattrak] == 1)
  1307. Len += formatex(StringHud[Len], charsmax(StringHud)-Len, " | Ölések:%i", Inventory[m_Index][m_InHandWepInvSlot][w_Stattrak_Kills]);
  1308.  
  1309. if(m_InHandWepInvSlot > 7)
  1310. {
  1311. new m_w_Damage_Level = Inventory[m_Index][m_InHandWepInvSlot][w_Damage_Level];
  1312. formatex(StringHud[Len], charsmax(StringHud)-Len, "^nHasználtság: %i%s",m_w_Damage_Level , "%");
  1313. if(m_w_Damage_Level == 101)
  1314. {
  1315. set_hudmessage(255, 200, 0, -1.0, 0.72, 0, 0.0, 0.2, 0.0, 0.0, -1);
  1316. formatex(StringHud[Len], charsmax(StringHud)-Len, "^nTörhetetlen");
  1317. }
  1318. else if(containi(Inventory[m_Index][m_InHandWepInvSlot][w_NameTag], "[R6S]") != -1)
  1319. {
  1320. set_hudmessage(random(255), random(255), random(255), -1.0, 0.72, 0, 0.0, 0.12, 0.0, 0.0, -1);
  1321. }
  1322. else if(m_w_Damage_Level > 10)
  1323. {
  1324. set_hudmessage(255, 255, 255, -1.0, 0.72, 0, 0.0, 0.2, 0.0, 0.0, -1);
  1325. }
  1326. else
  1327. {
  1328. set_hudmessage(255, 0, 0, -1.0, 0.72, 0, 0.0, 0.2, 0.0, 0.0, -1);
  1329. }
  1330. }
  1331. else if(containi(Inventory[m_Index][m_InHandWepInvSlot][w_NameTag], "[R6S]") != -1)
  1332. {
  1333. set_hudmessage(random(255), random(255), random(255), -1.0, 0.72, 0, 0.0, 0.12, 0.0, 0.0, -1);
  1334. }
  1335. else
  1336. {
  1337. set_hudmessage(255, 255, 255, -1.0, 0.72, 0, 0.0, 0.2, 0.0, 0.0, -1);
  1338. }
  1339. show_hudmessage(id, StringHud);
  1340. }
  1341. }
  1342.  
  1343. public Check()
  1344. {
  1345. new p[32],n;
  1346. get_players(p,n,"ch");
  1347. for(new i=0;i<n;i++)
  1348. {
  1349. new id = p[i];
  1350. HudX(id);
  1351. }
  1352. }
  1353.  
  1354. public OpenCase(id, case_id)
  1355. {
  1356. new Float:OverAll = 0.0;
  1357. new Float:ChanceOld = 0.0;
  1358. new Float:ChanceNow = 0.0;
  1359. new OpenedWepID = 0;
  1360. new Float:OpenedWepChance = 0.0;
  1361.  
  1362. for(new i;i < CaseDrops_Openable;i++)
  1363. {
  1364. OverAll += CaseDrops[case_id][i][1];
  1365. }
  1366. new Float:RandomNumber = random_float(0.01,OverAll);
  1367.  
  1368. for(new i = 0; i < CaseDrops_Openable;i++)
  1369. {
  1370. ChanceOld = ChanceNow;
  1371. ChanceNow += CaseDrops[case_id][i][1];
  1372. if(ChanceOld < RandomNumber < ChanceNow)
  1373. {
  1374. InventoryAddNewItem(id, floatround(CaseDrops[case_id][i][0]), 0, "", -1, 0, -1, 1);
  1375. OpenedWepID = floatround(CaseDrops[case_id][i][0]);
  1376. OpenedWepChance = CaseDrops[case_id][i][1];
  1377. s_Player[id][Keys]--;
  1378. Player_Cases[id][case_id]--;
  1379. }
  1380. }
  1381.  
  1382. if(g_Weapon[OpenedWepID][w_type] == CSW_KNIFE)
  1383. {
  1384. client_print_color(0, print_team_default, "^4%s ^3%s ^1Nyitott:^4%s^1-t ebből:^4%s^1 ( Esélye:^4%.3f%s ^1)", Prefix, Player_Stats[id][Name], WeaponText(id, (s_Player[id][InventoryWriteableSize] - 1) ), g_CasesNames[case_id],(OpenedWepChance/(OverAll/100.0)),"%");
  1385. for(new i;i < 33;i++)
  1386. {
  1387. if(s_Player[i][KnifeSoundPlay] == 1)
  1388. client_cmd(i,"spk NextLvL/KnifeOpen");
  1389. }
  1390.  
  1391. }
  1392. else
  1393. {
  1394. client_print_color(id, print_team_default, "^4%s ^1Nyitottál:^4%s^1-t ebből:^4%s^1 ( Esélye:^4%.3f%s ^1)", Prefix, WeaponText(id, (s_Player[id][InventoryWriteableSize] - 1) ), g_CasesNames[case_id],(OpenedWepChance/(OverAll/100.0)),"%");
  1395. }
  1396. }
  1397. public bomb_planted(id)
  1398. {
  1399. if(g_PlayingPlayers >= 3)
  1400. RandomReward(id, 20, 10, 10);
  1401. client_print_color(0, print_team_red, "^4%s ^3%s ^1Élesítette a bombát!",Prefix, Player_Stats[id][Name]);
  1402. }
  1403. public bomb_defused(id)
  1404. {
  1405. if(g_PlayingPlayers >= 3)
  1406. RandomReward(id, 20, 10, 10);
  1407. client_print_color(0, print_team_blue, "^4%s ^3%s ^1Hatástalanította a bombát!",Prefix, Player_Stats[id][Name]);
  1408. }
  1409. public RandomReward(id, Drop_VD, Drop_Case, Drop_Key)
  1410. {
  1411. new len;
  1412. new Float:MoneyReward = random_float(0.20, 0.60);
  1413. s_Player[id][Euro] += MoneyReward;
  1414.  
  1415. len += formatex(String[len], charsmax(String)-len, "Jutalom: ^4%.2f$", MoneyReward);
  1416.  
  1417. new RND = random(Drop_VD);
  1418. if(RND == 0)
  1419. {
  1420. new IFReward = random_num(1,5);
  1421. s_Player[id][InfinityFragment] += IFReward;
  1422. len += formatex(String[len], charsmax(String)-len, "^1 | ^4%iVD", IFReward);
  1423. }
  1424.  
  1425. RND = random(Drop_Key);
  1426. if(RND == 0)
  1427. {
  1428. s_Player[id][Keys]++;
  1429. len += formatex(String[len], charsmax(String)-len, "^1 | ^4Kulcs");
  1430. }
  1431. replace_all(String, 511, ".", ",");
  1432. client_print_color(id, print_team_default, "^4%s ^1%s!", Prefix, String);
  1433.  
  1434. RND = random(100000);
  1435. if(RND == 0)
  1436. {
  1437. if((s_Player[id][InventoryWriteableSize]) < InventoryMAX)
  1438. {
  1439. InventoryAddNewItem(id, 48, 1, "", 0, 0, 100, 0);
  1440. for(new i;i < 4; i++)
  1441. client_print_color(0, print_team_default, "^4%s ^1ATYA ÉG! ^4%s kapott egy kést amire egy a tizezer az esély minden ölésnél!", Prefix);
  1442. }
  1443. else
  1444. {
  1445. client_print_color(0, print_team_default, "^4%s ^1ATYA ÉG! ^4%s KAPOTT VOLNA egy kést amire egy a tizezer az esély minden ölésnél!", Prefix);
  1446. }
  1447. }
  1448.  
  1449. RND = random(Drop_Case);
  1450. if(RND == 0)
  1451. {
  1452. DropCase(id);
  1453. }
  1454. }
  1455.  
  1456. public DropCase(id)
  1457. {
  1458. new Float:Chance = random_float(0.0, s_DropCaseChanceOverAll);
  1459. new Float:ChanceOld = 0.0;
  1460. new Float:ChanceNow = 0.0;
  1461.  
  1462. new m_s_DropCaseChance_size = sizeof(s_DropCaseChance);
  1463. for(new i; i < m_s_DropCaseChance_size; i++)
  1464. {
  1465. ChanceOld = ChanceNow;
  1466. ChanceNow += s_DropCaseChance[i];
  1467. if(ChanceOld < Chance < ChanceNow)
  1468. {
  1469. Player_Cases[id][i]++;
  1470. client_print_color(id, print_team_default, "^4%s ^1Találtál egy: %s! ( Esélye ennek:^4%.2f%s ^1)", Prefix, g_CasesNames[i], (s_DropCaseChance[i]/(s_DropCaseChanceOverAll/100.0)), "%");
  1471. i = m_s_DropCaseChance_size;
  1472. }
  1473. }
  1474. }
  1475.  
  1476.  
  1477. /*
  1478. ?????? ????? ??? ?? ?? ??
  1479. ?????? ????? ?????? ?? ??
  1480. ?????? ????? ?????? ?? ??
  1481. ?????? ????? ?????? ?? ??
  1482. ?????? ????? ?? ??? ?????
  1483. ?????? ????? ?? ??? ?????
  1484. */
  1485.  
  1486. public MainMenu(id)
  1487. {
  1488. if(!(ska_is_user_logged(id)))
  1489. return PLUGIN_HANDLED;
  1490.  
  1491. formatex(String, charsmax(String), "\r%s \y» \wFőmenü", Prefix);
  1492. new menu = menu_create(String, "MainMenu_h");
  1493. formatex(String, charsmax(String), "\wRaktár [\y%i\w/\r%i\w]", s_Player[id][InventorySize], s_Player[id][InventorySizeMax]);
  1494. menu_additem(menu, String, "0", 0);
  1495.  
  1496. menu_additem(menu, "\wLádák", "1", 0);
  1497.  
  1498. menu_additem(menu, "\wÁruház", "2", 0);
  1499.  
  1500. menu_additem(menu, "\wPiac", "3", 0);
  1501.  
  1502. menu_additem(menu, "\wBeállítások", "4", 0);
  1503.  
  1504. menu_additem(menu, "\wSzabályzat", "5", 0);
  1505.  
  1506. menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  1507.  
  1508. menu_display(id, menu, 0);
  1509. return PLUGIN_HANDLED;
  1510. }
  1511.  
  1512. public MainMenu_h(id, menu, item)
  1513. {
  1514. if(item == MENU_EXIT)
  1515. {
  1516. menu_destroy(menu);
  1517. return;
  1518. }
  1519.  
  1520. new data[9], szName[64];
  1521. new access, callback;
  1522. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  1523. new key = str_to_num(data);
  1524.  
  1525. switch(key)
  1526. {
  1527. case 0:
  1528. {
  1529. Inventory_Menu(id);
  1530. }
  1531. case 1:
  1532. {
  1533. Cases_Menu(id);
  1534. }
  1535. case 2:
  1536. {
  1537. Shop_Menu(id);
  1538. }
  1539. case 3:
  1540. {
  1541. Market_Menu(id);
  1542. }
  1543. case 4:
  1544. {
  1545. Settings_Menu(id);
  1546. }
  1547. case 5:
  1548. {
  1549. Rules_Menu(id);
  1550. }
  1551. }
  1552. menu_destroy(menu);
  1553. }
  1554.  
  1555. public Rules_Menu(id)
  1556. {
  1557. formatex(String, charsmax(String), "\r%s \y» \wSzabályzat", Prefix);
  1558. new menu = menu_create(String, "Rules_Menu_h");
  1559.  
  1560. menu_addtext2(menu, "\r*\wA szabályzat nem ismerése nem mentesít alóla!\r*");
  1561. menu_addtext2(menu, "\rTILOS \wSGS/BGS/GS-ezni.\d(Max. 2 óra)");
  1562. menu_addtext2(menu, "\rTILOS \wCT-nek CT kezdön kempelni.\d(Max. 1 óra)");
  1563. menu_addtext2(menu, "\rTILOS \wT-nek meg fél perc után T kezdön.\d(Max. 1 óra)");
  1564. menu_addtext2(menu, "\rTILOS \wcsúnya, obszcén, rasszista szavakat használni!\d(Max. 3 óra)");
  1565. menu_addtext2(menu, "\rTILOS \wcsalni, bármilyen külsö fájlt/segédprogramot használni!\d(örök)");
  1566. menu_addtext2(menu, "\rTILOS \wa scant adását vissza utasítani.\d(1 hét)");
  1567. menu_addtext2(menu, "\rTILOS \wadminnak kiadni magad <jogok nélkül>\d(örök)");
  1568. menu_addtext2(menu, "\rTILOS \wIP-t vagy Weboldalat reklámozni.\d(örök)");
  1569. menu_addtext2(menu, "\rTILOS \wban alatt visszatérni a szerverre.\d(örök)");
  1570. menu_addtext2(menu, "\rTILOS \wa szerver hibáit BUG-jait kihasználni.\d(Max. 1 nap)");
  1571. menu_addtext2(menu, "\rA tulajoknak jogukban áll magasabb banidőt kiszabni!");
  1572. menu_setprop(menu, MPROP_NEXTNAME, "Lapozás Előre");
  1573. menu_setprop(menu, MPROP_BACKNAME, "Lapozás Vissza");
  1574. menu_setprop(menu, MPROP_EXITNAME, "Vissza a Főmenübe");
  1575. menu_display(id, menu, 0);
  1576. }
  1577.  
  1578. public Rules_Menu_h(id, menu, item)
  1579. {
  1580. menu_destroy(menu);
  1581. MainMenu(id);
  1582. return;
  1583. }
  1584.  
  1585. public Market_Menu(id)
  1586. {
  1587. formatex(String, charsmax(String), "\r%s \y» \wPiac", Prefix);
  1588. new menu = menu_create(String, "Market_Menu_h");
  1589.  
  1590. formatex(String, charsmax(String), "\wKeresés");
  1591. menu_additem(menu, String, "1", 0);
  1592. formatex(String, charsmax(String), "\wKeresési beállítások");
  1593. menu_additem(menu, String, "2", 0);
  1594.  
  1595. menu_setprop(menu, MPROP_EXITNAME, "Vissza a Főmenübe");
  1596. menu_display(id, menu, 0);
  1597. }
  1598.  
  1599. public Market_Menu_h(id, menu, item)
  1600. {
  1601. if(item == MENU_EXIT)
  1602. {
  1603. menu_destroy(menu);
  1604. MainMenu(id);
  1605. return;
  1606. }
  1607. new data[9], szName[64];
  1608. new access, callback;
  1609. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  1610. new key = str_to_num(data);
  1611.  
  1612. switch(key)
  1613. {
  1614. case 1:
  1615. {
  1616. menu_destroy(menu);
  1617. Market_Search(id);
  1618. }
  1619. case 2:
  1620. {
  1621. menu_destroy(menu);
  1622. Market_SearchSettings(id);
  1623. }
  1624. }
  1625. }
  1626.  
  1627. public Market_Search(id)
  1628. {
  1629. formatex(String, charsmax(String), "\r%s \y» \wPiac Keresésí találatok", Prefix);
  1630. new menu = menu_create(String, "Market_Search_h");
  1631.  
  1632. new m_g_Products_sizeof = ArraySize(g_Products);
  1633. new m_Product[product_Properties];
  1634. new NumStr[9];
  1635. new UTS_TimeNow = parse_time("0", "%S",_);
  1636. new m_WasValid = 0;
  1637.  
  1638. for(new i; i < m_g_Products_sizeof;i++)
  1639. {
  1640. ArrayGetArray(g_Products ,i ,m_Product);
  1641.  
  1642. if(m_Product[Price] < 0)
  1643. continue;
  1644.  
  1645. if(m_Product[UTS_EndTimeDate] < UTS_TimeNow)
  1646. {
  1647. ReturnFromMarket(i);
  1648. continue;
  1649. }
  1650.  
  1651. switch(searchsettings_Player[id][SelectedSearchType])
  1652. {
  1653. case 0: //fegyver
  1654. {
  1655. if(m_Product[Type] != 0)
  1656. continue;
  1657.  
  1658. if(searchsettings_Player[id][weaponsearch_MinCost] <= m_Product[Price] <= searchsettings_Player[id][weaponsearch_MaxCost])
  1659. {
  1660. if(searchsettings_Player[id][weaponsearch_MinDamage] <= m_Product[p_w_Damage_Level] <= searchsettings_Player[id][weaponsearch_MaxDamage])
  1661. {
  1662. if(searchsettings_Player[id][weaponsearch_Stattrak] == -1 || (searchsettings_Player[id][weaponsearch_Stattrak] == 0 && m_Product[p_w_Is_Stattrak] == 0) || (searchsettings_Player[id][weaponsearch_Stattrak] == 1 && m_Product[p_w_Is_Stattrak] == 1))
  1663. {
  1664. switch(searchsettings_Player[id][weaponsearch_Type])
  1665. {
  1666. case -1:
  1667. {
  1668. new len;
  1669. if(m_Product[p_w_Damage_Level] > 100)
  1670. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \rÖrök", m_Product[Price]);
  1671. else
  1672. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \r%i%s ",m_Product[Price], m_Product[p_w_Damage_Level], "%");
  1673. len += formatex(String[len], charsmax(String) - len, "\w%s", g_Weapon[m_Product[product_id]][w_name]);
  1674. if(m_Product[p_w_Is_Stattrak])
  1675. len += formatex(String[len], charsmax(String) - len, " \rST*");
  1676.  
  1677. if(m_Product[p_w_Is_NameTaged])
  1678. len += formatex(String[len], charsmax(String) - len, " \rNC*");
  1679.  
  1680. num_to_str(i, NumStr, 8);
  1681. menu_additem(menu, String, NumStr, 0);
  1682. m_WasValid = 1;
  1683. }
  1684. case 0:
  1685. {
  1686. if(g_Weapon[m_Product[product_id]][w_type] == CSW_AK47)
  1687. {
  1688. new len;
  1689. if(m_Product[p_w_Damage_Level] > 100)
  1690. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \rÖrök", m_Product[Price]);
  1691. else
  1692. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \r%i%s ",m_Product[Price], m_Product[p_w_Damage_Level], "%");
  1693. len += formatex(String[len], charsmax(String) - len, "\w%s", g_Weapon[m_Product[product_id]][w_name]);
  1694. if(m_Product[p_w_Is_Stattrak])
  1695. len += formatex(String[len], charsmax(String) - len, " \rST*");
  1696.  
  1697. if(m_Product[p_w_Is_NameTaged])
  1698. len += formatex(String[len], charsmax(String) - len, " \rNC*");
  1699.  
  1700. num_to_str(i, NumStr, 8);
  1701. menu_additem(menu, String, NumStr, 0);
  1702. m_WasValid = 1;
  1703. }
  1704. }
  1705. case 1:
  1706. {
  1707. if(g_Weapon[m_Product[product_id]][w_type] == CSW_AWP)
  1708. {
  1709. new len;
  1710. if(m_Product[p_w_Damage_Level] > 100)
  1711. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \rÖrök", m_Product[Price]);
  1712. else
  1713. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \r%i%s ",m_Product[Price], m_Product[p_w_Damage_Level], "%");
  1714. len += formatex(String[len], charsmax(String) - len, "\w%s", g_Weapon[m_Product[product_id]][w_name]);
  1715. if(m_Product[p_w_Is_Stattrak])
  1716. len += formatex(String[len], charsmax(String) - len, " \rST*");
  1717.  
  1718. if(m_Product[p_w_Is_NameTaged])
  1719. len += formatex(String[len], charsmax(String) - len, " \rNC*");
  1720.  
  1721. num_to_str(i, NumStr, 8);
  1722. menu_additem(menu, String, NumStr, 0);
  1723. m_WasValid = 1;
  1724. }
  1725. }
  1726. case 2:
  1727. {
  1728. if(g_Weapon[m_Product[product_id]][w_type] == CSW_DEAGLE)
  1729. {
  1730. new len;
  1731. if(m_Product[p_w_Damage_Level] > 100)
  1732. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \rÖrök", m_Product[Price]);
  1733. else
  1734. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \r%i%s ",m_Product[Price], m_Product[p_w_Damage_Level], "%");
  1735. len += formatex(String[len], charsmax(String) - len, "\w%s", g_Weapon[m_Product[product_id]][w_name]);
  1736. if(m_Product[p_w_Is_Stattrak])
  1737. len += formatex(String[len], charsmax(String) - len, " \rST*");
  1738.  
  1739. if(m_Product[p_w_Is_NameTaged])
  1740. len += formatex(String[len], charsmax(String) - len, " \rNC*");
  1741.  
  1742. num_to_str(i, NumStr, 8);
  1743. menu_additem(menu, String, NumStr, 0);
  1744. m_WasValid = 1;
  1745. }
  1746. }
  1747. case 3:
  1748. {
  1749. if(g_Weapon[m_Product[product_id]][w_type] == CSW_FAMAS)
  1750. {
  1751. new len;
  1752. if(m_Product[p_w_Damage_Level] > 100)
  1753. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \rÖrök", m_Product[Price]);
  1754. else
  1755. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \r%i%s ",m_Product[Price], m_Product[p_w_Damage_Level], "%");
  1756. len += formatex(String[len], charsmax(String) - len, "\w%s", g_Weapon[m_Product[product_id]][w_name]);
  1757. if(m_Product[p_w_Is_Stattrak])
  1758. len += formatex(String[len], charsmax(String) - len, " \rST*");
  1759.  
  1760. if(m_Product[p_w_Is_NameTaged])
  1761. len += formatex(String[len], charsmax(String) - len, " \rNC*");
  1762.  
  1763. num_to_str(i, NumStr, 8);
  1764. menu_additem(menu, String, NumStr, 0);
  1765. m_WasValid = 1;
  1766. }
  1767. }
  1768. case 4:
  1769. {
  1770. if(g_Weapon[m_Product[product_id]][w_type] == CSW_M4A1)
  1771. {
  1772. new len;
  1773. if(m_Product[p_w_Damage_Level] > 100)
  1774. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \rÖrök", m_Product[Price]);
  1775. else
  1776. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \r%i%s ",m_Product[Price], m_Product[p_w_Damage_Level], "%");
  1777. len += formatex(String[len], charsmax(String) - len, "\w%s", g_Weapon[m_Product[product_id]][w_name]);
  1778. if(m_Product[p_w_Is_Stattrak])
  1779. len += formatex(String[len], charsmax(String) - len, " \rST*");
  1780.  
  1781. if(m_Product[p_w_Is_NameTaged])
  1782. len += formatex(String[len], charsmax(String) - len, " \rNC*");
  1783.  
  1784. num_to_str(i, NumStr, 8);
  1785. menu_additem(menu, String, NumStr, 0);
  1786. m_WasValid = 1;
  1787. }
  1788. }
  1789. case 5:
  1790. {
  1791. if(g_Weapon[m_Product[product_id]][w_type] == CSW_MP5NAVY)
  1792. {
  1793. new len;
  1794. if(m_Product[p_w_Damage_Level] > 100)
  1795. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \rÖrök", m_Product[Price]);
  1796. else
  1797. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \r%i%s ",m_Product[Price], m_Product[p_w_Damage_Level], "%");
  1798. len += formatex(String[len], charsmax(String) - len, "\w%s", g_Weapon[m_Product[product_id]][w_name]);
  1799. if(m_Product[p_w_Is_Stattrak])
  1800. len += formatex(String[len], charsmax(String) - len, " \rST*");
  1801.  
  1802. if(m_Product[p_w_Is_NameTaged])
  1803. len += formatex(String[len], charsmax(String) - len, " \rNC*");
  1804.  
  1805. num_to_str(i, NumStr, 8);
  1806. menu_additem(menu, String, NumStr, 0);
  1807. m_WasValid = 1;
  1808. }
  1809. }
  1810. case 6:
  1811. {
  1812. if(g_Weapon[m_Product[product_id]][w_type] == CSW_SCOUT)
  1813. {
  1814. new len;
  1815. if(m_Product[p_w_Damage_Level] > 100)
  1816. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \rÖrök", m_Product[Price]);
  1817. else
  1818. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \r%i%s ",m_Product[Price], m_Product[p_w_Damage_Level], "%");
  1819. len += formatex(String[len], charsmax(String) - len, "\w%s", g_Weapon[m_Product[product_id]][w_name]);
  1820. if(m_Product[p_w_Is_Stattrak])
  1821. len += formatex(String[len], charsmax(String) - len, " \rST*");
  1822.  
  1823. if(m_Product[p_w_Is_NameTaged])
  1824. len += formatex(String[len], charsmax(String) - len, " \rNC*");
  1825.  
  1826. num_to_str(i, NumStr, 8);
  1827. menu_additem(menu, String, NumStr, 0);
  1828. m_WasValid = 1;
  1829. }
  1830. }
  1831. case 7:
  1832. {
  1833. if(g_Weapon[m_Product[product_id]][w_type] == CSW_KNIFE)
  1834. {
  1835. new len;
  1836. if(m_Product[p_w_Damage_Level] > 100)
  1837. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \rÖrök", m_Product[Price]);
  1838. else
  1839. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \r%i%s ",m_Product[Price], m_Product[p_w_Damage_Level], "%");
  1840. len += formatex(String[len], charsmax(String) - len, "\w%s", g_Weapon[m_Product[product_id]][w_name]);
  1841. if(m_Product[p_w_Is_Stattrak])
  1842. len += formatex(String[len], charsmax(String) - len, " \rST*");
  1843.  
  1844. if(m_Product[p_w_Is_NameTaged])
  1845. len += formatex(String[len], charsmax(String) - len, " \rNC*");
  1846.  
  1847. num_to_str(i, NumStr, 8);
  1848. menu_additem(menu, String, NumStr, 0);
  1849. m_WasValid = 1;
  1850. }
  1851. }
  1852. }
  1853. }
  1854. }
  1855. }
  1856. }
  1857. case 1: //láda
  1858. {
  1859. if(m_Product[Type] != 1)
  1860. continue;
  1861.  
  1862. if(searchsettings_Player[id][casesearch_MinCost] <= m_Product[Price] <= searchsettings_Player[id][casesearch_MaxCost])
  1863. {
  1864. if(searchsettings_Player[id][casesearch_MinAmount] <= m_Product[Amount] <= searchsettings_Player[id][casesearch_MaxAmount])
  1865. {
  1866. switch(searchsettings_Player[id][casesearch_Type])
  1867. {
  1868. case -1:
  1869. {
  1870. formatex(String, charsmax(String), "\y%i,0$ \w- %s [\r%i\w]", m_Product[Price], g_CasesNames[m_Product[product_id]], m_Product[Amount]);
  1871. num_to_str(i, NumStr, 8);
  1872. menu_additem(menu, String, NumStr, 0);
  1873. m_WasValid = 1;
  1874. }
  1875. case 0:
  1876. {
  1877. if(m_Product[product_id] == 0)
  1878. {
  1879. formatex(String, charsmax(String), "\y%i,0$ \w- %s [\r%i\w]", m_Product[Price], g_CasesNames[m_Product[product_id]], m_Product[Amount]);
  1880. num_to_str(i, NumStr, 8);
  1881. menu_additem(menu, String, NumStr, 0);
  1882. m_WasValid = 1;
  1883. }
  1884. }
  1885. case 1:
  1886. {
  1887. if(m_Product[product_id] == 1)
  1888. {
  1889. formatex(String, charsmax(String), "\y%i,0$ \w- %s [\r%i\w]", m_Product[Price], g_CasesNames[m_Product[product_id]], m_Product[Amount]);
  1890. num_to_str(i, NumStr, 8);
  1891. menu_additem(menu, String, NumStr, 0);
  1892. m_WasValid = 1;
  1893. }
  1894. }
  1895. case 2:
  1896. {
  1897. if(m_Product[product_id] == 2)
  1898. {
  1899. formatex(String, charsmax(String), "\y%i,0$ \w- %s [\r%i\w]", m_Product[Price], g_CasesNames[m_Product[product_id]], m_Product[Amount]);
  1900. num_to_str(i, NumStr, 8);
  1901. menu_additem(menu, String, NumStr, 0);
  1902. m_WasValid = 1;
  1903. }
  1904. }
  1905. case 3:
  1906. {
  1907. if(m_Product[product_id] == 3)
  1908. {
  1909. formatex(String, charsmax(String), "\y%i,0$ \w- %s [\r%i\w]", m_Product[Price], g_CasesNames[m_Product[product_id]], m_Product[Amount]);
  1910. num_to_str(i, NumStr, 8);
  1911. menu_additem(menu, String, NumStr, 0);
  1912. m_WasValid = 1;
  1913. }
  1914. }
  1915. case 4:
  1916. {
  1917. if(m_Product[product_id] == 4)
  1918. {
  1919. formatex(String, charsmax(String), "\y%i,0$ \w- %s [\r%i\w]", m_Product[Price], g_CasesNames[m_Product[product_id]], m_Product[Amount]);
  1920. num_to_str(i, NumStr, 8);
  1921. menu_additem(menu, String, NumStr, 0);
  1922. m_WasValid = 1;
  1923. }
  1924. }
  1925. case 5:
  1926. {
  1927. if(m_Product[product_id] == 5)
  1928. {
  1929. formatex(String, charsmax(String), "\y%i,0$ \w- %s [\r%i\w]", m_Product[Price], g_CasesNames[m_Product[product_id]], m_Product[Amount]);
  1930. num_to_str(i, NumStr, 8);
  1931. menu_additem(menu, String, NumStr, 0);
  1932. m_WasValid = 1;
  1933. }
  1934. }
  1935. //CASE EXTEND NEED HERE, Ha ládát akarsz böviteni itt is kell!
  1936. }
  1937. }
  1938. }
  1939. }
  1940. case 2: //kulcs
  1941. {
  1942. if(m_Product[Type] != 2)
  1943. continue;
  1944.  
  1945. if(searchsettings_Player[id][keysearch_MinCost] <= m_Product[Price] <= searchsettings_Player[id][keysearch_MaxCost])
  1946. {
  1947. if(searchsettings_Player[id][keysearch_MinAmount] <= m_Product[Amount] <= searchsettings_Player[id][keysearch_MaxAmount])
  1948. {
  1949. formatex(String, charsmax(String), "\y%i,0$ \w- Kulcs [\r%i\w]", m_Product[Price], m_Product[Amount]);
  1950. num_to_str(i, NumStr, 8);
  1951. menu_additem(menu, String, NumStr, 0);
  1952. m_WasValid = 1;
  1953. }
  1954. }
  1955. }
  1956. case 3: //Végtelen bisz basz
  1957. {
  1958. if(m_Product[Type] != 3)
  1959. continue;
  1960.  
  1961. if(searchsettings_Player[id][infinityfragmentsearch_MinCost] <= m_Product[Price] <= searchsettings_Player[id][infinityfragmentsearch_MaxCost])
  1962. {
  1963. if(searchsettings_Player[id][infinityfragmentsearch_MinAmount] <= m_Product[Amount] <= searchsettings_Player[id][infinityfragmentsearch_MaxAmount])
  1964. {
  1965. formatex(String, charsmax(String), "\y%i,0$ \w- Végtelen Darabka [\r%i\w]", m_Product[Price], m_Product[Amount]);
  1966. num_to_str(i, NumStr, 8);
  1967. menu_additem(menu, String, NumStr, 0);
  1968. m_WasValid = 1;
  1969. }
  1970. }
  1971. }
  1972. case 4: //Játékos
  1973. {
  1974. if(m_Product[Seller_User_id] != searchsettings_Player[id][playersearch_User_id])
  1975. continue;
  1976.  
  1977. switch(m_Product[Type])
  1978. {
  1979. case 0://fegyver
  1980. {
  1981. new len;
  1982. if(m_Product[p_w_Damage_Level] > 100)
  1983. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \rÖrök", m_Product[Price]);
  1984. else
  1985. len = formatex(String[len], charsmax(String) - len, "\y%i,0$ \w- \r%i%s ",m_Product[Price], m_Product[p_w_Damage_Level], "%");
  1986.  
  1987. len += formatex(String[len], charsmax(String) - len, "\w%s", g_Weapon[m_Product[product_id]][w_name]);
  1988. if(m_Product[p_w_Is_Stattrak])
  1989. len += formatex(String[len], charsmax(String) - len, " \rST*");
  1990.  
  1991. if(m_Product[p_w_Is_NameTaged])
  1992. len += formatex(String[len], charsmax(String) - len, " \rNC*");
  1993.  
  1994. num_to_str(i, NumStr, 8);
  1995. menu_additem(menu, String, NumStr, 0);
  1996. m_WasValid = 1;
  1997. }
  1998. case 1://Láda
  1999. {
  2000. formatex(String, charsmax(String), "\y%i,0$ \w- %s [\r%i\w]", m_Product[Price], g_CasesNames[m_Product[product_id]], m_Product[Amount]);
  2001. num_to_str(i, NumStr, 8);
  2002. menu_additem(menu, String, NumStr, 0);
  2003. m_WasValid = 1;
  2004. }
  2005. case 2://Kulcs
  2006. {
  2007. formatex(String, charsmax(String), "\y%i,0$ \w- Kulcs [\r%i\w]", m_Product[Price], m_Product[Amount]);
  2008. num_to_str(i, NumStr, 8);
  2009. menu_additem(menu, String, NumStr, 0);
  2010. m_WasValid = 1;
  2011. }
  2012. case 3://végtelen biszbasz
  2013. {
  2014. formatex(String, charsmax(String), "\y%i,0$ \w- Végtelen Darabka [\r%i\w]", m_Product[Price], m_Product[Amount]);
  2015. num_to_str(i, NumStr, 8);
  2016. menu_additem(menu, String, NumStr, 0);
  2017. m_WasValid = 1;
  2018. }
  2019. }
  2020. }
  2021. }
  2022. }
  2023.  
  2024. menu_setprop(menu, MPROP_NEXTNAME, "Lapozás Előre");
  2025. menu_setprop(menu, MPROP_BACKNAME, "Lapozás Vissza");
  2026. menu_setprop(menu, MPROP_EXITNAME, "Vissza a Piac menübe");
  2027.  
  2028. if(m_WasValid)
  2029. menu_display(id, menu, 0);
  2030. else
  2031. {
  2032. client_print_color(id, print_team_default, "^4%s ^1Nincs találat!", Prefix);
  2033. menu_destroy(menu);
  2034. Market_Menu(id);
  2035. }
  2036. }
  2037.  
  2038. public Market_Search_h(id, menu, item)
  2039. {
  2040. if(item == MENU_EXIT)
  2041. {
  2042. menu_destroy(menu);
  2043. Market_Menu(id);
  2044. return;
  2045. }
  2046. new data[9], szName[64];
  2047. new access, callback;
  2048. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  2049. new key = str_to_num(data);
  2050.  
  2051. s_Player[id][MarketSelectedSlot] = key;
  2052.  
  2053. menu_destroy(menu);
  2054. Market_ProductInfo(id);
  2055. }
  2056.  
  2057. public Market_ProductInfo(id)
  2058. {
  2059. formatex(String, charsmax(String), "\r%s \y» \wÁrucikk leírás", Prefix);
  2060. new menu = menu_create(String, "Market_ProductInfo_h");
  2061.  
  2062. new m_Product[product_Properties];
  2063. ArrayGetArray(g_Products, s_Player[id][MarketSelectedSlot], m_Product);
  2064.  
  2065. if(m_Product[Seller_User_id] == ska_get_user_id(id))
  2066. {
  2067. formatex(String, charsmax(String), "\rTörlés a piacról \d[%i.0$]", m_Product[Price]);
  2068. menu_additem(menu, String, "-1", 0);
  2069. }
  2070. else
  2071. {
  2072. if(m_Product[Price] <= s_Player[id][Euro])
  2073. formatex(String, charsmax(String), "\yVásárlás \w- \r%i.0$", m_Product[Price]);
  2074. else
  2075. formatex(String, charsmax(String), "\dVásárlás \w- \r%i.0$", m_Product[Price]);
  2076. menu_additem(menu, String, "1", 0);
  2077. }
  2078.  
  2079. menu_addblank2(menu);
  2080. new StringTime[32];
  2081. format_time(StringTime, 31, "%Y/%m/%d - %H:%M:%S", m_Product[UTS_EndTimeDate]);
  2082. formatex(String, charsmax(String), "\wLejárat:\r%s", StringTime);
  2083. menu_addtext2(menu, String);
  2084. switch(m_Product[Type])
  2085. {
  2086. case 0://fegyver
  2087. {
  2088. formatex(String, charsmax(String), "\wFegyver Eredeti neve: \r%s",g_Weapon[m_Product[product_id]][w_name]);
  2089. menu_addtext2(menu, String);
  2090.  
  2091. if(m_Product[p_w_Damage_Level] > 100)
  2092. formatex(String, charsmax(String), "\wHasználtság: \rTörhetetlen");
  2093. else
  2094. formatex(String, charsmax(String), "\wHasználtság: \r%i%s", m_Product[p_w_Damage_Level], "%");
  2095. menu_addtext2(menu, String);
  2096.  
  2097. if(m_Product[p_w_Is_NameTaged])
  2098. formatex(String, charsmax(String), "\wNévcédula: \r^"%s^"", m_Product[p_w_NameTag]);
  2099. else
  2100. formatex(String, charsmax(String), "\wNévcédula: \dNincs");
  2101. menu_addtext2(menu, String);
  2102.  
  2103. if(m_Product[p_w_Is_Stattrak])
  2104. formatex(String, charsmax(String), "\wStatTrak: \r%i", m_Product[p_w_Stattrak_Kills]);
  2105. else
  2106. formatex(String, charsmax(String), "\wStatTark: \d-");
  2107. menu_addtext2(menu, String);
  2108. }
  2109. case 1://láda
  2110. {
  2111. formatex(String, charsmax(String), "\wLáda neve: \r%s",g_Weapon[m_Product[product_id]][w_name]);
  2112. menu_addtext2(menu, String);
  2113. formatex(String, charsmax(String), "\wMennyiség: \r%i",m_Product[Amount]);
  2114. menu_addtext2(menu, String);
  2115. }
  2116. case 2://kulcs
  2117. {
  2118. formatex(String, charsmax(String), "\wÁrucikk: \rKulcs");
  2119. menu_addtext2(menu, String);
  2120. formatex(String, charsmax(String), "\wMennyiség: \r%i",m_Product[Amount]);
  2121. menu_addtext2(menu, String);
  2122. }
  2123. case 3://végtelen biszbasz
  2124. {
  2125. formatex(String, charsmax(String), "\wÁrucikk: \rVégtelen darabka");
  2126. menu_addtext2(menu, String);
  2127. formatex(String, charsmax(String), "\wMennyiség: \r%i",m_Product[Amount]);
  2128. menu_addtext2(menu, String);
  2129. }
  2130. }
  2131.  
  2132. menu_setprop(menu, MPROP_EXITNAME, "Vissza a Keresési találatokhoz");
  2133. menu_display(id, menu, 0);
  2134. }
  2135.  
  2136. public Market_ProductInfo_h(id, menu, item)
  2137. {
  2138. if(item == MENU_EXIT)
  2139. {
  2140. menu_destroy(menu);
  2141. Market_Search(id);
  2142. return;
  2143. }
  2144. new data[9], szName[64];
  2145. new access, callback;
  2146. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  2147. new key = str_to_num(data);
  2148. if(key == 1)
  2149. {
  2150. BuyFromMarket(id, s_Player[id][MarketSelectedSlot]);
  2151. }
  2152. else if(key == -1)
  2153. {
  2154. ReturnFromMarket(s_Player[id][MarketSelectedSlot]);
  2155. }
  2156. menu_destroy(menu);
  2157. Market_Search(id);
  2158. }
  2159.  
  2160. public Market_SearchSettings(id)
  2161. {
  2162. formatex(String, charsmax(String), "\r%s \y» \wKeresési beállítások", Prefix);
  2163. new menu = menu_create(String, "Market_SearchSettings_h");
  2164.  
  2165. switch(searchsettings_Player[id][SelectedSearchType])
  2166. {
  2167. case 0:
  2168. {
  2169. formatex(String, charsmax(String), "\yFegyver alapú \w[\y%i\w/\r5\w]", (searchsettings_Player[id][SelectedSearchType]+1));
  2170. menu_additem(menu, String, "0", 0);
  2171.  
  2172. switch(searchsettings_Player[id][weaponsearch_Type])
  2173. {
  2174. case -1:
  2175. formatex(String, charsmax(String), "\wFegyver Tipus:\rMind");
  2176. case 0:
  2177. formatex(String, charsmax(String), "\wFegyver Tipus:\rAK47");
  2178. case 1:
  2179. formatex(String, charsmax(String), "\wFegyver Tipus:\rAWP");
  2180. case 2:
  2181. formatex(String, charsmax(String), "\wFegyver Tipus:\rDEAGLE");
  2182. case 3:
  2183. formatex(String, charsmax(String), "\wFegyver Tipus:\rFAMAS");
  2184. case 4:
  2185. formatex(String, charsmax(String), "\wFegyver Tipus:\rM4A1");
  2186. case 5:
  2187. formatex(String, charsmax(String), "\wFegyver Tipus:\rMP5");
  2188. case 6:
  2189. formatex(String, charsmax(String), "\wFegyver Tipus:\rSCOUT");
  2190. case 7:
  2191. formatex(String, charsmax(String), "\wFegyver Tipus:\rKÉS");
  2192. }
  2193. menu_additem(menu, String, "1", 0);
  2194.  
  2195.  
  2196. if(searchsettings_Player[id][weaponsearch_MaxDamage] >= 101)
  2197. formatex(String, charsmax(String), "\wMax használtság:\rTörhetetlen");
  2198. else
  2199. formatex(String, charsmax(String), "\wMax használtság:\r%i%s", searchsettings_Player[id][weaponsearch_MaxDamage], "%");
  2200. menu_additem(menu, String, "2", 0);
  2201.  
  2202.  
  2203. if(searchsettings_Player[id][weaponsearch_MinDamage] >= 101)
  2204. formatex(String, charsmax(String), "\wMin használtság:\rTörhetetlen");
  2205. else
  2206. formatex(String, charsmax(String), "\wMin használtság:\r%i%s", searchsettings_Player[id][weaponsearch_MinDamage], "%");
  2207. menu_additem(menu, String, "3", 0);
  2208.  
  2209.  
  2210. formatex(String, charsmax(String), "\wMax ár:\r%i$", searchsettings_Player[id][weaponsearch_MaxCost]);
  2211. menu_additem(menu, String, "4", 0);
  2212. formatex(String, charsmax(String), "\wMin ár:\r%i$", searchsettings_Player[id][weaponsearch_MinCost]);
  2213. menu_additem(menu, String, "5", 0);
  2214.  
  2215. switch(searchsettings_Player[id][weaponsearch_Stattrak])
  2216. {
  2217. case -1:
  2218. formatex(String, charsmax(String), "\wStatTrak:\rMind");
  2219. case 0:
  2220. formatex(String, charsmax(String), "\wStatTrak:\rNem");
  2221. case 1:
  2222. formatex(String, charsmax(String), "\wStatTrak:\rIgen");
  2223. }
  2224. menu_additem(menu, String, "6", 0);
  2225.  
  2226.  
  2227. switch(searchsettings_Player[id][weaponsearch_Nametag])
  2228. {
  2229. case -1:
  2230. formatex(String, charsmax(String), "\wNévcédula:\rMind");
  2231. case 0:
  2232. formatex(String, charsmax(String), "\wNévcédula:\rNem");
  2233. case 1:
  2234. formatex(String, charsmax(String), "\wNévcédula:\rIgen");
  2235. }
  2236. menu_additem(menu, String, "7", 0);
  2237. }
  2238. case 1:
  2239. {
  2240. formatex(String, charsmax(String), "\yLáda alapú \w[\y%i\w/\r5\w]", (searchsettings_Player[id][SelectedSearchType]+1));
  2241. menu_additem(menu, String, "0", 0);
  2242.  
  2243. if(searchsettings_Player[id][casesearch_Type] == -1)
  2244. formatex(String, charsmax(String), "\wLáda Tipus:\rMind");
  2245. else
  2246. formatex(String, charsmax(String), "\wLáda Tipus:\r%s", g_CasesNames[searchsettings_Player[id][casesearch_Type]]);
  2247. menu_additem(menu, String, "1", 0);
  2248.  
  2249.  
  2250. formatex(String, charsmax(String), "\wMax mennyiség:\r%i db", searchsettings_Player[id][casesearch_MaxAmount]);
  2251. menu_additem(menu, String, "2", 0);
  2252. formatex(String, charsmax(String), "\wMin mennyiség:\r%i db", searchsettings_Player[id][casesearch_MaxAmount]);
  2253. menu_additem(menu, String, "3", 0);
  2254. formatex(String, charsmax(String), "\wMax ár:\r%i$", searchsettings_Player[id][casesearch_MaxCost]);
  2255. menu_additem(menu, String, "4", 0);
  2256. formatex(String, charsmax(String), "\wMin ár:\r%i$", searchsettings_Player[id][casesearch_MinCost]);
  2257. menu_additem(menu, String, "5", 0);
  2258. }
  2259. case 2://kulcs
  2260. {
  2261. formatex(String, charsmax(String), "\yKulcs alapú \w[\y%i\w/\r5\w]", (searchsettings_Player[id][SelectedSearchType]+1));
  2262. menu_additem(menu, String, "0", 0);
  2263.  
  2264. formatex(String, charsmax(String), "\wMax mennyiség:\r%i db", searchsettings_Player[id][keysearch_MaxAmount]);
  2265. menu_additem(menu, String, "2", 0);
  2266. formatex(String, charsmax(String), "\wMin mennyiség:\r%i db", searchsettings_Player[id][keysearch_MaxAmount]);
  2267. menu_additem(menu, String, "3", 0);
  2268. formatex(String, charsmax(String), "\wMax ár:\r%i$", searchsettings_Player[id][keysearch_MaxCost]);
  2269. menu_additem(menu, String, "4", 0);
  2270. formatex(String, charsmax(String), "\wMin ár:\r%i$", searchsettings_Player[id][keysearch_MinCost]);
  2271. menu_additem(menu, String, "5", 0);
  2272. }
  2273. case 3://végtelen biszbasz
  2274. {
  2275. formatex(String, charsmax(String), "\yVégtelen darabka alapú \w[\y%i\w/\r5\w]", (searchsettings_Player[id][SelectedSearchType]+1));
  2276. menu_additem(menu, String, "0", 0);
  2277.  
  2278. formatex(String, charsmax(String), "\wMax mennyiség:\r%i db", searchsettings_Player[id][infinityfragmentsearch_MaxAmount]);
  2279. menu_additem(menu, String, "2", 0);
  2280. formatex(String, charsmax(String), "\wMin mennyiség:\r%i db", searchsettings_Player[id][infinityfragmentsearch_MaxAmount]);
  2281. menu_additem(menu, String, "3", 0);
  2282. formatex(String, charsmax(String), "\wMax ár:\r%i$", searchsettings_Player[id][infinityfragmentsearch_MaxCost]);
  2283. menu_additem(menu, String, "4", 0);
  2284. formatex(String, charsmax(String), "\wMin ár:\r%i$", searchsettings_Player[id][infinityfragmentsearch_MinCost]);
  2285. menu_additem(menu, String, "5", 0);
  2286. }
  2287. case 4://player
  2288. {
  2289. formatex(String, charsmax(String), "\yJátékos alapú \w[\y%i\w/\r5\w]", (searchsettings_Player[id][SelectedSearchType]+1));
  2290. menu_additem(menu, String, "0", 0);
  2291.  
  2292. formatex(String, charsmax(String), "\wOnline játékos lista:\r%i", searchsettings_Player[id][playersearch_User_id]);
  2293. menu_additem(menu, String, "1", 0);
  2294. formatex(String, charsmax(String), "\w#id alapján:\r%i", searchsettings_Player[id][playersearch_User_id]);
  2295. menu_additem(menu, String, "2", 0);
  2296. }
  2297. }
  2298.  
  2299. menu_setprop(menu, MPROP_NEXTNAME, "Lapozás Előre");
  2300. menu_setprop(menu, MPROP_BACKNAME, "Lapozás Vissza");
  2301. menu_setprop(menu, MPROP_EXITNAME, "Vissza a Piac menübe");
  2302. menu_display(id, menu, 0);
  2303. }
  2304.  
  2305. public Market_SearchSettings_h(id, menu, item)
  2306. {
  2307. if(item == MENU_EXIT)
  2308. {
  2309. menu_destroy(menu);
  2310. Market_Menu(id);
  2311. return;
  2312. }
  2313. new data[9], szName[64];
  2314. new access, callback;
  2315. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  2316. new key = str_to_num(data);
  2317.  
  2318. if(key == 0)
  2319. {
  2320. if(searchsettings_Player[id][SelectedSearchType] < 4)
  2321. searchsettings_Player[id][SelectedSearchType]++;
  2322. else
  2323. searchsettings_Player[id][SelectedSearchType] = 0;
  2324. Market_SearchSettings(id);
  2325. }
  2326. else
  2327. {
  2328. switch(searchsettings_Player[id][SelectedSearchType])
  2329. {
  2330. case 0:
  2331. {
  2332. switch(key)
  2333. {
  2334. case 1: //fegyver alapú
  2335. {
  2336. if(searchsettings_Player[id][weaponsearch_Type] < 7)
  2337. searchsettings_Player[id][weaponsearch_Type]++;
  2338. else
  2339. searchsettings_Player[id][weaponsearch_Type] = -1;
  2340. Market_SearchSettings(id);
  2341. }
  2342. case 2:
  2343. client_cmd(id, "messagemode MaxHasznaltsag");
  2344. case 3:
  2345. client_cmd(id, "messagemode MinHasznaltsag");
  2346. case 4:
  2347. client_cmd(id, "messagemode MaxAr");
  2348. case 5:
  2349. client_cmd(id, "messagemode MinAr");
  2350. case 6:
  2351. {
  2352. if(searchsettings_Player[id][weaponsearch_Stattrak] < 1)
  2353. searchsettings_Player[id][weaponsearch_Stattrak]++;
  2354. else
  2355. searchsettings_Player[id][weaponsearch_Stattrak] = -1;
  2356. Market_SearchSettings(id);
  2357. }
  2358. case 7:
  2359. {
  2360. if(searchsettings_Player[id][weaponsearch_Nametag] < 1)
  2361. searchsettings_Player[id][weaponsearch_Nametag]++;
  2362. else
  2363. searchsettings_Player[id][weaponsearch_Nametag] = -1;
  2364. Market_SearchSettings(id);
  2365. }
  2366. }
  2367. }
  2368. case 1: //láda alapú
  2369. {
  2370. switch(key)
  2371. {
  2372. case 1:
  2373. {
  2374. if(searchsettings_Player[id][casesearch_Type] < CaseDrops_CaseNum-1)
  2375. searchsettings_Player[id][casesearch_Type]++;
  2376. else
  2377. searchsettings_Player[id][casesearch_Type] = -1;
  2378. Market_SearchSettings(id);
  2379. }
  2380. case 2:
  2381. client_cmd(id, "messagemode MaxMennyiseg");
  2382. case 3:
  2383. client_cmd(id, "messagemode MinMennyiseg");
  2384. case 4:
  2385. client_cmd(id, "messagemode MaxAr");
  2386. case 5:
  2387. client_cmd(id, "messagemode MinAr");
  2388. }
  2389. }
  2390. case 2..3: //kulcs / végtelen biszbasz alapú
  2391. {
  2392. switch(key)
  2393. {
  2394. case 2:
  2395. client_cmd(id, "messagemode MaxMennyiseg");
  2396. case 3:
  2397. client_cmd(id, "messagemode MinMennyiseg");
  2398. case 4:
  2399. client_cmd(id, "messagemode MaxAr");
  2400. case 5:
  2401. client_cmd(id, "messagemode MinAr");
  2402. }
  2403. }
  2404. case 4: //játékos alapó
  2405. {
  2406. switch(key)
  2407. {
  2408. case 1:
  2409. {
  2410. SelectPlayerFromOnline(id);
  2411. }
  2412. case 2:
  2413. client_cmd(id, "messagemode idmegad");
  2414. }
  2415. }
  2416. }
  2417. }
  2418. menu_destroy(menu);
  2419. }
  2420.  
  2421. public SelectPlayerFromOnline(id)
  2422. {
  2423. formatex(String, charsmax(String), "\r%s \y» \wJátékos kiválasztása",Prefix);
  2424. new menu = menu_create(String, "SelectPlayerFromOnline_h");
  2425.  
  2426. new Players[32], iNum;
  2427. get_players(Players, iNum, "ch");
  2428. new Player
  2429. new NumStr[9];
  2430. new m_WasValuedUser = 0;
  2431. for (new i=0; i<iNum; i++)
  2432. {
  2433. Player = Players[i];
  2434. if(ska_is_user_logged(Player) && Player != id)
  2435. {
  2436. num_to_str(ska_get_user_id(Player), NumStr, 8);
  2437. formatex(String, charsmax(String), "%s(#%s)", Player_Stats[Player][Name], NumStr);
  2438. menu_additem(menu, String, NumStr, 0);
  2439. m_WasValuedUser = 1;
  2440. }
  2441. }
  2442.  
  2443. menu_setprop(menu, MPROP_NEXTNAME, "Lapozás Előre");
  2444. menu_setprop(menu, MPROP_BACKNAME, "Lapozás Vissza");
  2445. menu_setprop(menu, MPROP_EXITNAME, "Vissza a Keresési beállítások");
  2446.  
  2447. if(m_WasValuedUser)
  2448. menu_display(id, menu, 0);
  2449. else
  2450. {
  2451. client_print_color(id, print_team_default, "^4%s ^1Nincs senki bejelentkezve a szerveren rajtad kivül :c !",Prefix);
  2452. menu_destroy(menu);
  2453. }
  2454. }
  2455.  
  2456. public SelectPlayerFromOnline_h(id, menu, item)
  2457. {
  2458. if(item == MENU_EXIT)
  2459. {
  2460. menu_destroy(menu);
  2461. Market_SearchSettings(id);
  2462. return;
  2463. }
  2464. new data[9], szName[64];
  2465. new access, callback;
  2466. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  2467. new key = str_to_num(data);
  2468.  
  2469. searchsettings_Player[id][playersearch_User_id] = key;
  2470.  
  2471. menu_destroy(menu);
  2472. Market_SearchSettings(id);
  2473. }
  2474.  
  2475. public Shop_Menu(id)
  2476. {
  2477. s_Player[id][ShopTypedAmount] = 1;
  2478.  
  2479. formatex(String, charsmax(String), "\r%s \y» \wÁruház", Prefix);
  2480. new menu = menu_create(String, "Shop_Menu_h");
  2481.  
  2482. formatex(String, charsmax(String), "\y%.1f$ \w- StatTrak felszerelő [\r%i\w]",Cost_ToolsStattrak, s_Player[id][ToolsStattrak]);
  2483. replace_all(String, 511, ".", ",");
  2484. menu_additem(menu, String, "1", 0);
  2485. formatex(String, charsmax(String), "\y%.1f$ \w- Névcédula felszerelő [\r%i\w]",Cost_ToolsNametag, s_Player[id][ToolsNametag]);
  2486. replace_all(String, 511, ".", ",");
  2487. menu_additem(menu, String, "2", 0);
  2488.  
  2489. formatex(String, charsmax(String), "\y%.1f$ \w- 1 raktár férőhely [\r%i/%i\w]",Cost_InventoryExtend, s_Player[id][InventorySizeMax], InventoryMaxExtend);
  2490. replace_all(String, 511, ".", ",");
  2491. menu_additem(menu, String, "3", 0);
  2492.  
  2493. menu_setprop(menu, MPROP_NEXTNAME, "Lapozás Előre");
  2494. menu_setprop(menu, MPROP_BACKNAME, "Lapozás Vissza");
  2495. menu_setprop(menu, MPROP_EXITNAME, "Vissza a Főmenübe");
  2496. menu_display(id, menu, 0);
  2497. }
  2498.  
  2499. public Shop_Menu_h(id, menu, item)
  2500. {
  2501. if(item == MENU_EXIT)
  2502. {
  2503. menu_destroy(menu);
  2504. MainMenu(id);
  2505. return;
  2506. }
  2507. new data[9], szName[64];
  2508. new access, callback;
  2509. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  2510. new key = str_to_num(data);
  2511.  
  2512. switch(key)
  2513. {
  2514. case 1:
  2515. {
  2516. Shop_Info(id, key);
  2517. }
  2518. case 2:
  2519. {
  2520. Shop_Info(id, key);
  2521. }
  2522. case 3:
  2523. {
  2524. Shop_Info(id, key);
  2525. }
  2526. }
  2527. menu_destroy(menu);
  2528. }
  2529.  
  2530. public Shop_Info(id, m_ShopSelectedSlot)
  2531. {
  2532. formatex(String, charsmax(String), "\r%s \y» \wÁruház Termék Info", Prefix);
  2533. new menu = menu_create(String, "Shop_Info_h");
  2534.  
  2535.  
  2536. new len;
  2537. if(m_ShopSelectedSlot == 1 && s_Player[id][Euro] >= Cost_ToolsStattrak) //STATRÁK vásárlása
  2538. len += formatex(String[len], charsmax(String) - len, "\y");
  2539. else if(m_ShopSelectedSlot == 2 && s_Player[id][Euro] >= Cost_ToolsNametag) //NÉVCÉDULA vásrlás
  2540. len += formatex(String[len], charsmax(String) - len, "\y");
  2541. else if(m_ShopSelectedSlot == 3 && s_Player[id][Euro] >= (Cost_InventoryExtend * float(s_Player[id][ShopTypedAmount])))
  2542. len += formatex(String[len], charsmax(String) - len, "\y");
  2543. else
  2544. len += formatex(String[len], charsmax(String) - len, "\d");
  2545.  
  2546.  
  2547. len += formatex(String[len], charsmax(String) - len, "Vásárlás");
  2548. if(m_ShopSelectedSlot == 3 && s_Player[id][ShopTypedAmount] > 1)
  2549. {
  2550. len += formatex(String[len], charsmax(String) - len, " \w- \r%.1f$", Cost_InventoryExtend * float(s_Player[id][ShopTypedAmount]));
  2551. }
  2552. replace_all(String, 511, ".", ",");
  2553. menu_additem(menu, String, "1", 0);
  2554.  
  2555. len = 0;
  2556. switch(m_ShopSelectedSlot)
  2557. {
  2558. case 1: //Statrak leírás
  2559. {
  2560. len = formatex(String, charsmax(String), "\rA StatTrak:\w^n");
  2561. len += formatex(String[len], charsmax(String) - len, " -Fegyver kiegészítő^n");
  2562. len += formatex(String[len], charsmax(String) - len, " -Számolja az öléseket^n");
  2563. len += formatex(String[len], charsmax(String) - len, " -A fegyverinfo hud-on kijelzi^n");
  2564. len += formatex(String[len], charsmax(String) - len, " -ujra felszereléssel nullázodik");
  2565. }
  2566. case 2: //névcédula leírás
  2567. {
  2568. len = formatex(String, charsmax(String), "\rA Névcédula:\w^n");
  2569. len += formatex(String[len], charsmax(String) - len, " -Fegyver kiegészítő^n");
  2570. len += formatex(String[len], charsmax(String) - len, " -Eltudod vele nevezni^n");
  2571. len += formatex(String[len], charsmax(String) - len, " -A fegyverinfo hud-on kijelzi^n");
  2572. len += formatex(String[len], charsmax(String) - len, " -ujra felszereléssel átnevezhető");
  2573. }
  2574. case 3:
  2575. {
  2576. formatex(String, charsmax(String), "\yMennyiség megadása \w- \r%i", s_Player[id][ShopTypedAmount]);
  2577. menu_additem(menu, String, "2", 0);
  2578. len = formatex(String, charsmax(String), "\rRaktár férőhely\w^n");
  2579. len += formatex(String[len], charsmax(String) - len, " -Maximum ennyi fegyver lehet a raktáradban^n");
  2580. len += formatex(String[len], charsmax(String) - len, " -Maximum %i-ig tudod bövíteni^n", InventoryMaxExtend);
  2581. }
  2582. }
  2583. menu_addblank2(menu);
  2584. menu_addtext2(menu, String);
  2585.  
  2586. menu_setprop(menu, MPROP_EXITNAME, "Vissza az Áruházba");
  2587. s_Player[id][ShopSelectedSlot] = m_ShopSelectedSlot;
  2588. menu_display(id, menu, 0);
  2589. }
  2590.  
  2591. public Shop_Info_h(id, menu, item)
  2592. {
  2593. if(item == MENU_EXIT)
  2594. {
  2595. menu_destroy(menu);
  2596. Shop_Menu(id);
  2597. return;
  2598. }
  2599. new data[9], szName[64];
  2600. new access, callback;
  2601. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  2602. new key = str_to_num(data);
  2603.  
  2604.  
  2605. switch(key)
  2606. {
  2607. case 1:
  2608. {
  2609. switch(s_Player[id][ShopSelectedSlot])
  2610. {
  2611. case 1:
  2612. {
  2613. if(s_Player[id][Euro] >= Cost_ToolsStattrak)
  2614. {
  2615. s_Player[id][Euro] -= Cost_ToolsStattrak;
  2616. s_Player[id][ToolsStattrak]++;
  2617. client_print_color(id, print_team_default, "^4%s ^1Sikeresen megvetted a StatTrak felszerelést.", Prefix);
  2618. }
  2619. else
  2620. client_print_color(id, print_team_default, "^4%s ^1Nincs elég pénzed hogy megvedd a StatTrak felszerelést.", Prefix);
  2621. }
  2622. case 2:
  2623. {
  2624. if(s_Player[id][Euro] >= Cost_ToolsNametag)
  2625. {
  2626. s_Player[id][Euro] -= Cost_ToolsNametag;
  2627. s_Player[id][ToolsNametag]++;
  2628. client_print_color(id, print_team_default, "^4%s ^1Sikeresen megvetted a Névcédula felszerelést.", Prefix);
  2629. }
  2630. else
  2631. client_print_color(id, print_team_default, "^4%s ^1Nincs elég pénzed hogy megvedd a Névcédula felszerelést.", Prefix);
  2632. }
  2633. case 3:
  2634. {
  2635. if(s_Player[id][ShopTypedAmount] + s_Player[id][InventorySizeMax] <= InventoryMaxExtend)
  2636. {
  2637. if(s_Player[id][Euro] >= (Cost_InventoryExtend * float(s_Player[id][ShopTypedAmount])) )
  2638. {
  2639. s_Player[id][Euro] -= (Cost_InventoryExtend * float(s_Player[id][ShopTypedAmount]) );
  2640. s_Player[id][InventorySizeMax] += s_Player[id][ShopTypedAmount];
  2641. client_print_color(id, print_team_default, "^4%s ^1Sikeresen megvetted a Raktár férőhelyet.", Prefix);
  2642. }
  2643. else
  2644. client_print_color(id, print_team_default, "^4%s ^1Nincs elég pénzed hogy megvedd az raktár bövítés(eket)!", Prefix);
  2645. }
  2646. else
  2647. client_print_color(id, print_team_default, "^4%s ^1Ezzel a vásárlással túllépnéd a raktár maximum méretét!", Prefix);
  2648. }
  2649. }
  2650. Shop_Info(id, s_Player[id][ShopSelectedSlot]);
  2651. }
  2652. case 2:
  2653. {
  2654. client_cmd(id, "messagemode Mennyiseg");
  2655. }
  2656. }
  2657.  
  2658. menu_destroy(menu);
  2659. }
  2660.  
  2661.  
  2662. public Settings_Menu(id)
  2663. {
  2664. formatex(String, charsmax(String), "\r%s \y» \wBeállítások", Prefix);
  2665. new menu = menu_create(String, "Settings_Menu_h");
  2666.  
  2667. // HUD Infó [Egyszerű | Részletes | Kikapcsolva]
  2668. menu_additem(menu, s_Player[id][SkinDisplay] == 1 ? "Fegyver kinézet: \r[BE] \y| \d[KI]":"Fegyver kinézet: \d[BE] \y| \r[KI]", "1", 0);
  2669. menu_additem(menu, s_Player[id][HudDisplayPlayerInfo] == 1 ? "\w[\rHUD\w]Játékos info: \r[BE] \y| \d[KI]":"\w[\rHUD\w]Játékos info: \d[BE] \y| \r[KI]", "2", 0);
  2670. menu_additem(menu, s_Player[id][HudDisplayWeaponInfo] == 1 ? "\w[\rHUD\w]Fegyver info: \r[BE] \y| \d[KI]":"\w[\rHUD\w]Fegyver info: \d[BE] \y| \r[KI]", "3", 0);
  2671. menu_additem(menu, s_Player[id][SoundPlay] == 1 ? "\w[\rHANG\w]Ölés: \r[BE] \y| \d[KI]":"\w[\rHANG\w]Ölés: \d[BE] \y| \r[KI]", "4", 0);
  2672. menu_additem(menu, s_Player[id][RoundEndSoundPlay] == 1 ? "\w[\rHANG\w]Körvégi: \r[BE] \y| \d[KI]":"\w[\rHANG\w]Körvégi: \d[BE] \y| \r[KI]", "5", 0);
  2673. menu_additem(menu, s_Player[id][KnifeSoundPlay] == 1 ? "\w[\rHANG\w]Kés nyitás: \r[BE] \y| \d[KI]":"\w[\rHANG\w]Kés nyitás: \d[BE] \y| \r[KI]", "6", 0);
  2674. menu_additem(menu, s_Player[id][CanSendMe] == 1 ? "\w[\rKÜLDÉS\w]Tárgyak fogadása: \r[BE] \y| \d[KI]":"\w[\rKÜLDÉS\w]Tárgyak fogadása: \d[BE] \y| \r[KI]", "7", 0);
  2675. menu_additem(menu, s_Player[id][SilentTransfer] == 1 ? "\w[\rKÜLDÉS\w]Csendes küldés/fogadás: \r[BE] \y| \d[KI]":"\w[\rKÜLDÉS\w]Csendes küldés/fogadás: \d[BE] \y| \r[KI]", "8", 0);
  2676. menu_additem(menu, s_Player[id][Ranking] == 1 ? "ChatRangPrefix: \r[BE] \y| \d[KI]":"ChatRangPrefix: \d[BE] \y| \r[KI]", "9", 0);
  2677. if(s_AdminLevel[id] > 0)
  2678. menu_additem(menu, s_Player[id][SilentAdminMod] == 1 ? "InkognitóAdmin: \r[BE] \y| \d[KI]":"InkognitóAdmin: \d[BE] \y| \r[KI]", "10", 0);
  2679. //"
  2680. menu_setprop(menu, MPROP_NEXTNAME, "Lapozás Előre");
  2681. menu_setprop(menu, MPROP_BACKNAME, "Lapozás Vissza");
  2682. menu_setprop(menu, MPROP_EXITNAME, "Vissza a Főmenübe");
  2683. menu_display(id, menu, 0);
  2684. }
  2685. public Settings_Menu_h(id, menu, item)
  2686. {
  2687. if(item == MENU_EXIT)
  2688. {
  2689. menu_destroy(menu);
  2690. MainMenu(id);
  2691. return;
  2692. }
  2693. new data[9], szName[64];
  2694. new access, callback;
  2695. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  2696. new key = str_to_num(data);
  2697.  
  2698. switch(key)
  2699. {
  2700. case 1:
  2701. {
  2702. s_Player[id][SkinDisplay] = !s_Player[id][SkinDisplay];
  2703. }
  2704. case 2:
  2705. {
  2706. s_Player[id][HudDisplayPlayerInfo] = !s_Player[id][HudDisplayPlayerInfo];
  2707. }
  2708. case 3:
  2709. {
  2710. s_Player[id][HudDisplayWeaponInfo] = !s_Player[id][HudDisplayWeaponInfo];
  2711. }
  2712. case 4:
  2713. {
  2714. s_Player[id][SoundPlay] = !s_Player[id][SoundPlay];
  2715. }
  2716. case 5:
  2717. {
  2718. s_Player[id][RoundEndSoundPlay] = !s_Player[id][RoundEndSoundPlay];
  2719. new fwdtogglemusic
  2720. ExecuteForward(fwd_musiccmd,fwdtogglemusic,id);
  2721. }
  2722. case 6:
  2723. {
  2724. s_Player[id][KnifeSoundPlay] = !s_Player[id][KnifeSoundPlay];
  2725. }
  2726. case 7:
  2727. {
  2728. s_Player[id][CanSendMe] = !s_Player[id][CanSendMe];
  2729. }
  2730. case 8:
  2731. {
  2732. s_Player[id][SilentTransfer] = !s_Player[id][SilentTransfer];
  2733. }
  2734. case 9:
  2735. {
  2736. s_Player[id][Ranking] = !s_Player[id][Ranking];
  2737. }
  2738. case 10:
  2739. {
  2740. s_Player[id][SilentAdminMod] = !s_Player[id][SilentAdminMod];
  2741. }
  2742. }
  2743. Settings_Menu(id);
  2744. menu_destroy(menu);
  2745. }
  2746.  
  2747. public Cases_Menu(id)
  2748. {
  2749. formatex(String, charsmax(String), "\r%s \y» \wLádák [\rKulcs:\y%i\w]",Prefix, s_Player[id][Keys]);
  2750. new menu = menu_create(String, "Cases_Menu_h");
  2751.  
  2752. new m_g_CasesNames_size = sizeof(g_CasesNames);
  2753. for(new i;i < m_g_CasesNames_size;i++)
  2754. {
  2755. formatex(String, charsmax(String), "\w%s [\r%i\w]", g_CasesNames[i], Player_Cases[id][i]);
  2756.  
  2757. new StringNum[2];
  2758. num_to_str(i, StringNum, 2);
  2759. menu_additem(menu, String, StringNum, 0);
  2760. }
  2761.  
  2762. menu_setprop(menu, MPROP_NEXTNAME, "Lapozás Előre");
  2763. menu_setprop(menu, MPROP_BACKNAME, "Lapozás Vissza");
  2764. menu_setprop(menu, MPROP_EXITNAME, "Vissza a Főmenübe");
  2765.  
  2766. menu_display(id, menu, 0);
  2767. return PLUGIN_HANDLED;
  2768. }
  2769.  
  2770. public Cases_Menu_h(id, menu, item)
  2771. {
  2772. if(item == MENU_EXIT)
  2773. {
  2774. menu_destroy(menu);
  2775. MainMenu(id);
  2776. return;
  2777. }
  2778. new data[9], szName[64];
  2779. new access, callback;
  2780. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  2781. new key = str_to_num(data);
  2782.  
  2783. if(key == (CaseDrops_CaseNum - 1))
  2784. {
  2785. client_print_color(id, print_team_default, "^4%s ^1A láda megszerezhető, de még nem nyítható!",Prefix);
  2786. Cases_Menu(id);
  2787. }
  2788. else
  2789. {
  2790. s_Player[id][CaseSelectedSlot] = key;
  2791. CaseInfo(id);
  2792. }
  2793.  
  2794. menu_destroy(menu);
  2795.  
  2796. }
  2797.  
  2798. public CaseInfo(id)
  2799. {
  2800. formatex(String, charsmax(String), "\r%s \y» \w%s Információ [\rKulcs:\y%i\w]",Prefix,g_CasesNames[s_Player[id][CaseSelectedSlot]], s_Player[id][Keys]);
  2801. new menu = menu_create(String, "CaseInfo_h");
  2802.  
  2803. if(InventoryCanAdd(id, "") == 1 && Player_Cases[id][s_Player[id][CaseSelectedSlot]] > 0 && s_Player[id][Keys] > 0)
  2804. formatex(String, charsmax(String), "\yNyitás");
  2805. else
  2806. formatex(String, charsmax(String), "\dNyitás");
  2807. menu_additem(menu, String, "0", 0);
  2808.  
  2809. formatex(String, charsmax(String), "\wTartalom megtekintése");
  2810. menu_additem(menu, String, "1", 0);
  2811.  
  2812. if(Player_Cases[id][s_Player[id][CaseSelectedSlot]] > 0)
  2813. formatex(String, charsmax(String), "\yPiacra helyezés");
  2814. else
  2815. formatex(String, charsmax(String), "\dPiacra helyezés");
  2816. menu_additem(menu, String, "2", 0);
  2817.  
  2818. menu_setprop(menu, MPROP_EXITNAME, "Vissza a Ládákhoz");
  2819.  
  2820. menu_display(id, menu, 0);
  2821. return PLUGIN_HANDLED;
  2822. }
  2823.  
  2824. public CaseInfo_h(id, menu, item)
  2825. {
  2826. if(item == MENU_EXIT)
  2827. {
  2828. menu_destroy(menu);
  2829. Cases_Menu(id);
  2830. return;
  2831. }
  2832. new data[9], szName[64];
  2833. new access, callback;
  2834. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  2835. new key = str_to_num(data);
  2836.  
  2837. switch(key)
  2838. {
  2839. case 0:
  2840. {
  2841. if(InventoryCanAdd(id, "Megtelt a Raktárad! (Az áruházban tudod bövíteni)") == 1)
  2842. {
  2843. if(Player_Cases[id][s_Player[id][CaseSelectedSlot]] > 0)
  2844. {
  2845. if(s_Player[id][Keys] > 0)
  2846. {
  2847. OpenCase(id, s_Player[id][CaseSelectedSlot]);
  2848. }
  2849. else
  2850. {
  2851. client_print_color(id, print_team_default, "^4%s ^1Nincs kulcsod!",Prefix);
  2852. }
  2853. }
  2854. else
  2855. {
  2856. client_print_color(id, print_team_default, "^4%s ^1Nincs ilyen ládád!",Prefix);
  2857. }
  2858. }
  2859. CaseInfo(id);
  2860. }
  2861. case 1:
  2862. {
  2863. ShowCaseContent(id, s_Player[id][CaseSelectedSlot]);
  2864. CaseInfo(id);
  2865. }
  2866. case 2:
  2867. {
  2868. if(Player_Cases[id][s_Player[id][CaseSelectedSlot]] > 0)
  2869. {
  2870. s_Player[id][TypedMarketAmount] = 1;
  2871. s_Player[id][TypedMarketPrice] = 0;
  2872. PlaceOnMarket_Menu(id, 1);
  2873. }
  2874. else
  2875. client_print_color(id, print_team_default, "^4%s ^1Nincs ilyen ládád!",Prefix);
  2876. }
  2877. }
  2878. menu_destroy(menu);
  2879. }
  2880.  
  2881. public ShowCaseContent(id, m_CaseSelectedSlot)
  2882. {
  2883. new len;
  2884.  
  2885. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<!DOCTYPE html> <html><head><meta charset=^"UTF-8^">");
  2886. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "</head><body style=^"background-color: rgb(100, 100, 100);^">");
  2887. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<table border=^"5^" bordercolor=^"White^" align=^"center^" style=^"color: White^">");
  2888. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<tr><th colspan=^"3^" bgcolor=#6B6B6B><h1>Ezeket nyithatod ebből:</br> <a style=^"color: #00dc00^">%s</a></h1></th>", g_CasesNames[m_CaseSelectedSlot]);
  2889. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "</tr><tr><th>Kép</th><th>Név</th><th>Esély</th></tr>");
  2890.  
  2891. new Float:OverAll = 0.0;
  2892.  
  2893. for(new i;i < CaseDrops_Openable;i++)
  2894. {
  2895. OverAll += CaseDrops[m_CaseSelectedSlot][i][1];
  2896. }
  2897. for(new i; i < CaseDrops_Openable; i++)
  2898. {
  2899. if(CaseDrops[m_CaseSelectedSlot][i][0] != 0.0)
  2900. {
  2901. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<tr><td><img src=^"%s^"/></th>", g_Weapon[floatround(CaseDrops[m_CaseSelectedSlot][i][0])][w_ImgLink]);
  2902. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>%s</th>", g_Weapon[floatround(CaseDrops[m_CaseSelectedSlot][i][0])][w_name]);
  2903. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>%.4f%s </th></tr>", (CaseDrops[m_CaseSelectedSlot][i][1]/(OverAll/100.0)), "%");
  2904. }
  2905. }
  2906.  
  2907. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "</table></body><html>");
  2908.  
  2909. formatex(String, charsmax(String), "%s | Láda tartalom", Prefix);
  2910. show_motd(id, StringMotd, String);
  2911. }
  2912.  
  2913.  
  2914. public Inventory_Menu(id)
  2915. {
  2916. if((s_Player[id][InventorySize]) == 0)
  2917. {
  2918. MainMenu(id);
  2919. client_print_color(id, print_team_default, "^4%s ^1Üres a raktárad!",Prefix)
  2920. return PLUGIN_HANDLED;
  2921. }
  2922.  
  2923. formatex(String, charsmax(String), "\r%s \y» \wRaktár [\y%i\w/\r%i\w]",Prefix, s_Player[id][InventorySize], s_Player[id][InventorySizeMax]);
  2924. new menu = menu_create(String, "Inventory_Menu_h");
  2925.  
  2926. new m_InventoryWriteableSize = s_Player[id][InventoryWriteableSize];
  2927. for(new i;i < m_InventoryWriteableSize; i++)
  2928. {
  2929. Item = Inventory[id][i];
  2930. if(Item[w_Deleted] == 0)
  2931. {
  2932. new Len;
  2933. if(Item[w_Equiped] > 0)
  2934. Len += formatex(String[Len], charsmax(String), "\r! ");
  2935. if(Item[w_Damage_Level] == 0)
  2936. Len += formatex(String[Len], charsmax(String), "\r%i%s \d",Item[w_Damage_Level], "%");
  2937. else if(Item[w_Damage_Level] == 101)
  2938. Len += formatex(String[Len], charsmax(String), "\rÖrök \w");
  2939. else
  2940. Len += formatex(String[Len], charsmax(String), "\r%i%s \w",Item[w_Damage_Level], "%");
  2941.  
  2942. Len += formatex(String[Len], charsmax(String), "%s", g_Weapon[Item[w_id]][w_name]);
  2943.  
  2944. if(Item[w_Is_Stattrak] == 1 || Item[w_Is_NameTaged] == 1)
  2945. {
  2946. Len += formatex(String[Len], charsmax(String), " - ");
  2947.  
  2948. if(Item[w_Is_Stattrak] == 1)
  2949. Len += formatex(String[Len], charsmax(String), "\r*StatTrak* ", Item[w_Stattrak_Kills]);
  2950.  
  2951. if(Item[w_Is_NameTaged] == 1)
  2952. Len += formatex(String[Len], charsmax(String), "\r*Névcédula*");
  2953. }
  2954. new Num[4];
  2955. num_to_str(i, Num, 4);
  2956. menu_additem(menu, String, Num, 0);
  2957. }
  2958. }
  2959.  
  2960. menu_setprop(menu, MPROP_NEXTNAME, "Lapozás Előre");
  2961. menu_setprop(menu, MPROP_BACKNAME, "Lapozás Vissza");
  2962. menu_setprop(menu, MPROP_EXITNAME, "Vissza a Főmenübe");
  2963.  
  2964. menu_display(id, menu, 0);
  2965. return PLUGIN_HANDLED;
  2966. }
  2967.  
  2968. public Inventory_Menu_h(id, menu, item)
  2969. {
  2970. if(item == MENU_EXIT)
  2971. {
  2972. menu_destroy(menu);
  2973. MainMenu(id);
  2974. return;
  2975. }
  2976. new data[9], szName[64];
  2977. new access, callback;
  2978. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  2979. new key = str_to_num(data);
  2980.  
  2981. WeaponInfo(id, key);
  2982. s_Player[id][InventorySelectedSlot] = key;
  2983. menu_destroy(menu);
  2984.  
  2985. }
  2986.  
  2987. public WeaponInfoDetails(id)
  2988. {
  2989. formatex(String, charsmax(String), "\r%s \y» \wRészletes leírás",Prefix);
  2990. new menu = menu_create(String, "WeaponInfoDetails_h");
  2991.  
  2992. new m_InventorySelectedSlot = s_Player[id][InventorySelectedSlot];
  2993. formatex(String, charsmax(String), "\wEredeti Név: \r%s", g_Weapon[Inventory[id][m_InventorySelectedSlot][w_id]][w_name]);
  2994. menu_addtext2( menu, String);
  2995.  
  2996. if(Inventory[id][m_InventorySelectedSlot][w_Damage_Level] == 101)
  2997. formatex(String, charsmax(String), "\wHasználhatoság: \rTörhetetlen");
  2998. else
  2999. formatex(String, charsmax(String), "\wHasználhatoság: \r%i%s", Inventory[id][m_InventorySelectedSlot][w_Damage_Level],"%");
  3000. menu_addtext2( menu, String);
  3001.  
  3002.  
  3003. if(Inventory[id][m_InventorySelectedSlot][w_Is_NameTaged] == 1)
  3004. {
  3005. formatex(String, charsmax(String), "\wNévcélula: \r%s", Inventory[id][m_InventorySelectedSlot][w_Is_NameTaged]);
  3006. }
  3007. else
  3008. {
  3009. formatex(String, charsmax(String), "\wNévcélula: \d Nincs");
  3010. }
  3011. menu_addtext2( menu, String);
  3012.  
  3013.  
  3014. if(Inventory[id][m_InventorySelectedSlot][w_Is_Stattrak] == 1)
  3015. {
  3016. formatex(String, charsmax(String), "\wStatTrak ölések: \r%i", Inventory[id][m_InventorySelectedSlot][w_Stattrak_Kills]);
  3017. }
  3018. else
  3019. {
  3020. formatex(String, charsmax(String), "\wStatTrak ölések: \d-");
  3021. }
  3022. menu_addtext2( menu, String);
  3023.  
  3024.  
  3025. if(Inventory[id][m_InventorySelectedSlot][w_Tradable] == 1)
  3026. {
  3027. formatex(String, charsmax(String), "\wÉrtékesíthető: \rIgen");
  3028. }
  3029. else
  3030. {
  3031. formatex(String, charsmax(String), "\wÉrtékesíthető: \dNem");
  3032. }
  3033. menu_addtext2( menu, String);
  3034.  
  3035. menu_setprop(menu, MPROP_EXITNAME, "Vissza a Raktárba");
  3036.  
  3037. menu_display(id, menu, 0);
  3038. }
  3039.  
  3040. public WeaponInfoDetails_h(id, menu, item)
  3041. {
  3042. if(item == MENU_EXIT)
  3043. {
  3044. menu_destroy(menu);
  3045. WeaponInfo(id, s_Player[id][InventorySelectedSlot]);
  3046. return;
  3047. }
  3048. }
  3049.  
  3050. public WeaponInfo(id, SelectedWep)
  3051. {
  3052. if(!(ska_is_user_logged(id)))
  3053. return PLUGIN_HANDLED;
  3054.  
  3055. formatex(String, charsmax(String), "\r%s \y» \wFegyver kezelés [#w_%i]", Prefix, Inventory[id][SelectedWep][w_id]);
  3056. new menu = menu_create(String, "WeaponInfo_h");
  3057. new AddedNum = 0;
  3058. if(IsEquipWeapon(id,SelectedWep) == 1)
  3059. {
  3060. formatex(String, charsmax(String), "\yLeszerelés");
  3061. menu_additem(menu, String, "0", 0); AddedNum++;
  3062. }
  3063. else
  3064. {
  3065. if(Inventory[id][SelectedWep][w_Damage_Level] == 0)
  3066. formatex(String, charsmax(String), "\dFelszerelés");
  3067. else
  3068. formatex(String, charsmax(String), "\yFelszerelés");
  3069. menu_additem(menu, String, "1", 0); AddedNum++;
  3070. }
  3071.  
  3072. menu_additem(menu, "\yRészletes leírás", "5", 0); AddedNum++;
  3073.  
  3074.  
  3075. if(Inventory[id][SelectedWep][w_Damage_Level] <= 0)
  3076. formatex(String, charsmax(String), "\yHelyreállítás \w- \r%.1f$", Cost_WeaponRestore);
  3077. else if(Inventory[id][SelectedWep][w_Damage_Level] == 100)
  3078. formatex(String, charsmax(String), "\dJavítás \w- \r%.1f$/1%s",Cost_WeaponRepair,"%");
  3079. else if(Inventory[id][SelectedWep][w_Damage_Level] < 100)
  3080. formatex(String, charsmax(String), "\yJavítás \w- \r%.1f$/1%s",Cost_WeaponRepair,"%");
  3081. else if(Inventory[id][SelectedWep][w_Damage_Level] == 101)
  3082. formatex(String, charsmax(String), "\dTörhetetlen");
  3083. replace_all(String, 511, ".", ",");
  3084. menu_additem(menu, String, "2", 0); AddedNum++;
  3085.  
  3086.  
  3087. if(Inventory[id][SelectedWep][w_Is_Stattrak] == 0)
  3088. {
  3089. if(s_Player[id][ToolsStattrak] >= 1)
  3090. formatex(String, charsmax(String), "\yStatTrak Felszerelése \w[\r%i\w]", s_Player[id][ToolsStattrak]);
  3091. else
  3092. formatex(String, charsmax(String), "\dStatTrak Felszerelése \w[\r%i\w]", s_Player[id][ToolsStattrak]);
  3093. }
  3094. else
  3095. {
  3096. if(s_Player[id][ToolsStattrak] >= 1)
  3097. formatex(String, charsmax(String), "\yStatTrak nullázása \w[\r%i\w]", s_Player[id][ToolsStattrak]);
  3098. else
  3099. formatex(String, charsmax(String), "\dStatTrak nullázása \w[\r%i\w]", s_Player[id][ToolsStattrak]);
  3100. }
  3101. menu_additem(menu, String, "6", 0); AddedNum++;
  3102.  
  3103.  
  3104. if(Inventory[id][SelectedWep][w_Is_NameTaged] == 0)
  3105. {
  3106. if(s_Player[id][ToolsNametag] >= 1)
  3107. formatex(String, charsmax(String), "\yNévcédula Felszerelése \w[\r%i\w]", s_Player[id][ToolsNametag]);
  3108. else
  3109. formatex(String, charsmax(String), "\dNévcédula Felszerelése \w[\r%i\w]", s_Player[id][ToolsNametag]);
  3110. }
  3111. else
  3112. {
  3113. if(s_Player[id][ToolsNametag] >= 1)
  3114. formatex(String, charsmax(String), "\yÚjra elnevezés \w[\r%i\w]", s_Player[id][ToolsNametag]);
  3115. else
  3116. formatex(String, charsmax(String), "\dÚjra elnevezés \w[\r%i\w]", s_Player[id][ToolsNametag]);
  3117. }
  3118. menu_additem(menu, String, "7", 0); AddedNum++;
  3119.  
  3120.  
  3121. if(Inventory[id][SelectedWep][w_Damage_Level] != 101)
  3122. {
  3123. if(s_Player[id][InfinityFragment] < Cost_WeaponMakePermanent)
  3124. formatex(String, charsmax(String), "\dVéglegesítés \w[\d%i/%i]",s_Player[id][InfinityFragment],Cost_WeaponMakePermanent);
  3125. else
  3126. formatex(String, charsmax(String), "\yVéglegesítés \w[\d%i/%i]",s_Player[id][InfinityFragment],Cost_WeaponMakePermanent);
  3127. menu_additem(menu, String, "4", 0); AddedNum++;
  3128. }
  3129.  
  3130.  
  3131.  
  3132. if(Inventory[id][SelectedWep][w_id] <= 7)
  3133. formatex(String, charsmax(String), "\dÖsszetörés");
  3134. else
  3135. {
  3136. if(Inventory[id][SelectedWep][w_Damage_Level] < 101)
  3137. formatex(String, charsmax(String), "\rÖsszetörés \w[\r+%i\wVégtelen darabka]", floatround((Inventory[id][SelectedWep][w_Damage_Level])/10.0));
  3138. else
  3139. formatex(String, charsmax(String), "\rÖsszetörés \w[\r+%i\wVégtelen darabka]", Return_BreakPermanent);
  3140. }
  3141. menu_additem(menu, String, "3", 0); AddedNum++;
  3142.  
  3143.  
  3144. if(Inventory[id][SelectedWep][w_Tradable] == 1)
  3145. formatex(String, charsmax(String), "\yKüldés");
  3146. else
  3147. formatex(String, charsmax(String), "\dKüldés");
  3148. menu_additem(menu, String, "8", 0); AddedNum++;
  3149.  
  3150. if(Inventory[id][SelectedWep][w_Tradable] == 1)
  3151. formatex(String, charsmax(String), "\yPiacra helyezés");
  3152. else
  3153. formatex(String, charsmax(String), "\dPiacra helyezés");
  3154. menu_additem(menu, String, "9", 0); AddedNum++;
  3155.  
  3156. if(AddedNum < 9)
  3157. {
  3158. new for_size = 9 - AddedNum;
  3159. for(new i;i < for_size;i++)
  3160. menu_addblank2(menu);
  3161. }
  3162. menu_additem(menu, "Vissza a Raktárba", "10", 0);
  3163. menu_setprop( menu, MPROP_PERPAGE, 0 );
  3164. menu_display(id, menu, 0);
  3165. return PLUGIN_HANDLED;
  3166. }
  3167.  
  3168. public WeaponInfo_h(id, menu, item)
  3169. {
  3170. new data[9], szName[64];
  3171. new access, callback;
  3172. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  3173. new key = str_to_num(data);
  3174. new m_InventorySelectedSlot = s_Player[id][InventorySelectedSlot];
  3175. switch(key)
  3176. {
  3177. case 0: //leszerelés
  3178. {
  3179. DeEquipWeapon(id, m_InventorySelectedSlot);
  3180. WeaponInfo(id, m_InventorySelectedSlot);
  3181. }
  3182. case 1: //felszerelés
  3183. {
  3184. if(Inventory[id][m_InventorySelectedSlot][w_Damage_Level] <= 0)
  3185. client_print_color(id, print_team_default, "^4%s ^1A teljesen elhasznált fegyvert nem tudod felszerelni!",Prefix);
  3186. else
  3187. EquipWeapon(id, m_InventorySelectedSlot);
  3188. WeaponInfo(id, m_InventorySelectedSlot);
  3189. }
  3190. case 2: //javitás/helyreállítás
  3191. {
  3192. RepairWeapon(id, m_InventorySelectedSlot);
  3193. WeaponInfo(id, m_InventorySelectedSlot);
  3194. }
  3195. case 3: // összetörés
  3196. {
  3197. if(Inventory[id][m_InventorySelectedSlot][w_id] <= 7)
  3198. {
  3199. client_print_color(id, print_team_default, "^4%s ^1Az alap skineket nem tudod összetörni!",Prefix);
  3200. WeaponInfo(id, m_InventorySelectedSlot);
  3201. }
  3202. else
  3203. {
  3204. InventoryDeleteItem(id, m_InventorySelectedSlot);
  3205. Inventory_Menu(id);
  3206. }
  3207. }
  3208. case 4: //Véglegesítés
  3209. {
  3210. if(s_Player[id][InfinityFragment] < Cost_WeaponMakePermanent)
  3211. client_print_color(id, print_team_default, "^4%s ^1Még hiányzik ^4%i ^1végtelen darabka a véglegesítéshez!",Prefix, (Cost_WeaponMakePermanent - s_Player[id][InfinityFragment]));
  3212. else
  3213. WeaponMakePermanent(id, m_InventorySelectedSlot);
  3214. WeaponInfo(id, m_InventorySelectedSlot);
  3215. }
  3216. case 5: // fegyver részletes információ
  3217. {
  3218. WeaponInfoDetails(id);
  3219. }
  3220. case 6: // StatTrak felszerelés/nullázás
  3221. {
  3222. if(s_Player[id][ToolsStattrak] >= 1)
  3223. ItemAddStatTrak(id, m_InventorySelectedSlot);
  3224. else
  3225. client_print_color(id, print_team_default, "^4%s ^1Előbb vásárolj StatTrak felszerelőt!",Prefix);
  3226. WeaponInfo(id, m_InventorySelectedSlot);
  3227. }
  3228. case 7: // Névcédula
  3229. {
  3230. if(s_Player[id][ToolsNametag] >= 1)
  3231. client_cmd(id, "messagemode Nevcedula");
  3232. else
  3233. {
  3234. client_print_color(id, print_team_default, "^4%s ^1Előbb vásárolj Névcédulát!",Prefix);
  3235. WeaponInfo(id, m_InventorySelectedSlot);
  3236. }
  3237. }
  3238. case 8: // Küldés
  3239. {
  3240. if(Inventory[id][m_InventorySelectedSlot][w_Tradable] == 1)
  3241. {
  3242. SelectTarget(id);
  3243. }
  3244. else
  3245. {
  3246. client_print_color(id, print_team_default, "^4%s ^1Ezt nem tudod elküldeni mert nem értékesíthető!",Prefix);
  3247. WeaponInfo(id, m_InventorySelectedSlot);
  3248. }
  3249. }
  3250. case 9: // kihelyezés piacra
  3251. {
  3252. if(Inventory[id][m_InventorySelectedSlot][w_Tradable] == 1)
  3253. {
  3254. s_Player[id][TypedMarketAmount] = 1;
  3255. s_Player[id][TypedMarketPrice] = 0;
  3256. PlaceOnMarket_Menu(id, 0);
  3257. }
  3258. else
  3259. {
  3260. client_print_color(id, print_team_default, "^4%s ^1Ezt nem tudod Piacra helyezni mert nem értékesíthető!",Prefix);
  3261. WeaponInfo(id, m_InventorySelectedSlot);
  3262. }
  3263. }
  3264. case 10:
  3265. {
  3266. menu_destroy(menu);
  3267. Inventory_Menu(id);
  3268. return;
  3269. }
  3270. }
  3271.  
  3272. menu_destroy(menu);
  3273. }
  3274.  
  3275.  
  3276.  
  3277. public SelectTarget(id)
  3278. {
  3279. formatex(String, charsmax(String), "\r%s \y» \wJátékos kiválasztása",Prefix);
  3280. new menu = menu_create(String, "SelectTarget_h");
  3281.  
  3282. new Players[32], iNum;
  3283. get_players(Players, iNum, "ch");
  3284. new Player
  3285. new NumStr[2];
  3286. new m_WasValuedUser = 0;
  3287. for (new i=0; i<iNum; i++)
  3288. {
  3289. Player = Players[i];
  3290. if(ska_is_user_logged(Player) && Player != id)
  3291. {
  3292. switch(s_Player[Player][CanSendMe])
  3293. {
  3294. case 1:
  3295. {
  3296. num_to_str(Player, NumStr, 2);
  3297. formatex(String, charsmax(String), "\w%s(#%i)", Player_Stats[Player][Name], ska_get_user_id(Player));
  3298. menu_additem(menu, String, NumStr, 0);
  3299. m_WasValuedUser = 1;
  3300. }
  3301. case 0:
  3302. {
  3303. formatex(String, charsmax(String), "\d%s(#%i)", Player_Stats[Player][Name], ska_get_user_id(Player));
  3304. menu_additem(menu, String, "-1", 0);
  3305. }
  3306. }
  3307. }
  3308. }
  3309.  
  3310. if(m_WasValuedUser)
  3311. menu_display(id, menu, 0);
  3312. else
  3313. {
  3314. client_print_color(id, print_team_default, "^4%s ^1Nincs senki a szerveren akinek küldhetnél :c !",Prefix);
  3315. menu_destroy(menu);
  3316. }
  3317.  
  3318. }
  3319.  
  3320. public SelectTarget_h(id, menu, item)
  3321. {
  3322. if(item == MENU_EXIT)
  3323. {
  3324. menu_destroy(menu);
  3325. WeaponInfo(id, s_Player[id][InventorySelectedSlot]);
  3326. return;
  3327. }
  3328. new data[9], szName[64];
  3329. new access, callback;
  3330. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  3331. new key = str_to_num(data);
  3332.  
  3333. switch(key)
  3334. {
  3335. case -1:
  3336. {
  3337. client_print_color(id, print_team_default, "^4%s ^1A kiválasztott játékosnak kivan kapcsolva a tárgyak fogadása!",Prefix);
  3338. SelectTarget(id);
  3339. }
  3340. default:
  3341. {
  3342. InventorySendItem(id, s_Player[id][InventorySelectedSlot], key);
  3343. Inventory_Menu(id);
  3344. }
  3345. }
  3346. menu_destroy(menu);
  3347. }
  3348.  
  3349. PlaceOnMarket_Menu(id, m_Type)
  3350. {
  3351. formatex(String, charsmax(String), "\r%s \y» \wPiacra helyezés",Prefix);
  3352. new menu = menu_create(String, "PlaceOnMarket_Menu_h");
  3353.  
  3354. switch(m_Type)
  3355. {
  3356. case 0: // fegyver
  3357. {
  3358. s_Player[id][PreMarketSelectedType] = 0;
  3359.  
  3360. {
  3361. Item = Inventory[id][s_Player[id][InventorySelectedSlot]];
  3362. new len;
  3363. if(Item[w_Damage_Level] > 100)
  3364. len = formatex(String[len], charsmax(String) - len, "Árucikk:\rÖrök - ");
  3365. else
  3366. len = formatex(String[len], charsmax(String) - len, "Árucikk:\r%i%s - ", Item[w_Damage_Level], "%");
  3367. len += formatex(String[len], charsmax(String) - len, "%s", g_Weapon[Item[w_id]][w_name]);
  3368. if(Item[w_Is_Stattrak])
  3369. len += formatex(String[len], charsmax(String) - len, " ST*");
  3370.  
  3371. if(Item[w_Is_NameTaged])
  3372. len += formatex(String[len], charsmax(String) - len, " NC*");
  3373. }
  3374. menu_addtext2(menu, String);
  3375. menu_addblank2(menu);
  3376. }
  3377. case 1: //láda
  3378. {
  3379. s_Player[id][PreMarketSelectedType] = 1;
  3380.  
  3381. formatex(String, charsmax(String), "Árucikk:\r%s", g_CasesNames[s_Player[id][CaseSelectedSlot]]);
  3382. menu_addtext2(menu, String);
  3383. menu_addblank2(menu);
  3384.  
  3385. formatex(String, charsmax(String), "Mennyiség:\r%i", s_Player[id][TypedMarketAmount]);
  3386. menu_additem(menu, String, "0", 0);
  3387. }
  3388. case 2: //kulcs
  3389. {
  3390. s_Player[id][PreMarketSelectedType] = 2;
  3391.  
  3392. formatex(String, charsmax(String), "Árucikk:\rKulcs");
  3393. menu_addtext2(menu, String);
  3394. menu_addblank2(menu);
  3395.  
  3396. formatex(String, charsmax(String), "Mennyiség:\r%i", s_Player[id][TypedMarketAmount]);
  3397. menu_additem(menu, String, "0", 0);
  3398. }
  3399. case 3: //Végtelen biszbasz
  3400. {
  3401. s_Player[id][PreMarketSelectedType] = 3;
  3402.  
  3403. formatex(String, charsmax(String), "Árucikk:\rVégtelen darabka");
  3404. menu_addtext2(menu, String);
  3405. menu_addblank2(menu);
  3406.  
  3407. formatex(String, charsmax(String), "Mennyiség:\r%i", s_Player[id][TypedMarketAmount]);
  3408. menu_additem(menu, String, "0", 0);
  3409. }
  3410. }
  3411. formatex(String, charsmax(String), "Eladási ár:%i,0$", s_Player[id][TypedMarketPrice]);
  3412. menu_additem(menu, String, "1", 0);
  3413.  
  3414. if(s_Player[id][MarketSize] >= Market_MaxProduct)
  3415. {
  3416. formatex(String, charsmax(String), "\dPiacra helyezés \w[\y%i\w/\r%i\w]", s_Player[id][MarketSize], Market_MaxProduct);
  3417. menu_additem(menu, String, "-1", 0);
  3418. }
  3419. else
  3420. {
  3421. formatex(String, charsmax(String), "\yPiacra helyezés \w[\y%i\w/\r%i\w]", s_Player[id][MarketSize], Market_MaxProduct);
  3422. menu_additem(menu, String, "2", 0);
  3423. }
  3424.  
  3425. menu_display(id, menu, 0);
  3426. }
  3427.  
  3428. public PlaceOnMarket_Menu_h(id, menu, item)
  3429. {
  3430. if(item == MENU_EXIT)
  3431. {
  3432. menu_destroy(menu);
  3433. switch(s_Player[id][PreMarketSelectedType])
  3434. {
  3435. case 0:
  3436. WeaponInfo(id, s_Player[id][InventorySelectedSlot]);
  3437. case 1:
  3438. CaseInfo(id);
  3439. case 2:
  3440. {}//Need to fill
  3441. case 3:
  3442. {}//Need to fill
  3443. }
  3444. return;
  3445. }
  3446. new data[9], szName[64];
  3447. new access, callback;
  3448. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  3449. new key = str_to_num(data);
  3450. menu_destroy(menu);
  3451.  
  3452. switch(key)
  3453. {
  3454. case -1:
  3455. {
  3456. client_print_color(id, print_team_default, "^4%s ^1Megtelt a Piac kapacításod!", Prefix);
  3457. PlaceOnMarket_Menu(id, s_Player[id][PreMarketSelectedType]);
  3458. }
  3459. case 0:
  3460. client_cmd(id, "messagemode PiaciMennyiseg");
  3461. case 1:
  3462. client_cmd(id, "messagemode PiaciAr");
  3463. case 2:
  3464. {
  3465. switch(s_Player[id][PreMarketSelectedType])
  3466. {
  3467. case 0:
  3468. PlaceOnMarket(id, s_Player[id][PreMarketSelectedType], s_Player[id][InventorySelectedSlot], s_Player[id][TypedMarketPrice], s_Player[id][TypedMarketAmount]);
  3469. case 1:
  3470. {
  3471. if(Player_Cases[id][s_Player[id][CaseSelectedSlot]] < s_Player[id][TypedMarketAmount])
  3472. {
  3473. client_print_color(id, print_team_default, "^4%s ^1Nincs annyi ládád amennyit ki akarsz rakni!", Prefix);
  3474. }
  3475. else
  3476. PlaceOnMarket(id, s_Player[id][PreMarketSelectedType], s_Player[id][CaseSelectedSlot], s_Player[id][TypedMarketPrice], s_Player[id][TypedMarketAmount]);
  3477. }
  3478. case 2:
  3479. {
  3480. if(s_Player[id][Keys] < s_Player[id][TypedMarketAmount])
  3481. {
  3482. client_print_color(id, print_team_default, "^4%s ^1Nincs annyi kulcsod amennyit ki akarsz rakni!", Prefix);
  3483. }
  3484. else
  3485. PlaceOnMarket(id, s_Player[id][PreMarketSelectedType], 0, s_Player[id][TypedMarketPrice], s_Player[id][TypedMarketAmount]);
  3486. }
  3487. case 3:
  3488. {
  3489. if(s_Player[id][InfinityFragment] < s_Player[id][TypedMarketAmount])
  3490. {
  3491. client_print_color(id, print_team_default, "^4%s ^1Nincs annyi végtelen darabkád amennyit ki akarsz rakni!", Prefix);
  3492. }
  3493. else
  3494. PlaceOnMarket(id, s_Player[id][PreMarketSelectedType], 0,s_Player[id][TypedMarketPrice], s_Player[id][TypedMarketAmount]);
  3495. }
  3496. }
  3497. }
  3498. }
  3499. }
  3500.  
  3501. /*
  3502. ?????? ????? ??? ?? ?? ?? ????? ??? ?? ?????
  3503. ?????? ????? ?????? ?? ?? ????? ?????? ?????
  3504. ?????? ????? ?????? ?? ?? ????? ?????? ????
  3505. ?????? ????? ?????? ?? ?? ????? ?????? ????
  3506. ?????? ????? ?? ??? ????? ????? ?? ??? ?????
  3507. ?????? ????? ?? ??? ????? ????? ?? ??? ?????
  3508. */
  3509.  
  3510.  
  3511. bool:RegexTester(id, m_string[], RegexText[], NoMatchText[])
  3512. {
  3513. new ret, error[128];
  3514. new Regex:regex_handle = regex_match(m_string, RegexText, ret, error, charsmax(error));
  3515.  
  3516. switch(regex_handle)
  3517. {
  3518. case REGEX_MATCH_FAIL:
  3519. {
  3520. log_amx("---REGEX MATCH FAIL---");
  3521. log_amx("ERROR:");
  3522. log_amx(error);
  3523. // There was an error matching against the pattern
  3524. // Check the {error} variable for message, and {ret} for error code
  3525. }
  3526. case REGEX_PATTERN_FAIL:
  3527. {
  3528. log_amx("---REGEX TATTERN ERROR---");
  3529. log_amx("ERROR:");
  3530. log_amx(error);
  3531. // There is an error in your pattern
  3532. // Check the {error} variable for message, and {ret} for error code
  3533. }
  3534. case REGEX_NO_MATCH:
  3535. {
  3536. client_print_color(id, print_team_default, "^4%s ^1%s",Prefix, NoMatchText);
  3537. }
  3538. default:
  3539. {
  3540. // Matched m_string {ret} times
  3541. regex_free(regex_handle);
  3542. return true;
  3543. // Free the Regex handle
  3544. }
  3545. }
  3546. regex_free(regex_handle);
  3547. return false;
  3548. }
  3549.  
  3550. public ReturnFromMarket(MarketSlot)
  3551. {
  3552. new m_Product[product_Properties];
  3553. ArrayGetArray(g_Products, MarketSlot, m_Product);
  3554. new Seller_id = UserOnline(m_Product[Seller_User_id]);
  3555. if(Seller_id != -1)
  3556. {
  3557. switch(m_Product[Type])
  3558. {
  3559. case 0:
  3560. {
  3561. if(InventoryCanAdd(Seller_id, "") == -1)
  3562. {
  3563. return;
  3564. }
  3565.  
  3566. Item[SQL_Key] = -1;
  3567. Item[w_UserId] = m_Product[Seller_User_id];
  3568. Item[w_id] = m_Product[product_id];
  3569. Item[w_Is_NameTaged] = m_Product[p_w_Is_NameTaged];
  3570. copy(Item[w_NameTag], 31, m_Product[p_w_NameTag]);
  3571. Item[w_Is_Stattrak] = m_Product[p_w_Is_Stattrak];
  3572. Item[w_Stattrak_Kills] = m_Product[p_w_Stattrak_Kills];
  3573. Item[w_Damage_Level] = m_Product[p_w_Damage_Level];
  3574. Item[w_Tradable] = 1;
  3575. Item[w_Equiped] = 0;
  3576. Item[w_Deleted] = 0;
  3577.  
  3578. Inventory[Seller_id][s_Player[Seller_id][InventoryWriteableSize]] = Item;
  3579. s_Player[Seller_id][InventoryWriteableSize]++;
  3580. s_Player[Seller_id][InventorySize]++;
  3581. }
  3582. case 1:
  3583. {
  3584. Player_Cases[Seller_id][m_Product[product_id]] += m_Product[Amount];
  3585. }
  3586. case 2:
  3587. {
  3588. s_Player[Seller_id][Keys] += m_Product[Amount];
  3589. }
  3590. case 3:
  3591. {
  3592. s_Player[Seller_id][InfinityFragment] += m_Product[Amount];
  3593. }
  3594. }
  3595. s_Player[Seller_id][MarketSize]--;
  3596. client_print_color(Seller_id, print_team_default, "^4%s ^1Az egyik árucikked lejárt a Piacon vagy vissza kérted!", Prefix);
  3597. }
  3598. else
  3599. {
  3600. new Len;
  3601. switch(m_Product[Type])
  3602. {
  3603. case 0:
  3604. {
  3605. Len = formatex(Query, charsmax(Query), "INSERT INTO `NextLvL_g_Inventory` (`User_Id`, `Weapon_Id`, `Is_NameTaged`, `NameTag`, `Is_StatTraked`, `StatTrak_Kills`, `Damage_Level`, `AttackCount`, `Tradable`, `Equiped`) VALUES (");
  3606. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[Seller_User_id]);
  3607. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[product_id]);
  3608. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[p_w_Is_NameTaged]);
  3609. Len += formatex(Query[Len], charsmax(Query)-Len, "^"%s^", ", m_Product[p_w_NameTag]);
  3610. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[p_w_Is_Stattrak]);
  3611. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[p_w_Stattrak_Kills]);
  3612. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[p_w_Damage_Level]);
  3613. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[p_w_AttackCount]);
  3614. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", 1);
  3615. Len += formatex(Query[Len], charsmax(Query)-Len, "%i", 0);
  3616. Len += formatex(Query[Len], charsmax(Query)-Len, ");");
  3617. }
  3618. case 1:
  3619. {
  3620. Len = formatex(Query, charsmax(Query), "UPDATE `NextLvL_Player_Cases` SET ");
  3621. switch(m_Product[product_id])
  3622. {
  3623. case 0:
  3624. Len += formatex(Query[Len], charsmax(Query)-Len, "S0_Fusion = S0_Fusion + ^"%i^" ", m_Product[Amount]);
  3625. case 1:
  3626. Len += formatex(Query[Len], charsmax(Query)-Len, "S0_Power = S0_Power + ^"%i^" ", m_Product[Amount]);
  3627. case 2:
  3628. Len += formatex(Query[Len], charsmax(Query)-Len, "S0_Thunder = S0_Thunder + ^"%i^" ", m_Product[Amount]);
  3629. case 3:
  3630. Len += formatex(Query[Len], charsmax(Query)-Len, "S0_Light = S0_Light + ^"%i^" ", m_Product[Amount]);
  3631. case 4:
  3632. Len += formatex(Query[Len], charsmax(Query)-Len, "S0_Boom = S0_Boom + ^"%i^" ", m_Product[Amount]);
  3633. case 5:
  3634. Len += formatex(Query[Len], charsmax(Query)-Len, "S1_BlackIce = S1_BlackIce + ^"%i^" ", m_Product[Amount]);
  3635. case 6:
  3636. Len += formatex(Query[Len], charsmax(Query)-Len, "S1_NoName = S1_NoName + ^"%i^" ", m_Product[Amount]);
  3637. //CASE EXTEND NEED HERE, Ha ládát akarsz böviteni itt is kell!
  3638. }
  3639. Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE `User_Id` = %d;", m_Product[Seller_User_id]);
  3640. }
  3641. case 2:
  3642. {
  3643. formatex(Query, charsmax(Query), "UPDATE `NextLvL_S_Player` SET iKeys = iKeys + ^"%i^" WHERE `User_Id` = %d;", m_Product[Amount], m_Product[Seller_User_id]);
  3644. }
  3645. case 3:
  3646. {
  3647. formatex(Query, charsmax(Query), "UPDATE `NextLvL_S_Player` SET InfinityFragment = InfinityFragment + ^"%i^" WHERE `User_Id` = %d;", m_Product[Amount], m_Product[Seller_User_id]);
  3648. }
  3649. }
  3650. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  3651. formatex(Query, charsmax(Query), "UPDATE `NextLvL_S_Player` SET MarketSize = MarketSize - 1 WHERE `User_Id` = %d;", m_Product[Seller_User_id]);
  3652. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  3653. }
  3654.  
  3655. m_Product[Price] = -1;
  3656. ArraySetArray(g_Products, MarketSlot, m_Product);
  3657. }
  3658.  
  3659. public OfflineReward(User_id, m_Price)
  3660. {
  3661. formatex(Query, charsmax(Query), "UPDATE `NextLvL_S_Player` SET Dollar = Dollar + ^"%i^" WHERE `User_Id` = %d;", m_Price, User_id);
  3662. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  3663. }
  3664.  
  3665. public BuyFromMarket(id, MarketSlot)
  3666. {
  3667. new m_Product[product_Properties];
  3668. ArrayGetArray(g_Products, MarketSlot, m_Product);
  3669.  
  3670. if(m_Product[Price] < 0)
  3671. {
  3672. client_print_color(id, print_team_default, "^4%s ^1Az árucikk lejárt vagy valami más megvette!", Prefix);
  3673. Market_Search(id);
  3674. return;
  3675. }
  3676.  
  3677. if(!(m_Product[Price] <= s_Player[id][Euro]))
  3678. {
  3679. client_print_color(id, print_team_default, "^4%s ^1Nincs elég pénzed megvenni!", Prefix);
  3680. Market_ProductInfo(id);
  3681. return;
  3682. }
  3683.  
  3684. if(m_Product[Type] == 0 && InventoryCanAdd(id, "Megtelt a Raktárad nem tudod megvenni! (Az áruházban tudod bövíteni)") == 0)
  3685. {
  3686. Market_ProductInfo(id);
  3687. return;
  3688. }
  3689.  
  3690. s_Player[id][Euro] -= m_Product[Price];
  3691. new Seller_id = UserOnline(m_Product[Seller_User_id]);
  3692. if(Seller_id != -1)
  3693. {
  3694. s_Player[Seller_id][Euro] += m_Product[Price];
  3695. client_print_color(Seller_id, print_team_default, "^4%s ^1Megvásárolva valaki az egyik árucikkedet!", Prefix);
  3696. }
  3697. else
  3698. OfflineReward(m_Product[Seller_User_id], m_Product[Price]);
  3699. m_Product[Price] = -1;
  3700.  
  3701. switch(m_Product[Type])
  3702. {
  3703. case 0:
  3704. {
  3705. Item[SQL_Key] = -1;
  3706. Item[w_UserId] = ska_get_user_id(id);
  3707. Item[w_id] = m_Product[product_id];
  3708. Item[w_Is_NameTaged] = m_Product[p_w_Is_NameTaged];
  3709. copy(Item[w_NameTag], 31, m_Product[p_w_NameTag]);
  3710. Item[w_Is_Stattrak] = m_Product[p_w_Is_Stattrak];
  3711. Item[w_Stattrak_Kills] = m_Product[p_w_Stattrak_Kills];
  3712. Item[w_Damage_Level] = m_Product[p_w_Damage_Level];
  3713. Item[w_AttackCount] = m_Product[p_w_AttackCount];
  3714. Item[w_Tradable] = 1;
  3715. Item[w_Equiped] = 0;
  3716. Item[w_Deleted] = 0;
  3717.  
  3718. Inventory[id][s_Player[id][InventoryWriteableSize]] = Item;
  3719. s_Player[id][InventoryWriteableSize]++;
  3720. s_Player[id][InventorySize]++;
  3721. }
  3722. case 1:
  3723. {
  3724. Player_Cases[id][m_Product[product_id]] += m_Product[Amount];
  3725. }
  3726. case 2:
  3727. {
  3728. s_Player[id][Keys] += m_Product[Amount];
  3729. }
  3730. case 3:
  3731. {
  3732. s_Player[id][InfinityFragment] += m_Product[Amount];
  3733. }
  3734. }
  3735. client_print_color(id, print_team_default, "^4%s ^1Sikeres vásárlás!", Prefix);
  3736. m_Product[Price] = -1;
  3737. ArraySetArray(g_Products, MarketSlot, m_Product);
  3738. Market_Search(id);
  3739. }
  3740.  
  3741. public PlaceOnMarket(id, m_Type, InventorySlot,m_Price, m_Amount)
  3742. {
  3743. new m_Product[product_Properties];
  3744. m_Product[product_SQL_key] = -1;
  3745. m_Product[Price] = m_Price;
  3746. m_Product[Seller_User_id] = ska_get_user_id(id);
  3747. m_Product[Amount] = m_Amount;
  3748. new UTS_TimeNow = parse_time("0", "%S",_);
  3749. m_Product[UTS_EndTimeDate] = parse_time("3", "%d",UTS_TimeNow);
  3750. m_Product[Type] = m_Type;
  3751.  
  3752. switch(m_Type)
  3753. {
  3754. case 0: //Fegyver
  3755. {
  3756. if(IsEquipWeapon(id, InventorySlot))
  3757. DeEquipWeapon(id, InventorySlot);
  3758.  
  3759. Item = Inventory[id][InventorySlot];
  3760. Inventory[id][InventorySlot][w_Deleted] = 1;
  3761. s_Player[id][InventorySize]--;
  3762.  
  3763. m_Product[product_id] = Item[w_id];
  3764. m_Product[p_w_Is_NameTaged] = Item[w_Is_NameTaged];
  3765. copy(m_Product[p_w_NameTag],31,Item[w_NameTag]);
  3766. m_Product[p_w_Is_Stattrak] = Item[w_Is_Stattrak];
  3767. m_Product[p_w_Stattrak_Kills] = Item[w_Stattrak_Kills];
  3768. m_Product[p_w_Damage_Level] = Item[w_Damage_Level];
  3769. m_Product[p_w_AttackCount] = Item[w_AttackCount];
  3770. client_print_color(0 , print_team_default, "^4%s ^1Kihelyeztek a piacra:^4%s^1!", Prefix, WeaponText(id, InventorySlot));
  3771. }
  3772. case 1: //Láda
  3773. {
  3774. Player_Cases[id][InventorySlot] -= m_Amount;
  3775.  
  3776. m_Product[product_id] = InventorySlot;
  3777. m_Product[p_w_Is_NameTaged] = 0; //Not exist in this case
  3778. copy(m_Product[p_w_NameTag],31,""); //Not exist in this case
  3779. m_Product[p_w_Is_Stattrak] = 0; //Not exist in this case
  3780. m_Product[p_w_Stattrak_Kills] = 0; //Not exist in this case
  3781. m_Product[p_w_Damage_Level] = 0; //Not exist in this case
  3782. m_Product[p_w_AttackCount] = 0; //Not exist in this case
  3783. client_print_color(0 , print_team_default, "^4%s ^1Kihelyeztek a piacra:^4%s ^1[^4%i^1]!", Prefix, g_CasesNames[InventorySlot], m_Amount);
  3784. }
  3785. case 2: //Kulcs
  3786. {
  3787. s_Player[id][Keys] -= m_Amount;
  3788.  
  3789. m_Product[product_id] = 0; //Not exist in this case
  3790. m_Product[p_w_Is_NameTaged] = 0; //Not exist in this case
  3791. copy(m_Product[p_w_NameTag],31,""); //Not exist in this case
  3792. m_Product[p_w_Is_Stattrak] = 0; //Not exist in this case
  3793. m_Product[p_w_Stattrak_Kills] = 0; //Not exist in this case
  3794. m_Product[p_w_Damage_Level] = 0; //Not exist in this case
  3795. m_Product[p_w_AttackCount] = 0; //Not exist in this case
  3796. client_print_color(0 , print_team_default, "^4%s ^1Kihelyeztek a piacra:^4Kulcs ^1[^4%i^1]!", Prefix, m_Amount);
  3797. }
  3798. case 3: // végtelen bisz basz
  3799. {
  3800. s_Player[id][InfinityFragment] -= m_Amount;
  3801.  
  3802. m_Product[product_id] = 0; //Not exist in this case
  3803. m_Product[p_w_Is_NameTaged] = 0; //Not exist in this case
  3804. copy(m_Product[p_w_NameTag],31,""); //Not exist in this case
  3805. m_Product[p_w_Is_Stattrak] = 0; //Not exist in this case
  3806. m_Product[p_w_Stattrak_Kills] = 0; //Not exist in this case
  3807. m_Product[p_w_Damage_Level] = 0; //Not exist in this case
  3808. m_Product[p_w_AttackCount] = 0; //Not exist in this case
  3809. client_print_color(0 , print_team_default, "^4%s ^1Kihelyeztek a piacra:^4Végtelen darabka ^1[^4%i^1]!", Prefix, m_Amount);
  3810. }
  3811. }
  3812. ArrayPushArray(g_Products, m_Product);
  3813. s_Player[id][MarketSize]++;
  3814. client_print_color(id, print_team_default, "^4%s ^1Sikeresen kihelyezted az árucikket!", Prefix);
  3815. }
  3816.  
  3817. public Get_MarketCost(id)
  3818. {
  3819. new Data[32];
  3820. read_args(Data, charsmax(Data));
  3821. remove_quotes(Data);
  3822.  
  3823. if(!(RegexTester(id, Data, "^^[0-9]{1,32}+$", "A beírt adat csak számokat tartalmazhat!")))
  3824. {
  3825. Market_SearchSettings(id);
  3826. return;
  3827. }
  3828. new m_TypedMarketPrice = str_to_num(Data);
  3829. if(m_TypedMarketPrice < 1)
  3830. {
  3831. client_print_color(id, print_team_default, "^4%s ^1Te akarsz fizetni az embereknek hogy vigyék el?", Prefix);
  3832. m_TypedMarketPrice = 0;
  3833. }
  3834.  
  3835. if(m_TypedMarketPrice > Market_MaxCost)
  3836. {
  3837. client_print_color(id, print_team_default, "^4%s ^1Ennyire azért csak nem lehet drága!", Prefix);
  3838. m_TypedMarketPrice = Market_MaxCost;
  3839. }
  3840. s_Player[id][TypedMarketPrice] = m_TypedMarketPrice;
  3841. PlaceOnMarket_Menu(id, s_Player[id][PreMarketSelectedType]);
  3842. }
  3843.  
  3844. public Get_MarketAmount(id)
  3845. {
  3846. new Data[32];
  3847. read_args(Data, charsmax(Data));
  3848. remove_quotes(Data);
  3849.  
  3850. if(!(RegexTester(id, Data, "^^[0-9]{1,32}+$", "A beírt adat csak számokat tartalmazhat!")))
  3851. {
  3852. Market_SearchSettings(id);
  3853. return;
  3854. }
  3855. new m_TypedMarketAmount = str_to_num(Data);
  3856. if(m_TypedMarketAmount < 1)
  3857. {
  3858. client_print_color(id, print_team_default, "^4%s ^1Scammelni csunya dolog!", Prefix);
  3859. m_TypedMarketAmount = 1;
  3860. }
  3861.  
  3862. if(m_TypedMarketAmount > Market_MaxCost)
  3863. {
  3864. client_print_color(id, print_team_default, "^4%s ^1Ha tényleg ennyire sok van akkor inkább használd el!", Prefix);
  3865. m_TypedMarketAmount = Market_MaxAmount;
  3866. }
  3867.  
  3868. s_Player[id][TypedMarketAmount] = m_TypedMarketAmount;
  3869. PlaceOnMarket_Menu(id, s_Player[id][PreMarketSelectedType]);
  3870. }
  3871.  
  3872. public Get_MaxDamage(id)
  3873. {
  3874. new Data[32];
  3875. read_args(Data, charsmax(Data));
  3876. remove_quotes(Data);
  3877.  
  3878. if(!(RegexTester(id, Data, "^^[0-9]{1,32}+$", "A beírt adat csak számokat tartalmazhat!")))
  3879. {
  3880. Market_SearchSettings(id);
  3881. return;
  3882. }
  3883. new m_search_MaxDamage = str_to_num(Data);
  3884. if(m_search_MaxDamage < searchsettings_Player[id][weaponsearch_MinDamage])
  3885. {
  3886. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a maximum mint a minmum csak egyenlő!", Prefix);
  3887. m_search_MaxDamage = searchsettings_Player[id][weaponsearch_MinDamage];
  3888. Market_SearchSettings(id);
  3889. return;
  3890. }
  3891.  
  3892. if(m_search_MaxDamage > 101)
  3893. m_search_MaxDamage = 101;
  3894.  
  3895. searchsettings_Player[id][weaponsearch_MaxDamage] = m_search_MaxDamage;
  3896. Market_SearchSettings(id);
  3897. }
  3898.  
  3899. public Get_MinDamage(id)
  3900. {
  3901. new Data[32];
  3902. read_args(Data, charsmax(Data));
  3903. remove_quotes(Data);
  3904.  
  3905. if(!(RegexTester(id, Data, "^^[0-9]{1,32}+$", "A beírt adat csak számokat tartalmazhat!")))
  3906. {
  3907. Market_SearchSettings(id);
  3908. return;
  3909. }
  3910. new m_search_MinDamage = str_to_num(Data);
  3911. if(m_search_MinDamage > searchsettings_Player[id][weaponsearch_MaxDamage])
  3912. {
  3913. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a minimum mint a maximum csak egyenlő!", Prefix);
  3914. m_search_MinDamage = searchsettings_Player[id][weaponsearch_MaxDamage];
  3915. Market_SearchSettings(id);
  3916. return;
  3917. }
  3918.  
  3919. if(m_search_MinDamage < 0)
  3920. m_search_MinDamage = 0;
  3921.  
  3922. searchsettings_Player[id][weaponsearch_MinDamage] = m_search_MinDamage;
  3923. Market_SearchSettings(id);
  3924. }
  3925.  
  3926. public Get_MaxAmount(id)
  3927. {
  3928. new Data[32];
  3929. read_args(Data, charsmax(Data));
  3930. remove_quotes(Data);
  3931.  
  3932. if(!(RegexTester(id, Data, "^^[0-9]{1,32}+$", "A beírt adat csak számokat tartalmazhat!")))
  3933. {
  3934. Market_SearchSettings(id);
  3935. return;
  3936. }
  3937. new m_search_MaxAmount = str_to_num(Data);
  3938. switch(searchsettings_Player[id][SelectedSearchType])
  3939. {
  3940. case 1:
  3941. {
  3942. if(m_search_MaxAmount < searchsettings_Player[id][casesearch_MinAmount])
  3943. {
  3944. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a maximum mint a minmum csak egyenlő!", Prefix);
  3945. m_search_MaxAmount = searchsettings_Player[id][casesearch_MinAmount];
  3946. }
  3947.  
  3948. if(m_search_MaxAmount > Market_MaxAmount)
  3949. m_search_MaxAmount = Market_MaxAmount;
  3950.  
  3951. searchsettings_Player[id][casesearch_MaxAmount] = m_search_MaxAmount;
  3952. }
  3953. case 2:
  3954. {
  3955. if(m_search_MaxAmount < searchsettings_Player[id][keysearch_MinAmount])
  3956. {
  3957. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a maximum mint a minmum csak egyenlő!", Prefix);
  3958. m_search_MaxAmount = searchsettings_Player[id][keysearch_MinAmount];
  3959. }
  3960.  
  3961. if(m_search_MaxAmount > Market_MaxAmount)
  3962. m_search_MaxAmount = Market_MaxAmount;
  3963.  
  3964. searchsettings_Player[id][keysearch_MaxAmount] = m_search_MaxAmount;
  3965. }
  3966. case 3:
  3967. {
  3968. if(m_search_MaxAmount < searchsettings_Player[id][infinityfragmentsearch_MinAmount])
  3969. {
  3970. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a maximum mint a minmum csak egyenlő!", Prefix);
  3971. m_search_MaxAmount = searchsettings_Player[id][infinityfragmentsearch_MinAmount];
  3972. }
  3973.  
  3974. if(m_search_MaxAmount > Market_MaxAmount)
  3975. m_search_MaxAmount = Market_MaxAmount;
  3976.  
  3977. searchsettings_Player[id][infinityfragmentsearch_MaxAmount] = m_search_MaxAmount;
  3978. }
  3979. }
  3980. Market_SearchSettings(id);
  3981. }
  3982.  
  3983. public Get_MinAmount(id)
  3984. {
  3985. new Data[32];
  3986. read_args(Data, charsmax(Data));
  3987. remove_quotes(Data);
  3988.  
  3989. if(!(RegexTester(id, Data, "^^[0-9]{1,32}+$", "A beírt adat csak számokat tartalmazhat!")))
  3990. {
  3991. Market_SearchSettings(id);
  3992. return;
  3993. }
  3994. new m_search_MinAmount = str_to_num(Data);
  3995. switch(searchsettings_Player[id][SelectedSearchType])
  3996. {
  3997. case 1:
  3998. {
  3999. if(m_search_MinAmount > searchsettings_Player[id][casesearch_MaxAmount])
  4000. {
  4001. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a minimum mint a maximum csak egyenlő!", Prefix);
  4002. m_search_MinAmount = searchsettings_Player[id][casesearch_MaxAmount];
  4003. }
  4004.  
  4005. if(m_search_MinAmount < 0)
  4006. m_search_MinAmount = 0;
  4007.  
  4008. searchsettings_Player[id][casesearch_MinAmount] = m_search_MinAmount;
  4009. }
  4010. case 2:
  4011. {
  4012. if(m_search_MinAmount > searchsettings_Player[id][keysearch_MaxAmount])
  4013. {
  4014. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a minimum mint a maximum csak egyenlő!", Prefix);
  4015. m_search_MinAmount = searchsettings_Player[id][keysearch_MaxAmount];
  4016. }
  4017.  
  4018. if(m_search_MinAmount < 0)
  4019. m_search_MinAmount = 0;
  4020.  
  4021. searchsettings_Player[id][keysearch_MinAmount] = m_search_MinAmount;
  4022. }
  4023. case 3:
  4024. {
  4025. if(m_search_MinAmount > searchsettings_Player[id][infinityfragmentsearch_MaxAmount])
  4026. {
  4027. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a minimum mint a maximum csak egyenlő!", Prefix);
  4028. m_search_MinAmount = searchsettings_Player[id][infinityfragmentsearch_MaxAmount];
  4029. }
  4030.  
  4031. if(m_search_MinAmount < 0)
  4032. m_search_MinAmount = 0;
  4033.  
  4034. searchsettings_Player[id][infinityfragmentsearch_MinAmount] = m_search_MinAmount;
  4035. }
  4036. }
  4037. Market_SearchSettings(id);
  4038. }
  4039.  
  4040. public Get_MaxCost(id)
  4041. {
  4042. new Data[32];
  4043. read_args(Data, charsmax(Data));
  4044. remove_quotes(Data);
  4045.  
  4046. if(!(RegexTester(id, Data, "^^[0-9]{1,32}+$", "A beírt adat csak számokat tartalmazhat!")))
  4047. {
  4048. Market_SearchSettings(id);
  4049. return;
  4050. }
  4051. new m_search_MaxCost = str_to_num(Data);
  4052. switch(searchsettings_Player[id][SelectedSearchType])
  4053. {
  4054. case 0:
  4055. {
  4056. if(m_search_MaxCost < searchsettings_Player[id][weaponsearch_MinCost])
  4057. {
  4058. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a maximum mint a minimum csak egyenlő!", Prefix);
  4059. m_search_MaxCost = searchsettings_Player[id][weaponsearch_MinCost];
  4060. }
  4061.  
  4062. if(m_search_MaxCost > Market_MaxCost)
  4063. m_search_MaxCost = Market_MaxCost;
  4064.  
  4065. searchsettings_Player[id][weaponsearch_MaxCost] = m_search_MaxCost;
  4066. }
  4067. case 1:
  4068. {
  4069. if(m_search_MaxCost < searchsettings_Player[id][casesearch_MinCost])
  4070. {
  4071. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a maximum mint a minimum csak egyenlő!", Prefix);
  4072. m_search_MaxCost = searchsettings_Player[id][casesearch_MinCost];
  4073. }
  4074.  
  4075. if(m_search_MaxCost > Market_MaxCost)
  4076. m_search_MaxCost = Market_MaxCost;
  4077.  
  4078. searchsettings_Player[id][casesearch_MaxCost] = m_search_MaxCost;
  4079. }
  4080. case 2:
  4081. {
  4082. if(m_search_MaxCost < searchsettings_Player[id][keysearch_MinCost])
  4083. {
  4084. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a maximum mint a minimum csak egyenlő!", Prefix);
  4085. m_search_MaxCost = searchsettings_Player[id][keysearch_MinCost];
  4086. }
  4087.  
  4088. if(m_search_MaxCost > Market_MaxCost)
  4089. m_search_MaxCost = Market_MaxCost;
  4090.  
  4091. searchsettings_Player[id][keysearch_MaxCost] = m_search_MaxCost;
  4092. }
  4093. case 3:
  4094. {
  4095. if(m_search_MaxCost < searchsettings_Player[id][infinityfragmentsearch_MinCost])
  4096. {
  4097. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a maximum mint a minmum csak egyenlő!", Prefix);
  4098. m_search_MaxCost = searchsettings_Player[id][infinityfragmentsearch_MinCost];
  4099. }
  4100.  
  4101. if(m_search_MaxCost > Market_MaxCost)
  4102. m_search_MaxCost = Market_MaxCost;
  4103.  
  4104. searchsettings_Player[id][infinityfragmentsearch_MaxCost] = m_search_MaxCost;
  4105. }
  4106. }
  4107. Market_SearchSettings(id);
  4108. }
  4109.  
  4110. public Get_MinCost(id)
  4111. {
  4112. new Data[32];
  4113. read_args(Data, charsmax(Data));
  4114. remove_quotes(Data);
  4115.  
  4116. if(!(RegexTester(id, Data, "^^[0-9]{1,32}+$", "A beírt adat csak számokat tartalmazhat!")))
  4117. {
  4118. Market_SearchSettings(id);
  4119. return;
  4120. }
  4121. new m_search_MinCost = str_to_num(Data);
  4122. switch(searchsettings_Player[id][SelectedSearchType])
  4123. {
  4124. case 0:
  4125. {
  4126. if(m_search_MinCost > searchsettings_Player[id][weaponsearch_MaxCost])
  4127. {
  4128. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a minimum mint a maximum csak egyenlő!", Prefix);
  4129. m_search_MinCost = searchsettings_Player[id][weaponsearch_MaxCost];
  4130. }
  4131.  
  4132. if(m_search_MinCost < 0)
  4133. m_search_MinCost = 0;
  4134.  
  4135. searchsettings_Player[id][weaponsearch_MinCost] = m_search_MinCost;
  4136. }
  4137. case 1:
  4138. {
  4139. if(m_search_MinCost > searchsettings_Player[id][casesearch_MaxCost])
  4140. {
  4141. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a minimum mint a maximum csak egyenlő!", Prefix);
  4142. m_search_MinCost = searchsettings_Player[id][casesearch_MaxCost];
  4143. }
  4144.  
  4145. if(m_search_MinCost < 0)
  4146. m_search_MinCost = 0;
  4147.  
  4148. searchsettings_Player[id][casesearch_MinCost] = m_search_MinCost;
  4149. }
  4150. case 2:
  4151. {
  4152. if(m_search_MinCost > searchsettings_Player[id][keysearch_MaxCost])
  4153. {
  4154. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a minimum mint a maximum csak egyenlő!", Prefix);
  4155. m_search_MinCost = searchsettings_Player[id][keysearch_MaxCost];
  4156. }
  4157.  
  4158. if(m_search_MinCost < 0)
  4159. m_search_MinCost = 0;
  4160.  
  4161. searchsettings_Player[id][keysearch_MinCost] = m_search_MinCost;
  4162. }
  4163. case 3:
  4164. {
  4165. if(m_search_MinCost > searchsettings_Player[id][infinityfragmentsearch_MaxCost])
  4166. {
  4167. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a minimum mint a maximum csak egyenlő!", Prefix);
  4168. m_search_MinCost = searchsettings_Player[id][infinityfragmentsearch_MaxCost];
  4169. }
  4170.  
  4171. if(m_search_MinCost < 0)
  4172. m_search_MinCost = 0;
  4173.  
  4174. searchsettings_Player[id][infinityfragmentsearch_MinCost] = m_search_MinCost;
  4175. }
  4176. }
  4177. Market_SearchSettings(id);
  4178. }
  4179.  
  4180. public Get_SearchById(id)
  4181. {
  4182. new Data[32];
  4183. read_args(Data, charsmax(Data));
  4184. remove_quotes(Data);
  4185.  
  4186. if(!(RegexTester(id, Data, "^^[0-9]{1,32}+$", "A beírt adat csak számokat tartalmazhat!")))
  4187. {
  4188. Market_SearchSettings(id);
  4189. return;
  4190. }
  4191.  
  4192. new m_search_User_id = str_to_num(Data);
  4193. if(m_search_User_id < 1)
  4194. {
  4195. client_print_color(id, print_team_default, "^4%s ^1Nem lehet kisebb a 1 a #id!", Prefix);
  4196. m_search_User_id = 1;
  4197. }
  4198.  
  4199. searchsettings_Player[id][playersearch_User_id] = m_search_User_id;
  4200. Market_SearchSettings(id);
  4201. }
  4202.  
  4203. public Get_ShopAmount(id)
  4204. {
  4205. new Data[32];
  4206. read_args(Data, charsmax(Data));
  4207. remove_quotes(Data);
  4208.  
  4209. if(!(RegexTester(id, Data, "^^[0-9]{1,32}+$", "A beírt adat csak számokat tartalmazhat!")))
  4210. {
  4211. Shop_Info(id, s_Player[id][ShopSelectedSlot]);
  4212. return;
  4213. }
  4214.  
  4215. new m_Amount = str_to_num(Data);
  4216.  
  4217. if(m_Amount < 1)
  4218. {
  4219. client_print_color(id, print_team_default, "^4%s ^1Minimum 1-et venned kell!",Prefix);
  4220. Shop_Info(id, s_Player[id][ShopSelectedSlot]);
  4221. return;
  4222. }
  4223. if(InventoryMaxExtend >= (s_Player[id][InventorySizeMax] + m_Amount))
  4224. s_Player[id][ShopTypedAmount] = m_Amount;
  4225. else
  4226. s_Player[id][ShopTypedAmount] = InventoryMaxExtend - s_Player[id][InventorySizeMax];
  4227.  
  4228. Shop_Info(id, s_Player[id][ShopSelectedSlot]);
  4229. }
  4230.  
  4231. public Get_NameTag(id)
  4232. {
  4233. new Data[32];
  4234. read_args(Data, charsmax(Data));
  4235. remove_quotes(Data);
  4236.  
  4237. new InventorySlot = s_Player[id][InventorySelectedSlot];
  4238.  
  4239. if(!(RegexTester(id, Data, "^^[A-Za-z0-9öüóőúéáűíÖÜÓŐÚÉÁŰÍ <>=\/_.:!\?\*\[\]+,()\-]{1,16}+$", "A beírt szöveg csak magyar abc-t, számok és ^"<>=/_.!?*[]+,()-^"-ket tartalmazhatja!")))
  4240. {
  4241. WeaponInfo(id, InventorySlot);
  4242. return;
  4243. }
  4244.  
  4245. Inventory[id][InventorySlot][w_NameTag] = "";
  4246. Inventory[id][InventorySlot][w_NameTag] = Data;
  4247. if(Inventory[id][InventorySlot][w_Is_NameTaged] == 1)
  4248. {
  4249. client_print_color(id, print_team_default, "^4%s ^1Sikeresen átnevezted a fegyveredet!",Prefix);
  4250. }
  4251. else
  4252. {
  4253. Inventory[id][InventorySlot][w_Is_NameTaged] = 1;
  4254. client_print_color(id, print_team_default, "^4%s ^1Sikeresen elnevezted a fegyveredet!",Prefix);
  4255. }
  4256. s_Player[id][ToolsNametag]--;
  4257.  
  4258. WeaponInfo(id, InventorySlot);
  4259. }
  4260.  
  4261. public WeaponBreak(id, InventorySlot)
  4262. {
  4263. DeEquipWeapon(id, InventorySlot);
  4264. client_print_color(id, print_team_default, "^4%s ^1JAJ NE! Összetört a fegyvered!", Prefix);
  4265. if(s_Player[id][ItemBreakSoundPlay])
  4266. client_cmd(id,"spk NextLvL/ItemBreak");
  4267. }
  4268.  
  4269. public WeaponText(id, InventorySlot)
  4270. {
  4271.  
  4272. if(Inventory[id][InventorySlot][w_Is_Stattrak])
  4273. formatex(String, charsmax(String), "%s *ST", g_Weapon[Inventory[id][InventorySlot][w_id]][w_name]);
  4274. else
  4275. formatex(String, charsmax(String), "%s", g_Weapon[Inventory[id][InventorySlot][w_id]][w_name]);
  4276.  
  4277. return String;
  4278. }
  4279.  
  4280. public ItemAddStatTrak(id, InventorySlot)
  4281. {
  4282. if(Inventory[id][InventorySlot][w_Is_Stattrak] == 1)
  4283. {
  4284. Inventory[id][InventorySlot][w_Stattrak_Kills] = 0;
  4285. client_print_color(id, print_team_default, "^4%s ^1Sikeresen nulláztad a StatTrak ölések számát!",Prefix);
  4286. }
  4287. else
  4288. {
  4289. Inventory[id][InventorySlot][w_Is_Stattrak] = 1;
  4290. client_print_color(id, print_team_default, "^4%s ^1Sikeresen felszerelted a StatTrak-ot!",Prefix);
  4291. }
  4292. s_Player[id][ToolsStattrak]--;
  4293. }
  4294. public WeaponMakePermanent(id, InventorySlot)
  4295. {
  4296. Inventory[id][InventorySlot][w_Damage_Level] = 101;
  4297. s_Player[id][InfinityFragment] -= Cost_WeaponMakePermanent;
  4298. client_print_color(id, print_team_default, "^4%s ^1Sikeresen véglegesítetted a fegyvert!",Prefix);
  4299. }
  4300.  
  4301. public RepairWeapon(id, InventorySlot)
  4302. {
  4303. if(Inventory[id][InventorySlot][w_Damage_Level] == 101)
  4304. {
  4305. WeaponInfo(id, InventorySlot);
  4306. return;
  4307. }
  4308.  
  4309. if(Inventory[id][InventorySlot][w_Damage_Level] <= 0)
  4310. if(s_Player[id][Euro] >= Cost_WeaponRestore)
  4311. {
  4312. s_Player[id][Euro] -= Cost_WeaponRestore;
  4313. Inventory[id][InventorySlot][w_Damage_Level] = 10;
  4314.  
  4315. formatex(String, 511, "^4%s ^1Helyreállítottad a kiválasztott fegyvert %.1f$-ért!", Prefix, Cost_WeaponRestore);
  4316. replace_all(String, 511, ".", ",");
  4317. client_print_color(id, print_team_default, String);
  4318. return;
  4319. }
  4320.  
  4321. if(Inventory[id][InventorySlot][w_Damage_Level] < 100)
  4322. if(s_Player[id][Euro] >= Cost_WeaponRepair)
  4323. {
  4324. s_Player[id][Euro] -= Cost_WeaponRepair;
  4325. Inventory[id][InventorySlot][w_Damage_Level] += 1;
  4326. formatex(String, 511, "^4%s ^1Javitottál 1%s ot a kiválasztott fegyveren %.1f$-ért!", Prefix, "%", Cost_WeaponRepair);
  4327. replace_all(String, 511, ".", ",");
  4328. client_print_color(id, print_team_default, String);
  4329. return;
  4330. }
  4331.  
  4332. if(Inventory[id][InventorySlot][w_Damage_Level] == 100)
  4333. {
  4334. client_print_color(id, print_team_default, "^4%s ^1A kiválasztott fegyver a lehető legjobb minőségű!", Prefix);
  4335. return;
  4336. }
  4337. }
  4338.  
  4339. public EquipWeapon(id, InventorySlot)
  4340. {
  4341. switch(g_Weapon[Inventory[id][InventorySlot][w_id]][w_type])
  4342. {
  4343. case CSW_AK47:
  4344. {
  4345. Inventory[id][Equipmented[id][AK47]][w_Equiped] = 0;
  4346. Equipmented[id][AK47] = InventorySlot;
  4347. Inventory[id][InventorySlot][w_Equiped] = 1;
  4348. }
  4349. case CSW_M4A1:
  4350. {
  4351. Inventory[id][Equipmented[id][M4A1]][w_Equiped] = 0;
  4352. Equipmented[id][M4A1] = InventorySlot;
  4353. Inventory[id][InventorySlot][w_Equiped] = 1;
  4354. }
  4355. case CSW_AWP:
  4356. {
  4357. Inventory[id][Equipmented[id][AWP]][w_Equiped] = 0;
  4358. Equipmented[id][AWP] = InventorySlot;
  4359. Inventory[id][InventorySlot][w_Equiped] = 1;
  4360. }
  4361. case CSW_DEAGLE:
  4362. {
  4363. Inventory[id][Equipmented[id][DEAGLE]][w_Equiped] = 0;
  4364. Equipmented[id][DEAGLE] = InventorySlot;
  4365. Inventory[id][InventorySlot][w_Equiped] = 1;
  4366. }
  4367. case CSW_KNIFE:
  4368. {
  4369. Inventory[id][Equipmented[id][KNIFE]][w_Equiped] = 0;
  4370. Equipmented[id][KNIFE] = InventorySlot;
  4371. Inventory[id][InventorySlot][w_Equiped] = 1;
  4372. }
  4373. case CSW_FAMAS:
  4374. {
  4375. Inventory[id][Equipmented[id][FAMAS]][w_Equiped] = 0;
  4376. Equipmented[id][FAMAS] = InventorySlot;
  4377. Inventory[id][InventorySlot][w_Equiped] = 1;
  4378. }
  4379. case CSW_MP5NAVY:
  4380. {
  4381. Inventory[id][Equipmented[id][MP5]][w_Equiped] = 0;
  4382. Equipmented[id][MP5] = InventorySlot;
  4383. Inventory[id][InventorySlot][w_Equiped] = 1;
  4384. }
  4385. case CSW_SCOUT:
  4386. {
  4387. Inventory[id][Equipmented[id][SCOUT]][w_Equiped] = 0;
  4388. Equipmented[id][SCOUT] = InventorySlot;
  4389. Inventory[id][InventorySlot][w_Equiped] = 1;
  4390. }
  4391. }
  4392. }
  4393.  
  4394. public DeEquipWeapon(id, InventorySlot)
  4395. {
  4396. switch(g_Weapon[Inventory[id][InventorySlot][w_id]][w_type])
  4397. {
  4398. case CSW_AK47:
  4399. {
  4400. Equipmented[id][AK47] = EquipmentedDef[AK47];
  4401. Inventory[id][InventorySlot][w_Equiped] = 0;
  4402. Inventory[id][EquipmentedDef[AK47]][w_Equiped] = 1;
  4403. }
  4404. case CSW_M4A1:
  4405. {
  4406. Equipmented[id][M4A1] = EquipmentedDef[M4A1];
  4407. Inventory[id][InventorySlot][w_Equiped] = 0;
  4408. Inventory[id][EquipmentedDef[M4A1]][w_Equiped] = 1;
  4409. }
  4410. case CSW_AWP:
  4411. {
  4412. Equipmented[id][AWP] = EquipmentedDef[AWP];
  4413. Inventory[id][InventorySlot][w_Equiped] = 0;
  4414. Inventory[id][EquipmentedDef[AWP]][w_Equiped] = 1;
  4415. }
  4416. case CSW_DEAGLE:
  4417. {
  4418. Equipmented[id][DEAGLE] = EquipmentedDef[DEAGLE];
  4419. Inventory[id][InventorySlot][w_Equiped] = 0;
  4420. Inventory[id][EquipmentedDef[DEAGLE]][w_Equiped] = 1;
  4421. }
  4422. case CSW_KNIFE:
  4423. {
  4424. Equipmented[id][KNIFE] = EquipmentedDef[KNIFE];
  4425. Inventory[id][InventorySlot][w_Equiped] = 0;
  4426. Inventory[id][EquipmentedDef[KNIFE]][w_Equiped] = 1;
  4427. }
  4428. case CSW_FAMAS:
  4429. {
  4430. Equipmented[id][FAMAS] = EquipmentedDef[FAMAS];
  4431. Inventory[id][InventorySlot][w_Equiped] = 0;
  4432. Inventory[id][EquipmentedDef[FAMAS]][w_Equiped] = 1;
  4433. }
  4434. case CSW_MP5NAVY:
  4435. {
  4436. Equipmented[id][MP5] = EquipmentedDef[MP5];
  4437. Inventory[id][InventorySlot][w_Equiped] = 0;
  4438. Inventory[id][EquipmentedDef[MP5]][w_Equiped] = 1;
  4439. }
  4440. case CSW_SCOUT:
  4441. {
  4442. Equipmented[id][SCOUT] = EquipmentedDef[SCOUT];
  4443. Inventory[id][InventorySlot][w_Equiped] = 0;
  4444. Inventory[id][EquipmentedDef[SCOUT]][w_Equiped] = 1;
  4445. }
  4446. }
  4447. }
  4448.  
  4449. public IsEquipWeapon(id, InventorySlot)
  4450. {
  4451. switch(g_Weapon[Inventory[id][InventorySlot][w_id]][w_type])
  4452. {
  4453. case CSW_AK47:
  4454. {
  4455. if(Equipmented[id][AK47] == InventorySlot)
  4456. return 1;
  4457. }
  4458. case CSW_M4A1:
  4459. {
  4460. if(Equipmented[id][M4A1] == InventorySlot)
  4461. return 1;
  4462. }
  4463. case CSW_AWP:
  4464. {
  4465. if(Equipmented[id][AWP] == InventorySlot)
  4466. return 1;
  4467. }
  4468. case CSW_DEAGLE:
  4469. {
  4470. if(Equipmented[id][DEAGLE] == InventorySlot)
  4471. return 1;
  4472. }
  4473. case CSW_KNIFE:
  4474. {
  4475. if(Equipmented[id][KNIFE] == InventorySlot)
  4476. return 1;
  4477. }
  4478. case CSW_FAMAS:
  4479. {
  4480. if(Equipmented[id][FAMAS] == InventorySlot)
  4481. return 1;
  4482. }
  4483. case CSW_MP5NAVY:
  4484. {
  4485. if(Equipmented[id][MP5] == InventorySlot)
  4486. return 1;
  4487. }
  4488. case CSW_SCOUT:
  4489. {
  4490. if(Equipmented[id][SCOUT] == InventorySlot)
  4491. return 1;
  4492. }
  4493. }
  4494. return 0;
  4495. }
  4496.  
  4497. public UserOnline(User_id)
  4498. {
  4499. new foundid = -1;
  4500. for(new i = 1;i < 33;i++)
  4501. {
  4502. if(ska_is_user_logged(i))
  4503. if(ska_get_user_id(i) == User_id)
  4504. {
  4505. foundid = i;
  4506. break;
  4507. }
  4508. }
  4509.  
  4510. return foundid;
  4511. }
  4512.  
  4513. public InventoryClean(id)
  4514. {
  4515. new m_InventoryWriteableSize = s_Player[id][InventoryWriteableSize];
  4516. for(new i;i < m_InventoryWriteableSize;i++)
  4517. Inventory[id][i] = EmptyItem;
  4518. }
  4519.  
  4520. public InventoryCanAdd(id, InvFullText[])
  4521. {
  4522. if(!((s_Player[id][InventoryWriteableSize]) < InventoryMAX))
  4523. {
  4524. server_cmd("amx_kick ^"%s^" ^"Olyan mennyiségű tárgy fordult meg az raktáradban hogy veszéjeszted a szerver futását!^"", Player_Stats[id][Name]);
  4525. return -1;
  4526. }
  4527. else if(!(s_Player[id][InventorySize] < s_Player[id][InventorySizeMax]))
  4528. {
  4529. if(InvFullText[0] != EOS)
  4530. client_print_color(id, print_team_default, "^4%s ^1%s",Prefix, InvFullText);
  4531. return 0;
  4532. }
  4533. else
  4534. {
  4535. return 1;
  4536. }
  4537. }
  4538.  
  4539. public InventoryAddNewItem(id, wep_id, Is_NameTaged, NameTag[32], Is_Stattrak/*-1 for random*/, Stattrak_Kills, Damage_Level/*-1 for random*/, Tradable)
  4540. {
  4541. if(!(ska_is_user_logged(id)))
  4542. return;
  4543.  
  4544. Item[SQL_Key] = -1;
  4545. Item[w_UserId] = ska_get_user_id(id);
  4546. Item[w_id] = wep_id;
  4547. Item[w_Is_NameTaged] = Is_NameTaged;
  4548. if(Is_NameTaged == 1)
  4549. {
  4550. Item[w_NameTag] = NameTag;
  4551. }
  4552. else
  4553. {
  4554. Item[w_NameTag] = "";
  4555. }
  4556. if(Is_Stattrak == -1)
  4557. {
  4558. new RND = random_num(1,100);
  4559. if(8 >= RND)
  4560. Item[w_Is_Stattrak] = 1;
  4561. else
  4562. Item[w_Is_Stattrak] = 0;
  4563. Item[w_Stattrak_Kills] = 0;
  4564. }
  4565. else
  4566. {
  4567. Item[w_Is_Stattrak] = Is_Stattrak;
  4568. Item[w_Stattrak_Kills] = Stattrak_Kills;
  4569. }
  4570. if(Damage_Level == -1)
  4571. {
  4572. Item[w_Damage_Level] = random_num(20,100);
  4573. }
  4574. else
  4575. {
  4576. Item[w_Damage_Level] = Damage_Level;
  4577. }
  4578. Item[w_Tradable] = Tradable;
  4579. Item[w_Equiped] = 0;
  4580. Item[w_Deleted] = 0;
  4581.  
  4582. if(wep_id <= 7) //Alap fegyvereket ha leadolja akkor legyen rögtön felszerelve!
  4583. {
  4584. Item[w_Equiped] = 1;
  4585. }
  4586.  
  4587. Inventory[id][s_Player[id][InventoryWriteableSize]] = Item;
  4588. s_Player[id][InventoryWriteableSize]++;
  4589. s_Player[id][InventorySize]++;
  4590. }
  4591.  
  4592. public InventorySendItem(id, InventorySlot, target)
  4593. {
  4594. if(!(ska_is_user_logged(target)))
  4595. return;
  4596.  
  4597. if(InventoryCanAdd(target, "") == 1)
  4598. {
  4599. if(IsEquipWeapon(id, InventorySlot))
  4600. {
  4601. DeEquipWeapon(id, InventorySlot);
  4602. }
  4603. Item = Inventory[id][InventorySlot];
  4604. Inventory[id][InventorySlot][w_Deleted] = 1;
  4605. Item[w_UserId] = ska_get_user_id(target);
  4606. Item[SQL_Key] = -1; //BUGFIX 2019.08.30 12:11
  4607. Inventory[target][s_Player[target][InventoryWriteableSize]] = Item;
  4608. s_Player[id][InventorySize]--;
  4609. s_Player[target][InventoryWriteableSize]++;
  4610. s_Player[target][InventorySize]++;
  4611.  
  4612. if(s_Player[target][SilentTransfer] && s_Player[id][SilentTransfer])
  4613. client_print_color(0, print_team_default, "^4%s ^1Valaki küldött valakinek egy:^4%s^1!",Prefix ,WeaponText(id, InventorySlot));
  4614. else if(s_Player[target][SilentTransfer] && !(s_Player[id][SilentTransfer]))
  4615. client_print_color(0, print_team_default, "^4%s ^1%s küldött valakinek egy:^4%s^1!",Prefix ,Player_Stats[id][Name] ,WeaponText(id, InventorySlot));
  4616. else if(!(s_Player[target][SilentTransfer]) && s_Player[id][SilentTransfer])
  4617. client_print_color(0, print_team_default, "^4%s ^1Valaki küldött %s-nek/nak egy:^4%s^1!",Prefix ,Player_Stats[target][Name] ,WeaponText(id, InventorySlot));
  4618. else
  4619. client_print_color(0, print_team_default, "^4%s ^1%s küldött %s-nek/nak egy:^4%s^1!",Prefix ,Player_Stats[id][Name] ,Player_Stats[target][Name] ,WeaponText(id, InventorySlot));
  4620.  
  4621. client_print_color(id, print_team_default, "^4%s ^1Sikeres küldés neki:%s(#%i)!",Prefix,Player_Stats[target][Name], ska_get_user_id(target));
  4622. client_print_color(target, print_team_default, "^4%s ^1Sikeresen küldött neked:%s(#%i)!",Prefix,Player_Stats[id][Name], ska_get_user_id(id));
  4623.  
  4624. formatex(logline, 249, "ITEM SEND - _SENDER:#%i _ACCEPTER:#%i _ITEMPROP: <#SQL_Key:%i #id:%i #Is_NameTaged:%i #NameTag:%s #Is_Stattrak:%i #Stattrak_Kills:%i #Damage_Level:%i>", ska_get_user_id(id), ska_get_user_id(target),Item[SQL_Key], Item[w_id], Item[w_Is_NameTaged], Item[w_NameTag], Item[w_Is_Stattrak], Item[w_Stattrak_Kills], Item[w_Damage_Level]);
  4625. log_to_file(Filename_ItemTransaction, logline);
  4626. }
  4627. else
  4628. {
  4629. client_print_color(id, print_team_default, "^4%s ^1Sikertelen küldés (MEGTELT A RAKTÁR) neki:%s(#%i)!",Prefix,Player_Stats[target][Name], ska_get_user_id(target));
  4630. }
  4631. }
  4632.  
  4633. public InventoryDeleteItem(id, InventorySlot)
  4634. {
  4635. Inventory[id][InventorySlot][w_Deleted] = 1;
  4636. Inventory[id][InventorySlot][w_Equiped] = 0;
  4637. if(IsEquipWeapon(id, InventorySlot))
  4638. DeEquipWeapon(id, InventorySlot);
  4639. s_Player[id][InventorySize]--;
  4640.  
  4641. if(Inventory[id][InventorySlot][w_Damage_Level] == 101)
  4642. s_Player[id][InfinityFragment] += Return_BreakPermanent;
  4643. else
  4644. s_Player[id][InfinityFragment] += floatround(Inventory[id][InventorySlot][w_Damage_Level]/10.0);
  4645. client_print_color(id, print_team_default, "^4%s ^1Összetörted a kiválasztott fegyvert!",Prefix)
  4646. }
  4647.  
  4648. public CmdGiveItem(id) //<#User_ID> <Weapon_Id (command: weapon_list)> <Tradable> <IsStattrak / -1 for Random> <Stattrak_Kills> <IsNameTaged> <NameTag> <Damage_Lvl / -1 for Random>
  4649. {
  4650. if(s_AdminLevel[id] != 1)
  4651. {
  4652. client_print(id, print_console, "Nincs elérhetőseg ehhez a parancshoz!");
  4653. return;
  4654. }
  4655.  
  4656. new Arg1[32], Arg2[32], Arg3[32], Arg4[32], Arg5[32], Arg6[32], Arg7[32], Arg8[32];
  4657.  
  4658. read_argv(1, Arg1, charsmax(Arg1));
  4659. read_argv(2, Arg2, charsmax(Arg2));
  4660. read_argv(3, Arg3, charsmax(Arg3));
  4661. read_argv(4, Arg4, charsmax(Arg4));
  4662. read_argv(5, Arg5, charsmax(Arg5));
  4663. read_argv(6, Arg6, charsmax(Arg6));
  4664. read_argv(7, Arg7, charsmax(Arg7));
  4665. read_argv(8, Arg8, charsmax(Arg8));
  4666.  
  4667. if(Arg1[0] == EOS)
  4668. {
  4669. client_print(id, print_console, "weapon_give <#User_ID> <Weapon_Id (command: weapon_list)> <Tradable> <IsStattrak / -1 for Random> <Stattrak_Kills> <IsNameTaged> <NameTag> <Damage_Lvl / -1 for Random>");
  4670. return;
  4671. }
  4672.  
  4673. Item[SQL_Key] = -1;
  4674. Item[w_UserId] = str_to_num(Arg1);
  4675. Item[w_id] = str_to_num(Arg2);
  4676. Item[w_Is_NameTaged] = str_to_num(Arg6);
  4677. Item[w_NameTag] = Arg7;
  4678. Item[w_Is_Stattrak] = str_to_num(Arg4);
  4679. Item[w_Stattrak_Kills] = str_to_num(Arg5);
  4680. Item[w_Damage_Level] = str_to_num(Arg8);
  4681. Item[w_Tradable] = str_to_num(Arg3);
  4682. Item[w_Equiped] = 0;
  4683. Item[w_Deleted] = 0;
  4684.  
  4685.  
  4686. if(!(Item[w_id] < sizeof(g_Weapon)))
  4687. {
  4688. client_print(id, print_console, "There's no '%i' weapon ID!", Item[w_id]);
  4689. return;
  4690. }
  4691.  
  4692. if(Item[w_UserId] <= 0)
  4693. {
  4694. client_print(id, print_console, "'%i' is an invalid User ID!", Item[w_id]);
  4695. return;
  4696. }
  4697.  
  4698. if(Item[w_id] <= 7)
  4699. {
  4700. client_print(id, print_console, "You can't add '%i' weapon ID!", Item[w_id]);
  4701. return;
  4702. }
  4703.  
  4704. if(Item[w_Damage_Level] > 100)
  4705. Item[w_Damage_Level] = 101;
  4706.  
  4707. if(Item[w_Is_Stattrak] == -1)
  4708. Item[w_Is_Stattrak] = random_num(0, 1);
  4709.  
  4710. if(Item[w_Damage_Level] < 0)
  4711. Item[w_Damage_Level] = random_num(20, 100);
  4712.  
  4713. new WasOnline = 0;
  4714. for(new i = 1;i < 33;i++)
  4715. {
  4716. if(ska_is_user_logged(i))
  4717. if(ska_get_user_id(i) == Item[w_UserId])
  4718. {
  4719. if(InventoryCanAdd(i, "") == 1)
  4720. {
  4721. Inventory[i][s_Player[i][InventoryWriteableSize]] = Item;
  4722. s_Player[i][InventoryWriteableSize]++;
  4723. s_Player[i][InventorySize]++;
  4724. client_print_color(id, print_team_default, "^4%s ^1Sikeres addolás erre a fiókra: ^1%s(#%i)^1!",Prefix, Player_Stats[i][Name],ska_get_user_id(i));
  4725. client_print_color(i, print_team_default, "^4%s ^1Sikeresen addoltak neked erről a fiókról: ^1%s(#%i)^1!",Prefix, Player_Stats[id][Name],ska_get_user_id(id));
  4726.  
  4727. formatex(logline, 249, "WEAPON_GIVE - _ADDER:#%i _TARGET:#%i _ITEMPROP: <#SQL_Key:%i #id:%i #Is_NameTaged:%i #NameTag:%s #Is_Stattrak:%i #Stattrak_Kills:%i #Damage_Level:%i>", ska_get_user_id(id), Item[w_UserId],Item[SQL_Key], Item[w_id], Item[w_Is_NameTaged], Item[w_NameTag], Item[w_Is_Stattrak], Item[w_Stattrak_Kills], Item[w_Damage_Level]);
  4728. log_to_file(Filename_Give, logline);
  4729. }
  4730. else
  4731. {
  4732. client_print(id, print_console, "You can add him bcus his(#%i) inventory is full", Item[w_UserId]);
  4733. }
  4734. WasOnline = 1;
  4735. break;
  4736. }
  4737. }
  4738.  
  4739. if(!WasOnline)
  4740. client_print(id, print_console, "You can add him bcus he(#%i) isn't online!", Item[w_UserId]);
  4741.  
  4742. return;
  4743. }
  4744.  
  4745. public CmdListItem(id)
  4746. {
  4747. client_print(id, print_console, "%s - *Weapon List*", Prefix);
  4748. new m_g_Weapon_size = sizeof(g_Weapon);
  4749. for(new i; i < m_g_Weapon_size;i++)
  4750. {
  4751. client_print(id, print_console, "id:%i | Name:%s", i, g_Weapon[i][w_name]);
  4752. }
  4753. }
  4754.  
  4755. public CmdGiveMoney(id)
  4756. {
  4757. if(s_AdminLevel[id] != 1)
  4758. {
  4759. client_print(id, print_console, "Nincs elérhetőseg ehhez a parancshoz!");
  4760. return;
  4761. }
  4762.  
  4763. new Arg1[32], Arg2[32];
  4764.  
  4765. read_argv(1, Arg1, charsmax(Arg1));
  4766. read_argv(2, Arg2, charsmax(Arg2));
  4767.  
  4768. if(Arg1[0] == EOS)
  4769. {
  4770. client_print(id, print_console, "money_give <#User_ID> <Money Amount>");
  4771. return;
  4772. }
  4773.  
  4774. new m_UserId = str_to_num(Arg1);
  4775. new m_Money = str_to_num(Arg2);
  4776.  
  4777. new WasOnline = 0;
  4778. for(new i = 1;i < 33;i++)
  4779. {
  4780. if(ska_get_user_id(i) == m_UserId)
  4781. {
  4782. s_Player[i][Euro] += m_Money;
  4783. client_print_color(id, print_team_default, "^4%s ^1Sikeres addolás erre a fiókra: ^1%s(#%i)^1!",Prefix, Player_Stats[i][Name],ska_get_user_id(i));
  4784. client_print_color(i, print_team_default, "^4%s ^1Sikeresen addoltak neked erről a fiókról: ^1%s(#%i)^1!",Prefix, Player_Stats[id][Name],ska_get_user_id(id));
  4785. WasOnline = 1;
  4786. i = 33;
  4787.  
  4788. formatex(logline, 249, "MONEY_GIVE - _ADDER:#%i _TARGET:#%i _AMOUNT:%i", ska_get_user_id(id), m_UserId, m_Money);
  4789. log_to_file(Filename_Give, logline);
  4790. }
  4791. }
  4792.  
  4793. if(!WasOnline)
  4794. client_print(id, print_console, "You can add him bcus he(#%i) isn't online!", m_UserId);
  4795.  
  4796. return;
  4797. }
  4798.  
  4799. public CmdListCase(id)
  4800. {
  4801. client_print(id, print_console, "%s - *Case List*", Prefix);
  4802. for(new i; i < CaseDrops_CaseNum;i++)
  4803. {
  4804. client_print(id, print_console, "id:%i | Name:%s", i, g_CasesNames[i]);
  4805. }
  4806. }
  4807.  
  4808. public CmdGiveKey(id)
  4809. {
  4810. if(s_AdminLevel[id] != 1)
  4811. {
  4812. client_print(id, print_console, "Nincs elérhetőseg ehhez a parancshoz!");
  4813. return;
  4814. }
  4815.  
  4816. new Arg1[32], Arg2[32];
  4817.  
  4818. read_argv(1, Arg1, charsmax(Arg1));
  4819. read_argv(2, Arg2, charsmax(Arg2));
  4820.  
  4821. if(Arg1[0] == EOS)
  4822. {
  4823. client_print(id, print_console, "key_give <#User_ID> <Key Amount>");
  4824. return;
  4825. }
  4826.  
  4827. new m_UserId = str_to_num(Arg1);
  4828. new m_KeyAmount = str_to_num(Arg2);
  4829.  
  4830. new WasOnline = 0;
  4831. for(new i = 1;i < 33;i++)
  4832. {
  4833. if(ska_get_user_id(i) == m_UserId)
  4834. {
  4835. s_Player[i][Keys] += m_KeyAmount;
  4836. client_print_color(id, print_team_default, "^4%s ^1Sikeres addolás erre a fiókra: ^1%s(#%i)^1!",Prefix, Player_Stats[i][Name],ska_get_user_id(i));
  4837. client_print_color(i, print_team_default, "^4%s ^1Sikeresen addoltak neked erről a fiókról: ^1%s(#%i)^1!",Prefix, Player_Stats[id][Name],ska_get_user_id(id));
  4838. WasOnline = 1;
  4839. i = 33;
  4840.  
  4841. formatex(logline, 249, "KEY_GIVE - _ADDER:#%i _TARGET:#%i _AMOUNT:%i", ska_get_user_id(id), m_UserId, m_KeyAmount);
  4842. log_to_file(Filename_Give, logline);
  4843. }
  4844. }
  4845.  
  4846. if(!WasOnline)
  4847. client_print(id, print_console, "You can add him bcus he(#%i) isn't online!", m_UserId);
  4848.  
  4849. return;
  4850. }
  4851.  
  4852. public CmdGiveCase(id)
  4853. {
  4854. if(s_AdminLevel[id] != 1)
  4855. {
  4856. client_print(id, print_console, "Nincs elérhetőseg ehhez a parancshoz!");
  4857. return;
  4858. }
  4859.  
  4860. new Arg1[32], Arg2[32], Arg3[32];
  4861.  
  4862. read_argv(1, Arg1, charsmax(Arg1));
  4863. read_argv(2, Arg2, charsmax(Arg2));
  4864. read_argv(3, Arg3, charsmax(Arg3));
  4865.  
  4866. if(Arg1[0] == EOS)
  4867. {
  4868. client_print(id, print_console, "case_give <#User_ID> <Case id> <Case Amount>");
  4869. return;
  4870. }
  4871.  
  4872. new m_UserId = str_to_num(Arg1);
  4873. new m_Case_id = str_to_num(Arg2);
  4874. new m_Case_Amount = str_to_num(Arg3);
  4875.  
  4876. if(m_Case_Amount == 0)
  4877. m_Case_Amount = 1;
  4878.  
  4879. new WasOnline = 0;
  4880. for(new i = 1;i < 33;i++)
  4881. {
  4882. if(ska_get_user_id(i) == m_UserId)
  4883. {
  4884. Player_Cases[i][m_Case_id] += m_Case_Amount;
  4885. client_print_color(id, print_team_default, "^4%s ^1Sikeres addolás erre a fiókra: ^1%s(#%i)^1!",Prefix, Player_Stats[i][Name],ska_get_user_id(i));
  4886. client_print_color(i, print_team_default, "^4%s ^1Sikeresen addoltak neked erről a fiókról: ^1%s(#%i)^1!",Prefix, Player_Stats[id][Name],ska_get_user_id(id));
  4887. WasOnline = 1;
  4888. i = 33;
  4889.  
  4890. formatex(logline, 249, "CASE_GIVE - _ADDER:#%i _TARGET:#%i _AMOUNT:%i #case_id:%i", ska_get_user_id(id), m_UserId, m_Case_Amount, m_Case_id);
  4891. log_to_file(Filename_Give, logline);
  4892. }
  4893. }
  4894.  
  4895. if(!WasOnline)
  4896. client_print(id, print_console, "You can add him bcus he(#%i) isn't online!", m_UserId);
  4897.  
  4898. return;
  4899. }
  4900.  
  4901. public CmdGiveInfinityFragment(id)
  4902. {
  4903. if(s_AdminLevel[id] != 1)
  4904. {
  4905. client_print(id, print_console, "Nincs elérhetőseg ehhez a parancshoz!");
  4906. return;
  4907. }
  4908.  
  4909. new Arg1[32], Arg2[32];
  4910.  
  4911. read_argv(1, Arg1, charsmax(Arg1));
  4912. read_argv(2, Arg2, charsmax(Arg2));
  4913.  
  4914. if(Arg1[0] == EOS)
  4915. {
  4916. client_print(id, print_console, "if_give <#User_ID> <InfinityFragment Amount>");
  4917. return;
  4918. }
  4919.  
  4920. new m_UserId = str_to_num(Arg1);
  4921. new m_InfinityFragment = str_to_num(Arg2);
  4922.  
  4923. new WasOnline = 0;
  4924. for(new i = 1;i < 33;i++)
  4925. {
  4926. if(ska_get_user_id(i) == m_UserId)
  4927. {
  4928. s_Player[i][InfinityFragment] += m_InfinityFragment;
  4929. client_print_color(id, print_team_default, "^4%s ^1Sikeres addolás erre a fiókra: ^1%s(#%i)^1!",Prefix, Player_Stats[i][Name],ska_get_user_id(i));
  4930. client_print_color(i, print_team_default, "^4%s ^1Sikeresen addoltak neked erről a fiókról: ^1%s(#%i)^1!",Prefix, Player_Stats[id][Name],ska_get_user_id(id));
  4931. WasOnline = 1;
  4932. i = 33;
  4933.  
  4934. formatex(logline, 249, "IF_GIVE - _ADDER:#%i _TARGET:#%i _AMOUNT:%i", ska_get_user_id(id), m_UserId, m_InfinityFragment);
  4935. log_to_file(Filename_Give, logline);
  4936. }
  4937. }
  4938.  
  4939. if(!WasOnline)
  4940. client_print(id, print_console, "You can add him bcus he(#%i) isn't online!", m_UserId);
  4941.  
  4942. return;
  4943. }
  4944.  
  4945. public CmdSetAdmin(id, level, cid){
  4946. if(!str_to_num(Admin_Permissions[s_AdminLevel[id]][2])){
  4947. client_print(id, print_console, "Nincs elérhetőseg ehhez a parancshoz!");
  4948. return PLUGIN_HANDLED;
  4949. }
  4950.  
  4951. new Arg1[32], Arg2[32], Arg_Int[2];
  4952.  
  4953. read_argv(1, Arg1, charsmax(Arg1));
  4954. read_argv(2, Arg2, charsmax(Arg2));
  4955.  
  4956. Arg_Int[0] = str_to_num(Arg1);
  4957. Arg_Int[1] = str_to_num(Arg2);
  4958.  
  4959. if(Arg_Int[0] < 1 || Arg_Int[1] >= sizeof(Admin_Permissions))
  4960. return PLUGIN_HANDLED;
  4961.  
  4962. new Query[512], Data[2], Is_Online = Check_Id_Online(Arg_Int[0]);
  4963.  
  4964. Data[0] = id;
  4965. Data[1] = get_user_userid(id);
  4966.  
  4967. formatex(Query, charsmax(Query), "UPDATE `NextLvL_S_Player` SET `Admin_Level` = %d WHERE `User_Id` = %d;", Arg_Int[1], Arg_Int[0]);
  4968. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query, Data, 2);
  4969.  
  4970. if(Is_Online){
  4971. if(Arg_Int[1] > 0)
  4972. client_print_color(0, print_team_default, "%s Játékos: ^3%s ^1(#^3%d^1) | %s jogot kapott! ^3%s^1(#^3%d^1) által!", Prefix, Player_Stats[Is_Online][Name], Arg_Int[0], Admin_Permissions[Arg_Int[1]][0], Player_Stats[id][Name], ska_get_user_id(id));
  4973. else
  4974. client_print_color(0, print_team_default, "%s Játékos: ^3%s ^1(#^3%d^1) | Jogok megvonva! ^3%s^1(#^3%d^1) által!", Prefix, Player_Stats[Is_Online][Name], Arg_Int[0], Player_Stats[id][Name], ska_get_user_id(id));
  4975.  
  4976. Set_Permissions(Is_Online);
  4977. s_AdminLevel[Is_Online] = Arg_Int[1];
  4978. }
  4979. else{
  4980. if(Arg_Int[1] > 0)
  4981. client_print_color(0, print_team_default, "%s Játékos: ^3- ^1(#^3%d^1) | %s jogot kapott! ^3%s^1(#^3%d^1) által!", Prefix, Arg_Int[0], Admin_Permissions[Arg_Int[1]][0], Player_Stats[id][Name], ska_get_user_id(id));
  4982. else
  4983. client_print_color(0, print_team_default, "%s Játékos: ^3- ^1(#^3%d^1) | Jogok megvonva! ^3%s^1(#^3%d^1) által!", Prefix, Arg_Int[0], Player_Stats[id][Name], ska_get_user_id(id));
  4984. }
  4985.  
  4986. return PLUGIN_HANDLED;
  4987. }
  4988.  
  4989. public CmdResetScore(id)
  4990. {
  4991. set_user_frags(id, 0);
  4992. cs_set_user_deaths(id, 0);
  4993. client_print_color(id, print_team_default, "^4%s ^1Sikeresen nulláztad a statisztikádat!",Prefix);
  4994. }
  4995. public CmdTop15(id)
  4996. {
  4997. client_print_color(id, print_team_default, "^4%s ^1A top15 minden kör elején automatikusan frissül!",Prefix);
  4998.  
  4999. new len;
  5000.  
  5001. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<head><meta charset=^"UTF-8^"></head><center><table border=^"1^">");
  5002. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<body bgcolor=#000000><table style=^"color:#00FFFF^">");
  5003. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>Név</td>");
  5004. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>Ölés</td>");
  5005. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>Halál</td>");
  5006. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>Fejes</td>");
  5007. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>Pontosság</td>");
  5008.  
  5009. for(new i; i < 15; i++)
  5010. {
  5011. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<tr><td>%i. %s</td>", i+1, Top15_list[i][Name]);
  5012. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>%i</td>", Top15_list[i][Kills]);
  5013. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>%i</td>", Top15_list[i][Deaths]);
  5014. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>%i</td>", Top15_list[i][HSs]);
  5015. len += formatex(StringMotd[len], charsmax(StringMotd) - len, "<td>%.2f</td></tr>", ( Top15_list[i][AllHitCount]/(Top15_list[i][AllShotCount]/100.0) ));
  5016. }
  5017. len = formatex(StringMotd[len], charsmax(StringMotd) - len, "</table></center>");
  5018.  
  5019. show_motd(id, StringMotd, "Top15");
  5020. }
  5021.  
  5022. public CmdRank(id)
  5023. {
  5024. Update_Player_Stats(id);
  5025. Load_Data_All(id, "NextLvL_Player_Stats", "TablaAdatValasztasOsszes_PlayerStats");
  5026. }
  5027.  
  5028. public client_putinserver(id)
  5029. {
  5030. s_Player[id][FirstServerLogin] = 1;
  5031. InventoryClean(id);
  5032. Player_Cases[id] = CasesEmpty;
  5033. Equipmented[id] = EquipmentedDef;
  5034. Player_Stats[id][Kills] = 0;
  5035. Player_Stats[id][HSs] = 0;
  5036. Player_Stats[id][Deaths] = 0;
  5037. Player_Stats[id][AllHitCount] = 0;
  5038. Player_Stats[id][AllShotCount] = 0;
  5039. s_Player[id][Euro] = 0.0;
  5040. s_AdminLevel[id] = 0;
  5041. Player_Stats[id][Name] = "";
  5042. get_user_name(id, Player_Stats[id][Name], 32);
  5043. s_Player[id][PlayTime] = 0;
  5044. s_Player[id][ToolsStattrak] = 0;
  5045. s_Player[id][ToolsNametag] = 0;
  5046. s_Player[id][InfinityFragment] = 0;
  5047. s_Player[id][InventorySize] = 0;
  5048. s_Player[id][InventorySizeMax] = 20;
  5049. s_Player[id][InventoryWriteableSize] = 0;
  5050. s_Player[id][SkinDisplay] = 1;
  5051. s_Player[id][HudDisplayPlayerInfo] = 1;
  5052. s_Player[id][HudDisplayWeaponInfo] = 1;
  5053. s_Player[id][SoundPlay] = 1;
  5054. s_Player[id][RoundEndSoundPlay] = 1;
  5055. s_Player[id][KnifeSoundPlay] = 1;
  5056. s_Player[id][ItemBreakSoundPlay] = 1;
  5057. s_Player[id][CanSendMe] = 1;
  5058. s_Player[id][SilentTransfer] = 0;
  5059. s_Player[id][Ranking] = 1;
  5060. s_Player[id][SilentAdminMod] = 0;
  5061. s_Player[id][Keys] = 0;
  5062. s_Player[id][WeaponBuyInRound] = 0;
  5063. s_Player[id][RankPoint] = 0.0;
  5064.  
  5065. searchsettings_Player[id][SelectedSearchType] = 0;
  5066. searchsettings_Player[id][weaponsearch_Type] = -1;
  5067. searchsettings_Player[id][weaponsearch_MaxDamage] = 101;
  5068. searchsettings_Player[id][weaponsearch_MinDamage] = 0;
  5069. searchsettings_Player[id][weaponsearch_MaxCost] = Market_MaxCost;
  5070. searchsettings_Player[id][weaponsearch_MinCost] = 0;
  5071. searchsettings_Player[id][weaponsearch_Stattrak] = -1;
  5072. searchsettings_Player[id][weaponsearch_Nametag] = -1;
  5073. searchsettings_Player[id][casesearch_Type] = -1;
  5074. searchsettings_Player[id][casesearch_MaxAmount] = Market_MaxAmount;
  5075. searchsettings_Player[id][casesearch_MinAmount] = 0;
  5076. searchsettings_Player[id][casesearch_MaxCost] = Market_MaxCost;
  5077. searchsettings_Player[id][casesearch_MinCost] = 0;
  5078. searchsettings_Player[id][keysearch_MaxAmount] = Market_MaxAmount;
  5079. searchsettings_Player[id][keysearch_MinAmount] = 0;
  5080. searchsettings_Player[id][keysearch_MaxCost] = Market_MaxCost;
  5081. searchsettings_Player[id][keysearch_MinCost] = 0;
  5082. searchsettings_Player[id][infinityfragmentsearch_MaxAmount] = Market_MaxAmount;
  5083. searchsettings_Player[id][infinityfragmentsearch_MinAmount] = 0;
  5084. searchsettings_Player[id][infinityfragmentsearch_MaxCost] = Market_MaxCost;
  5085. searchsettings_Player[id][infinityfragmentsearch_MinCost] = 0;
  5086. searchsettings_Player[id][playersearch_User_id] = 1;
  5087. }
  5088.  
  5089. public InventoryGiveDefault(id)
  5090. {
  5091. if(s_Player[id][FirstServerLogin] == 0)
  5092. return;
  5093. InventoryAddNewItem(id, 0, 0, "", 0, 0, 101, 0);
  5094. InventoryAddNewItem(id, 1, 0, "", 0, 0, 101, 0);
  5095. InventoryAddNewItem(id, 2, 0, "", 0, 0, 101, 0);
  5096. InventoryAddNewItem(id, 3, 0, "", 0, 0, 101, 0);
  5097. InventoryAddNewItem(id, 4, 0, "", 0, 0, 101, 0);
  5098. InventoryAddNewItem(id, 5, 0, "", 0, 0, 101, 0);
  5099. InventoryAddNewItem(id, 6, 0, "", 0, 0, 101, 0);
  5100. InventoryAddNewItem(id, 7, 0, "", 0, 0, 101, 0);
  5101. s_Player[id][FirstServerLogin] = 0;
  5102. }
  5103. public plugin_cfg()
  5104. {
  5105. g_SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]);
  5106.  
  5107. CreateTable_S_Player();
  5108. CreateTable_Player_Stats();
  5109. CreateTable_Player_Cases();
  5110. CreateTable_g_Inventory();
  5111. CreateTable_g_Products();
  5112. }
  5113. public CreateTable_g_Products()
  5114. {
  5115.  
  5116. new Len;
  5117.  
  5118. Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `NextLvL_g_Products` ");
  5119. Len += formatex(Query[Len], charsmax(Query)-Len, "( ");
  5120. Len += formatex(Query[Len], charsmax(Query)-Len, "`product_SQL_key` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  5121. Len += formatex(Query[Len], charsmax(Query)-Len, "`UTS_EndTimeDate` INT(32) NOT NULL,");
  5122. Len += formatex(Query[Len], charsmax(Query)-Len, "`Type` INT(2) NOT NULL,");
  5123. Len += formatex(Query[Len], charsmax(Query)-Len, "`product_id` INT(11) NOT NULL,");
  5124. Len += formatex(Query[Len], charsmax(Query)-Len, "`Amount` INT(11) NOT NULL,");
  5125. Len += formatex(Query[Len], charsmax(Query)-Len, "`Price` INT(32) NOT NULL,");
  5126. Len += formatex(Query[Len], charsmax(Query)-Len, "`Seller_User_id` INT(32) NOT NULL,");
  5127. Len += formatex(Query[Len], charsmax(Query)-Len, "`p_w_Is_NameTaged` INT(1) NOT NULL,");
  5128. Len += formatex(Query[Len], charsmax(Query)-Len, "`p_w_NameTag` varchar(32) NOT NULL,");
  5129. Len += formatex(Query[Len], charsmax(Query)-Len, "`p_w_Is_Stattrak` INT(1) NOT NULL,");
  5130. Len += formatex(Query[Len], charsmax(Query)-Len, "`p_w_Stattrak_Kills` INT(32) NOT NULL,");
  5131. Len += formatex(Query[Len], charsmax(Query)-Len, "`p_w_Damage_Level` INT(4) NOT NULL,");
  5132. Len += formatex(Query[Len], charsmax(Query)-Len, "`p_w_AttackCount` INT(11) NOT NULL)");
  5133.  
  5134. SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
  5135. }
  5136.  
  5137. public CreateTable_S_Player()
  5138. {
  5139.  
  5140. new Len;
  5141.  
  5142. Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `NextLvL_S_Player` ");
  5143. Len += formatex(Query[Len], charsmax(Query)-Len, "( ");
  5144. Len += formatex(Query[Len], charsmax(Query)-Len, "`Id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  5145. Len += formatex(Query[Len], charsmax(Query)-Len, "`User_Id` INT(11) NOT NULL,");
  5146. Len += formatex(Query[Len], charsmax(Query)-Len, "`FirstServerLogin` INT(1) NOT NULL,");
  5147. Len += formatex(Query[Len], charsmax(Query)-Len, "`Dollar` INT(32) NOT NULL,");
  5148. Len += formatex(Query[Len], charsmax(Query)-Len, "`PlayTime` INT(32) NOT NULL,");
  5149. Len += formatex(Query[Len], charsmax(Query)-Len, "`Admin_Level` INT(1) NOT NULL,");
  5150. Len += formatex(Query[Len], charsmax(Query)-Len, "`ToolsStattrak` INT(32) NOT NULL,");
  5151. Len += formatex(Query[Len], charsmax(Query)-Len, "`ToolsNametag` INT(32) NOT NULL,");
  5152. Len += formatex(Query[Len], charsmax(Query)-Len, "`InfinityFragment` INT(32) NOT NULL,");
  5153. Len += formatex(Query[Len], charsmax(Query)-Len, "`InventorySizeMax` INT(6) NOT NULL,");
  5154. Len += formatex(Query[Len], charsmax(Query)-Len, "`MarketSize` INT(6) NOT NULL,");
  5155. Len += formatex(Query[Len], charsmax(Query)-Len, "`SkinDisplay` INT(1) NOT NULL,");
  5156. Len += formatex(Query[Len], charsmax(Query)-Len, "`HudDisplayPlayerInfo` INT(1) NOT NULL,");
  5157. Len += formatex(Query[Len], charsmax(Query)-Len, "`HudDisplayWeaponInfo` INT(1) NOT NULL,");
  5158. Len += formatex(Query[Len], charsmax(Query)-Len, "`SoundPlay` INT(1) NOT NULL,");
  5159. Len += formatex(Query[Len], charsmax(Query)-Len, "`RoundEndSoundPlay` INT(1) NOT NULL,");
  5160. Len += formatex(Query[Len], charsmax(Query)-Len, "`KnifeSoundPlay` INT(1) NOT NULL,");
  5161. Len += formatex(Query[Len], charsmax(Query)-Len, "`ItemBreakSoundPlay` INT(1) NOT NULL,");
  5162. Len += formatex(Query[Len], charsmax(Query)-Len, "`CanSendMe` INT(1) NOT NULL,");
  5163. Len += formatex(Query[Len], charsmax(Query)-Len, "`SilentTransfer` INT(1) NOT NULL,");
  5164. Len += formatex(Query[Len], charsmax(Query)-Len, "`SilentAdminMod` INT(1) NOT NULL,");
  5165. Len += formatex(Query[Len], charsmax(Query)-Len, "`Ranking` INT(1) NOT NULL,");
  5166. Len += formatex(Query[Len], charsmax(Query)-Len, "`iKeys` INT(32) NOT NULL,");
  5167. Len += formatex(Query[Len], charsmax(Query)-Len, "`RankPoint` INT(32) NOT NULL)");
  5168.  
  5169. SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
  5170. }
  5171.  
  5172. public CreateTable_Player_Stats()
  5173. {
  5174. new Len;
  5175.  
  5176. Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `NextLvL_Player_Stats` ");
  5177. Len += formatex(Query[Len], charsmax(Query)-Len, "( ");
  5178. Len += formatex(Query[Len], charsmax(Query)-Len, "`Id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  5179. Len += formatex(Query[Len], charsmax(Query)-Len, "`User_Id` INT(11) NOT NULL,");
  5180. Len += formatex(Query[Len], charsmax(Query)-Len, "`Name` varchar(32) NOT NULL,");
  5181. Len += formatex(Query[Len], charsmax(Query)-Len, "`Kills` INT(11) NOT NULL,");
  5182. Len += formatex(Query[Len], charsmax(Query)-Len, "`HSs` INT(11) NOT NULL,");
  5183. Len += formatex(Query[Len], charsmax(Query)-Len, "`Deaths` INT(11) NOT NULL,");
  5184. Len += formatex(Query[Len], charsmax(Query)-Len, "`AllHitCount` INT(32) NOT NULL,");
  5185. Len += formatex(Query[Len], charsmax(Query)-Len, "`AllShotCount` INT(32) NOT NULL)");
  5186.  
  5187. SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
  5188. }
  5189.  
  5190. public CreateTable_Player_Cases()
  5191. {
  5192. new Len;
  5193.  
  5194. Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `NextLvL_Player_Cases` ");
  5195. Len += formatex(Query[Len], charsmax(Query)-Len, "( ");
  5196. Len += formatex(Query[Len], charsmax(Query)-Len, "`Id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  5197. Len += formatex(Query[Len], charsmax(Query)-Len, "`User_Id` INT(11) NOT NULL,");
  5198. Len += formatex(Query[Len], charsmax(Query)-Len, "`S0_Fusion` INT(11) NOT NULL,");
  5199. Len += formatex(Query[Len], charsmax(Query)-Len, "`S0_Power` INT(11) NOT NULL,");
  5200. Len += formatex(Query[Len], charsmax(Query)-Len, "`S0_Thunder` INT(11) NOT NULL,");
  5201. Len += formatex(Query[Len], charsmax(Query)-Len, "`S0_Light` INT(11) NOT NULL,");
  5202. Len += formatex(Query[Len], charsmax(Query)-Len, "`S0_Boom` INT(11) NOT NULL,");
  5203. Len += formatex(Query[Len], charsmax(Query)-Len, "`S1_BlackIce` INT(11) NOT NULL,");
  5204. Len += formatex(Query[Len], charsmax(Query)-Len, "`S1_NoName` INT(11) NOT NULL)");
  5205. //CASE EXTEND NEED HERE, Ha ládát akarsz böviteni itt is kell!
  5206.  
  5207. SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
  5208. }
  5209.  
  5210. public CreateTable_g_Inventory()
  5211. {
  5212.  
  5213. new Len;
  5214.  
  5215. Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `NextLvL_g_Inventory` ");
  5216. Len += formatex(Query[Len], charsmax(Query)-Len, "( ");
  5217. Len += formatex(Query[Len], charsmax(Query)-Len, "`SQL_Key` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  5218. Len += formatex(Query[Len], charsmax(Query)-Len, "`User_Id` INT(11) NOT NULL,");
  5219. Len += formatex(Query[Len], charsmax(Query)-Len, "`Weapon_Id` INT(3) NOT NULL, ");
  5220. Len += formatex(Query[Len], charsmax(Query)-Len, "`Is_NameTaged` INT(1) NOT NULL,");
  5221. Len += formatex(Query[Len], charsmax(Query)-Len, "`NameTag` varchar(32) NOT NULL,");
  5222. Len += formatex(Query[Len], charsmax(Query)-Len, "`Is_StatTraked` INT(1) NOT NULL,");
  5223. Len += formatex(Query[Len], charsmax(Query)-Len, "`StatTrak_Kills` INT(11) NOT NULL,");
  5224. Len += formatex(Query[Len], charsmax(Query)-Len, "`Damage_Level` INT(3) NOT NULL,");
  5225. Len += formatex(Query[Len], charsmax(Query)-Len, "`AttackCount` INT(11) NOT NULL,");
  5226. Len += formatex(Query[Len], charsmax(Query)-Len, "`Tradable` INT(1) NOT NULL,");
  5227. Len += formatex(Query[Len], charsmax(Query)-Len, "`Equiped` INT(1) NOT NULL)");
  5228.  
  5229. SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
  5230. }
  5231.  
  5232. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5233. {
  5234. if(FailState == TQUERY_CONNECT_FAILED)
  5235. set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
  5236. else if(FailState == TQUERY_QUERY_FAILED)
  5237. set_fail_state("Query Error");
  5238. if(Errcode)
  5239. log_amx("[HIBA*] HIBAT DOBTAM: %s",Error);
  5240. }
  5241. public Load_User_Data(id)
  5242. {
  5243. Load_Data(id, "NextLvL_S_Player", "TablaAdatValasztas_sPlayer");
  5244. Load_Data(id, "NextLvL_Player_Stats", "TablaAdatValasztas_PlayerStats");
  5245. Load_Data(id, "NextLvL_Player_Cases", "TablaAdatValasztas_Cases");
  5246. Load_Data(id, "NextLvL_g_Inventory", "TablaAdatValasztas_gInventory");
  5247. Load_Data(id, "NextLvL_BetaTesters", "TablaAdatLetrehoz_BetaTesters")
  5248. }
  5249.  
  5250. public Load_Data_All(id, Table_Name[], ForwardMetod[])
  5251. {
  5252. new Data[1];
  5253. Data[0] = id;
  5254. formatex(Query, charsmax(Query), "SELECT * FROM `%s` ORDER BY ( Kills + ( HSs / 10 ) - Deaths ) * ( AllHitCount / ( AllShotCount / 100 ) ) DESC;",Table_Name);
  5255. SQL_ThreadQuery(g_SqlTuple, ForwardMetod, Query, Data, 1);
  5256. }
  5257.  
  5258. public Load_Data_15(Table_Name[], ForwardMetod[])
  5259. {
  5260. new Data[1];
  5261. formatex(Query, charsmax(Query), "SELECT * FROM `%s` ORDER BY ( Kills + ( HSs / 10 ) - Deaths ) * ( AllHitCount / ( AllShotCount / 100 ) ) DESC;",Table_Name);
  5262. SQL_ThreadQuery(g_SqlTuple, ForwardMetod, Query, Data, 1);
  5263. }
  5264.  
  5265.  
  5266. public Load_Data(id, Table_Name[], ForwardMetod[])
  5267. {
  5268. new Data[1];
  5269. Data[0] = id;
  5270. formatex(Query, charsmax(Query), "SELECT * FROM `%s` WHERE User_Id = %d;",Table_Name ,ska_get_user_id(id))
  5271. SQL_ThreadQuery(g_SqlTuple, ForwardMetod, Query, Data, 1);
  5272. }
  5273. public Load_Data_Market(Table_Name[], ForwardMetod[])
  5274. {
  5275. new Data[1];
  5276. formatex(Query, charsmax(Query), "SELECT * FROM `%s`;",Table_Name)
  5277. SQL_ThreadQuery(g_SqlTuple, ForwardMetod, Query, Data, 1);
  5278. }
  5279.  
  5280. public TablaAdatLetrehoz_BetaTesters(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5281. {
  5282. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5283. {
  5284. log_amx("%s", Error)
  5285. return;
  5286. }
  5287. else
  5288. {
  5289. new id = Data[0];
  5290.  
  5291. if(SQL_NumRows(Query) > 0)
  5292. {
  5293. //Már volt fent béta teszt idő alatt
  5294. }
  5295. else
  5296. {
  5297. new text[512];
  5298. formatex(text, charsmax(text), "INSERT INTO `NextLvL_BetaTesters` (`User_id`) VALUES (%i);", ska_get_user_id(id));
  5299. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
  5300. InventoryGiveDefault(id);
  5301. }
  5302. }
  5303. }
  5304.  
  5305. public TablaAdatValasztas15_PlayerStats(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5306. {
  5307. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5308. {
  5309. log_amx("%s", Error)
  5310. return;
  5311. }
  5312. else
  5313. {
  5314. if(SQL_NumRows(Query) > 0)
  5315. {
  5316. new x = 0;
  5317. while(SQL_MoreResults(Query) && x <= 14)
  5318. {
  5319. Top15_list[x][AllHitCount] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AllHitCount"));
  5320. Top15_list[x][AllShotCount] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AllShotCount"));
  5321. if(Top15_list[x][AllHitCount] != 0 && Top15_list[x][AllShotCount] != 0)
  5322. {
  5323. SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Name"),Top15_list[x][Name] , 31);
  5324. Top15_list[x][Kills] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Kills"));
  5325. Top15_list[x][HSs] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "HSs"));
  5326. Top15_list[x][Deaths] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Deaths"));
  5327. x++;
  5328. }
  5329. SQL_NextRow(Query);
  5330. }
  5331. }
  5332. /*else
  5333.   {
  5334.   new text[512];
  5335.   formatex(text, charsmax(text), "INSERT INTO `NextLvL_g_Inventory` (`User_Id`) VALUES (%i);", ska_get_user_id(id));
  5336.   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
  5337.   }*/
  5338. }
  5339. }
  5340.  
  5341.  
  5342. public TablaAdatValasztasOsszes_PlayerStats(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5343. {
  5344. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5345. {
  5346. log_amx("%s", Error)
  5347. return;
  5348. }
  5349. else
  5350. {
  5351. new id = Data[0];
  5352. new CanNOTRanked = 0;
  5353.  
  5354. if(SQL_NumRows(Query) > 0)
  5355. {
  5356. new x = 0;
  5357. while(SQL_MoreResults(Query))
  5358. {
  5359. x++;
  5360. if(SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "User_Id")) == ska_get_user_id(id))
  5361. {
  5362. s_Player[id][Now_Rank] = x;
  5363. if(0 == SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AllHitCount")) || 0 == SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AllShotCount")))
  5364. CanNOTRanked = 1;
  5365. }
  5366. SQL_NextRow(Query);
  5367. }
  5368. AllRegistedRank = x;
  5369. if(CanNOTRanked)
  5370. {
  5371. client_print_color(id, print_team_default, "^4%s ^1Rangod: N/%i , Ölések:%i , Halálok:%i , Fejesek:%i , Hatékonyság:%.3f", Prefix, AllRegistedRank, Player_Stats[id][Kills], Player_Stats[id][Deaths], Player_Stats[id][HSs], ( Player_Stats[id][AllHitCount]/(Player_Stats[id][AllShotCount]/100.0) ));
  5372. client_print_color(id, print_team_default, "^4%s ^1Nincs elég adatunk hogy betudjuk sorolni megfelelően!",Prefix);
  5373. }
  5374. else
  5375. client_print_color(id, print_team_default, "^4%s ^1Rangod: %i/%i , Ölések:%i , Halálok:%i , Fejesek:%i , Hatékonyság:%.3f", Prefix, s_Player[id][Now_Rank], AllRegistedRank, Player_Stats[id][Kills], Player_Stats[id][Deaths], Player_Stats[id][HSs], ( Player_Stats[id][AllHitCount]/(Player_Stats[id][AllShotCount]/100.0) ));
  5376. }
  5377. /*else
  5378.   {
  5379.   new text[512];
  5380.   formatex(text, charsmax(text), "INSERT INTO `NextLvL_g_Inventory` (`User_Id`) VALUES (%i);", ska_get_user_id(id));
  5381.   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
  5382.   }*/
  5383. }
  5384. }
  5385.  
  5386. public TablaAdatValasztas_sPlayer(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5387. {
  5388. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5389. {
  5390. log_amx("%s", Error)
  5391. return;
  5392. }
  5393. else
  5394. {
  5395. new id = Data[0];
  5396.  
  5397. if(SQL_NumRows(Query) > 0)
  5398. {
  5399. s_Player[id][FirstServerLogin] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "FirstServerLogin"));
  5400. s_Player[id][Euro] = (float(SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Dollar")))/100.0);
  5401. s_Player[id][PlayTime] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "PlayTime"));
  5402. s_AdminLevel[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Admin_Level"));
  5403. s_Player[id][ToolsStattrak] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ToolsStattrak"));
  5404. s_Player[id][ToolsNametag] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ToolsNametag"));
  5405. s_Player[id][InfinityFragment] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "InfinityFragment"));
  5406. s_Player[id][InventorySizeMax] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "InventorySizeMax"));
  5407. s_Player[id][MarketSize] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "MarketSize"));
  5408. s_Player[id][SkinDisplay] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SkinDisplay"));
  5409. s_Player[id][HudDisplayPlayerInfo] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "HudDisplayPlayerInfo"));
  5410. s_Player[id][HudDisplayWeaponInfo] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "HudDisplayWeaponInfo"));
  5411. s_Player[id][SoundPlay] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SoundPlay"));
  5412. s_Player[id][RoundEndSoundPlay] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "RoundEndSoundPlay"));
  5413. s_Player[id][KnifeSoundPlay] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "KnifeSoundPlay"));
  5414. s_Player[id][ItemBreakSoundPlay] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "ItemBreakSoundPlay"));
  5415. s_Player[id][CanSendMe] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "CanSendMe"));
  5416. s_Player[id][SilentTransfer] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SilentTransfer"));
  5417. s_Player[id][SilentAdminMod] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SilentAdminMod"));
  5418. s_Player[id][Ranking] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Ranking"));
  5419. s_Player[id][Keys] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "iKeys"));
  5420. s_Player[id][RankPoint] = (float(SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "RankPoint")))/100.0);
  5421.  
  5422. new fwdtogglemusic
  5423. ExecuteForward(fwd_musiccmd,fwdtogglemusic,id);
  5424.  
  5425. Set_Permissions(id);
  5426. }
  5427. else
  5428. {
  5429. new text[512];
  5430. formatex(text, charsmax(text), "INSERT INTO `NextLvL_S_Player` (`User_Id`, `FirstServerLogin`) VALUES (%i, 0);", ska_get_user_id(id));
  5431. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
  5432. InventoryGiveDefault(id);
  5433. }
  5434. }
  5435. }
  5436.  
  5437. public TablaAdatValasztas_PlayerStats(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5438. {
  5439. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5440. {
  5441. log_amx("%s", Error)
  5442. return;
  5443. }
  5444. else
  5445. {
  5446. new id = Data[0];
  5447.  
  5448. if(SQL_NumRows(Query) > 0)
  5449. {
  5450. Player_Stats[id][Kills] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Kills"));
  5451. Player_Stats[id][HSs] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "HSs"));
  5452. Player_Stats[id][Deaths] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Deaths"));
  5453. Player_Stats[id][AllHitCount] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AllHitCount"));
  5454. Player_Stats[id][AllShotCount] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AllShotCount"));
  5455. }
  5456. else
  5457. {
  5458. new text[512];
  5459. formatex(text, charsmax(text), "INSERT INTO `NextLvL_Player_Stats` (`User_Id`) VALUES (%i);", ska_get_user_id(id));
  5460. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
  5461. }
  5462. }
  5463. }
  5464. public TablaAdatValasztas_Cases(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5465. {
  5466. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5467. {
  5468. log_amx("%s", Error)
  5469. return;
  5470. }
  5471. else
  5472. {
  5473. new id = Data[0];
  5474.  
  5475. if(SQL_NumRows(Query) > 0)
  5476. {
  5477. Player_Cases[id][0] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "S0_Fusion"));
  5478. Player_Cases[id][1] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "S0_Power"));
  5479. Player_Cases[id][2] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "S0_Thunder"));
  5480. Player_Cases[id][3] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "S0_Light"));
  5481. Player_Cases[id][4] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "S0_Boom"));
  5482. Player_Cases[id][5] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "S1_BlackIce"));
  5483. Player_Cases[id][6] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "S1_NoName"));
  5484. //CASE EXTEND NEED HERE, Ha ládát akarsz böviteni itt is kell!
  5485. }
  5486. else
  5487. {
  5488. new text[512];
  5489. formatex(text, charsmax(text), "INSERT INTO `NextLvL_Player_Cases` (`User_Id`) VALUES (%i);", ska_get_user_id(id));
  5490. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
  5491. }
  5492. }
  5493. }
  5494. public Update_Player_Stats(id)
  5495. {
  5496. new Len;
  5497.  
  5498. Len += formatex(Query[Len], charsmax(Query), "UPDATE `NextLvL_Player_Stats` SET ");
  5499. Len += formatex(Query[Len], charsmax(Query)-Len, "Name = ^"%s^", ", Player_Stats[id][Name]);
  5500. Len += formatex(Query[Len], charsmax(Query)-Len, "Kills = ^"%i^", ", Player_Stats[id][Kills]);
  5501. Len += formatex(Query[Len], charsmax(Query)-Len, "HSs = ^"%i^", ", Player_Stats[id][HSs]);
  5502. Len += formatex(Query[Len], charsmax(Query)-Len, "Deaths = ^"%i^", ", Player_Stats[id][Deaths]);
  5503. Len += formatex(Query[Len], charsmax(Query)-Len, "AllHitCount = ^"%i^", ", Player_Stats[id][AllHitCount]);
  5504.  
  5505. Len += formatex(Query[Len], charsmax(Query)-Len, "AllShotCount = ^"%i^" WHERE `User_Id` = %d;", Player_Stats[id][AllShotCount], ska_get_user_id(id));
  5506.  
  5507. SQL_ThreadQuery(g_SqlTuple, "QuerySetData_Stats", Query);
  5508. }
  5509. public TablaAdatValasztas_gInventory(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5510. {
  5511. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5512. {
  5513. log_amx("%s", Error)
  5514. return;
  5515. }
  5516. else
  5517. {
  5518. new id = Data[0];
  5519.  
  5520. if(SQL_NumRows(Query) > 0)
  5521. {
  5522. new x = 0;
  5523. while(SQL_MoreResults(Query))
  5524. {
  5525. Inventory[id][x][w_UserId] = ska_get_user_id(id);
  5526. Inventory[id][x][SQL_Key] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SQL_Key"));
  5527. Inventory[id][x][w_UserId] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "User_Id"));
  5528. Inventory[id][x][w_id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Weapon_Id"));
  5529. Inventory[id][x][w_Is_NameTaged] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Is_NameTaged"));
  5530. SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "NameTag"), Inventory[id][x][w_NameTag], 31);
  5531. Inventory[id][x][w_Is_Stattrak] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Is_StatTraked"));
  5532. Inventory[id][x][w_Stattrak_Kills] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "StatTrak_Kills"));
  5533. Inventory[id][x][w_Damage_Level] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Damage_Level"));
  5534. Inventory[id][x][w_AttackCount] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AttackCount"));
  5535. Inventory[id][x][w_Tradable] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Tradable"));
  5536. Inventory[id][x][w_Equiped] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Equiped"));
  5537.  
  5538. if(Inventory[id][x][w_Equiped])
  5539. EquipWeapon(id, x);
  5540.  
  5541. x++;
  5542. s_Player[id][InventorySize] = x;
  5543. s_Player[id][InventoryWriteableSize] = x;
  5544. SQL_NextRow(Query);
  5545. }
  5546. }
  5547. /*else
  5548.   {
  5549.   new text[512];
  5550.   formatex(text, charsmax(text), "INSERT INTO `NextLvL_g_Inventory` (`User_Id`) VALUES (%i);", ska_get_user_id(id));
  5551.   SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text);
  5552.   }*/
  5553. }
  5554. }
  5555. public TablaAdatValasztas_gProducts(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5556. {
  5557. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5558. {
  5559. log_amx("ERROR FORM LOAD IN MARKET:");
  5560. log_amx("%s", Error);
  5561. return;
  5562. }
  5563. else
  5564. {
  5565.  
  5566. if(SQL_NumRows(Query) > 0)
  5567. {
  5568. new m_Product[product_Properties];
  5569. while(SQL_MoreResults(Query))
  5570. {
  5571. m_Product[product_SQL_key] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "product_SQL_key"));
  5572. m_Product[UTS_EndTimeDate] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "UTS_EndTimeDate"));
  5573. m_Product[Type] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Type"));
  5574. m_Product[product_id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "product_id"));
  5575. m_Product[Amount] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Amount"));
  5576. m_Product[Price] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Price"));
  5577. m_Product[Seller_User_id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Seller_User_id"));
  5578. m_Product[p_w_Is_NameTaged] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "p_w_Is_NameTaged"));
  5579. SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "p_w_NameTag"), m_Product[p_w_NameTag], 31);
  5580. m_Product[p_w_Is_Stattrak] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "p_w_Is_Stattrak"));
  5581. m_Product[p_w_Stattrak_Kills] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "p_w_Stattrak_Kills"));
  5582. m_Product[p_w_Damage_Level] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "p_w_Damage_Level"));
  5583. m_Product[p_w_AttackCount] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "p_w_AttackCount"));
  5584.  
  5585. ArrayPushArray(g_Products, m_Product);
  5586. SQL_NextRow(Query);
  5587. }
  5588. client_print_color(0, print_team_default, "^4%s ^1A piaci árucikk(ek) sikeresen betöltödtek!",Prefix);
  5589. }
  5590. }
  5591. }
  5592.  
  5593. public Update_User_Data(id)
  5594. {
  5595. Update_s_Player(id);
  5596. Update_Player_Stats(id);
  5597. Update_Player_Cases(id);
  5598. Update_g_Inventory(id);
  5599. }
  5600.  
  5601. public Update_s_Player(id)
  5602. {
  5603. new Len;
  5604.  
  5605. Len += formatex(Query[Len], charsmax(Query), "UPDATE `NextLvL_S_Player` SET ");
  5606. Len += formatex(Query[Len], charsmax(Query)-Len, "FirstServerLogin = ^"%i^", ", s_Player[id][FirstServerLogin]);
  5607. Len += formatex(Query[Len], charsmax(Query)-Len, "Dollar = ^"%i^", ", floatround(s_Player[id][Euro]*100.0))
  5608. Len += formatex(Query[Len], charsmax(Query)-Len, "PlayTime = ^"%i^", ", s_Player[id][PlayTime]+get_user_time(id));
  5609. Len += formatex(Query[Len], charsmax(Query)-Len, "ToolsStattrak = ^"%i^", ", s_Player[id][ToolsStattrak]);
  5610. Len += formatex(Query[Len], charsmax(Query)-Len, "ToolsNametag = ^"%i^", ", s_Player[id][ToolsNametag]);
  5611. Len += formatex(Query[Len], charsmax(Query)-Len, "InfinityFragment = ^"%i^", ", s_Player[id][InfinityFragment]);
  5612. Len += formatex(Query[Len], charsmax(Query)-Len, "InventorySizeMax = ^"%i^", ", s_Player[id][InventorySizeMax]);
  5613. Len += formatex(Query[Len], charsmax(Query)-Len, "MarketSize = ^"%i^", ", s_Player[id][MarketSize]);
  5614. Len += formatex(Query[Len], charsmax(Query)-Len, "SkinDisplay = ^"%i^", ", s_Player[id][SkinDisplay]);
  5615. Len += formatex(Query[Len], charsmax(Query)-Len, "HudDisplayPlayerInfo = ^"%i^", ", s_Player[id][HudDisplayPlayerInfo]);
  5616. Len += formatex(Query[Len], charsmax(Query)-Len, "HudDisplayWeaponInfo = ^"%i^", ", s_Player[id][HudDisplayWeaponInfo]);
  5617. Len += formatex(Query[Len], charsmax(Query)-Len, "SoundPlay = ^"%i^", ", s_Player[id][SoundPlay]);
  5618. Len += formatex(Query[Len], charsmax(Query)-Len, "RoundEndSoundPlay = ^"%i^", ", s_Player[id][RoundEndSoundPlay]);
  5619. Len += formatex(Query[Len], charsmax(Query)-Len, "KnifeSoundPlay = ^"%i^", ", s_Player[id][KnifeSoundPlay]);
  5620. Len += formatex(Query[Len], charsmax(Query)-Len, "ItemBreakSoundPlay = ^"%i^", ", s_Player[id][ItemBreakSoundPlay]);
  5621. Len += formatex(Query[Len], charsmax(Query)-Len, "CanSendMe = ^"%i^", ", s_Player[id][CanSendMe]);
  5622. Len += formatex(Query[Len], charsmax(Query)-Len, "SilentTransfer = ^"%i^", ", s_Player[id][SilentTransfer]);
  5623. Len += formatex(Query[Len], charsmax(Query)-Len, "SilentAdminMod = ^"%i^", ", s_Player[id][SilentAdminMod]);
  5624. Len += formatex(Query[Len], charsmax(Query)-Len, "Ranking = ^"%i^", ", s_Player[id][Ranking]);
  5625. Len += formatex(Query[Len], charsmax(Query)-Len, "iKeys = ^"%i^", ", s_Player[id][Keys]);
  5626. Len += formatex(Query[Len], charsmax(Query)-Len, "RankPoint = ^"%i^" ", floatround(s_Player[id][RankPoint]*100.0));
  5627.  
  5628. Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE `User_Id` = %d;", ska_get_user_id(id));
  5629.  
  5630. SQL_ThreadQuery(g_SqlTuple, "QuerySetData_PlayerS", Query);
  5631. }
  5632.  
  5633.  
  5634. public Update_Player_Cases(id)
  5635. {
  5636. new Len;
  5637.  
  5638. Len += formatex(Query[Len], charsmax(Query), "UPDATE `NextLvL_Player_Cases` SET ");
  5639. Len += formatex(Query[Len], charsmax(Query)-Len, "S0_Fusion = ^"%i^", ", Player_Cases[id][0]);
  5640. Len += formatex(Query[Len], charsmax(Query)-Len, "S0_Power = ^"%i^", ", Player_Cases[id][1]);
  5641. Len += formatex(Query[Len], charsmax(Query)-Len, "S0_Thunder = ^"%i^", ", Player_Cases[id][2]);
  5642. Len += formatex(Query[Len], charsmax(Query)-Len, "S0_Light = ^"%i^", ", Player_Cases[id][3]);
  5643. Len += formatex(Query[Len], charsmax(Query)-Len, "S0_Boom = ^"%i^", ", Player_Cases[id][4]);
  5644. Len += formatex(Query[Len], charsmax(Query)-Len, "S1_BlackIce = ^"%i^", ", Player_Cases[id][5]);
  5645. Len += formatex(Query[Len], charsmax(Query)-Len, "S1_NoName = ^"%i^", ", Player_Cases[id][6]);
  5646. //CASE EXTEND NEED HERE, Ha ládát akarsz böviteni itt is kell!
  5647.  
  5648. Len += formatex(Query[Len], charsmax(Query)-Len, "S1_BlackIce = ^"%i^" WHERE `User_Id` = %d;", Player_Cases[id][5], ska_get_user_id(id));
  5649.  
  5650. SQL_ThreadQuery(g_SqlTuple, "QuerySetData_Cases", Query);
  5651. }
  5652.  
  5653. public Update_g_Inventory(id)
  5654. {
  5655. new Len;
  5656.  
  5657. new m_InventoryWriteableSize = s_Player[id][InventoryWriteableSize];
  5658. for(new x; x < m_InventoryWriteableSize; x++)
  5659. {
  5660. Len = 0;
  5661. if(Inventory[id][x][SQL_Key] == -1 && Inventory[id][x][w_Deleted] == 1)
  5662. {
  5663. //Nem volt feltöltve táblába (kinyitották és törölték is utánna)
  5664. }
  5665. else if(Inventory[id][x][w_Deleted] == 1)
  5666. {
  5667. Len += formatex(Query[Len], charsmax(Query), "DELETE FROM `NextLvL_g_Inventory` WHERE `SQL_Key` = %d;", Inventory[id][x][SQL_Key]);
  5668. }
  5669. else if(Inventory[id][x][SQL_Key] >= 0)
  5670. {
  5671. Len += formatex(Query[Len], charsmax(Query), "UPDATE `NextLvL_g_Inventory` SET ");
  5672. Len += formatex(Query[Len], charsmax(Query)-Len, "User_Id = ^"%i^", ", Inventory[id][x][w_UserId]);
  5673. Len += formatex(Query[Len], charsmax(Query)-Len, "Weapon_Id = ^"%i^", ", Inventory[id][x][w_id]);
  5674. Len += formatex(Query[Len], charsmax(Query)-Len, "Is_NameTaged = ^"%i^", ", Inventory[id][x][w_Is_NameTaged]);
  5675. Len += formatex(Query[Len], charsmax(Query)-Len, "NameTag = ^"%s^", ", Inventory[id][x][w_NameTag]);
  5676. Len += formatex(Query[Len], charsmax(Query)-Len, "Is_StatTraked = ^"%i^", ", Inventory[id][x][w_Is_Stattrak]);
  5677. Len += formatex(Query[Len], charsmax(Query)-Len, "StatTrak_Kills = ^"%i^", ", Inventory[id][x][w_Stattrak_Kills]);
  5678. Len += formatex(Query[Len], charsmax(Query)-Len, "Damage_Level = ^"%i^", ", Inventory[id][x][w_Damage_Level]);
  5679. Len += formatex(Query[Len], charsmax(Query)-Len, "AttackCount = ^"%i^", ", Inventory[id][x][w_AttackCount]);
  5680. Len += formatex(Query[Len], charsmax(Query)-Len, "Tradable = ^"%i^", ", Inventory[id][x][w_Tradable]);
  5681. Len += formatex(Query[Len], charsmax(Query)-Len, "Equiped = ^"%i^" ", Inventory[id][x][w_Equiped]);
  5682. Len += formatex(Query[Len], charsmax(Query)-Len, "WHERE `SQL_Key` = %d;", Inventory[id][x][SQL_Key]);
  5683. }
  5684. else
  5685. {
  5686. Len += formatex(Query[Len], charsmax(Query), "INSERT INTO `NextLvL_g_Inventory` (`User_Id`, `Weapon_Id`, `Is_NameTaged`, `NameTag`, `Is_StatTraked`, `StatTrak_Kills`, `Damage_Level`, `AttackCount`, `Tradable`, `Equiped`) VALUES (");
  5687. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", Inventory[id][x][w_UserId]);
  5688. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", Inventory[id][x][w_id]);
  5689. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", Inventory[id][x][w_Is_NameTaged]);
  5690. Len += formatex(Query[Len], charsmax(Query)-Len, "^"%s^", ", Inventory[id][x][w_NameTag]);
  5691. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", Inventory[id][x][w_Is_Stattrak]);
  5692. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", Inventory[id][x][w_Stattrak_Kills]);
  5693. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", Inventory[id][x][w_Damage_Level]);
  5694. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", Inventory[id][x][w_AttackCount]);
  5695. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", Inventory[id][x][w_Tradable]);
  5696. Len += formatex(Query[Len], charsmax(Query)-Len, "%i", Inventory[id][x][w_Equiped]);
  5697. Len += formatex(Query[Len], charsmax(Query)-Len, ");");
  5698. }
  5699. SQL_ThreadQuery(g_SqlTuple, "QuerySetData_Invi", Query);
  5700. }
  5701. }
  5702. public Update_g_Products()
  5703. {
  5704. new Len;
  5705.  
  5706. new m_g_Products_sizeof = ArraySize(g_Products);
  5707. new m_Product[product_Properties];
  5708. for(new x; x < m_g_Products_sizeof; x++)
  5709. {
  5710. ArrayGetArray(g_Products ,x ,m_Product);
  5711. Len = 0;
  5712. if(m_Product[product_SQL_key] == -1 && m_Product[Price] < 0)
  5713. {
  5714. //Nem volt feltöltve táblába (kirakták és megvették utánna utánna)
  5715. }
  5716. else if(m_Product[Price] < 0)
  5717. {
  5718. Len += formatex(Query[Len], charsmax(Query), "DELETE FROM `NextLvL_g_Products` WHERE `product_SQL_key` = %i;", m_Product[product_SQL_key]);
  5719. }
  5720. else if(m_Product[product_SQL_key] == -1)
  5721. {
  5722. Len += formatex(Query[Len], charsmax(Query), "INSERT INTO `NextLvL_g_Products` (`UTS_EndTimeDate`, `Type`, `product_id`, `Amount`, `Price`, `Seller_User_id`, `p_w_Is_NameTaged`, `p_w_NameTag`, `p_w_Is_Stattrak`, `p_w_Stattrak_Kills`, `p_w_Damage_Level`, `p_w_AttackCount`) VALUES (");
  5723. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[UTS_EndTimeDate]);
  5724. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[Type]);
  5725. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[product_id]);
  5726. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[Amount]);
  5727. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[Price]);
  5728. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[Seller_User_id]);
  5729. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[p_w_Is_NameTaged]);
  5730. Len += formatex(Query[Len], charsmax(Query)-Len, "^"%s^", ", m_Product[p_w_NameTag]);
  5731. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[p_w_Is_Stattrak]);
  5732. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[p_w_Stattrak_Kills]);
  5733. Len += formatex(Query[Len], charsmax(Query)-Len, "%i, ", m_Product[p_w_Damage_Level]);
  5734. Len += formatex(Query[Len], charsmax(Query)-Len, "%i);", m_Product[p_w_AttackCount]);
  5735. }
  5736. SQL_ThreadQuery(g_SqlTuple, "QuerySetData_Market", Query);
  5737. }
  5738. }
  5739.  
  5740. public QuerySetData_PlayerS(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5741. {
  5742. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5743. {
  5744. log_amx("Error from s_Player:");
  5745. log_amx("%s", Error);
  5746. return;
  5747. }
  5748. }
  5749. public QuerySetData_Cases(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5750. {
  5751. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5752. {
  5753. log_amx("Error from Player_Cases:");
  5754. log_amx("%s", Error);
  5755. return;
  5756. }
  5757. }
  5758. public QuerySetData_Invi(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5759. {
  5760. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5761. {
  5762. log_amx("Error from Inventory:");
  5763. log_amx("%s", Error);
  5764. return;
  5765. }
  5766. }
  5767. public QuerySetData_Market(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5768. {
  5769. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5770. {
  5771. log_amx("Error from Market:");
  5772. log_amx("%s", Error);
  5773. return;
  5774. }
  5775. }
  5776. public QuerySetData_Stats(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5777. {
  5778. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5779. {
  5780. log_amx("Error from StatS:");
  5781. log_amx("%s", Error);
  5782. return;
  5783. }
  5784. }
  5785. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  5786. {
  5787. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  5788. {
  5789. log_amx("Error from GlobálisDolog:");
  5790. log_amx("%s", Error);
  5791. return;
  5792. }
  5793. }
  5794. stock Check_Id_Online(id){
  5795. for(new idx = 1; idx < g_Maxplayers; idx++){
  5796. if(!is_user_connected(idx) || !ska_is_user_logged(idx))
  5797. continue;
  5798.  
  5799. if(ska_get_user_id(idx) == id)
  5800. return idx;
  5801. }
  5802. return 0;
  5803. }
  5804. public Set_Permissions(id){
  5805. new Flags;
  5806. Flags = read_flags(Admin_Permissions[s_AdminLevel[id]][1]);
  5807. set_user_flags(id, Flags);
  5808. }
  5809. public plugin_end()
  5810. {
  5811. ArrayDestroy(g_Admins);
  5812. ArrayDestroy(g_Products);
  5813. SQL_FreeHandle(g_SqlTuple);
  5814. }
  5815.