hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.16. 17:17



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [Bot], Google [Bot] az elmúlt 5 percben aktív felhasználók alapján

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



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

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Fegyvermenü
HozzászólásElküldve: 2015.05.30. 16:37 
Offline
Tud valamit

Csatlakozott: 2014.12.29. 15:12
Hozzászólások: 143
Megköszönt másnak: 13 alkalommal
Megköszönték neki: 7 alkalommal
Sziasztok, valaki meg nézné ezt a fegyvermenüt hogy miért rossz?
Pontos hiba: Ha választok egy fegyvert kifagy a szervert
Nekem nem az kell amit (DecToR) Hanem ez csak javítva.
Előre is köszi aki segít!
Log végén: Not client
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. #include <amxmodx>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <cstrike>
  6. #include <dhudmessage>
  7. #include <fun>
  8. #include <hamsandwich>
  9.  
  10. #define PLUGIN "FegyverMenu+Mapszavaztato"
  11. #define VERSION "1.0"
  12. #define AUTHOR "DeRoiD"
  13.  
  14. new mp[33], puska = 0, ujra, bool:kpkor, mp2, korok, mp3, maxspeed, counterszam, terrorszam
  15. new bool:verseny
  16. new top1, top2, top3
  17. new oles[33]
  18. new maxoles
  19.  
  20. public plugin_init() {
  21. register_plugin(PLUGIN, VERSION, AUTHOR)
  22. register_clcmd("say /timeleft", "ido")
  23. register_clcmd("say timeleft", "ido")
  24. register_clcmd("say /top", "hud")
  25. register_event("DeathMsg","death","a")
  26. register_clcmd("verseny_inditasa", "verseny_inditasa")
  27. RegisterHam(Ham_Spawn, "player", "inditas", 1)
  28. register_logevent("ujkor", 2, "1=Round_Start")
  29. register_logevent("kornull", 2, "0=World triggered", "1&Restart_Round_")
  30. register_logevent("kornull", 2, "0=World triggered", "1=Game_Commencing")
  31. register_logevent("korveg", 2, "0=World triggered", "1=Round_End")
  32. ujra = get_cvar_pointer("sv_restart")
  33. register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
  34. maxspeed = get_cvar_pointer("sv_maxspeed")
  35. lol()
  36. }
  37. public ido(id)
  38. print_color(id, "!g[Információ]!y Még!t %d!y kör van hátra!", 35-korok)
  39. public ujkor(id) {
  40. if(verseny)
  41. return PLUGIN_HANDLED
  42. if(kpkor == false)
  43. {
  44. puska = 0
  45. korok++
  46. if(korok < 35) {
  47. print_color(id, "!g[Információ]!y Játékosok!t %d!y/!g32!y | IP: !t37.221.210.30:27018!y | Kör: !t%d!y/!g35 !y | !twww.fb.com/subb.server", get_playersnum(), korok)
  48. set_dhudmessage(42, 127, 255, -1.0, 0.20, 0, 6.0, 12.0)
  49. show_dhudmessage(id, "%d kör van hátra!", 35-korok)
  50.  
  51. }
  52. else
  53. {
  54. mp3 = 5
  55. atvalt()
  56. set_pcvar_num(maxspeed, 0)
  57. }
  58. }
  59. return PLUGIN_HANDLED
  60. }
  61. public atvalt()
  62. {
  63. set_hudmessage(42, 127, 255, -1.0, 0.20, 0, 6.0, 1.1)
  64. show_hudmessage(0, "%d másodperc múlva pálya váltás!", mp3)
  65. if(mp3 > 0)
  66. {
  67. client_cmd(0, "spk buttons/lightswitch2.wav")
  68. mp3--
  69. set_task(1.0, "atvalt")
  70. }
  71. else
  72. {
  73. server_cmd("changelevel ^"de_dust2_snow^"")
  74. }
  75. }
  76. public Event_Change_Weapon(id)
  77. {
  78. new fgy = get_user_weapon(id)
  79. if(kpkor == true && fgy != CSW_DEAGLE)
  80. {
  81. engclient_cmd(id, "weapon_deagle")
  82. }
  83. }
  84. public lol() {
  85. //set_pcvar_num(ujra, 1)
  86. kpkor = true
  87. mp2 = 45
  88. set_task(1.0, "szam")
  89. }
  90. public szam(id) {
  91. client_print(0, print_center, "%d másodpercig bemelegítő kör!", mp2)
  92. if(mp2 > 0)
  93. {
  94. mp2--
  95. set_task(1.0, "szam")
  96. }
  97. else
  98. {
  99. kpkor = false
  100. set_pcvar_num(ujra, 1)
  101. }
  102. }
  103. public korveg()
  104. {
  105. counterszam = 0
  106. terrorszam = 0
  107. puska = 0
  108. }
  109. public kornull()
  110. korok = 0
  111. public inditas(id) {
  112. if(!is_user_alive(id))
  113. return PLUGIN_HANDLED
  114. if(korok < 35) {
  115. if(kpkor == false)
  116. {
  117. if(user_has_weapon(id, CSW_C4))
  118. {
  119. strip_user_weapons(id)
  120. give_item(id, "weapon_knife")
  121. give_item(id, "weapon_c4")
  122. }
  123. else
  124. {
  125. strip_user_weapons(id)
  126. give_item(id, "weapon_knife")
  127. }
  128. give_item(id, "item_kevlar")
  129. give_item(id, "weapon_hegrenade")
  130. give_item(id, "weapon_flashbang")
  131. give_item(id, "weapon_deagle")
  132. cs_set_user_bpammo(id, CSW_DEAGLE, 35)
  133. if(cs_get_user_team(id) == CS_TEAM_CT)
  134. cs_set_user_defuse(id, 1)
  135. remove_task(id)
  136. mp[id] = 15
  137. fegyvermenu(id)
  138. set_task(1.0, "vissza", id)
  139. cs_set_user_money(id, 0)
  140. }
  141. else
  142. {
  143. strip_user_weapons(id)
  144. cs_set_user_money(id, 0)
  145. give_item(id, "weapon_deagle")
  146. cs_set_user_bpammo(id, CSW_DEAGLE, 35)
  147. }
  148. }
  149. return PLUGIN_HANDLED
  150. }
  151. public vissza(id)
  152. {
  153. if(mp[id] > 0)
  154. {
  155. mp[id] -= 1
  156. set_task(1.0,"fegyvermenu", id)
  157. set_task(1.0, "vissza", id)
  158. }
  159. else
  160. {
  161. remove_task(id)
  162. print_color(id, "!g[Információ]!y Sajnos lejárt az idő, nem választottál semmit!")
  163. show_menu(id, 0, "^n", 1)
  164. }
  165. }
  166. public fegyvermenu(id)
  167. {
  168. new players[32]
  169. get_players(players,terrorszam,"e","TERRORIST")
  170. get_players(players,counterszam,"e","CT")
  171. new cim[121], limit[121]
  172. format(cim, charsmax(cim), "\r.:[S]u\wB[B]a\y$$]:.\w Fegyvermenü \r- \y[\wMásodperc: \r%d\y]",mp[id])
  173. if(terrorszam >= 4 && counterszam >= 4 && puska <= 3)
  174. format(limit, charsmax(limit), "AWP \dĂ–sszesen %d darab maradt", 4-puska)
  175. else if(terrorszam < 4 && counterszam < 4 || counterszam < 4 || terrorszam < 4)
  176. format(limit, charsmax(limit), "AWP \d4v4-től van. (%dv%d)", terrorszam, counterszam)
  177. else if(puska >= 4)
  178. format(limit, charsmax(limit), "AWP \dElfogyott")
  179. new menu = menu_create(cim, "fegyvermenu_h" )
  180.  
  181. menu_additem(menu,"Marverick \dM4A1","1",0)
  182. menu_additem(menu,"Alexander Kalasnyikov \dAK47","2",0)
  183. menu_additem(menu,limit,"3",0)
  184. menu_additem(menu,"St. Étienne \dFAMAS","4",0)
  185. menu_additem(menu,"SMG \dMP5 NAVY","5",0)
  186. menu_additem(menu,"Shotgun \dM3","6",0)
  187. menu_additem(menu,"Távcsöves puska \dSCOUT","7",0)
  188. menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
  189. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  190. menu_display(id, menu, 0)
  191. }
  192. public fegyvermenu_h(id, menu, item)
  193. {
  194. if( item == MENU_EXIT )
  195. {
  196. menu_destroy(menu);
  197. return PLUGIN_HANDLED;
  198. }
  199. new data[9], szName[64];
  200. new access, callback;
  201. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  202. new key = str_to_num(data);
  203.  
  204. switch(key)
  205. {
  206. case 1:{
  207. remove_task(id)
  208. show_menu(id, 0, "^n", 1)
  209. give_item(id, "weapon_m4a1")
  210. cs_set_user_bpammo(id, CSW_M4A1, 90)
  211. print_color(id, "!g[Információ]!y Te az!t M4A1-t!y választottad!")
  212. }
  213. case 2:{
  214. remove_task(id)
  215. show_menu(id, 0, "^n", 1)
  216. give_item(id, "weapon_ak47")
  217. cs_set_user_bpammo(id, CSW_AK47, 90)
  218. print_color(id, "!g[Információ]!y Te az!t AK47-t!y választottad!")
  219. }
  220. case 3:{
  221. new players[32]
  222. get_players(players,terrorszam,"e","TERRORIST")
  223. get_players(players,counterszam,"e","CT")
  224. if(terrorszam >= 4 && counterszam >= 4 && puska < 4){
  225. remove_task(id)
  226. show_menu(id, 0, "^n", 1)
  227. puska++
  228. give_item(id, "weapon_awp")
  229. cs_set_user_bpammo(id, CSW_AWP, 90)
  230. print_color(id, "!g[Információ]!y Te az!t AWP-t!y választottad!")
  231. }
  232. else if(terrorszam < 4 && counterszam < 4)
  233. print_color(id, "!g[Információ]!y Az AWP-t csak!t 4v4!y-től tudod használni!")
  234. else if(puska >= 4)
  235. print_color(id, "!g[Információ]!y Sajnálom az!t AWP!y elfogyott!")
  236. }
  237. case 4:{
  238. remove_task(id)
  239. show_menu(id, 0, "^n", 1)
  240. give_item(id, "weapon_famas")
  241. cs_set_user_bpammo(id, CSW_M4A1, 90)
  242. print_color(id, "!g[Információ]!y Te a!t FAMAS-t!y választottad!")
  243. }
  244. case 5:{
  245. remove_task(id)
  246. show_menu(id, 0, "^n", 1)
  247. give_item(id, "weapon_mp5navy")
  248. cs_set_user_bpammo(id, CSW_MP5NAVY, 120)
  249. print_color(id, "!g[Információ]!y Te az!t MP5-t!y választottad!")
  250. }
  251. case 6:{
  252. remove_task(id)
  253. show_menu(id, 0, "^n", 1)
  254. give_item(id, "weapon_m3")
  255. cs_set_user_bpammo(id, CSW_M3, 50)
  256. print_color(id, "!g[Információ]!y Te az!t M3-t!y választottad!")
  257. }
  258. case 7:{
  259. remove_task(id)
  260. show_menu(id, 0, "^n", 1)
  261. give_item(id, "weapon_scout")
  262. cs_set_user_bpammo(id, CSW_SCOUT, 90)
  263. print_color(id, "!g[Információ]!y Te az!t SCOUT-t!y választottad!")
  264. }
  265. }
  266. menu_destroy(menu)
  267. return PLUGIN_HANDLED
  268. }
  269. stock print_color(const id, const input[], any:...)
  270. {
  271. new count = 1, players[32]
  272. static msg[191]
  273. vformat(msg, 190, input, 3)
  274.  
  275. replace_all(msg, 190, "!g", "^4")
  276. replace_all(msg, 190, "!y", "^1")
  277. replace_all(msg, 190, "!t", "^3")
  278. replace_all(msg, 190, "á", "á")
  279. replace_all(msg, 190, "é", "Ă©")
  280. replace_all(msg, 190, "í", "Ă­")
  281. replace_all(msg, 190, "ó", "Ăł")
  282. replace_all(msg, 190, "ö", "ö")
  283. replace_all(msg, 190, "ő", "Ĺ‘")
  284. replace_all(msg, 190, "ú", "Ăş")
  285. replace_all(msg, 190, "ü", "ĂĽ")
  286. replace_all(msg, 190, "ű", "ű")
  287. replace_all(msg, 190, "Á", "Á")
  288. replace_all(msg, 190, "É", "É")
  289. replace_all(msg, 190, "Í", "ĂŤ")
  290. replace_all(msg, 190, "Ó", "Ă“")
  291. replace_all(msg, 190, "Ö", "Ă–")
  292. replace_all(msg, 190, "Ő", "Ő")
  293. replace_all(msg, 190, "Ú", "Ăš")
  294. replace_all(msg, 190, "Ü", "Ăś")
  295. replace_all(msg, 190, "Ű", "Ĺ°")
  296.  
  297. if (id) players[0] = id; else get_players(players, count, "ch")
  298. {
  299. for (new i = 0; i < count; i++)
  300. {
  301. if (is_user_connected(players[i]))
  302. {
  303. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  304. write_byte(players[i])
  305. write_string(msg)
  306. message_end()
  307. }
  308. }
  309. }
  310. return PLUGIN_HANDLED
  311. }
  312. public death(){
  313. new killer = read_data(1)
  314. new victim = read_data(2)
  315.  
  316. if(killer == victim)
  317. {
  318. return PLUGIN_HANDLED
  319. }
  320.  
  321. oles[killer]++
  322.  
  323. if(oles[killer] >= maxoles && verseny)
  324. {
  325. new kname[32]
  326. get_user_name(killer, kname, charsmax(kname))
  327. set_dhudmessage(0, 255, 0, -1.0, 0.25, 0, 6.0, 12.0)
  328. show_dhudmessage(0, "%s nyert!", kname)
  329. }
  330. return PLUGIN_HANDLED
  331. }
  332. public verseny_inditasa(id) {
  333. if(get_user_flags(id) & ADMIN_IMMUNITY){
  334. if(!verseny)
  335. {
  336. verseny = true
  337. maxoles = 50
  338. }
  339. }
  340. }
  341. public hud() {
  342. new ps[32], num
  343. get_players(ps, num, "c")
  344.  
  345. SortCustom1D(ps, num, "sort_bestplayer")
  346.  
  347. top1 = ps[0]
  348. top2 = ps[1]
  349. top3 = ps[2]
  350.  
  351. new top1neve[33], top2neve[32], top3neve[32]
  352. get_user_name(top1, top1neve, charsmax(top1neve))
  353. get_user_name(top2, top2neve, charsmax(top2neve))
  354. get_user_name(top3, top3neve, charsmax(top3neve))
  355. for(new i; i < num; i++)
  356. {
  357. if(verseny){
  358. set_dhudmessage(10, 10, 250, 0.03, 0.26, 0, 6.0, 5.0)
  359. show_dhudmessage(i, "1. %s - %d^n2. %s - %d^n3. %s - %d",top1neve, oles[top1], top2neve, oles[top2], top3neve, oles[top3])
  360. }
  361. }
  362. }
  363. public sort_bestplayer(id1, id2)
  364. {
  365. if(oles[id1] > oles[id2])
  366. return -1;
  367. else if(oles[id1] < oles[id2])
  368. return 1;
  369.  
  370. return 0;
  371. }
  372.  

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Fegyvermenü
HozzászólásElküldve: 2015.05.30. 17:19 
Offline
Beavatott
Avatar

Csatlakozott: 2015.03.17. 18:34
Hozzászólások: 88
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 2 alkalommal
Szia :hi:
igaz ez nem az amit te le írtál de nem tudom hogy ez jó e neked
nézd meg át is írhatod nekem ez van berakva!

SMA Forráskód: [ Mindet kijelol ]
  1. #include < amxmodx >
  2. #include < amxmisc >
  3. #include < fun >
  4. #include < fakemeta >
  5. #include < cstrike >
  6. #include < hamsandwich >
  7.  
  8. #pragma semicolon 1
  9.  
  10. #define VERSION "0.0.1"
  11.  
  12. #define Max_Players 32
  13.  
  14. #define OFFSET_PRIMARYWEAPON 116
  15. #define OFFSET_C4_SLOT 372
  16.  
  17. #define Weapon_Menu_Name "Fegyver Csomagok"
  18.  
  19. #define Next_Button "Következő"
  20. #define Back_Button "Vissza"
  21. #define Exit_Button "Kilépés"
  22.  
  23. #define Money_Hud ( 1 << 5 )
  24.  
  25. new g_iWPCT;
  26. new g_iWPTE;
  27.  
  28. new pCvarMaxCTWps;
  29. new pCvarMaxTEWps;
  30.  
  31. new pCvarWPBlock;
  32.  
  33. new pCvarFlash;
  34. new pCvarHe;
  35. new pCvarSmoke;
  36.  
  37. new pCvarKevlar;
  38. new pCvarDefuser;
  39.  
  40. new pCvarPrefix;
  41. new pCvarMoney;
  42. new pCvarBlockBuy;
  43. new pCvarUnAmmo;
  44.  
  45. new const g_szMessages [ ] [ ] =
  46. {
  47. "",
  48. "Csapatonként csak két ember AWP-zhet!",
  49. "^3%s^1 WP^4 csak^1 4v4-től használható!",
  50. "A vásárlás letíltva!",
  51. "Te már választottál fegyvert!"
  52. };
  53.  
  54. new const g_szWeaponMenuNames [ ] [ ] = {
  55.  
  56. "M4A1 Csomag",
  57. "AK47 Csomag",
  58. "AWP Csomag",
  59. "M249 Csomag",
  60. "AUG Csomag",
  61. "Famas Csomag",
  62. "Galil Csomag",
  63. "MP5 Csomag",
  64. "XM1014 Csomag",
  65. "M3 Csomag",
  66. "Scout Csomag"
  67. };
  68.  
  69. new const g_szWeaponsName [ ] [ ] = {
  70.  
  71. "weapon_m4a1",
  72. "weapon_ak47",
  73. "weapon_awp",
  74. "weapon_m249",
  75. "weapon_aug",
  76. "weapon_famas",
  77. "weapon_galil",
  78. "weapon_mp5navy",
  79. "weapon_xm1014",
  80. "weapon_m3",
  81. "weapon_scout"
  82. };
  83.  
  84. new const g_szPistolName [ ] = "weapon_deagle";
  85.  
  86. const DoNotReload = ( ( 1 << CSW_HEGRENADE ) | ( 1 << CSW_SMOKEGRENADE ) | ( 1 << CSW_FLASHBANG ) | ( 1 << CSW_KNIFE ) | ( 1 << CSW_C4 ) );
  87. new const maxAmmo[ 31 ] = {
  88.  
  89. 0,
  90. 52,
  91. 0,
  92. 90,
  93. 1,
  94. 32,
  95. 1,
  96. 100,
  97. 90,
  98. 1,
  99. 120,
  100. 100,
  101. 100,
  102. 90,
  103. 90,
  104. 90,
  105. 100,
  106. 120,
  107. 30,
  108. 120,
  109. 200,
  110. 32,
  111. 90,
  112. 120,
  113. 90,
  114. 2,
  115. 35,
  116. 90,
  117. 90,
  118. 0,
  119. 100
  120. };
  121.  
  122. new g_szBuyCommands[ ][ ] =
  123. {
  124. "usp", "glock", "deagle", "p228", "elites", "fn57", "m3", "xm1014", "mp5", "tmp", "p90", "mac10", "ump45", "ak47",
  125. "galil", "famas", "sg552", "m4a1", "aug", "scout", "awp", "g3sg1", "sg550", "m249", "vest", "vesthelm", "flash", "hegren",
  126. "sgren", "defuser", "nvgs", "shield", "primammo", "secammo", "km45", "9x19mm", "nighthawk", "228compact", "12gauge",
  127. "autoshotgun", "smg", "mp", "c90", "cv47", "defender", "clarion", "krieg552", "bullpup", "magnum", "d3au1", "krieg550",
  128. "buyammo1", "buyammo2"
  129. };
  130.  
  131. new const g_szMenuCommands[ ] [ ] =
  132. {
  133. "fegyo",
  134. "say fegyo",
  135. "say_team fegyo",
  136.  
  137. "fegyver",
  138. "say fegyver",
  139. "say_team fegyver",
  140.  
  141. "say /fegyo",
  142. "say_team /fegyo",
  143.  
  144. "say /fegyver",
  145. "say_team /fegyver"
  146.  
  147. };
  148.  
  149. new g_szChatPrefix[ 64 ];
  150. new g_msgHideWeapon;
  151. new g_bHasWeapon[ Max_Players ];
  152.  
  153. public plugin_init ( ) {
  154.  
  155. register_plugin( "Advanced Weapon Menu", VERSION, "#YouCantStopMe" );
  156.  
  157. RegisterHam( Ham_Spawn, "player", "func_OpenWeaponMenu", 1 );
  158.  
  159. pCvarMaxCTWps = register_cvar( "awm_max_ct_awp", "2" ); // Ct-nél 2 AWP-s lehet.
  160. pCvarMaxTEWps = register_cvar( "awm_max_te_awp", "2" ); // Terroristáknál 2 AWP-s lehet.
  161.  
  162. pCvarWPBlock = register_cvar( "awm_allow_wp_player", "4" ); // Ha mindkét csapatban van 4-4 játékos akkor engedi az AWP-t
  163.  
  164. pCvarFlash = register_cvar( "awm_give_flash", "2" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad ) Alap: 2 Flash gránát
  165. pCvarHe = register_cvar( "awm_give_he", "1" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad ) Alap: 1 Robanó gránát
  166. pCvarSmoke = register_cvar( "awm_give_smoke", "0" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad )
  167.  
  168. pCvarKevlar = register_cvar( "awm_give_kevlar", "2" ); // Itt tudod beállítani ,hogy adjon-e kevlárt. ( 0 = Nem Ad ) Alap: 2 ( Kevlár + Sisak )
  169. pCvarDefuser = register_cvar( "awm_give_defuser", "1" ); // Itt tudod beállítani ,hogy adjon-e defusert. ( 0 = Nem Ad )
  170.  
  171. pCvarUnAmmo = register_cvar( "awm_unlimited_ammo", "1" ); // Itt tudod beállítani ,hogy elfoggyon-e a tár vagy ne. Alap: 1 ( Tehát nem fogy el a tár )
  172.  
  173. pCvarBlockBuy = register_cvar( "awm_block_buy", "1" ); // Itt tudod beállítani ,hogy tiltsa-e a vásárlást vagy ne. Alap 1 ( Tehát tiltva van ) ( 0 = Nincs tiltva )
  174. pCvarMoney = register_cvar( "awm_set_money", "0" ); // Itt tudod beállítani ,hogy mennyi pénze legyen a játékosoknak. ( 0 = Nincs , eltűnik a hudról is ) Alap: 0
  175. pCvarPrefix = register_cvar( "awm_prefix", "SzerverPrefix" ); // Itt tudod beállítani, hogy mi legyen a Fegyvermenü prefix-je.
  176.  
  177. g_msgHideWeapon = get_user_msgid( "HideWeapon" );
  178.  
  179. for( new i = 0; i < sizeof( g_szBuyCommands ); i++ )
  180. register_clcmd( g_szBuyCommands[ i ], "cmd_BlockBuy" );
  181.  
  182. for( new i = 0; i < sizeof( g_szMenuCommands ); i++ )
  183. register_clcmd( g_szMenuCommands[ i ], "cmd_ShowWeaponMenu" );
  184.  
  185. register_event( "ResetHUD", "onResetHUD", "b" );
  186. register_event( "CurWeapon", "eCurWeapon", "be", "1=1" );
  187.  
  188. register_message( g_msgHideWeapon, "msgHideWeapon" );
  189.  
  190. register_logevent( "eRoundEnd", 2, "1=Round_End" );
  191. }
  192.  
  193. public client_connect( iClient ) {
  194.  
  195. g_bHasWeapon[ iClient ] = false;
  196. }
  197.  
  198. public client_disconnect( iClient ) {
  199.  
  200. g_bHasWeapon[ iClient ] = false;
  201. }
  202.  
  203. public cmd_ShowWeaponMenu( iClient ) {
  204.  
  205. switch( g_bHasWeapon[ iClient ] ) {
  206.  
  207. case true:
  208. {
  209. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  210. ColorChat( iClient, "^3%s %s" , g_szChatPrefix, g_szMessages[ 4 ] );
  211.  
  212. return PLUGIN_HANDLED;
  213. }
  214. case false: func_OpenWeaponMenu( iClient );
  215. }
  216. return PLUGIN_HANDLED;
  217. }
  218.  
  219. public cmd_BlockBuy( iClient ) {
  220.  
  221. if( !get_pcvar_num( pCvarBlockBuy ) )
  222. return PLUGIN_CONTINUE;
  223.  
  224. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  225. ColorChat( iClient, "^3%s %s" , g_szChatPrefix, g_szMessages[ 3 ] );
  226. return PLUGIN_HANDLED;
  227. }
  228.  
  229. public eCurWeapon( iClient ) {
  230.  
  231. if( get_pcvar_num( pCvarUnAmmo ) ) {
  232.  
  233. if( is_user_alive( iClient ) ) {
  234.  
  235. new weapon = read_data( 2 );
  236. if( !( DoNotReload & ( 1 << weapon ) ) ) {
  237.  
  238. cs_set_user_bpammo( iClient, weapon, maxAmmo[ weapon ] );
  239. }
  240. }
  241. }
  242. }
  243.  
  244. public onResetHUD( iClient ) {
  245.  
  246. if( !get_pcvar_num( pCvarMoney ) ) {
  247.  
  248. message_begin( MSG_ONE, g_msgHideWeapon, _, iClient );
  249. write_byte( Money_Hud );
  250. message_end( );
  251. }
  252. }
  253.  
  254. public msgHideWeapon( ) {
  255.  
  256. if( !get_pcvar_num( pCvarMoney ) ) {
  257.  
  258. set_msg_arg_int( 1, ARG_BYTE, get_msg_arg_int( 1 ) | Money_Hud );
  259. }
  260. }
  261.  
  262. public eRoundEnd ( ) {
  263.  
  264. g_iWPCT = 0;
  265. g_iWPTE = 0;
  266. }
  267.  
  268. public func_OpenWeaponMenu ( iClient ) {
  269.  
  270. if( !is_user_alive( iClient ) )
  271. return;
  272.  
  273. cs_set_user_money( iClient, get_pcvar_num( pCvarMoney ) );
  274.  
  275. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  276.  
  277. g_bHasWeapon[ iClient ] = false;
  278.  
  279. new szMenuTitle[ 121 ];
  280. new szMenuItem[ 121 ];
  281.  
  282. format( szMenuTitle, charsmax( szMenuTitle ), "\r%s^n\w%s", g_szChatPrefix, Weapon_Menu_Name );
  283.  
  284. StripUserWeapons( iClient );
  285. new menu = menu_create( szMenuTitle, "func_OpenWeaponMenu_handler" );
  286.  
  287. for( new i = 0; i < sizeof( g_szWeaponMenuNames ); i++ ) {
  288.  
  289. if( i != 2 ) {
  290.  
  291. format( szMenuItem, charsmax( szMenuItem ), "\w%s", g_szWeaponMenuNames[ i ] );
  292. }
  293. else {
  294. switch( get_user_team( iClient ) )
  295. {
  296. case 1: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[Első %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxTEWps ) );
  297. case 2: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[Első %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxCTWps ) );
  298. default: continue;
  299. }
  300. }
  301.  
  302. menu_additem( menu, szMenuItem, _, 0 );
  303. }
  304.  
  305. menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
  306. menu_setprop( menu, MPROP_BACKNAME, Back_Button );
  307. menu_setprop( menu, MPROP_NEXTNAME, Next_Button );
  308. menu_setprop( menu, MPROP_EXITNAME, Exit_Button );
  309. menu_display( iClient, menu );
  310. }
  311.  
  312. public func_OpenWeaponMenu_handler( iClient, iMenu, iItem ) {
  313.  
  314. if( iItem == MENU_EXIT ) {
  315.  
  316. menu_destroy( iMenu );
  317. return PLUGIN_HANDLED;
  318. }
  319.  
  320. new data[ 6 ], szName[ 64 ];
  321. new access, callback;
  322. menu_item_getinfo( iMenu, iItem, access, data, charsmax( data ), szName, charsmax( szName ), callback );
  323.  
  324. get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) );
  325.  
  326. if( iItem != 2 ) {
  327.  
  328. give_item( iClient, g_szWeaponsName[ iItem ] );
  329. give_item( iClient, g_szPistolName );
  330.  
  331. ColorChat( iClient, "^3%s^1 [DruGs$] Te az ^4%s^1 csomagot választottad!", g_szChatPrefix ,g_szWeaponMenuNames[ iItem ] );
  332. }
  333. else {
  334.  
  335. new iTeams[ CsTeams ];
  336. GetPlayerCount( iTeams );
  337.  
  338. if( iTeams[ CS_TEAM_T ] < get_pcvar_num( pCvarWPBlock )
  339. || iTeams[ CS_TEAM_CT ] < get_pcvar_num( pCvarWPBlock ) ) {
  340.  
  341. ColorChat( iClient, g_szMessages[ 2 ], g_szChatPrefix );
  342. func_OpenWeaponMenu( iClient );
  343.  
  344. return PLUGIN_HANDLED;
  345. }
  346.  
  347. new CsTeams:userTeam = cs_get_user_team( iClient );
  348. if( userTeam == CS_TEAM_CT ) {
  349.  
  350. if( g_iWPCT < get_pcvar_num( pCvarMaxCTWps ) ) {
  351.  
  352. give_item( iClient, g_szWeaponsName[ iItem ] );
  353. give_item( iClient, g_szPistolName );
  354.  
  355. ColorChat( iClient, "^3%s^1 T|U|R|B|O Te az ^4%s^1 csomagot választottad!", g_szChatPrefix, g_szWeaponMenuNames[ iItem ] );
  356. g_iWPCT++;
  357. }
  358. else {
  359.  
  360. client_print( iClient, print_center, g_szMessages[ 1 ] );
  361. func_OpenWeaponMenu ( iClient );
  362.  
  363. return PLUGIN_HANDLED;
  364. }
  365. }
  366.  
  367. if( userTeam == CS_TEAM_T ) {
  368.  
  369. if( g_iWPTE < get_pcvar_num( pCvarMaxTEWps ) ) {
  370.  
  371.  
  372. give_item( iClient, g_szWeaponsName[ iItem ] );
  373. give_item( iClient, g_szPistolName );
  374.  
  375. ColorChat( iClient, "^3%s^1 T|U|R|B|O az ^4%s^1 csomagot választottad!", g_szChatPrefix, g_szWeaponMenuNames[ iItem ] );
  376. g_iWPTE++;
  377. }
  378. else {
  379.  
  380. client_print( iClient, print_center, g_szMessages[ 1 ] );
  381. func_OpenWeaponMenu( iClient );
  382.  
  383. return PLUGIN_HANDLED;
  384. }
  385. }
  386. }
  387.  
  388. give_item( iClient, "weapon_knife" );
  389. give_player_stuff( iClient );
  390.  
  391. menu_destroy( iMenu );
  392. return PLUGIN_HANDLED;
  393. }
  394.  
  395. GetPlayerCount( iTeamPlayers[ CsTeams ] ) {
  396.  
  397. new iPlayers[ 32 ] , iPlayerCount;
  398.  
  399. get_players( iPlayers , iPlayerCount );
  400.  
  401. for ( new i = 0 ; i < iPlayerCount ; i++ )
  402. iTeamPlayers[ cs_get_user_team( iPlayers[ i ] ) ]++;
  403. }
  404.  
  405. stock give_player_stuff( iClient ) {
  406.  
  407. if( get_pcvar_num( pCvarFlash ) ) {
  408.  
  409. give_item( iClient, "weapon_flashbang" );
  410. cs_set_user_bpammo( iClient, CSW_FLASHBANG, get_pcvar_num( pCvarFlash ) );
  411. }
  412.  
  413. if( get_pcvar_num( pCvarHe ) ) {
  414.  
  415. give_item( iClient, "weapon_hegrenade" );
  416. cs_set_user_bpammo( iClient, CSW_HEGRENADE, get_pcvar_num( pCvarHe ) );
  417. }
  418.  
  419. if( get_pcvar_num( pCvarSmoke ) ) {
  420.  
  421. give_item( iClient, "weapon_smokegrenade" );
  422. cs_set_user_bpammo( iClient, CSW_SMOKEGRENADE, get_pcvar_num( pCvarSmoke ) );
  423. }
  424.  
  425. if( get_pcvar_num( pCvarKevlar ) ) {
  426.  
  427. switch( get_pcvar_num( pCvarKevlar ) ) {
  428.  
  429. case 1: give_item( iClient, "item_kevlar" );
  430. case 2: give_item( iClient, "item_assaultsuit" );
  431. default: return PLUGIN_CONTINUE;
  432. }
  433. }
  434.  
  435. if( get_pcvar_num( pCvarDefuser ) ) {
  436.  
  437. give_item( iClient, "item_thighpack" );
  438. }
  439.  
  440. if( !get_pcvar_num( pCvarUnAmmo ) ) {
  441.  
  442. new weapons[ 32 ];
  443. new weaponsnum;
  444. get_user_weapons( iClient, weapons, weaponsnum );
  445. for( new i = 0; i < weaponsnum; i++ )
  446. if( is_user_alive( iClient ) )
  447. if( maxAmmo[ weapons[ i ] ] > 0 )
  448. cs_set_user_bpammo( iClient, weapons[ i ], maxAmmo[ weapons[ i ] ] );
  449. }
  450.  
  451. g_bHasWeapon[ iClient ] = true;
  452. return PLUGIN_CONTINUE;
  453. }
  454.  
  455.  
  456. //Stolen from CSDM Weapon Menu
  457. stock StripUserWeapons( iClient ) {
  458.  
  459. new iC4Ent = get_pdata_cbase( iClient, OFFSET_C4_SLOT );
  460.  
  461. if( iC4Ent > 0 ) {
  462.  
  463. set_pdata_cbase( iClient, OFFSET_C4_SLOT, FM_NULLENT );
  464. }
  465.  
  466. strip_user_weapons( iClient );
  467. set_pdata_int( iClient, OFFSET_PRIMARYWEAPON, 0 );
  468.  
  469. if( iC4Ent > 0 ) {
  470.  
  471. set_pev( iClient, pev_weapons, pev( iClient, pev_weapons ) | ( 1 << CSW_C4 ) );
  472. set_pdata_cbase( iClient, OFFSET_C4_SLOT, iC4Ent );
  473.  
  474. cs_set_user_bpammo( iClient, CSW_C4, 1 );
  475. cs_set_user_plant( iClient, 1 );
  476. }
  477.  
  478. return PLUGIN_HANDLED;
  479. }
  480.  
  481. stock ColorChat( iClient, const input[], any:...)
  482. {
  483. new count = 1, players[ 32 ];
  484. static msg[ 191 ];
  485. vformat( msg, 190, input, 3 );
  486.  
  487. replace_all( msg, 190, "^x01" , "^1");
  488. replace_all( msg, 190, "^x03" , "^3");
  489. replace_all( msg, 190, "^x04" , "^4");
  490.  
  491. if ( iClient ) players[ 0 ] = iClient; else get_players( players , count , "ch" );
  492. {
  493. for ( new i = 0; i < count; i++ )
  494. {
  495. if ( is_user_connected( players[ i ] ) )
  496. {
  497. message_begin( MSG_ONE_UNRELIABLE , get_user_msgid( "SayText" ), _, players[ i ] );
  498. write_byte( players[ i ] );
  499. write_string( msg );
  500. message_end( );
  501. }
  502. }
  503. }
  504. }
  505.  

_________________
>Ha segítettem ne felejtsd megköszönni :)<


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


Ki van itt

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