IsFirstTimePredicted
boolean IsFirstTimePredicted()
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 (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.
Returns
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