--------------------------------------------------
-- Player Classes Script by Unreal Software --
-- 28.02.2009 -
www.UnrealSoftware.de --
-- Adds Player Classes to your server --
--------------------------------------------------
if sample==nil then sample={} end
sample.classes={}
-----------------------
-- INITIAL SETUP --
-----------------------
function initArray(m)
local array = {}
for i = 1, m do
array[i]=0
end
return array
end
sample.classes.class=initArray(32)
function sample.classes.classmenu(id)
menu(id,"Select your Class,Scout|Heavy Shotgun,Soldier|Rocket Launcher,Pyro|Flamethrower,Demoman|Grenade Launcher,Heavy|Ultimate Minigun,Engineer|Super Turret,Support|Assault Rifle,Sniper|Sniper Rifle,Spy|Butterfly Knife")
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)
sample.classes.classmenu(id)
end
-----------------------
-- CLASS SELECTION --
-----------------------
addhook("menu","sample.classes.menu")
function sample.classes.menu(id,menu,sel)
if (menu=="Select your Class") then
if (sel>=0 and sel<=9) then
sample.classes.class[id]=sel
if (player(id,"health")>0) then
parse("killplayer "..id)
end
end
end
end
-----------------------
-- SPAWN --
-----------------------
addhook("spawn","sample.classes.spawn")
function sample.classes.spawn(id)
-- SCOUT
if (sample.classes.class[id]<=1) then
parse ("setmaxhealth "..id.." 125")
parse ("setarmor "..id.." 25")
parse ("speedmod "..id.." 15")
return "10,5,75,56";
end
-- SOLDIER
if (sample.classes.class[id]==2) then
parse ("setmaxhealth "..id.." 200")
parse ("setarmor "..id.." 50")
parse ("speedmod "..id.." -3")
return "11,47,51";
end
-- PYRO
if (sample.classes.class[id]==3) then
parse ("setmaxhealth "..id.." 175")
parse ("setarmor "..id.." 25")
return "46,73,48";
end
-- DEMOMAN
if (sample.classes.class[id]==4) then
parse ("setmaxhealth "..id.." 175")
parse ("setarmor "..id.." 30")
parse ("speedmod "..id.." -1")
return "49,5,77,76";
end
-- HEAVY
if (sample.classes.class[id]==5) then
parse ("setmaxhealth "..id.." 200")
parse ("setarmor "..id.." 200")
parse ("speedmod "..id.." -4")
return "40,78,86";
end
-- ENGINEER
if (sample.classes.class[id]==6) then
parse ("setmaxhealth "..id.." 125")
parse ("setarmor "..id.." 0")
return "11,5,74";
end
-- SUPPORT
if (sample.classes.class[id]==7) then
parse ("setmaxhealth "..id.." 100")
return "41,5,85,54,82";
end
-- SNIPER
if (sample.classes.class[id]==8) then
parse ("setmaxhealth "..id.." 100")
parse ("setarmor "..id.." 25")
return "35,21,69,53";
end
-- SPY
if (sample.classes.class[id]==9) then
parse ("setmaxhealth "..id.." 150")
return "84,3,69,52";
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