hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.24. 22:42



Jelenlévő felhasználók

Jelenleg 278 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 277 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Google [Bot] 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: VIP vásárlás
HozzászólásElküldve: 2015.07.25. 20:08 
Offline
Nagyúr
Avatar

Csatlakozott: 2012.09.23. 09:50
Hozzászólások: 569
Megköszönt másnak: 76 alkalommal
Megköszönték neki: 37 alkalommal
Üdv! valaki ebbe beleírná, hogy VIP vásárlás pontba kerüljön? (500 pont)
SMA Forráskód: [ Mindet kijelol ]
  1. /* DeathMatch Menü by: Levii.Másnéven DecToR
  2.  
  3. |||Információ|||
  4. - 1 sima ölés: 5pont , Fejlövés: 8pont , VIPNEK: 12pont
  5.  
  6. - Bolt: HE gránát, flash Gránát, +50 élet, +50páncél, +50 sebesség,Kis gravitáció , 16000$
  7.  
  8. - Kések , 3kés: Láncfűrész, fa kard, Recés kés. [Több sebzés.]
  9.  
  10. - VIP: mit kap a vip: BOLTOT amibe van egy:200hp, Gránátcsomag. */
  11.  
  12. #include <amxmodx>
  13. #include <amxmisc>
  14. #include <engine>
  15. #include <cstrike>
  16. #include <fun>
  17. #include <fakemeta>
  18. #include <hamsandwich>
  19. #include <colorchat>
  20.  
  21.  
  22. #define PLUGIN "DeathMatch"
  23. #define VERSION "1.0"
  24. #define AUTHOR "Levii masneven: DecToR"
  25.  
  26.  
  27. #define VIP ADMIN_LEVEL_H // VIP Joga [T] jog
  28.  
  29. #define SLOT 32 //hány slotos a szervered
  30.  
  31. // Sebzéshez
  32. new bool:b_sebzes[33]
  33.  
  34. // Lekérések
  35. new pont[33]
  36. new szint[33]
  37. new xp[33]
  38.  
  39. // Késhez
  40. new dm_kes[33]
  41.  
  42. // Prefix
  43. new pont2, RosszKarakterek
  44. new kettospont
  45. new szam2
  46.  
  47.  
  48. //HUD
  49. new HudSyncObj;
  50.  
  51. // Pont küldés
  52. new x_tempid
  53.  
  54. new bool:pkuld[33]
  55.  
  56. public plugin_init() {
  57. register_plugin(PLUGIN, VERSION, AUTHOR)
  58. register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
  59. register_event("DeathMsg","death","a")
  60. RegisterHam(Ham_TakeDamage, "player", "damagetake") //kes sebzeshez
  61.  
  62. register_clcmd("say /menu", "dmfomenu")
  63. register_clcmd("say", "HandleSay")
  64. register_impulse(201, "dmfomenu")
  65.  
  66. HudSyncObj = CreateHudSyncObj(); //HUD
  67. set_task(3.0, "hud", _, _, _, "b");
  68.  
  69. // Add your code here...
  70. }
  71. public plugin_precache()
  72. {
  73.  
  74. precache_model("models/dm_kesek/v_fakes.mdl")
  75. precache_model("models/dm_kesek/v_reces.mdl")
  76. precache_model("models/dm_kesek/v_lancfuresz.mdl")
  77. precache_model("models/dm_kesek/p_lancfuresz.mdl")
  78. }
  79. public dmfomenu(id)
  80. {
  81. new cim[121]
  82. format(cim, charsmax(cim), "\rSzerver Neve^n\wPont:\r%d",pont[id])
  83. new menu = menu_create(cim, "dm_fomenu_h" )
  84.  
  85. menu_additem(menu,"Bolt","0",0)
  86. menu_additem(menu,"Pontért Kések","1",0)
  87. menu_additem(menu,"Mit tud a VIP?","2",0)
  88. if(get_user_flags(id) & ADMIN_LEVEL_H)
  89. menu_additem(menu,"\rVIP Bolt [MEGVÉVE]","3",0)
  90. else
  91. menu_additem(menu,"\dVIP Bolt [VIP ára: 508ft/ho]","3",0)
  92. menu_additem(menu,"Pont kuldes","4",0)
  93.  
  94. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  95. menu_display(id, menu, 0);
  96. }
  97. public dm_fomenu_h(id, menu, item)
  98. {
  99. if( item == MENU_EXIT )
  100. {
  101. menu_destroy(menu);
  102. return PLUGIN_HANDLED;
  103. }
  104. new data[9], szName[64];
  105. new access, callback;
  106. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  107. new key = str_to_num(data);
  108.  
  109. switch(key)
  110. {
  111. case 0:
  112. {
  113. dmbolta(id)
  114. }
  115. case 1:
  116. {
  117. dm_kesek(id)
  118. }
  119. case 2:
  120. {
  121. show_motd(id, "addons/amxmodx/configs/motd/szabaly.txt", "Szabalyok")
  122. }
  123. case 3:{
  124. dm_vipbolt(id)
  125. }
  126. case 4:{
  127. kuldesmenu(id)
  128. }
  129. }
  130. menu_destroy(menu)
  131. return PLUGIN_HANDLED
  132. }
  133. public dmbolta(id)
  134. {
  135. new cim[121]
  136. format(cim, charsmax(cim), "\rSzerver Neve - Bolt^n\wPont:\r%d",pont[id])
  137. new menu = menu_create(cim, "dm_bolt_h" )
  138.  
  139. menu_additem(menu,"\rHE \wgránát \y 5 P","1",0)
  140. menu_additem(menu,"\rVakító \wgránát \y 5 P","2",0)
  141. menu_additem(menu,"\r+50 \wÉlet \y23 P","3",0)
  142. menu_additem(menu,"\r+50 \wPáncél \y20 P","4",0)
  143. menu_additem(menu,"\r+50 \wsebesség \y30 P","5",0)
  144. menu_additem(menu,"\rKis \wGravitáció \y30 P","6",0)
  145.  
  146. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  147. menu_display(id, menu, 0);
  148. }
  149. public dm_bolt_h(id, menu, item)
  150. {
  151. if( item == MENU_EXIT )
  152. {
  153. menu_destroy(menu);
  154. return PLUGIN_HANDLED;
  155. }
  156. new data[9], szName[64];
  157. new access, callback;
  158. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  159. new key = str_to_num(data);
  160.  
  161. switch(key)
  162. {
  163. case 1:
  164. {
  165. if(pont[id] >= 5 )
  166. {
  167. give_item(id, "weapon_hegrenade");
  168. print_color(id, "!g[információ]!y Sikeresen megvetted a !gHE!y Gránátot.")
  169. pont[id] -= 5
  170. }
  171. else
  172. {
  173. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  174. }
  175. }
  176. case 2:
  177. {
  178. if(pont[id] >= 5)
  179. {
  180. give_item(id, "weapon_flashbang");
  181. print_color(id, "!g[információ]!y Sikeresen megvetted a !gVAKÍTÓ!y Gránátot.")
  182. pont[id] -= 5
  183. }
  184. else
  185. {
  186. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  187. }
  188.  
  189. }
  190. case 3:
  191. {
  192. if(pont[id] >= 23)
  193. {
  194. print_color(id, "!g[információ]!y Sikeresen megvetted a !g+50!y életet.")
  195. set_user_health(id, get_user_health(id)+50)
  196. pont[id] -= 23
  197. }
  198. else
  199. {
  200. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  201. }
  202.  
  203. }
  204. case 4:
  205. {
  206. if(pont[id] >= 20)
  207. {
  208. print_color(id, "!g[információ]!y Sikeresen megvetted a !g+50!y Páncélt.")
  209. set_user_armor(id, get_user_armor(id)+50)
  210. pont[id] -= 20
  211. }
  212. else
  213. {
  214. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  215. }
  216.  
  217. }
  218. case 5:
  219. {
  220. if(pont[id] >= 30)
  221. {
  222. print_color(id, "!g[információ]!y Sikeresen megvetted a !g+50!y sebességet.")
  223. set_user_maxspeed(id, get_user_maxspeed(id)+50)
  224. pont[id] -=30
  225. }
  226. else
  227. {
  228. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  229. }
  230.  
  231. }
  232. case 6:
  233. {
  234. if(pont[id] >= 30)
  235. {
  236. print_color(id, "!g[információ]!y Sikeresen megvetted a !gKIS!y gravitációt.")
  237. set_user_gravity(id, 0.10)
  238. pont[id] -=30
  239. }
  240. else
  241. {
  242. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  243. }
  244. }
  245.  
  246.  
  247.  
  248. }
  249. menu_destroy(menu)
  250. return PLUGIN_HANDLED
  251. }
  252. public dm_kesek(id)
  253. {
  254. new cim[121]
  255. format(cim, charsmax(cim), "\rSzerver Neve - Pontert Kesek^n\wPont:\r%d",pont[id])
  256. new menu = menu_create(cim, "dm_kesek_h" )
  257. if(pont[id] >= 2500)
  258. menu_additem(menu,"\rFa \dkés \w[\d+\w1.\y2 \dDMG]\y 2.MEGSZEREZVE","1",0)
  259. else
  260. menu_additem(menu,"\rFa \dkés \w[\d+\w1.\y2 \dDMG]\y 500 P","1",0)
  261. if(pont[id] >= 7000)
  262. menu_additem(menu,"\rRecés \dkés \w[\d+\w2.\y0 \dDMG] \y MEGSZEREZVE","2",0)
  263. else
  264. menu_additem(menu,"\rRecés \dkés \w[\d+\w2.\y0 \dDMG] \y 7000 P","2",0)
  265. if(pont[id] >= 10000)
  266. menu_additem(menu,"\rLáncfűrész \w[\d+\w3.\y0 \dDMG] \w \yMEGSZEREZVE","3",0)
  267. else
  268. menu_additem(menu,"\rLáncfűrész \w[\d+\w3.\y0 \dDMG] \w \y10 000 P","3",0)
  269.  
  270. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  271. menu_display(id, menu, 0);
  272. }
  273. public dm_kesek_h(id, menu, item)
  274. {
  275. if( item == MENU_EXIT )
  276. {
  277. menu_destroy(menu);
  278. return PLUGIN_HANDLED;
  279. }
  280. new data[9], szName[64];
  281. new access, callback;
  282. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  283. new key = str_to_num(data);
  284.  
  285. switch(key)
  286. {
  287. case 1:
  288. {
  289. if(pont[id] >= 2500 )
  290. {
  291. dm_kes[id] = 1
  292. print_color(id, "!g[információ]!y Sikeresen megvetted a !gFA!y kést.")
  293. pont[id] -= 2500
  294. }
  295. else
  296. {
  297. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  298. }
  299. }
  300. case 2:
  301. {
  302. if(pont[id] >= 7000 )
  303. {
  304. dm_kes[id] = 2
  305. print_color(id, "!g[információ]!y Sikeresen megvetted a !gRECÉS!y kést.")
  306. pont[id] -= 7000
  307. }
  308. else
  309. {
  310. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  311. }
  312. }
  313. case 3:
  314. {
  315. if(pont[id] >= 10000 )
  316. {
  317. dm_kes[id] = 3
  318. print_color(id, "!g[információ]!y Sikeresen megvetted a !gLánfűrész-!yt.")
  319. pont[id] -= 10000
  320. }
  321. else
  322. {
  323. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  324. }
  325. }
  326. }
  327. return PLUGIN_HANDLED
  328. }
  329. public dm_vipbolt(id)
  330. {
  331. new cim[121]
  332. format(cim, charsmax(cim), "\rSzerver Neve - VIP BOLT^n\wPont:\r%d",pont[id])
  333. new menu = menu_create(cim, "dm_vipbolt_h" )
  334.  
  335. menu_additem(menu,"\rV.I.P \dGránát\ycsomag \w[Vakitó+Robbanó]\y 5 P","1",0)
  336. menu_additem(menu,"\rV.I.P \d+200 \wHP\y 7 P","2",0)
  337. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  338. menu_display(id, menu, 0);
  339. }
  340. public dm_vipbolt_h(id, menu, item)
  341. {
  342. if( item == MENU_EXIT )
  343. {
  344. menu_destroy(menu);
  345. return PLUGIN_HANDLED;
  346. }
  347. new data[9], szName[64];
  348. new access, callback;
  349. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  350. new key = str_to_num(data);
  351.  
  352. switch(key)
  353. {
  354. case 1:
  355. {
  356. if(pont[id] >= 5 )
  357. {
  358. if(get_user_flags(id) & ADMIN_LEVEL_H)
  359. give_item(id, "weapon_hegrenade");
  360. give_item(id, "weapon_flashbang");
  361. print_color(id, "!g[információ]!y Sikeresen megvetted a !gGránát csomag-!yot.")
  362. pont[id] -= 5
  363. }
  364. else
  365. {
  366. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  367. }
  368. }
  369. case 2:
  370. {
  371. if(pont[id] >= 7 )
  372. {
  373. if(get_user_flags(id) & ADMIN_LEVEL_H)
  374. set_user_health(id, get_user_health(id)+200)
  375. print_color(id, "!g[információ]!y Sikeresen megvetted a !g+200 HP!y-t.")
  376. pont[id] -= 7
  377. }
  378. else
  379. {
  380. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  381. }
  382. }
  383. }
  384. return PLUGIN_HANDLED
  385. }
  386. public hud()
  387. {
  388. new iJatekosok, iVip;
  389. for(new i; i < SLOT; i++)
  390. {
  391. if(!is_user_connected(i))
  392. continue;
  393.  
  394. if(access(i, VIP))
  395. iVip++;
  396.  
  397. iJatekosok++;
  398. set_hudmessage(127, 255, 255, 0.03, 0.17, 0, 6.0, 3.1);
  399. ShowSyncHudMsg(i, HudSyncObj, "[Pontjaim: %i]^n[Jatekosok: %i/%i]^n[VIP: %i]",pont[i],iJatekosok, SLOT, iVip);
  400. }
  401.  
  402. }
  403. public death(){
  404. new killer = read_data(1)
  405. new victim = read_data(2)
  406. new hs = read_data(3)
  407. if(killer == victim)
  408. {
  409. return PLUGIN_HANDLED
  410. }
  411. if(hs)
  412. pont[killer] += 8 // Ennyi pont jár a fejesért.
  413. else
  414. pont[killer] += 5 // Ennyi pont jár a sima ölésért.
  415.  
  416. if(szint[killer] >= 0 && szint[killer] < 100)
  417. {
  418. xp[killer] += random_num(10,20)
  419. }
  420. else if(szint[killer] >= 100 && szint[killer] < 500)
  421. {
  422. xp[killer] += random_num(7,17)
  423. }
  424. else if(szint[killer] >= 500 && szint[killer] < 5000)
  425. {
  426. xp[killer] += random_num(7,17)
  427. }
  428. if(xp[killer] >= 100)
  429. {
  430. szint[killer]++
  431. xp[killer] -= 100
  432. }
  433. if(get_user_flags(killer) & ADMIN_LEVEL_H)
  434.  
  435. pont[killer] +=12 // VIP 15pontot kap 1 ölésért
  436.  
  437. return PLUGIN_HANDLED
  438. }
  439. public Event_Change_Weapon(id)
  440. {
  441. new fgy = get_user_weapon(id)
  442. if(dm_kes[id] == 0 && fgy == CSW_KNIFE) // Alap Kés
  443. {
  444. set_pev(id, pev_viewmodel2, "models/v_knife.mdl")
  445. set_pev(id, pev_weaponmodel2, "models/p_knife.mdl")
  446. }
  447. if(dm_kes[id] == 1 && fgy == CSW_KNIFE)
  448. {
  449. set_pev(id, pev_viewmodel2, "models/dm_kesek/v_fakes.mdl") // fa kés [V] model
  450. b_sebzes[id] = true
  451. }
  452. if(dm_kes[id] == 2 && fgy == CSW_KNIFE)
  453. {
  454. set_pev(id, pev_viewmodel2, "models/dm_kesek/v_reces.mdl") //recés kés [V] model
  455. b_sebzes[id] = true
  456. }
  457. if(dm_kes[id] == 3 && fgy == CSW_KNIFE)
  458. {
  459. set_pev(id, pev_viewmodel2, "models/dm_kesek/v_lancfuresz.mdl") // láncfűrész [V] model
  460. set_pev(id, pev_weaponmodel2, "models/dm_kesek/p_lancfuresz.mdl") // [P] model
  461. b_sebzes[id] = true
  462. }
  463. }
  464. public HandleSay(id)
  465. {
  466. new message[192], Name[32], none[2][32], chat[192], halott_rang[32], hir
  467.  
  468. read_args (message, 191)
  469. remove_quotes (message)
  470. new hossz = strlen(message);
  471. new i=0;
  472. pont2=0;
  473. kettospont=0;
  474. szam2=0;
  475. hir=0;
  476. RosszKarakterek = 0
  477. while(i < hossz)
  478. {
  479. if(message[i] == 'w')
  480. hir++;
  481. if(message[i] == '.')
  482. pont2++;
  483. if(message[i] == ':')
  484. kettospont++;
  485. if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4')
  486. szam2++;
  487. if(message[i] == '#')
  488. RosszKarakterek++
  489. ++i;
  490. }
  491.  
  492. if(pont2 >= 2 && kettospont >= 1 && szam2 >= 4)
  493. {
  494. print_color(id, "!g[Információ]!y Tilos a hirdetés!")
  495. return PLUGIN_HANDLED;
  496. }
  497. if(hir >= 3)
  498. {
  499. print_color(id, "!g[Információ]!y Tilos a hirdetés!")
  500. return PLUGIN_HANDLED;
  501. }
  502. if(RosszKarakterek != 0)
  503. {
  504. new JatekosNeve[32]
  505. get_user_name(id, JatekosNeve, charsmax(JatekosNeve))
  506. new JatekosIP[32]
  507. get_user_ip(id, JatekosIP, charsmax(JatekosIP))
  508. server_cmd("kick #%d Tiltott karakter-t irtal chatbe! ^"#^"", get_user_userid(id))
  509. log_amx("%s | %s rossz karaktert irtbe chatbe : %s", JatekosNeve, JatekosIP, message)
  510. return PLUGIN_HANDLED
  511. }
  512.  
  513. formatex(none[0], 31, ""), formatex(none[1], 31, " ")
  514.  
  515. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "") || equal (message, "."))
  516. return PLUGIN_HANDLED;
  517.  
  518. if(containi(message, "anyad") != -1 || containi(message, "cigany") != -1 ||
  519. containi(message, "rakos") != -1 || containi(message, "fasszopo") != -1){
  520. print_color(id, "!g[Információ]!y Ne beszélj csúnyán!")
  521. return PLUGIN_HANDLED
  522. }
  523.  
  524. if(!equali(message, none[0]) && !equali(message, none[1]))
  525. {
  526. get_user_name(id, Name, 31);
  527. if(!is_user_alive(id)){
  528. halott_rang = "*HALOTT*"
  529. }
  530. else
  531. halott_rang = ""
  532. if(equal("Levii", Name))
  533. formatex(chat, 191, "^1%s^4[DeathMatch Menu Keszito][Szint: %d]^3%s^1:^4 %s",halott_rang, szint[id], Name, message)
  534. else if(get_user_flags(id) & ADMIN_BAN)
  535. formatex(chat, 191, "^1%s^4[ADMIN][Szint: %d]^3%s^1:^4 %s",halott_rang, szint[id], Name, message)
  536. else if(get_user_flags(id) & ADMIN_USER)
  537. formatex(chat, 191, "^1%s^4[Szint: %d]^3%s^1: %s",halott_rang, szint[id], Name, message)
  538.  
  539.  
  540. switch(cs_get_user_team(id))
  541. {
  542. case 1: ColorChat(0, RED, chat)
  543. case 2: ColorChat(0, BLUE, chat)
  544. }
  545. if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
  546. ColorChat(0, GREY, chat)
  547. return PLUGIN_HANDLED;
  548. }
  549. return PLUGIN_HANDLED;
  550. }
  551. public kuldesmenu(id)
  552. {
  553. new cim[121]
  554. format(cim, charsmax(cim), "\rSzerver Neve \wValaszd ki a \rJatekost:")
  555. new menu = menu_create(cim, "kuldes_handler" )
  556. new players[32], pnum, tempid;
  557. new szName[32], szTempid[10];
  558. get_players(players, pnum);
  559. for( new i; i<pnum; i++ )
  560. {
  561. tempid = players[i];
  562. {
  563. get_user_name(tempid, szName, charsmax(szName));
  564. num_to_str(tempid, szTempid, charsmax(szTempid));
  565. menu_additem(menu, szName, szTempid, 0);
  566. }
  567. }
  568. menu_setprop(menu, MPROP_EXITNAME, "Kilepes")
  569. menu_setprop(menu, MPROP_BACKNAME, "Vissza")
  570. menu_setprop(menu, MPROP_NEXTNAME, "Tovabb")
  571. menu_display(id, menu, 0);
  572. }
  573. public kuldes_handler(id, menu, item)
  574. {
  575. if( item == MENU_EXIT )
  576. {
  577. menu_destroy(menu);
  578. return PLUGIN_HANDLED;
  579. }
  580. new data[6], szName[64]
  581. new access, callback;
  582. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  583. x_tempid = str_to_num(data);
  584. client_cmd(id, "messagemode MENNYISEG");
  585. menu_destroy(menu);
  586. return PLUGIN_HANDLED;
  587. }
  588.  
  589. public arany_kuld(id)
  590. {
  591. new uzenet[121];
  592. new kuldoneve[32], tempname[32]
  593. read_args(uzenet, charsmax(uzenet))
  594. remove_quotes(uzenet)
  595. get_user_name(id, kuldoneve, 31)
  596. get_user_name(x_tempid, tempname, 31)
  597.  
  598. if(str_to_num(uzenet) < 0)
  599. return PLUGIN_HANDLED
  600.  
  601. if(pont[id] >= str_to_num(uzenet) && pkuld[id] == true)
  602. {
  603. pont[x_tempid] += str_to_num(uzenet)
  604. pont[id] -= str_to_num(uzenet)
  605. pkuld[id] = false
  606. print_color(id, "!g[Információ]!y Jatekos^3 %s^1 kuldott^4 %d^1 Pontot^3 %s^1 -nak!", kuldoneve, str_to_num(uzenet), tempname)
  607. }
  608. return PLUGIN_HANDLED;
  609. }
  610.  
  611. public avmenu(id)
  612. {
  613. new cim[121]
  614. new menu = menu_create("\rSzerver Menu \wValaszd ki mit szeretnel \rAjandekozni:", "menu_handler321")
  615.  
  616. format(cim,charsmax(cim),"\wPont \r%d", pont[id])
  617. menu_additem(menu,cim,"1")
  618.  
  619.  
  620. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  621. menu_setprop(menu, MPROP_EXITNAME, "Kilepes")
  622. menu_setprop(menu, MPROP_BACKNAME, "Vissza")
  623. menu_setprop(menu, MPROP_NEXTNAME, "Tovabb")
  624.  
  625. menu_display(id, menu, 0);
  626.  
  627. return PLUGIN_HANDLED;
  628. }
  629. public menu_handler321(id, menu ,item){
  630. if( item == MENU_EXIT )
  631. {
  632. menu_destroy(menu);
  633. return PLUGIN_HANDLED;
  634. }
  635. new data[6], szName[64]
  636. new access, callback;
  637. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  638. new key = str_to_num(data)
  639. switch(key)
  640. {
  641. case 1:
  642. {
  643. kuldesmenu(id)
  644. pkuld[id] = true
  645. }
  646. }
  647. return PLUGIN_CONTINUE
  648. }
  649. public client_connect(id)
  650. {
  651. betoltes(id)
  652. pont[id] = 0;
  653. szint[id] = 0;
  654. xp[id] = 0;
  655. }
  656. public client_disconnect(id)
  657. {
  658. mentes(id)
  659. }
  660. public mentes(id) {
  661. if(is_user_connected(id))
  662. {
  663. new file[192], nm[32], mentes[512]
  664. get_user_name(id, nm, 31)
  665. replace_all(nm, 31, "/", "_")
  666. replace_all(nm, 31, "?", "_")
  667. replace_all(nm, 31, "!", "_")
  668. replace_all(nm, 31, "*", "_")
  669. replace_all(nm, 31, "#", "_")
  670. replace_all(nm, 31, "=", "_")
  671. replace_all(nm, 31, "-", "_")
  672. replace_all(nm, 31, "+", "_")
  673. replace_all(nm, 31, ",", "_")
  674. replace_all(nm, 31, "@", "_")
  675. replace_all(nm, 31, "&", "_")
  676. replace_all(nm, 31, "{", "_")
  677. replace_all(nm, 31, "}", "_")
  678. replace_all(nm, 31, "~", "_")
  679. replace_all(nm, 31, ":", "_")
  680. replace_all(nm, 31, ".", "_")
  681. replace_all(nm, 31, "<", "_")
  682. replace_all(nm, 31, ">", "_")
  683. replace_all(nm, 31, "|", "_")
  684. formatex(file, charsmax(file), "addons/amxmodx/configs/dm_menu/%s.ini", nm)
  685. delete_file(file)
  686. format(mentes, charsmax(mentes), "%d %d %d", pont[id], szint[id], xp[id])
  687. write_file(file, mentes)
  688. }
  689. }
  690. public betoltes(id)
  691. {
  692. if(is_user_connected(id))
  693. {
  694. new file[192], nm[32]
  695. get_user_name(id, nm, 31)
  696. replace_all(nm, 31, "/", "_")
  697. replace_all(nm, 31, "?", "_")
  698. replace_all(nm, 31, "!", "_")
  699. replace_all(nm, 31, "*", "_")
  700. replace_all(nm, 31, "#", "_")
  701. replace_all(nm, 31, "=", "_")
  702. replace_all(nm, 31, "-", "_")
  703. replace_all(nm, 31, "+", "_")
  704. replace_all(nm, 31, ",", "_")
  705. replace_all(nm, 31, "@", "_")
  706. replace_all(nm, 31, "&", "_")
  707. replace_all(nm, 31, "{", "_")
  708. replace_all(nm, 31, "}", "_")
  709. replace_all(nm, 31, "~", "_")
  710. replace_all(nm, 31, ":", "_")
  711. replace_all(nm, 31, ".", "_")
  712. replace_all(nm, 31, "<", "_")
  713. replace_all(nm, 31, ">", "_")
  714. replace_all(nm, 31, "|", "_")
  715. formatex(file, charsmax(file), "addons/amxmodx/configs/dm_menu/%s.ini", nm)
  716. new file_pointer = fopen(file, "r")
  717. if(!file_pointer)
  718. {
  719. write_file(file, "0 0 0")
  720. return PLUGIN_HANDLED
  721. }
  722. fclose(file_pointer)
  723. new lines = file_size(file, 1)
  724. new a1[32], a2[32], a3[32]
  725. if(lines > 0)
  726. {
  727. new buff[512], len
  728. read_file(file, lines=0, buff, charsmax(buff), len)
  729. parse(buff, a1, 31, a2, 31, a3, 31)
  730. pont[id] = str_to_num(a1)
  731. szint[id] = str_to_num(a2)
  732. xp[id] = str_to_num(a3)
  733.  
  734. }
  735. }
  736. return PLUGIN_HANDLED
  737. }
  738. public client_putinserver(id)
  739. {
  740. betoltes(id)
  741. }
  742. stock print_color(const id, const input[], any:...)
  743. {
  744. new count = 1, players[32]
  745. static msg[191]
  746. vformat(msg, 190, input, 3)
  747.  
  748. replace_all(msg, 190, "!g", "^4")
  749. replace_all(msg, 190, "!y", "^1")
  750. replace_all(msg, 190, "!t", "^3")
  751. replace_all(msg, 190, "á", "á")
  752. replace_all(msg, 190, "é", "Ă©")
  753. replace_all(msg, 190, "í", "Ă­")
  754. replace_all(msg, 190, "ó", "Ăł")
  755. replace_all(msg, 190, "ö", "ö")
  756. replace_all(msg, 190, "ő", "Ĺ‘")
  757. replace_all(msg, 190, "ú", "Ăş")
  758. replace_all(msg, 190, "ü", "ĂĽ")
  759. replace_all(msg, 190, "ű", "ű")
  760. replace_all(msg, 190, "Á", "Á")
  761. replace_all(msg, 190, "É", "É")
  762. replace_all(msg, 190, "Í", "ĂŤ")
  763. replace_all(msg, 190, "Ó", "Ă“")
  764. replace_all(msg, 190, "Ö", "Ă–")
  765. replace_all(msg, 190, "Ő", "Ő")
  766. replace_all(msg, 190, "Ú", "Ăš")
  767. replace_all(msg, 190, "Ü", "Ăś")
  768. replace_all(msg, 190, "Ű", "Ĺ°")
  769.  
  770. if (id) players[0] = id; else get_players(players, count, "ch")
  771. {
  772. for (new i = 0; i < count; i++)
  773. {
  774. if (is_user_connected(players[i]))
  775. {
  776. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  777. write_byte(players[i])
  778. write_string(msg)
  779. message_end()
  780. }
  781. }
  782. }
  783. return PLUGIN_HANDLED
  784. }
  785. public damagetake(victim, inflictor, attacker, Float:damage) {
  786. if(b_sebzes[attacker] && get_user_weapon(attacker) == CSW_KNIFE)
  787. {
  788. if(dm_kes[attacker] == 1) { // fa kés
  789. SetHamParamFloat(4, damage * 1.20)
  790. }
  791. if(dm_kes[attacker] == 2) { // Recés Kés
  792. SetHamParamFloat(4, damage * 2.00)
  793. }
  794. if(dm_kes[attacker] == 3) { // Láncfűrész
  795. SetHamParamFloat(4, damage * 3.00)
  796. }
  797. }
  798. }
  799.  

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: VIP vásárlás
HozzászólásElküldve: 2015.07.27. 05:38 
Offline
Tag
Avatar

Csatlakozott: 2014.05.11. 01:10
Hozzászólások: 56
Megköszönt másnak: 11 alkalommal
Megköszönték neki: 2 alkalommal
Nincs tesztelve!
SMA Forráskód: [ Mindet kijelol ]
  1. /* DeathMatch Menü by: Levii.Másnéven DecToR
  2.  
  3.   |||Információ|||
  4.   - 1 sima ölés: 5pont , Fejlövés: 8pont , VIPNEK: 12pont
  5.  
  6.   - Bolt: HE gránát, flash Gránát, +50 élet, +50páncél, +50 sebesség,Kis gravitáció , 16000$
  7.  
  8.   - Kések , 3kés: Láncfűrész, fa kard, Recés kés. [Több sebzés.]
  9.  
  10.   - VIP: mit kap a vip: BOLTOT amibe van egy:200hp, Gránátcsomag. */
  11.  
  12. #include <amxmodx>
  13. #include <amxmisc>
  14. #include <engine>
  15. #include <cstrike>
  16. #include <fun>
  17. #include <fakemeta>
  18. #include <hamsandwich>
  19. #include <colorchat>
  20.  
  21.  
  22. #define PLUGIN "DeathMatch"
  23. #define VERSION "1.0"
  24. #define AUTHOR "Levii masneven: DecToR"
  25.  
  26.  
  27. #define VIP ADMIN_LEVEL_H // VIP Joga [T] jog
  28.  
  29. #define SLOT 32 //hány slotos a szervered
  30.  
  31. // Sebzéshez
  32. new bool:b_sebzes[33]
  33.  
  34. // Lekérések
  35. new pont[33]
  36. new szint[33]
  37. new xp[33]
  38.  
  39. // Késhez
  40. new dm_kes[33]
  41.  
  42. // Prefix
  43. new pont2, RosszKarakterek
  44. new kettospont
  45. new szam2
  46.  
  47.  
  48. //HUD
  49. new HudSyncObj;
  50.  
  51. // Pont küldés
  52. new x_tempid
  53.  
  54. new bool:pkuld[33]
  55.  
  56. public plugin_init() {
  57. register_plugin(PLUGIN, VERSION, AUTHOR)
  58. register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
  59. register_event("DeathMsg","death","a")
  60. RegisterHam(Ham_TakeDamage, "player", "damagetake") //kes sebzeshez
  61.  
  62. register_clcmd("say /menu", "dmfomenu")
  63. register_clcmd("say", "HandleSay")
  64. register_impulse(201, "dmfomenu")
  65.  
  66. HudSyncObj = CreateHudSyncObj(); //HUD
  67. set_task(3.0, "hud", _, _, _, "b");
  68.  
  69. // Add your code here...
  70. }
  71. public plugin_precache()
  72. {
  73.  
  74. precache_model("models/dm_kesek/v_fakes.mdl")
  75. precache_model("models/dm_kesek/v_reces.mdl")
  76. precache_model("models/dm_kesek/v_lancfuresz.mdl")
  77. precache_model("models/dm_kesek/p_lancfuresz.mdl")
  78. }
  79. public dmfomenu(id)
  80. {
  81. new cim[121]
  82. format(cim, charsmax(cim), "\rSzerver Neve^n\wPont:\r%d",pont[id])
  83. new menu = menu_create(cim, "dm_fomenu_h" )
  84.  
  85. menu_additem(menu,"Bolt","0",0)
  86. menu_additem(menu,"Pontért Kések","1",0)
  87. menu_additem(menu,"Mit tud a VIP?","2",0)
  88. if(get_user_flags(id) & ADMIN_LEVEL_H)
  89. menu_additem(menu,"\rVIP Bolt [MEGVÉVE]","3",0)
  90. else
  91. menu_additem(menu,"\dVIP Bolt [VIP ára: 500Pont/ho]","3",0)
  92. menu_additem(menu,"Pont kuldes","4",0)
  93.  
  94. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  95. menu_display(id, menu, 0);
  96. }
  97. public dm_fomenu_h(id, menu, item)
  98. {
  99. if( item == MENU_EXIT )
  100. {
  101. menu_destroy(menu);
  102. return PLUGIN_HANDLED;
  103. }
  104. new data[9], szName[64];
  105. new access, callback;
  106. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  107. new key = str_to_num(data);
  108.  
  109. switch(key)
  110. {
  111. case 0:
  112. {
  113. dmbolta(id)
  114. }
  115. case 1:
  116. {
  117. dm_kesek(id)
  118. }
  119. case 2:
  120. {
  121. show_motd(id, "addons/amxmodx/configs/motd/szabaly.txt", "Szabalyok")
  122. }
  123. case 3:{
  124. if(ADMIN_LEVEL_H)
  125. {
  126. dm_vipbolt(id)
  127. }
  128. else if(pont[id] >= 500){
  129. if(!get_user_flags(id) & ADMIN_LEVEL_H)
  130. {
  131. set_user_flags(id, ADMIN_LEVEL_H)
  132. set_task(40320, "NoMoreVIP", id)
  133. }
  134. pont[id] = pont[id]-get_pcvar_num(500)
  135. ColorChat(id, GREEN,"VIP-t vettel!")
  136. }
  137. else
  138. {
  139. ColorChat(id, GREEN,"Nincs elég pontod!")
  140. }
  141. }
  142. case 4:{
  143. kuldesmenu(id)
  144. }
  145. }
  146. menu_destroy(menu)
  147. return PLUGIN_HANDLED
  148. }
  149. public dmbolta(id)
  150. {
  151. new cim[121]
  152. format(cim, charsmax(cim), "\rSzerver Neve - Bolt^n\wPont:\r%d",pont[id])
  153. new menu = menu_create(cim, "dm_bolt_h" )
  154.  
  155. menu_additem(menu,"\rHE \wgránát \y 5 P","1",0)
  156. menu_additem(menu,"\rVakító \wgránát \y 5 P","2",0)
  157. menu_additem(menu,"\r+50 \wÉlet \y23 P","3",0)
  158. menu_additem(menu,"\r+50 \wPáncél \y20 P","4",0)
  159. menu_additem(menu,"\r+50 \wsebesség \y30 P","5",0)
  160. menu_additem(menu,"\rKis \wGravitáció \y30 P","6",0)
  161.  
  162. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  163. menu_display(id, menu, 0);
  164. }
  165. public dm_bolt_h(id, menu, item)
  166. {
  167. if( item == MENU_EXIT )
  168. {
  169. menu_destroy(menu);
  170. return PLUGIN_HANDLED;
  171. }
  172. new data[9], szName[64];
  173. new access, callback;
  174. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  175. new key = str_to_num(data);
  176.  
  177. switch(key)
  178. {
  179. case 1:
  180. {
  181. if(pont[id] >= 5 )
  182. {
  183. give_item(id, "weapon_hegrenade");
  184. print_color(id, "!g[információ]!y Sikeresen megvetted a !gHE!y Gránátot.")
  185. pont[id] -= 5
  186. }
  187. else
  188. {
  189. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  190. }
  191. }
  192. case 2:
  193. {
  194. if(pont[id] >= 5)
  195. {
  196. give_item(id, "weapon_flashbang");
  197. print_color(id, "!g[információ]!y Sikeresen megvetted a !gVAKÍTÓ!y Gránátot.")
  198. pont[id] -= 5
  199. }
  200. else
  201. {
  202. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  203. }
  204.  
  205. }
  206. case 3:
  207. {
  208. if(pont[id] >= 23)
  209. {
  210. print_color(id, "!g[információ]!y Sikeresen megvetted a !g+50!y életet.")
  211. set_user_health(id, get_user_health(id)+50)
  212. pont[id] -= 23
  213. }
  214. else
  215. {
  216. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  217. }
  218.  
  219. }
  220. case 4:
  221. {
  222. if(pont[id] >= 20)
  223. {
  224. print_color(id, "!g[információ]!y Sikeresen megvetted a !g+50!y Páncélt.")
  225. set_user_armor(id, get_user_armor(id)+50)
  226. pont[id] -= 20
  227. }
  228. else
  229. {
  230. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  231. }
  232.  
  233. }
  234. case 5:
  235. {
  236. if(pont[id] >= 30)
  237. {
  238. print_color(id, "!g[információ]!y Sikeresen megvetted a !g+50!y sebességet.")
  239. set_user_maxspeed(id, get_user_maxspeed(id)+50)
  240. pont[id] -=30
  241. }
  242. else
  243. {
  244. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  245. }
  246.  
  247. }
  248. case 6:
  249. {
  250. if(pont[id] >= 30)
  251. {
  252. print_color(id, "!g[információ]!y Sikeresen megvetted a !gKIS!y gravitációt.")
  253. set_user_gravity(id, 0.10)
  254. pont[id] -=30
  255. }
  256. else
  257. {
  258. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  259. }
  260. }
  261.  
  262.  
  263.  
  264. }
  265. menu_destroy(menu)
  266. return PLUGIN_HANDLED
  267. }
  268. public dm_kesek(id)
  269. {
  270. new cim[121]
  271. format(cim, charsmax(cim), "\rSzerver Neve - Pontert Kesek^n\wPont:\r%d",pont[id])
  272. new menu = menu_create(cim, "dm_kesek_h" )
  273. if(pont[id] >= 2500)
  274. menu_additem(menu,"\rFa \dkés \w[\d+\w1.\y2 \dDMG]\y 2.MEGSZEREZVE","1",0)
  275. else
  276. menu_additem(menu,"\rFa \dkés \w[\d+\w1.\y2 \dDMG]\y 500 P","1",0)
  277. if(pont[id] >= 7000)
  278. menu_additem(menu,"\rRecés \dkés \w[\d+\w2.\y0 \dDMG] \y MEGSZEREZVE","2",0)
  279. else
  280. menu_additem(menu,"\rRecés \dkés \w[\d+\w2.\y0 \dDMG] \y 7000 P","2",0)
  281. if(pont[id] >= 10000)
  282. menu_additem(menu,"\rLáncfűrész \w[\d+\w3.\y0 \dDMG] \w \yMEGSZEREZVE","3",0)
  283. else
  284. menu_additem(menu,"\rLáncfűrész \w[\d+\w3.\y0 \dDMG] \w \y10 000 P","3",0)
  285.  
  286. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  287. menu_display(id, menu, 0);
  288. }
  289. public dm_kesek_h(id, menu, item)
  290. {
  291. if( item == MENU_EXIT )
  292. {
  293. menu_destroy(menu);
  294. return PLUGIN_HANDLED;
  295. }
  296. new data[9], szName[64];
  297. new access, callback;
  298. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  299. new key = str_to_num(data);
  300.  
  301. switch(key)
  302. {
  303. case 1:
  304. {
  305. if(pont[id] >= 2500 )
  306. {
  307. dm_kes[id] = 1
  308. print_color(id, "!g[információ]!y Sikeresen megvetted a !gFA!y kést.")
  309. pont[id] -= 2500
  310. }
  311. else
  312. {
  313. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  314. }
  315. }
  316. case 2:
  317. {
  318. if(pont[id] >= 7000 )
  319. {
  320. dm_kes[id] = 2
  321. print_color(id, "!g[információ]!y Sikeresen megvetted a !gRECÉS!y kést.")
  322. pont[id] -= 7000
  323. }
  324. else
  325. {
  326. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  327. }
  328. }
  329. case 3:
  330. {
  331. if(pont[id] >= 10000 )
  332. {
  333. dm_kes[id] = 3
  334. print_color(id, "!g[információ]!y Sikeresen megvetted a !gLánfűrész-!yt.")
  335. pont[id] -= 10000
  336. }
  337. else
  338. {
  339. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  340. }
  341. }
  342. }
  343. return PLUGIN_HANDLED
  344. }
  345. public dm_vipbolt(id)
  346. {
  347. new cim[121]
  348. format(cim, charsmax(cim), "\rSzerver Neve - VIP BOLT^n\wPont:\r%d",pont[id])
  349. new menu = menu_create(cim, "dm_vipbolt_h" )
  350.  
  351. menu_additem(menu,"\rV.I.P \dGránát\ycsomag \w[Vakitó+Robbanó]\y 5 P","1",0)
  352. menu_additem(menu,"\rV.I.P \d+200 \wHP\y 7 P","2",0)
  353. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  354. menu_display(id, menu, 0);
  355. }
  356. public dm_vipbolt_h(id, menu, item)
  357. {
  358. if( item == MENU_EXIT )
  359. {
  360. menu_destroy(menu);
  361. return PLUGIN_HANDLED;
  362. }
  363. new data[9], szName[64];
  364. new access, callback;
  365. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  366. new key = str_to_num(data);
  367.  
  368. switch(key)
  369. {
  370. case 1:
  371. {
  372. if(pont[id] >= 5 )
  373. {
  374. if(get_user_flags(id) & ADMIN_LEVEL_H)
  375. give_item(id, "weapon_hegrenade");
  376. give_item(id, "weapon_flashbang");
  377. print_color(id, "!g[információ]!y Sikeresen megvetted a !gGránát csomag-!yot.")
  378. pont[id] -= 5
  379. }
  380. else
  381. {
  382. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  383. }
  384. }
  385. case 2:
  386. {
  387. if(pont[id] >= 7 )
  388. {
  389. if(get_user_flags(id) & ADMIN_LEVEL_H)
  390. set_user_health(id, get_user_health(id)+200)
  391. print_color(id, "!g[információ]!y Sikeresen megvetted a !g+200 HP!y-t.")
  392. pont[id] -= 7
  393. }
  394. else
  395. {
  396. print_color(id, "!g[információ]!y Sajnos Nincs elég Pontod.")
  397. }
  398. }
  399. }
  400. return PLUGIN_HANDLED
  401. }
  402. public hud()
  403. {
  404. new iJatekosok, iVip;
  405. for(new i; i < SLOT; i++)
  406. {
  407. if(!is_user_connected(i))
  408. continue;
  409.  
  410. if(access(i, VIP))
  411. iVip++;
  412.  
  413. iJatekosok++;
  414. set_hudmessage(127, 255, 255, 0.03, 0.17, 0, 6.0, 3.1);
  415. ShowSyncHudMsg(i, HudSyncObj, "[Pontjaim: %i]^n[Jatekosok: %i/%i]^n[VIP: %i]",pont[i],iJatekosok, SLOT, iVip);
  416. }
  417.  
  418. }
  419. public death(){
  420. new killer = read_data(1)
  421. new victim = read_data(2)
  422. new hs = read_data(3)
  423. if(killer == victim)
  424. {
  425. return PLUGIN_HANDLED
  426. }
  427. if(hs)
  428. pont[killer] += 8 // Ennyi pont jár a fejesért.
  429. else
  430. pont[killer] += 5 // Ennyi pont jár a sima ölésért.
  431.  
  432. if(szint[killer] >= 0 && szint[killer] < 100)
  433. {
  434. xp[killer] += random_num(10,20)
  435. }
  436. else if(szint[killer] >= 100 && szint[killer] < 500)
  437. {
  438. xp[killer] += random_num(7,17)
  439. }
  440. else if(szint[killer] >= 500 && szint[killer] < 5000)
  441. {
  442. xp[killer] += random_num(7,17)
  443. }
  444. if(xp[killer] >= 100)
  445. {
  446. szint[killer]++
  447. xp[killer] -= 100
  448. }
  449. if(get_user_flags(killer) & ADMIN_LEVEL_H)
  450.  
  451. pont[killer] +=12 // VIP 15pontot kap 1 ölésért
  452.  
  453. return PLUGIN_HANDLED
  454. }
  455. public Event_Change_Weapon(id)
  456. {
  457. new fgy = get_user_weapon(id)
  458. if(dm_kes[id] == 0 && fgy == CSW_KNIFE) // Alap Kés
  459. {
  460. set_pev(id, pev_viewmodel2, "models/v_knife.mdl")
  461. set_pev(id, pev_weaponmodel2, "models/p_knife.mdl")
  462. }
  463. if(dm_kes[id] == 1 && fgy == CSW_KNIFE)
  464. {
  465. set_pev(id, pev_viewmodel2, "models/dm_kesek/v_fakes.mdl") // fa kés [V] model
  466. b_sebzes[id] = true
  467. }
  468. if(dm_kes[id] == 2 && fgy == CSW_KNIFE)
  469. {
  470. set_pev(id, pev_viewmodel2, "models/dm_kesek/v_reces.mdl") //recés kés [V] model
  471. b_sebzes[id] = true
  472. }
  473. if(dm_kes[id] == 3 && fgy == CSW_KNIFE)
  474. {
  475. set_pev(id, pev_viewmodel2, "models/dm_kesek/v_lancfuresz.mdl") // láncfűrész [V] model
  476. set_pev(id, pev_weaponmodel2, "models/dm_kesek/p_lancfuresz.mdl") // [P] model
  477. b_sebzes[id] = true
  478. }
  479. }
  480. public HandleSay(id)
  481. {
  482. new message[192], Name[32], none[2][32], chat[192], halott_rang[32], hir
  483.  
  484. read_args (message, 191)
  485. remove_quotes (message)
  486. new hossz = strlen(message);
  487. new i=0;
  488. pont2=0;
  489. kettospont=0;
  490. szam2=0;
  491. hir=0;
  492. RosszKarakterek = 0
  493. while(i < hossz)
  494. {
  495. if(message[i] == 'w')
  496. hir++;
  497. if(message[i] == '.')
  498. pont2++;
  499. if(message[i] == ':')
  500. kettospont++;
  501. if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4')
  502. szam2++;
  503. if(message[i] == '#')
  504. RosszKarakterek++
  505. ++i;
  506. }
  507.  
  508. if(pont2 >= 2 && kettospont >= 1 && szam2 >= 4)
  509. {
  510. print_color(id, "!g[Információ]!y Tilos a hirdetés!")
  511. return PLUGIN_HANDLED;
  512. }
  513. if(hir >= 3)
  514. {
  515. print_color(id, "!g[Információ]!y Tilos a hirdetés!")
  516. return PLUGIN_HANDLED;
  517. }
  518. if(RosszKarakterek != 0)
  519. {
  520. new JatekosNeve[32]
  521. get_user_name(id, JatekosNeve, charsmax(JatekosNeve))
  522. new JatekosIP[32]
  523. get_user_ip(id, JatekosIP, charsmax(JatekosIP))
  524. server_cmd("kick #%d Tiltott karakter-t irtal chatbe! ^"#^"", get_user_userid(id))
  525. log_amx("%s | %s rossz karaktert irtbe chatbe : %s", JatekosNeve, JatekosIP, message)
  526. return PLUGIN_HANDLED
  527. }
  528.  
  529. formatex(none[0], 31, ""), formatex(none[1], 31, " ")
  530.  
  531. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "") || equal (message, "."))
  532. return PLUGIN_HANDLED;
  533.  
  534. if(containi(message, "anyad") != -1 || containi(message, "cigany") != -1 ||
  535. containi(message, "rakos") != -1 || containi(message, "fasszopo") != -1){
  536. print_color(id, "!g[Információ]!y Ne beszélj csúnyán!")
  537. return PLUGIN_HANDLED
  538. }
  539.  
  540. if(!equali(message, none[0]) && !equali(message, none[1]))
  541. {
  542. get_user_name(id, Name, 31);
  543. if(!is_user_alive(id)){
  544. halott_rang = "*HALOTT*"
  545. }
  546. else
  547. halott_rang = ""
  548. if(equal("Levii", Name))
  549. formatex(chat, 191, "^1%s^4[DeathMatch Menu Keszito][Szint: %d]^3%s^1:^4 %s",halott_rang, szint[id], Name, message)
  550. else if(get_user_flags(id) & ADMIN_BAN)
  551. formatex(chat, 191, "^1%s^4[ADMIN][Szint: %d]^3%s^1:^4 %s",halott_rang, szint[id], Name, message)
  552. else if(get_user_flags(id) & ADMIN_USER)
  553. formatex(chat, 191, "^1%s^4[Szint: %d]^3%s^1: %s",halott_rang, szint[id], Name, message)
  554.  
  555.  
  556. switch(cs_get_user_team(id))
  557. {
  558. case 1: ColorChat(0, RED, chat)
  559. case 2: ColorChat(0, BLUE, chat)
  560. }
  561. if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
  562. ColorChat(0, GREY, chat)
  563. return PLUGIN_HANDLED;
  564. }
  565. return PLUGIN_HANDLED;
  566. }
  567. public kuldesmenu(id)
  568. {
  569. new cim[121]
  570. format(cim, charsmax(cim), "\rSzerver Neve \wValaszd ki a \rJatekost:")
  571. new menu = menu_create(cim, "kuldes_handler" )
  572. new players[32], pnum, tempid;
  573. new szName[32], szTempid[10];
  574. get_players(players, pnum);
  575. for( new i; i<pnum; i++ )
  576. {
  577. tempid = players[i];
  578. {
  579. get_user_name(tempid, szName, charsmax(szName));
  580. num_to_str(tempid, szTempid, charsmax(szTempid));
  581. menu_additem(menu, szName, szTempid, 0);
  582. }
  583. }
  584. menu_setprop(menu, MPROP_EXITNAME, "Kilepes")
  585. menu_setprop(menu, MPROP_BACKNAME, "Vissza")
  586. menu_setprop(menu, MPROP_NEXTNAME, "Tovabb")
  587. menu_display(id, menu, 0);
  588. }
  589. public kuldes_handler(id, menu, item)
  590. {
  591. if( item == MENU_EXIT )
  592. {
  593. menu_destroy(menu);
  594. return PLUGIN_HANDLED;
  595. }
  596. new data[6], szName[64]
  597. new access, callback;
  598. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  599. x_tempid = str_to_num(data);
  600. client_cmd(id, "messagemode MENNYISEG");
  601. menu_destroy(menu);
  602. return PLUGIN_HANDLED;
  603. }
  604.  
  605. public arany_kuld(id)
  606. {
  607. new uzenet[121];
  608. new kuldoneve[32], tempname[32]
  609. read_args(uzenet, charsmax(uzenet))
  610. remove_quotes(uzenet)
  611. get_user_name(id, kuldoneve, 31)
  612. get_user_name(x_tempid, tempname, 31)
  613.  
  614. if(str_to_num(uzenet) < 0)
  615. return PLUGIN_HANDLED
  616.  
  617. if(pont[id] >= str_to_num(uzenet) && pkuld[id] == true)
  618. {
  619. pont[x_tempid] += str_to_num(uzenet)
  620. pont[id] -= str_to_num(uzenet)
  621. pkuld[id] = false
  622. print_color(id, "!g[Információ]!y Jatekos^3 %s^1 kuldott^4 %d^1 Pontot^3 %s^1 -nak!", kuldoneve, str_to_num(uzenet), tempname)
  623. }
  624. return PLUGIN_HANDLED;
  625. }
  626.  
  627. public avmenu(id)
  628. {
  629. new cim[121]
  630. new menu = menu_create("\rSzerver Menu \wValaszd ki mit szeretnel \rAjandekozni:", "menu_handler321")
  631.  
  632. format(cim,charsmax(cim),"\wPont \r%d", pont[id])
  633. menu_additem(menu,cim,"1")
  634.  
  635.  
  636. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  637. menu_setprop(menu, MPROP_EXITNAME, "Kilepes")
  638. menu_setprop(menu, MPROP_BACKNAME, "Vissza")
  639. menu_setprop(menu, MPROP_NEXTNAME, "Tovabb")
  640.  
  641. menu_display(id, menu, 0);
  642.  
  643. return PLUGIN_HANDLED;
  644. }
  645. public menu_handler321(id, menu ,item){
  646. if( item == MENU_EXIT )
  647. {
  648. menu_destroy(menu);
  649. return PLUGIN_HANDLED;
  650. }
  651. new data[6], szName[64]
  652. new access, callback;
  653. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  654. new key = str_to_num(data)
  655. switch(key)
  656. {
  657. case 1:
  658. {
  659. kuldesmenu(id)
  660. pkuld[id] = true
  661. }
  662. }
  663. return PLUGIN_CONTINUE
  664. }
  665. public client_connect(id)
  666. {
  667. betoltes(id)
  668. pont[id] = 0;
  669. szint[id] = 0;
  670. xp[id] = 0;
  671. }
  672. public client_disconnect(id)
  673. {
  674. mentes(id)
  675. }
  676. public mentes(id) {
  677. if(is_user_connected(id))
  678. {
  679. new file[192], nm[32], mentes[512]
  680. get_user_name(id, nm, 31)
  681. replace_all(nm, 31, "/", "_")
  682. replace_all(nm, 31, "?", "_")
  683. replace_all(nm, 31, "!", "_")
  684. replace_all(nm, 31, "*", "_")
  685. replace_all(nm, 31, "#", "_")
  686. replace_all(nm, 31, "=", "_")
  687. replace_all(nm, 31, "-", "_")
  688. replace_all(nm, 31, "+", "_")
  689. replace_all(nm, 31, ",", "_")
  690. replace_all(nm, 31, "@", "_")
  691. replace_all(nm, 31, "&", "_")
  692. replace_all(nm, 31, "{", "_")
  693. replace_all(nm, 31, "}", "_")
  694. replace_all(nm, 31, "~", "_")
  695. replace_all(nm, 31, ":", "_")
  696. replace_all(nm, 31, ".", "_")
  697. replace_all(nm, 31, "<", "_")
  698. replace_all(nm, 31, ">", "_")
  699. replace_all(nm, 31, "|", "_")
  700. formatex(file, charsmax(file), "addons/amxmodx/configs/dm_menu/%s.ini", nm)
  701. delete_file(file)
  702. format(mentes, charsmax(mentes), "%d %d %d", pont[id], szint[id], xp[id])
  703. write_file(file, mentes)
  704. }
  705. }
  706. public betoltes(id)
  707. {
  708. if(is_user_connected(id))
  709. {
  710. new file[192], nm[32]
  711. get_user_name(id, nm, 31)
  712. replace_all(nm, 31, "/", "_")
  713. replace_all(nm, 31, "?", "_")
  714. replace_all(nm, 31, "!", "_")
  715. replace_all(nm, 31, "*", "_")
  716. replace_all(nm, 31, "#", "_")
  717. replace_all(nm, 31, "=", "_")
  718. replace_all(nm, 31, "-", "_")
  719. replace_all(nm, 31, "+", "_")
  720. replace_all(nm, 31, ",", "_")
  721. replace_all(nm, 31, "@", "_")
  722. replace_all(nm, 31, "&", "_")
  723. replace_all(nm, 31, "{", "_")
  724. replace_all(nm, 31, "}", "_")
  725. replace_all(nm, 31, "~", "_")
  726. replace_all(nm, 31, ":", "_")
  727. replace_all(nm, 31, ".", "_")
  728. replace_all(nm, 31, "<", "_")
  729. replace_all(nm, 31, ">", "_")
  730. replace_all(nm, 31, "|", "_")
  731. formatex(file, charsmax(file), "addons/amxmodx/configs/dm_menu/%s.ini", nm)
  732. new file_pointer = fopen(file, "r")
  733. if(!file_pointer)
  734. {
  735. write_file(file, "0 0 0")
  736. return PLUGIN_HANDLED
  737. }
  738. fclose(file_pointer)
  739. new lines = file_size(file, 1)
  740. new a1[32], a2[32], a3[32]
  741. if(lines > 0)
  742. {
  743. new buff[512], len
  744. read_file(file, lines=0, buff, charsmax(buff), len)
  745. parse(buff, a1, 31, a2, 31, a3, 31)
  746. pont[id] = str_to_num(a1)
  747. szint[id] = str_to_num(a2)
  748. xp[id] = str_to_num(a3)
  749.  
  750. }
  751. }
  752. return PLUGIN_HANDLED
  753. }
  754. public client_putinserver(id)
  755. {
  756. betoltes(id)
  757. }
  758. stock print_color(const id, const input[], any:...)
  759. {
  760. new count = 1, players[32]
  761. static msg[191]
  762. vformat(msg, 190, input, 3)
  763.  
  764. replace_all(msg, 190, "!g", "^4")
  765. replace_all(msg, 190, "!y", "^1")
  766. replace_all(msg, 190, "!t", "^3")
  767. replace_all(msg, 190, "á", "á")
  768. replace_all(msg, 190, "é", "Ă©")
  769. replace_all(msg, 190, "í", "Ă­")
  770. replace_all(msg, 190, "ó", "Ăł")
  771. replace_all(msg, 190, "ö", "ö")
  772. replace_all(msg, 190, "ő", "Ĺ‘")
  773. replace_all(msg, 190, "ú", "Ăş")
  774. replace_all(msg, 190, "ü", "ĂĽ")
  775. replace_all(msg, 190, "ű", "ű")
  776. replace_all(msg, 190, "Á", "Á")
  777. replace_all(msg, 190, "É", "É")
  778. replace_all(msg, 190, "Í", "ĂŤ")
  779. replace_all(msg, 190, "Ó", "Ă“")
  780. replace_all(msg, 190, "Ö", "Ă–")
  781. replace_all(msg, 190, "Ő", "Ő")
  782. replace_all(msg, 190, "Ú", "Ăš")
  783. replace_all(msg, 190, "Ü", "Ăś")
  784. replace_all(msg, 190, "Ű", "Ĺ°")
  785.  
  786. if (id) players[0] = id; else get_players(players, count, "ch")
  787. {
  788. for (new i = 0; i < count; i++)
  789. {
  790. if (is_user_connected(players[i]))
  791. {
  792. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  793. write_byte(players[i])
  794. write_string(msg)
  795. message_end()
  796. }
  797. }
  798. }
  799. return PLUGIN_HANDLED
  800. }
  801. public damagetake(victim, inflictor, attacker, Float:damage) {
  802. if(b_sebzes[attacker] && get_user_weapon(attacker) == CSW_KNIFE)
  803. {
  804. if(dm_kes[attacker] == 1) { // fa kés
  805. SetHamParamFloat(4, damage * 1.20)
  806. }
  807. if(dm_kes[attacker] == 2) { // Recés Kés
  808. SetHamParamFloat(4, damage * 2.00)
  809. }
  810. if(dm_kes[attacker] == 3) { // Láncfűrész
  811. SetHamParamFloat(4, damage * 3.00)
  812. }
  813. }
  814. }
  815.  


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


Ki van itt

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