Garry's Mod Wiki


  boolean IsFirstTimePredicted()


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 (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.

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


1 boolean
Whether or not this is the first time being predicted.


An override for GM:KeyPress, 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 then timer.Simple(0.05, function() RunConsoleCommand("+voicerecord") end) end end