3DL1N

Untitled

Dec 5th, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.60 KB | None | 0 0
  1. // -----------------------
  2.     //  Reload pressed / Clip Empty
  3.     // -----------------------
  4.     if ( ( pOwner->m_nButtons & IN_RELOAD ) && UsesClipsForAmmo1() && !m_bInReload )
  5.     {
  6.         if (CheckReloadButton())
  7.         {
  8.             // Update reload hold time only once
  9.             if (m_bReloadHolding >= 2.0f)
  10.             {
  11.                 CheckAmmo();
  12.             }
  13.         }
  14.         else
  15.         {
  16.             // reload when reload is pressed, or if no buttons are down and weapon is empty.
  17.             Reload();
  18.             m_fFireDuration = 0.0f;
  19.         }
  20.     }
  21.  
  22.  
  23. //-----------------------------------------------------------------------------
  24. // Purpose:
  25. //-----------------------------------------------------------------------------
  26. bool CBaseCombatWeapon::CheckReloadButton(void)
  27. {
  28.     CBasePlayer *pOwner = ToBasePlayer(GetOwner());
  29.     if (!pOwner)
  30.         return;
  31.  
  32.     pOwner->m_nButtons & IN_RELOAD; // don't reload again until released
  33.     return true;
  34.  
  35.     //Don't reload again if it's been too soon
  36.     if (m_flReloadTime > gpGlobals->curtime)
  37.         return;
  38.  
  39.     //See if we're starting a hold button
  40.     if (m_bReloadHolding == false)
  41.     {
  42.         m_flReloadHoldStartTime = gpGlobals->curtime;
  43.         m_bReloadHolding = true;
  44.         return;
  45.     }
  46.     else
  47.     {
  48.         float flReloadAmount = (gpGlobals->curtime - m_flReloadHoldStartTime) / WEAPON_RELOAD_CHECK_TIME;
  49.         if (flReloadAmount > 1.0f)
  50.         {
  51.             flReloadAmount = 1.0f;
  52.         }
  53.     }
  54.  
  55. }
  56.  
  57. bool CBaseCombatWeapon::CheckAmmo(void)
  58. {
  59.     CBasePlayer *pOwner = ToBasePlayer(GetOwner());
  60.     if (!pOwner)
  61.         return;
  62.  
  63.     m_bReloadHolding = false;
  64.     m_flReloadTime = gpGlobals->curtime + 0.5f;
  65.  
  66.     // Play the player's check ammo animation
  67.     if (pOwner->IsPlayer())
  68.     {
  69.         SendWeaponAnim(ACT_VM_FIDGET);;
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment