IsFirstTimePredicted

From Garry's Mod
Jump to: navigation, search
 IsFirstTimePredicted( )

Contents

Description

Returns if this is the first time this hook was predicted.

This is useful for one-time logic in your SWEPs PrimaryAttack, SecondaryAttack and Reload and other predicted hooks (to prevent those hooks from being called rapidly in succession). It's also useful in a Move hook for when the client predicts movement.

Visit Prediction for more information about this behavior.

NOTE

This is already used internally for Entity:EmitSound, Weapon:SendWeaponAnim and Entity:FireBullets, but NOT in util.Effect.

Returns

boolean

Whether or not this is the first time being predicted.

Examples

Example

An override for GM:KeyPress in the gamemode Trouble in Terrorist Town, to work around the hook being called multiple times.

-- Note that for some reason KeyPress and KeyRelease are called multiple times
-- for the same key event in multiplayer.
function GM:KeyPress(ply, key)
   if not IsFirstTimePredicted() then return end
   if not IsValid(ply) or ply != LocalPlayer() then return end

   if key == IN_SPEED and ply:IsActiveTraitor() then
      timer.Simple(0.05, function() RunConsoleCommand("+voicerecord") end)
   end
end


Personal tools
Navigation