Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Script seemingly making a delay? or pausing for a small amount of time?

Asked by 7 years ago

I know that renderstepped makes a delay, but for some reason, this script likes to pause the odd time when the players speed drops.

Character = game.Players.LocalPlayer.Character
local Delta = 0.05
local Recoil = 0
local Timer = 0
local Last = Character.Torso.Position
local CustomAnim = false

game:GetService("RunService").RenderStepped:connect(function()  
    local Speed = (Character.Torso.Position - Last).magnitude * Delta
    local Multiplier = Aiming and 0.02 or 0.05
    local LastSpeed = 0
            print(Speed)
    LastSpeed = Speed
    Timer = Timer + Speed
    local a = math.sin(Timer * 12) * Multiplier
    local av = Vector3.new(a * 2.5, math.abs(a * 1.5), 0)
    if Speed == 0 or  Speed == 0.1 then
        print('Triggered')
        a = 0
        av = Vector3.new(0,0,0)
    end
    --camera.CoordinateFrame = CFrame.new(camera.Focus.p) * (camera.CoordinateFrame - camera.CoordinateFrame.p) * CFrame.Angles(a/10, a/10, a/10) * CFrame.new(0, 0, (camera.Focus.p - camera.CoordinateFrame.p).magnitude)
    game.Workspace.Camera.Arms.Torso.Head.C1  = (CFrame.new(0, -1.5, 0) + av) * CFrame.Angles(-a/5, a/5, 0) * CFrame.new(0, 0, Recoil)
    Mouse.TargetFilter = workspace
    Character.Torso.Neck.C1 = CFrame.new()
    Character.Torso.Neck.C0 = CFrame.new(0, 1.5, 0) * CFrame.Angles(math.asin((Mouse.Hit.p - Mouse.Origin.p).unit.y), 0, 0)
    Last = Character.Torso.Position
end)

0
The .RenderStepped event fires each time right before the next frame renders, wich depends on your FPS. RubenKan 3615 — 7y
0
RenderStepped prevents the next frame from rendering. Use heartbeat if it must be a 60hz loop but if you need to do camera movement, use a renderstepped loop, Just use them both sparingly. plasma_node 343 — 7y

Answer this question