hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.04. 22:47



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: [ZP] Vásárlás Menü
HozzászólásElküldve: 2014.09.27. 21:25 
Offline
Veterán
Avatar

Csatlakozott: 2011.11.17. 15:48
Hozzászólások: 1904
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 54 alkalommal
Jóestét!

Az lenne a kérdésem , hogy hogyan tudom kicserélni az alap zombis vásárlási menüt egy másikra ?
Van hozzá egy sma , csatolom,
Valaki elmagyarázhatná :$
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fakemeta_util>
  5. #include <nvault>
  6. #include <hamsandwich>
  7. #include <zombieplague>
  8. #include <dhudmessage>
  9.  
  10. #define INI "zp_buymenu.ini"
  11. #define CFG "zp_buymenu.cfg"
  12. #define TXT "zp_buymenu.txt"
  13. #define WAV "items/9mmclip1.wav"
  14.  
  15. #define FLAG_A (1<<0)
  16. #define FLAG_B (1<<1)
  17. #define FLAG_C (1<<2)
  18. #define FLAG_D (1<<3)
  19. #define FLAG_E (1<<4)
  20. #define FLAG_F (1<<5)
  21. #define FLAG_G (1<<6)
  22. #define FLAG_H (1<<7)
  23. #define FLAG_I (1<<8)
  24. #define FLAG_J (1<<9)
  25. #define FLAG_K (1<<10)
  26.  
  27. #define MENU 8
  28.  
  29. new g_money[33], g_menu[MENU], g_maxplayers, g_gamemode, g_nvault, g_count[7],
  30. g_msg_BuyClose, g_msg_StatusIcon, g_msg_Money, g_msg_BlinkAcct,
  31. bool:g_limit[128][33], bool:g_limit_round[128][33],
  32. cvar_no_one_win, cvar_zombies_win, cvar_zombies_loose, cvar_zombies_kill, cvar_humans_win, cvar_humans_loose, cvar_humans_kill,
  33. cvar_show_equipments, cvar_ammo_give, cvar_money_max, cvar_money_save,
  34. Array:g_pistols, Array:g_shotguns, Array:g_submachineguns, Array:g_rifles, Array:g_machineguns, Array:g_equipments_h, Array:g_equipments_z
  35.  
  36. enum
  37. {
  38. SECTION_NONE = 0,
  39. SECTION_PISTOLS,
  40. SECTION_SHOTGUNS,
  41. SECTION_SUBMACHINEGUNS,
  42. SECTION_RIFLES,
  43. SECTION_MACHINEGUNS,
  44. SECTION_EQUIPMENTS_H,
  45. SECTION_EQUIPMENTS_Z
  46. }
  47.  
  48. const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
  49. const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
  50.  
  51. enum
  52. {
  53. DROP_PRIMARY = 1,
  54. DROP_SECONDARY
  55. }
  56.  
  57. new const MAXAMMO[] =
  58. {
  59. -1,
  60. 52, // P228 Compact
  61. -1,
  62. 90, // Schmidt Scout
  63. 1,
  64. 32, // XM1014 M4
  65. 1,
  66. 100, // Ingram MAC-10
  67. 90, // Steyr AUG A1
  68. 1,
  69. 120, // Dual Elite Berettas
  70. 100, // FiveseveN
  71. 100, // UMP 45
  72. 90, // SG-550 Auto-Sniper
  73. 90, // IMI Galil
  74. 90, // Famas
  75. 100, // USP .45 ACP Tactical
  76. 120, // Glock 18C
  77. 30, // AWP Magnum Sniper
  78. 120, // MP5 Navy
  79. 200, // M249 Para Machinegun
  80. 32, // M3 Super 90
  81. 90, // M4A1 Carbine
  82. 120, // Schmidt TMP
  83. 90, // G3SG1 Auto-Sniper
  84. 2,
  85. 35, // Desert Eagle .50 AE
  86. 90, // SG-552 Commando
  87. 90, // AK-47 Kalashnikov
  88. -1,
  89. 100 // ES P90
  90. }
  91.  
  92. new const BUYAMMO[] =
  93. {
  94. -1,
  95. 13, // P228 Compact
  96. -1,
  97. 30, // Schmidt Scout
  98. -1,
  99. 8, // XM1014 M4
  100. -1,
  101. 12, // Ingram MAC-10
  102. 30, // Steyr AUG A1
  103. -1,
  104. 30, // Dual Elite Berettas
  105. 50, // FiveseveN
  106. 12, // UMP 45
  107. 30, // SG-550 Auto-Sniper
  108. 30, // IMI Galil
  109. 30, // Famas
  110. 12, // USP .45 ACP Tactical
  111. 30, // Glock 18C
  112. 10, // AWP Magnum Sniper
  113. 30, // MP5 Navy
  114. 30, // M249 Para Machinegun
  115. 8, // M3 Super 90
  116. 30, // M4A1 Carbine
  117. 30, // Schmidt TMP
  118. 30, // G3SG1 Auto-Sniper
  119. -1,
  120. 7, // Desert Eagle .50 AE
  121. 30, // SG-552 Commando
  122. 30, // AK-47 Kalashnikov
  123. -1,
  124. 50 // ES P90
  125. }
  126.  
  127. new const TYPEAMMO[][] =
  128. {
  129. "",
  130. "357sig", // P228 Compact
  131. "",
  132. "762nato", // Schmidt Scout
  133. "",
  134. "buckshot", // XM1014 M4
  135. "",
  136. "45acp", // Ingram MAC-10
  137. "556nato", // Steyr AUG A1
  138. "",
  139. "9mm", // Dual Elite Berettas
  140. "57mm", // FiveseveN
  141. "45acp", // UMP 45
  142. "556nato", // SG-550 Auto-Sniper
  143. "556nato", // IMI Galil
  144. "556nato", // Famas
  145. "45acp", // USP .45 ACP Tactical
  146. "9mm", // Glock 18C
  147. "338magnum", // AWP Magnum Sniper
  148. "9mm", // MP5 Navy
  149. "556natobox", // M249 Para Machinegun
  150. "buckshot", // M3 Super 90
  151. "556nato", // M4A1 Carbine
  152. "9mm", // Schmidt TMP
  153. "762nato", // G3SG1 Auto-Sniper
  154. "",
  155. "50ae", // Desert Eagle .50 AE
  156. "556nato", // SG-552 Commando
  157. "762nato", // AK-47 Kalashnikov
  158. "",
  159. "57mm" // ES P90
  160. }
  161.  
  162. new const COSTAMMO[] =
  163. {
  164. -1,
  165. 2, // P228 Compact
  166. -1,
  167. 4, // Schmidt Scout
  168. -1,
  169. 6, // XM1014 M4
  170. -1,
  171. 8, // Ingram MAC-10
  172. 9, // Steyr AUG A1
  173. -1,
  174. 11, // Dual Elite Berettas
  175. 12, // FiveseveN
  176. 13, // UMP 45
  177. 14, // SG-550 Auto-Sniper
  178. 15, // IMI Galil
  179. 16, // Famas
  180. 17, // USP .45 ACP Tactical
  181. 18, // Glock 18C
  182. 19, // AWP Magnum Sniper
  183. 20, // MP5 Navy
  184. 21, // M249 Para Machinegun
  185. 22, // M3 Super 90
  186. 23, // M4A1 Carbine
  187. 24, // Schmidt TMP
  188. 25, // G3SG1 Auto-Sniper
  189. -1,
  190. 27, // Desert Eagle .50 AE
  191. 28, // SG-552 Commando
  192. 29, // AK-47 Kalashnikov
  193. -1,
  194. 31, // ES P90
  195. }
  196.  
  197. new const g_buy_commands[][] =
  198. {
  199. "usp", "glock", "deagle", "p228", "elites",
  200. "fn57", "m3", "xm1014", "mp5", "tmp",
  201. "p90", "mac10", "ump45", "ak47", "galil",
  202. "famas", "sg552", "m4a1", "aug", "scout",
  203. "awp", "g3sg1", "sg550", "m249", "vest",
  204. "vesthelm", "flash", "hegren", "sgren", "defuser",
  205. "nvgs", "shield", "primammo", "secammo", "km45",
  206. "9x19mm", "nighthawk", "228compact", "fiveseven", "12gauge",
  207. "autoshotgun", "mp", "c90", "cv47", "defender",
  208. "clarion", "krieg552", "bullpup", "magnum", "d3au1",
  209. "krieg550", "buy", "buyequip", "cl_autobuy", "cl_rebuy",
  210. "cl_setautobuy", "cl_setrebuy", "client_buy_open"
  211. }
  212.  
  213. public plugin_init()
  214. {
  215. register_plugin("[ZP] Addon: Buy Menu", "09.07.2014", "ErolD")
  216. register_dictionary(TXT)
  217.  
  218. cvar_no_one_win = register_cvar("bm_no_one_win_reward", "1000")
  219. cvar_zombies_win = register_cvar("bm_zombies_win_reward", "2500")
  220. cvar_zombies_loose = register_cvar("bm_zombies_loose_reward", "500")
  221. cvar_zombies_kill = register_cvar("bm_zombies_kill_reward", "500")
  222. cvar_humans_win = register_cvar("bm_humans_win_reward", "2500")
  223. cvar_humans_loose = register_cvar("bm_humans_loose_reward", "500")
  224. cvar_humans_kill = register_cvar("bm_humans_kill_reward", "500")
  225. cvar_show_equipments = register_cvar("bm_show_equipments", "1")
  226. cvar_ammo_give = register_cvar("bm_ammo_give", "1")
  227. cvar_money_max = register_cvar("bm_money_max", "100000")
  228. cvar_money_save = register_cvar("bm_money_save", "2")
  229.  
  230. register_event("HLTV", "Event_RoundStart", "a", "1=0", "2=0")
  231. RegisterHam(Ham_Player_PreThink, "player", "Ham_Player_PreThink_Pre")
  232. RegisterHam(Ham_TakeDamage, "player", "Ham_TakeDamage_Pre")
  233. RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1)
  234. RegisterHam(Ham_Killed, "player", "Ham_Killed_Pre")
  235.  
  236. g_nvault = nvault_open("zp_buymenu")
  237.  
  238. new i, callback, buffer[128], name[64], cost[64], buy_commands = sizeof(g_buy_commands)
  239.  
  240. callback = menu_makecallback("menu_callback")
  241.  
  242. for(i = 0; i < MENU; i++)
  243. g_menu[i] = menu_create("BM_MENU", "menu_handler")
  244.  
  245. for(i = 2; i < MENU; i++)
  246. {
  247. if(i == 7)
  248. menu_addblank(g_menu[0], 0)
  249.  
  250. menu_additem(g_menu[0], "BM_ITEM", _, _, callback)
  251. }
  252.  
  253. for(i = 0; i < ArraySize(g_pistols); i++)
  254. {
  255. ArrayGetString(g_pistols, i, buffer, charsmax(buffer))
  256. parse(buffer, name, charsmax(name), buffer, charsmax(buffer), cost, charsmax(cost))
  257. formatex(buffer, charsmax(buffer), "%s \y[%d$]", name, str_to_num(cost))
  258. menu_additem(g_menu[1], buffer, _, _, callback)
  259. }
  260.  
  261. for(i = 0; i < ArraySize(g_shotguns); i++)
  262. {
  263. ArrayGetString(g_shotguns, i, buffer, charsmax(buffer))
  264. parse(buffer, name, charsmax(name), buffer, charsmax(buffer), cost, charsmax(cost))
  265. formatex(buffer, charsmax(buffer), "%s \y[%d$]", name, str_to_num(cost))
  266. menu_additem(g_menu[2], buffer, _, _, callback)
  267. }
  268.  
  269. for(i = 0; i < ArraySize(g_submachineguns); i++)
  270. {
  271. ArrayGetString(g_submachineguns, i, buffer, charsmax(buffer))
  272. parse(buffer, name, charsmax(name), buffer, charsmax(buffer), cost, charsmax(cost))
  273. formatex(buffer, charsmax(buffer), "%s \y[%d$]", name, str_to_num(cost))
  274. menu_additem(g_menu[3], buffer, _, _, callback)
  275. }
  276.  
  277. for(i = 0; i < ArraySize(g_rifles); i++)
  278. {
  279. ArrayGetString(g_rifles, i, buffer, charsmax(buffer))
  280. parse(buffer, name, charsmax(name), buffer, charsmax(buffer), cost, charsmax(cost))
  281. formatex(buffer, charsmax(buffer), "%s \y[%d$]", name, str_to_num(cost))
  282. menu_additem(g_menu[4], buffer, _, _, callback)
  283. }
  284.  
  285. for(i = 0; i < ArraySize(g_machineguns); i++)
  286. {
  287. ArrayGetString(g_machineguns, i, buffer, charsmax(buffer))
  288. parse(buffer, name, charsmax(name), buffer, charsmax(buffer), cost, charsmax(cost))
  289. formatex(buffer, charsmax(buffer), "%s \y[%d$]", name, str_to_num(cost))
  290. menu_additem(g_menu[5], buffer, _, _, callback)
  291. }
  292.  
  293. for(i = 0; i < ArraySize(g_equipments_h); i++)
  294. {
  295. ArrayGetString(g_equipments_h, i, buffer, charsmax(buffer))
  296. parse(buffer, name, charsmax(name), buffer, charsmax(buffer), cost, charsmax(cost))
  297. formatex(buffer, charsmax(buffer), "%s \y[%d$]", name, str_to_num(cost))
  298. menu_additem(g_menu[6], buffer, _, _, callback)
  299. }
  300.  
  301. for(i = 0; i < ArraySize(g_equipments_z); i++)
  302. {
  303. ArrayGetString(g_equipments_z, i, buffer, charsmax(buffer))
  304. parse(buffer, name, charsmax(name), buffer, charsmax(buffer), cost, charsmax(cost))
  305. formatex(buffer, charsmax(buffer), "%s \y[%d$]", name, str_to_num(cost))
  306. menu_additem(g_menu[7], buffer, _, _, callback)
  307. }
  308.  
  309. for(i = 0; i < buy_commands; i++)
  310. register_clcmd(g_buy_commands[i], "clcmd_menu")
  311.  
  312. register_clcmd("buyammo1", "clcmd_buyammo")
  313. register_clcmd("buyammo2", "clcmd_buyammo")
  314.  
  315. g_msg_BuyClose = get_user_msgid("BuyClose")
  316. g_msg_StatusIcon = get_user_msgid("StatusIcon")
  317. g_msg_Money = get_user_msgid("Money")
  318. g_msg_BlinkAcct = get_user_msgid("BlinkAcct")
  319.  
  320. g_maxplayers = get_maxplayers()
  321. }
  322.  
  323. public plugin_precache()
  324. {
  325. g_pistols = ArrayCreate(128, 1)
  326. g_shotguns = ArrayCreate(128, 1)
  327. g_submachineguns = ArrayCreate(128, 1)
  328. g_rifles = ArrayCreate(128, 1)
  329. g_machineguns = ArrayCreate(128, 1)
  330. g_equipments_h = ArrayCreate(128, 1)
  331. g_equipments_z = ArrayCreate(128, 1)
  332.  
  333. new configsdir[64], line[1024], buffer[128], name[64], name2[64], cost[64], flags[64], players[64], section
  334.  
  335. get_configsdir(configsdir, charsmax(configsdir))
  336. format(configsdir, charsmax(configsdir), "%s/%s", configsdir, INI)
  337.  
  338. if(!file_exists(configsdir))
  339. {
  340. log_to_file("zp_buymenu.log", "%s not loaded", INI)
  341. return;
  342. }
  343.  
  344. new file = fopen(configsdir, "rt")
  345.  
  346. while(file && !feof(file))
  347. {
  348. fgets(file, line, charsmax(line))
  349.  
  350. replace(line, charsmax(line), "^n", "")
  351.  
  352. if(!line[0] || line[0] == ';')
  353. {
  354. continue;
  355. }
  356. else if(line[0] == '[')
  357. {
  358. section++
  359. continue;
  360. }
  361. else if(line[0] == '"')
  362. {
  363. switch(section)
  364. {
  365. case SECTION_PISTOLS:
  366. {
  367. parse(line, name, charsmax(name), name2, charsmax(name2), cost, charsmax(cost), flags, charsmax(flags), players, charsmax(players))
  368. formatex(buffer, charsmax(buffer), "^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, name2, cost, flags, players)
  369. ArrayPushString(g_pistols, buffer)
  370. g_count[0]++
  371. }
  372. case SECTION_SHOTGUNS:
  373. {
  374. parse(line, name, charsmax(name), name2, charsmax(name2), cost, charsmax(cost), flags, charsmax(flags), players, charsmax(players))
  375. formatex(buffer, charsmax(buffer), "^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, name2, cost, flags, players)
  376. ArrayPushString(g_shotguns, buffer)
  377. g_count[1]++
  378. }
  379. case SECTION_SUBMACHINEGUNS:
  380. {
  381. parse(line, name, charsmax(name), name2, charsmax(name2), cost, charsmax(cost), flags, charsmax(flags), players, charsmax(players))
  382. formatex(buffer, charsmax(buffer), "^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, name2, cost, flags, players)
  383. ArrayPushString(g_submachineguns, buffer)
  384. g_count[2]++
  385. }
  386. case SECTION_RIFLES:
  387. {
  388. parse(line, name, charsmax(name), name2, charsmax(name2), cost, charsmax(cost), flags, charsmax(flags), players, charsmax(players))
  389. formatex(buffer, charsmax(buffer), "^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, name2, cost, flags, players)
  390. ArrayPushString(g_rifles, buffer)
  391. g_count[3]++
  392. }
  393. case SECTION_MACHINEGUNS:
  394. {
  395. parse(line, name, charsmax(name), name2, charsmax(name2), cost, charsmax(cost), flags, charsmax(flags), players, charsmax(players))
  396. formatex(buffer, charsmax(buffer), "^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, name2, cost, flags, players)
  397. ArrayPushString(g_machineguns, buffer)
  398. g_count[4]++
  399. }
  400. case SECTION_EQUIPMENTS_H:
  401. {
  402. parse(line, name, charsmax(name), name2, charsmax(name2), cost, charsmax(cost), flags, charsmax(flags), players, charsmax(players))
  403.  


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 42 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole