Forum

> > CS2D > Scripts > Bots always choose 1st class in class script
Forums overviewCS2D overview Scripts overviewLog in to reply

English Bots always choose 1st class in class script

14 replies
To the start Previous 1 Next To the start

old Re: Bots always choose 1st class in class script

En-Kay
User Off Offline

Quote
Here's the script:

--------------------------------------------------
-- 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|Extra Speed,Soldier|Rocket launcher,Sniper|Sniper

rifle,Demoman|Grenade launcher,Medic|Medkit,Heavy|Assault

cannon,Pyro|Flamethrower,Engineer|Wrench,Spy|Disguise")     
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)
classvariable[id]=math.random(1,9)
     -- SCOUT
     if (sample.classes.class[id]<=1) then
          parse ("setmaxhealth "..id.." 75")
          parse ("setarmor "..id.." 50")
          parse ("speedmod "..id.." 15")
          return "11,20";
     end
     -- SOLDIER
     if (sample.classes.class[id]==2) then
          parse ("setmaxhealth "..id.." 100")
          parse ("setarmor "..id.." 200")
          parse ("speedmod "..id.." -1")
          return "48,10,11,51";
     end
     -- SNIPER
     if (sample.classes.class[id]==3) then
          parse ("setmaxhealth "..id.." 90")
          parse ("setarmor "..id.." 50")
          return "31,35,20,51";
     end
     -- DEMOMAN
     if (sample.classes.class[id]==4) then
          parse ("setmaxhealth "..id.." 90")
          parse ("setarmor "..id.." 120")
          return "11,49,51,76,89";
     end
     -- MEDIC
     if (sample.classes.class[id]==5) then
          parse ("setmaxhealth "..id.." 90")
          parse ("setarmor "..id.." 100")
          parse ("speedmod "..id.." 5")
          parse ("equip "..id.." 82")
          parse ("strip "..id.." 50")
          return "69,22,10,11";
     end
     -- HEAVY
     if (sample.classes.class[id]==6) then
          parse ("setmaxhealth "..id.." 150")
          parse ("setarmor "..id.." 200")
          parse ("speedmod "..id.." -2")
          return "90,10,11,51";
     end
     -- PYRO
     if (sample.classes.class[id]==7) then
          parse ("setmaxhealth "..id.." 100")
          parse ("setarmor "..id.." 120")
          return "60,46,51,47,73,10";
     end
     -- ENGINEER
     if (sample.classes.class[id]==8) then
          parse ("setmaxhealth "..id.." 80")
          parse ("setarmor "..id.." 50")
          parse ("strip "..id.." 50")
          return "74,10,4,77";
     end
     -- SPY
     if (sample.classes.class[id]==9) then
          parse ("setmaxhealth "..id.." 90")
          parse ("setarmor "..id.." 100")
          parse ("equip "..id.." 84")
          return "2,10,20,51,72";
     end
if (player(id,"bot")) then
sample.classes.class[id]=math.random(1,9) --select random class
parse("killplayer "..id) --kill bot to change class
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>=58 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

-----------------------
-- FLAG COLLECT --
-----------------------
addhook("walkover","tfc_flag_collect")
function tfc_flag_collect(id,iid,type)
     if (type>=70 and type<=71) then
          return 0
     end
end

old Re: Bots always choose 1st class in class script

En-Kay
User Off Offline

Quote
Ok guys i've fixed it i have added:

if player(id,"bot") then
     sample.classes.class[id]=math.random(1,9)
end

now i don't get randomized!


BIG THANKS ALL OF YOU
edited 1×, last 16.07.12 10:35:24 pm
To the start Previous 1 Next To the start
Log in to reply Scripts overviewCS2D overviewForums overview