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

When the tool Is unequipped, It causes massive amount of lag, why Is that?

Asked by 2 years ago
Edited 2 years ago

The title says It all, when the tool Is unequip, It causes massive lag, however It stops when the beams despawn

Edit: Lag happens ONLY In testing

Script:

local Tool = script.Parent

Tool.RemoteEvent.OnServerEvent:Connect(function()
    local Anim = Tool.Parent.Humanoid:FindFirstChild("Animator"):LoadAnimation(Tool.Animation)
    Anim:Play()
    wait(2.43)
    Tool.RandomSound:Play()
    local Lazer = Instance.new("Part",game.Workspace)
    local Lazer2 = Instance.new("Part",game.Workspace)
    Lazer.Position = Tool.Parent.Torso.Position
    Lazer.Orientation = Tool.Parent.Torso.Orientation
    Lazer.Size = Vector3.new(1.716, 1.741, 0.412)
    Lazer.CanCollide = false
    Lazer.Anchored = true
    Lazer.CastShadow = false
    Lazer.Material = Enum.Material.Neon
    Lazer2.Position = Tool.Parent.Torso.Position
    Lazer2.Orientation = Tool.Parent.Torso.Orientation
    Lazer2.Size = Vector3.new(0.578, 1.741, 1.267)
    Lazer2.CanCollide = false
    Lazer2.Anchored = true
    Lazer2.CastShadow = false
    Lazer2.Material = Enum.Material.Neon
    for i=0, 50 do
        Lazer.Size = Lazer.Size + Vector3.new(0,0,2)
        Lazer.BrickColor = BrickColor.random()
        Lazer2.Size = Lazer2.Size + Vector3.new(2,0,0)
        Lazer2.BrickColor = BrickColor.random()
        Lazer.Touched:Connect(function(hit)
            local Humanoid = hit.Parent:WaitForChild("Humanoid")
            if Humanoid ~= Tool.Parent.Humanoid then
                Humanoid:TakeDamage(50)
                Humanoid.Sit = true
            end
        end)
        Lazer2.Touched:Connect(function(hit)
            local Humanoid = hit.Parent:WaitForChild("Humanoid")
            if Humanoid ~= Tool.Parent.Humanoid then
                Humanoid:TakeDamage(50)
                Humanoid.Sit = true
            end
        end)
        wait(.01)
    end
    game:GetService("Debris"):AddItem(Lazer,0)
    game:GetService("Debris"):AddItem(Lazer2,0)
end)
0
put `Lazer.Touched` and `Lazer2.Touched` functions before `for i =0, 50 do`, reduces lag? imKirda 4491 — 2y
0
you can use AnimationEvents to sync the timing better and from what kirda said you Prop Connected 50 events of on touch  Puppynniko 1059 — 2y

Answer this question