Advertisement
Guest User

Untitled

a guest
Mar 1st, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. function code_gs.weapons.SelectWeapon(pPlayer, Weapon)
  2. if (isstring(Weapon)) then
  3. local pWeapon = pPlayer:GetWeapon(Weapon)
  4.  
  5. if (pWeapon:IsValid()) then
  6. code_gs.weapons.NewWeapons[pPlayer] = pWeapon
  7. code_gs.weapons.LastWeapon[pPlayer] = pPlayer:GetActiveWeapon()
  8. end
  9. elseif (Weapon:IsValid() and Weapon:GetOwner() == pPlayer) then
  10. code_gs.weapons.NewWeapons[pPlayer] = Weapon
  11. code_gs.weapons.LastWeapon[pPlayer] = pPlayer:GetActiveWeapon()
  12. end
  13. end
  14. --------------------------------------------------------------
  15. hook.Add("StartCommand", "GS-Weapons-Shared SelectWeapon", function(pPlayer, cmd)
  16. local pNewWeapon = code_gs.weapons.NewWeapons[pPlayer]
  17.  
  18. if (pNewWeapon) then
  19. local pActiveWeapon = pPlayer:GetActiveWeapon()
  20.  
  21. if (pNewWeapon == pActiveWeapon or not (code_gs.weapons.LastWeapon[pPlayer] ~= pActiveWeapon and pNewWeapon:IsValid() and pNewWeapon:GetOwner() == pPlayer)) then
  22. code_gs.weapons.NewWeapons[pPlayer] = nil
  23. code_gs.weapons.LastWeapon[pPlayer] = nil
  24. else
  25. -- Sometimes does not work the first time
  26. cmd:SelectWeapon(pNewWeapon)
  27. end
  28. end
  29. end)
  30. --------------------------------------------------------------
  31. if (self.HolsterReloadTime ~= -1) then
  32. local flReloadTime = CurTime() + self.HolsterReloadTime
  33. local sName = "GS-Weapons-Holster reload-%u-" .. self:EntIndex()
  34.  
  35. for i = 0, self.ViewModelCount - 1 do
  36. if (self:EventActive("reload_" .. i)) then
  37. local sName = string.format(sName, i)
  38.  
  39. hook.Add("Tick", sName, function()
  40. if (self == NULL or self:IsActiveWeapon()) then
  41. hook.Remove("Tick", sName)
  42. elseif (CurTime() >= flReloadTime) then
  43. -- Do stuff that doesn't require validity checks
  44. --------------------------------------------------------------------
  45. function SWEP:CalcViewModelView(pViewModel, vPos, aRot, vNewPos, aNewRot)
  46. if (self:GetOwner():IsValid()) then
  47. local vTemp, aTemp = self:CalcViewModelOffset(pViewModel)
  48. vPos, ang = LocalToWorld(vTemp, aTemp, vPos, aRot) -- Faster than calculating each component manually in the Lua state
  49. -- FIXME: Is that right? Also, make it work for post-bob values
  50. return code_gs.weapons.GetBobType(self.BobStyle)(self, pViewModel, vPos, aRot, vNewPos, aNewRot)
  51. end
  52. end
  53. --------------------------------------------------------------------
  54. function SWEP:PreDrawViewModel(pViewModel)
  55. if (pViewModel) then
  56. -- Do stuff
  57. end
  58. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement