HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <csx>
  3. #include <nvault>
  4.  
  5. #define PLUGIN "Kuldetesek"
  6. #define VERSION "1.0"
  7. #define AUTHOR "DeRoiD"
  8.  
  9. new kuldetes[32] = "Nincs"
  10. new bool:elso[33]
  11. new bool:masodik[33]
  12. new bool:harmadik[33]
  13. new bool:negyedik[33]
  14. new bool:otodik[33]
  15. new bool:hatodik[33]
  16. new kuldetes_elfogadva[33]
  17. new uj_kuldetes[33]
  18. new befejezett_kuldetes[33]
  19. new oles[33]
  20. new g_vault
  21. new name[33][32]
  22.  
  23. public plugin_init() {
  24. register_plugin(PLUGIN, VERSION, AUTHOR)
  25. register_event("HLTV", "ujkor", "a", "1=0", "2=0");
  26. register_logevent("korveg",2,"1=Round_End")
  27. register_event("DeathMsg","death","a")
  28. g_vault = nvault_open("Kuldetesek");
  29. register_clcmd("say /kuldetes","kuldetesek")
  30. register_clcmd("say_team /kuldetes","kuldetesek")
  31. }
  32. public kuldetesek(id) {
  33. if(uj_kuldetes[id] == 0){
  34. new menu_cim[121]
  35. format(menu_cim,charsmax(menu_cim),"A kuldetesed : %s^nBefejezett kuldeteseid : %d", kuldetes,befejezett_kuldetes[id])
  36. new menu = menu_create(menu_cim,"kuldetes_menupontok")
  37. menu_additem(menu,"\dElfogad","4",0)
  38. menu_additem(menu,"Uj kuldetes","2",0)
  39. menu_additem(menu,"\dKuldetes torlese","4",0)
  40. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  41. menu_display(id, menu, 0);
  42. }
  43. if(uj_kuldetes[id] == 1 && kuldetes_elfogadva[id] == 0){
  44. new menu_cim[121]
  45. format(menu_cim,charsmax(menu_cim),"A kuldetesed : %s^nBefejezett kuldeteseid : %d", kuldetes,befejezett_kuldetes[id])
  46. new menu = menu_create(menu_cim,"kuldetes_menupontok")
  47. menu_additem(menu,"Elfogad","1",0)
  48. menu_additem(menu,"Uj kuldetes","2",0)
  49. menu_additem(menu,"Kuldetes torlese","3",0)
  50. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  51. menu_display(id, menu, 0);
  52. }
  53. if(uj_kuldetes[id] == 1 && kuldetes_elfogadva[id] == 1){
  54. new menu_cim[121]
  55. format(menu_cim,charsmax(menu_cim),"A kuldetesed : %s^nBefejezett kuldeteseid : %d", kuldetes,befejezett_kuldetes[id])
  56. new menu = menu_create(menu_cim,"kuldetes_menupontok")
  57. menu_additem(menu,"\dElfogad","5",0)
  58. menu_additem(menu,"Uj kuldetes","2",0)
  59. menu_additem(menu,"Kuldetes torlese","3",0)
  60. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  61. menu_display(id, menu, 0);
  62. }
  63. }
  64. public kuldetes_menupontok(id, menu, item)
  65. {
  66. if( item == MENU_EXIT )
  67. {
  68. menu_destroy(menu);
  69. return PLUGIN_HANDLED;
  70. }
  71. new data[9], szName[64];
  72. new access, callback;
  73. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  74. new key = str_to_num(data);
  75.  
  76. switch(key)
  77. {
  78. case 1:{
  79. kuldetes_elfogadva[id] = 1
  80. client_print(id,print_chat,"Elfogadtad a kuldetest : %s",kuldetes)
  81. }
  82. case 2:{
  83. kuldetes_elfogadva[id] = 0
  84. kuldetes_valaszt(id)
  85. }
  86. case 3:{
  87. kuldetes = "Nincs"
  88. kuldetes_elfogadva[id] = 0
  89. uj_kuldetes[id] = 0
  90. elso[id] = false
  91. masodik[id] = false
  92. harmadik[id] = false
  93. negyedik[id] = false
  94. otodik[id] = false
  95. hatodik[id] = false
  96. }
  97. case 4:{
  98. client_print(id,print_chat,"Nincs kuldetesed")
  99. }
  100. case 5:{
  101. client_print(id,print_chat,"Egyszere csak 1 kuldetesed lehet")
  102. }
  103. }
  104. menu_destroy(menu)
  105. return PLUGIN_HANDLED
  106. }
  107. public kuldetes_valaszt(id)
  108. {
  109. switch (random_num(1, 6)){
  110. case 1 :{
  111. elso[id] = true
  112. masodik[id] = false
  113. harmadik[id] = false
  114. negyedik[id] = false
  115. otodik[id] = false
  116. hatodik[id] = false
  117. kuldetes = "Olj meg 3 embert USPvel"
  118. }
  119. case 2 :{
  120. elso[id] = false
  121. masodik[id] = true
  122. harmadik[id] = false
  123. negyedik[id] = false
  124. otodik[id] = false
  125. hatodik[id] = false
  126. kuldetes = "Olj meg 1 embert kessel"
  127. }
  128. case 3 :{
  129. elso[id] = false
  130. masodik[id] = false
  131. harmadik[id] = true
  132. negyedik[id] = false
  133. otodik[id] = false
  134. hatodik[id] = false
  135. kuldetes = "Egy korben olj meg 3 embert"
  136. }
  137. case 4 :{
  138. elso[id] = false
  139. masodik[id] = false
  140. harmadik[id] = false
  141. negyedik[id] = true
  142. otodik[id] = false
  143. hatodik[id] = false
  144. kuldetes = "Rakd le a bombat"
  145. }
  146. case 5 :{
  147. elso[id] = false
  148. masodik[id] = false
  149. harmadik[id] = false
  150. negyedik[id] = false
  151. otodik[id] = true
  152. hatodik[id] = false
  153. kuldetes = "Szedd fel a bombat"
  154. }
  155. case 6 :{
  156. elso[id] = false
  157. masodik[id] = false
  158. harmadik[id] = false
  159. negyedik[id] = false
  160. otodik[id] = false
  161. hatodik[id] = true
  162. kuldetes = "Olj meg 20 embert"
  163. }
  164. }
  165. uj_kuldetes[id] = 1
  166. kuldetesek(id)
  167. }
  168. public ujkor(){
  169. new players[32], num, id
  170. get_players(players, num)
  171.  
  172. for( new i; i<num; i++ )
  173. {
  174. id = players[i]
  175. if(harmadik[id] && kuldetes_elfogadva[id] == 1){
  176. oles[id] = 0
  177. }
  178. }
  179. }
  180. public korveg(){
  181. new players[32], num, id
  182. get_players(players, num)
  183.  
  184. for( new i; i<num; i++ )
  185. {
  186. id = players[i]
  187. if(oles[id] >= 3 && kuldetes_elfogadva[id] == 1){
  188. befejezett_kuldetes[id]++
  189. client_print(id,print_chat,"Sikeresen befejezted a kuldetesed")
  190. uj_kuldetes[id] = 0
  191. harmadik[id] = false
  192. kuldetes = "Nincs"
  193. kuldetes_elfogadva[id] = 0
  194. oles[id] = 0
  195. }
  196. }
  197. }
  198. public death(){
  199. new killer = read_data(1)
  200. new victim = read_data(2)
  201.  
  202. if(killer == victim)
  203. {
  204. return PLUGIN_HANDLED
  205. }
  206. if(elso[killer] && oles[killer] >= 3 && kuldetes_elfogadva[killer] == 1){
  207. befejezett_kuldetes[killer]++
  208. client_print(killer,print_chat,"Sikeresen befejezted a kuldetesed")
  209. elso[killer] = false
  210. kuldetes = "Nincs"
  211. uj_kuldetes[killer] = 0
  212. kuldetes_elfogadva[killer] = 0
  213. oles[killer] = 0
  214. }
  215. if(masodik[killer] && get_user_weapon(killer) == CSW_KNIFE && kuldetes_elfogadva[killer] == 1){
  216. befejezett_kuldetes[killer]++
  217. client_print(killer,print_chat,"Sikeresen befejezted a kuldetesed")
  218. masodik[killer] = false
  219. kuldetes = "Nincs"
  220. uj_kuldetes[killer] = 0
  221. kuldetes_elfogadva[killer] = 0
  222. oles[killer] = 0
  223. }
  224. if(hatodik[killer] && kuldetes_elfogadva[killer] == 1){
  225. oles[killer]++
  226. }
  227. if(elso[killer] && kuldetes_elfogadva[killer] == 1){
  228. oles[killer]++
  229. }
  230. if(harmadik[killer] && kuldetes_elfogadva[killer] == 1){
  231. oles[killer]++
  232. }
  233. if(hatodik[killer] && oles[killer] >= 20 && kuldetes_elfogadva[killer] == 1){
  234. befejezett_kuldetes[killer]++
  235. client_print(killer,print_chat,"Sikeresen befejezted a kuldetesed")
  236. hatodik[killer] = false
  237. kuldetes = "Nincs"
  238. uj_kuldetes[killer] = 0
  239. kuldetes_elfogadva[killer] = 0
  240. oles[killer] = 0
  241. }
  242. return PLUGIN_HANDLED
  243. }
  244. public bomb_planted(id){
  245. if(negyedik[id] && kuldetes_elfogadva[id] == 1){
  246. befejezett_kuldetes[id]++
  247. client_print(id,print_chat,"Sikeresen befejezted a kuldetesed")
  248. negyedik[id] = false
  249. kuldetes = "Nincs"
  250. uj_kuldetes[id] = 0
  251. kuldetes_elfogadva[id] = 0
  252. }
  253. }
  254. public bomb_defused(id){
  255. if(otodik[id] && kuldetes_elfogadva[id] == 1){
  256. befejezett_kuldetes[id]++
  257. client_print(id,print_chat,"Sikeresen befejezted a kuldetesed")
  258. otodik[id] = false
  259. kuldetes = "Nincs"
  260. uj_kuldetes[id] = 0
  261. kuldetes_elfogadva[id] = 0
  262. }
  263. }
  264. public mentes(id)
  265. {
  266. new vaultkey[64],vaultdata[256]
  267. format(vaultkey,63,"%s-Befejezett kuldetes", name[id])
  268. format(vaultdata,255,"%d", befejezett_kuldetes[id])
  269. nvault_set(g_vault,vaultkey,vaultdata)
  270. return PLUGIN_CONTINUE
  271. }
  272. public betoltes(id)
  273. {
  274. new vaultkey[64],vaultdata[256]
  275. format(vaultkey,63,"%s-Befejezett kuldetes", name[id])
  276. nvault_get(g_vault,vaultkey,vaultdata,255)
  277. befejezett_kuldetes[id] = str_to_num(vaultdata)
  278. return PLUGIN_CONTINUE;
  279. }
  280. public client_connect(id)
  281. {
  282. betoltes(id)
  283. }
  284. public client_disconnect(id)
  285. {
  286. mentes(id)
  287. }
  288.