--[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] --[[ MODERN EMOTE PLAYER UI - DRAGGABLE & ENHANCED SLIDER VERSION Updated: 1. Dragging restricted to Title Bar. 2. Slider visuals improved (Round Thumb/Circle). ]] -- 1. SERVICES & BASIC SETUP function missing(t, f, fallback) if type(f) == t then return f end return fallback end cloneref = missing("function", cloneref, function(...) return ... end) local Services = setmetatable({}, { __index = function(_, name) return cloneref(game:GetService(name)) end }) local Players = Services.Players local RunService = Services.RunService local UserInputService = Services.UserInputService local TweenService = Services.TweenService local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local humanoidRootPart = character:WaitForChild("HumanoidRootPart") player.CharacterAdded:Connect(function(newCharacter) character = newCharacter humanoid = character:WaitForChild("Humanoid") humanoidRootPart = character:WaitForChild("HumanoidRootPart") end) --// Settings Table local Settings = {} Settings["Stop On Move"] = true Settings["Fade In"] = 0.1 Settings["Fade Out"] = 0.1 Settings["Weight"] = 1 Settings["Speed"] = 1 Settings["Allow Invisible"] = false Settings["Time Position"] = 0 local CurrentTrack local lastPosition = character.PrimaryPart and character.PrimaryPart.Position or Vector3.new() -- 2. UI ERSTELLUNG (Modern Setup) local screenGui = Instance.new("ScreenGui") screenGui.Name = "nah çekme gui" screenGui.ResetOnSpawn = false -- Executor Support (CoreGui vs PlayerGui) if gethui then screenGui.Parent = gethui() elseif game:GetService("CoreGui") then pcall(function() screenGui.Parent = game:GetService("CoreGui") end) if not screenGui.Parent then screenGui.Parent = playerGui end else screenGui.Parent = playerGui end -- Haupt-Frame local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 420, 0, 350) mainFrame.Position = UDim2.new(0.5, 0, 0.5, 0) mainFrame.AnchorPoint = Vector2.new(0.5, 0.5) mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) mainFrame.BorderSizePixel = 0 mainFrame.Parent = screenGui local uiCorner = Instance.new("UICorner") uiCorner.CornerRadius = UDim.new(0, 12) uiCorner.Parent = mainFrame local uiStroke = Instance.new("UIStroke") uiStroke.Thickness = 1 uiStroke.Color = Color3.fromRGB(60, 60, 60) uiStroke.Transparency = 0.5 uiStroke.Parent = mainFrame local uiScale = Instance.new("UIScale") uiScale.Scale = 1 uiScale.Parent = mainFrame -- **NEU: TitleBar Frame (FÜR DRAG FUNKTION)** local titleBar = Instance.new("Frame") titleBar.Name = "TitleBar" titleBar.Size = UDim2.new(1, 0, 0, 40) titleBar.BackgroundTransparency = 1 titleBar.Active = true -- Wichtig fürs Verschieben titleBar.Parent = mainFrame -- Titel local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, -50, 1, 0) titleLabel.Position = UDim2.new(0, 20, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "nah çekme gui" titleLabel.Font = Enum.Font.GothamBold titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.TextSize = 18 titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Parent = titleBar -- Schließen Button (X) local closeButton = Instance.new("TextButton") closeButton.Name = "CloseButton" closeButton.Size = UDim2.new(0, 30, 0, 30) closeButton.Position = UDim2.new(1, -40, 0.5, -15) -- Zentriert in der TitleBar closeButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) closeButton.Text = "X" closeButton.Font = Enum.Font.GothamBold closeButton.TextColor3 = Color3.fromRGB(200, 200, 200) closeButton.TextSize = 14 closeButton.AutoButtonColor = true closeButton.Parent = titleBar Instance.new("UICorner", closeButton, UDim.new(1, 0)).Parent = closeButton -- Content Platzhalter local contentArea = Instance.new("Frame") contentArea.Name = "ContentArea" contentArea.Size = UDim2.new(1, -20, 1, -50) contentArea.Position = UDim2.new(0, 10, 0, 45) -- Startet unter der TitleBar contentArea.BackgroundTransparency = 1 contentArea.Parent = mainFrame -- Notification local notifLabel = Instance.new("TextLabel") notifLabel.Name = "Notification" notifLabel.Size = UDim2.new(0, 220, 0, 36) notifLabel.Position = UDim2.new(0.5, 0, 0.9, 0) notifLabel.AnchorPoint = Vector2.new(0.5, 0.5) notifLabel.BackgroundColor3 = Color3.fromRGB(30, 30, 30) notifLabel.Text = "Press 'C' to reopen" notifLabel.TextColor3 = Color3.fromRGB(255, 255, 255) notifLabel.Font = Enum.Font.GothamMedium notifLabel.TextSize = 14 notifLabel.BackgroundTransparency = 0.2 notifLabel.TextTransparency = 1 notifLabel.Visible = false notifLabel.Parent = screenGui Instance.new("UICorner", notifLabel, UDim.new(0, 8)).Parent = notifLabel -- **NEU: DRAG LOGIC NUR AUF TITLEBAR** local dragging local dragInput local dragStart local startPos local function update(input) local delta = input.Position - dragStart mainFrame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = mainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) titleBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) -- **ENDE DRAG LOGIC** -- 3. ANIMATION LOGIC (Vom Original Script) local function extractIdFromInput(input) local num = tonumber(input) if num then return num end local patterns = { "rbxassetid://(%d+)", "roblox%.com/catalog/(%d+)", "roblox%.com/library/(%d+)", "roblox%.com/asset/%?id=(%d+)" } for _, p in ipairs(patterns) do local match = string.match(input, p) if match then return tonumber(match) end end return tonumber(input) end local function LoadTrack(id) if CurrentTrack then CurrentTrack:Stop(0) end local animId = "rbxassetid://" .. tostring(id) pcall(function() local objs = game:GetObjects(animId) if objs and #objs > 0 and objs[1]:IsA("Animation") then animId = objs[1].AnimationId end end) local newAnim = Instance.new("Animation") newAnim.AnimationId = animId local newTrack = humanoid:LoadAnimation(newAnim) newTrack.Priority = Enum.AnimationPriority.Action4 local weight = Settings["Weight"] if weight == 0 then weight = 0.001 end newTrack:Play(Settings["Fade In"], weight, Settings["Speed"]) CurrentTrack = newTrack CurrentTrack.TimePosition = math.clamp(Settings["Time Position"], 0, 1) * CurrentTrack.Length return newTrack end local function StopTrack() if CurrentTrack then CurrentTrack:Stop(Settings["Fade Out"]) CurrentTrack = nil end end -- 4. INHALT EINFÜGEN (Controls) -- Buttons Container local btnContainer = Instance.new("Frame") btnContainer.Size = UDim2.new(1, 0, 0, 30) btnContainer.Position = UDim2.new(0, 0, 0, 0) btnContainer.BackgroundTransparency = 1 btnContainer.Parent = contentArea local playBtn = Instance.new("TextButton") playBtn.Size = UDim2.new(0.48, 0, 1, 0) playBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 255) -- Modernes Blau playBtn.Text = "▶ Play" playBtn.Font = Enum.Font.GothamBold playBtn.TextColor3 = Color3.new(1,1,1) playBtn.TextSize = 14 playBtn.Parent = btnContainer Instance.new("UICorner", playBtn).CornerRadius = UDim.new(0, 8) local stopBtn = Instance.new("TextButton") stopBtn.Size = UDim2.new(0.48, 0, 1, 0) stopBtn.Position = UDim2.new(0.52, 0, 0, 0) stopBtn.BackgroundColor3 = Color3.fromRGB(255, 60, 60) -- Modernes Rot stopBtn.Text = "■ Stop" stopBtn.Font = Enum.Font.GothamBold stopBtn.TextColor3 = Color3.new(1,1,1) stopBtn.TextSize = 14 stopBtn.Parent = btnContainer Instance.new("UICorner", stopBtn).CornerRadius = UDim.new(0, 8) -- Logic Buttons playBtn.MouseButton1Click:Connect(function() local id = 106640307740815 if id then CurrentTrack = LoadTrack(id) end end) stopBtn.MouseButton1Click:Connect(function() StopTrack() end) -- Scroll Liste für Settings local scrollFrame = Instance.new("ScrollingFrame") scrollFrame.Size = UDim2.new(1, 0, 1, -80) scrollFrame.Position = UDim2.new(0, 0, 0, 38) scrollFrame.BackgroundTransparency = 1 scrollFrame.ScrollBarThickness = 4 scrollFrame.ScrollBarImageColor3 = Color3.fromRGB(80, 80, 80) scrollFrame.CanvasSize = UDim2.new(0,0,0,0) scrollFrame.Parent = contentArea local listLayout = Instance.new("UIListLayout", scrollFrame) listLayout.Padding = UDim.new(0, 8) listLayout.SortOrder = Enum.SortOrder.LayoutOrder listLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() scrollFrame.CanvasSize = UDim2.new(0, 0, 0, listLayout.AbsoluteContentSize.Y + 10) end) -- HELPER FUNCTIONS FOR UI CONTROLS local function createSlider(name, min, max, default) Settings[name] = default or min local container = Instance.new("Frame") container.Size = UDim2.new(1, -6, 0, 50) container.BackgroundColor3 = Color3.fromRGB(35, 35, 35) container.Parent = scrollFrame Instance.new("UICorner", container).CornerRadius = UDim.new(0, 8) local label = Instance.new("TextLabel") label.Size = UDim2.new(1, -20, 0, 20) label.Position = UDim2.new(0, 10, 0, 2) label.BackgroundTransparency = 1 label.Text = name .. ": " .. string.format("%.2f", Settings[name]) label.TextColor3 = Color3.fromRGB(200, 200, 200) label.Font = Enum.Font.GothamMedium label.TextSize = 12 label.TextXAlignment = Enum.TextXAlignment.Left label.Parent = container local sliderBg = Instance.new("Frame") sliderBg.Size = UDim2.new(1, -20, 0, 6) sliderBg.Position = UDim2.new(0, 10, 0, 30) sliderBg.BackgroundColor3 = Color3.fromRGB(60, 60, 60) sliderBg.Parent = container Instance.new("UICorner", sliderBg).CornerRadius = UDim.new(1, 0) local fill = Instance.new("Frame") fill.Size = UDim2.new(0, 0, 1, 0) fill.BackgroundColor3 = Color3.fromRGB(0, 120, 255) fill.Parent = sliderBg Instance.new("UICorner", fill).CornerRadius = UDim.new(1, 0) -- **NEU: Der runde "Thumb" (Kreis) auf dem Slider** local thumb = Instance.new("Frame") thumb.Size = UDim2.new(0, 16, 0, 16) thumb.AnchorPoint = Vector2.new(0.5, 0.5) thumb.Position = UDim2.new(0, 0, 0.5, 0) thumb.BackgroundColor3 = Color3.fromRGB(230, 230, 230) -- Weiß/Hellgrau thumb.ZIndex = 2 thumb.Parent = sliderBg Instance.new("UICorner", thumb).CornerRadius = UDim.new(1, 0) -- Macht es rund local function update(input) local pos = math.clamp((input.Position.X - sliderBg.AbsolutePosition.X) / sliderBg.AbsoluteSize.X, 0, 1) local val = min + (max - min) * pos Settings[name] = val label.Text = name .. ": " .. string.format("%.2f", val) -- Animation für Füllung und Thumb TweenService:Create(fill, TweenInfo.new(0.05), {Size = UDim2.new(pos, 0, 1, 0)}):Play() TweenService:Create(thumb, TweenInfo.new(0.05), {Position = UDim2.new(pos, 0, 0.5, 0)}):Play() -- Live updates for specific settings if CurrentTrack and CurrentTrack.IsPlaying then if name == "Speed" then CurrentTrack:AdjustSpeed(val) elseif name == "Weight" then CurrentTrack:AdjustWeight(math.max(0.001, val)) elseif name == "Time Position" then CurrentTrack.TimePosition = math.clamp(val, 0, 1) * CurrentTrack.Length end end end local dragging = false local function startDrag(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true update(input) end end sliderBg.InputBegan:Connect(startDrag) thumb.InputBegan:Connect(startDrag) UserInputService.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then -- Muss die Position im ScreenGui-Raum nutzen update(input) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) -- Init visual local startRel = (Settings[name] - min) / (max - min) fill.Size = UDim2.new(math.clamp(startRel,0,1), 0, 1, 0) thumb.Position = UDim2.new(math.clamp(startRel,0,1), 0, 0.5, 0) end local function createToggle(name) local container = Instance.new("Frame") container.Size = UDim2.new(1, -6, 0, 40) container.BackgroundColor3 = Color3.fromRGB(35, 35, 35) container.Parent = scrollFrame Instance.new("UICorner", container).CornerRadius = UDim.new(0, 8) local label = Instance.new("TextLabel") label.Size = UDim2.new(0.7, 0, 1, 0) label.Position = UDim2.new(0, 10, 0, 0) label.BackgroundTransparency = 1 label.Text = name label.TextColor3 = Color3.fromRGB(200, 200, 200) label.Font = Enum.Font.GothamMedium label.TextSize = 13 label.TextXAlignment = Enum.TextXAlignment.Left label.Parent = container local btn = Instance.new("TextButton") btn.Size = UDim2.new(0, 40, 0, 20) btn.AnchorPoint = Vector2.new(1, 0.5) btn.Position = UDim2.new(1, -10, 0.5, 0) btn.BackgroundColor3 = Settings[name] and Color3.fromRGB(0, 200, 100) or Color3.fromRGB(200, 50, 50) btn.Text = "" btn.Parent = container Instance.new("UICorner", btn).CornerRadius = UDim.new(1, 0) btn.MouseButton1Click:Connect(function() Settings[name] = not Settings[name] TweenService:Create(btn, TweenInfo.new(0.2), { BackgroundColor3 = Settings[name] and Color3.fromRGB(0, 200, 100) or Color3.fromRGB(200, 50, 50) }):Play() end) end -- Erstelle die Controls createToggle("Stop On Move") createToggle("Allow Invisible") createSlider("Time Position", 0, 1, Settings["Time Position"]) createSlider("Speed", 0, 5, Settings["Speed"]) createSlider("Weight", 0, 1, Settings["Weight"]) createSlider("Fade In", 0, 2, Settings["Fade In"]) createSlider("Fade Out", 0, 2, Settings["Fade Out"]) -- 5. POP-UP ANIMATION & KEYBIND local openInfo = TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out) local closeInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In) local fadeInfo = TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.Out) local isOpen = true local function toggleUI(state) if state then mainFrame.Visible = true isOpen = true uiScale.Scale = 0 TweenService:Create(uiScale, openInfo, {Scale = 1}):Play() notifLabel.Visible = false else isOpen = false local close = TweenService:Create(uiScale, closeInfo, {Scale = 0}) close:Play() close.Completed:Connect(function() if not isOpen then mainFrame.Visible = false end end) -- Notification Logic task.spawn(function() notifLabel.Visible = true notifLabel.TextTransparency = 1 TweenService:Create(notifLabel, fadeInfo, {TextTransparency = 0, BackgroundTransparency = 0.2}):Play() task.wait(3) if not isOpen then TweenService:Create(notifLabel, fadeInfo, {TextTransparency = 1, BackgroundTransparency = 1}):Play() end end) end end closeButton.MouseButton1Click:Connect(function() toggleUI(false) end) UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.C then toggleUI(not isOpen) end end) -- 6. RUNTIME LOGIC -- Stop on Move RunService.RenderStepped:Connect(function() if character.PrimaryPart and Settings["Stop On Move"] and CurrentTrack and CurrentTrack.IsPlaying then local moved = (character.PrimaryPart.Position - lastPosition).Magnitude > 0.1 if moved then CurrentTrack:Stop(Settings["Fade Out"]) CurrentTrack = nil end lastPosition = character.PrimaryPart.Position end end) -- Noclip Logic local originalCollisionStates = {} local lastFixClipState = Settings["Allow Invisible"] local function saveCollisions() for _, p in ipairs(character:GetDescendants()) do if p:IsA("BasePart") and p ~= humanoidRootPart then originalCollisionStates[p] = p.CanCollide end end end local function disableCollisions() if not Settings["Allow Invisible"] then return end for _, p in ipairs(character:GetDescendants()) do if p:IsA("BasePart") and p ~= humanoidRootPart then p.CanCollide = false end end end local function restoreCollisions() for p, state in pairs(originalCollisionStates) do if p and p.Parent then p.CanCollide = state end end originalCollisionStates = {} end saveCollisions() RunService.Stepped:Connect(function() if character and character.Parent then local current = Settings["Allow Invisible"] if lastFixClipState ~= current then if current then saveCollisions() disableCollisions() else restoreCollisions() end lastFixClipState = current elseif current then disableCollisions() end end end) -- Start uiScale.Scale = 0 toggleUI(true)