Thanks for your help everybody, I'm afraid I just couldn't wrap my head around using the array in a for statement. So I had to think of another way.
I made a cascading switch - players are randomly sent to one of the cases and if its taken they are sent to the next case and so on. if they reach the bottom they are sent to the top.
Does this seem efficient?
It seems to work except for this -
Code:
self model ("models/player/german_wehrmacht_soldier.tik")
the axis models don't have team icons and are seen by allies with allied avatars.
team selector
Code:
squad_builder local.weapon:
self takeall
if (self.dmteam == "allies")
{
local.r = randomint(allies.dmteam.size)+1
local.t = allies.dmteam.size
/////////////////////////debug////
//local.r = (int(getcvar test_randomchoice))
//local.t = (int(getcvar test_teamsize))
/////////////////////////debug////
//level.2assigned = 1
thread allied_squad_assignment local.r local.t local.weapon
}
else
{
local.r = randomint(axis.dmteam.size)+1
local.t = axis.dmteam.size
/////////////////////////debug////
//local.r = (int(getcvar test_randomchoice))
//local.t = (int(getcvar test_teamsize))
/////////////////////////debug////
thread axis_squad_assignment local.r local.t local.weapon
}
end
allied squad assignments
Code:
allied_squad_assignment local.r local.t local.weapon:
switch( local.r )
{
case 1:////////////Lieutenant - SMG SQUAD LEADER////////////
if(level.1assigned == 1 )
{
local.r = 2
goto allied_squad_assignment local.r local.t local.weapon
}
if(level.1assigned == nil)
level.1assigned = 1
self takeall
local.sub = (getcvar "SUB_SMGforM1")
switch( local.sub )
{
case 1:
self give ("models/weapons/m1_garand.tik")
self useweaponclass rifle
//local.rweapon = models/weapons/m1_garand.tik
//thread weapon_check local.rweapon local.weapon
break
default:
self give ("models/weapons/thompsonsmg.tik")
self useweaponclass smg
//local.rweapon = models/weapons/thompsonsmg.tik
//thread weapon_check local.rweapon local.weapon
break
}
self give ("models/weapons/colt45.tik")
self give ("models/weapons/m2frag_grenade.tik")
self ammo grenade 1
self model ("models/player/allied_airborne.tik")
wait 5
self iprint ("You are a Lieutenant - SQUAD LEADER ") 1
break
case 2:////////////Corporal - SNIPER SPECIALIST////////////
if(level.2assigned == 1 )
{
if(local.t <= 2)
{
local.r = 1
goto allied_squad_assignment local.r local.t local.weapon
}
else
{
local.r = 3
goto allied_squad_assignment local.r local.t local.weapon
}
}
if(level.2assigned == nil)
level.2assigned = 1
self takeall
self give ("models/weapons/svt_rifle.tik")
self give ("models/weapons/silencedpistol.tik")
self give ("models/weapons/RDG-1_Smoke_grenade.tik")
self ammo smokegrenade 2
self useweaponclass rifle
//local.rweapon = models/weapons/svt_rifle.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/allied_501st_pir_soldier.tik")
wait 5
self iprint ("You are a Corporal - SNIPER SPECIALIST") 1
break
case 3:////////////Seargent - BAR SPECIALIST////////////
if(level.3assigned == 1 )
{
if(local.t <= 3)
{
local.r = 1
goto allied_squad_assignment local.r local.t local.weapon
}
else
{
local.r = 4
goto allied_squad_assignment local.r local.t local.weapon
}
}
if(level.3assigned == nil)
level.3assigned = 1
self takeall
local.sub = (getcvar "SUB_MGforM1")
switch( local.sub )
{
case 1:
self give ("models/weapons/m1_garand.tik")
self useweaponclass rifle
//local.rweapon = models/weapons/m1_garand.tik
//thread weapon_check local.rweapon local.weapon
break
default:
self give ("models/weapons/bar.tik")
self useweaponclass smg
//local.rweapon = models/weapons/bar.tik
//thread weapon_check local.rweapon local.weapon
break
}
self give ("models/weapons/colt45.tik")
self give ("models/weapons/m2frag_grenade.tik")
self give ("models/weapons/RDG-1_Smoke_grenade.tik")
self ammo grenade 1
self ammo smokegrenade 1
self useweaponclass mg
//local.rweapon = models/weapons/bar.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/allied_501st_pir_soldier.tik")
wait 5
self iprint ("You are a Seargent - BAR SPECIALIST ") 1
break
case 4:////////////SPECIALIST RIFLER////////////
if(level.4assigned == 1 )
{
if(local.t <= 4)
{
local.r = 1
goto allied_squad_assignment local.r local.t local.weapon
}
else
{
local.r = 5
goto allied_squad_assignment local.r local.t local.weapon
}
}
if(level.4assigned == nil)
level.4assigned = 1
self takeall
self give ("models/weapons/enfield.tik")
self give ("models/weapons/colt45.tik")
self give ("models/weapons/m2frag_grenade.tik")
self ammo grenade 1
self useweaponclass rifle
//local.rweapon = models/weapons/enfield.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/allied_501st_Pir_scout.tik")
wait 5
self iprint ("You are a SPECIALIST - RIFLER") 1
break
case 5:////////////PRIVATE - RIFLER////////////
if(level.5assigned == 1 )
{
if(local.t <= 5)
{
local.r = 1
goto allied_squad_assignment local.r local.t local.weapon
}
else
{
local.r = 6
goto allied_squad_assignment local.r local.t local.weapon
}
}
if(level.5assigned == nil)
level.5assigned = 1
self takeall
self give ("models/weapons/enfield.tik")
self give ("models/weapons/colt45.tik")
self give ("models/weapons/m2frag_grenade.tik")
self ammo grenade 1
self useweaponclass rifle
//local.rweapon = models/weapons/enfield.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/allied_501st_Pir_scout.tik")
wait 5
self iprint ("You are a PRIVATE 1ST CLASS - RIFLER") 1
break
case 6:////////////PRIVATE - SCOUT////////////
if(level.6assigned == 1 )
{
if(local.local.t <= 6)
{
local.r = 1
goto allied_squad_assignment local.r local.t local.weapon
}
else
{
local.r = 6
goto allied_squad_assignment local.r local.t local.weapon
}
}
if(level.6assigned == nil)
level.6assigned = 1
self takeall
self give ("models/weapons/enfield.tik")
self give ("models/weapons/colt45.tik")
self give ("models/weapons/m2frag_grenade.tik")
self ammo grenade 1
self useweaponclass rifle
//local.rweapon = models/weapons/enfield.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/allied_501st_Pir_scout.tik")
wait 5
self iprint ("You are a PRIVATE - SCOUT RIFLER") 1
break
case 7:////////////PRIVATE - RIFLER////////////
if(level.7assigned == 1 )
{
if(local.t <= 7)
{
local.r = 1
goto allied_squad_assignment local.r local.t local.weapon
}
else
{
local.r = 8
goto allied_squad_assignment local.r local.t local.weapon
}
}
if(level.7assigned == nil)
level.7assigned = 1
self takeall
self give ("models/weapons/enfield.tik")
self give ("models/weapons/colt45.tik")
self give ("models/weapons/m2frag_grenade.tik")
self ammo grenade 1
self useweaponclass rifle
//local.rweapon = models/weapons/enfield.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/allied_501st_Pir_scout.tik")
wait 5
self iprint ("You are a PRIVATE 1st Class - RIFLER") 1
break
case 8:////////////PRIVATE - SCOUT RIFLER////////////
if(level.8assigned == 1 )
{
local.r = 1
wait .2
goto allied_squad_assignment local.r local.t local.weapon
}
if(level.8assigned == nil)
level.8assigned = 1
self takeall
self give ("models/weapons/enfield.tik")
self give ("models/weapons/colt45.tik")
self give ("models/weapons/m2frag_grenade.tik")
self ammo grenade 1
self useweaponclass rifle
//local.rweapon = models/weapons/enfield.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/allied_501st_Pir_scout.tik")
wait 5
self iprint ("You are a PRIVATE - SCOUT RIFLER") 1
break
default:////////////PRIVATE - RIFLER////////////
self takeall
self give ("models/weapons/enfield.tik")
self give ("models/weapons/colt45.tik")
self give ("models/weapons/m2frag_grenade.tik")
self ammo grenade 1
self useweaponclass rifle
//local.rweapon = models/weapons/enfield.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/allied_501st_Pir_scout.tik")
wait 5
self iprint ("You are a PRIVATE - RIFLER") 1
break
}
end
axis squad assignments
Code:
axis_squad_assignment local.r local.t local.weapon:
switch( local.r )
{
case 1://Gruppenführer - SMG SQUAD LEADER
if(level.1xassigned == 1 )
{
local.r = 2
goto aaxis_squad_assignment local.r local.t local.weapon
}
if(level.1xassigned == nil)
level.1xassigned = 1
self takeall
self give ("models/weapons/mp40.tik")
self give ("models/weapons/p38.tik")
self give ("models/weapons/steilhandgranate.tik")
self ammo grenade 1
self useweaponclass smg
//local.rweapon = models/weapons/mp40.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/German_wehrmacht_officer.tik")
wait 5
self iprint ("You are Gruppenführer - SQUAD LEADER ")
break
case 2://Scharfschützin - SNIPER SPECIALIST
if(level.2xassigned == 1 )
{
if(local.t <= 2)
{
local.r = 1
goto axis_squad_assignment local.r local.t local.weapon
}
else
{
local.r = 3
goto axis_squad_assignment local.r local.t local.weapon
}
}
if(level.2xassigned == nil)
level.2xassigned = 1
self takeall
self give ("models/weapons/g43.tik")
self give ("models/weapons/silencedpistol.tik")
self give ("models/weapons/RDG-1_Smoke_grenade.tik")
self ammo smokegrenade 2
self useweaponclass rifle
//local.rweapon = models/weapons/g43.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/german_wehrmacht_soldier.tik")
wait 5
self iprint ("You are Scharfschützin - SNIPER SPECIALIST ")
break
case 3://M.G.Schütze - MG SPECIALIST
if(level.3xassigned == 1 )
{
if(local.t <= 3)
{
local.r = 1
goto axis_squad_assignment local.r local.t local.weapon
}
else
{
local.r = 4
goto axis_squad_assignment local.r local.t local.weapon
}
}
if(level.3xassigned == nil)
level.3xassigned = 1
self takeall
self give ("models/weapons/mp44.tik")
self give ("models/weapons/p38.tik")
self give ("models/weapons/steilhandgranate.tik")
self give ("models/weapons/RDG-1_Smoke_grenade.tik")
self ammo grenade 1
self ammo smokegrenade 1
self useweaponclass mg
//local.rweapon = models/weapons/mp44.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/german_wehrmacht_soldier.tik")
wait 5
self iprint ("You are M.G.Schütze - MG SPECIALIST ")
break
case 4://Schützen - RIFLER
if(level.4xassigned == 1 )
{
if(local.t <= 4)
{
local.r = 1
goto axis_squad_assignment local.r local.t local.weapon
}
else
{
local.r = 5
goto axis_squad_assignment local.r local.t local.weapon
}
}
if(level.4xassigned == nil)
level.4xassigned = 1
self takeall
self give ("models/weapons/kar98.tik")
self give ("models/weapons/p38.tik")
self give ("models/weapons/steilhandgranate.tik")
self ammo grenade 1
self useweaponclass rifle
//local.rweapon = models/weapons/kar98.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/german_Kradshutzen.tik")
wait 5
self iprint ("You are Schützen - RIFLER ")
break
case 5://Schützen - RIFLER
if(level.5xassigned == 1 )
{
if(local.t <= 5)
{
local.r = 1
goto axis_squad_assignment local.r local.t local.weapon
}
else
{
local.r = 6
goto axis_squad_assignment local.r local.t local.weapon
}
}
if(level.5xassigned == nil)
level.5xassigned = 1
self takeall
self give ("models/weapons/kar98.tik")
self give ("models/weapons/p38.tik")
self give ("models/weapons/steilhandgranate.tik")
self ammo grenade 1
self useweaponclass rifle
//local.rweapon = models/weapons/kar98.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/german_Kradshutzen.tik")
wait 5
self iprint ("You are Schützen - RIFLER ")
break
case 6://Schützen - RIFLER
if(level.6xassigned == 1 )
{
if(local.local.t <= 6)
{
local.r = 1
goto axis_squad_assignment local.r local.t local.weapon
}
else
{
local.r = 6
goto axis_squad_assignment local.r local.t local.weapon
}
}
if(level.6xassigned == nil)
level.6xassigned = 1
self takeall
self give ("models/weapons/kar98.tik")
self give ("models/weapons/p38.tik")
self give ("models/weapons/steilhandgranate.tik")
self ammo grenade 1
self useweaponclass rifle
//local.rweapon = models/weapons/kar98.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/german_Kradshutzen.tik")
wait 5
self iprint ("You are Schützen - RIFLER ")
break
case 7://Schützen - RIFLER
if(level.7xassigned == 1 )
{
if(local.t <= 7)
{
local.r = 1
goto axis_squad_assignment local.r local.t local.weapon
}
else
{
local.r = 8
goto axis_squad_assignment local.r local.t local.weapon
}
}
if(level.7xassigned == nil)
level.7xassigned = 1
self takeall
self give ("models/weapons/kar98.tik")
self give ("models/weapons/p38.tik")
self give ("models/weapons/steilhandgranate.tik")
self ammo grenade 1
self useweaponclass rifle
//local.rweapon = models/weapons/kar98.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/german_Kradshutzen.tik")
wait 5
self iprint ("You are Schützen - RIFLER ")
break
case 8://Schützen - RIFLER
if(level.8xassigned == 1 )
{
local.r = 1
wait .2
goto axis_squad_assignment local.r local.t local.weapon
}
if(level.8xassigned == nil)
level.8xassigned = 1
self takeall
self give ("models/weapons/kar98.tik")
self give ("models/weapons/steilhandgranate.tik")
self ammo grenade 1
self useweaponclass rifle
//local.rweapon = models/weapons/kar98.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/german_Kradshutzen.tik")
wait 5
self iprint ("You are Schützen - RIFLER ")
break
default://Schützen - RIFLER
self takeall
self give ("models/weapons/kar98.tik")
self give ("models/weapons/p38.tik")
self give ("models/weapons/steilhandgranate.tik")
self ammo grenade 1
self useweaponclass rifle
//local.rweapon = models/weapons/kar98.tik
//thread weapon_check local.rweapon local.weapon
self model ("models/player/german_Kradshutzen.tik")
wait 5
self iprint ("You are Schützen - RIFLER ")
break
}
end