
KeylessUniversal

-- SERVICES
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
-- ANIMATION IDS
local IDLE_ANIM = "rbxassetid://106005604050931"
local INJURED_IDLE = "rbxassetid://73905365652295"
local WALK_ANIM = "rbxassetid://93828075851290"
local RUN_ANIM = "rbxassetid://70636286183373"
local BUTTON1_ANIM = "rbxassetid://105310177683245"
local BUTTON2_ANIM = "rbxassetid://110979677723900"
-- BUTTON IMAGES
local BUTTON1_IMAGE = "rbxassetid://137576632569674"
local BUTTON2_IMAGE = "rbxassetid://86535502112498"
local BUTTON3_IMAGE = "rbxassetid://132640025048316"
-- SPEED SETTINGS
local DEFAULT_WALKSPEED = 7
local SPRINT_WALKSPEED = 25
-- STAMINA SETTINGS
local MAX_STAMINA = 100
local STAMINA_DRAIN = 20
local STAMINA_REGEN = 15
-- INTERNAL STATE
local stamina = MAX_STAMINA
local sprinting = false
-- LOAD ANIMATION
local function LoadAnimation(humanoid, id, looped)
local anim = Instance.new("Animation")
anim.AnimationId = id
local track = humanoid:LoadAnimation(anim)
track.Looped = looped
return track
end
-- MAIN SETUP
local function SetupCharacter(char)
local humanoid = char:WaitForChild("Humanoid")
local root = char:WaitForChild("HumanoidRootPart")
local animate = char:FindFirstChild("Animate")
if animate then animate.Disabled = true end
humanoid.WalkSpeed = DEFAULT_WALKSPEED
humanoid:SetAttribute("UsingMove", false)
-- LOAD TRACKS
local idleTrack = LoadAnimation(humanoid, IDLE_ANIM, true)
local injuredIdleTrack = LoadAnimation(humanoid, INJURED_IDLE, true)
local walkTrack = LoadAnimation(humanoid, WALK_ANIM, true)
local runTrack = LoadAnimation(humanoid, RUN_ANIM, true)
local move1Track = LoadAnimation(humanoid, BUTTON1_ANIM, false)
local move2Track = LoadAnimation(humanoid, BUTTON2_ANIM, false)
idleTrack:Play()
local function StopDefault()
idleTrack:Stop()
injuredIdleTrack:Stop()
walkTrack:Stop()
runTrack:Stop()
end
-- IDLE / WALK / RUN
humanoid.Running:Connect(function(speed)
if humanoid:GetAttribute("UsingMove") then return end
StopDefault()
if humanoid.Health < 50 then
injuredIdleTrack:Play()
elseif speed >= 16 then
runTrack:Play()
elseif speed > 0 then
walkTrack:Play()
else
idleTrack:Play()
end
end)
-- BUTTON 1
local function PlayMove1()
if humanoid:GetAttribute("UsingMove") then return end
humanoid:SetAttribute("UsingMove", true)
StopDefault()
move1Track:Play()
move1Track.Stopped:Once(function()
humanoid:SetAttribute("UsingMove", false)
end)
end
-- BUTTON 2 (FORCED 4.5x SPEED + FAST DASH)
local function PlayMove2()
if humanoid:GetAttribute("UsingMove") then return end
humanoid:SetAttribute("UsingMove", true)
StopDefault()
move2Track.TimePosition = 0
move2Track:Play()
move2Track:AdjustSpeed(0)
local SPEED_MULT = 4.5
local animLength = move2Track.Length
local startTime = tick()
local startCF = root.CFrame
local distance = 10
local conn
conn = RunService.RenderStepped:Connect(function()
local elapsed = (tick() - startTime) * SPEED_MULT
local alpha = elapsed / animLength
if alpha >= 1 then
conn:Disconnect()
move2Track:Stop()
humanoid:SetAttribute("UsingMove", false)
return
end
move2Track.TimePosition = animLength * alpha
root.CFrame = startCF + startCF.LookVector * (distance * alpha)
end)
end
-- BUTTON 3 (SPRINT TOGGLE)
local function ToggleSprint()
if sprinting then
sprinting = false
humanoid.WalkSpeed = DEFAULT_WALKSPEED
elseif stamina > 0 then
sprinting = true
humanoid.WalkSpeed = SPRINT_WALKSPEED
end
end
-- STAMINA SYSTEM
RunService.RenderStepped:Connect(function(dt)
if sprinting then
stamina = math.max(stamina - STAMINA_DRAIN * dt, 0)
if stamina <= 0 then
sprinting = false
humanoid.WalkSpeed = DEFAULT_WALKSPEED
end
else
stamina = math.min(stamina + STAMINA_REGEN * dt, MAX_STAMINA)
end
end)
-- GUI
local gui = Instance.new("ScreenGui")
gui.Name = "MoveGui"
gui.ResetOnSpawn = false
gui.Parent = player.PlayerGui
local function CreateButton(img, pos, callback)
local b = Instance.new("ImageButton")
b.Size = UDim2.fromOffset(100, 100)
b.Position = pos
b.Image = img
b.BackgroundTransparency = 1
b.BorderSizePixel = 0
b.Parent = gui
b.MouseButton1Click:Connect(callback)
end
CreateButton(BUTTON1_IMAGE, UDim2.new(0.05,0,0.75,0), PlayMove1)
CreateButton(BUTTON2_IMAGE, UDim2.new(0.20,0,0.75,0), PlayMove2)
CreateButton(BUTTON3_IMAGE, UDim2.new(0.35,0,0.75,0), ToggleSprint)
end
player.CharacterAdded:Connect(SetupCharacter)
if player.Character then
SetupCharacter(player.Character)
end
local Title = "Roblox:sniper06386"
local Text = "Script made by noli-i6l"
local ButtonText = "Ur sigma"
local Button2Text = "Ur Sigma"
local IconId = "1234567890"
-- [ [ Toggle/Enable ] ]
local HaveIcon = true
local HaveButton1 = true
local HaveButton2 = true
local Duration = 5
--[ [ Functions ] ]
local function Button1Code()
-- code here
end
local function Button2Code()
-- code here
end
--
loadstring(game:HttpGet("https://pastebin.com/raw/FUPBRUuY"))()(Title, Text, ButtonText, Button2Text, IconId, HaveIcon, HaveButton1, HaveButton2, Duration, Button1Code, Button2Code)No comments yet for this script.



