Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ----------------------------------------
- -- Classes Script by Karim Patron --
- -- 27.07.2013 --
- -- Adds Player Classes to your server --
- ----------------------------------------
- ownerusgn = {113769}
- adminusgn = {123734}
- if sample==nil then sample={}
- end
- sample.classes={}
- -------------------
- --Server Settings--
- -------------------
- parse("sv_friendlyfire 0")
- parse("sv_lan 0")
- parse("mp_infammo 0")
- parse("mp_dispenser_money 500")
- parse("sv_maxplayers 32")
- parse("mp_dispenser_health 10")
- parse('mp_building_limit "dispenser" 10')
- parse('mp_building_limit "supply" 10')
- parse('mp_building_limit "gate field" 30')
- parse('mp_building_limit "turret" 20')
- parse('mp_building_limit "teleporter entrance" 5')
- parse('mp_building_limit "teleporter exit" 5')
- parse("sv_gm 0")
- parse("mp_startmoney 5000")
- parse("mp_teleportreload 3")
- parse('mp_supply_items "47,90,91,72,73,76,83,45"')
- parse("mp_antispeeder 0")
- parse("sv_fow 0")
- parse("mp_c4timer 45")
- parse("mp_roundtime 5 ")
- parse('mp_wpndmg "gutbomb" 10000')
- parse('mp_wpndmg "Grenade launcher" 50')
- parse('mp_wpndmg "claw" 10000')
- parse('mp_wpndmg "rocket launcher" 50')
- -----------------------
- -- INITIAL SETUP --
- -----------------------
- function initArray(m)
- local array = {}
- for i = 1, m do
- array[i]=0
- end
- return array
- end
- sample.classes.class=initArray(32)
- sel_class=initArray(32)
- function sample.classes.classmenu(id,act)
- if act == 1 then
- menu(id,"Server Classes (Page 1/3),Random|Random Class,Zombie,Soldier,Pyro,Ghost,Heavy Killer,Super Killer,Destroyer,---> Next Page|(Page 2)")
- end
- end
- -----------------------
- -- TEAM -> CLASS --
- -----------------------
- addhook("team","sample.classes.team")
- function sample.classes.team(id,team)
- if (team>0) then
- sample.classes.classmenu(id)
- end
- end
- -----------------------
- -- SERVERACTION --
- -----------------------
- addhook("serveraction","sample.classes.serveraction")
- function sample.classes.serveraction(id,act)
- if act == 1 then
- sample.classes.classmenu(id,act)
- end
- end
- -----------------------
- -- CLASS SELECTION --
- -----------------------
- addhook("menu","sample.classes.menu")
- function sample.classes.menu(id,title,sel)
- if title=="Server Classes (Page 1/3)" then
- if sel>=1 and sel<=8 then
- sample.classes.class[id]=sel
- elseif sel==9 then
- 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)")
- end
- end
- if title=="Server Classes (Page 2/3)" then
- if sel>=1 and sel<=7 then
- sample.classes.class[id]=sel+9
- elseif sel==8 then
- menu(id,"Server Classes (Page 1/3),Random|Random Class,Zombie,Soldier,Pyro,Ghost,Heavy Killer,Super Killer,Destroyer,---> Next Page|(Page 2)")
- elseif sel==9 then
- 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)")
- end
- end
- if title=="Server Classes (Page 3/3)" then
- if sel>=1 and sel<=7 then
- sample.classes.menu[id]=sel+18
- elseif sel==8 then
- 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)")
- end
- end
- end
- -----------------------
- -- SPAWN --
- -----------------------
- addhook("spawn","class_spawn")
- function class_spawn(id)
- if sample.classes.class[id]==0 then
- sample.classes.class[id]=math.random(1,22)
- end
- if (sample.classes.class[id]==9) then
- sample.classes.class[id] = math.random(1,22)
- end
- if (sample.classes.class[id]==17) then
- sample.classes.class[id] = math.random(1,22)
- end
- if (sample.classes.class[id]==18) then
- sample.classes.class[id] = math.random(1,22)
- end
- sel_class[id]=sample.classes.class[id]
- --For Bots
- parse ("strip "..id.." 0")
- if (player(id,'bot')) then
- sample.classes.class[id] = math.random(1,22)
- if (sample.classes.class[id]==9) then
- sample.classes.class[id] = math.random(1,22)
- end
- if (sample.classes.class[id]==17) then
- sample.classes.class[id] = math.random(1,22)
- end
- if (sample.classes.class[id]==18) then
- sample.classes.class[id] = math.random(1,22)
- end
- end
- -- Random
- parse ("strip "..id.." 0")
- if (sample.classes.class[id]==1) then
- msg2(id,"©000255000You Selected A Random Class!")
- sample.classes.class[id] = math.random(1,22)
- if (sample.classes.class[id]==9) then
- sample.classes.class[id] = math.random(1,22)
- end
- if (sample.classes.class[id]==17) then
- sample.classes.class[id] = math.random(1,22)
- end
- if (sample.classes.class[id]==18) then
- sample.classes.class[id] = math.random(1,22)
- end
- end
- -- Zombie
- if (sample.classes.class[id]==2) then
- addhook("second","skills")
- function skills()
- for hp = 1,32 do
- if (sel_class[id]==2) then
- parse("sethealth "..id.." "..player(hp,"health") +3)
- end
- end
- end
- msg2(id,"©000255000You Selected The Zombie Class!")
- parse ("setmaxhealth "..id.." 250")
- parse ("speedmod "..id.." -10")
- parse ("equip "..id.." 78")
- parse ("equip "..id.." 86")
- parse ("equip "..id.." 59")
- end
- -- Soldier
- if (sample.classes.class[id]==3) then
- msg2(id,"©000255000You Selected The Soldier Class!")
- parse ("setmaxhealth "..id.." 90")
- parse ("speedmod "..id.." -1")
- parse ("equip "..id.." 51")
- parse ("equip "..id.." 6")
- parse ("equip "..id.." 40")
- parse ("equip "..id.." 80")
- end
- -- Pyro
- if (sample.classes.class[id]==4) then
- msg2(id,"©000255000You Selected The Pyro Class!")
- parse ("setmaxhealth "..id.." 120")
- parse ("speedmod "..id.." -2")
- parse ("equip "..id.." 46")
- parse ("equip "..id.." 5")
- parse ("equip "..id.." 73")
- parse ("equip "..id.." 51")
- end
- -- Ghost
- if (sample.classes.class[id]==5) then
- msg2(id,"©000255000You Selected The Ghost Class!")
- parse ("setmaxhealth "..id.." 70")
- parse ("speedmod "..id.." 5")
- parse ("equip "..id.." 10")
- parse ("equip "..id.." 84")
- parse ("equip "..id.." 1")
- parse ("equip "..id.." 52")
- parse ("equip "..id.." 54")
- end
- -- Heavy Killer
- if (sample.classes.class[id]==6) then
- msg2(id,"©000255000You Selected The Heavy Killer Class!")
- parse ("setmaxhealth "..id.." 40")
- parse ("speedmod "..id.." -2")
- parse ("equip "..id.." 22")
- parse ("equip "..id.." 51")
- parse ("equip "..id.." 52")
- parse ("equip "..id.." 53")
- parse ("equip "..id.." 3")
- parse ("equip "..id.." 81")
- end
- -- Super Killer
- if (sample.classes.class[id]==7) then
- msg2(id,"©000255000You Selected The Super Killer Class!")
- parse ("setmaxhealth "..id.." 20")
- parse ("speedmod "..id.." -2")
- parse ("equip "..id.." 24")
- parse ("equip "..id.." 83")
- parse ("equip "..id.." 51")
- parse ("equip "..id.." 52")
- parse ("equip "..id.." 53")
- parse ("equip "..id.." 3")
- end
- -- Destroyer
- if (sample.classes.class[id]==8) then
- msg2(id,"©000255000You Selected The Destroyer Class!")
- parse ("setmaxhealth "..id.." 75")
- parse ("speedmod "..id.." 0")
- parse ("equip "..id.." 90")
- parse ("equip "..id.." 85")
- parse ("equip "..id.." 69")
- parse ("equip "..id.." 76")
- parse ("equip "..id.." 2")
- end
- -- Builder
- if (sample.classes.class[id]==10) then
- msg2(id,"©000255000You Selected The Builder Class!")
- parse ("setmaxhealth "..id.." 70")
- parse ("speedmod "..id.." 5")
- parse ("equip "..id.." 74")
- parse ("equip "..id.." 4")
- parse ("equip "..id.." 21")
- parse ("equip "..id.." 51")
- end
- -- Trapper
- if (sample.classes.class[id]==11) then
- msg2(id,"©000255000You Selected The Trapper Class!")
- parse ("setmaxhealth "..id.." 70")
- parse ("speedmod "..id.." 0")
- parse ("equip "..id.." 77")
- parse ("equip "..id.." 88")
- parse ("equip "..id.." 87")
- parse ("equip "..id.." 89")
- parse ("equip "..id.." 53")
- end
- -- Grenadier
- if (sample.classes.class[id]==12) then
- msg2(id,"©000255000You Selected The Grenadier Class!")
- parse ("setmaxhealth "..id.." 130")
- parse ("speedmod "..id.." -4")
- parse ("equip "..id.." 51")
- parse ("equip "..id.." 52")
- parse ("equip "..id.." 53")
- parse ("equip "..id.." 72")
- parse ("equip "..id.." 73")
- parse ("equip "..id.." 76")
- end
- -- Runner
- if (sample.classes.class[id]==13) then
- msg2(id,"©000255000You Selected The Runner Class!")
- parse ("setmaxhealth "..id.." 30")
- parse ("speedmod "..id.." 30")
- parse ("equip "..id.." 3")
- parse ("equip "..id.." 51")
- parse ("equip "..id.." 91")
- end
- -- Team Helper
- if (sample.classes.class[id]==14) then
- msg2(id,"©000255000You Selected The Team Helper Class!")
- msg2(id,"©255255255Say !bandage To Drop Bandages (Costs 50 HP)")
- msg2(id,"©255255255Say !primary-ammo To Drop Primary Ammos (Costs 50 HP)")
- msg2(id,"©255255255Say !secondary-ammo To Drop Secondary Ammos (Costs 20 HP)")
- parse ("setmaxhealth "..id.." 200")
- parse ("speedmod "..id.." 0")
- parse ("equip "..id.." 2")
- addhook("say","say_drop")
- function say_drop(id,txt)
- if (txt=="!bandage") then
- parse("spawnitem 65 "..player(id,"tilex").." "..player(id,"tiley").."")
- parse("sethealth "..id.." "..player(id,"health")-50)
- end
- end
- addhook("say","say_drop_2")
- function say_drop_2(id,txt)
- if (txt=="!primary-ammo") then
- parse("spawnitem 61 "..player(id,"tilex").." "..player(id,"tiley").."")
- parse("sethealth "..id.." "..player(id,"health")-50)
- end
- end
- addhook("say","say_drop_3")
- function say_drop_3(id,txt)
- if (txt=="!secondary-ammo") then
- parse("spawnitem 62 "..player(id,"tilex").." "..player(id,"tiley").."")
- parse("sethealth "..id.." "..player(id,"health")-20)
- end
- end
- addhook("second","skills")
- function skills()
- for _, hp in ipairs(player(0,"tableliving")) do
- parse("sethealth "..hp.." "..player(hp,"health") +2)
- end
- end
- end
- -- Explosion Maker
- if (sample.classes.class[id]==15) then
- msg2(id,"©000255000You Selected The Explosion Maker Class!")
- parse ("setmaxhealth "..id.." 60")
- parse ("speedmod "..id.." 0")
- parse ("equip "..id.." 48")
- parse ("equip "..id.." 89")
- parse ("equip "..id.." 49")
- parse ("equip "..id.." 75")
- end
- -- Pro Sniper
- if (sample.classes.class[id]==16) then
- msg2(id,"©000255000You Selected The Pro Sniper Class!")
- parse ("setmaxhealth "..id.." 150")
- parse ("speedmod "..id.." -3")
- parse ("equip "..id.." 35")
- parse ("equip "..id.." 34")
- parse ("equip "..id.." 53")
- parse ("equip "..id.." 52")
- parse ("equip "..id.." 1")
- end
- -- SWAT
- if (sample.classes.class[id]==19) then
- msg2(id,"©000255000You Selected The SWAT Class!")
- parse ("setmaxhealth "..id.." 60")
- parse ("speedmod "..id.." 5")
- parse ("equip "..id.." 39")
- parse ("setarmor "..id.." 100")
- parse ("equip "..id.." 41")
- parse ("equip "..id.." 73")
- parse ("equip "..id.." 2")
- end
- -- 1 Shoot Kill
- if (sample.classes.class[id]==20) then
- msg2(id,"©000255000You Selected The 1 Shoot Kill Class!")
- parse ("setmaxhealth "..id.." 3")
- parse ("speedmod "..id.." 25")
- parse ("equip "..id.." 45")
- parse ("equip "..id.." 47")
- parse ("equip "..id.." 83")
- end
- -- Strong/Fat
- if (sample.classes.class[id]==21) then
- msg2(id,"©000255000You Selected The Strong/Fat Class!")
- parse ("setmaxhealth "..id.." 175")
- parse ("speedmod "..id.." -10")
- parse ("equip "..id.." 32")
- parse ("equip "..id.." 79")
- parse ("equip "..id.." 51")
- parse ("equip "..id.." 4")
- end
- -- Toxic Healer
- if (sample.classes.class[id]==22) then
- msg2(id,"©000255000You Selected The Toxic Healer Class!")
- parse ("setmaxhealth "..id.." 65")
- parse ("speedmod "..id.." 5")
- parse ("equip "..id.." 36")
- parse ("equip "..id.." 82")
- parse ("equip "..id.." 2")
- parse ("equip "..id.." 72")
- parse ("equip "..id.." 60")
- end
- -- Owner Class
- if (sample.classes.class[id]==23) then
- if (player(id,'usgn')==ownerusgn) then
- msg2(id,"©000255000You Selected The Owner Class!")
- parse ("equip "..id.." 74")
- parse ("setmaxhealth "..id.." 250")
- parse ("speedmod "..id.." 100")
- parse ("equip "..id.." 3")
- parse ("equip "..id.." 45")
- parse ("equip "..id.." 83")
- parse ("equip "..id.." 69")
- parse ("equip "..id.." 88")
- parse ("equip "..id.." 85")
- parse ("equip "..id.." 77")
- parse ("equip "..id.." 87")
- parse ("equip "..id.." 89")
- parse ("equip "..id.." 54")
- parse ("equip "..id.." 75")
- end
- else
- sel_class[id] = math.random(1,22)
- if (sel_class[id]==9) then
- sel_class[id] = math.random(1,22)
- end
- if (sel_class[id]==17) then
- sel_class[id] = math.random(1,22)
- end
- if (sel_class[id]==18) then
- sel_class[id] = math.random(1,22)
- end
- end
- -- Admin Class
- if (sample.classes.class[id]==24) then
- if (player(id,'usgn')==adminusgn) then
- msg2(id,"©000255000You Selected The Admin Class!")
- parse ("equip "..id.." 74")
- parse ("setmaxhealth "..id.." 200")
- parse ("speedmod "..id.." 50")
- parse ("equip "..id.." 5")
- parse ("equip "..id.." 47")
- parse ("equip "..id.." 81")
- parse ("equip "..id.." 41")
- parse ("equip "..id.." 75")
- parse ("equip "..id.." 91")
- parse ("equip "..id.." 89")
- end
- else
- sel_class[id] = math.random(1,22)
- if (sel_class[id]==9) then
- sel_class[id] = math.random(1,22)
- end
- if (sel_class[id]==17) then
- sel_class[id] = math.random(1,22)
- end
- if (sel_class[id]==18) then
- sel_class[id] = math.random(1,22)
- end
- end
- -- No Class
- if (sample.classes.class[id]==25) then
- msg2(id,"©000255000You Will Have Only Knife When You Respawn !")
- parse ("setmaxhealth "..id.." 100")
- parse ("speedmod "..id.." 0")
- parse ("equip "..id.." 50")
- end
- end
- -----------------------
- -- NO BUYING --
- -----------------------
- addhook("buy","sample.classes.buy")
- function sample.classes.buy()
- return 1
- end
- -----------------------
- -- NO COLLECTING --
- -----------------------
- addhook("walkover","sample.classes.walkover")
- function sample.classes.walkover(id,iid,type)
- if (type>=61 and type<=68) then
- return 0
- end
- return 1
- end
- -----------------------
- -- NO DROPPING --
- -----------------------
- addhook("drop","sample.classes.drop")
- function sample.classes.drop()
- return 1
- end
- -----------------------
- -- NO DEAD DROPPING --
- -----------------------
- addhook("die","sample.classes.die")
- function sample.classes.die()
- return 1
- end
- -------------------------------
- --Remove Weapons on round end--
- -------------------------------
- addhook("endround","rem_wep")
- function rem_wep()
- for i = 1,32 do
- if player(i,"exists") then
- parse('strip '..i..' 0')
- parse ("setarmor "..i.." 0")
- parse ("speedmod "..i.." 0")
- end
- end
- end
- --------------------
- --exploding flares--
- --------------------
- dmgx = 1000
- sizex = 250
- addhook("projectile","explosivex")
- function explosivex(id,weapon,x,y)
- if (weapon==54) then
- parse("explosion "..x.." "..y.." "..sizex.." "..dmgx.." "..id)
- end
- end
- -----------------------
- --exploding Snowballs--
- -----------------------
- dmgy = 50
- sizey = 50
- addhook("projectile","explosivey")
- function explosivey(id,weapon,x,y)
- if (weapon==75) then
- parse("explosion "..x.." "..y.." "..sizey.." "..dmgy.." "..id)
- end
- end
- -------------------
- --gut bomb effect--
- -------------------
- addhook("projectile","npcyx")
- function npcyx(id,weapon,x,y)
- if weapon == 86 then
- parse("spawnnpc 1 "..math.floor(x/32).." "..math.floor(y/32).." "..player(id,"rot"))
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement