hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.03. 12:30



Jelenlévő felhasználók

Jelenleg 547 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 547 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  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: fegyvermenü
HozzászólásElküldve: 2015.02.21. 20:59 
Offline
Tag

Csatlakozott: 2015.02.21. 20:52
Hozzászólások: 30
Megköszönt másnak: 7 alkalommal
Megköszönték neki: 3 alkalommal
hali! valaki megtudná azt csinálni,h ez a fegyvermenüben csak a CTk-nek jelenjen meg?
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fun>
  5. #include <hamsandwich>
  6. #include <csstats>
  7.  
  8. #define PLUGIN "Weaponmenu"
  9. #define VERSION "1.0"
  10. #define AUTHOR "Demon"
  11.  
  12. new g_menuPosition[33];
  13. new g_chosenItem[33];
  14.  
  15. new cSecond;
  16. new cCommand;
  17. new cCommandbuyzone;
  18. new cMoney;
  19. new cColorchat
  20. new cWP;
  21. new cWPlimit;
  22. new cAdvert;
  23. new cNade;
  24. new cCD;
  25. new cSmokerank;
  26. new cFlashrank;
  27. new cEnable;
  28.  
  29. new gWPCT = 0;
  30. new gWPTE = 0;
  31. new gBadLines[3];
  32. new gLine[8];
  33. new Count[33];
  34. new bool:gHasPlayerBomb[33] = false;
  35. new bool:gAdvert = false;
  36. new bool:already[33];
  37.  
  38. public plugin_init() {
  39. register_plugin(PLUGIN, VERSION, AUTHOR)
  40.  
  41. RegisterHam(Ham_Spawn, "player", "fwSpawn", 1);
  42. register_logevent("logevent_end", 2, "1=Round_End")
  43. register_logevent("logevent_end", 2, "1&Restart_Round");
  44. register_logevent("logevent_end", 2, "1=Game_Commencing");
  45. register_menucmd(register_menuid("Weapon Menu"), 1023, "actionWeaponMenu");
  46.  
  47. cEnable = register_cvar("wpnmenu_on", "1"); //Plugin ki/be kapcsolasa (ki==0 | be==1)
  48. cSecond = register_cvar("wpnmenu_pistol", "deagle"); //Milyen pisztolyt kapjonak a jatekosok
  49. cCommand = register_cvar("wpnmenu_command", "1"); //Menu behozasa chat parancsra (igen==1 | nem==0)
  50. cCommandbuyzone = register_cvar("wpnmenu_buyzone", "0"); //Parancs csak buy zonaban (csak buyzone==1 | mindenhol==0)
  51. cMoney = register_cvar("wpnmenu_money", "0"); //Penz nullazasa (igen==0 | nem==1)
  52. cColorchat = register_cvar("wpnmenu_colorchat", "1"); //Szines iras ki/be kapcsolasa (ki==0 | be==1)
  53. cCD = register_cvar("wpnmenu_countdown", "1"); //Visszaszamlalo ki/be kapcsolasa (ki==0 | be==1)
  54. register_cvar("wpnmenu_cdvalue", "30"); //Ha wpnmenu_countdown==1 akkor hany masodpercig tartson a visszaszamlalas
  55. cWPlimit = register_cvar("wpnmenu_maxwp", "5"); //Max AWP csapatonkent
  56. cWP = register_cvar("wpnmenu_minplayerwp", "1"); //Mindket csapatban minimum 4 emberenek kell legyen, hogy tudjon AWP-t valasztani
  57. cAdvert = register_cvar("wpnmenu_advert", "180.0"); //Hirdetes (ki==0.0 | milyen idokozonkent 180.0==3 perc
  58. cNade = register_cvar("wpnmenu_nade", "1"); //Kapjon-e a jatekos granatokat (igen==1 | nem==0)
  59. cSmokerank = register_cvar("wpnmenu_smokerank", "180"); //Ha wpnmenu_nade==1 akkor mekkora rank kell, hogy kapjon Smokeot (mindenki kap==0 | TOP180==180)
  60. cFlashrank = register_cvar("wpnmenu_flashrank", "150"); //Ha wpnmenu_nade==1 akkor mekkora rank kell, hogy kapjon Flasht (mindenki kap==0 | TOP150==150)
  61.  
  62. register_dictionary("weaponmenu.txt");
  63. register_clcmd("say /weapon", "Command");
  64. register_clcmd("team_say /weapon", "Command");
  65. register_clcmd("say /fegyver", "Command");
  66. register_clcmd("team_say /fegyver", "Command");
  67.  
  68. set_task(get_pcvar_float(cAdvert), "AdvertChck", _, _, _, "b" );
  69. }
  70.  
  71. public AdvertChck()
  72. {
  73. if(get_pcvar_float(cAdvert) > 0.0 || get_pcvar_num(cEnable))
  74. {
  75. gAdvert? first() : second();
  76. }
  77. }
  78.  
  79. public first()
  80. {
  81. if(get_pcvar_num(cColorchat))
  82. print_color(0, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "ADVERT1", AUTHOR);
  83. else
  84. client_print(0, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "ADVERT1", AUTHOR);
  85. gAdvert = false;
  86. }
  87.  
  88. public second()
  89. {
  90. if(get_pcvar_num(cColorchat))
  91. print_color(0, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "ADVERT2");
  92. else
  93. client_print(0, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "ADVERT2");
  94. gAdvert = true;
  95. }
  96.  
  97. public logevent_end()
  98. {
  99. gWPCT = 0;
  100. gWPTE = 0;
  101. new players[32], pnum
  102. get_players(players, pnum)
  103. for(new i=0; i<pnum; i++)
  104. {
  105. gHasPlayerBomb[i] = false;
  106. already[i] = false;
  107. }
  108. }
  109.  
  110. public fwSpawn(id)
  111. {
  112. if(!get_pcvar_num(cEnable))
  113. return PLUGIN_CONTINUE;
  114. if(is_user_alive(id))
  115. {
  116. if(get_pcvar_num(cMoney)==0)
  117. cs_set_user_money(id, 0, 0);
  118. if(get_pcvar_num(cCD))
  119. Count[id]=get_cvar_num("wpnmenu_cdvalue");
  120. already[id] = false;
  121. bombacheck(id);
  122. cmdWeaponMenu(id)
  123. }
  124. return PLUGIN_CONTINUE;
  125. }
  126.  
  127. public Command(id)
  128. {
  129. if(!get_pcvar_num(cEnable) || !get_pcvar_num(cCommand))
  130. return PLUGIN_CONTINUE;
  131. if(get_pcvar_num(cCommandbuyzone) && !cs_get_user_buyzone(id))
  132. {
  133. if(get_pcvar_num(cColorchat))
  134. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "ONLY_BUYZONE");
  135. else
  136. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "ONLY_BUYZONE");
  137. return PLUGIN_HANDLED;
  138. }
  139. if(get_pcvar_num(cCD))
  140. Count[id]=get_cvar_num("wpnmenu_cdvalue");
  141. already[id] = false;
  142. cmdWeaponMenu(id)
  143. return PLUGIN_HANDLED;
  144. }
  145.  
  146. public ShowWeaponMenu(id)
  147. {
  148. if(!already[id])
  149. {
  150. if(get_pcvar_num(cCD))
  151. {
  152. remove_task(id, 0 )
  153. Count[id]--;
  154. set_task(1.0, "ShowWeaponMenu",id);
  155. }
  156. displayWeaponMenu(id, g_menuPosition[id])
  157. }
  158.  
  159.  
  160. }
  161.  
  162. public cmdWeaponMenu(id)
  163. {
  164. if(!get_pcvar_num(cEnable))
  165. return PLUGIN_HANDLED;
  166.  
  167. for(new i=0;i<3;i++)
  168. gBadLines[i]=0;
  169. displayWeaponMenu(id, g_menuPosition[id] = 0)
  170.  
  171. return PLUGIN_HANDLED
  172. }
  173.  
  174. displayWeaponMenu(id, pos)
  175. {
  176. new Configsdir[64]
  177. new weapon_ini[64]
  178. new line = 0
  179. new g_Lines = 0
  180. new linetext[128], linetextlength
  181. new item_name[64], item_weapon[32]
  182. new menuBody[512]
  183. new b = 0
  184. new start = pos * 8
  185. new len
  186. if(pos==0) gBadLines[pos]=0;
  187. get_customdir(Configsdir, 63)
  188. format(weapon_ini, 63, "%s/weaponmenu.ini", Configsdir)
  189.  
  190. if ( !file_exists(weapon_ini) )
  191. {
  192. log_to_file("Weaponmenu.log", "%s file nem talalhato!", weapon_ini);
  193. return
  194. }
  195.  
  196. while ((line = read_file(weapon_ini, line, linetext, 127, linetextlength)))
  197. {
  198. parse(linetext, item_name, 63, item_weapon, 31)
  199. if((linetext[0] != '"' || linetext[0] == ';') || !is_valid(item_weapon))
  200. continue
  201. g_Lines++
  202. }
  203.  
  204. if(g_Lines > 19)
  205. g_Lines=19;
  206.  
  207. if (start >= g_Lines)
  208. start = pos = g_menuPosition[id] = 0
  209.  
  210. if(get_pcvar_num(cCD))
  211. len = format(menuBody, 511, "\w%L \y[\r%d mp\y] \r%d/%d^n\w^n", LANG_PLAYER, "MENU_NAME", Count[id], pos + 1, (g_Lines / 8 + ((g_Lines % 8) ? 1 : 0)))
  212. else
  213. len = format(menuBody, 511, "\w%L \r%d/%d^n\w^n", LANG_PLAYER, "MENU_NAME", pos + 1, (g_Lines / 8 + ((g_Lines % 8) ? 1 : 0)))
  214.  
  215. new end = start + 8
  216. new keys = MENU_KEY_0
  217.  
  218. if (end > g_Lines)
  219. end = g_Lines
  220.  
  221. new players[32], numct, numt
  222. get_players(players, numct, "e", "CT")
  223. get_players(players, numt, "e", "TERRORIST")
  224.  
  225. for (new a = start+gBadLines[pos]; a < end+gBadLines[pos]; ++a)
  226. {
  227. read_file(weapon_ini, a, linetext, 127, linetextlength)
  228.  
  229. parse(linetext, item_name, 63, item_weapon, 231)
  230.  
  231. if((linetext[0] != '"' || linetext[0] == ';') || !is_valid(item_weapon))
  232. {
  233. if(pos==0) gBadLines[pos]++;
  234. continue;
  235. }
  236. if(pos<2)
  237. gBadLines[pos+1]=gBadLines[pos];
  238.  
  239. keys |= (1<<b)
  240. gLine[b]=a
  241. if(equal(item_weapon, "weapon_awp"))
  242. {
  243. if(numct>=get_pcvar_num(cWP)&& numt>=get_pcvar_num(cWP))
  244. {
  245. if(get_user_team(id) == 2)
  246. {
  247. if((get_pcvar_num(cWPlimit)-gWPCT)==0)
  248. len += format(menuBody[len], 511-len, "\d%d. %s \y[\r%L\y]^n\w", ++b, item_name, LANG_PLAYER, "SOLD_OUT")
  249. else
  250. len += format(menuBody[len], 511-len, "%d. %s \y[\r%d\y]^n\w", ++b, item_name, (get_pcvar_num(cWPlimit)-gWPCT))
  251.  
  252. }
  253. if(get_user_team(id) == 1)
  254. {
  255. if((get_pcvar_num(cWPlimit)-gWPTE)==0)
  256. len += format(menuBody[len], 511-len, "\d%d. %s \y[\r%L\y]^n\w", ++b, item_name, LANG_PLAYER, "SOLD_OUT")
  257. else
  258. len += format(menuBody[len], 511-len, "%d. %s \y[\r%d\y]^n\w", ++b, item_name, (get_pcvar_num(cWPlimit)-gWPTE))
  259. }
  260. }
  261. else
  262. len += format(menuBody[len], 511-len, "\d%d. %s \y[\r%dv%d\y]^n\w", ++b, item_name, get_pcvar_num(cWP), get_pcvar_num(cWP))
  263. }
  264. else
  265. len += format(menuBody[len], 511-len, "%d. %s^n\w", ++b, item_name)
  266. }
  267.  
  268. if (end != g_Lines)
  269. {
  270. if(pos>0)
  271. format(menuBody[len], 511-len, "^n9. %L...^n0. %L", LANG_PLAYER, "WPN_NEXT", LANG_PLAYER, "WPN_BACK")
  272. else
  273. format(menuBody[len], 511-len, "^n9. %L...", LANG_PLAYER, "WPN_NEXT")
  274. keys |= MENU_KEY_9
  275. }
  276. else
  277. if(pos>0)
  278. format(menuBody[len], 511-len, "^n0. %L", LANG_PLAYER, "WPN_BACK")
  279. if(!already[id])
  280. {
  281. show_menu(id, keys, menuBody, -1, "Weapon Menu")
  282.  
  283. if(get_pcvar_num(cCD))
  284. {
  285. if(Count[id]==get_cvar_num("wpnmenu_cdvalue"))
  286. set_task(1.0, "ShowWeaponMenu",id);
  287. if(Count[id]<=0)
  288. {
  289. show_menu(id, 0, menuBody, -1, "Weapon Menu")
  290. already[id] = true;
  291. }
  292. }
  293. }
  294. }
  295.  
  296. public actionWeaponMenu(id, key)
  297. {
  298. already[id] = true;
  299. switch (key)
  300. {
  301. case 8:
  302. {
  303. already[id] = false;
  304. displayWeaponMenu(id, ++g_menuPosition[id])
  305. }
  306. case 9:
  307. {
  308. already[id] = false;
  309. if(g_menuPosition[id]>0)
  310. displayWeaponMenu(id, --g_menuPosition[id])
  311. else
  312. displayWeaponMenu(id, g_menuPosition[id])
  313. }
  314. default:
  315. {
  316. g_chosenItem[id]=gLine[key]
  317.  
  318. new Configsdir[64]
  319. new weapon_ini[64]
  320. new linetext[128], linetextlength
  321. new item_name[64], item_weapon[32]
  322. new players[32], numct, numt
  323.  
  324. get_players(players, numct, "e", "CT")
  325. get_players(players, numt, "e", "TERRORIST")
  326.  
  327. get_customdir(Configsdir, 63)
  328. format(weapon_ini, 63, "%s/weaponmenu.ini", Configsdir)
  329.  
  330. read_file(weapon_ini, g_chosenItem[id], linetext, 127, linetextlength)
  331.  
  332. parse(linetext, item_name, 63, item_weapon, 31)
  333.  
  334. if(equal(item_weapon, "weapon_awp"))
  335. {
  336. if(numct>=get_pcvar_num(cWP)&& numt>=get_pcvar_num(cWP))
  337. {
  338. if(get_user_team(id) == 2 && get_pcvar_num(cWPlimit)==gWPCT)
  339. {
  340. if(get_pcvar_num(cColorchat))
  341. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "MAX_WPTEAM");
  342. else
  343. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "MAX_WPTEAM");
  344. already[id] = false;
  345. displayWeaponMenu(id, g_menuPosition[id])
  346. return PLUGIN_HANDLED;
  347.  
  348. }
  349. else if(get_user_team(id) == 1 && get_pcvar_num(cWPlimit)==gWPTE)
  350. {
  351. if(get_pcvar_num(cColorchat))
  352. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "MAX_WPTEAM");
  353. else
  354. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "MAX_WPTEAM");
  355. already[id] = false;
  356. displayWeaponMenu(id, g_menuPosition[id])
  357. return PLUGIN_HANDLED;
  358. }
  359. else
  360. {
  361. if(get_pcvar_num(cColorchat))
  362. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GOT_WEAPON");
  363. else
  364. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GOT_WEAPON");
  365. bombacheck(id);
  366. give_item(id, item_weapon)
  367. if(!is_sec_wpn(item_weapon))
  368. {
  369. give_item(id, givesec())
  370. cs_set_user_bpammo(id, weapon_to_csw(givesec()), 100);
  371. }
  372. cs_set_user_bpammo(id, weapon_to_csw(item_weapon), 100);
  373. give_item(id, "item_kevlar");
  374. cs_set_user_defuse(id, 1)
  375.  
  376. if(get_user_team(id) == 2) gWPCT++;
  377. if(get_user_team(id) == 1) gWPTE++;
  378.  
  379. return PLUGIN_HANDLED;
  380. }
  381. }
  382. else
  383. {
  384. if(get_pcvar_num(cColorchat))
  385. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "MAX_WP", get_pcvar_num(cWP), get_pcvar_num(cWP));
  386. else
  387. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "MAX_WP", get_pcvar_num(cWP), get_pcvar_num(cWP));
  388. already[id] = false;
  389. displayWeaponMenu(id, g_menuPosition[id])
  390. return PLUGIN_HANDLED;
  391. }
  392. }
  393.  
  394. if(equal(item_weapon, "none"))
  395. {
  396. if(get_pcvar_num(cColorchat))
  397. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "WPN_NONE");
  398. else
  399. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "WPN_NONE");
  400. return PLUGIN_HANDLED;
  401. }
  402. bombacheck(id);
  403. if(get_pcvar_num(cNade))
  404. GiveNade(id)
  405. give_item(id, item_weapon)
  406. if(!is_sec_wpn(item_weapon))
  407. {
  408. give_item(id, givesec())
  409. cs_set_user_bpammo(id, weapon_to_csw(givesec()), 100);
  410. }
  411. cs_set_user_bpammo(id, weapon_to_csw(item_weapon), 100);
  412. give_item(id, "item_kevlar");
  413. cs_set_user_defuse(id, 1)
  414. if(get_pcvar_num(cColorchat))
  415. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GOT_WEAPON");
  416. else
  417. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GOT_WEAPON");
  418.  
  419. }
  420. }
  421.  
  422. return PLUGIN_HANDLED
  423. }
  424.  
  425. public givesec()
  426. {
  427. new returnvalue[15];
  428. new cvarvalue[10];
  429. get_pcvar_string(cSecond, cvarvalue, 9);
  430. format(returnvalue, 14, "weapon_%s", cvarvalue);
  431. return returnvalue;
  432. }
  433.  
  434. public bombacheck(id)
  435. {
  436. if(user_has_weapon(id, CSW_C4))
  437. gHasPlayerBomb[id] = true;
  438. strip_user_weapons(id);
  439. if(gHasPlayerBomb[id] == true)
  440. {
  441. give_item(id, "weapon_c4");
  442. cs_set_user_plant(id, 1, 1);
  443. }
  444. give_item(id, "weapon_knife");
  445. }
  446.  
  447. public GiveNade(id)
  448. {
  449. give_item(id, "weapon_hegrenade");
  450.  
  451. if(get_pcvar_num(cFlashrank)==0)
  452. {
  453. give_item(id, "weapon_flashbang");
  454. give_item(id, "weapon_flashbang");
  455. }
  456. if(get_pcvar_num(cSmokerank)==0)
  457. give_item(id, "weapon_smokegrenade");
  458.  
  459. if(get_pcvar_num(cFlashrank) && get_pcvar_num(cSmokerank))
  460. {
  461. static stats[8], body[8];
  462. new rank_pos = get_user_stats(id, stats, body);
  463.  
  464. if(rank_pos<=get_pcvar_num(cFlashrank))
  465. {
  466. give_item(id, "weapon_flashbang");
  467. give_item(id, "weapon_flashbang");
  468. if(get_pcvar_num(cColorchat))
  469. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GIVE_FLASH", get_pcvar_num(cFlashrank));
  470. else
  471. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GIVE_FLASH", get_pcvar_num(cFlashrank));
  472. }
  473. if(rank_pos<=get_pcvar_num(cSmokerank))
  474. {
  475. give_item(id, "weapon_smokegrenade")
  476. if(get_pcvar_num(cColorchat))
  477. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GIVE_SMOKE", get_pcvar_num(cSmokerank));
  478. else
  479. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GIVE_SMOKE", get_pcvar_num(cSmokerank));
  480. }
  481. }
  482. }
  483.  
  484. public bomb_is_dropped()
  485. {
  486. new player = get_loguser_index();
  487. gHasPlayerBomb[player] = false;
  488. }
  489.  
  490. stock get_loguser_index()
  491. {
  492. new loguser[80], name[32];
  493.  
  494. read_logargv(0, loguser, 79);
  495. parse_loguser(loguser, name, 31);
  496.  
  497. return get_user_index(name);
  498. }
  499.  
  500. public is_sec_wpn(weapon[])
  501. {
  502. if(equal(weapon, "weapon_deagle")
  503. || equal(weapon, "weapon_elite")
  504. || equal(weapon, "weapon_fiveseven")
  505. || equal(weapon, "weapon_glock18")
  506. || equal(weapon, "weapon_p228")
  507. || equal(weapon, "weapon_usp"))
  508. return 1;
  509. return 0;
  510. }
  511.  
  512. public weapon_to_csw(weapon[])
  513. {
  514. if(equal(weapon, "weapon_m4a1"))
  515. return CSW_M4A1;
  516. else if(equal(weapon, "weapon_ak47"))
  517. return CSW_AK47;
  518. else if(equal(weapon, "weapon_awp"))
  519. return CSW_AWP;
  520. else if(equal(weapon, "weapon_famas"))
  521. return CSW_FAMAS;
  522. else if(equal(weapon, "weapon_aug"))
  523. return CSW_AUG;
  524. else if(equal(weapon, "weapon_g3sg1"))
  525. return CSW_G3SG1;
  526. else if(equal(weapon, "weapon_galil"))
  527. return CSW_GALIL;
  528. else if(equal(weapon, "weapon_m249"))
  529. return CSW_M249;
  530. else if(equal(weapon, "weapon_m3"))
  531. return CSW_M3;
  532. else if(equal(weapon, "weapon_mac10"))
  533. return CSW_MAC10;
  534. else if(equal(weapon, "weapon_mp5navy"))
  535. return CSW_MP5NAVY;
  536. else if(equal(weapon, "weapon_p90"))
  537. return CSW_P90;
  538. else if(equal(weapon, "weapon_scout"))
  539. return CSW_SCOUT;
  540. else if(equal(weapon, "weapon_sg550"))
  541. return CSW_SG550;
  542. else if(equal(weapon, "weapon_sg552"))
  543. return CSW_SG552;
  544. else if(equal(weapon, "weapon_tmp"))
  545. return CSW_TMP;
  546. else if(equal(weapon, "weapon_ump45"))
  547. return CSW_UMP45;
  548. else if(equal(weapon, "weapon_xm1014"))
  549. return CSW_XM1014;
  550. else if(equal(weapon, "weapon_deagle"))
  551. return CSW_DEAGLE;
  552. else if(equal(weapon, "weapon_elite"))
  553. return CSW_ELITE;
  554. else if(equal(weapon, "weapon_fiveseven"))
  555. return CSW_FIVESEVEN;
  556. else if(equal(weapon, "weapon_glock18"))
  557. return CSW_GLOCK18;
  558. else if(equal(weapon, "weapon_p228"))
  559. return CSW_P228;
  560. else if(equal(weapon, "weapon_usp"))
  561. return CSW_USP;
  562. else if(equal(weapon, "none"))
  563. return 1;
  564. return -1;
  565. }
  566.  
  567. public is_valid(weapon[])
  568. {
  569. if(equal(weapon, "weapon_m4a1")
  570. || equal(weapon, "weapon_ak47")
  571. || equal(weapon, "weapon_awp")
  572. || equal(weapon, "weapon_famas")
  573. || equal(weapon, "weapon_aug")
  574. || equal(weapon, "weapon_g3sg1")
  575. || equal(weapon, "weapon_galil")
  576. || equal(weapon, "weapon_m249")
  577. || equal(weapon, "weapon_m3")
  578. || equal(weapon, "weapon_mac10")
  579. || equal(weapon, "weapon_mp5navy")
  580. || equal(weapon, "weapon_p90")
  581. || equal(weapon, "weapon_scout")
  582. || equal(weapon, "weapon_sg550")
  583. || equal(weapon, "weapon_sg552")
  584. || equal(weapon, "weapon_tmp")
  585. || equal(weapon, "weapon_ump45")
  586. || equal(weapon, "weapon_xm1014")
  587. || equal(weapon, "none"))
  588. return 1;
  589. return 0;
  590. }
  591.  
  592. stock print_color(const id, const input[], any:...)
  593. {
  594. new count = 1, players[32]
  595. static msg[191]
  596. vformat(msg, 190, input, 3)
  597.  
  598. replace_all(msg, 190, "!g", "^4")
  599. replace_all(msg, 190, "!y", "^1")
  600. replace_all(msg, 190, "!t", "^3")
  601.  
  602. if (id) players[0] = id; else get_players(players, count, "ch")
  603. {
  604. for (new i = 0; i < count; i++)
  605. {
  606. if (is_user_connected(players[i]))
  607. {
  608. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  609. write_byte(players[i])
  610. write_string(msg)
  611. message_end()
  612. }
  613. }
  614. }
  615. return PLUGIN_HANDLED
  616. }
  617.  


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.02.21. 21:11 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.01.15. 19:04
Hozzászólások: 407
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 176 alkalommal
Tessék:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fun>
  5. #include <hamsandwich>
  6. #include <csstats>
  7.  
  8. #define PLUGIN "Weaponmenu"
  9. #define VERSION "1.0"
  10. #define AUTHOR "Demon"
  11.  
  12. new g_menuPosition[33];
  13. new g_chosenItem[33];
  14.  
  15. new cSecond;
  16. new cCommand;
  17. new cCommandbuyzone;
  18. new cMoney;
  19. new cColorchat
  20. new cWP;
  21. new cWPlimit;
  22. new cAdvert;
  23. new cNade;
  24. new cCD;
  25. new cSmokerank;
  26. new cFlashrank;
  27. new cEnable;
  28.  
  29. new gWPCT = 0;
  30. new gWPTE = 0;
  31. new gBadLines[3];
  32. new gLine[8];
  33. new Count[33];
  34. new bool:gHasPlayerBomb[33] = false;
  35. new bool:gAdvert = false;
  36. new bool:already[33];
  37.  
  38. public plugin_init() {
  39. register_plugin(PLUGIN, VERSION, AUTHOR)
  40.  
  41. RegisterHam(Ham_Spawn, "player", "fwSpawn", 1);
  42. register_logevent("logevent_end", 2, "1=Round_End")
  43. register_logevent("logevent_end", 2, "1&Restart_Round");
  44. register_logevent("logevent_end", 2, "1=Game_Commencing");
  45. register_menucmd(register_menuid("Weapon Menu"), 1023, "actionWeaponMenu");
  46.  
  47. cEnable = register_cvar("wpnmenu_on", "1"); //Plugin ki/be kapcsolasa (ki==0 | be==1)
  48. cSecond = register_cvar("wpnmenu_pistol", "deagle"); //Milyen pisztolyt kapjonak a jatekosok
  49. cCommand = register_cvar("wpnmenu_command", "1"); //Menu behozasa chat parancsra (igen==1 | nem==0)
  50. cCommandbuyzone = register_cvar("wpnmenu_buyzone", "1"); //Parancs csak buy zonaban (csak buyzone==1 | mindenhol==0)
  51. cMoney = register_cvar("wpnmenu_money", "0"); //Penz nullazasa (igen==0 | nem==1)
  52. cColorchat = register_cvar("wpnmenu_colorchat", "1"); //Szines iras ki/be kapcsolasa (ki==0 | be==1)
  53. cCD = register_cvar("wpnmenu_countdown", "1"); //Visszaszamlalo ki/be kapcsolasa (ki==0 | be==1)
  54. register_cvar("wpnmenu_cdvalue", "15"); //Ha wpnmenu_countdown==1 akkor hany masodpercig tartson a visszaszamlalas
  55. cWPlimit = register_cvar("wpnmenu_maxwp", "3"); //Max AWP csapatonkent
  56. cWP = register_cvar("wpnmenu_minplayerwp", "4"); //Mindket csapatban minimum 4 emberenek kell legyen, hogy tudjon AWP-t valasztani
  57. cAdvert = register_cvar("wpnmenu_advert", "180.0"); //Hirdetes (ki==0.0 | milyen idokozonkent 180.0==3 perc
  58. cNade = register_cvar("wpnmenu_nade", "1"); //Kapjon-e a jatekos granatokat (igen==1 | nem==0)
  59. cSmokerank = register_cvar("wpnmenu_smokerank", "180"); //Ha wpnmenu_nade==1 akkor mekkora rank kell, hogy kapjon Smokeot (mindenki kap==0 | TOP180==180)
  60. cFlashrank = register_cvar("wpnmenu_flashrank", "150"); //Ha wpnmenu_nade==1 akkor mekkora rank kell, hogy kapjon Flasht (mindenki kap==0 | TOP150==150)
  61.  
  62. register_dictionary("weaponmenu.txt");
  63. register_clcmd("say /weapon", "Command");
  64. register_clcmd("team_say /weapon", "Command");
  65. register_clcmd("say /fegyver", "Command");
  66. register_clcmd("team_say /fegyver", "Command");
  67.  
  68. set_task(get_pcvar_float(cAdvert), "AdvertChck", _, _, _, "b" );
  69. }
  70.  
  71. public AdvertChck()
  72. {
  73. if(get_pcvar_float(cAdvert) > 0.0 || get_pcvar_num(cEnable))
  74. {
  75. gAdvert? first() : second();
  76. }
  77. }
  78.  
  79. public first()
  80. {
  81. if(get_pcvar_num(cColorchat))
  82. print_color(0, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "ADVERT1", AUTHOR);
  83. else
  84. client_print(0, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "ADVERT1", AUTHOR);
  85. gAdvert = false;
  86. }
  87.  
  88. public second()
  89. {
  90. if(get_pcvar_num(cColorchat))
  91. print_color(0, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "ADVERT2");
  92. else
  93. client_print(0, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "ADVERT2");
  94. gAdvert = true;
  95. }
  96.  
  97. public logevent_end()
  98. {
  99. gWPCT = 0;
  100. gWPTE = 0;
  101. new players[32], pnum
  102. get_players(players, pnum)
  103. for(new i=0; i<pnum; i++)
  104. {
  105. gHasPlayerBomb[i] = false;
  106. already[i] = false;
  107. }
  108. }
  109.  
  110. public fwSpawn(id)
  111. {
  112. if(!get_pcvar_num(cEnable) || get_user_team(id) != 2)
  113. return PLUGIN_CONTINUE;
  114. if(is_user_alive(id))
  115. {
  116. if(get_pcvar_num(cMoney)==0)
  117. cs_set_user_money(id, 0, 0);
  118. if(get_pcvar_num(cCD))
  119. Count[id]=get_cvar_num("wpnmenu_cdvalue");
  120. already[id] = false;
  121. gHasPlayerBomb[id] = false;
  122. bombacheck(id);
  123. cmdWeaponMenu(id)
  124. }
  125. return PLUGIN_CONTINUE;
  126. }
  127.  
  128. public Command(id)
  129. {
  130. if(!get_pcvar_num(cEnable) || !get_pcvar_num(cCommand) || get_user_team(id) != 2)
  131. return PLUGIN_CONTINUE;
  132. if(get_pcvar_num(cCommandbuyzone) && !cs_get_user_buyzone(id))
  133. {
  134. if(get_pcvar_num(cColorchat))
  135. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "ONLY_BUYZONE");
  136. else
  137. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "ONLY_BUYZONE");
  138. return PLUGIN_HANDLED;
  139. }
  140. if(get_pcvar_num(cCD))
  141. Count[id]=get_cvar_num("wpnmenu_cdvalue");
  142. already[id] = false;
  143. cmdWeaponMenu(id)
  144. return PLUGIN_HANDLED;
  145. }
  146.  
  147. public ShowWeaponMenu(id)
  148. {
  149. if(!already[id])
  150. {
  151. if(get_pcvar_num(cCD))
  152. {
  153. remove_task(id, 0 )
  154. Count[id]--;
  155. set_task(1.0, "ShowWeaponMenu",id);
  156. }
  157. displayWeaponMenu(id, g_menuPosition[id])
  158. }
  159.  
  160.  
  161. }
  162.  
  163. public cmdWeaponMenu(id)
  164. {
  165. if(!get_pcvar_num(cEnable))
  166. return PLUGIN_HANDLED;
  167.  
  168. for(new i=0;i<3;i++)
  169. gBadLines[i]=0;
  170. displayWeaponMenu(id, g_menuPosition[id] = 0)
  171.  
  172. return PLUGIN_HANDLED
  173. }
  174.  
  175. displayWeaponMenu(id, pos)
  176. {
  177. new Configsdir[64]
  178. new weapon_ini[64]
  179. new line = 0
  180. new g_Lines = 0
  181. new linetext[128], linetextlength
  182. new item_name[64], item_weapon[32]
  183. new menuBody[512]
  184. new b = 0
  185. new start = pos * 8
  186. new len
  187. if(pos==0) gBadLines[pos]=0;
  188. get_customdir(Configsdir, 63)
  189. format(weapon_ini, 63, "%s/weaponmenu.ini", Configsdir)
  190.  
  191. if ( !file_exists(weapon_ini) )
  192. {
  193. log_to_file("Weaponmenu.log", "%s file nem talalhato!", weapon_ini);
  194. return
  195. }
  196.  
  197. while ((line = read_file(weapon_ini, line, linetext, 127, linetextlength)))
  198. {
  199. parse(linetext, item_name, 63, item_weapon, 31)
  200. if((linetext[0] != '"' || linetext[0] == ';') || !is_valid(item_weapon))
  201. continue
  202. g_Lines++
  203. }
  204.  
  205. if(g_Lines > 19)
  206. g_Lines=19;
  207.  
  208. if (start >= g_Lines)
  209. start = pos = g_menuPosition[id] = 0
  210.  
  211. if(get_pcvar_num(cCD))
  212. len = format(menuBody, 511, "\w%L \y[\r%d mp\y] \r%d/%d^n\w^n", LANG_PLAYER, "MENU_NAME", Count[id], pos + 1, (g_Lines / 8 + ((g_Lines % 8) ? 1 : 0)))
  213. else
  214. len = format(menuBody, 511, "\w%L \r%d/%d^n\w^n", LANG_PLAYER, "MENU_NAME", pos + 1, (g_Lines / 8 + ((g_Lines % 8) ? 1 : 0)))
  215.  
  216. new end = start + 8
  217. new keys = MENU_KEY_0
  218.  
  219. if (end > g_Lines)
  220. end = g_Lines
  221.  
  222. new players[32], numct, numt
  223. get_players(players, numct, "e", "CT")
  224. get_players(players, numt, "e", "TERRORIST")
  225.  
  226. for (new a = start+gBadLines[pos]; a < end+gBadLines[pos]; ++a)
  227. {
  228. read_file(weapon_ini, a, linetext, 127, linetextlength)
  229.  
  230. parse(linetext, item_name, 63, item_weapon, 231)
  231.  
  232. if((linetext[0] != '"' || linetext[0] == ';') || !is_valid(item_weapon))
  233. {
  234. if(pos==0) gBadLines[pos]++;
  235. continue;
  236. }
  237. if(pos<2)
  238. gBadLines[pos+1]=gBadLines[pos];
  239.  
  240. keys |= (1<<b)
  241. gLine[b]=a
  242. if(equal(item_weapon, "weapon_awp"))
  243. {
  244. if(numct>=get_pcvar_num(cWP)&& numt>=get_pcvar_num(cWP))
  245. {
  246. if(get_user_team(id) == 2)
  247. {
  248. if((get_pcvar_num(cWPlimit)-gWPCT)==0)
  249. len += format(menuBody[len], 511-len, "\d%d. %s \y[\r%L\y]^n\w", ++b, item_name, LANG_PLAYER, "SOLD_OUT")
  250. else
  251. len += format(menuBody[len], 511-len, "%d. %s \y[\r%d\y]^n\w", ++b, item_name, (get_pcvar_num(cWPlimit)-gWPCT))
  252.  
  253. }
  254. if(get_user_team(id) == 1)
  255. {
  256. if((get_pcvar_num(cWPlimit)-gWPTE)==0)
  257. len += format(menuBody[len], 511-len, "\d%d. %s \y[\r%L\y]^n\w", ++b, item_name, LANG_PLAYER, "SOLD_OUT")
  258. else
  259. len += format(menuBody[len], 511-len, "%d. %s \y[\r%d\y]^n\w", ++b, item_name, (get_pcvar_num(cWPlimit)-gWPTE))
  260. }
  261. }
  262. else
  263. len += format(menuBody[len], 511-len, "\d%d. %s \y[\r%dv%d\y]^n\w", ++b, item_name, get_pcvar_num(cWP), get_pcvar_num(cWP))
  264. }
  265. else
  266. len += format(menuBody[len], 511-len, "%d. %s^n\w", ++b, item_name)
  267. }
  268.  
  269. if (end != g_Lines)
  270. {
  271. if(pos>0)
  272. format(menuBody[len], 511-len, "^n9. %L...^n0. %L", LANG_PLAYER, "WPN_NEXT", LANG_PLAYER, "WPN_BACK")
  273. else
  274. format(menuBody[len], 511-len, "^n9. %L...", LANG_PLAYER, "WPN_NEXT")
  275. keys |= MENU_KEY_9
  276. }
  277. else
  278. if(pos>0)
  279. format(menuBody[len], 511-len, "^n0. %L", LANG_PLAYER, "WPN_BACK")
  280. if(!already[id])
  281. {
  282. show_menu(id, keys, menuBody, -1, "Weapon Menu")
  283.  
  284. if(get_pcvar_num(cCD))
  285. {
  286. if(Count[id]==get_cvar_num("wpnmenu_cdvalue"))
  287. set_task(1.0, "ShowWeaponMenu",id);
  288. if(Count[id]<=0)
  289. {
  290. show_menu(id, 0, menuBody, -1, "Weapon Menu")
  291. already[id] = true;
  292. }
  293. }
  294. }
  295. }
  296.  
  297. public actionWeaponMenu(id, key)
  298. {
  299. already[id] = true;
  300. switch (key)
  301. {
  302. case 8:
  303. {
  304. already[id] = false;
  305. displayWeaponMenu(id, ++g_menuPosition[id])
  306. }
  307. case 9:
  308. {
  309. already[id] = false;
  310. if(g_menuPosition[id]>0)
  311. displayWeaponMenu(id, --g_menuPosition[id])
  312. else
  313. displayWeaponMenu(id, g_menuPosition[id])
  314. }
  315. default:
  316. {
  317. g_chosenItem[id]=gLine[key]
  318.  
  319. new Configsdir[64]
  320. new weapon_ini[64]
  321. new linetext[128], linetextlength
  322. new item_name[64], item_weapon[32]
  323. new players[32], numct, numt
  324.  
  325. get_players(players, numct, "e", "CT")
  326. get_players(players, numt, "e", "TERRORIST")
  327.  
  328. get_customdir(Configsdir, 63)
  329. format(weapon_ini, 63, "%s/weaponmenu.ini", Configsdir)
  330.  
  331. read_file(weapon_ini, g_chosenItem[id], linetext, 127, linetextlength)
  332.  
  333. parse(linetext, item_name, 63, item_weapon, 31)
  334.  
  335. if(equal(item_weapon, "weapon_awp"))
  336. {
  337. if(numct>=get_pcvar_num(cWP)&& numt>=get_pcvar_num(cWP))
  338. {
  339. if(get_user_team(id) == 2 && get_pcvar_num(cWPlimit)==gWPCT)
  340. {
  341. if(get_pcvar_num(cColorchat))
  342. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "MAX_WPTEAM");
  343. else
  344. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "MAX_WPTEAM");
  345. already[id] = false;
  346. displayWeaponMenu(id, g_menuPosition[id])
  347. return PLUGIN_HANDLED;
  348.  
  349. }
  350. else if(get_user_team(id) == 1 && get_pcvar_num(cWPlimit)==gWPTE)
  351. {
  352. if(get_pcvar_num(cColorchat))
  353. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "MAX_WPTEAM");
  354. else
  355. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "MAX_WPTEAM");
  356. already[id] = false;
  357. displayWeaponMenu(id, g_menuPosition[id])
  358. return PLUGIN_HANDLED;
  359. }
  360. else
  361. {
  362. if(get_pcvar_num(cColorchat))
  363. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GOT_WEAPON");
  364. else
  365. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GOT_WEAPON");
  366.  
  367. give_item(id, item_weapon)
  368. if(is_sec_wpn(givesec()))
  369. {
  370. give_item(id, givesec())
  371. cs_set_user_bpammo(id, weapon_to_csw(givesec()), 100);
  372. }
  373. cs_set_user_bpammo(id, weapon_to_csw(item_weapon), 100);
  374. give_item(id, "item_kevlar");
  375. cs_set_user_defuse(id, 1)
  376.  
  377. if(get_user_team(id) == 2) gWPCT++;
  378. if(get_user_team(id) == 1) gWPTE++;
  379.  
  380. return PLUGIN_HANDLED;
  381. }
  382. }
  383. else
  384. {
  385. if(get_pcvar_num(cColorchat))
  386. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "MAX_WP", get_pcvar_num(cWP), get_pcvar_num(cWP));
  387. else
  388. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "MAX_WP", get_pcvar_num(cWP), get_pcvar_num(cWP));
  389. already[id] = false;
  390. displayWeaponMenu(id, g_menuPosition[id])
  391. return PLUGIN_HANDLED;
  392. }
  393. }
  394.  
  395. if(equal(item_weapon, "none"))
  396. {
  397. if(get_pcvar_num(cColorchat))
  398. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "WPN_NONE");
  399. else
  400. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "WPN_NONE");
  401. return PLUGIN_HANDLED;
  402. }
  403. if(get_pcvar_num(cNade))
  404. GiveNade(id)
  405. give_item(id, item_weapon)
  406. if(is_sec_wpn(givesec()))
  407. {
  408. give_item(id, givesec())
  409. cs_set_user_bpammo(id, weapon_to_csw(givesec()), 100);
  410. }
  411. cs_set_user_bpammo(id, weapon_to_csw(item_weapon), 100);
  412. give_item(id, "item_kevlar");
  413. cs_set_user_defuse(id, 1)
  414. if(get_pcvar_num(cColorchat))
  415. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GOT_WEAPON");
  416. else
  417. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GOT_WEAPON");
  418.  
  419. }
  420. }
  421.  
  422. return PLUGIN_HANDLED
  423. }
  424.  
  425. public givesec()
  426. {
  427. new returnvalue[15];
  428. new cvarvalue[10];
  429. get_pcvar_string(cSecond, cvarvalue, 9);
  430. format(returnvalue, 14, "weapon_%s", cvarvalue);
  431. return returnvalue;
  432. }
  433.  
  434. public bombacheck(id)
  435. {
  436. if(user_has_weapon(id, CSW_C4))
  437. gHasPlayerBomb[id] = true;
  438. strip_user_weapons(id);
  439. if(gHasPlayerBomb[id] == true)
  440. {
  441. give_item(id, "weapon_c4");
  442. cs_set_user_plant(id, 1, 1);
  443. }
  444. give_item(id, "weapon_knife");
  445. }
  446.  
  447. public GiveNade(id)
  448. {
  449. give_item(id, "weapon_hegrenade");
  450.  
  451. if(get_pcvar_num(cFlashrank)==0)
  452. {
  453. give_item(id, "weapon_flashbang");
  454. give_item(id, "weapon_flashbang");
  455. }
  456. if(get_pcvar_num(cSmokerank)==0)
  457. give_item(id, "weapon_smokegrenade");
  458.  
  459. if(get_pcvar_num(cFlashrank) && get_pcvar_num(cSmokerank))
  460. {
  461. static stats[8], body[8];
  462. new rank_pos = get_user_stats(id, stats, body);
  463.  
  464. if(rank_pos<=get_pcvar_num(cFlashrank))
  465. {
  466. give_item(id, "weapon_flashbang");
  467. give_item(id, "weapon_flashbang");
  468. if(get_pcvar_num(cColorchat))
  469. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GIVE_FLASH", get_pcvar_num(cFlashrank));
  470. else
  471. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GIVE_FLASH", get_pcvar_num(cFlashrank));
  472. }
  473. if(rank_pos<=get_pcvar_num(cSmokerank))
  474. {
  475. give_item(id, "weapon_smokegrenade")
  476. if(get_pcvar_num(cColorchat))
  477. print_color(id, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GIVE_SMOKE", get_pcvar_num(cSmokerank));
  478. else
  479. client_print(id, print_chat, "%L %L", LANG_PLAYER, "PREFIX", LANG_PLAYER, "GIVE_SMOKE", get_pcvar_num(cSmokerank));
  480. }
  481. }
  482. }
  483.  
  484. public bomb_is_dropped()
  485. {
  486. new player = get_loguser_index();
  487. gHasPlayerBomb[player] = false;
  488. }
  489.  
  490. stock get_loguser_index()
  491. {
  492. new loguser[80], name[32];
  493.  
  494. read_logargv(0, loguser, 79);
  495. parse_loguser(loguser, name, 31);
  496.  
  497. return get_user_index(name);
  498. }
  499.  
  500. public is_sec_wpn(weapon[])
  501. {
  502. if(equal(weapon, "weapon_deagle")
  503. || equal(weapon, "weapon_elite")
  504. || equal(weapon, "weapon_fiveseven")
  505. || equal(weapon, "weapon_glock18")
  506. || equal(weapon, "weapon_p228")
  507. || equal(weapon, "weapon_usp"))
  508. return 1;
  509. return 0;
  510. }
  511.  
  512. public weapon_to_csw(weapon[])
  513. {
  514. if(equal(weapon, "weapon_m4a1"))
  515. return CSW_M4A1;
  516. else if(equal(weapon, "weapon_ak47"))
  517. return CSW_AK47;
  518. else if(equal(weapon, "weapon_awp"))
  519. return CSW_AWP;
  520. else if(equal(weapon, "weapon_famas"))
  521. return CSW_FAMAS;
  522. else if(equal(weapon, "weapon_aug"))
  523. return CSW_AUG;
  524. else if(equal(weapon, "weapon_g3sg1"))
  525. return CSW_G3SG1;
  526. else if(equal(weapon, "weapon_galil"))
  527. return CSW_GALIL;
  528. else if(equal(weapon, "weapon_m249"))
  529. return CSW_M249;
  530. else if(equal(weapon, "weapon_m3"))
  531. return CSW_M3;
  532. else if(equal(weapon, "weapon_mac10"))
  533. return CSW_MAC10;
  534. else if(equal(weapon, "weapon_mp5navy"))
  535. return CSW_MP5NAVY;
  536. else if(equal(weapon, "weapon_p90"))
  537. return CSW_P90;
  538. else if(equal(weapon, "weapon_scout"))
  539. return CSW_SCOUT;
  540. else if(equal(weapon, "weapon_sg550"))
  541. return CSW_SG550;
  542. else if(equal(weapon, "weapon_sg552"))
  543. return CSW_SG552;
  544. else if(equal(weapon, "weapon_tmp"))
  545. return CSW_TMP;
  546. else if(equal(weapon, "weapon_ump45"))
  547. return CSW_UMP45;
  548. else if(equal(weapon, "weapon_xm1014"))
  549. return CSW_XM1014;
  550. else if(equal(weapon, "weapon_deagle"))
  551. return CSW_DEAGLE;
  552. else if(equal(weapon, "weapon_elite"))
  553. return CSW_ELITE;
  554. else if(equal(weapon, "weapon_fiveseven"))
  555. return CSW_FIVESEVEN;
  556. else if(equal(weapon, "weapon_glock18"))
  557. return CSW_GLOCK18;
  558. else if(equal(weapon, "weapon_p228"))
  559. return CSW_P228;
  560. else if(equal(weapon, "weapon_usp"))
  561. return CSW_USP;
  562. else if(equal(weapon, "none"))
  563. return 1;
  564. return -1;
  565. }
  566.  
  567. public is_valid(weapon[])
  568. {
  569. if(equal(weapon, "weapon_m4a1")
  570. || equal(weapon, "weapon_ak47")
  571. || equal(weapon, "weapon_awp")
  572. || equal(weapon, "weapon_famas")
  573. || equal(weapon, "weapon_aug")
  574. || equal(weapon, "weapon_g3sg1")
  575. || equal(weapon, "weapon_galil")
  576. || equal(weapon, "weapon_m249")
  577. || equal(weapon, "weapon_m3")
  578. || equal(weapon, "weapon_mac10")
  579. || equal(weapon, "weapon_mp5navy")
  580. || equal(weapon, "weapon_p90")
  581. || equal(weapon, "weapon_scout")
  582. || equal(weapon, "weapon_sg550")
  583. || equal(weapon, "weapon_sg552")
  584. || equal(weapon, "weapon_tmp")
  585. || equal(weapon, "weapon_ump45")
  586. || equal(weapon, "weapon_xm1014")
  587. || equal(weapon, "none"))
  588. return 1;
  589. return 0;
  590. }
  591.  
  592. stock print_color(const id, const input[], any:...)
  593. {
  594. new count = 1, players[32]
  595. static msg[191]
  596. vformat(msg, 190, input, 3)
  597.  
  598. replace_all(msg, 190, "!g", "^4")
  599. replace_all(msg, 190, "!y", "^1")
  600. replace_all(msg, 190, "!t", "^3")
  601.  
  602. if (id) players[0] = id; else get_players(players, count, "ch")
  603. {
  604. for (new i = 0; i < count; i++)
  605. {
  606. if (is_user_connected(players[i]))
  607. {
  608. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  609. write_byte(players[i])
  610. write_string(msg)
  611. message_end()
  612. }
  613. }
  614. }
  615. return PLUGIN_HANDLED
  616. }
  617.  

Ők köszönték meg demon nek ezt a hozzászólást: danone (2015.02.21. 21:32)
  Népszerűség: 2.27%


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.04.12. 21:58 
Offline
Újonc
Avatar

Csatlakozott: 2014.08.22. 22:14
Hozzászólások: 12
És valaki csatolmányokat még nem tud hozzáadni ehhez a fegyvermenühöz? (txt,ini-re gondolnék)

_________________
A nevem OfficiaLRayZ ,nem tagadom ,szeretem a HlMod/ot nagyon nagyon :D


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


Ki van itt

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