Weapons script

Discussion forum for TWL Servers, Maps and Mods: Look here for all the latest on new maps and mods. Got a MOD request? All support, discussion and development.

Moderator: ViPER

Post Reply
ViPER
Supreme Commander
Supreme Commander
Posts: 1398
Joined: Fri Mar 22, 2002 2:16 am
Location: Verschneit
Contact:

Weapons script

Post by ViPER »

Here is the script i wrote for dynamic control of all weapons on the server :thumbup1:

Code: Select all

main local.weapon:

local.sweapmode = (int(getcvar same_weapon))

switch( local.sweapmode )
	{
	case 1://BOLTS ONLY MODE//////////////////////BOLTS ONLY MODE
        
local.gasb = (getcvar use_gasb)

	waitframe   //added

if (self.dmteam == "allies")
	{
	local.team = 2
	local.nadeis = ("models/weapons/m2frag_grenade.tik")
	//local.smokeis = ("models/weapons/m18_smoke_grenade.tik")
	local.sweapon = ("models/weapons/colt45.tik")
waitframe
self take "models/weapons/colt45.tik"
self take "models/weapons/Nagant_revolver.tik"
self take "models/weapons/webley_revolver.tik"
waitframe

	switch( local.gasb )
        	{
                case 1:
		local.smokeis = ("models/weapons/m18_smoke_grenade.tik")
                break
                default:
		local.smokeis = ("models/weapons/RDG-1_Smoke_grenade.tik")
		self take "models/weapons/m18_smoke_grenade.tik"
                break
               	}

	switch( local.weapon )
        	{
                case "models/weapons/enfield.tik":
		local.sweapon = ("models/weapons/Webley_Revolver.tik")
                break
                case "models/weapons/mosin_nagant_rifle.tik":
		local.sweapon = ("models/weapons/Nagant_revolver.tik")
                break
                case "models/weapons/springfield.tik":
		local.sweapon = ("models/weapons/silencedpistol.tik")
                break
                case "models/weapons/kar98sniper.tik":
		local.sweapon = ("models/weapons/silencedpistol.tik")
                break
               	}
	}
	else
	{
	local.team = 3
	local.nadeis = ("models/weapons/steilhandgranate.tik")
	//local.smokeis = ("models/weapons/nebelhandgranate.tik")
	local.sweapon = ("models/weapons/p38.tik")
waitframe
self take "models/weapons/p38.tik"
waitframe

	switch( local.gasb )
        	{
                case 1:
		local.smokeis = ("models/weapons/nebelhandgranate.tik")
                break
                case default:
		local.smokeis = ("models/weapons/RDG-1_Smoke_grenade.tik")
		self take "models/weapons/nebelhandgranate.tik"
                break
               	}

	switch( local.weapon )
        	{
                case "models/weapons/springfield.tik":
		local.sweapon = ("models/weapons/silencedpistol.tik")
                break
                case "models/weapons/kar98sniper.tik":
		local.sweapon = ("models/weapons/silencedpistol.tik")
                break
               	}
	}

local.knife = int(getcvar use_knifeb)

	waitframe   //added

if(local.knife != 0)
	{
    	self give "models/weapons/throwing_knife.tik"
	local.knife = ( local.knife - 6 )
	self ammo knife local.knife
	}

////////////////////////////////////////////////////////////////////////////////dbug
	//self iprint local.smokeis
////////////////////////////////////////////////////////////////////////////////dbug

local.smoke = int(getcvar use_smokeb)

	waitframe   //added

if(local.smoke != 0)
	{
    	self give local.smokeis
	self ammo smokegrenade local.smoke
	}

local.nade = int(getcvar use_nadeb)

	waitframe   //added

if(local.nade != 0)
	{
    	self give local.nadeis
	self ammo grenade local.nade
	}

local.secondary = int(getcvar use_secondaryb)

	waitframe

if(local.secondary != 0)
	{
	local.pistol_ammo = int(getcvar pistol_ammo)
    	self give local.sweapon
	self ammo pistol local.pistol_ammo
	}

        break
        case 2://SAME & LIKE MODE//////////////////////SAME & LIKE MODE
self takeall

local.gasl = (getcvar use_gasl)

	//waitframe

if (self.dmteam == "allies")
	{
	local.team = 2
	local.nadeis = ("models/weapons/m2frag_grenade.tik")
	//local.smokeis = ("models/weapons/m18_smoke_grenade.tik")

	if(local.gasl == "1")
		{
		local.smokeis = ("models/weapons/m18_smoke_grenade.tik")
		}
		else
		{
		local.smokeis = ("models/weapons/RDG-1_Smoke_grenade.tik")
		}

	}
	else
	{
	local.team = 3
	local.nadeis = ("models/weapons/steilhandgranate.tik")
	//local.smokeis = ("models/weapons/nebelhandgranate.tik")

	if(local.gasl == "1")
		{
		local.smokeis = ("models/weapons/nebelhandgranate.tik")
		}
		else
		{
		local.smokeis = ("models/weapons/RDG-1_Smoke_grenade.tik")
		}
	}

local.primary = int(getcvar use_primaryl)

local.secondary = int(getcvar use_secondaryl)

if(local.primary != 0)
	{
	local.class = level.weapon_primary[local.primary][4]

	local.prim = level.weapon_primary[local.primary][local.team]

    	self give ("models/weapons/" + local.prim + ".tik")

	self useweaponclass local.class
	}

	waitframe   //added

if(local.secondary != 0)
	{
	local.pistol_ammo = int(getcvar pistol_ammo)

	local.sec = level.weapon_secondary[local.secondary][local.team]

    	self give ("models/weapons/" + local.sec + ".tik")

	self ammo pistol local.pistol_ammo
	}

local.knife = int(getcvar use_knifel)

	waitframe   //added

if(local.knife != 0)
	{
    	self give "models/weapons/throwing_knife.tik"
	local.knife = ( local.knife - 6 )
	self ammo knife local.knife
	}

local.smoke = int(getcvar use_smokel)

	waitframe   //added

if(local.smoke != 0)
	{
    	self give local.smokeis
	self ammo smokegrenade local.smoke
	}

local.nade = int(getcvar use_nadel)

	waitframe   //added

if(local.nade != 0)
	{
    	self give local.nadeis
	self ammo grenade local.nade
	}

        break
        case 3://RAPID RIFLE MODE///////////////////////RAPID RIFLE MODE
        self takeall
	self give ("models/weapons/m1_garand.tik")
    	self give ("models/weapons/colt45.tik")
	self give ("models/weapons/m2frag_grenade.tik")
	self ammo grenade 1
	self useweaponclass rifle
        break
	case 4://RAPID SNIPER MODE//////////////////////RAPID SNIPER MODE
        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
        break
        case 5://HEAVY MOD//////////////////////////////HEAVY MOD
        self takeall
	self give ("models/weapons/bazooka.tik")
    	self give ("models/weapons/silencedpistol.tik")
	self ammo pistol 150
	self ammo heavy 6
	self useweaponclass heavy
        break
	case 6://HEAVY MODE 2///////////////////////////HEAVY MODE 2
        self takeall
	self give ("models/weapons/m2frag_grenade.tik")
    	self give ("models/weapons/silencedpistol.tik")
	self ammo pistol 150
	self ammo grenade 5
	self useweaponclass grenade
        break
        case 7://HEAVY MODE 3///////////////////////////HEAVY MODE 3
        self takeall
	self give ("models/weapons/bazooka.tik")
    	self give ("models/weapons/silencedpistol.tik")
	self give ("models/weapons/m2frag_grenade.tik")
	self ammo heavy 6
	self ammo pistol 150
	self ammo grenade 5
	self useweaponclass heavy
        break
        case 8://ALL PISTOLS ONLY///////////////////////////ALL PISTOLS ONLY
        self takeall
    	self give ("models/weapons/silencedpistol.tik")
    	self give ("models/weapons/Nagant_revolver.tik")
    	//self give ("models/weapons/Webley_Revolver.tik")
    	self give ("models/weapons/colt45.tik")
    	//self give ("models/weapons/p38.tik")
    	self give ("models/weapons/melee.tik")
	self ammo pistol 40
	self useweaponclass pistol
        break
        default://ALL WEAPON MODE//////////////////////ALL WEAPON MODE

local.gasa = (getcvar use_gasa)

	waitframe   //added

if (self.dmteam == "allies")
	{
	local.team = 2
	local.nadeis = ("models/weapons/m2frag_grenade.tik")
	//local.smokeis = ("models/weapons/m18_smoke_grenade.tik")
	local.sweapon = ("models/weapons/colt45.tik")
waitframe
self take "models/weapons/colt45.tik"
self take "models/weapons/Nagant_revolver.tik"
self take "models/weapons/webley_revolver.tik"
wait .1

	switch( local.gasa )
        	{
                case 1:
		local.smokeis = ("models/weapons/m18_smoke_grenade.tik")
                break
                default:
		local.smokeis = ("models/weapons/RDG-1_Smoke_grenade.tik")
		self take "models/weapons/m18_smoke_grenade.tik"
                break
               	}

	switch( local.weapon )
        	{
                case "models/weapons/enfield.tik":
		local.sweapon = ("models/weapons/Webley_Revolver.tik")
                break
                case "models/weapons/mosin_nagant_rifle.tik":
		local.sweapon = ("models/weapons/Nagant_revolver.tik")
                break
                case "models/weapons/springfield.tik":
		local.sweapon = ("models/weapons/silencedpistol.tik")
                break
                case "models/weapons/kar98sniper.tik":
		local.sweapon = ("models/weapons/silencedpistol.tik")
                break
               	}
	}
	else
	{
	local.team = 3
	local.nadeis = ("models/weapons/steilhandgranate.tik")
	//local.smokeis = ("models/weapons/nebelhandgranate.tik")
	local.sweapon = ("models/weapons/p38.tik")
waitframe
self take "models/weapons/p38.tik"
wait .1

	switch( local.gasa )
        	{
                case 1:
		local.smokeis = ("models/weapons/nebelhandgranate.tik")
                break
                case default:
		local.smokeis = ("models/weapons/RDG-1_Smoke_grenade.tik")
		self take "models/weapons/nebelhandgranate.tik"
                break
               	}

	switch( local.weapon )
        	{
                case "models/weapons/springfield.tik":
		local.sweapon = ("models/weapons/silencedpistol.tik")
                break
                case "models/weapons/kar98sniper.tik":
		local.sweapon = ("models/weapons/silencedpistol.tik")
                break
               	}
	}

local.knife = int(getcvar use_knifea)

	waitframe   //added

if(local.knife != 0)
	{
    	self give "models/weapons/throwing_knife.tik"
	local.knife = ( local.knife - 6 )
	self ammo knife local.knife
	}

local.smoke = int(getcvar use_smokea)

	waitframe   //added

if(local.smoke != 0)
	{
    	self give local.smokeis
	self ammo smokegrenade local.smoke
	}

local.nade = int(getcvar use_nadea)

	waitframe   //added

if(local.nade != 0)
	{
    	self give local.nadeis
	self ammo grenade local.nade
	}

local.secondary = int(getcvar use_secondarya)

waitframe

if(local.secondary != 0)
	{
	local.pistol_ammo = int(getcvar pistol_ammo)
    	self give local.sweapon
	self ammo pistol local.pistol_ammo
	}

        break
        }//END SWITCH

////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////

if(int(getcvar "binocs") == 0)
	self take "models/items/binoculars.tik"

local.melee = int(getcvar use_melee)

if(local.melee == 1)
	{
    	self give ("models/weapons/melee.tik")
	}

local.addsec = int(getcvar use_addsecondary)

	switch( local.addsec )
        	{
                case 1:
    		self give ("models/weapons/Webley_Revolver.tik")
                break
                case 2:
    		self give ("models/weapons/Nagant_revolver.tik")
                break
                case 3:
    		self give ("models/weapons/colt45.tik")
                break
                case 4:
    		self give ("models/weapons/p38.tik")
                break
                case 5:
    		self give ("models/weapons/silencedpistol.tik")
                break
               	}

////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////

if (local.sweapmode <= 1) 
	{
	local.rifle_ammo = int(getcvar rifle_ammo)
	wait .02
	local.smg_ammo = int(getcvar smg_ammo)
	wait .02
	local.mg_ammo = int(getcvar mg_ammo)
	wait .02
	local.heavy_ammo = int(getcvar heavy_ammo)
	wait .02
	local.rnade_ammo = int(getcvar riflenade_ammo)
	wait .02
	local.shot_ammo = int(getcvar shotgun_ammo)
	wait .02
	self ammo rifle local.rifle_ammo
	wait .02
	self ammo smg local.smg_ammo
	wait .02
	self ammo mg local.mg_ammo
	wait .02
	self ammo heavy local.heavy_ammo
	wait .02
	self ammo riflegrenade local.rnade_ammo
	wait .02
	self ammo shotgun local.shot_ammo
	}
	else if(local.sweapmode == 2)
	{
	local.rifle_ammol = int(getcvar rifle_ammol)
	wait .02
	local.smg_ammol = int(getcvar smg_ammol)
	wait .02
	local.mg_ammol = int(getcvar mg_ammol)
	wait .02
	local.heavy_ammol = int(getcvar heavy_ammol)
	wait .02
	local.rnade_ammol = int(getcvar riflenade_ammol)
	wait .02
	local.shot_ammol = int(getcvar shotgun_ammol)
	wait .02
	self ammo rifle local.rifle_ammol
	wait .02
	self ammo smg local.smg_ammol
	wait .02
	self ammo mg local.mg_ammol
	wait .02
	self ammo heavy local.heavy_ammol
	wait .02
	self ammo riflegrenade local.rnade_ammol
	wait .02
	self ammo shotgun local.shot_ammol
	}
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////

wait 1

local.fweapon = (getcvar "gunonly")

if(local.fweapon != "0")
	self iprint ("Forcing " + local.fweapon + " only!" )

waitframe

level.gunonly = 0

//if(getcvar "gunonly" != "0" && getcvar "gunonly" != NIL)
//	self iprint ("Forcing " + local.weapon + " only!" )

end
Post Reply