HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <dhudmessage>
  4. #include <nvault>
  5.  
  6. #define NEV "SNIPER CELKERESZT++"
  7. #define VERZIO "1.0"
  8. #define KESZITO "I3u[R]n"
  9.  
  10. new red[33]
  11. new green[33]
  12. new blue[33]
  13. new celkereszt_tipus[33]
  14.  
  15. new g_vault
  16.  
  17. public plugin_init()
  18. {
  19. register_plugin(NEV, VERZIO, KESZITO)
  20.  
  21. register_clcmd("say /celkereszt","celkereszt_menu")
  22.  
  23. g_vault = nvault_open("celkereszt")
  24. }
  25.  
  26. public celkereszt_menu(id)
  27. {
  28. new celkeresztmenu = menu_create("\rMit szeretnel valtoztatni?","celkeresztmenu_handler")
  29. menu_additem(celkeresztmenu,"\ySzin","1",0)
  30. menu_additem(celkeresztmenu,"\yTipus","2",0)
  31.  
  32. menu_display(id,celkeresztmenu,0)
  33.  
  34. return PLUGIN_CONTINUE
  35. }
  36.  
  37. public celkeresztmenu_handler(id, menu, item)
  38. {
  39. if(item==MENU_EXIT)
  40. {
  41. menu_destroy(menu)
  42.  
  43. return PLUGIN_HANDLED
  44. }
  45.  
  46. new data[6],szName[64]
  47. new access,callback
  48.  
  49. menu_item_getinfo(menu,item,access,data,charsmax(data),szName,charsmax(szName),callback)
  50. new key=str_to_num(data)
  51.  
  52. switch(key)
  53. {
  54. case 1:
  55. {
  56. celkereszt_szin_menu(id)
  57. }
  58.  
  59. case 2:
  60. {
  61. celkereszt_tipus_menu(id)
  62. }
  63. }
  64.  
  65. return PLUGIN_CONTINUE
  66. }
  67.  
  68. public celkereszt_szin_menu(id)
  69. {
  70. new celkeresztszinmenu = menu_create("\rMilyen szinu legyen?","celkeresztszinmenu_handler")
  71. menu_additem(celkeresztszinmenu,"\yPiros","1",0)
  72. menu_additem(celkeresztszinmenu,"\yZold","2",0)
  73. menu_additem(celkeresztszinmenu,"\yKek","3",0)
  74. menu_additem(celkeresztszinmenu,"\yVilagoskek","4",0)
  75. menu_additem(celkeresztszinmenu,"\yCitromsarga","5",0)
  76.  
  77. menu_display(id,celkeresztszinmenu,0)
  78.  
  79. return PLUGIN_CONTINUE
  80. }
  81.  
  82. public celkeresztszinmenu_handler(id, menu, item)
  83. {
  84. if(item==MENU_EXIT)
  85. {
  86. menu_destroy(menu)
  87.  
  88. return PLUGIN_HANDLED
  89. }
  90.  
  91. new data[6],szName[64]
  92. new access,callback
  93.  
  94. menu_item_getinfo(menu,item,access,data,charsmax(data),szName,charsmax(szName),callback)
  95. new key=str_to_num(data)
  96.  
  97. switch(key)
  98. {
  99. case 1:
  100. {
  101. if(red[id] == 255 && green[id] == 0 && blue[id] == 0)
  102. {
  103. client_print(id, print_center, "A celkereszted mar piros!")
  104.  
  105. return PLUGIN_CONTINUE
  106. }
  107. red[id] = 255
  108. green[id] = 0
  109. blue[id] = 0
  110. client_print(id, print_center, "A celkereszted szine piros lett!")
  111. }
  112.  
  113. case 2:
  114. {
  115. if(red[id] == 0 && green[id] == 255 && blue[id] == 0)
  116. {
  117. client_print(id, print_center, "A celkereszted mar zold!")
  118.  
  119. return PLUGIN_CONTINUE
  120. }
  121. red[id] = 0
  122. green[id] = 255
  123. blue[id] = 0
  124. client_print(id, print_center, "A celkereszted szine zold lett!")
  125. }
  126.  
  127. case 3:
  128. {
  129. if(red[id] == 0 && green[id] == 0 && blue[id] == 255)
  130. {
  131. client_print(id, print_center, "A celkereszted mar kek!")
  132.  
  133. return PLUGIN_CONTINUE
  134. }
  135. red[id] = 0
  136. green[id] = 0
  137. blue[id] = 255
  138. client_print(id, print_center, "A celkereszted szine kek lett!")
  139. }
  140.  
  141. case 4:
  142. {
  143. if(red[id] == 0 && green[id] == 255 && blue[id] == 255)
  144. {
  145. client_print(id, print_center, "A celkereszted mar vilagoskek!")
  146.  
  147. return PLUGIN_CONTINUE
  148. }
  149. red[id] = 0
  150. green[id] = 255
  151. blue[id] = 255
  152. client_print(id, print_center, "A celkereszted szine vilagoskek lett!")
  153. }
  154.  
  155. case 5:
  156. {
  157. if(red[id] == 255 && green[id] == 255 && blue[id] == 0)
  158. {
  159. client_print(id, print_center, "A celkereszted mar citromsarga!")
  160.  
  161. return PLUGIN_CONTINUE
  162. }
  163. red[id] = 255
  164. green[id] = 255
  165. blue[id] = 0
  166. client_print(id, print_center, "A celkereszted szine citromsarga lett!")
  167. }
  168. }
  169. mentes(id)
  170.  
  171. return PLUGIN_CONTINUE
  172. }
  173.  
  174. public celkereszt_tipus_menu(id)
  175. {
  176. new celkereszttipusmenu = menu_create("\rMilyen szinu legyen?","celkereszttipusmenu_handler")
  177. menu_additem(celkereszttipusmenu,"\ySemmi","1",0)
  178. menu_additem(celkereszttipusmenu,"\y'+'","2",0)
  179. menu_additem(celkereszttipusmenu,"\y'-'","3",0)
  180. menu_additem(celkereszttipusmenu,"\y'O'","4",0)
  181. menu_additem(celkereszttipusmenu,"\y'[-]'","5",0)
  182. menu_additem(celkereszttipusmenu,"\y'( )'","6",0)
  183. menu_additem(celkereszttipusmenu,"\y'< >'","7",0)
  184. menu_additem(celkereszttipusmenu,"\y'{ }'","8",0)
  185. menu_additem(celkereszttipusmenu,"\y'U'","9",0)
  186. menu_additem(celkereszttipusmenu,"\y'='","10",0)
  187.  
  188. menu_display(id,celkereszttipusmenu,0)
  189.  
  190. return PLUGIN_CONTINUE
  191. }
  192.  
  193. public celkereszttipusmenu_handler(id, menu, item)
  194. {
  195. if(item==MENU_EXIT)
  196. {
  197. menu_destroy(menu)
  198.  
  199. return PLUGIN_HANDLED
  200. }
  201.  
  202. new data[6],szName[64]
  203. new access,callback
  204.  
  205. menu_item_getinfo(menu,item,access,data,charsmax(data),szName,charsmax(szName),callback)
  206. new key=str_to_num(data)
  207.  
  208. switch(key)
  209. {
  210. case 1:
  211. {
  212. if(celkereszt_tipus[id] == 1)
  213. {
  214. client_print(id, print_center, "Eddig se volt celkereszted!")
  215.  
  216. return PLUGIN_CONTINUE
  217. }
  218. celkereszt_tipus[id] = 1
  219. client_print(id, print_center, "Mostantol nincs celkereszted!")
  220. }
  221.  
  222. case 2:
  223. {
  224. if(celkereszt_tipus[id] == 2)
  225. {
  226. client_print(id, print_center, "Eddig is '+' volt a celkereszted")
  227.  
  228. return PLUGIN_CONTINUE
  229. }
  230. celkereszt_tipus[id] = 2
  231. client_print(id, print_center, "Mostantol a celkereszted: '+'!")
  232. }
  233.  
  234. case 3:
  235. {
  236. if(celkereszt_tipus[id] == 3)
  237. {
  238. client_print(id, print_center, "Eddig is '-' volt a celkereszted")
  239.  
  240. return PLUGIN_CONTINUE
  241. }
  242. celkereszt_tipus[id] = 3
  243. client_print(id, print_center, "Mostantol a celkereszted: '-'!")
  244. }
  245.  
  246. case 4:
  247. {
  248. if(celkereszt_tipus[id] == 4)
  249. {
  250. client_print(id, print_center, "Eddig is 'O' volt a celkereszted")
  251.  
  252. return PLUGIN_CONTINUE
  253. }
  254. celkereszt_tipus[id] = 4
  255. client_print(id, print_center, "Mostantol a celkereszted: 'O'!")
  256. }
  257.  
  258. case 5:
  259. {
  260. if(celkereszt_tipus[id] == 5)
  261. {
  262. client_print(id, print_center, "Eddig is '[-]' volt a celkereszted")
  263.  
  264. return PLUGIN_CONTINUE
  265. }
  266. celkereszt_tipus[id] = 5
  267. client_print(id, print_center, "Mostantol a celkereszted: '[-]'!")
  268. }
  269.  
  270. case 6:
  271. {
  272. if(celkereszt_tipus[id] == 6)
  273. {
  274. client_print(id, print_center, "Eddig is '( )' volt a celkereszted")
  275.  
  276. return PLUGIN_CONTINUE
  277. }
  278. celkereszt_tipus[id] = 6
  279. client_print(id, print_center, "Mostantol a celkereszted: '( )'!")
  280. }
  281.  
  282. case 7:
  283. {
  284. if(celkereszt_tipus[id] == 7)
  285. {
  286. client_print(id, print_center, "Eddig is '< >' volt a celkereszted")
  287.  
  288. return PLUGIN_CONTINUE
  289. }
  290. celkereszt_tipus[id] = 7
  291. client_print(id, print_center, "Mostantol a celkereszted: '< >'!")
  292. }
  293.  
  294. case 8:
  295. {
  296. if(celkereszt_tipus[id] == 8)
  297. {
  298. client_print(id, print_center, "Eddig is '{ }' volt a celkereszted")
  299.  
  300. return PLUGIN_CONTINUE
  301. }
  302. celkereszt_tipus[id] = 8
  303. client_print(id, print_center, "Mostantol a celkereszted: '{ }'!")
  304. }
  305.  
  306. case 9:
  307. {
  308. if(celkereszt_tipus[id] == 9)
  309. {
  310. client_print(id, print_center, "Eddig is 'U' volt a celkereszted")
  311.  
  312. return PLUGIN_CONTINUE
  313. }
  314. celkereszt_tipus[id] = 9
  315. client_print(id, print_center, "Mostantol a celkereszted: 'U'!")
  316. }
  317.  
  318. case 10:
  319. {
  320. if(celkereszt_tipus[id] == 10)
  321. {
  322. client_print(id, print_center, "Eddig is '=' volt a celkereszted")
  323.  
  324. return PLUGIN_CONTINUE
  325. }
  326. celkereszt_tipus[id] = 10
  327. client_print(id, print_center, "Mostantol a celkereszted: '='!")
  328. }
  329. }
  330. mentes(id)
  331.  
  332. return PLUGIN_CONTINUE
  333. }
  334.  
  335. public client_PreThink(id)
  336. {
  337. new piros = red[id]
  338. new zold = green[id]
  339. new kek = blue[id]
  340.  
  341. if(get_user_weapon(id) == CSW_AWP || get_user_weapon(id) == CSW_G3SG1 || get_user_weapon(id) == CSW_SCOUT)
  342. {
  343. set_dhudmessage(piros, zold, kek, -1.0, -1.0, 0, 1.0, 1.0)
  344.  
  345. if(celkereszt_tipus[id] == 1)
  346. {
  347. show_dhudmessage(id, "", celkereszt_tipus[id])
  348. }
  349. if(celkereszt_tipus[id] == 2)
  350. {
  351. show_dhudmessage(id, "+", celkereszt_tipus[id])
  352. }
  353. if(celkereszt_tipus[id] == 3)
  354. {
  355. show_dhudmessage(id, "-", celkereszt_tipus[id])
  356. }
  357. if(celkereszt_tipus[id] == 4)
  358. {
  359. show_dhudmessage(id, "O", celkereszt_tipus[id])
  360. }
  361. if(celkereszt_tipus[id] == 5)
  362. {
  363. show_dhudmessage(id, "[-]", celkereszt_tipus[id])
  364. }
  365. if(celkereszt_tipus[id] == 6)
  366. {
  367. show_dhudmessage(id, "( )", celkereszt_tipus[id])
  368. }
  369. if(celkereszt_tipus[id] == 7)
  370. {
  371. show_dhudmessage(id, "< >", celkereszt_tipus[id])
  372. }
  373. if(celkereszt_tipus[id] == 8)
  374. {
  375. show_dhudmessage(id, "{ }", celkereszt_tipus[id])
  376. }
  377. if(celkereszt_tipus[id] == 9)
  378. {
  379. show_dhudmessage(id, "U", celkereszt_tipus[id])
  380. }
  381. if(celkereszt_tipus[id] == 10)
  382. {
  383. show_dhudmessage(id, "=", celkereszt_tipus[id])
  384. }
  385. }
  386. return PLUGIN_CONTINUE
  387. }
  388.  
  389. public mentes(id)
  390. {
  391. new nev[32]
  392. get_user_name(id, nev, 31)
  393.  
  394. new vaultkey[64],vaultdata[256]
  395. format(vaultkey,63,"%s_celkereszt", nev)
  396. format(vaultdata,255,"%i#%i#%i#%i#",red[id],green[id],blue[id],celkereszt_tipus[id])
  397.  
  398. nvault_set(g_vault,vaultkey,vaultdata)
  399.  
  400. return PLUGIN_CONTINUE
  401. }
  402.  
  403. public betoltes(id)
  404. {
  405. new nev[32]
  406. get_user_name(id, nev, 31)
  407. new vaultkey[64],vaultdata[256]
  408.  
  409. format(vaultkey,63,"%s_celkereszt", nev)
  410. format(vaultdata,255,"%i#%i#%i#%i#",red[id],green[id],blue[id],celkereszt_tipus[id])
  411.  
  412. nvault_get(g_vault,vaultkey,vaultdata,255)
  413. replace_all(vaultdata, 255, "#", " ")
  414. new piros[32], zold[32], kek[32], celkereszt_type[32]
  415. parse(vaultdata, piros, 31, zold, 31, kek, 31, celkereszt_type, 31)
  416. red[id] = str_to_num(piros)
  417. green[id] = str_to_num(zold)
  418. blue[id] = str_to_num(kek)
  419. celkereszt_tipus[id] = str_to_num(celkereszt_type)
  420.  
  421. return PLUGIN_CONTINUE
  422. }
  423.  
  424. public client_connect(id)
  425. {
  426. betoltes(id)
  427.  
  428. return PLUGIN_CONTINUE
  429. }
  430.  
  431. public client_disconnect(id)
  432. {
  433. mentes(id)
  434.  
  435. return PLUGIN_CONTINUE
  436. }
  437. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  438. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  439. */
  440.