hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 461 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 461 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  [ 7 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Automatikus Menü
HozzászólásElküldve: 2014.09.21. 22:23 
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 nép !
Lenne egy olyan kérdésem hogy :
Van egy menü, ami csak akkor jön elő, ha beírom a chat-be hogy "/pmenu" , dr ez nagyon idegesítő hogy mindig bekell írni, és akkor szeretném ha valaki elmondaná hogy hogyan lehet megcsinálni hogy a menü spawnoláskor megjelenjen ...
Itt az sma :

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <cstrike>
  5. #include <zombieplage>
  6.  
  7. new const INI_FILE[] = "weapon_menu.cfg"
  8.  
  9. new g_PistolName[30][128], g_PistolTodo[30][128], Float:g_PistolCost[30], Float:g_PistolBullets[30], g_PistolCounter, PistolCost[30][10], PistolBullets[30][10]
  10. new g_ShotgunName[30][128], g_ShotgunTodo[30][128], Float:g_ShotgunCost[30], Float:g_ShotgunBullets[30], g_ShotgunCounter, ShotgunCost[30][10], ShotgunBullets[30][10]
  11. new g_AutomateName[30][128], g_AutomateTodo[30][128], Float:g_AutomateCost[30], Float:g_AutomateBullets[30], g_AutomateCounter, AutomateCost[30][10], AutomateBullets[30][10]
  12. new g_RifleName[30][128], g_RifleTodo[30][128], Float:g_RifleCost[30], Float:g_RifleBullets[30], g_RifleCounter, RifleCost[30][10], RifleBullets[30][10]
  13. new g_MachinegunName[30][128], g_MachinegunTodo[30][128], Float:g_MachinegunCost[30], Float:g_MachinegunBullets[30], g_MachinegunCounter, MachinegunCost[30][10], MachinegunBullets[30][10]
  14. new g_ExtendgunName[30][128], g_ExtendgunTodo[30][128], Float:g_ExtendgunCost[30], Float:g_ExtendgunBullets[30], g_ExtendgunCounter, ExtendgunCost[30][10], ExtendgunBullets[30][10]
  15. new g_ItemName[30][128], g_ItemTodo[30][128], Float:g_ItemCost[30], g_ItemCounter, ItemCost[30][10]
  16. new g_KnifeName[30][128], g_KnifeTodo[30][128], Float:g_KnifeCost[30], g_KnifeCounter, KnifeCost[30][10]
  17.  
  18. new g_WeaponCallBack
  19.  
  20. new g_ShotgunMenu, g_PistolMenu, g_MainMenu, g_AutomateMenu, g_RifleMenu, g_MachinegunMenu, g_ExtendgunMenu, g_ItemMenu, g_KnifeMenu
  21. new g_Category
  22. new PMessage[128], SMessage[128], AMessage[128], RMessage[128], MMessage[128], EMessage[128], IMessage[128], KMessage[128]
  23.  
  24. public plugin_init()
  25. {
  26. register_plugin("Easy Weapon Menu", "1.0", "Sugarv")
  27.  
  28. //Main Menu create and additem
  29. g_MainMenu = menu_create("Purchase menu", "main_handler")
  30.  
  31. menu_additem(g_MainMenu, "Pistol")
  32. menu_additem(g_MainMenu, "Shotgun")
  33. menu_additem(g_MainMenu, "Automate")
  34. menu_additem(g_MainMenu, "Rifle")
  35. menu_additem(g_MainMenu, "Machinegun")
  36. menu_additem(g_MainMenu, "Extend Gun")
  37. menu_additem(g_MainMenu, "Items")
  38. menu_additem(g_MainMenu, "Melee")
  39.  
  40. //Create Sub menu
  41. g_PistolMenu = menu_create("Pistols", "pistol_handler")
  42. g_ShotgunMenu = menu_create("Shotguns", "shotgun_handler")
  43. g_AutomateMenu = menu_create("Automate", "automate_handler")
  44. g_RifleMenu = menu_create("Rifle", "rifle_handler")
  45. g_MachinegunMenu = menu_create("Machinegun", "machinegun_handler")
  46. g_ExtendgunMenu = menu_create("Extend Gun", "extendgun_handler")
  47. g_ItemMenu = menu_create("Items", "item_handler")
  48. g_KnifeMenu = menu_create("Melee", "knife_handler")
  49.  
  50. //Make callback function
  51. g_WeaponCallBack = menu_makecallback("WeaponsCallBackFunc")
  52.  
  53. //Add item in Sub menu
  54. for(new iP = 0; iP < g_PistolCounter; iP++)
  55. {
  56. formatex(PMessage, 127, "%s \y%d$", g_PistolName[iP], floatround(g_PistolCost[iP]))
  57.  
  58. menu_additem(g_PistolMenu, PMessage, _, _, g_WeaponCallBack)
  59. }
  60.  
  61. for(new iS = 0; iS < g_ShotgunCounter; iS++)
  62. {
  63. formatex(SMessage, 127, "%s \y%d$", g_ShotgunName[iS], floatround(g_ShotgunCost[iS]))
  64.  
  65. menu_additem(g_ShotgunMenu, SMessage, _, _, g_WeaponCallBack)
  66. }
  67.  
  68. for(new iA = 0; iA < g_AutomateCounter; iA++)
  69. {
  70. formatex(AMessage, 127, "%s \y%d$", g_AutomateName[iA], floatround(g_AutomateCost[iA]))
  71.  
  72. menu_additem(g_AutomateMenu, AMessage, _, _, g_WeaponCallBack)
  73. }
  74.  
  75. for(new iR = 0; iR < g_RifleCounter; iR++)
  76. {
  77. formatex(RMessage, 127, "%s \y%d$", g_RifleName[iR], floatround(g_RifleCost[iR]))
  78.  
  79. menu_additem(g_RifleMenu, RMessage, _, _, g_WeaponCallBack)
  80. }
  81.  
  82. for(new iM = 0; iM < g_MachinegunCounter; iM++)
  83. {
  84. formatex(MMessage, 127, "%s \y%d$", g_MachinegunName[iM], floatround(g_MachinegunCost[iM]))
  85.  
  86. menu_additem(g_MachinegunMenu, MMessage, _, _, g_WeaponCallBack)
  87. }
  88.  
  89. for(new iE = 0; iE < g_ExtendgunCounter; iE++)
  90. {
  91. formatex(EMessage, 127, "%s \y%d$", g_ExtendgunName[iE], floatround(g_ExtendgunCost[iE]))
  92.  
  93. menu_additem(g_ExtendgunMenu, EMessage, _, _, g_WeaponCallBack)
  94. }
  95.  
  96. for(new iI = 0; iI < g_ItemCounter; iI++)
  97. {
  98. formatex(IMessage, 127, "%s \y%d$", g_ItemName[iI], floatround(g_ItemCost[iI]))
  99.  
  100. menu_additem(g_ItemMenu, IMessage, _, _, g_WeaponCallBack)
  101. }
  102.  
  103. for(new iK = 0; iK < g_KnifeCounter; iK++)
  104. {
  105. formatex(KMessage, 127, "%s \y%d$", g_KnifeName[iK], floatround(g_KnifeCost[iK]))
  106.  
  107. menu_additem(g_KnifeMenu, KMessage, _, _, g_WeaponCallBack)
  108. }
  109.  
  110. register_clcmd("say /pmenu", "clcmd_pmenu")
  111. }
  112.  
  113. public plugin_precache()
  114. {
  115. new cfgdir[64], filepath[100], linedata[1024]
  116. get_configsdir(cfgdir, charsmax(cfgdir))
  117.  
  118. formatex(filepath, charsmax(filepath), "%s/%s", cfgdir, INI_FILE)
  119.  
  120. if (file_exists(filepath))
  121. {
  122. new file = fopen(filepath,"rt")
  123.  
  124. while (!feof(file))
  125. {
  126. fgets(file, linedata, charsmax(linedata))
  127.  
  128. if(linedata[0] == 'P')//Pistol
  129. g_Category = 0
  130.  
  131. if(linedata[0] == 'S')//Shotgun
  132. g_Category = 1
  133.  
  134. if(linedata[0] == 'A')//Automate
  135. g_Category = 2
  136.  
  137. if(linedata[0] == 'R')//Rifle
  138. g_Category = 3
  139.  
  140. if(linedata[0] == 'M')//Machinegun
  141. g_Category = 4
  142.  
  143. if(linedata[0] == 'E')//Extendgun
  144. g_Category = 5
  145.  
  146. if(linedata[0] == 'I')//Item
  147. g_Category = 6
  148.  
  149. if(linedata[0] == 'K')//Knifes
  150. g_Category = 7
  151.  
  152. if(linedata[0] == '"')
  153. {
  154. switch(g_Category)
  155. {
  156. case 0:
  157. {
  158. parse(linedata, g_PistolName[g_PistolCounter], 127, g_PistolTodo[g_PistolCounter], 127, PistolCost[g_PistolCounter], 9, PistolBullets[g_PistolCounter], 9)
  159.  
  160. g_PistolCost[g_PistolCounter] = floatstr(PistolCost[g_PistolCounter])
  161.  
  162. g_PistolBullets[g_PistolCounter] = floatstr(PistolBullets[g_PistolCounter])
  163.  
  164. g_PistolCounter++
  165. }
  166.  
  167. case 1:
  168. {
  169. parse(linedata, g_ShotgunName[g_ShotgunCounter], 127, g_ShotgunTodo[g_ShotgunCounter], 127, ShotgunCost[g_ShotgunCounter], 9, ShotgunBullets[g_ShotgunCounter], 9)
  170.  
  171. g_ShotgunCost[g_ShotgunCounter] = floatstr(ShotgunCost[g_ShotgunCounter])
  172.  
  173. g_ShotgunBullets[g_ShotgunCounter] = floatstr(ShotgunBullets[g_ShotgunCounter])
  174.  
  175. g_ShotgunCounter++
  176. }
  177.  
  178. case 2:
  179. {
  180. parse(linedata, g_AutomateName[g_AutomateCounter], 127, g_AutomateTodo[g_AutomateCounter], 127, AutomateCost[g_AutomateCounter], 9, AutomateBullets[g_AutomateCounter], 9)
  181.  
  182. g_AutomateCost[g_AutomateCounter] = floatstr(AutomateCost[g_AutomateCounter])
  183.  
  184. g_AutomateBullets[g_AutomateCounter] = floatstr(AutomateBullets[g_AutomateCounter])
  185.  
  186. g_AutomateCounter++
  187. }
  188.  
  189. case 3:
  190. {
  191. parse(linedata, g_RifleName[g_RifleCounter], 127, g_RifleTodo[g_RifleCounter], 127, RifleCost[g_RifleCounter], 9, RifleBullets[g_RifleCounter], 9)
  192.  
  193. g_RifleCost[g_RifleCounter] = floatstr(RifleCost[g_RifleCounter])
  194.  
  195. g_RifleBullets[g_RifleCounter] = floatstr(RifleBullets[g_RifleCounter])
  196.  
  197. g_RifleCounter++
  198. }
  199.  
  200. case 4:
  201. {
  202. parse(linedata, g_MachinegunName[g_MachinegunCounter], 127, g_MachinegunTodo[g_MachinegunCounter], 127, MachinegunCost[g_MachinegunCounter], 9, MachinegunBullets[g_MachinegunCounter], 9)
  203.  
  204. g_MachinegunCost[g_MachinegunCounter] = floatstr(MachinegunCost[g_MachinegunCounter])
  205.  
  206. g_MachinegunBullets[g_MachinegunCounter] = floatstr(MachinegunBullets[g_MachinegunCounter])
  207.  
  208. g_MachinegunCounter++
  209. }
  210.  
  211. case 5:
  212. {
  213. parse(linedata, g_ExtendgunName[g_ExtendgunCounter], 127, g_ExtendgunTodo[g_ExtendgunCounter], 127, ExtendgunCost[g_ExtendgunCounter], 9, ExtendgunBullets[g_ExtendgunCounter], 9)
  214.  
  215. g_ExtendgunCost[g_ExtendgunCounter] = floatstr(ExtendgunCost[g_ExtendgunCounter])
  216.  
  217. g_ExtendgunBullets[g_ExtendgunCounter] = floatstr(ExtendgunBullets[g_ExtendgunCounter])
  218.  
  219. g_ExtendgunCounter++
  220. }
  221.  
  222. case 6:
  223. {
  224. parse(linedata, g_ItemName[g_ItemCounter], 127, g_ItemTodo[g_ItemCounter], 127, ItemCost[g_ItemCounter], 9)
  225.  
  226. g_ItemCost[g_ItemCounter] = floatstr(ItemCost[g_ItemCounter])
  227.  
  228. g_ItemCounter++
  229. }
  230.  
  231. case 7:
  232. {
  233. parse(linedata, g_KnifeName[g_KnifeCounter], 127, g_KnifeTodo[g_KnifeCounter], 127, KnifeCost[g_KnifeCounter], 9)
  234.  
  235. g_KnifeCost[g_KnifeCounter] = floatstr(KnifeCost[g_KnifeCounter])
  236.  
  237. g_KnifeCounter++
  238. }
  239. }
  240. }
  241. }
  242. }
  243. }
  244.  
  245. public clcmd_pmenu(id)
  246. {
  247. if(is_user_alive(id))
  248. menu_display(id, g_MainMenu, 0)
  249. }
  250.  
  251. public main_handler(id, menu, item)
  252. {
  253. switch(item)
  254. {
  255. case 0:
  256. {
  257. menu_display(id, g_PistolMenu, 0)
  258. }
  259.  
  260. case 1:
  261. {
  262. menu_display(id, g_ShotgunMenu, 0)
  263. }
  264.  
  265. case 2:
  266. {
  267. menu_display(id, g_AutomateMenu, 0)
  268. }
  269.  
  270. case 3:
  271. {
  272. menu_display(id, g_RifleMenu, 0)
  273. }
  274.  
  275. case 4:
  276. {
  277. menu_display(id, g_MachinegunMenu, 0)
  278. }
  279.  
  280. case 5:
  281. {
  282. menu_display(id, g_ExtendgunMenu, 0)
  283. }
  284.  
  285. case 6:
  286. {
  287. menu_display(id, g_ItemMenu, 0)
  288. }
  289.  
  290. case 7:
  291. {
  292. menu_display(id, g_KnifeMenu, 0)
  293. }
  294. }
  295. }
  296.  
  297. public pistol_handler(id, menu, item)
  298. {
  299. if((g_PistolTodo[item][0] == 'w') && (g_PistolTodo[item][1] == 'e') && (g_PistolTodo[item][2] == 'a'))
  300. {
  301. give_item(id, g_PistolTodo[item])
  302. cs_set_user_bpammo(id, get_weaponid(g_PistolTodo[item]), floatround(g_PistolBullets[item]))
  303. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_PistolCost[item]))
  304. }
  305. else
  306. zp_force_buy_extra_item(id, zp_get_extra_item_id(g_PistolTodo[item]), true)
  307. }
  308.  
  309. public shotgun_handler(id, menu, item)
  310. {
  311. give_item(id, g_ShotgunTodo[item])
  312. cs_set_user_bpammo(id, get_weaponid(g_ShotgunTodo[item]), floatround(g_ShotgunBullets[item]))
  313. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_ShotgunCost[item]))
  314. }
  315.  
  316. public automate_handler(id, menu, item)
  317. {
  318. give_item(id, g_AutomateTodo[item])
  319. cs_set_user_bpammo(id, get_weaponid(g_AutomateTodo[item]), floatround(g_AutomateBullets[item]))
  320. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_AutomateCost[item]))
  321. }
  322.  
  323. public rifle_handler(id, menu, item)
  324. {
  325. give_item(id, g_RifleTodo[item])
  326. cs_set_user_bpammo(id, get_weaponid(g_RifleTodo[item]), floatround(g_RifleBullets[item]))
  327. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_RifleCost[item]))
  328. }
  329.  
  330. public machinegun_handler(id, menu, item)
  331. {
  332. give_item(id, g_MachinegunTodo[item])
  333. cs_set_user_bpammo(id, get_weaponid(g_MachinegunTodo[item]), floatround(g_MachinegunBullets[item]))
  334. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_MachinegunCost[item]))
  335. }
  336.  
  337. public extendgun_handler(id, menu, item)
  338. {
  339. give_item(id, g_ExtendgunTodo[item])
  340. cs_set_user_bpammo(id, get_weaponid(g_ExtendgunTodo[item]), floatround(g_ExtendgunBullets[item]))
  341. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_ExtendgunCost[item]))
  342. }
  343.  
  344. public item_handler(id, menu, item)
  345. {
  346. give_item(id, g_ItemTodo[item])
  347. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_ItemCost[item]))
  348. }
  349.  
  350. public knife_handler(id, menu, item)
  351. {
  352. give_item(id, g_KnifeTodo[item])
  353. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_KnifeCost[item]))
  354. }
  355.  
  356. public WeaponsCallBackFunc(id, menu, item)
  357. {
  358. if(menu == g_PistolMenu)
  359. {
  360. if(cs_get_user_money(id) < g_PistolCost[item])
  361. return ITEM_DISABLED;
  362. }
  363.  
  364. if(menu == g_ShotgunMenu)
  365. {
  366. if(cs_get_user_money(id) < g_ShotgunCost[item])
  367. return ITEM_DISABLED;
  368. }
  369.  
  370. if(menu == g_AutomateMenu)
  371. {
  372. if(cs_get_user_money(id) < g_AutomateCost[item])
  373. return ITEM_DISABLED;
  374. }
  375.  
  376. if(menu == g_RifleMenu)
  377. {
  378. if(cs_get_user_money(id) < g_RifleCost[item])
  379. return ITEM_DISABLED;
  380. }
  381.  
  382. if(menu == g_MachinegunMenu)
  383. {
  384. if(cs_get_user_money(id) < g_MachinegunCost[item])
  385. return ITEM_DISABLED;
  386. }
  387.  
  388. if(menu == g_ExtendgunMenu)
  389. {
  390. if(cs_get_user_money(id) < g_ExtendgunCost[item])
  391. return ITEM_DISABLED;
  392. }
  393.  
  394. if(menu == g_ItemMenu)
  395. {
  396. if(cs_get_user_money(id) < g_ItemCost[item])
  397. return ITEM_DISABLED;
  398. }
  399.  
  400. if(menu == g_KnifeMenu)
  401. {
  402. if(cs_get_user_money(id) < g_Knife


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Automatikus Menü
HozzászólásElküldve: 2014.09.21. 22:29 
Offline
Nagyúr
Avatar

Csatlakozott: 2013.09.04. 15:21
Hozzászólások: 635
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 141 alkalommal
Próba:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <cstrike>
  5. #include <zombieplague>
  6. #include <hamsandwich>
  7.  
  8. new const INI_FILE[] = "weapon_menu.cfg"
  9.  
  10. new g_PistolName[30][128], g_PistolTodo[30][128], Float:g_PistolCost[30], Float:g_PistolBullets[30], g_PistolCounter, PistolCost[30][10], PistolBullets[30][10]
  11. new g_ShotgunName[30][128], g_ShotgunTodo[30][128], Float:g_ShotgunCost[30], Float:g_ShotgunBullets[30], g_ShotgunCounter, ShotgunCost[30][10], ShotgunBullets[30][10]
  12. new g_AutomateName[30][128], g_AutomateTodo[30][128], Float:g_AutomateCost[30], Float:g_AutomateBullets[30], g_AutomateCounter, AutomateCost[30][10], AutomateBullets[30][10]
  13. new g_RifleName[30][128], g_RifleTodo[30][128], Float:g_RifleCost[30], Float:g_RifleBullets[30], g_RifleCounter, RifleCost[30][10], RifleBullets[30][10]
  14. new g_MachinegunName[30][128], g_MachinegunTodo[30][128], Float:g_MachinegunCost[30], Float:g_MachinegunBullets[30], g_MachinegunCounter, MachinegunCost[30][10], MachinegunBullets[30][10]
  15. new g_ExtendgunName[30][128], g_ExtendgunTodo[30][128], Float:g_ExtendgunCost[30], Float:g_ExtendgunBullets[30], g_ExtendgunCounter, ExtendgunCost[30][10], ExtendgunBullets[30][10]
  16. new g_ItemName[30][128], g_ItemTodo[30][128], Float:g_ItemCost[30], g_ItemCounter, ItemCost[30][10]
  17. new g_KnifeName[30][128], g_KnifeTodo[30][128], Float:g_KnifeCost[30], g_KnifeCounter, KnifeCost[30][10]
  18.  
  19. new g_WeaponCallBack
  20.  
  21. new g_ShotgunMenu, g_PistolMenu, g_MainMenu, g_AutomateMenu, g_RifleMenu, g_MachinegunMenu, g_ExtendgunMenu, g_ItemMenu, g_KnifeMenu
  22. new g_Category
  23. new PMessage[128], SMessage[128], AMessage[128], RMessage[128], MMessage[128], EMessage[128], IMessage[128], KMessage[128]
  24.  
  25. public plugin_init()
  26. {
  27. register_plugin("Easy Weapon Menu", "1.0", "Sugarv")
  28.  
  29. //Main Menu create and additem
  30. g_MainMenu = menu_create("Purchase menu", "main_handler")
  31.  
  32. RegisterHam(Ham_Spawn, "player", "spawn", 1)
  33.  
  34. menu_additem(g_MainMenu, "Pistol")
  35. menu_additem(g_MainMenu, "Shotgun")
  36. menu_additem(g_MainMenu, "Automate")
  37. menu_additem(g_MainMenu, "Rifle")
  38. menu_additem(g_MainMenu, "Machinegun")
  39. menu_additem(g_MainMenu, "Extend Gun")
  40. menu_additem(g_MainMenu, "Items")
  41. menu_additem(g_MainMenu, "Melee")
  42.  
  43. //Create Sub menu
  44. g_PistolMenu = menu_create("Pistols", "pistol_handler")
  45. g_ShotgunMenu = menu_create("Shotguns", "shotgun_handler")
  46. g_AutomateMenu = menu_create("Automate", "automate_handler")
  47. g_RifleMenu = menu_create("Rifle", "rifle_handler")
  48. g_MachinegunMenu = menu_create("Machinegun", "machinegun_handler")
  49. g_ExtendgunMenu = menu_create("Extend Gun", "extendgun_handler")
  50. g_ItemMenu = menu_create("Items", "item_handler")
  51. g_KnifeMenu = menu_create("Melee", "knife_handler")
  52.  
  53. //Make callback function
  54. g_WeaponCallBack = menu_makecallback("WeaponsCallBackFunc")
  55.  
  56. //Add item in Sub menu
  57. for(new iP = 0; iP < g_PistolCounter; iP++)
  58. {
  59. formatex(PMessage, 127, "%s \y%d$", g_PistolName[iP], floatround(g_PistolCost[iP]))
  60.  
  61. menu_additem(g_PistolMenu, PMessage, _, _, g_WeaponCallBack)
  62. }
  63.  
  64. for(new iS = 0; iS < g_ShotgunCounter; iS++)
  65. {
  66. formatex(SMessage, 127, "%s \y%d$", g_ShotgunName[iS], floatround(g_ShotgunCost[iS]))
  67.  
  68. menu_additem(g_ShotgunMenu, SMessage, _, _, g_WeaponCallBack)
  69. }
  70.  
  71. for(new iA = 0; iA < g_AutomateCounter; iA++)
  72. {
  73. formatex(AMessage, 127, "%s \y%d$", g_AutomateName[iA], floatround(g_AutomateCost[iA]))
  74.  
  75. menu_additem(g_AutomateMenu, AMessage, _, _, g_WeaponCallBack)
  76. }
  77.  
  78. for(new iR = 0; iR < g_RifleCounter; iR++)
  79. {
  80. formatex(RMessage, 127, "%s \y%d$", g_RifleName[iR], floatround(g_RifleCost[iR]))
  81.  
  82. menu_additem(g_RifleMenu, RMessage, _, _, g_WeaponCallBack)
  83. }
  84.  
  85. for(new iM = 0; iM < g_MachinegunCounter; iM++)
  86. {
  87. formatex(MMessage, 127, "%s \y%d$", g_MachinegunName[iM], floatround(g_MachinegunCost[iM]))
  88.  
  89. menu_additem(g_MachinegunMenu, MMessage, _, _, g_WeaponCallBack)
  90. }
  91.  
  92. for(new iE = 0; iE < g_ExtendgunCounter; iE++)
  93. {
  94. formatex(EMessage, 127, "%s \y%d$", g_ExtendgunName[iE], floatround(g_ExtendgunCost[iE]))
  95.  
  96. menu_additem(g_ExtendgunMenu, EMessage, _, _, g_WeaponCallBack)
  97. }
  98.  
  99. for(new iI = 0; iI < g_ItemCounter; iI++)
  100. {
  101. formatex(IMessage, 127, "%s \y%d$", g_ItemName[iI], floatround(g_ItemCost[iI]))
  102.  
  103. menu_additem(g_ItemMenu, IMessage, _, _, g_WeaponCallBack)
  104. }
  105.  
  106. for(new iK = 0; iK < g_KnifeCounter; iK++)
  107. {
  108. formatex(KMessage, 127, "%s \y%d$", g_KnifeName[iK], floatround(g_KnifeCost[iK]))
  109.  
  110. menu_additem(g_KnifeMenu, KMessage, _, _, g_WeaponCallBack)
  111. }
  112. }
  113.  
  114. public plugin_precache()
  115. {
  116. new cfgdir[64], filepath[100], linedata[1024]
  117. get_configsdir(cfgdir, charsmax(cfgdir))
  118.  
  119. formatex(filepath, charsmax(filepath), "%s/%s", cfgdir, INI_FILE)
  120.  
  121. if (file_exists(filepath))
  122. {
  123. new file = fopen(filepath,"rt")
  124.  
  125. while (!feof(file))
  126. {
  127. fgets(file, linedata, charsmax(linedata))
  128.  
  129. if(linedata[0] == 'P')//Pistol
  130. g_Category = 0
  131.  
  132. if(linedata[0] == 'S')//Shotgun
  133. g_Category = 1
  134.  
  135. if(linedata[0] == 'A')//Automate
  136. g_Category = 2
  137.  
  138. if(linedata[0] == 'R')//Rifle
  139. g_Category = 3
  140.  
  141. if(linedata[0] == 'M')//Machinegun
  142. g_Category = 4
  143.  
  144. if(linedata[0] == 'E')//Extendgun
  145. g_Category = 5
  146.  
  147. if(linedata[0] == 'I')//Item
  148. g_Category = 6
  149.  
  150. if(linedata[0] == 'K')//Knifes
  151. g_Category = 7
  152.  
  153. if(linedata[0] == '"')
  154. {
  155. switch(g_Category)
  156. {
  157. case 0:
  158. {
  159. parse(linedata, g_PistolName[g_PistolCounter], 127, g_PistolTodo[g_PistolCounter], 127, PistolCost[g_PistolCounter], 9, PistolBullets[g_PistolCounter], 9)
  160.  
  161. g_PistolCost[g_PistolCounter] = floatstr(PistolCost[g_PistolCounter])
  162.  
  163. g_PistolBullets[g_PistolCounter] = floatstr(PistolBullets[g_PistolCounter])
  164.  
  165. g_PistolCounter++
  166. }
  167.  
  168. case 1:
  169. {
  170. parse(linedata, g_ShotgunName[g_ShotgunCounter], 127, g_ShotgunTodo[g_ShotgunCounter], 127, ShotgunCost[g_ShotgunCounter], 9, ShotgunBullets[g_ShotgunCounter], 9)
  171.  
  172. g_ShotgunCost[g_ShotgunCounter] = floatstr(ShotgunCost[g_ShotgunCounter])
  173.  
  174. g_ShotgunBullets[g_ShotgunCounter] = floatstr(ShotgunBullets[g_ShotgunCounter])
  175.  
  176. g_ShotgunCounter++
  177. }
  178.  
  179. case 2:
  180. {
  181. parse(linedata, g_AutomateName[g_AutomateCounter], 127, g_AutomateTodo[g_AutomateCounter], 127, AutomateCost[g_AutomateCounter], 9, AutomateBullets[g_AutomateCounter], 9)
  182.  
  183. g_AutomateCost[g_AutomateCounter] = floatstr(AutomateCost[g_AutomateCounter])
  184.  
  185. g_AutomateBullets[g_AutomateCounter] = floatstr(AutomateBullets[g_AutomateCounter])
  186.  
  187. g_AutomateCounter++
  188. }
  189.  
  190. case 3:
  191. {
  192. parse(linedata, g_RifleName[g_RifleCounter], 127, g_RifleTodo[g_RifleCounter], 127, RifleCost[g_RifleCounter], 9, RifleBullets[g_RifleCounter], 9)
  193.  
  194. g_RifleCost[g_RifleCounter] = floatstr(RifleCost[g_RifleCounter])
  195.  
  196. g_RifleBullets[g_RifleCounter] = floatstr(RifleBullets[g_RifleCounter])
  197.  
  198. g_RifleCounter++
  199. }
  200.  
  201. case 4:
  202. {
  203. parse(linedata, g_MachinegunName[g_MachinegunCounter], 127, g_MachinegunTodo[g_MachinegunCounter], 127, MachinegunCost[g_MachinegunCounter], 9, MachinegunBullets[g_MachinegunCounter], 9)
  204.  
  205. g_MachinegunCost[g_MachinegunCounter] = floatstr(MachinegunCost[g_MachinegunCounter])
  206.  
  207. g_MachinegunBullets[g_MachinegunCounter] = floatstr(MachinegunBullets[g_MachinegunCounter])
  208.  
  209. g_MachinegunCounter++
  210. }
  211.  
  212. case 5:
  213. {
  214. parse(linedata, g_ExtendgunName[g_ExtendgunCounter], 127, g_ExtendgunTodo[g_ExtendgunCounter], 127, ExtendgunCost[g_ExtendgunCounter], 9, ExtendgunBullets[g_ExtendgunCounter], 9)
  215.  
  216. g_ExtendgunCost[g_ExtendgunCounter] = floatstr(ExtendgunCost[g_ExtendgunCounter])
  217.  
  218. g_ExtendgunBullets[g_ExtendgunCounter] = floatstr(ExtendgunBullets[g_ExtendgunCounter])
  219.  
  220. g_ExtendgunCounter++
  221. }
  222.  
  223. case 6:
  224. {
  225. parse(linedata, g_ItemName[g_ItemCounter], 127, g_ItemTodo[g_ItemCounter], 127, ItemCost[g_ItemCounter], 9)
  226.  
  227. g_ItemCost[g_ItemCounter] = floatstr(ItemCost[g_ItemCounter])
  228.  
  229. g_ItemCounter++
  230. }
  231.  
  232. case 7:
  233. {
  234. parse(linedata, g_KnifeName[g_KnifeCounter], 127, g_KnifeTodo[g_KnifeCounter], 127, KnifeCost[g_KnifeCounter], 9)
  235.  
  236. g_KnifeCost[g_KnifeCounter] = floatstr(KnifeCost[g_KnifeCounter])
  237.  
  238. g_KnifeCounter++
  239. }
  240. }
  241. }
  242. }
  243. }
  244. }
  245.  
  246. public spawn(id)
  247. {
  248. if(is_user_alive(id))
  249. menu_display(id, g_MainMenu, 0)
  250. }
  251.  
  252. public main_handler(id, menu, item)
  253. {
  254. switch(item)
  255. {
  256. case 0:
  257. {
  258. menu_display(id, g_PistolMenu, 0)
  259. }
  260.  
  261. case 1:
  262. {
  263. menu_display(id, g_ShotgunMenu, 0)
  264. }
  265.  
  266. case 2:
  267. {
  268. menu_display(id, g_AutomateMenu, 0)
  269. }
  270.  
  271. case 3:
  272. {
  273. menu_display(id, g_RifleMenu, 0)
  274. }
  275.  
  276. case 4:
  277. {
  278. menu_display(id, g_MachinegunMenu, 0)
  279. }
  280.  
  281. case 5:
  282. {
  283. menu_display(id, g_ExtendgunMenu, 0)
  284. }
  285.  
  286. case 6:
  287. {
  288. menu_display(id, g_ItemMenu, 0)
  289. }
  290.  
  291. case 7:
  292. {
  293. menu_display(id, g_KnifeMenu, 0)
  294. }
  295. }
  296. }
  297.  
  298. public pistol_handler(id, menu, item)
  299. {
  300. if((g_PistolTodo[item][0] == 'w') && (g_PistolTodo[item][1] == 'e') && (g_PistolTodo[item][2] == 'a'))
  301. {
  302. give_item(id, g_PistolTodo[item])
  303. cs_set_user_bpammo(id, get_weaponid(g_PistolTodo[item]), floatround(g_PistolBullets[item]))
  304. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_PistolCost[item]))
  305. }
  306. else
  307. zp_force_buy_extra_item(id, zp_get_extra_item_id(g_PistolTodo[item]), true)
  308. }
  309.  
  310. public shotgun_handler(id, menu, item)
  311. {
  312. give_item(id, g_ShotgunTodo[item])
  313. cs_set_user_bpammo(id, get_weaponid(g_ShotgunTodo[item]), floatround(g_ShotgunBullets[item]))
  314. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_ShotgunCost[item]))
  315. }
  316.  
  317. public automate_handler(id, menu, item)
  318. {
  319. give_item(id, g_AutomateTodo[item])
  320. cs_set_user_bpammo(id, get_weaponid(g_AutomateTodo[item]), floatround(g_AutomateBullets[item]))
  321. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_AutomateCost[item]))
  322. }
  323.  
  324. public rifle_handler(id, menu, item)
  325. {
  326. give_item(id, g_RifleTodo[item])
  327. cs_set_user_bpammo(id, get_weaponid(g_RifleTodo[item]), floatround(g_RifleBullets[item]))
  328. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_RifleCost[item]))
  329. }
  330.  
  331. public machinegun_handler(id, menu, item)
  332. {
  333. give_item(id, g_MachinegunTodo[item])
  334. cs_set_user_bpammo(id, get_weaponid(g_MachinegunTodo[item]), floatround(g_MachinegunBullets[item]))
  335. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_MachinegunCost[item]))
  336. }
  337.  
  338. public extendgun_handler(id, menu, item)
  339. {
  340. give_item(id, g_ExtendgunTodo[item])
  341. cs_set_user_bpammo(id, get_weaponid(g_ExtendgunTodo[item]), floatround(g_ExtendgunBullets[item]))
  342. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_ExtendgunCost[item]))
  343. }
  344.  
  345. public item_handler(id, menu, item)
  346. {
  347. give_item(id, g_ItemTodo[item])
  348. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_ItemCost[item]))
  349. }
  350.  
  351. public knife_handler(id, menu, item)
  352. {
  353. give_item(id, g_KnifeTodo[item])
  354. cs_set_user_money(id, cs_get_user_money(id) - floatround(g_KnifeCost[item]))
  355. }
  356.  
  357. public WeaponsCallBackFunc(id, menu, item)
  358. {
  359. if(menu == g_PistolMenu)
  360. {
  361. if(cs_get_user_money(id) < g_PistolCost[item])
  362. return ITEM_DISABLED;
  363. }
  364.  
  365. if(menu == g_ShotgunMenu)
  366. {
  367. if(cs_get_user_money(id) < g_ShotgunCost[item])
  368. return ITEM_DISABLED;
  369. }
  370.  
  371. if(menu == g_AutomateMenu)
  372. {
  373. if(cs_get_user_money(id) < g_AutomateCost[item])
  374. return ITEM_DISABLED;
  375. }
  376.  
  377. if(menu == g_RifleMenu)
  378. {
  379. if(cs_get_user_money(id) < g_RifleCost[item])
  380. return ITEM_DISABLED;
  381. }
  382.  
  383. if(menu == g_MachinegunMenu)
  384. {
  385. if(cs_get_user_money(id) < g_MachinegunCost[item])
  386. return ITEM_DISABLED;
  387. }
  388.  
  389. if(menu == g_ExtendgunMenu)
  390. {
  391. if(cs_get_user_money(id) < g_ExtendgunCost[item])
  392. return ITEM_DISABLED;
  393. }
  394.  
  395. if(menu == g_ItemMenu)
  396. {
  397. if(cs_get_user_money(id) < g_ItemCost[item])
  398. return ITEM_DISABLED;
  399. }
  400.  
  401. if(menu == g_KnifeMenu)
  402. {
  403. if(cs_get_user_money(id) < g_Knife

_________________
My Steam:
KépKép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Automatikus Menü
HozzászólásElküldve: 2014.09.21. 22:34 
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
***Edit***

/tmp/text5v979O.sma(2) : error 010: invalid function or declaration
/tmp/text5v979O.sma(404) : error 013: no entry point (no public functions)
2 Errors.
Could not locate output file /home/groups/amxmodx/public_html/websc3/text5v979O.amx (compile failed).


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Automatikus Menü
HozzászólásElküldve: 2014.09.21. 23:24 
Offline
Nagyúr
Avatar

Csatlakozott: 2013.09.04. 15:21
Hozzászólások: 635
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 141 alkalommal
Online fordítóval fordítsd

_________________
My Steam:
KépKép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Automatikus Menü
HozzászólásElküldve: 2014.09.22. 06:05 
Offline
Őskövület
Avatar

Csatlakozott: 2012.02.27. 09:42
Hozzászólások: 2588
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 418 alkalommal
írd bele ezt a 2 sort:

SMA Forráskód: [ Mindet kijelol ]
  1. RegisterHam(Ham_Spawn, "player", "spawn", 1)
  2.  
  3. public spawn(id) clcmd_pmenu(id)

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Automatikus Menü
HozzászólásElküldve: 2014.09.22. 14:58 
Offline
Tiszteletbeli

Csatlakozott: 2010.02.04. 19:12
Hozzászólások: 3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
crazyboy írta:
írd bele ezt a 2 sort:

SMA Forráskód: [ Mindet kijelol ]
  1. RegisterHam(Ham_Spawn, "player", "spawn", 1)
  2.  
  3. public spawn(id) clcmd_pmenu(id)

ez így nem fog menni
SMA Forráskód: [ Mindet kijelol ]
  1. RegisterHam(Ham_Spawn, "player", "spawn2", 1)
  2.  
  3. public spawn2(id) clcmd_pmenu(id)


max így, spawn már alapból létezik funkcióként(újraélesztés)
spawn(index)

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Automatikus Menü
HozzászólásElküldve: 2014.09.22. 21:30 
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
Hová is írjam? :D
Meg egy kérdés :
Belelehetne azt írni hogy addig netűnjön el a menü, amíg valaki az Exit-el ki nem lép, de az Exit nincs beleírva, és valaki beleírná? :$
Mert most minden egyes fegyverhez bekell írni a parancsot, mert ha valasztottunk fegyvert, akkor egyből eltűnik


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


Ki van itt

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