HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <nvault>
  4. #include <colorchat>
  5. #include <fun>
  6. #include <hamsandwich>
  7. #include <nvault>
  8. #include <fakemeta>
  9. #include <engine>
  10.  
  11. public plugin_precache()
  12. RegisterHam(Ham_Spawn,"func_buyzone","buyZoneSpawn")
  13.  
  14. #define MOD_NEV "Extra menu/MOD"
  15. #define PLUGIN_VERZIO "1.1"
  16. #define PLUGIN_IRO "Tomii~'."
  17.  
  18. new arany[33], vault, cim[33]
  19. new elite[33]=1, fiveseven[33]=1, dezi[33]=1, hp[33]=1, gyorsasag[33]=1, ujraeledes[33]=1, lathatatlansag[33]=1
  20.  
  21. public plugin_init(){
  22. register_plugin(MOD_NEV,PLUGIN_VERZIO,PLUGIN_IRO)
  23. register_clcmd("say /menu","fmenu")
  24. register_impulse(201, "fmenu")
  25. register_event("DeathMsg","pontok","a")
  26. RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
  27. register_event("ResetHUD","RoundStart","b")
  28. set_task(random_float(30.0,60.0), "uzenet",_,_,_,"b")
  29. }
  30.  
  31. public buyZoneSpawn(id)
  32. return HAM_SUPERCEDE;
  33.  
  34.  
  35. public pontok(id){
  36. new killer = read_data(1)
  37. new victim = read_data(2)
  38. new team = get_user_team(killer)
  39. if(killer != victim && team != get_user_team(victim) && read_data(3)){
  40. arany[killer]++
  41. }
  42. else if(killer != victim && team != get_user_team(victim)){
  43. arany[killer] += 2
  44. }
  45. }
  46.  
  47. public uzenet()
  48. {
  49. ColorChat(0, RED, "Az 1.1-es MOD-ot Tomii~'. ^4keszitette!")
  50. }
  51.  
  52.  
  53. public fmenu(id){
  54. new acim[121]
  55. format(acim, charsmax(acim), "\w|Fomenu| \r|Aranyad|: \r%d", arany[id])
  56. new menu = menu_create(acim, "Menu" )
  57.  
  58. menu_additem(menu, "\rKi\ds \rfegyverek", "1", 0);
  59. menu_additem(menu, "\wNa\rgy \wfegy\dverek \d(Adminoknak!)", "2", 0);
  60. menu_additem(menu, "\rBO\yLT", "3", 0);
  61. menu_additem(menu, "Szerver Informaciok", "4", 0);
  62. menu_additem(menu, "\yA MODOT.plugint: Tomii~'. \rkeszitette", "5", 0);
  63. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  64. menu_setprop(menu, MPROP_PERPAGE, 6);
  65. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  66. menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
  67.  
  68. menu_display(id, menu, 0);
  69. return PLUGIN_HANDLED;
  70. }
  71. public Menu(id, menu, item){
  72. if( item == MENU_EXIT ){
  73. menu_destroy(menu);
  74. return PLUGIN_HANDLED;
  75. }
  76.  
  77. new data[8], szName[64];
  78. new access, callback;
  79. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  80. new key = str_to_num(data);
  81. switch(key){
  82. case 1:{
  83. menua(id)
  84. }
  85.  
  86. case 2:{
  87. if(get_user_flags(id) & ADMIN_KICK)
  88. nmenu(id)
  89. else
  90. ColorChat(id, RED, "Ezt csak adminok hasznalhatjak.")
  91. }
  92.  
  93. case 3:{
  94. kmenu(id)
  95. }
  96.  
  97. case 4:{
  98. informacio(id)
  99. }
  100. }
  101.  
  102. menu_destroy(menu)
  103. return PLUGIN_HANDLED;
  104. }
  105.  
  106. public informacio(id)
  107. {
  108. new menu = menu_create("Szerver Informaciok", "handler");
  109. menu_additem(menu, "Admin feltetelek", "1", 0);
  110. menu_additem(menu, "VIP szerzes", "2", 0);
  111. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  112. menu_display(id, menu, 0);
  113.  
  114.  
  115. return PLUGIN_HANDLED;
  116.  
  117. }
  118.  
  119. public handler(id, menu, item)
  120.  
  121. {
  122.  
  123. if(item == MENU_EXIT)
  124.  
  125. {
  126. menu_cancel(id);
  127.  
  128. return PLUGIN_HANDLED;
  129.  
  130. }
  131.  
  132.  
  133.  
  134. new command[6], name[64], access, callback;
  135.  
  136.  
  137. menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  138.  
  139.  
  140. switch(item)
  141.  
  142. {
  143.  
  144. case 1: show_motd(id, "addons/amxmodx/configs/informacio/admin.txt", "admin")
  145. case 2: show_motd(id, "addons/amxmodx/configs/informacio/vip.txt", "vip")
  146.  
  147. }
  148.  
  149. menu_destroy(menu);
  150.  
  151. return PLUGIN_HANDLED;
  152. }
  153.  
  154. public kmenu(id){
  155. new tcim[121]
  156. format(tcim, charsmax(tcim), "\yExtra \wcuccok^n |Aranyad|: \r%d%d", arany[id])
  157. new menu = menu_create(tcim, "menu_hu" )
  158.  
  159. menu_additem(menu, "\y+20 HP [10 arany]", "1", 0)
  160. menu_additem(menu, "\rGyorsasag [5 arany]", "2", 0)
  161. menu_additem(menu, "\rUjraeledes [7 arany]", "3", 0)
  162. menu_additem(menu, "\rLathatatlansag \y[15 arany]","4",0)
  163. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  164. menu_setprop(menu, MPROP_PERPAGE, 6);
  165. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  166. menu_setprop(menu, MPROP_EXITNAME, "Kilepés");
  167.  
  168. menu_display(id, menu, 0);
  169. return PLUGIN_HANDLED;
  170. }
  171. public menu_hu(id, menu, item){
  172. if( item == MENU_EXIT ){
  173. menu_destroy(menu);
  174. return PLUGIN_HANDLED;
  175. }
  176. new data[8], szName[64];
  177. new access, callback;
  178. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  179. new key = str_to_num(data);
  180. switch(key){
  181.  
  182. case 1:{
  183. if(get_user_frags(id)&&hp[id]==1){
  184. hp[id]=0
  185. set_user_health(id,get_user_health(id)+50)
  186. set_user_frags(id,get_user_frags(id))
  187. ColorChat(id, GREEN,"[Sikeres] ^3Kaptal ^4+20^3 Hp-t.")
  188. }
  189. else
  190. {
  191. ColorChat(id, GREEN,"[ERROR] ^3Nincs eleg aranyad !")
  192. } }
  193. case 2:{
  194. if(get_user_frags(id)&&gyorsasag[id]==1){
  195. gyorsasag[id]=0
  196. set_user_maxspeed(id, 500.0)
  197. set_user_frags(id,get_user_frags(id))
  198. ColorChat(id, GREEN,"[Sikeres] ^3Gyorsasagod novekedett !")
  199. }
  200. else
  201. {
  202. ColorChat(id, GREEN,"[ERROR] ^3Nincs eleg aranyad !")
  203. } }
  204. case 3:{
  205.  
  206. if(get_user_frags(id)&&ujraeledes[id]==1){
  207. ujraeledes[id]=0
  208. ExecuteHamB(Ham_CS_RoundRespawn, id);
  209. set_user_frags(id,get_user_frags(id))
  210. ColorChat(id, GREEN,"[Sikeres] ^3Sikeresen ujraeledtel.")
  211. }
  212. else
  213. {
  214. ColorChat(id, GREEN,"[ERROR] ^3Nincs eleg aranyad !")
  215.  
  216. } }
  217. case 4:{
  218. if(get_user_frags(id)&&lathatatlansag[id]==1){
  219. lathatatlansag[id]=0
  220. set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha , 0);
  221. set_user_frags(id,get_user_frags(id))
  222. ColorChat(id, GREEN,"[Sikeres] ^3Lathatatlan lettel!")
  223. }
  224. else
  225. {
  226. ColorChat(id, GREEN,"[ERROR] ^3Nincs eleg aranyad !")
  227. }
  228. }
  229.  
  230. }
  231.  
  232. menu_destroy(menu)
  233. return PLUGIN_HANDLED;
  234. }
  235.  
  236. public nmenu(id){
  237. new tcim[121]
  238. format(tcim, charsmax(tcim), "Nagy fegyverek")
  239. new menu = menu_create(tcim, "h_menu" )
  240.  
  241. menu_additem(menu, "\wAK47 \r[6000 arany]", "1", 0)
  242. menu_additem(menu, "\rM4a1 \y[5000 arany]", "2", 0)
  243. menu_additem(menu, "\yMP5 \r[2500 arany]", "3", 0)
  244. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  245. menu_setprop(menu, MPROP_PERPAGE, 6);
  246. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  247. menu_setprop(menu, MPROP_EXITNAME, "Kilepés");
  248.  
  249. menu_display(id, menu, 0);
  250. return PLUGIN_HANDLED;
  251. }
  252. public h_menu(id, menu, item){
  253. if( item == MENU_EXIT ){
  254. menu_destroy(menu);
  255. return PLUGIN_HANDLED;
  256. }
  257. new data[8], szName[64];
  258. new access, callback;
  259. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  260. new key = str_to_num(data);
  261. switch(key){
  262. case 1:{
  263. if(arany[id] >= 6000)
  264. give_item(id, "weapon_ak47")
  265. else
  266. ColorChat(id, RED, "^3[Ak47]^4 Nincs elegendõ aranyad!")
  267. }
  268. case 2:{
  269. if(arany[id] >= 5000)
  270. give_item(id, "weapon_m4a1")
  271. else
  272. ColorChat(id, RED, "^3[M4a1]^4 Nincs elegendõ aranyad!")
  273. }
  274. case 3:{
  275. if(arany[id] >= 2500)
  276. give_item(id, "weapon_mp5")
  277. else
  278. ColorChat(id, RED, "^3[MP5]^4 Nincs elegendõ aranyad!")
  279. }
  280. }
  281.  
  282. menu_destroy(menu)
  283. return PLUGIN_HANDLED;
  284. }
  285.  
  286. public menua(id){
  287. format(cim, charsmax(cim), "\dPisztoly Menu \rBy:\rTomii~'.")
  288. new menu = menu_create(cim, "menu_h" )
  289. format(elite, charsmax(elite), "Elite \r[500 arany]",arany[id])
  290. format(fiveseven, charsmax(fiveseven), "Fiveseven \d[1000 arany]",arany[id])
  291. format(dezi, charsmax(dezi), "Deagle \r[2000 arany]",arany[id])
  292.  
  293. if(arany[id] >= 500)
  294. menu_additem(menu,"Elite [Ket pisztoly] [Feloldva]","1",0)
  295. else
  296. menu_additem(menu, elite, "1", 0)
  297. if(arany[id] >= 1000)
  298. menu_additem(menu,"Fiveseven [Feloldva]","2",0)
  299. else
  300. menu_additem(menu, fiveseven, "2", 0)
  301. if(arany[id] >= 2000)
  302. menu_additem(menu,"Deagle [Feloldva]","3",0)
  303. else
  304. menu_additem(menu, dezi, "3", 0)
  305. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  306. menu_display(id, menu, 0);
  307. }
  308.  
  309.  
  310. public menu_h(id, menu, item)
  311. {
  312. if( item == MENU_EXIT )
  313. {
  314. menu_destroy(menu);
  315. return PLUGIN_HANDLED;
  316. }
  317. new data[8], szName[64];
  318. new access, callback;
  319. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  320. new key = str_to_num(data);
  321.  
  322. switch(key)
  323. {
  324. case 1:{
  325. if(arany[id] >= 500)
  326. give_item(id, "weapon_elite")
  327. else
  328. ColorChat(id, RED, "^3[Elite]^4 Nincs elegendo aranyad!")
  329. }
  330. case 2:{
  331. if(arany[id] >= 1000)
  332. give_item(id, "weapon_fiveseven")
  333. else
  334. ColorChat(id, RED, "^3[Fiveseven]^4 Nincs elegendo aranyad!")
  335. }
  336. case 3:{
  337. if(arany[id] >= 2000)
  338. give_item(id, "weapon_deagle")
  339. else
  340. ColorChat(id, GREEN, "^3[Deagle]^4 Nincs elegendo aranyad!")
  341. }
  342. }
  343. menu_destroy(menu)
  344. return PLUGIN_HANDLED
  345. }
  346.  
  347. public client_putinserver(id){
  348. betoltes(id)
  349. }
  350.  
  351. public client_disconnect(id){
  352. mentes(id)
  353. }
  354.  
  355. public mentes(id){
  356. new vaultkey[64],vaultdata[256], name[32]
  357. get_user_name(id, name, 31)
  358. format(vaultkey,63,"%s-ARANY", name)
  359. format(vaultdata,255,"%d", arany[id])
  360. nvault_set(vault,vaultkey,vaultdata)
  361. return PLUGIN_CONTINUE
  362. }
  363.  
  364. public betoltes(id){
  365. new vaultkey[64],vaultdata[256], name[32]
  366. get_user_name(id, name, 31)
  367. format(vaultkey,63,"%s-ARANY", name)
  368. nvault_get(vault,vaultkey,vaultdata,255)
  369. arany[id] = str_to_num(vaultdata)
  370. return PLUGIN_CONTINUE
  371. }