Post by BetaM (mat5b) on Sept 1, 2009 18:06:55 GMT 2
An Unreal Software user, Banana Phone, made a great TF2 mod, just add this to server.lua:
Oh, and you need hudtxt.lua
Oh, and you need hudtxt.lua
-------------------------------------------------------------------------------------------------
-- Team Fortress 2 Script by Banana Phone (only classes), Blazzingxx (saving), mat5b (editing) --
-------------------------------------------------------------------------------------------------
dofile("sys/lua/hudtxt.lua")
if sample==nil then sample={} end
sample.classes={}
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|Speed,Soldier|Rocket-launcher,Pyro|Flamethrower,Engineer|Wrench,Heavy|Armor+Minigun,Sniper|Scout and Kukri,Demoman|Grenades,Medic|Healing,Spy|Stealth")
end
addhook("team","sample.classes.team")
function sample.classes.team(id,team)
if (team>0) then
sample.classes.classmenu(id)
end
end
addhook("serveraction","sample.classes.serveraction")
function sample.classes.serveraction(id,action)
if(action == 1) then
sample.classes.classmenu(id)
end
end
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
addhook("spawn","sample.classes.spawn")
function sample.classes.spawn(id)
-- hwg
if (sample.classes.class[id]==5) then
parse ("setmaxhealth "..id.." 200")
parse ("setarmor "..id.." 0")
parse ("speedmod "..id.." -5")
msg2(id,"©255255255Warning! When you are shooting with MG you speed decrease@C")
return "40,11,78";
end
-- spy
if (sample.classes.class[id]==9) then
parse ("setmaxhealth "..id.." 125")
parse ("setarmor "..id.." 0")
parse ("speedmod "..id.." 0")
parse ("mp_wpndmg USP 3")
parse ("mp_wpndmg TMP 3")
msg2(id,"©255255255E key to activate the stealth and use F3 to desactivate, the USP is a confusion gun@C")
return "3,1,50";
end
-- nginer
if (sample.classes.class[id]==4) then
parse ("setmaxhealth "..id.." 125")
parse ("setarmor "..id.." 0")
return "11,4,74";
end
-- pyro
if (sample.classes.class[id]==3) then
parse ("setmaxhealth "..id.." 175")
parse ("setarmor "..id.." 0")
parse ("speedmod "..id.." 5")
return "46,11";
end
-- scout
if (sample.classes.class[id]==1) then
parse ("setmaxhealth "..id.." 125")
parse ("setarmor "..id.." 0")
parse ("speedmod "..id.." 15")
return "11,4";
end
-- sniper
if (sample.classes.class[id]==6) then
parse ("setmaxhealth "..id.." 125")
parse ("setarmor "..id.." 0")
parse ("speedmod "..id.." 5")
return "34,22,69";
end
-- demo
if (sample.classes.class[id]==7) then
parse ("setmaxhealth "..id.." 175")
parse ("setarmor "..id.." 0")
parse ("speedmod "..id.." 0")
return "49";
end
-- medic
if (sample.classes.class[id]==8) then
parse ("setmaxhealth "..id.." 150")
parse ("setarmor "..id.." 0")
parse("mp_wpndmg Glock 0")
msg2(id,"©255255255Use Glock to heal your teammate health!@C")
return "2,24,85";
end
-- soldier
if (sample.classes.class[id]==2) then
parse ("setmaxhealth "..id.." 150")
parse ("setarmor "..id.." 0")
parse ("speedmod "..id.." 10")
return "48,11";
end
-- scout bots
if (sample.classes.class[id]==0) then
parse ("setmaxhealth "..id.." 125")
parse ("setarmor "..id.." 0")
parse ("speedmod "..id.." 15")
return "11,4";
end
end
addhook("use","sample.classes.use")
function sample.classes.use(id,event,data,x,y)
if (sample.classes.class[id]==9) then
parse ("setarmor "..id.." 206")
parse ("speedmod "..id.." -10")
end
end
addhook("serveraction","my_serveraction")
function my_serveraction(id,action)
if(sample.classes.class[id]==9) then
if (action == 2) then
parse ("setarmor "..id.." 0")
parse ("speedmod "..id.." 0")
end
end
end
addhook("attack","my_attack")
function my_attack(id)
if (sample.classes.class[id]==5) then
parse("speedmod "..id.." -14")
end
if (sample.classes.class[id]==9) then
parse("setarmor "..id.." 0")
parse("speedmod "..id.." 0")
end
end
addhook("move","my_move")
function my_move(id,x,y,walk)
if (sample.classes.class[id]==5) then
parse("speedmod "..id.." 0")
end
end
addhook("buy","sample.classes.buy")
function sample.classes.buy()
return 1
end
addhook("hit","Deagle_heal")
function Deagle_heal(id,source,weapon,hpdmg,apdmg)
if(weapon == 2) then
parse ("sethealth "..id.." "..player(id,"health")+18)
return 1
end
end
addhook("hit","usp_hit")
function usp_hit(id,source,weapon,hpdmg,apdmg)
if(weapon == 1) then
parse ("speedmod "..id.." -20")
msg2(id,"©255255255You are confused!! Mum, give me my sandwich!@C")
parse ("equip "..source.." 1")
return 1
end
end
addhook("second","medic")
function medic(id,health)
for i=1,32 do
if (player(i,"exists")) then
if sample.classes.class[i]==8 then
parse("sethealth "..i.." "..player(i,"health")+2)
end
end
end
end
addhook("hit","Ump45")
function Ump45(id,source,weapon,hpdmg,apdmg)
if(weapon == 24) then
parse ("sethealth "..source.." "..player(source,"health")+2)
parse ("equip "..source.." 24")
return 0
end
end