Advertisement
Guest User

My classes script dont work correctly

a guest
Aug 21st, 2013
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 17.22 KB | None | 0 0
  1. ----------------------------------------
  2. -- Classes Script by Karim Patron --
  3. -- 27.07.2013 --
  4. -- Adds Player Classes to your server --
  5. ----------------------------------------
  6. ownerusgn = {113769}
  7. adminusgn = {123734}
  8.  
  9. if sample==nil then sample={}
  10. end
  11. sample.classes={}
  12.  
  13. -------------------
  14. --Server Settings--
  15. -------------------
  16. parse("sv_friendlyfire 0")
  17. parse("sv_lan 0")
  18. parse("mp_infammo 0")
  19. parse("mp_dispenser_money 500")
  20. parse("sv_maxplayers 32")
  21. parse("mp_dispenser_health 10")
  22. parse('mp_building_limit "dispenser" 10')
  23. parse('mp_building_limit "supply" 10')
  24. parse('mp_building_limit "gate field" 30')
  25. parse('mp_building_limit "turret" 20')
  26. parse('mp_building_limit "teleporter entrance" 5')
  27. parse('mp_building_limit "teleporter exit" 5')
  28. parse("sv_gm 0")
  29. parse("mp_startmoney 5000")
  30. parse("mp_teleportreload 3")
  31. parse('mp_supply_items "47,90,91,72,73,76,83,45"')
  32. parse("mp_antispeeder 0")
  33. parse("sv_fow 0")
  34. parse("mp_c4timer 45")
  35. parse("mp_roundtime 5 ")
  36. parse('mp_wpndmg "gutbomb" 10000')
  37. parse('mp_wpndmg "Grenade launcher" 50')
  38. parse('mp_wpndmg "claw" 10000')
  39. parse('mp_wpndmg "rocket launcher" 50')
  40.  
  41. -----------------------
  42. -- INITIAL SETUP --
  43. -----------------------
  44. function initArray(m)
  45.      local array = {}
  46.      for i = 1, m do
  47.      array[i]=0
  48.      end
  49. return array
  50. end
  51.  
  52. sample.classes.class=initArray(32)
  53. sel_class=initArray(32)
  54.  
  55. function sample.classes.classmenu(id,act)
  56. if act == 1 then
  57. menu(id,"Server Classes (Page 1/3),Random|Random Class,Zombie,Soldier,Pyro,Ghost,Heavy Killer,Super Killer,Destroyer,---> Next Page|(Page 2)")
  58. end
  59. end
  60.  
  61. -----------------------
  62. -- TEAM -> CLASS --
  63. -----------------------
  64. addhook("team","sample.classes.team")
  65. function sample.classes.team(id,team)
  66.      if (team>0) then
  67.           sample.classes.classmenu(id)
  68.      end
  69. end
  70.  
  71.  
  72. -----------------------
  73. -- SERVERACTION --
  74. -----------------------
  75. addhook("serveraction","sample.classes.serveraction")
  76. function sample.classes.serveraction(id,act)
  77.      if act == 1 then
  78.           sample.classes.classmenu(id,act)
  79.      end
  80. end
  81.  
  82. -----------------------
  83. -- CLASS SELECTION --
  84. -----------------------
  85. addhook("menu","sample.classes.menu")
  86. function sample.classes.menu(id,title,sel)
  87. if title=="Server Classes (Page 1/3)" then
  88. if sel>=1 and sel<=8 then
  89. sample.classes.class[id]=sel
  90. elseif sel==9 then
  91. menu(id,"Server Classes (Page 2/3),Builder,Trapper,Grenadier,Runner,Team Helper,Explosion Maker,Pro Sniper,<--- Previous Page|(Page 1),---> Next Page|(Page 3)")
  92. end
  93. end
  94. if title=="Server Classes (Page 2/3)" then
  95. if sel>=1 and sel<=7 then
  96. sample.classes.class[id]=sel+9
  97. elseif sel==8 then
  98. menu(id,"Server Classes (Page 1/3),Random|Random Class,Zombie,Soldier,Pyro,Ghost,Heavy Killer,Super Killer,Destroyer,---> Next Page|(Page 2)")
  99. elseif sel==9 then
  100. menu(id,"Server Classes (Page 3/3),SWAT,1 Shoot Kill,Strong/Fat,Toxic Healer,Owner Class|Only For Owners,Admin Class|Only For Admins,No Class|Normal (Knife),<--- Previous Page|(Page 2)")
  101. end
  102. end
  103. if title=="Server Classes (Page 3/3)" then
  104. if sel>=1 and sel<=7 then
  105. sample.classes.menu[id]=sel+18
  106. elseif sel==8 then
  107. menu(id,"Server Classes (Page 2/3),Builder,Trapper,Grenadier,Runner,Team Helper,Explosion Maker,Pro Sniper,<--- Previous Page|(Page 1),---> Next Page|(Page 3)")
  108. end
  109. end
  110. end
  111.  
  112.  
  113. -----------------------
  114. -- SPAWN --
  115. -----------------------
  116. addhook("spawn","class_spawn")
  117. function class_spawn(id)
  118.      if sample.classes.class[id]==0 then
  119.           sample.classes.class[id]=math.random(1,22)
  120.      end
  121.      if (sample.classes.class[id]==9) then
  122.           sample.classes.class[id] = math.random(1,22)
  123.      end
  124.      if (sample.classes.class[id]==17) then
  125.           sample.classes.class[id] = math.random(1,22)
  126.      end
  127.      if (sample.classes.class[id]==18) then
  128.           sample.classes.class[id] = math.random(1,22)
  129.      end
  130. sel_class[id]=sample.classes.class[id]
  131. --For Bots
  132. parse ("strip "..id.." 0")
  133. if (player(id,'bot')) then
  134.      sample.classes.class[id] = math.random(1,22)
  135.           if (sample.classes.class[id]==9) then
  136.                sample.classes.class[id] = math.random(1,22)
  137.           end
  138.           if (sample.classes.class[id]==17) then
  139.                sample.classes.class[id] = math.random(1,22)
  140.           end
  141.           if (sample.classes.class[id]==18) then
  142.                sample.classes.class[id] = math.random(1,22)
  143.           end
  144. end
  145. -- Random
  146. parse ("strip "..id.." 0")
  147. if (sample.classes.class[id]==1) then
  148.      msg2(id,"©000255000You Selected A Random Class!")
  149.           sample.classes.class[id] = math.random(1,22)
  150.                if (sample.classes.class[id]==9) then
  151.                     sample.classes.class[id] = math.random(1,22)
  152.                end
  153.                if (sample.classes.class[id]==17) then
  154.                     sample.classes.class[id] = math.random(1,22)
  155.                end
  156.                if (sample.classes.class[id]==18) then
  157.                     sample.classes.class[id] = math.random(1,22)
  158.                end
  159. end
  160. -- Zombie
  161. if (sample.classes.class[id]==2) then
  162. addhook("second","skills")
  163. function skills()
  164.      for hp = 1,32 do
  165.           if (sel_class[id]==2) then
  166.                parse("sethealth "..id.." "..player(hp,"health") +3)
  167.           end
  168.      end
  169. end
  170. msg2(id,"©000255000You Selected The Zombie Class!")
  171.           parse ("setmaxhealth "..id.." 250")
  172.           parse ("speedmod "..id.." -10")
  173.           parse ("equip "..id.." 78")
  174.           parse ("equip "..id.." 86")
  175.           parse ("equip "..id.." 59")
  176. end
  177. -- Soldier
  178. if (sample.classes.class[id]==3) then
  179.      msg2(id,"©000255000You Selected The Soldier Class!")
  180.           parse ("setmaxhealth "..id.." 90")
  181.           parse ("speedmod "..id.." -1")
  182.           parse ("equip "..id.." 51")
  183.           parse ("equip "..id.." 6")
  184.           parse ("equip "..id.." 40")
  185.           parse ("equip "..id.." 80")
  186. end
  187. -- Pyro
  188. if (sample.classes.class[id]==4) then
  189.      msg2(id,"©000255000You Selected The Pyro Class!")
  190.           parse ("setmaxhealth "..id.." 120")
  191.           parse ("speedmod "..id.." -2")
  192.           parse ("equip "..id.." 46")
  193.           parse ("equip "..id.." 5")
  194.           parse ("equip "..id.." 73")
  195.           parse ("equip "..id.." 51")
  196. end
  197. -- Ghost
  198. if (sample.classes.class[id]==5) then
  199.      msg2(id,"©000255000You Selected The Ghost Class!")
  200.           parse ("setmaxhealth "..id.." 70")
  201.           parse ("speedmod "..id.." 5")
  202.           parse ("equip "..id.." 10")
  203.           parse ("equip "..id.." 84")
  204.           parse ("equip "..id.." 1")
  205.           parse ("equip "..id.." 52")
  206.           parse ("equip "..id.." 54")
  207. end
  208. -- Heavy Killer
  209. if (sample.classes.class[id]==6) then
  210.      msg2(id,"©000255000You Selected The Heavy Killer Class!")
  211.           parse ("setmaxhealth "..id.." 40")
  212.           parse ("speedmod "..id.." -2")
  213.           parse ("equip "..id.." 22")
  214.           parse ("equip "..id.." 51")
  215.           parse ("equip "..id.." 52")
  216.           parse ("equip "..id.." 53")
  217.           parse ("equip "..id.." 3")
  218.           parse ("equip "..id.." 81")
  219. end
  220. -- Super Killer
  221. if (sample.classes.class[id]==7) then
  222.      msg2(id,"©000255000You Selected The Super Killer Class!")
  223.           parse ("setmaxhealth "..id.." 20")
  224.           parse ("speedmod "..id.." -2")
  225.           parse ("equip "..id.." 24")
  226.           parse ("equip "..id.." 83")
  227.           parse ("equip "..id.." 51")
  228.           parse ("equip "..id.." 52")
  229.           parse ("equip "..id.." 53")
  230.           parse ("equip "..id.." 3")
  231. end
  232. -- Destroyer
  233. if (sample.classes.class[id]==8) then
  234.      msg2(id,"©000255000You Selected The Destroyer Class!")
  235.           parse ("setmaxhealth "..id.." 75")
  236.           parse ("speedmod "..id.." 0")
  237.           parse ("equip "..id.." 90")
  238.           parse ("equip "..id.." 85")
  239.           parse ("equip "..id.." 69")
  240.           parse ("equip "..id.." 76")
  241.           parse ("equip "..id.." 2")
  242. end
  243. -- Builder
  244. if (sample.classes.class[id]==10) then
  245.      msg2(id,"©000255000You Selected The Builder Class!")
  246.           parse ("setmaxhealth "..id.." 70")
  247.           parse ("speedmod "..id.." 5")
  248.           parse ("equip "..id.." 74")
  249.           parse ("equip "..id.." 4")
  250.           parse ("equip "..id.." 21")
  251.           parse ("equip "..id.." 51")
  252. end
  253. -- Trapper
  254. if (sample.classes.class[id]==11) then
  255.      msg2(id,"©000255000You Selected The Trapper Class!")
  256.           parse ("setmaxhealth "..id.." 70")
  257.           parse ("speedmod "..id.." 0")
  258.           parse ("equip "..id.." 77")
  259.           parse ("equip "..id.." 88")
  260.           parse ("equip "..id.." 87")
  261.           parse ("equip "..id.." 89")
  262.           parse ("equip "..id.." 53")
  263. end
  264. -- Grenadier
  265. if (sample.classes.class[id]==12) then
  266.      msg2(id,"©000255000You Selected The Grenadier Class!")
  267.           parse ("setmaxhealth "..id.." 130")
  268.           parse ("speedmod "..id.." -4")
  269.           parse ("equip "..id.." 51")
  270.           parse ("equip "..id.." 52")
  271.           parse ("equip "..id.." 53")
  272.           parse ("equip "..id.." 72")
  273.           parse ("equip "..id.." 73")
  274.           parse ("equip "..id.." 76")
  275. end
  276. -- Runner
  277. if (sample.classes.class[id]==13) then
  278.      msg2(id,"©000255000You Selected The Runner Class!")
  279.           parse ("setmaxhealth "..id.." 30")
  280.           parse ("speedmod "..id.." 30")
  281.           parse ("equip "..id.." 3")
  282.           parse ("equip "..id.." 51")
  283.           parse ("equip "..id.." 91")
  284. end
  285. -- Team Helper
  286. if (sample.classes.class[id]==14) then
  287.      msg2(id,"©000255000You Selected The Team Helper Class!")
  288.      msg2(id,"©255255255Say !bandage To Drop Bandages (Costs 50 HP)")
  289.      msg2(id,"©255255255Say !primary-ammo To Drop Primary Ammos (Costs 50 HP)")
  290.      msg2(id,"©255255255Say !secondary-ammo To Drop Secondary Ammos (Costs 20 HP)")
  291.           parse ("setmaxhealth "..id.." 200")
  292.           parse ("speedmod "..id.." 0")
  293.           parse ("equip "..id.." 2")
  294. addhook("say","say_drop")
  295. function say_drop(id,txt)
  296.      if (txt=="!bandage") then
  297.           parse("spawnitem 65 "..player(id,"tilex").." "..player(id,"tiley").."")
  298.           parse("sethealth "..id.." "..player(id,"health")-50)
  299.      end
  300. end
  301.  
  302. addhook("say","say_drop_2")
  303. function say_drop_2(id,txt)
  304.      if (txt=="!primary-ammo") then
  305.           parse("spawnitem 61 "..player(id,"tilex").." "..player(id,"tiley").."")
  306.           parse("sethealth "..id.." "..player(id,"health")-50)
  307.      end
  308. end
  309.  
  310. addhook("say","say_drop_3")
  311. function say_drop_3(id,txt)
  312.      if (txt=="!secondary-ammo") then
  313.           parse("spawnitem 62 "..player(id,"tilex").." "..player(id,"tiley").."")
  314.           parse("sethealth "..id.." "..player(id,"health")-20)
  315.      end
  316. end
  317.  
  318. addhook("second","skills")
  319. function skills()
  320.      for _, hp in ipairs(player(0,"tableliving")) do
  321.           parse("sethealth "..hp.." "..player(hp,"health") +2)
  322.      end
  323. end
  324. end
  325. -- Explosion Maker
  326. if (sample.classes.class[id]==15) then
  327.      msg2(id,"©000255000You Selected The Explosion Maker Class!")
  328.           parse ("setmaxhealth "..id.." 60")
  329.           parse ("speedmod "..id.." 0")
  330.           parse ("equip "..id.." 48")
  331.           parse ("equip "..id.." 89")
  332.           parse ("equip "..id.." 49")
  333.           parse ("equip "..id.." 75")
  334. end
  335. -- Pro Sniper
  336. if (sample.classes.class[id]==16) then
  337.      msg2(id,"©000255000You Selected The Pro Sniper Class!")
  338.           parse ("setmaxhealth "..id.." 150")
  339.           parse ("speedmod "..id.." -3")
  340.           parse ("equip "..id.." 35")
  341.           parse ("equip "..id.." 34")
  342.           parse ("equip "..id.." 53")
  343.           parse ("equip "..id.." 52")
  344.           parse ("equip "..id.." 1")
  345. end
  346. -- SWAT
  347. if (sample.classes.class[id]==19) then
  348.      msg2(id,"©000255000You Selected The SWAT Class!")
  349.           parse ("setmaxhealth "..id.." 60")
  350.           parse ("speedmod "..id.." 5")
  351.           parse ("equip "..id.." 39")
  352.           parse ("setarmor "..id.." 100")
  353.           parse ("equip "..id.." 41")
  354.           parse ("equip "..id.." 73")
  355.           parse ("equip "..id.." 2")
  356. end
  357. -- 1 Shoot Kill
  358. if (sample.classes.class[id]==20) then
  359.      msg2(id,"©000255000You Selected The 1 Shoot Kill Class!")
  360.           parse ("setmaxhealth "..id.." 3")
  361.           parse ("speedmod "..id.." 25")
  362.           parse ("equip "..id.." 45")
  363.           parse ("equip "..id.." 47")
  364.           parse ("equip "..id.." 83")
  365. end
  366. -- Strong/Fat
  367. if (sample.classes.class[id]==21) then
  368.      msg2(id,"©000255000You Selected The Strong/Fat Class!")
  369.           parse ("setmaxhealth "..id.." 175")
  370.           parse ("speedmod "..id.." -10")
  371.           parse ("equip "..id.." 32")
  372.           parse ("equip "..id.." 79")
  373.           parse ("equip "..id.." 51")
  374.           parse ("equip "..id.." 4")
  375. end
  376. -- Toxic Healer
  377. if (sample.classes.class[id]==22) then
  378.      msg2(id,"©000255000You Selected The Toxic Healer Class!")
  379.           parse ("setmaxhealth "..id.." 65")
  380.           parse ("speedmod "..id.." 5")
  381.           parse ("equip "..id.." 36")
  382.           parse ("equip "..id.." 82")
  383.           parse ("equip "..id.." 2")
  384.           parse ("equip "..id.." 72")
  385.           parse ("equip "..id.." 60")
  386. end
  387. -- Owner Class
  388. if (sample.classes.class[id]==23) then
  389.      if (player(id,'usgn')==ownerusgn) then
  390.           msg2(id,"©000255000You Selected The Owner Class!")
  391.                parse ("equip "..id.." 74")
  392.                parse ("setmaxhealth "..id.." 250")
  393.                parse ("speedmod "..id.." 100")
  394.                parse ("equip "..id.." 3")
  395.                parse ("equip "..id.." 45")
  396.                parse ("equip "..id.." 83")
  397.                parse ("equip "..id.." 69")
  398.                parse ("equip "..id.." 88")
  399.                parse ("equip "..id.." 85")
  400.                parse ("equip "..id.." 77")
  401.                parse ("equip "..id.." 87")
  402.                parse ("equip "..id.." 89")
  403.                parse ("equip "..id.." 54")
  404.                parse ("equip "..id.." 75")
  405.      end
  406. else
  407.           sel_class[id] = math.random(1,22)
  408.                if (sel_class[id]==9) then
  409.                     sel_class[id] = math.random(1,22)
  410.                end
  411.                if (sel_class[id]==17) then
  412.                     sel_class[id] = math.random(1,22)
  413.                end
  414.                if (sel_class[id]==18) then
  415.                     sel_class[id] = math.random(1,22)
  416.                end
  417. end
  418. -- Admin Class
  419. if (sample.classes.class[id]==24) then
  420.      if (player(id,'usgn')==adminusgn) then
  421.           msg2(id,"©000255000You Selected The Admin Class!")
  422.                parse ("equip "..id.." 74")
  423.                parse ("setmaxhealth "..id.." 200")
  424.                parse ("speedmod "..id.." 50")
  425.                parse ("equip "..id.." 5")
  426.                parse ("equip "..id.." 47")
  427.                parse ("equip "..id.." 81")
  428.                parse ("equip "..id.." 41")
  429.                parse ("equip "..id.." 75")
  430.                parse ("equip "..id.." 91")
  431.                parse ("equip "..id.." 89")
  432.      end
  433. else
  434.      sel_class[id] = math.random(1,22)
  435.           if (sel_class[id]==9) then
  436.                sel_class[id] = math.random(1,22)
  437.           end
  438.           if (sel_class[id]==17) then
  439.                sel_class[id] = math.random(1,22)
  440.           end
  441.           if (sel_class[id]==18) then
  442.                sel_class[id] = math.random(1,22)
  443.           end
  444. end
  445. -- No Class
  446. if (sample.classes.class[id]==25) then
  447.      msg2(id,"©000255000You Will Have Only Knife When You Respawn !")
  448.           parse ("setmaxhealth "..id.." 100")
  449.           parse ("speedmod "..id.." 0")
  450.           parse ("equip "..id.." 50")
  451. end
  452. end
  453.  
  454.  
  455. -----------------------
  456. -- NO BUYING --
  457. -----------------------
  458. addhook("buy","sample.classes.buy")
  459. function sample.classes.buy()
  460. return 1
  461. end
  462.  
  463.  
  464. -----------------------
  465. -- NO COLLECTING --
  466. -----------------------
  467. addhook("walkover","sample.classes.walkover")
  468. function sample.classes.walkover(id,iid,type)
  469.      if (type>=61 and type<=68) then
  470.      return 0
  471.      end
  472. return 1
  473. end
  474.  
  475.  
  476. -----------------------
  477. -- NO DROPPING --
  478. -----------------------
  479. addhook("drop","sample.classes.drop")
  480. function sample.classes.drop()
  481. return 1
  482. end
  483.  
  484.  
  485. -----------------------
  486. -- NO DEAD DROPPING --
  487. -----------------------
  488. addhook("die","sample.classes.die")
  489. function sample.classes.die()
  490. return 1
  491. end
  492.  
  493. -------------------------------
  494. --Remove Weapons on round end--
  495. -------------------------------
  496. addhook("endround","rem_wep")
  497. function rem_wep()
  498.      for i = 1,32 do
  499.           if player(i,"exists") then
  500.                parse('strip '..i..' 0')
  501.                parse ("setarmor "..i.." 0")
  502.                parse ("speedmod "..i.." 0")
  503.           end
  504.      end
  505. end
  506. --------------------
  507. --exploding flares--
  508. --------------------
  509. dmgx = 1000
  510. sizex = 250
  511.  
  512. addhook("projectile","explosivex")
  513. function explosivex(id,weapon,x,y)
  514.      if (weapon==54) then
  515.           parse("explosion "..x.." "..y.." "..sizex.." "..dmgx.." "..id)
  516.      end
  517. end
  518. -----------------------
  519. --exploding Snowballs--
  520. -----------------------
  521. dmgy = 50
  522. sizey = 50
  523.  
  524. addhook("projectile","explosivey")
  525. function explosivey(id,weapon,x,y)
  526.      if (weapon==75) then
  527.           parse("explosion "..x.." "..y.." "..sizey.." "..dmgy.." "..id)
  528.      end
  529. end
  530. -------------------
  531. --gut bomb effect--
  532. -------------------
  533. addhook("projectile","npcyx")
  534. function npcyx(id,weapon,x,y)
  535.      if weapon == 86 then
  536.           parse("spawnnpc 1 "..math.floor(x/32).." "..math.floor(y/32).." "..player(id,"rot"))
  537.      end
  538. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement