Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function code_gs.weapons.SelectWeapon(pPlayer, Weapon)
- if (isstring(Weapon)) then
- local pWeapon = pPlayer:GetWeapon(Weapon)
- if (pWeapon:IsValid()) then
- code_gs.weapons.NewWeapons[pPlayer] = pWeapon
- code_gs.weapons.LastWeapon[pPlayer] = pPlayer:GetActiveWeapon()
- end
- elseif (Weapon:IsValid() and Weapon:GetOwner() == pPlayer) then
- code_gs.weapons.NewWeapons[pPlayer] = Weapon
- code_gs.weapons.LastWeapon[pPlayer] = pPlayer:GetActiveWeapon()
- end
- end
- --------------------------------------------------------------
- hook.Add("StartCommand", "GS-Weapons-Shared SelectWeapon", function(pPlayer, cmd)
- local pNewWeapon = code_gs.weapons.NewWeapons[pPlayer]
- if (pNewWeapon) then
- local pActiveWeapon = pPlayer:GetActiveWeapon()
- if (pNewWeapon == pActiveWeapon or not (code_gs.weapons.LastWeapon[pPlayer] ~= pActiveWeapon and pNewWeapon:IsValid() and pNewWeapon:GetOwner() == pPlayer)) then
- code_gs.weapons.NewWeapons[pPlayer] = nil
- code_gs.weapons.LastWeapon[pPlayer] = nil
- else
- -- Sometimes does not work the first time
- cmd:SelectWeapon(pNewWeapon)
- end
- end
- end)
- --------------------------------------------------------------
- if (self.HolsterReloadTime ~= -1) then
- local flReloadTime = CurTime() + self.HolsterReloadTime
- local sName = "GS-Weapons-Holster reload-%u-" .. self:EntIndex()
- for i = 0, self.ViewModelCount - 1 do
- if (self:EventActive("reload_" .. i)) then
- local sName = string.format(sName, i)
- hook.Add("Tick", sName, function()
- if (self == NULL or self:IsActiveWeapon()) then
- hook.Remove("Tick", sName)
- elseif (CurTime() >= flReloadTime) then
- -- Do stuff that doesn't require validity checks
- --------------------------------------------------------------------
- function SWEP:CalcViewModelView(pViewModel, vPos, aRot, vNewPos, aNewRot)
- if (self:GetOwner():IsValid()) then
- local vTemp, aTemp = self:CalcViewModelOffset(pViewModel)
- vPos, ang = LocalToWorld(vTemp, aTemp, vPos, aRot) -- Faster than calculating each component manually in the Lua state
- -- FIXME: Is that right? Also, make it work for post-bob values
- return code_gs.weapons.GetBobType(self.BobStyle)(self, pViewModel, vPos, aRot, vNewPos, aNewRot)
- end
- end
- --------------------------------------------------------------------
- function SWEP:PreDrawViewModel(pViewModel)
- if (pViewModel) then
- -- Do stuff
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement