LUX anims
Key RequiredUniversal

LUX anims

Universal ScriptAceii_Aceii_ 870 views 248 executesUpdated Dec 21, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•233 lines (7780 chars)
-- Roblox LocalScript - NO JUMP + FIXED VISUALIZATION (mild zoom + vignette pulse)
-- Jump anim REMOVED + JUMPING DISABLED (JumpPower = 0, JumpHeight = 0)

local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local animateScript = character:WaitForChild("Animate")
local camera = workspace.CurrentCamera

-- DISABLE JUMPING COMPLETELY
humanoid.JumpPower = 0
humanoid.JumpHeight = 0
humanoid.PlatformStand = false  -- Prevent any jump exploits

-- Disable default Animate
animateScript.Disabled = true

-- Animation IDs (NO JUMP ANIM)
local loadAnimId = "rbxassetid://107173848541514"
local idleAnimId = "rbxassetid://121480327509940"
local walkAnimId = "rbxassetid://99498309796580"
local runAnimId = "rbxassetid://133284420439423"
local emote1Id = "rbxassetid://87033513223989"
local emote2Id = "rbxassetid://111993447655346"
local emote1SongId = "rbxassetid://81127387662817"
local emote2SongId = "rbxassetid://114323109086001"

-- Speeds
local walkSpeed = 7
local runSpeed = 25
humanoid.WalkSpeed = runSpeed

-- Create animations
local function createAnim(id, name, priority, looped)
    local anim = Instance.new("Animation")
    anim.AnimationId = id
    anim.Name = name
    local track = humanoid:LoadAnimation(anim)
    track.Priority = priority or Enum.AnimationPriority.Action
    track.Looped = looped or false
    return track
end

-- Movement tracks (NO JUMP)
local loadTrack = createAnim(loadAnimId, "LoadAnim", Enum.AnimationPriority.Core, false)
local idleTrack = createAnim(idleAnimId, "Idle", Enum.AnimationPriority.Core, true)
local walkTrack = createAnim(walkAnimId, "Walk", Enum.AnimationPriority.Movement, true)
local runTrack = createAnim(runAnimId, "Run", Enum.AnimationPriority.Movement, true)

-- Emote tracks (looped)
local emote1Track = createAnim(emote1Id, "Emote1", Enum.AnimationPriority.Action, true)
local emote2Track = createAnim(emote2Id, "Emote2", Enum.AnimationPriority.Action, true)

-- Sound & emote management
local currentSound = nil
local currentEmoteTrack = nil

local function playEmoteWithSound(emoteTrack, soundId)
    -- Stop previous
    if currentEmoteTrack then currentEmoteTrack:Stop() end
    if currentSound then currentSound:Stop() currentSound:Destroy() end
    
    -- Start emote
    emoteTrack:Play()
    currentEmoteTrack = emoteTrack
    
    -- Start sound (looped)
    local sound = Instance.new("Sound")
    sound.SoundId = soundId
    sound.Volume = 0.5
    sound.Looped = true
    sound.Parent = character:FindFirstChild("HumanoidRootPart") or character
    sound:Play()
    currentSound = sound
end

local function stopEmoteAndSound()
    if currentEmoteTrack then currentEmoteTrack:Stop() currentEmoteTrack = nil end
    if currentSound then currentSound:Stop() currentSound:Destroy() currentSound = nil end
end

-- Movement detection (NO JUMP HANDLING)
humanoid.Running:Connect(function(speed)
    local isMoving = speed > 0.1
    
    -- Movement anims
    if isMoving then
        idleTrack:Stop()
        if humanoid.WalkSpeed == walkSpeed then
            walkTrack:Play() runTrack:Stop()
        else
            runTrack:Play() walkTrack:Stop()
        end
        -- STOP EMOTE ON MOVE
        if currentEmoteTrack then stopEmoteAndSound() end
    else
        walkTrack:Stop() runTrack:Stop()
        if not currentEmoteTrack then idleTrack:Play() end
    end
end)

-- NO JUMP EVENT CONNECTED

-- Walk/Run toggle
local uis = game:GetService("UserInputService")
uis.InputBegan:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.LeftShift then humanoid.WalkSpeed = walkSpeed end
end)
uis.InputEnded:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.LeftShift then humanoid.WalkSpeed = runSpeed end
end)

-- 🎵 SONG VISUALIZATION: MILD ZOOM + VIGNETTE PULSE
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")

local originalFOV = camera.FieldOfView
local BASE_FOV = 70
local MAX_ZOOM_IN = 10  -- Mild: 70 → 60 FOV
local zoomSensitivity = 8

-- VIGNETTE EFFECT
local screenGui = Instance.new("ScreenGui")
screenGui.IgnoreGuiInset = true
screenGui.Parent = player:WaitForChild("PlayerGui")

local vignette = Instance.new("Frame")
vignette.Size = UDim2.new(2, 0, 2, 0)
vignette.Position = UDim2.new(-0.5, 0, -0.5, 0)
vignette.BackgroundColor3 = Color3.new(0, 0, 0)
vignette.BackgroundTransparency = 1
vignette.ZIndex = -1
vignette.Parent = screenGui

-- Smooth tweens
local currentZoomTween = nil
local function updateZoom(targetFOV)
    if currentZoomTween then currentZoomTween:Cancel() end
    currentZoomTween = TweenService:Create(camera, 
        TweenInfo.new(0.12, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), 
        {FieldOfView = targetFOV}
    )
    currentZoomTween:Play()
end

local currentVignTween = nil
local function updateVignette(targetTrans)
    if currentVignTween then currentVignTween:Cancel() end
    currentVignTween = TweenService:Create(vignette, 
        TweenInfo.new(0.1, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), 
        {BackgroundTransparency = targetTrans}
    )
    currentVignTween:Play()
end

-- SONG VISUALIZATION LOOP
local heartbeatConn = RunService.Heartbeat:Connect(function()
    if currentSound and currentSound.Playing and currentSound.TimeLength > 0 then
        local playbackPos = currentSound.TimePosition / currentSound.TimeLength
        local volumeEffect = currentSound.Volume * 2
        local dynamicZoom = volumeEffect * zoomSensitivity * math.sin(playbackPos * math.pi * 2)
        local targetFOV = math.max(BASE_FOV - MAX_ZOOM_IN, BASE_FOV - (dynamicZoom * 3))
        
        updateZoom(targetFOV)
        
        local bassPulse = 0.7 + (volumeEffect * 0.3 * math.abs(math.sin(playbackPos * math.pi * 4)))
        updateVignette(bassPulse)
        
    else
        updateZoom(originalFOV)
        updateVignette(1)
    end
end)

-- GUI
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 220, 0, 170)
frame.Position = UDim2.new(0, 10, 0.5, -85)
frame.BackgroundColor3 = Color3.new(0, 0, 0)
frame.BackgroundTransparency = 0.3
frame.Parent = screenGui

local title = Instance.new("TextLabel")
title.Text = "Emotes (LOOP → Move to Stop) 🚫JUMP"
title.Size = UDim2.new(1, 0, 0, 35)
title.BackgroundTransparency = 1
title.TextColor3 = Color3.new(1,1,1)
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.Parent = frame

local btn1 = Instance.new("TextButton")
btn1.Text = "🎵 Emote 1 + VISUALS"
btn1.Size = UDim2.new(1, -20, 0, 45)
btn1.Position = UDim2.new(0, 10, 0, 45)
btn1.BackgroundColor3 = Color3.new(0.2, 0.8, 0.2)
btn1.TextColor3 = Color3.new(1,1,1)
btn1.TextScaled = true
btn1.Font = Enum.Font.Gotham
btn1.Parent = frame

local btn2 = Instance.new("TextButton")
btn2.Text = "🎵 Emote 2 + VISUALS"
btn2.Size = UDim2.new(1, -20, 0, 45)
btn2.Position = UDim2.new(0, 10, 0, 100)
btn2.BackgroundColor3 = Color3.new(0.2, 0.2, 0.8)
btn2.TextColor3 = Color3.new(1,1,1)
btn2.TextScaled = true
btn2.Font = Enum.Font.Gotham
btn2.Parent = frame

btn1.MouseButton1Click:Connect(function() playEmoteWithSound(emote1Track, emote1SongId) end)
btn2.MouseButton1Click:Connect(function() playEmoteWithSound(emote2Track, emote2SongId) end)

-- Initial load
loadTrack:Play()
loadTrack.Stopped:Wait()
idleTrack:Play()

-- Respawn handler (RE-APPLY NO JUMP)
player.CharacterAdded:Connect(function(newChar)
    wait(1)
    character = newChar
    humanoid = character:WaitForChild("Humanoid")
    animateScript = character:WaitForChild("Animate")
    animateScript.Disabled = true
    
    -- DISABLE JUMP ON RESPAWN
    humanoid.JumpPower = 0
    humanoid.JumpHeight = 0
end)

print("✨ NO JUMP + SONG VISUALS LOADED! (JumpPower=0, JumpHeight=0)")

Features & Information

R15 animations

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts