HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <fun>
  5. #include <colorchat>
  6. #include <cstrike>
  7. #include <hamsandwich>
  8.  
  9. #define PLUGIN "Fegyvermenu"
  10. #define VERSION "2.0"
  11. #define AUTHOR "Silent"
  12.  
  13. new const fegyvernevek[][] = {
  14. "M4A1 Colt",
  15. "AK47 Kalasnikov",
  16. "AWP Magnum",
  17. "Scout",
  18. "Sima shotgun",
  19. "IMI galil"
  20. }
  21.  
  22. new const fegyverertek[][] = {
  23. "weapon_m4a1",
  24. "weapon_ak47",
  25. "weapon_awp",
  26. "weapon_scout",
  27. "weapon_m3",
  28. "weapon_galil"
  29. }
  30.  
  31. new cEnable;
  32. new cOnspawn;
  33. new cOncommand;
  34. new cCommandpunish;
  35. new cPunishamount;
  36. new cCommandbuyzone;
  37. new cColorchat;
  38. new cWP;
  39. new cSecond;
  40. new cAdvert;
  41.  
  42. new gWP = 0;
  43. new bool:gBombas[33] = false;
  44. new bool:gHirdetes = false;
  45.  
  46. public plugin_init() {
  47. register_plugin(PLUGIN, VERSION, AUTHOR);
  48.  
  49. RegisterHam(Ham_Spawn, "player", "fwUjraeled", 1);
  50. register_clcmd("say /fegyver", "parancs");
  51. register_logevent("bomb_is_dropped", 3, "2=Dropped_The_Bomb");
  52. register_logevent("logevent_round_end", 2, "1=Round_End")
  53.  
  54. cEnable = register_cvar("fmenu_bekapcsolva", "1");
  55. cOnspawn = register_cvar("fmenu_automenu", "1");
  56. cOncommand = register_cvar("fmenu_parancs", "1");
  57. cCommandpunish = register_cvar("fmenu_buntetes", "1");
  58. cPunishamount = register_cvar("fmenu_mennyiseg", "15");
  59. cCommandbuyzone = register_cvar("fmenu_buyzone", "1");
  60. cColorchat = register_cvar("fmenu_szineschat", "1");
  61. cWP = register_cvar("fmenu_wpkorlat", "4");
  62. cSecond = register_cvar("fmenu_pisztoly", "deagle");
  63. cAdvert = register_cvar("fmenu_hirdetes", "30.0");
  64.  
  65. register_dictionary("fegyvermenu.txt");
  66.  
  67. AdvertChck();
  68.  
  69. }
  70.  
  71. public logevent_round_end()
  72. {
  73. gWP = 0;
  74. new i = 0;
  75. while(i < 33)
  76. {
  77. gBombas[i] = false;
  78. i++
  79. }
  80. }
  81. public AdvertChck()
  82. {
  83. if(get_pcvar_float(cAdvert) > 0.0 || !get_pcvar_num(cEnable))
  84. {
  85. set_task(get_pcvar_float(cAdvert), "AdvertChck");
  86. gHirdetes ? elso() : masodik();
  87. }
  88. }
  89.  
  90. public elso()
  91. {
  92. if(get_pcvar_num(cColorchat))
  93. ColorChat(0, BLUE, "%L", LANG_PLAYER, "HIRDETES", AUTHOR);
  94. else
  95. client_print(0, print_chat, "%L", LANG_PLAYER, "HIRDETES", AUTHOR);
  96. gHirdetes = false;
  97. }
  98.  
  99. public masodik()
  100. {
  101. if(get_pcvar_num(cColorchat))
  102. ColorChat(0, BLUE, "%L", LANG_PLAYER, "HIRDETES2", AUTHOR);
  103. else
  104. client_print(0, print_chat, "%L", LANG_PLAYER, "HIRDETES2", AUTHOR);
  105. gHirdetes = true;
  106. }
  107. public fwUjraeled(id)
  108. {
  109. cs_set_user_money(id, 0, 0);
  110. if(get_pcvar_num(cOnspawn) && is_user_alive(id))
  111. fegyvermenu(id);
  112. else
  113. return PLUGIN_CONTINUE;
  114. return PLUGIN_CONTINUE;
  115. }
  116.  
  117. public parancs(id)
  118. {
  119. if(!get_pcvar_num(cEnable) || !get_pcvar_num(cOncommand))
  120. return PLUGIN_CONTINUE;
  121. if(get_pcvar_num(cCommandbuyzone) && !cs_get_user_buyzone(id))
  122. {
  123. if(get_pcvar_num(cColorchat))
  124. ColorChat(id, RED, "%L", LANG_PLAYER, "CSAK_BUYZONE");
  125. else
  126. client_print(id, print_chat, "%L", LANG_PLAYER, "CSAK_BUYZONE");
  127. return PLUGIN_HANDLED;
  128. }
  129. switch(get_pcvar_num(cCommandpunish))
  130. {
  131. case 0: semmi();
  132. case 1: set_user_health(id, get_user_health(id)-get_pcvar_num(cPunishamount));
  133. }
  134. fegyvermenu(id);
  135. return PLUGIN_HANDLED;
  136. }
  137.  
  138. semmi() { }
  139.  
  140. public fegyvermenu(id)
  141. {
  142. if(!get_pcvar_num(cEnable))
  143. return PLUGIN_CONTINUE;
  144. new l_str[64];
  145. format(l_str, charsmax(l_str), "%s v%s by: %s",PLUGIN, VERSION, AUTHOR);
  146. new menu = menu_create(l_str, "fegyvermenu_handler");
  147. for(new i=0; i<sizeof(fegyvernevek); i++)
  148. {
  149. menu_additem(menu, fegyvernevek[i], fegyverertek[i], 0);
  150. }
  151. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  152. menu_display(id, menu, 0);
  153. return PLUGIN_HANDLED;
  154. }
  155.  
  156. public fegyvermenu_handler(id, menu, item)
  157. {
  158. if( item == MENU_EXIT )
  159. {
  160. menu_destroy(menu);
  161. return PLUGIN_HANDLED;
  162. }
  163.  
  164. new data[15], szName[64];
  165. new access, callback;
  166. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  167. if(equal(data, "weapon_awp"))
  168. {
  169. if(gWP == get_pcvar_num(cWP))
  170. {
  171. if(get_pcvar_num(cColorchat))
  172. ColorChat(id, RED, "%L", LANG_PLAYER, "MAX_WP");
  173. else
  174. client_print(id, print_chat, "%L", LANG_PLAYER, "MAX_WP");
  175. fegyvermenu(id);
  176. return PLUGIN_HANDLED;
  177. }
  178. else
  179. {
  180. bombacheck(id);
  181. give_item(id, data);
  182. cs_set_user_bpammo(id, weapon_to_csw(data), 200);
  183. give_item(id, pisztolykell())
  184. cs_set_user_bpammo(id, weapon_to_csw(pisztolykell()), 200);
  185. if(gBombas[id] == true)
  186. {
  187. give_item(id, "weapon_c4");
  188. cs_set_user_plant(id, 1, 1);
  189. }
  190. if(get_pcvar_num(cColorchat))
  191. ColorChat(id, GREEN, "%L", LANG_PLAYER, "KAPTAL_VMIT");
  192. else
  193. client_print(id, print_chat, "%L", LANG_PLAYER, "KAPTAL_VMIT");
  194. gWP++;
  195. return PLUGIN_HANDLED;
  196. }
  197. }
  198. bombacheck(id);
  199. give_item(id, data);
  200. cs_set_user_bpammo(id, weapon_to_csw(data), 200);
  201. give_item(id, pisztolykell())
  202. cs_set_user_bpammo(id, weapon_to_csw(pisztolykell()), 200);
  203. if(gBombas[id] == true)
  204. {
  205. give_item(id, "weapon_c4");
  206. cs_set_user_plant(id, 1, 1);
  207. }
  208. if(get_pcvar_num(cColorchat))
  209. ColorChat(id, GREEN, "%L", LANG_PLAYER, "KAPTAL_VMIT");
  210. else
  211. client_print(id, print_chat, "%L", LANG_PLAYER, "KAPTAL_VMIT");
  212. return 0;
  213. }
  214.  
  215.  
  216. public weapon_to_csw(weapon[])
  217. {
  218. if(equal(weapon, "weapon_m4a1"))
  219. return CSW_M4A1;
  220. else if(equal(weapon, "weapon_ak47"))
  221. return CSW_AK47;
  222. else if(equal(weapon, "weapon_awp"))
  223. return CSW_AWP;
  224. else if(equal(weapon, "weapon_famas"))
  225. return CSW_FAMAS;
  226. else if(equal(weapon, "weapon_aug"))
  227. return CSW_AUG;
  228. else if(equal(weapon, "weapon_g3sg1"))
  229. return CSW_G3SG1;
  230. else if(equal(weapon, "weapon_galil"))
  231. return CSW_GALIL;
  232. else if(equal(weapon, "weapon_m249"))
  233. return CSW_M249;
  234. else if(equal(weapon, "weapon_m3"))
  235. return CSW_M3;
  236. else if(equal(weapon, "weapon_mac10"))
  237. return CSW_MAC10;
  238. else if(equal(weapon, "weapon_mp5navy"))
  239. return CSW_MP5NAVY;
  240. else if(equal(weapon, "weapon_p90"))
  241. return CSW_P90;
  242. else if(equal(weapon, "weapon_scout"))
  243. return CSW_SCOUT;
  244. else if(equal(weapon, "weapon_sg550"))
  245. return CSW_SG550;
  246. else if(equal(weapon, "weapon_sg552"))
  247. return CSW_SG552;
  248. else if(equal(weapon, "weapon_tmp"))
  249. return CSW_TMP;
  250. else if(equal(weapon, "weapon_ump45"))
  251. return CSW_UMP45;
  252. else if(equal(weapon, "weapon_xm1014"))
  253. return CSW_XM1014;
  254. else if(equal(weapon, "weapon_deagle"))
  255. return CSW_DEAGLE;
  256. else if(equal(weapon, "weapon_elite"))
  257. return CSW_ELITE;
  258. else if(equal(weapon, "weapon_fiveseven"))
  259. return CSW_FIVESEVEN;
  260. else if(equal(weapon, "weapon_glock18"))
  261. return CSW_GLOCK18;
  262. else if(equal(weapon, "weapon_p228"))
  263. return CSW_P228;
  264. else if(equal(weapon, "weapon_usp"))
  265. return CSW_USP;
  266. return -1;
  267. }
  268.  
  269. public pisztolykell()
  270. {
  271. new returnertek[15];
  272. new cvarertek[10];
  273. get_pcvar_string(cSecond, cvarertek, 9);
  274. format(returnertek, 14, "weapon_%s", cvarertek);
  275. return returnertek;
  276. }
  277.  
  278. public bombacheck(id)
  279. {
  280. if(user_has_weapon(id, CSW_C4))
  281. gBombas[id] = true;
  282. strip_user_weapons(id);
  283. give_item(id, "weapon_knife");
  284. }
  285.  
  286. public bomb_is_dropped()
  287. {
  288. new player = get_loguser_index();
  289. gBombas[player] = false;
  290. }
  291.  
  292. stock get_loguser_index()
  293. {
  294. new loguser[80], name[32];
  295.  
  296. read_logargv(0, loguser, 79);
  297. parse_loguser(loguser, name, 31);
  298.  
  299. return get_user_index(name);
  300. }
  301. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  302. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  303. */
  304.