HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. /* SCXPM Version 17.0 by Silencer
  2. **
  3. **
  4. **
  5. ** Special Thanks to:
  6. **
  7. ** VEN For heavily improving my Scripting-Skills. ;p
  8. ** darkghost9999 For his great Ideas!
  9. **
  10. **
  11. ** Thanks to:
  12. **
  13. ** ThomasNguyen
  14. ** `666
  15. ** g3x
  16. **
  17. */
  18.  
  19. #include <amxmodx>
  20. #include <amxmisc>
  21. #include <core>
  22. #include <fakemeta>
  23. #include <fun>
  24.  
  25. #define VERSION "17.0"
  26. #define LASTUPDATE "12th, October (10), 2006"
  27.  
  28.  
  29. new xp[33]
  30. new neededxp[33]
  31. new playerlevel[33]
  32. new rank[33][32]
  33. new skillpoints[33]
  34. new medals[35]
  35. new health[33]
  36. new armor[33]
  37. new rhealth[33]
  38. new rarmor[33]
  39. new rammo[33]
  40. new gravity[33]
  41. new speed[33]
  42. new dist[33]
  43. new dodge[33]
  44. new rarmorwait[33]
  45. new rhealthwait[33]
  46. new ammowait[33]
  47. new starthealth
  48. new startarmor
  49. new lastfrags[33]
  50. new lastDeadflag[33]
  51. new bool:onecount
  52. new bool:has_godmode[33]
  53.  
  54. public plugin_init()
  55. {
  56. register_plugin("SCXPM",VERSION,"Silencer")
  57. register_menucmd(register_menuid("Select Skill"),(1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9),"SCXPMSkillChoice")
  58. register_forward(FM_GetGameDescription,"scxpm_gn")
  59. register_forward(FM_PlayerPreThink,"scxpm_prethink")
  60. register_concmd("setlvl","scxpm_setlvl",ADMIN_IMMUNITY,"Playername Value - Will set Players Level")
  61. register_concmd("addmedal","scxpm_addmedal",ADMIN_IMMUNITY,"Playername - Will award Player with a Medal")
  62. register_concmd("removemedal","scxpm_removemedal",ADMIN_IMMUNITY,"Playername - Will remove a Medal of a Player")
  63. register_concmd("godmode","scxpm_godmode",ADMIN_IMMUNITY,"Playername - Toggle Players God Mode On or Off.")
  64. register_concmd("noclipmode","scxpm_noclipmode",ADMIN_IMMUNITY,"Playername - Toggle Players God Mode On or Off.")
  65. register_concmd("say mentes","scxpm_removed",-1,"- REMOVED")
  66. register_concmd("say valasztas","SCXPMSkill",-1,"- Opens the Skill Choice Menu, if you have Skillpoints available")
  67. register_concmd("say nullaz","scxpm_reset",-1,"- Will reset your Skills so you can rechoose them")
  68. register_concmd("say jatekoskepesseg","scxpm_others",-1,"- Will print Other Players Stats")
  69. register_concmd("say kepesseginfo","scxpm_info",-1,"- Will print Information about all Skills")
  70. register_concmd("say scxpminfo","scxpm_version",-1,"- Will print Information about SCXPM")
  71. register_concmd("say /mentes","scxpm_removed",-1,"- REMOVED")
  72. register_concmd("say /valasztas","SCXPMSkill",-1,"- Opens the Skill Choice Menu, if you have Skillpoints available")
  73. register_concmd("say /nullaz","scxpm_reset",-1,"- Will reset your Skills so you can rechoose them")
  74. register_concmd("say /jatekoskepesseg","scxpm_others",-1,"- Will print Other Players Stats")
  75. register_concmd("say /kepesseginfo","scxpm_info",-1,"- Will print Information about all Skills")
  76. register_concmd("say /scxpminfo","scxpm_version",-1,"- Will print Information about SCXPM")
  77. register_concmd("mentes","scxpm_removed",-1,"- REMOVED")
  78. register_concmd("valasztas","SCXPMSkill",0,"- Opens the Skill Choice Menu, if you have Skillpoints available")
  79. register_concmd("nullaz","scxpm_reset",0,"- Will reset your Skills so you can rechoose them")
  80. register_concmd("jatekoskepesseg","scxpm_others",0,"- Will print Other Players Stats")
  81. register_concmd("kepesseginfo","scxpm_info",0,"- Will print Information about all Skills")
  82. register_concmd("scxpminfo","scxpm_version",0,"- Will print Information about SCXPM")
  83. register_cvar("amx_scxpm_gamename","1")
  84. register_cvar("amx_scxpm_xpgain","1.0")
  85. set_task(0.5,"scxpm_sdac",0,"",0,"b")
  86. }
  87.  
  88. public scxpm_gn()
  89. {
  90. if(get_cvar_num("amx_scxpm_gamename")>=1)
  91. {
  92. new g[32]
  93. format(g,31,"SCXPM %s",VERSION)
  94. forward_return(FMV_STRING,g)
  95. return FMRES_SUPERCEDE
  96. }
  97. return PLUGIN_HANDLED
  98. }
  99.  
  100. public scxpm_setlvl(id,level,cid)
  101. {
  102. if(!cmd_access(id,ADMIN_IMMUNITY,cid,3))
  103. {
  104. return PLUGIN_HANDLED
  105. }
  106. new targetarg[32]
  107. read_argv(1,targetarg,31)
  108. new target=cmd_target(id,targetarg,11)
  109. if(!target)
  110. {
  111. return PLUGIN_HANDLED
  112. }
  113. new lvlarg[32]
  114. read_argv(2,lvlarg,31)
  115. new nowlvl=str_to_num(lvlarg)
  116. new name[32]
  117. get_user_name(target,name,31)
  118. if(nowlvl>1800)
  119. {
  120. nowlvl=1800
  121. }
  122. else
  123. {
  124. if(nowlvl<0)
  125. {
  126. nowlvl=0
  127. }
  128. }
  129. if(nowlvl==playerlevel[target])
  130. {
  131. if(target==id)
  132. {
  133. console_print(id,"[SCXPM] A mosteni szinted %i.",nowlvl)
  134. }
  135. else
  136. {
  137. console_print(id,"[SCXPM] Gratutalok %s. szintet leptel: %i.",name,nowlvl)
  138. }
  139. return PLUGIN_HANDLED
  140. }
  141. else
  142. {
  143. if(nowlvl>=1800)
  144. {
  145. nowlvl=1800
  146. xp[target]=11500000
  147. }
  148. else
  149. {
  150. if(nowlvl<=0)
  151. {
  152. nowlvl=0
  153. xp[target]=0
  154. }
  155. else
  156. {
  157. new helpvar=nowlvl-1
  158. new Float:m70b=float(helpvar)*70.0
  159. new Float:mselfm3dot2b=float(helpvar)*float(helpvar)*3.5
  160. xp[target]=floatround(m70b+mselfm3dot2b+30.0)
  161. }
  162. }
  163. }
  164. if(playerlevel[target]>nowlvl)
  165. {
  166. playerlevel[target]=nowlvl
  167. if(target==id)
  168. {
  169. console_print(id,"[SCXPM] Csokkentetted a szintet: %i!",playerlevel[target])
  170. }
  171. else
  172. {
  173. console_print(id,"[SCXPM] Csokkentettek %s szintjet: %i.",name,playerlevel[target])
  174. }
  175. if(nowlvl>0)
  176. {
  177. if(target!=id)
  178. {
  179. client_print(target,print_chat,"[SCXPM] Egy admin lecsokkentette a szinted: %i!",playerlevel[target])
  180. }
  181. scxpm_reset(target)
  182. }
  183. else
  184. {
  185. if(target!=id)
  186. {
  187. client_print(target,print_chat,"[SCXPM] Egy admin a szinted NULLARA alitotta! Elveszett az osszes kepesseged!")
  188. }
  189. health[target]=0
  190. armor[target]=0
  191. rhealth[target]=0
  192. rarmor[target]=0
  193. rammo[target]=0
  194. gravity[target]=0
  195. speed[target]=0
  196. dist[target]=0
  197. dodge[target]=0
  198. skillpoints[target]=0
  199. if(get_user_health(target)>starthealth)
  200. {
  201. set_user_health(target,starthealth)
  202. }
  203. if(get_user_armor(target)>startarmor)
  204. {
  205. set_user_armor(target,startarmor)
  206. }
  207. set_user_gravity(target,1.0)
  208. }
  209. }
  210. else
  211. {
  212. if(nowlvl<1800)
  213. {
  214. skillpoints[target]=skillpoints[target]+nowlvl-playerlevel[target]
  215. playerlevel[target]=nowlvl
  216. if(target==id)
  217. {
  218. console_print(id,"[SCXPM] Felvitted a szintet: %i.",playerlevel[target])
  219. }
  220. else
  221. {
  222. console_print(id,"[SCXPM] Felemelkedett %s szintje: %i.",name,playerlevel[target])
  223. client_print(target,print_chat,"[SCXPM] Egy admin felemelte a szinted: %i!",playerlevel[target])
  224. }
  225. SCXPMSkill(target)
  226. }
  227. else
  228. {
  229. set_user_health(target,get_user_health(target)+450-health[target])
  230. set_user_armor(target,get_user_armor(target)+450-armor[target])
  231. health[target]=450
  232. armor[target]=450
  233. rhealth[target]=300
  234. rarmor[target]=300
  235. rammo[target]=30
  236. gravity[target]=40
  237. speed[target]=80
  238. dist[target]=60
  239. dodge[target]=90
  240. skillpoints[target]=0
  241. playerlevel[target]=1800
  242. if(target==id)
  243. {
  244. console_print(id,"[SCXPM] A szinted elerte az 1800 at.Gratutalok!.")
  245. }
  246. else
  247. {
  248. console_print(id,"[SCXPM] %s Szintje 1800 lett.",name)
  249. client_print(target,print_chat,"[SCXPM] Egy admin felvitte a szinted 1800-ra! Menny es ossz pontokat!")
  250. }
  251. }
  252. }
  253. scxpm_calcneedxp(target)
  254. return PLUGIN_HANDLED
  255. }
  256.  
  257. public scxpm_addmedal(id,level,cid)
  258. {
  259. if(!cmd_access(id,ADMIN_IMMUNITY,cid,2))
  260. {
  261. return PLUGIN_HANDLED
  262. }
  263. new targetarg[32]
  264. read_argv(1,targetarg,31)
  265. new target=cmd_target(id,targetarg,11)
  266. if(!target)
  267. {
  268. return PLUGIN_HANDLED
  269. }
  270. new name[32]
  271. get_user_name(target,name,31)
  272. if(medals[target]<16)
  273. {
  274. medals[target]+=1
  275. console_print(id,"%s Kapott egy medalt.",name)
  276. client_print(0,print_chat,"[SCXPM] %s kapott egy medalt! (Jelenlegi medalod %i)",name,medals[target]-1)
  277. }
  278. else
  279. {
  280. console_print(id,"%s van 15 Medalod.",name)
  281. }
  282. return PLUGIN_HANDLED
  283. }
  284.  
  285. public scxpm_removemedal(id,level,cid)
  286. {
  287. if(!cmd_access(id,ADMIN_IMMUNITY,cid,2))
  288. {
  289. return PLUGIN_HANDLED
  290. }
  291. new targetarg[32]
  292. read_argv(1,targetarg,31)
  293. new target=cmd_target(id,targetarg,11)
  294. if(!target)
  295. {
  296. return PLUGIN_HANDLED
  297. }
  298. new name[32]
  299. get_user_name(target,name,31)
  300. if(medals[target]>1)
  301. {
  302. medals[target]-=1
  303. console_print(id,"%s elvesztett egy medalt.",name)
  304. client_print(0,print_chat,"[SCXPM] %s vesztett egy medalt! (Jelenlegi medalod %i)",name,medals[target]-1)
  305. }
  306. else
  307. {
  308. console_print(id,"%s nincs medalod.",name)
  309. }
  310. return PLUGIN_HANDLED
  311. }
  312.  
  313. public scxpm_godmode(id,level,cid)
  314. {
  315. if(!cmd_access(id,ADMIN_IMMUNITY,cid,2))
  316. {
  317. return PLUGIN_HANDLED
  318. }
  319. new godmode_arg[32]
  320. read_argv(1,godmode_arg,31)
  321. new godmode_target=cmd_target(id,godmode_arg,0)
  322. if(godmode_target)
  323. {
  324. new godmode_name[32]
  325. get_user_name(godmode_target,godmode_name,31)
  326. if(!is_user_alive(godmode_target))
  327. {
  328. console_print(id,"[SCXPM] A felhasznalo %s jelenleg halott!",godmode_name)
  329. return PLUGIN_HANDLED
  330. }
  331. if(has_godmode[godmode_target])
  332. {
  333. set_user_godmode(godmode_target)
  334. has_godmode[godmode_target]=false
  335. if(godmode_target==id)
  336. {
  337. console_print(id,"[SCXPM] A God Modot kikapcsolva!")
  338. }
  339. else
  340. {
  341. console_print(id,"[SCXPM] Jatekos %s elvesztette a God Modjat!",godmode_name)
  342. client_print(godmode_target,print_chat,"[SCXPM] Egy admin kikapcsolta a God Modot!")
  343. }
  344. }
  345. else
  346. {
  347. has_godmode[godmode_target]=true
  348. set_user_godmode(godmode_target,1)
  349. if(godmode_target==id)
  350. {
  351. console_print(id,"[SCXPM] A god Modot bekapcsolva!")
  352. }
  353. else
  354. {
  355. console_print(id,"[SCXPM] Jatekos %s jelenleg God Modozik!",godmode_name)
  356. client_print(godmode_target,print_chat,"[SCXPM] Egy admin bekapcsolta a God Modot!")
  357. }
  358. }
  359. }
  360. return PLUGIN_HANDLED
  361. }
  362.  
  363. public scxpm_noclipmode(id,level,cid)
  364. {
  365. if(!cmd_access(id,ADMIN_IMMUNITY,cid,2))
  366. {
  367. return PLUGIN_HANDLED
  368. }
  369. new noclipmode_arg[32]
  370. read_argv(1,noclipmode_arg,31)
  371. new noclipmode_target=cmd_target(id,noclipmode_arg,0)
  372. if(noclipmode_target)
  373. {
  374. new noclipmode_name[32]
  375. get_user_name(noclipmode_target,noclipmode_name,31)
  376. if(!is_user_alive(noclipmode_target))
  377. {
  378. console_print(id,"[SCXPM] A felhasznalo %s jelenleg halott!",noclipmode_name)
  379. return PLUGIN_HANDLED
  380. }
  381. if(get_user_noclip(noclipmode_target))
  382. {
  383. set_user_noclip(noclipmode_target)
  384. if(noclipmode_target==id)
  385. {
  386. console_print(id,"[SCXPM] A nocliped kikapcsolva.")
  387. }
  388. else
  389. {
  390. console_print(id,"[SCXPM] Jatekos %s elvesztette a NoClipjet!",noclipmode_name)
  391. client_print(noclipmode_target,print_chat,"[SCXPM] Egy admin kikapcsolta a NoClipedet!")
  392. }
  393. }
  394. else
  395. {
  396. set_user_noclip(noclipmode_target,1)
  397. if(noclipmode_target==id)
  398. {
  399. console_print(id,"[SCXPM] A nocliped bekapcsolva!")
  400. }
  401. else
  402. {
  403.  
  404. console_print(id,"[SCXPM] Jatekos %s Most eppen at jar a falon!",noclipmode_name)
  405. client_print(noclipmode_target,print_chat,"[SCXPM] Egy admin bekapcsolta a NoClipedet!")
  406. }
  407. }
  408. }
  409. return PLUGIN_HANDLED
  410. }
  411.  
  412. public scxpm_reset(id)
  413. {
  414. health[id]=0
  415. armor[id]=0
  416. rhealth[id]=0
  417. rarmor[id]=0
  418. rammo[id]=0
  419. gravity[id]=0
  420. speed[id]=0
  421. dist[id]=0
  422. dodge[id]=0
  423. skillpoints[id]=playerlevel[id]
  424. if(get_user_health(id)>starthealth+medals[id])
  425. {
  426. set_user_health(id,starthealth+medals[id])
  427. }
  428. if(get_user_armor(id)>startarmor+medals[id])
  429. {
  430. set_user_armor(id,startarmor+medals[id])
  431. }
  432. set_user_gravity(id,1.0)
  433. if(skillpoints[id]>0)
  434. {
  435. client_print(id,print_chat,"[SCXPM] Az osszes eloszthato pontod nullazva. Valassz es ossz...")
  436. SCXPMSkill(id)
  437. }
  438. else
  439. {
  440. client_print(id,print_chat,"[SCXPM] Nincs pontod amit ujra oszthatnal.")
  441. }
  442. }
  443.  
  444. public scxpm_version(id)
  445. {
  446. new allinfo[1023]
  447. format(allinfo,1022,"Plugin Neve: SCXPM (Sven Cooperative Experience Mod)^nAuthor: Silencer^nVersion: %s^nLast Update: %s",VERSION,LASTUPDATE)
  448. show_motd(id,allinfo,"SCXPM Information")
  449. }
  450.  
  451. public scxpm_info(id)
  452. {
  453. new allskills[1023]="1. Ero:^n Kezdo Elet + 1 * Eroszint.^n"
  454. format(allskills,1022,"%s^n2. Szuper Pancel:^n Kezdo Pancel + 1 * Pancel Szint.^n",allskills)
  455. format(allskills,1022,"%s^n3. Regeneracio:^n Egy HP Mindig (150.5-(Regeneracio Szint/2)) Masodperc^n + Esely a Bunoszra 0.5 Masodpercenkent.^n",allskills)
  456. format(allskills,1022,"%s^n4. Nano Pancel:^n Egy AP Mindig (150.5-(Nano Pancel Szint/2)) Masodperc^n + Esely a Bunoszra 0.5 Masodpercenkent.^n",allskills)
  457. format(allskills,1022,"%s^n5. Loszer Ujratoltodes:^n Minden aktualis fegyvernel (90-(Ammo Szint*2.5)) Masodperc.^n",allskills)
  458. format(allskills,1022,"%s^n6. Anti Gravitacio:^n Gravitacio Vesztes (1.5)%% per Szint!^n",allskills)
  459. format(allskills,1022,"%s^n7. Inteligencia:^n Fokozza a tobbi kepesseget erejet+sebesseg.^n",allskills)
  460. format(allskills,1022,"%s^n8. Csapat Ero:^n Noveli a kozelben levo CsapatTars HP es AP-jat^n es Segit a szint lepesben.^n",allskills)
  461. format(allskills,1022,"%s^n9. Sebzes Felfogo:^n Eselyed van arra hogy nem kapod a sebzest (Felfogo Szint/3)%%.^n",allskills)
  462. format(allskills,1022,"%s^nSpecialis - Medalok:^n Csak Admin adhat, Mutatja a becsuleted.^n (Noveli a szint lepes eselyet)",allskills)
  463. show_motd(id,allskills,"Skills Information")
  464. }
  465.  
  466. public scxpm_others(id)
  467. {
  468. new alldata[1152]="Jatekos Nev Szint Medalok^n"
  469. new iPlayers[32],iNum
  470. get_players(iPlayers,iNum)
  471. for(new g=0;g<iNum;g++)
  472. {
  473. new i=iPlayers[g]
  474. if(is_user_connected(i))
  475. {
  476. new name[20]
  477. get_user_name(i,name,19)
  478. new toadd=20-strlen(name)
  479. new spaces[20]=""
  480. add(spaces,19," ",toadd)
  481. format(alldata,1152,"%s^n%s %s %i %i",alldata,name,spaces,playerlevel[i],medals[i]-1)
  482. }
  483. }
  484. show_motd(id,alldata,"Players Data")
  485. }
  486.  
  487. public scxpm_getrank(id)
  488. {
  489. switch(playerlevel[id])
  490. {
  491. case 1800:
  492. {
  493. rank[id]="FBI Vezeto"
  494. }
  495. case 1700..1799:
  496. {
  497. rank[id]="Swat Kommandos"
  498. }
  499. case 1600..1699:
  500. {
  501. rank[id]="RAMBOOOO"
  502. }
  503. case 1500..1599:
  504. {
  505. rank[id]="Profi Aimos"
  506. }
  507. case 1400..1499:
  508. {
  509. rank[id]="Hadnagy"
  510. }
  511. case 1300..1399:
  512. {
  513. rank[id]="Ezredes"
  514. }
  515. case 1200..1299:
  516. {
  517. rank[id]="Szazados"
  518. }
  519. case 1100..1199:
  520. {
  521. rank[id]="Tizedes"
  522. }
  523. case 1000..1099:
  524. {
  525. rank[id]="Kapitany"
  526. }
  527. case 900..999:
  528. {
  529. rank[id]="WH Mester"
  530. }
  531. case 800..899:
  532. {
  533. rank[id]="Specialis Daralo"
  534. }
  535. case 700..799:
  536. {
  537. rank[id]="Specialis Harcos"
  538. }
  539. case 600..699:
  540. {
  541. rank[id]="Szuper Daralo"
  542. }
  543. case 500..599:
  544. {
  545. rank[id]="Sivatagi Harcos"
  546. }
  547. case 400..499:
  548. {
  549. rank[id]="Profi Ugynok"
  550. }
  551. case 300..399:
  552. {
  553. rank[id]="Szabad Ugynok"
  554. }
  555. case 200..299:
  556. {
  557. rank[id]="Kozlegeny #XXX"
  558. }
  559. case 100..199:
  560. {
  561. rank[id]="Kozlegeny II."
  562. }
  563. case 50..99:
  564. {
  565. rank[id]="Kozlegeny I."
  566. }
  567. case 20..49:
  568. {
  569. rank[id]="Harcos"
  570. }
  571. case 5..19:
  572. {
  573. rank[id]="Civil"
  574. }
  575. case 0..4:
  576. {
  577. rank[id]="Ujonc"
  578. }
  579. }
  580. }
  581.  
  582. public scxpm_newbiehelp(id)
  583. {
  584. if(is_user_connected(id))
  585. {
  586. new name[32]
  587. get_user_name(id,name,31)
  588. client_print(id,print_chat,"[SCXPM] Hello, %s! Udv a Cooperativ Modban. Verzio: %s!",name,VERSION)
  589. client_print(id,print_chat,"[SCXPM] Parancsok: ^"'say skillsinfo', 'say valasztas', 'say nullaz', 'say jatekoskepesseg', 'say scxpminfo'^"")
  590. }
  591. }
  592.  
  593. public client_authorized(id)
  594. {
  595. new authid[35]
  596. get_user_authid(id,authid,34)
  597. if(containi(authid,"STEAM_0:") !=-1)
  598. {
  599. new vaultkey[64],vaultdata[96]
  600. format(vaultkey,63,"%s-scxpm",authid)
  601. if(vaultdata_exists(vaultkey))
  602. {
  603. get_vaultdata(vaultkey,vaultdata,95)
  604. replace_all(vaultdata,95,"#"," ")
  605. new pre_xp[16],pre_playerlevel[8],pre_skillpoints[8],pre_medals[8],pre_health[8],pre_armor[8],pre_rhealth[8],pre_rarmor[8],pre_rammo[8],pre_gravity[8],pre_speed[8],pre_dist[8],pre_dodge[8]
  606. parse(vaultdata,pre_xp,15,pre_playerlevel,7,pre_skillpoints,7,pre_medals,7,pre_health,7,pre_armor,7,pre_rhealth,7,pre_rarmor,7,pre_rammo,7,pre_gravity,7,pre_speed,7,pre_dist,7,pre_dodge,7)
  607. xp[id]=str_to_num(pre_xp)
  608. playerlevel[id]=str_to_num(pre_playerlevel)
  609. scxpm_calcneedxp(id)
  610. scxpm_getrank(id)
  611. skillpoints[id]=str_to_num(pre_skillpoints)
  612. medals[id]=str_to_num(pre_medals)
  613. health[id]=str_to_num(pre_health)
  614. armor[id]=str_to_num(pre_armor)
  615. rhealth[id]=str_to_num(pre_rhealth)
  616. rarmor[id]=str_to_num(pre_rarmor)
  617. rammo[id]=str_to_num(pre_rammo)
  618. gravity[id]=str_to_num(pre_gravity)
  619. speed[id]=str_to_num(pre_speed)
  620. dist[id]=str_to_num(pre_dist)
  621. dodge[id]=str_to_num(pre_dodge)
  622. }
  623. else
  624. {
  625. neededxp[id]=30
  626. medals[id]=4
  627. rank[id]="Frightened Civilian"
  628. set_task(35.0,"scxpm_newbiehelp",id,"",0,"a",3)
  629. }
  630. }
  631. }
  632.  
  633. public scxpm_savexp(id)
  634. {
  635. new authid[35]
  636. get_user_authid(id,authid,34)
  637. if(containi(authid,"STEAM_0:") !=-1)
  638. {
  639. new vaultkey[64],vaultdata[96]
  640. format(vaultkey,63,"%s-scxpm",authid)
  641. format(vaultdata,95,"%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i",xp[id],playerlevel[id],skillpoints[id],medals[id],health[id],armor[id],rhealth[id],rarmor[id],rammo[id],gravity[id],speed[id],dist[id],dodge[id])
  642. set_vaultdata(vaultkey,vaultdata)
  643. }
  644. }
  645.  
  646. public scxpm_removed(id)
  647. {
  648. client_print(id,print_chat,"[SCXPM] Ezt a funkciot eltavolitottak. Ok: Error-prone. Az adatok tovabra is automatikusan mentodnek.")
  649. }
  650.  
  651. public client_connect(id)
  652. {
  653. neededxp[id]=99999999
  654. lastDeadflag[id]=1
  655. lastfrags[id]=0
  656. }
  657.  
  658. public client_disconnect(id)
  659. {
  660. scxpm_savexp(id)
  661. xp[id]=0
  662. neededxp[id]=0
  663. playerlevel[id]=0
  664. skillpoints[id]=0
  665. medals[id]=0
  666. health[id]=0
  667. armor[id]=0
  668. rhealth[id]=0
  669. rarmor[id]=0
  670. rammo[id]=0
  671. gravity[id]=0
  672. speed[id]=0
  673. dist[id]=0
  674. dodge[id]=0
  675. rarmorwait[id]=0
  676. rhealthwait[id]=0
  677. ammowait[id]=0
  678. rank[id]="Loading..."
  679. }
  680.  
  681. public scxpm_client_spawn(id)
  682. {
  683. starthealth=get_user_health(id)
  684. startarmor=get_user_armor(id)
  685. set_user_health(id,health[id]+starthealth+medals[id])
  686. set_user_armor(id,armor[id]+startarmor+medals[id])
  687. }
  688.  
  689. public gravityon(id)
  690. {
  691. if(is_user_connected(id))
  692. {
  693. if(is_user_alive(id))
  694. {
  695. set_user_gravity(id,1.0-(0.015*gravity[id])-(0.001*medals[id]))
  696. }
  697. }
  698. }
  699.  
  700. public gravityoff(id)
  701. {
  702. if(is_user_connected(id))
  703. {
  704. if(is_user_alive(id))
  705. {
  706. set_user_gravity(id,1.0)
  707. }
  708. }
  709. }
  710.  
  711. public scxpm_prethink(id)
  712. {
  713. new deadflag=pev(id,pev_deadflag)
  714. if(!deadflag&&lastDeadflag[id])
  715. {
  716. scxpm_client_spawn(id)
  717. }
  718. lastDeadflag[id]=deadflag
  719. if(pev(id,pev_button)&IN_JUMP)
  720. {
  721. gravityon(id)
  722. }
  723. else
  724. {
  725. if(pev(id,pev_oldbuttons)&IN_JUMP)
  726. {
  727. gravityoff(id)
  728. }
  729. }
  730. }
  731.  
  732. public scxpm_calcneedxp(id)
  733. {
  734. new Float:m70=float(playerlevel[id])*70.0
  735. new Float:mselfm3dot2=float(playerlevel[id])*float(playerlevel[id])*3.5
  736. neededxp[id]=floatround(m70+mselfm3dot2+30.0)
  737. }
  738.  
  739. public scxpm_randomammo(i)
  740. {
  741. new number=random_num(0,6)
  742. new clip,ammo
  743. if(number==0)
  744. {
  745. get_user_ammo(i,2,clip,ammo)
  746. if(ammo<250)
  747. {
  748. give_item(i,"ammo_9mmclip")
  749. }
  750. else
  751. {
  752. number=1
  753. }
  754. }
  755. if(number==1)
  756. {
  757. get_user_ammo(i,3,clip,ammo)
  758. if(ammo<36)
  759. {
  760. give_item(i,"ammo_357")
  761. }
  762. else
  763. {
  764. number=2
  765. }
  766. }
  767. if(number==2)
  768. {
  769. get_user_ammo(i,7,clip,ammo)
  770. if(ammo<125)
  771. {
  772. give_item(i,"ammo_buckshot")
  773. }
  774. else
  775. {
  776. number=3
  777. }
  778. }
  779. if(number==3)
  780. {
  781. get_user_ammo(i,9,clip,ammo)
  782. if(ammo<100)
  783. {
  784. give_item(i,"ammo_gaussclip")
  785. }
  786. else
  787. {
  788. number=4
  789. }
  790. }
  791. if(number==4)
  792. {
  793. get_user_ammo(i,6,clip,ammo)
  794. if(ammo<50)
  795. {
  796. give_item(i,"ammo_crossbow")
  797. }
  798. else
  799. {
  800. number=5
  801. }
  802. }
  803. if(number==5)
  804. {
  805. get_user_ammo(i,8,clip,ammo)
  806. if(ammo<5)
  807. {
  808. give_item(i,"ammo_rpgclip")
  809. }
  810. else
  811. {
  812. number=6
  813. }
  814. }
  815. if(number==6)
  816. {
  817. get_user_ammo(i,23,clip,ammo)
  818. if(ammo<15)
  819. {
  820. give_item(i,"ammo_762")
  821. }
  822. else
  823. {
  824. give_item(i,"ammo_556")
  825. }
  826. }
  827. }
  828.  
  829. public scxpm_regen()
  830. {
  831. new iPlayers[32],iNum
  832. get_players(iPlayers,iNum)
  833. for(new g=0;g<iNum;g++)
  834. {
  835. new i=iPlayers[g]
  836. if(is_user_connected(i))
  837. {
  838. if(is_user_alive(i))
  839. {
  840. new halfspeed=floatround(float(speed[i])/2.0)
  841. if(rhealth[i]>0)
  842. {
  843. if(rhealthwait[i]==0)
  844. {
  845. if(get_user_health(i)<health[i]+starthealth+medals[i]+halfspeed)
  846. {
  847. set_user_health(i,get_user_health(i)+1)
  848. rhealthwait[i]=300-rhealth[i]
  849. }
  850. }
  851. else
  852. {
  853. rhealthwait[i]-=1
  854. if(get_user_health(i)<health[i]+starthealth+medals[i]+halfspeed&&random_num(0,200+rhealth[i]+medals[i]+halfspeed)>200)
  855. {
  856. set_user_health(i,get_user_health(i)+1)
  857. }
  858. }
  859. }
  860. if(rarmor[i]>0)
  861. {
  862. if(rarmorwait[i]==0)
  863. {
  864. if(get_user_armor(i)<armor[i]+startarmor+medals[i]+halfspeed)
  865. {
  866. set_user_armor(i,get_user_armor(i)+1)
  867. rarmorwait[i]=300-rarmor[i]
  868. }
  869. }
  870. else
  871. {
  872. rarmorwait[i]-=1
  873. if(get_user_armor(i)<armor[i]+startarmor+medals[i]+halfspeed&&random_num(0,200+rarmor[i]+medals[i]+halfspeed)>200)
  874. {
  875. set_user_armor(i,get_user_armor(i)+1)
  876. }
  877. }
  878. }
  879. if(rammo[i]>0)
  880. {
  881. if(ammowait[i]==0)
  882. {
  883. new clip,ammo
  884. switch(get_user_weapon(i,clip,ammo))
  885. {
  886. case 1: /* Crowbar */
  887. {
  888. scxpm_randomammo(i)
  889. }
  890. case 2: /* 9mm Handgun */
  891. {
  892. get_user_ammo(i,2,clip,ammo)
  893. if(ammo<250)
  894. {
  895. give_item(i,"ammo_9mmclip")
  896. }
  897. else
  898. {
  899. scxpm_randomammo(i)
  900. }
  901. }
  902. case 3: /* 357 (Revolver) */
  903. {
  904. get_user_ammo(i,3,clip,ammo)
  905. if(ammo<36)
  906. {
  907. give_item(i,"ammo_357")
  908. }
  909. else
  910. {
  911. scxpm_randomammo(i)
  912. }
  913. }
  914. case 4: /* 9mm AR = MP5 */
  915. {
  916. get_user_ammo(i,4,clip,ammo)
  917. if(ammo<250)
  918. {
  919. give_item(i,"ammo_9mmAR")
  920. }
  921. else
  922. {
  923. scxpm_randomammo(i)
  924. }
  925. give_item(i,"ammo_ARgrenades")
  926. }
  927. case 6: /* Crossbow */
  928. {
  929. get_user_ammo(i,6,clip,ammo)
  930. if(ammo<50)
  931. {
  932. give_item(i,"ammo_crossbow")
  933. }
  934. else
  935. {
  936. scxpm_randomammo(i)
  937. }
  938. }
  939. case 7: /* Shotgun */
  940. {
  941. get_user_ammo(i,7,clip,ammo)
  942. if(ammo<125)
  943. {
  944. give_item(i,"ammo_buckshot")
  945. }
  946. else
  947. {
  948. scxpm_randomammo(i)
  949. }
  950. }
  951. case 8: /* RPG Launcher */
  952. {
  953. get_user_ammo(i,8,clip,ammo)
  954. if(ammo<5)
  955. {
  956. give_item(i,"ammo_rpgclip")
  957. }
  958. else
  959. {
  960. scxpm_randomammo(i)
  961. }
  962. }
  963. case 9: /* Gauss Cannon */
  964. {
  965. get_user_ammo(i,9,clip,ammo)
  966. if(ammo<100)
  967. {
  968. give_item(i,"ammo_gaussclip")
  969. }
  970. else
  971. {
  972. scxpm_randomammo(i)
  973. }
  974. }
  975. case 10: /* Egon */
  976. {
  977. get_user_ammo(i,10,clip,ammo)
  978. if(ammo<100)
  979. {
  980. give_item(i,"ammo_gaussclip")
  981. }
  982. else
  983. {
  984. scxpm_randomammo(i)
  985. }
  986. }
  987. case 11: /* Hornetgun */
  988. {
  989. scxpm_randomammo(i)
  990. }
  991. case 12: /* Handgrenade */
  992. {
  993. scxpm_randomammo(i)
  994. }
  995. case 13: /* Tripmine */
  996. {
  997. scxpm_randomammo(i)
  998. }
  999. case 14: /* Satchels */
  1000. {
  1001. scxpm_randomammo(i)
  1002. }
  1003. case 15: /* Snarks */
  1004. {
  1005. scxpm_randomammo(i)
  1006. }
  1007. case 16: /* Uzi Akimbo */
  1008. {
  1009. get_user_ammo(i,16,clip,ammo)
  1010. if(ammo<250)
  1011. {
  1012. give_item(i,"ammo_9mmAR")
  1013. give_item(i,"ammo_9mmclip")
  1014. }
  1015. else
  1016. {
  1017. scxpm_randomammo(i)
  1018. }
  1019. }
  1020. case 17: /* Uzi */
  1021. {
  1022. get_user_ammo(i,17,clip,ammo)
  1023. if(ammo<100)
  1024. {
  1025. give_item(i,"ammo_9mmAR")
  1026. }
  1027. else
  1028. {
  1029. scxpm_randomammo(i)
  1030. }
  1031. }
  1032. case 18: /* Medkit */
  1033. {
  1034. scxpm_randomammo(i)
  1035. if(get_user_health(i)<health[i]+starthealth+medals[i]+halfspeed)
  1036. {
  1037. set_user_health(i,get_user_health(i)+1)
  1038. rhealthwait[i]=300-rhealth[i]
  1039. }
  1040. }
  1041. case 20: /* Pipewrench */
  1042. {
  1043. scxpm_randomammo(i)
  1044. }
  1045. case 21: /* Minigun */
  1046. {
  1047. get_user_ammo(i,21,clip,ammo)
  1048. if(ammo<999)
  1049. {
  1050. give_item(i,"ammo_556")
  1051. }
  1052. else
  1053. {
  1054. scxpm_randomammo(i)
  1055. }
  1056. }
  1057. case 22: /* Grapple */
  1058. {
  1059. scxpm_randomammo(i)
  1060. }
  1061. case 23: /* Sniper Rifle */
  1062. {
  1063. get_user_ammo(i,23,clip,ammo)
  1064. if(ammo<15)
  1065. {
  1066. give_item(i,"ammo_762")
  1067. }
  1068. else
  1069. {
  1070. scxpm_randomammo(i)
  1071. }
  1072. }
  1073. }
  1074. new speed_dt=floatround(float(speed[i])/18.0)
  1075. ammowait[i]=179-(5*rammo[i])-speed_dt
  1076. }
  1077. else
  1078. {
  1079. ammowait[i]-=1
  1080. }
  1081. }
  1082. new clip,ammo
  1083. switch(get_user_weapon(i,clip,ammo))
  1084. {
  1085. case 18: /* Medkit */
  1086. {
  1087. if(get_user_health(i)<100)
  1088. {
  1089. if(random_num(rhealth[i],800-get_user_health(i)>299))
  1090. {
  1091. set_user_health(i,get_user_health(i)+1)
  1092. }
  1093. }
  1094. else
  1095. {
  1096. if(get_user_health(i)<health[i]+starthealth+medals[i]+halfspeed&&random_num(0,1300+rhealth[i])>1200)
  1097. {
  1098. set_user_health(i,get_user_health(i)+1)
  1099. }
  1100. }
  1101. }
  1102. }
  1103. if(dist[i]>0)
  1104. {
  1105. for(new h=0;h<iNum;h++)
  1106. {
  1107. new id=iPlayers[h]
  1108. for(new j=0;j<iNum;j++)
  1109. {
  1110. new i=iPlayers[j]
  1111. if(id==i)
  1112. {
  1113. // Do nothing
  1114. }
  1115. else
  1116. {
  1117. if(is_user_alive(i)&&is_user_alive(id))
  1118. {
  1119. new Float:origin_i[3]
  1120. pev(i,pev_origin,origin_i)
  1121. new Float:origin_id[3]
  1122. pev(id,pev_origin,origin_id)
  1123. if(get_distance_f(origin_i,origin_id)<=650.0)
  1124. {
  1125. new halfspeed=floatround(float(speed[i])/2.0)
  1126. new iPlayers[32],iNum
  1127. get_players(iPlayers,iNum)
  1128. iNum=iNum*50
  1129. new luck=random_num(1651-iNum,4200+dist[id]+dist[i]+halfspeed)
  1130. if(luck>4200)
  1131. {
  1132. set_user_health(i,get_user_health(i)+1)
  1133. if(get_user_health(i)>health[i]+starthealth+60+dist[id]+medals[i]+halfspeed)
  1134. {
  1135. set_user_health(i,health[i]+starthealth+60+dist[id]+medals[i]+halfspeed)
  1136. }
  1137. }
  1138. luck=random_num(1651-iNum,4200+dist[id]+dist[i]+halfspeed)
  1139. if(luck>4200)
  1140. {
  1141. set_user_armor(i,get_user_armor(i)+1)
  1142. if(get_user_armor(i)>health[i]+starthealth+60+dist[id]+medals[i]+halfspeed)
  1143. {
  1144. set_user_armor(i,health[i]+starthealth+60+dist[id]+medals[i]+halfspeed)
  1145. }
  1146. }
  1147. if(dist[id]>=40)
  1148. {
  1149. luck=random_num(0,1000+dist[id])
  1150. if(luck>1038)
  1151. {
  1152. set_user_health(i,get_user_health(i)+1)
  1153. if(get_user_health(i)>health[i]+starthealth+60+dist[id]+medals[i]+halfspeed)
  1154. {
  1155. set_user_health(i,health[i]+starthealth+60+dist[id]+medals[i]+halfspeed)
  1156. }
  1157. set_user_armor(i,get_user_armor(i)+1)
  1158. if(get_user_armor(i)>health[i]+starthealth+60+dist[id]+medals[i]+halfspeed)
  1159. {
  1160. set_user_armor(i,health[i]+starthealth+60+dist[id]+medals[i]+halfspeed)
  1161. }
  1162. }
  1163. }
  1164. }
  1165. }
  1166. }
  1167. }
  1168. }
  1169. }
  1170. if(!has_godmode[i])
  1171. {
  1172. if(dodge[i]>0)
  1173. {
  1174. new piecespeed=floatround(float(speed[i])/7.0)
  1175. new luck=random_num(0,185+dodge[i]+medals[i]+piecespeed)
  1176. if(luck>185)
  1177. {
  1178. set_user_godmode(i,1)
  1179. }
  1180. else
  1181. {
  1182. set_user_godmode(i)
  1183. }
  1184. }
  1185. else
  1186. {
  1187. set_user_godmode(i)
  1188. }
  1189. }
  1190. }
  1191. }
  1192. }
  1193. }
  1194.  
  1195. public scxpm_sdac()
  1196. {
  1197. switch(onecount)
  1198. {
  1199. case false:
  1200. {
  1201. onecount=true
  1202. }
  1203. case true:
  1204. {
  1205. scxpm_reexp()
  1206. scxpm_showdata()
  1207. onecount=false
  1208. }
  1209. }
  1210. scxpm_regen
  1211. }
  1212.  
  1213. public scxpm_reexp()
  1214. {
  1215. new iPlayers[32],iNum
  1216. get_players(iPlayers,iNum)
  1217. for(new g=0;g<iNum;g++)
  1218. {
  1219. new i=iPlayers[g]
  1220. if(is_user_connected(i))
  1221. {
  1222. if(playerlevel[i]==1800)
  1223. {
  1224. xp[i]=11500000
  1225. }
  1226. else
  1227. {
  1228. new Float:helpvar=float(xp[i])/5.0/get_cvar_float("amx_scxpm_xpgain")+float(get_user_frags(i))-float(lastfrags[i])
  1229. xp[i]=floatround(helpvar*5.0*get_cvar_float("amx_scxpm_xpgain"))
  1230. lastfrags[i]=get_user_frags(i)
  1231. if(neededxp[i]>0)
  1232. {
  1233. if(xp[i]>=neededxp[i])
  1234. {
  1235. new prevxp=neededxp[i]
  1236. playerlevel[i]+=1
  1237. scxpm_calcneedxp(i)
  1238. skillpoints[i]+=1
  1239. new name[32]
  1240. get_user_name(i,name,31)
  1241. if(playerlevel[i]==1800)
  1242. {
  1243. client_print(0,print_chat,"[SCXPM] %s elerte az 1800-as szintet.A szerver Gratulal neki!",name)
  1244. }
  1245. else
  1246. {
  1247. client_print(i,print_chat,"[SCXPM] Gratulalok %s, jelenlegi szint %i - Kovetkezo Szint: %i XP - Szukseges: %i XP",name,playerlevel[i],neededxp[i],neededxp[i]-prevxp)
  1248. }
  1249. scxpm_getrank(i)
  1250. SCXPMSkill(i)
  1251. }
  1252. }
  1253. }
  1254. }
  1255. }
  1256. }
  1257.  
  1258. public scxpm_showdata()
  1259. {
  1260. new iPlayers[32],iNum
  1261. get_players(iPlayers,iNum)
  1262. for(new g=0;g<iNum;g++)
  1263. {
  1264. new i=iPlayers[g]
  1265. if(is_user_connected(i))
  1266. {
  1267. set_hudmessage(50,135,180,0.65,0.04,0,1.0,255.0,0.0,0.0,3)
  1268. switch(playerlevel[i])
  1269. {
  1270. case 1800:
  1271. {
  1272. show_hudmessage(i,"Szint: 1800 / 1800^nRank: FBI Vezeto^nMedalok: %i / 15",medals[i]-1)
  1273. }
  1274. default:
  1275. {
  1276. show_hudmessage(i,"Exp: %i / %i (+%i)^nSzint: %i / 1800^nRank: %s^nMedalok: %i / 15",xp[i],neededxp[i],neededxp[i]-xp[i],playerlevel[i],rank[i],medals[i]-1)
  1277. }
  1278. }
  1279. }
  1280. }
  1281. }
  1282.  
  1283. public SCXPMSkill(id)
  1284. {
  1285. new menuBody[1024]
  1286. format(menuBody,1023,"Valassz kepesseget - Kepessegpontok elerhtok %i^n^n^n^n 1. Ero [ %i / 450 ]^n^n 2. Szuper Pancel [ %i / 450 ]^n^n 3. Elet Regeneracio [ %i / 300 ]^n^n 4. Nano Pancel [ %i / 300 ]^n^n 5. Loszer Ujratoltodes [ %i / 30 ]^n^n 6. Anti Gravitacio [ %i / 40 ]^n^n 7. Inteligencia [ %i / 80 ]^n^n 8. Csapat Ero [ %i / 60 ]^n^n 9. Sebzes Felfogo [ %i / 90 ]^n^n^n 0. Mentve"
  1287. ,skillpoints[id],health[id],armor[id],rhealth[id],rarmor[id],rammo[id],gravity[id],speed[id],dist[id],dodge[id])
  1288. show_menu(id,(1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9),menuBody,13,"Select Skill")
  1289. }
  1290.  
  1291. public SCXPMSkillChoice(id,key)
  1292. {
  1293. switch(key)
  1294. {
  1295. case 0:
  1296. {
  1297. if(skillpoints[id]>0)
  1298. {
  1299. if(health[id]<450)
  1300. {
  1301. skillpoints[id]-=1
  1302. health[id]+=1
  1303. client_print(id,print_chat,"[SCXPM] A pontodat elosztottuk.(Elet %i)!",health[id])
  1304. if(is_user_alive(id))
  1305. {
  1306. set_user_health(id,get_user_health(id)+1)
  1307. }
  1308. }
  1309. else
  1310. {
  1311. client_print(id,print_chat,"[SCXPM] Te mar mestere vagy az eronek.")
  1312. }
  1313. if(skillpoints[id]>0)
  1314. {
  1315. SCXPMSkill(id)
  1316. }
  1317. }
  1318. else
  1319. {
  1320. client_print(id,print_chat,"[SCXPM] Nincs eleg eloszthato pontod.")
  1321. }
  1322. }
  1323. case 1:
  1324. {
  1325. if(skillpoints[id]>0)
  1326. {
  1327. if(armor[id]<450)
  1328. {
  1329. skillpoints[id]-=1
  1330. armor[id]+=1
  1331. client_print(id,print_chat,"[SCXPM] A pontodat elosztottuk.(Pancel %i)!",armor[id])
  1332. if(is_user_alive(id))
  1333. {
  1334. set_user_armor(id,get_user_armor(id)+1)
  1335. }
  1336. }
  1337. else
  1338. {
  1339. client_print(id,print_chat,"[SCXPM] Te mar mestere vagy a vedekezesnek.")
  1340. }
  1341. if(skillpoints[id]>0)
  1342. {
  1343. SCXPMSkill(id)
  1344. }
  1345. }
  1346. else
  1347. {
  1348. client_print(id,print_chat,"[SCXPM] Nincs eleg eloszthato pontod.")
  1349. }
  1350. }
  1351. case 2:
  1352. {
  1353. if(skillpoints[id]>0)
  1354. {
  1355. if(rhealth[id]<300)
  1356. {
  1357. skillpoints[id]-=1
  1358. rhealth[id]+=1
  1359. client_print(id,print_chat,"[SCXPM] A pontodat elosztottuk.(Regeneracio %i)!",rhealth[id])
  1360. }
  1361. else
  1362. {
  1363. client_print(id,print_chat,"[SCXPM] Te mar mestere vagy az orvos tudomanynak.")
  1364. }
  1365. if(skillpoints[id]>0)
  1366. {
  1367. SCXPMSkill(id)
  1368. }
  1369. }
  1370. else
  1371. {
  1372. client_print(id,print_chat,"[SCXPM] Nincs eleg eloszthato pontod.")
  1373. }
  1374. }
  1375. case 3:
  1376. {
  1377. if(skillpoints[id]>0)
  1378. {
  1379. if(rarmor[id]<300)
  1380. {
  1381. skillpoints[id]-=1
  1382. rarmor[id]+=1
  1383. client_print(id,print_chat,"[SCXPM] A pontodat elosztottuk.(Nano Pancel %i)!",rarmor[id])
  1384. }
  1385. else
  1386. {
  1387. client_print(id,print_chat,"[SCXPM] Te mar mestere vagy a Nano Pancelnak.")
  1388. }
  1389. if(skillpoints[id]>0)
  1390. {
  1391. SCXPMSkill(id)
  1392. }
  1393. }
  1394. else
  1395. {
  1396. client_print(id,print_chat,"[SCXPM] Nincs eleg eloszthato pontod.")
  1397. }
  1398. }
  1399. case 4:
  1400. {
  1401. if(skillpoints[id]>0)
  1402. {
  1403. if(rammo[id]<30)
  1404. {
  1405. skillpoints[id]-=1
  1406. rammo[id]+=1
  1407. client_print(id,print_chat,"[SCXPM] A pontodat elosztottuk.(Tolteny Toltodes %i)!",rammo[id])
  1408. }
  1409. else
  1410. {
  1411. client_print(id,print_chat,"[SCXPM] Te mar mestere vagy a Vegtelen Toltenynek.")
  1412. }
  1413. if(skillpoints[id]>0)
  1414. {
  1415. SCXPMSkill(id)
  1416. }
  1417. }
  1418. else
  1419. {
  1420. client_print(id,print_chat,"[SCXPM] Nincs eleg eloszthato pontod.")
  1421. }
  1422. }
  1423. case 5:
  1424. {
  1425. if(skillpoints[id]>0)
  1426. {
  1427. if(gravity[id]<40)
  1428. {
  1429. skillpoints[id]-=1
  1430. gravity[id]+=1
  1431. client_print(id,print_chat,"[SCXPM] A pontodat elosztottuk.(Anti Gravitacio %i)!",gravity[id])
  1432. }
  1433. else
  1434. {
  1435. client_print(id,print_chat,"[SCXPM] Te mar mestere vagy a Gravitacionak.")
  1436. }
  1437. if(skillpoints[id]>0)
  1438. {
  1439. SCXPMSkill(id)
  1440. }
  1441. }
  1442. else
  1443. {
  1444. client_print(id,print_chat,"[SCXPM] Nincs eleg eloszthato pontod.")
  1445. }
  1446. }
  1447. case 6:
  1448. {
  1449. if(skillpoints[id]>0)
  1450. {
  1451. if(speed[id]<80)
  1452. {
  1453. skillpoints[id]-=1
  1454. speed[id]+=1
  1455. client_print(id,print_chat,"[SCXPM] A pontodat elosztottuk.(Inteligencia %i)!",speed[id])
  1456. }
  1457. else
  1458. {
  1459. client_print(id,print_chat,"[SCXPM] Te mar mestere vagy a sebessegnek.")
  1460. }
  1461. if(skillpoints[id]>0)
  1462. {
  1463. SCXPMSkill(id)
  1464. }
  1465. }
  1466. else
  1467. {
  1468. client_print(id,print_chat,"[SCXPM] Nincs eleg eloszthato pontod.")
  1469. }
  1470. }
  1471. case 7:
  1472. {
  1473. if(skillpoints[id]>0)
  1474. {
  1475. if(dist[id]<60)
  1476. {
  1477. skillpoints[id]-=1
  1478. dist[id]+=1
  1479. client_print(id,print_chat,"[SCXPM] A pontodat elosztottuk.(Csapat Ero %i)!",dist[id])
  1480. }
  1481. else
  1482. {
  1483. client_print(id,print_chat,"[SCXPM] A csapatod mar nem felhet a kozeledben :)")
  1484. }
  1485. if(skillpoints[id]>0)
  1486. {
  1487. SCXPMSkill(id)
  1488. }
  1489. }
  1490. else
  1491. {
  1492. client_print(id,print_chat,"[SCXPM] Nincs eleg eloszthato pontod.")
  1493. }
  1494. }
  1495. case 8:
  1496. {
  1497. if(skillpoints[id]>0)
  1498. {
  1499. if(dodge[id]<90)
  1500. {
  1501. skillpoints[id]-=1
  1502. dodge[id]+=1
  1503. client_print(id,print_chat,"[SCXPM] A pontodat elosztottuk.(Sebzes Felfogo %i)!",dodge[id])
  1504. }
  1505. else
  1506. {
  1507. client_print(id,print_chat,"[SCXPM] Elsajatitottad a Sebzel Felfogo Kepesseget.")
  1508. }
  1509. if(skillpoints[id]>0)
  1510. {
  1511. SCXPMSkill(id)
  1512. }
  1513. }
  1514. else
  1515. {
  1516. client_print(id,print_chat,"[SCXPM] Nincs eleg eloszthato pontod.")
  1517. }
  1518. }
  1519. case 9:
  1520. {
  1521.  
  1522. }
  1523. }
  1524. return PLUGIN_HANDLED
  1525. }
  1526.