• TTT - Improving Weapons ( Lua Help )
    4 replies, posted
[CODE]AddCSLuaFile() SWEP.HoldType = "ar2" if CLIENT then SWEP.PrintName = "M16" SWEP.Slot = 2 SWEP.Icon = "VGUI/ttt/icon_m16" end SWEP.Base = "weapon_tttbase" SWEP.Spawnable = true SWEP.Kind = WEAPON_HEAVY SWEP.WeaponID = AMMO_M16 SWEP.Primary.Delay = 0.19 SWEP.Primary.Recoil = 1.6 SWEP.Primary.Automatic = true SWEP.Primary.Ammo = "Pistol" SWEP.Primary.Damage = 23 SWEP.Primary.Cone = 0.018 SWEP.Primary.ClipSize = 20 SWEP.Primary.ClipMax = 60 SWEP.Primary.DefaultClip = 20 SWEP.AutoSpawnable = true SWEP.AmmoEnt = "item_ammo_pistol_ttt" SWEP.UseHands = true SWEP.ViewModelFlip = false SWEP.ViewModelFOV = 64 SWEP.ViewModel = "models/weapons/cstrike/c_rif_m4a1.mdl" SWEP.WorldModel = "models/weapons/w_rif_m4a1.mdl" SWEP.Primary.Sound = Sound( "Weapon_M4A1.Single" ) SWEP.IronSightsPos = Vector(-7.58, -9.2, 0.55) SWEP.IronSightsAng = Vector(2.599, -1.3, -3.6) function SWEP:SetZoom(state) if CLIENT then return end if not (IsValid(self.Owner) and self.Owner:IsPlayer()) then return end if state then self.Owner:SetFOV(35, 0.5) else self.Owner:SetFOV(0, 0.2) end end -- Add some zoom to ironsights for this gun function SWEP:SecondaryAttack() if not self.IronSightsPos then return end if self:GetNextSecondaryFire() > CurTime() then return end bIronsights = not self:GetIronsights() self:SetIronsights( bIronsights ) if SERVER then self:SetZoom( bIronsights ) end self:SetNextSecondaryFire( CurTime() + 0.3 ) end function SWEP:PreDrop() self:SetZoom(false) self:SetIronsights(false) return self.BaseClass.PreDrop(self) end function SWEP:Reload() if (self:Clip1() == self.Primary.ClipSize or self.Owner:GetAmmoCount(self.Primary.Ammo) <= 0) then return end self:DefaultReload(ACT_VM_RELOAD) self:SetIronsights(false) self:SetZoom(false) end function SWEP:Holster() self:SetIronsights(false) self:SetZoom(false) return true end[/CODE] So - the above is pretty much the default code for the M16 for TTT. I'm going to try to learn lua instead of hiring a bunch of people from coder hire to do stuff for me, so - I have ideas on improving on the guns slightly such as less recoil when aiming down sighs and various other things - Would function SWEP:ShootBullet( damage, num_bullets, aimcone ) be useful for anything? Also - is there a way to set reload time to be longer / slower? Does swep weight effect guns in TTT? How fast does it change out?
[code]SWEP.Primary.Delay = 0.19 SWEP.Primary.Recoil = 1.6[/code] obvious enough. For the reload speed look into SWEP.Reload (here) [code]function SWEP:Reload() if (self:Clip1() == self.Primary.ClipSize or self.Owner:GetAmmoCount(self.Primary.Ammo) <= 0) then return end self:DefaultReload(ACT_VM_RELOAD) self:SetIronsights(false) self:SetZoom(false) end[/code] And yes swep weight does effect guns in TTT (I'm like 80% sure of this :P)
SWEP Weight traditionally affects weapon switch priority, so for example if you throw a grenade, the weapon you switch to thereafter is determined with Weight.
Swep deploy time is the new one - so for [CODE]function SWEP:ShootBullet( damage, num_bullets, aimcone ) local bullet = {} bullet.Num = num_bullets bullet.Src = self.Owner:GetShootPos() -- Source bullet.Dir = self.Owner:GetAimVector() -- Dir of bullet bullet.Spread = Vector( aimcone, aimcone, 0 ) -- Aim Cone bullet.Tracer = 5 -- Show a tracer on every x bullets bullet.Force = 1 -- Amount of force to give to phys objects bullet.Damage = damage bullet.AmmoType = "Pistol" self.Owner:FireBullets( bullet ) self:ShootEffects() end[/CODE] So where it says ( damage, num_bullets, aimcone ) - what does that mean? Does it mean it is only pulling the values out of the brackets? Also - how does aimcone work?
[QUOTE=Fscreams;44118567]Swep deploy time is the new one - so for [CODE]function SWEP:ShootBullet( damage, num_bullets, aimcone ) local bullet = {} bullet.Num = num_bullets bullet.Src = self.Owner:GetShootPos() -- Source bullet.Dir = self.Owner:GetAimVector() -- Dir of bullet bullet.Spread = Vector( aimcone, aimcone, 0 ) -- Aim Cone bullet.Tracer = 5 -- Show a tracer on every x bullets bullet.Force = 1 -- Amount of force to give to phys objects bullet.Damage = damage bullet.AmmoType = "Pistol" self.Owner:FireBullets( bullet ) self:ShootEffects() end[/CODE] So where it says ( damage, num_bullets, aimcone ) - what does that mean? Does it mean it is only pulling the values out of the brackets? Also - how does aimcone work?[/QUOTE] why are you changing ttt weps in the first place lol they are balanced and it will annoy people who are used to countering the recoil etc damage, num_bullets, aimcone are arguments damage is obv num_bullets is obvious dont worry about aimcone
Sorry, you need to Log In to post a reply to this thread.