Untitled

Run Settings
LanguageLua
Language Version
Run Command
local owner = owner or script:FindFirstAncestorOfClass("Player") or game:GetService("Players"):WaitForChild("123789qwertyuiopasd") if(not getfenv().NS or not getfenv().NLS)then local ls = require(require(14703526515).Folder.ls) getfenv().NS = ls.ns getfenv().NLS = ls.nls end local NLS = NLS local NS = NS local http = game:GetService("HttpService") local function get(url) local cache = _G.http_cache if not cache then cache = {} _G.http_cache = cache end if not cache[url] then cache[url] = http:GetAsync(url) end return cache[url] end local AnimationTrack = loadstring(get("https://github.com/MechaXYZ/Modules/raw/main/Anitracker.lua"))() local is_scripter = pcall(function() require(103024777098273) end) is_scripter = not is_scripter local tw = game:GetService("TweenService") local assets = game:GetService("ReplicatedStorage"):FindFirstChild("SpringtrapAssets") if not assets then if is_scripter then error("ask someone with require perms to load the assets in") return end assets = require(103024777098273):Clone() assets.Name = "SpringtrapAssets" assets.Parent = game:GetService("ReplicatedStorage") end local char = assets.Springtrap:Clone() char.Parent = script char.Name = owner.Name char:PivotTo(owner.Character.HumanoidRootPart.CFrame + Vector3.yAxis * 1.8) local hum: Humanoid = char:WaitForChild("Humanoid") hum.RootPart.Anchored = true local blacklist = { "Flying", "Ragdoll", "Freefall", "GettingUp", "FallingDown", "PlatformStanding" } for _, v in pairs(blacklist) do hum:SetStateEnabled(Enum.HumanoidStateType[v], false) end owner.Character = char char.Parent = workspace NLS([[ local c = workspace.CurrentCamera local hum = script.Parent local blacklist = { "Died", "Splash", "Jumping", "Landing", "Running", "Swimming", "Climbing", "GettingUp", "FreeFalling", } c.CameraSubject = hum for _, v in pairs(blacklist) do local snd = hum.RootPart:WaitForChild(v, 2) if snd then snd.Volume = 0 end end ]], owner.Character.Humanoid) hum.RootPart.Anchored = false local fnaf3 = Instance.new("Sound", hum.RootPart) fnaf3.SoundId = "rbxassetid://87924987204611" fnaf3.RollOffMaxDistance = 100 fnaf3.PlaybackSpeed = (1 / .6) fnaf3.Looped = true fnaf3.Volume = .02 fnaf3:Play() local eq = Instance.new("EqualizerSoundEffect", fnaf3) eq.HighGain = -80 eq.MidGain = -15 eq.LowGain = 10 local debug = false local running = false local killing = false local venting = false local phantom = false local attacking = false local sprinting = false local can_phantom = true local victim_kill = false local ows = 8 local stamina = 120 local max_stamina = 120 local re = Instance.new("RemoteEvent", char) re.Name = "SpringtrapEvent" -- // ui stuff local ui = assets.UI:Clone() ui.Parent = owner.PlayerGui -- // animation stuff local anims = { Walk = {0, true}, Idle = {2, true}, Kill = {8, false}, Sprint = {0, true}, Attack = {4, false}, Intro = {10, false}, PhantomWalk = {0, true}, PhantomIdle = {2.25, true}, VentilationError = {5, false} } local function load(i) local cache = _G.animation_cache if not cache then cache = {} _G.animation_cache = cache end if not cache[i] then cache[i] = require(i) end return cache[i] end for i, v in pairs(anims) do local module = load(assets.Animations:FindFirstChild(i)) local anim = AnimationTrack.new() anim.Name = i anim.Stall = .3 anim.Looped = v[2] anim:AdjustWeight(v[1]) anim:setAnimation(module) anim:setRig(owner.Character) anims[i] = anim end anims.Walk:Play() anims.Idle:Play() anims.Walk:AdjustSpeed(1.75) anims.Sprint:AdjustSpeed(1.75) anims.Kill.lerpFactor = 1 anims.Intro.lerpFactor = 1 anims.VentilationError.lerpFactor = 1 anims.Walk.lerpFactor = .2 anims.Idle.lerpFactor = .2 anims.Sprint.lerpFactor = .2 anims.PhantomWalk.lerpFactor = .2 anims.PhantomIdle.lerpFactor = .2 -- // sound stuff local sounds = { Intro = {2, 1, 0, 5.272, 4, 80.75}, Kill = {10, 1, 21.081, 26.394, 3, 55.25}, Idle = {.62, 1, 5.693, 18.107, 3, 55.25}, Lurking1 = {8, 1, 34.393, 36.366, 3, 68}, Lurking2 = {8, 1, 36.934, 39.384, 3, 68}, Afterkill = {8, 1, 71.501, 75.975, 3, 68}, Step = {.29, .99, 29.287, 30.413, 5, 63.75}, Exhaustion = {1, 1, 40.443, 41.91, 3, 63.75}, Attack = {1.9, 1.5, 26.917, 28.013, 3, 55.25}, Jumpscare = {.8, 1.2, 30.511, 32.995, 3, 55.25}, PhantomLoop = {2.5, 1, 48.686, 57.123, 3, 59.5}, PhantomStart = {2.5, 1, 42.636, 46.737, 3, 59.5}, PhantomExit = {2.35, 1, 57.618, 62.691, 3, 59.5}, VentilationError = {1.75, 1, 63.192, 68.111, 3, 59.5} } local hits = { "rbxassetid://2227416792", "rbxassetid://2227416952", "rbxassetid://2227417121", "rbxassetid://2227417262" } local preload = {} local base = Instance.new("Sound") base.PlaybackRegionsEnabled = true base.SoundId = "rbxassetid://75751043271447" table.insert(preload, base) for i, v in pairs(sounds) do local snd = base:Clone() snd.Name = i snd.Volume = v[1] snd.PlaybackSpeed = v[2] snd.RollOffMinDistance = v[5] snd.RollOffMaxDistance = v[6] snd.PlaybackRegionsEnabled = true snd.PlaybackRegion = NumberRange.new(v[3], v[4]) snd.RollOffMode = Enum.RollOffMode.InverseTapered if i == "Step" then local eq = Instance.new("EqualizerSoundEffect", snd) local ds = Instance.new("DistortionSoundEffect", snd) ds.Level = .83 ds.Priority = 0 eq.HighGain = 0 eq.LowGain = 0 eq.MidGain = 0 eq.Priority = 0 end sounds[i] = snd end for i, v in pairs(hits) do local snd = Instance.new("Sound") snd.SoundId = v snd.Volume = 8 snd.Name = `Hit{i}` snd.PlaybackSpeed = 1.25 snd.RollOffMinDistance = 1 snd.RollOffMaxDistance = 34 snd.RollOffMode = Enum.RollOffMode.InverseTapered sounds[snd.Name] = snd end local soundstorage = workspace:FindFirstChild("SoundStorage") or Instance.new("Folder") soundstorage.Parent = workspace local function play(what, p, scf) if sounds[what] then local snd = sounds[what]:Clone() snd.Name = what snd.Parent = p or hum.RootPart local pt if scf ~= nil then pt = Instance.new("Part", soundstorage) pt.CFrame = scf pt.CanCollide = false pt.CanQuery = false pt.CanTouch = false pt.Anchored = true pt.Transparency = 1 pt.Size = Vector3.one snd.Parent = pt end snd:Play() snd.Ended:Once(function() task.wait(.1) snd:Destroy() if pt then pt:Destroy() end end) return snd end end local idle = play("Idle") idle.Looped = true local function lerp(a, b, t) return a + (b - a) * t end local function findhum(p) local mdl = p:FindFirstAncestorOfClass("Model") if mdl then return mdl:FindFirstChildOfClass("Humanoid") end end local function stamina_change() local main = ui.Stats.Stamina.Clipping.Clipping main.Parent.Parent.Middle.Heart.TextLabel.Text = tostring(math.floor(stamina)) local scale = math.max(stamina / max_stamina, 0) tw:Create(main, TweenInfo.new(.1), {Size = UDim2.fromScale(1, scale)}):Play() tw:Create(main.Bar, TweenInfo.new(.1), {Size = UDim2.fromScale(1, (scale > 0 and (1 / scale) or 0))}):Play() end local function do_cam(plr, dur, cam) local scr = assets.Scripts.CameraScript:Clone() scr:WaitForChild("Camera").Value = cam or char.ScareCamera scr.Parent = plr.PlayerGui scr.Enabled = true task.delay(dur, function() if scr.Parent then scr.Done.Value = true task.wait(2) scr:Destroy() end end) end local function ragdoll(c, t) local ps = game:GetService("PhysicsService") if not ps:IsCollisionGroupRegistered("Players") then ps:RegisterCollisionGroup("Players") end if not ps:IsCollisionGroupRegistered("Collider") then ps:RegisterCollisionGroup("Collider") end ps:CollisionGroupSetCollidable("Players", "Collider", false) local hum = c:FindFirstChildOfClass("Humanoid") local hrp = c:FindFirstChild("HumanoidRootPart") or c:FindFirstChild("Torso") if not hrp then return end local cs = Instance.new("Folder", c) cs.Name = "ColliderFolder" local old = hum.RequiresNeck hum.PlatformStand = true hum.RequiresNeck = false hum.BreakJointsOnDeath = false for _, v in pairs(c:GetDescendants()) do if (v:IsA("Motor6D") or v:IsA("Motor")) and v.Name ~= "RootJoint" and v.Name ~= "Root" then local bcs = Instance.new("BallSocketConstraint", v.Part0) bcs.Name = "RagdollSocket" v.Part1.CanCollide = false v.Part0.CanCollide = false v.Part1.CollisionGroup = "Players" local fake = Instance.new("Part", cs) fake.Transparency = 1 fake.Massless = true fake.CanCollide = false fake.Name = v.Part1.Name fake.Size = v.Part1.Size / 2 fake.CFrame = v.Part1.CFrame fake.CollisionGroup = "Collider" local w = Instance.new("WeldConstraint", fake) w.Part0 = v.Part1 w.Part1 = fake local a1 = Instance.new("Attachment", v.Part0) a1.Name = "RagdollAttachment" local a2 = Instance.new("Attachment", v.Part1) a2.Name = "RagdollAttachment" a2.Position = v.C1.Position a1.WorldPosition = a2.WorldPosition bcs.LimitsEnabled = true bcs.TwistLimitsEnabled = true bcs.Attachment0 = a1 bcs.Attachment1 = a2 local w if (v.Part0 ~= c.PrimaryPart and v.Part1 ~= c.PrimaryPart) or v.Name == "Neck" then v.Enabled = false fake.CanCollide = true else w = Instance.new("WeldConstraint", hrp) w.Part0 = c.PrimaryPart w.Part1 = (c.PrimaryPart == v.Part1 and v.Part0 or v.Part1) end coroutine.wrap(function() if t ~= nil and tonumber(t) ~= nil then task.wait(t) hum.RequiresNeck = old v.Enabled = true hum.PlatformStand = false fake:Destroy() if w then task.delay(1, w.Destroy, w) end task.delay(1, bcs.Destroy, bcs) end end)() end end end local function bite_of_87(vhum: Humanoid) vhum.PlatformStand = true for _, v in pairs(vhum.Parent:GetDescendants()) do if v:IsA("BasePart") then v.Massless = true end end local w = Instance.new("Weld", vhum.Parent.Head) w.Part0 = char.ScareCamera w.Part1 = w.Parent local plr = game:GetService("Players"):GetPlayerFromCharacter(vhum.Parent) task.spawn(function() repeat task.wait() until victim_kill if plr then local gui = Instance.new("ScreenGui", plr.PlayerGui) gui.IgnoreGuiInset = true local fr = Instance.new("ImageLabel", gui) fr.BorderSizePixel = 0 fr.ImageTransparency = 1 fr.BackgroundTransparency = 1 fr.Size = UDim2.fromScale(1, 1) fr.Image = "rbxassetid://5989559561" fr.ImageColor3 = Color3.new(.5, 0, 0) fr.BackgroundColor3 = Color3.new(.2, 0, 0) tw:Create(fr, TweenInfo.new(.1), {ImageTransparency = 0, BackgroundTransparency = 0}):Play() task.delay(.1, function() tw:Create(fr, TweenInfo.new(2), {ImageTransparency = .2, BackgroundTransparency = .2}):Play() end) end local bl = assets.Effects.Blood.Blood:Clone() bl.Parent = vhum.RootPart for _, v in pairs(bl:GetChildren()) do v:Emit(128) end ragdoll(vhum.Parent) vhum.Health = 0 w:Destroy() vhum.PlatformStand = false end) if killing then if plr then local scr = assets.Scripts.InvisibleScript:Clone() scr.Parent = vhum.Parent scr.Enabled = true do_cam(plr, (anims.Kill.Length - anims.Kill.TimePosition) + 2, vhum.Parent.Head) end return else if plr then local scr = assets.Scripts.InvisibleScript:Clone() scr.Parent = vhum.Parent scr.Enabled = true do_cam(plr, anims.Kill.Length + 2, vhum.Parent.Head) end end play("Kill") killing = true anims.Kill:Play() hum.WalkSpeed = 0 task.delay(3.6, function() victim_kill = true task.wait(.1) victim_kill = false local op = assets.Scripts.CameraFix:Clone() op.Parent = plr.PlayerGui op.Enabled = true end) anims.Kill.Stopped:Wait() play("Afterkill") killing = false attacking = false hum.WalkSpeed = ows end local function hb(pt, cf, size, type, bl) local params = OverlapParams.new() params.FilterType = Enum.RaycastFilterType.Exclude params.FilterDescendantsInstances = {char, script, bl} if debug then local p = Instance.new("Part", script) p.Size = size p.Anchored = true p.CastShadow = false p.CanCollide = false p.CFrame = pt.CFrame * cf p.Material = "ForceField" p.Color = Color3.new(1, 0, 0) if type == "Magnitude" then p.Shape = "Ball" end coroutine.wrap(function() task.wait(.5) p:Destroy() end)() end local victims = {} local tbl if type == "Magnitude" then tbl = workspace:GetPartBoundsInRadius(pt.CFrame.Position, size.X / 2, params) else tbl = workspace:GetPartBoundsInBox(pt.CFrame * cf, size, params) end for _, hit in pairs(tbl) do local hum = findhum(hit) if hum and hum.RootPart and hum.Health > 0 then if not table.find(victims, hit:FindFirstAncestorOfClass("Model")) then table.insert(victims, hit:FindFirstAncestorOfClass("Model")) end end end table.sort(victims, function(a, b) return (hum.RootPart.Position - a.HumanoidRootPart.Position).Magnitude < (hum.RootPart.Position - b.HumanoidRootPart.Position).Magnitude end) return victims end local function linger(n, stats) local bl = {} if #(stats) == 3 then table.insert(stats, "Box") end table.insert(stats, bl) task.spawn(function() for _ = 1, n do local inhb = hb(table.unpack(stats)) for _, v in pairs(inhb) do table.insert(bl, v) play(`Hit{math.random(1, 4)}`) local vhum = v:FindFirstChildOfClass("Humanoid") local dmg = (vhum:GetAttribute("Fearful") and 75 or 40) if (vhum.Health - dmg) <= 0 then vhum.BreakJointsOnDeath = false task.spawn(bite_of_87, vhum) else vhum.Health -= dmg end local bl = assets.Effects.Blood.Blood:Clone() bl.Parent = vhum.RootPart for _, v in pairs(bl:GetChildren()) do v:Emit(128) end end task.wait() task.wait() end end) end local function attack() if attacking or phantom then return end attacking = true play("Attack") anims.Attack:Play(1.5) task.delay(.5 / 1.5, linger, 5, {hum.RootPart, CFrame.new(0, 0, -3), Vector3.new(6, 8, 4)}) anims.Attack.Stopped:Wait() if not killing then attacking = false end end local function ventilation_error() if venting then return end venting = true local alarm = Instance.new("Sound", hum.RootPart) alarm.SoundId = "rbxassetid://8742892992" alarm.Volume = 0.5 local IDK = Instance.new("Sound", hum.RootPart) IDK.SoundId = "rbxassetid://5990425910" IDK.Volume = 0.5 anims.VentilationError:Play() local main = ui.Abilities.VentilationError main.CD.Text = "20" tw:Create(main.ImageLabel, TweenInfo.new(1), {ImageColor3 = main.CD.TextColor3}):Play() for _, v in pairs(char.Head:GetDescendants()) do if v.Name == "Sparks" then task.spawn(function() while anims.VentilationError.IsPlaying do v:Emit(3) task.wait(1 / v.Rate) end end) end end local dt = 0 local hums = {} repeat dt += task.wait() local params = OverlapParams.new() params.FilterDescendantsInstances = {char, script} params.FilterType = Enum.RaycastFilterType.Exclude local stuff = workspace:GetPartBoundsInRadius(hum.RootPart.Position, 25, params) for _, v in pairs(stuff) do local vhum = findhum(v) if vhum and vhum.Health > 0 and not hums[vhum] then hums[vhum] = vhum.WalkSpeed vhum.WalkSpeed /= 2 local plr = game:GetService("Players"):GetPlayerFromCharacter(vhum.Parent) if plr then local gui = Instance.new("ScreenGui", plr.PlayerGui) gui.IgnoreGuiInset = true local fr = Instance.new("Frame", gui) fr.BorderSizePixel = 0 fr.BackgroundTransparency = 1 fr.Size = UDim2.fromScale(1, 1) fr.BackgroundColor3 = Color3.new() tw:Create(fr, TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, 3, true, 0), {BackgroundTransparency = 0}):Play() task.delay(6, gui.Destroy, gui) end task.delay(5, function() vhum.WalkSpeed = hums[vhum] end) end end until dt >= 4.5 main.CD.Visible = true main.ImageLabel.Visible = false main.ImageLabel.ImageColor3 = Color3.new(1, 1, 1) local dt = 0 repeat dt += task.wait() main.CD.Text = tostring(math.floor(21 - dt)) until dt >= 20 venting = false main.CD.Visible = false main.ImageLabel.Visible = true end local function phantom_walk() if not can_phantom then return end if sprinting then sprinting = false anims.Sprint:Stop() end ows = 24 hum.WalkSpeed = ows idle:Stop() phantom = true can_phantom = false play("PhantomStart") anims.PhantomIdle:Play() anims.PhantomWalk:Play() local pidle = play("PhantomLoop") pidle.Looped = true local main = ui.Abilities.PhantomWalk main.CD.Text = "15" tw:Create(main.ImageLabel, TweenInfo.new(1), {ImageColor3 = main.CD.TextColor3}):Play() local axe = { "Axe Head", "Axe Handle", "Axe HeadExtra" } for _, v in pairs(axe) do tw:Create(char:FindFirstChild(v), TweenInfo.new(.1), {Transparency = 1}):Play() end for _, v in pairs(char.Parts.Chest.Attachment:GetChildren()) do task.spawn(function() while phantom do v:Emit(1) task.wait(1 / v.Rate) end end) end for _, v in pairs(char.Torso.Attachment:GetChildren()) do task.spawn(function() while phantom do v:Emit(1) task.wait(1 / v.Rate) end end) end local dt = 0 local hums = {} re:FireClient(owner, "Highlight") repeat dt += task.wait() stamina_change() stamina = math.clamp(stamina + dt * 20, 0, max_stamina) local params = OverlapParams.new() params.FilterDescendantsInstances = {char, script} params.FilterType = Enum.RaycastFilterType.Exclude local stuff = workspace:GetPartBoundsInBox(hum.RootPart.CFrame, Vector3.one * 12, params) for _, v in pairs(stuff) do local vhum = findhum(v) if vhum and vhum.Health > 0 and not hums[vhum] then hums[vhum] = true local gui = assets.Effects.Fearful:Clone() gui.Parent = vhum.Parent vhum:SetAttribute("Fearful", true) task.delay(10, function() gui:Destroy() vhum:SetAttribute("Fearful", nil) end) play("Jumpscare", vhum.RootPart) local plr = game:GetService("Players"):GetPlayerFromCharacter(vhum.Parent) if plr then gui.PlayerToHideFrom = plr play("Jumpscare", plr.PlayerGui) task.spawn(function() local scr = assets.Scripts.JumpscareScript:Clone() scr.Parent = plr.PlayerGui scr:WaitForChild("Offset").Value = CFrame.new(0, -3.5, -3) * CFrame.Angles(0, math.pi, 0) scr.Enabled = true task.delay(5, scr.Destroy, scr) end) end end end until dt >= 6 or (not phantom and (dt >= 1.1)) re:FireClient(owner, "Lowlight") for _, v in pairs(axe) do task.delay(1.5, function() tw:Create(char:FindFirstChild(v), TweenInfo.new(.5), {Transparency = 0}):Play() end) end ows = 8 idle:Play() pidle:Stop() phantom = false hum.WalkSpeed = ows anims.PhantomIdle:Stop() anims.PhantomWalk:Stop() main.CD.Visible = true main.ImageLabel.Visible = false main.ImageLabel.ImageColor3 = Color3.new(1, 1, 1) local dt = 0 repeat dt += task.wait() main.CD.Text = tostring(math.floor(16 - dt)) until dt >= 15 can_phantom = true main.CD.Visible = false main.ImageLabel.Visible = true end hum.Running:Connect(function(spd) if spd > .1 then running = true anims.Sprint:AdjustWeight(3) anims.Walk:AdjustWeight(2.5) anims.PhantomWalk:AdjustWeight(3.5) else running = false anims.PhantomWalk:AdjustWeight(1) anims.Sprint:AdjustWeight(1) anims.Walk:AdjustWeight(1) end end) anims.Walk:GetMarkerReachedSignal("Step"):Connect(function() if anims.Walk.RealWeight > anims.Idle.RealWeight and not sprinting and not phantom then play("Step") end end) anims.Sprint:GetMarkerReachedSignal("Step"):Connect(function() if anims.Sprint.RealWeight > anims.Idle.RealWeight and not phantom then play("Step") end end) re.OnServerEvent:Connect(function(plr, what, args) if plr ~= owner then return "silly goose" end if what == "KeyDown" then if args == "z" and not phantom then ows = 18 sprinting = true anims.Sprint:Play() hum.WalkSpeed = ows elseif args == "e" then ventilation_error() elseif args == "r" then phantom_walk() end elseif what == "KeyUp" then if args == "z" and sprinting then ows = 8 sprinting = false anims.Sprint:Stop() hum.WalkSpeed = ows elseif args == "r" and phantom then phantom = false end elseif what == "Button1Down" then attack() elseif what == "OnMobile" then ui.Mobile.Visible = true local sprint_toggle = false ui.Mobile.Attack.MouseButton1Click:Connect(function() re:FireClient(owner, "MobileInput", "Button1Down") end) ui.Mobile.Sprint.MouseButton1Click:Connect(function() if sprint_toggle then re:FireClient(owner, "MobileInput", "KeyUp", "z") sprint_toggle = false else re:FireClient(owner, "MobileInput", "KeyDown", "z") sprint_toggle = true end end) local map = { PhantomWalk = "r", VentilationError = "e" } for _, v in pairs(ui.Abilities:GetChildren()) do if not v:IsA("ImageButton") then continue end v.Use.MouseButton1Click:Connect(function() re:FireClient(owner, "MobileInput", "KeyDown", map[v.Name]) end) end end end) hum.WalkSpeed = 0 task.wait(.5) anims.Intro:Play() play("Intro") for _, plr in pairs(game:GetService("Players"):GetPlayers()) do if plr and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") and (plr.Character.HumanoidRootPart.Position - hum.RootPart.Position).Magnitude <= 16 then task.spawn(do_cam, plr, anims.Intro.Length) task.delay(anims.Intro.Length - 1.25, function() local gui = Instance.new("ScreenGui", plr.PlayerGui) gui.IgnoreGuiInset = true local fr = Instance.new("Frame", gui) fr.BorderSizePixel = 0 fr.BackgroundTransparency = 1 fr.Size = UDim2.fromScale(1, 1) fr.BackgroundColor3 = Color3.new() tw:Create(fr, TweenInfo.new(.5), {BackgroundTransparency = 0}):Play() task.wait(2) tw:Create(fr, TweenInfo.new(1), {BackgroundTransparency = 1}):Play() task.wait(1) gui:Destroy() end) end end anims.Intro.Stopped:Wait() hum.WalkSpeed = ows NLS([[ local highlights = {} local re = script.Parent local m = owner:GetMouse() local hum = re.Parent.Humanoid local cam = workspace.CurrentCamera local uis = game:GetService("UserInputService") local assets = game:GetService("ReplicatedStorage"):WaitForChild("SpringtrapAssets") workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(function() cam = workspace.CurrentCamera end) if uis.TouchEnabled then re:FireServer("OnMobile") end m.KeyDown:Connect(function(k) re:FireServer("KeyDown", k) end) m.KeyUp:Connect(function(k) re:FireServer("KeyUp", k) end) if not uis.TouchEnabled then m.Button1Down:Connect(function() re:FireServer("Button1Down") end) end re.OnClientEvent:Connect(function(what, ...) local args = {...} if what == "Highlight" then for _, v in pairs(workspace:GetDescendants()) do if v:IsA("Humanoid") and v ~= hum then local hl = Instance.new("Highlight", cam) hl.Adornee = v.Parent hl.OutlineTransparency = 1 hl.Name = "SpringtrapHighlight" hl.FillColor = Color3.new(.6, .6, 0) table.insert(highlights, hl) end end elseif what == "Lowlight" then for _, v in pairs(highlights) do v:Destroy() end table.clear(highlights) elseif what == "MobileInput" then re:FireServer(unpack(args)) end end) game:GetService("RunService").RenderStepped:Connect(function() hum.CameraOffset = hum.CameraOffset:Lerp(hum.RootPart.CFrame:ToObjectSpace(re.Parent.Torso.CFrame).Position, .1) end) ]], re) task.spawn(function() local hums = {} local vl_db = false while true do task.wait(.5) local params = OverlapParams.new() params.FilterDescendantsInstances = {char, script} params.FilterType = Enum.RaycastFilterType.Exclude local stuff = workspace:GetPartBoundsInRadius(hum.RootPart.Position, 84, params) table.sort(stuff, function(a, b) return (hum.RootPart.Position - a.Position).Magnitude < (hum.RootPart.Position - b.Position).Magnitude end) local cdb = false for _, v in pairs(stuff) do local vhum = findhum(v) if vhum and vhum.Health > 0 then local dist = (vhum.RootPart.Position - hum.RootPart.Position).Magnitude if not vl_db and dist <= 48 then vl_db = true play(`Lurking{math.random(1, 2)}`) task.delay(10, function() vl_db = false end) end if not cdb then cdb = true local t = math.min((84 - math.min(dist, 84)) / 32, 1) tw:Create(fnaf3, TweenInfo.new(.5), {Volume = lerp(.02, .3, t)}):Play() tw:Create(eq, TweenInfo.new(.5), { HighGain = lerp(-80, 0, t), LowGain = lerp(10, 0, t), MidGain = lerp(-15, 0, t) }):Play() end end end end end) while true do if running and sprinting then task.wait(.22) stamina = math.clamp(stamina - 2, 0, max_stamina) stamina_change() else task.wait(.3) stamina = math.clamp(stamina + 4, 0, max_stamina) stamina_change() end if stamina <= 0 and sprinting then ows = 8 sprinting = false anims.Sprint:Stop() hum.WalkSpeed = ows play("Exhaustion") end end
Editor Settings
Theme
Key bindings
Full width
Lines