
KeylessUniversal

local Window = Rayfield:CreateWindow({
Name = "Rayfield Example Window",
Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default).
LoadingTitle = "Rayfield Interface Suite",
LoadingSubtitle = "by Sirius",
ShowText = "Rayfield", -- for mobile users to unhide rayfield, change if you'd like
Theme = "Default", -- Check https://docs.sirius.menu/rayfield/configuration/themes
ToggleUIKeybind = "K", -- The keybind to toggle the UI visibility (string like "K" or Enum.KeyCode)
DisableRayfieldPrompts = false,
DisableBuildWarnings = false, -- Prevents Rayfield from warning when the script has a version mismatch with the interface
ConfigurationSaving = {
Enabled = true,
FolderName = nil, -- Create a custom folder for your hub/game
FileName = "Big Hub"
},
Discord = {
Enabled = false, -- Prompt the user to join your Discord server if their executor supports it
Invite = "noinvitelink", -- The Discord invite code, do not include discord.gg/. E.g. discord.gg/ ABCD would be ABCD
RememberJoins = true -- Set this to false to make them join the discord every time they load it up
},
KeySystem = false, -- Set this to true to use our key system
KeySettings = {
Title = "Untitled",
Subtitle = "Key System",
Note = "No method of obtaining the key is provided", -- Use this to tell the user how to get a key
FileName = "Key", -- It is recommended to use something unique as other scripts using Rayfield may overwrite your key file
SaveKey = true, -- The user's key will be saved, but if you change the key, they will be unable to use your script
GrabKeyFromSite = false, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
Key = {"Hello"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
}
})
local Section = Tab:CreateSection("Section Example")
local Button = Tab:CreateButton({
Name = "Button admin",
Callback = function()
--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
loadstring(game:HttpGet("https://raw.githubusercontent.com/Veaquach/kruel/refs/heads/main/kruel%20obf.txt"))()
-- https://discord.gg/pymGxT7KXR <--- suggestions here
end,
})
local Button = Tab:CreateButton({
Name = "Button john script",
Callback = function()
-- The function that takes place when the button is pressed
end,
})
--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
local Directories = {
Main = "FEVerse/",
RBXMs ="FEVerse/RBXMs/",
Sounds = "FEVerse/Sounds/",
Songs = "FEVerse/Songs/",
}
local FEManager = loadstring(game:HttpGet("https://gist.githubusercontent.com/MelonsStuff/a003ea305dd302eab1f8d372daed38b4/raw/9db59962b28555fd699a7c29891efb85d45677ab/gistfile1.txt"))()
for i, v in pairs(Directories) do FEManager.EnsureFolder(v) end
FEManager.DownloadFile(Directories.RBXMs, "John Doe.rbxmx", "https://raw.githubusercontent.com/MelonsStuff/FEVerse/refs/heads/main/RBXMs/John%20Doe.rbxmx")
FEManager.DownloadFile(Directories.RBXMs, "John Doe Kill Animations.rbxmx", "https://raw.githubusercontent.com/MelonsStuff/FEVerse/refs/heads/main/RBXMs/John%20Doe%20Kill%20Animations.rbxmx")
local Reanimate_Settings = {
Frequency = 6, -- this is basically how fast the oscillation goes
Amplification = 6, -- this is how far the oscillation goes
FrontOffset = 2.5, -- this is how much youre in front of the player during prediction
}
do
local ReanimateDummy
local Accessories = {}
local Aligns = {}
local Attachments = {}
local BindableEvent = nil
local Blacklist = {}
local CFrame = CFrame
local CFrameidentity = CFrame.identity
local CFramelookAt = CFrame.lookAt
local CFramenew = CFrame.new
local Character = nil
local CurrentCamera = nil
local Enum = Enum
local Custom = Enum.CameraType.Custom
local Health = Enum.CoreGuiType.Health
local HumanoidRigType = Enum.HumanoidRigType
local R6 = HumanoidRigType.R6
local Dead = Enum.HumanoidStateType.Dead
local LockCenter = Enum.MouseBehavior.LockCenter
local UserInputType = Enum.UserInputType
local MouseButton1 = UserInputType.MouseButton1
local Touch = UserInputType.Touch
local Exceptions = {}
local game = game
local Clone = game.Clone
local Close = game.Close
local Connect = Close.Connect
local Disconnect = Connect(Close, function() end).Disconnect
local Wait = Close.Wait
local Destroy = game.Destroy
local FindFirstAncestorOfClass = game.FindFirstAncestorOfClass
local FindFirstAncestorWhichIsA = game.FindFirstAncestorWhichIsA
local FindFirstChild = game.FindFirstChild
local FindFirstChildOfClass = game.FindFirstChildOfClass
local Players = FindFirstChildOfClass(game, "Players")
local CreateHumanoidModelFromDescription = Players.CreateHumanoidModelFromDescription
local GetPlayers = Players.GetPlayers
local LocalPlayer = Players.LocalPlayer
local CharacterAdded = LocalPlayer.CharacterAdded
local Mouse = LocalPlayer:GetMouse()
local Kill = LocalPlayer.Kill
local RunService = FindFirstChildOfClass(game, "RunService")
local PostSimulation = RunService.PostSimulation
local PreRender = RunService.PreRender
local PreSimulation = RunService.PreSimulation
local StarterGui = FindFirstChildOfClass(game, "StarterGui")
local GetCoreGuiEnabled = StarterGui.GetCoreGuiEnabled
local SetCore = StarterGui.SetCore
local SetCoreGuiEnabled = StarterGui.SetCoreGuiEnabled
local Workspace = FindFirstChildOfClass(game, "Workspace")
local FallenPartsDestroyHeight = Workspace.FallenPartsDestroyHeight
local HatDropY = FallenPartsDestroyHeight - 0.7
local FindFirstChildWhichIsA = game.FindFirstChildWhichIsA
local UserInputService = FindFirstChildOfClass(game, "UserInputService")
local InputBegan = UserInputService.InputBegan
local IsMouseButtonPressed = UserInputService.IsMouseButtonPressed
local GetChildren = game.GetChildren
local GetDescendants = game.GetDescendants
local GetPropertyChangedSignal = game.GetPropertyChangedSignal
local CurrentCameraChanged = GetPropertyChangedSignal(Workspace, "CurrentCamera")
local MouseBehaviorChanged = GetPropertyChangedSignal(UserInputService, "MouseBehavior")
local IsA = game.IsA
local IsDescendantOf = game.IsDescendantOf
local Highlights = {}
local Instancenew = Instance.new
local R15Animation = Instancenew("Animation")
local R6Animation = Instancenew("Animation")
local HumanoidDescription = Instancenew("HumanoidDescription")
local HumanoidModel = CreateHumanoidModelFromDescription(Players, HumanoidDescription, R6)
local R15HumanoidModel = CreateHumanoidModelFromDescription(Players, HumanoidDescription, HumanoidRigType.R15)
local SetAccessories = HumanoidDescription.SetAccessories
local ModelBreakJoints = HumanoidModel.BreakJoints
local Head = HumanoidModel.Head
local BasePartBreakJoints = Head.BreakJoints
local GetJoints = Head.GetJoints
local IsGrounded = Head.IsGrounded
local Humanoid = HumanoidModel.Humanoid
local ApplyDescription = Humanoid.ApplyDescription
local ChangeState = Humanoid.ChangeState
local EquipTool = Humanoid.EquipTool
local GetAppliedDescription = Humanoid.GetAppliedDescription
local GetPlayingAnimationTracks = Humanoid.GetPlayingAnimationTracks
local LoadAnimation = Humanoid.LoadAnimation
local Move = Humanoid.Move
local UnequipTools = Humanoid.UnequipTools
local ScaleTo = HumanoidModel.ScaleTo
local IsFirst = false
local IsHealthEnabled = nil
local IsLockCenter = false
local IsRegistered = false
local IsRunning = false
local LastTime = nil
local math = math
local mathrandom = math.random
local mathsin = math.sin
local mathpi = math.pi
local nan = 0 / 0
local next = next
local OptionsAccessories = nil
local OptionsApplyDescription = nil
local OptionsBreakJointsDelay = nil
local OptionsClickFling = nil
local OptionsDisableCharacterCollisions = nil
local OptionsDisableHealthBar = nil
local OptionsDisableRigCollisions = nil
local OptionsDefaultFlingOptions = nil
local OptionsHatDrop = nil
local OptionsHideCharacter = nil
local OptionsParentCharacter = nil
local OptionsRefit = nil
local OptionsRigTransparency = nil
local OptionsSetCameraSubject = nil
local OptionsSetCameraType = nil
local OptionsSetCharacter = nil
local OptionsSetCollisionGroup = nil
local OptionsSimulationRadius = nil
local OptionsTeleportRadius = nil
local OptionsUseServerBreakJoints
local osclock = os.clock
local PreRenderConnection = nil
local RBXScriptConnections = {}
local Refitting = false
local replicatesignal = replicatesignal
local Rig = nil
local RigHumanoid = nil
local RigHumanoidRootPart = nil
local sethiddenproperty = sethiddenproperty
local setscriptable = setscriptable
local stringfind = string.find
local table = table
local tableclear = table.clear
local tablefind = table.find
local tableinsert = table.insert
local tableremove = table.remove
local Targets = {}
local task = task
local taskdefer = task.defer
local taskspawn = task.spawn
local taskwait = task.wait
local Time = nil
local Tools = {}
local Vector3 = Vector3
local Vector3new = Vector3.new
local FlingVelocity = Vector3new(16384, 16384, 16384)
local HatDropLinearVelocity = Vector3new(0, 27, 0)
local HideCharacterOffset = Vector3new(0, - 30, 0)
local Vector3one = Vector3.one
local Vector3xzAxis = Vector3new(1, 0, 1)
local Vector3zero = Vector3.zero
local AntiSleep = Vector3zero
local Color3fromRGB = Color3.fromRGB
R15Animation.AnimationId = "rbxassetid://507767968"
R6Animation.AnimationId = "rbxassetid://180436148"
Humanoid = nil
Destroy(HumanoidDescription)
HumanoidDescription = nil
local FindFirstChildOfClassAndName = function(Parent, ClassName, Name)
for Index, Child in next, GetChildren(Parent) do
if IsA(Child, ClassName) and Child.Name == Name then
return Child
end
end
end
local GetHandleFromTable = function(Table)
for Index, Child in GetChildren(Character) do
if IsA(Child, "Accoutrement") then
local Handle = FindFirstChildOfClassAndName(Child, "BasePart", "Handle")
if Handle then
local MeshId = nil
local TextureId = nil
if IsA(Handle, "MeshPart") then
MeshId = Handle.MeshId
TextureId = Handle.TextureID
else
local SpecialMesh = FindFirstChildOfClass(Handle, "SpecialMesh")
if SpecialMesh then
MeshId = SpecialMesh.MeshId
TextureId = SpecialMesh.TextureId
end
end
if MeshId then
if stringfind(MeshId, Table.MeshId) and stringfind(TextureId, Table.TextureId) then
return Handle
end
end
end
end
end
end
local NewIndex = function(self, Index, Value)
self[Index] = Value
end
local DescendantAdded = function(Descendant)
if IsA(Descendant, "Accoutrement") and OptionsHatDrop then
if not pcall(NewIndex, Descendant, "BackendAccoutrementState", 0) then
if sethiddenproperty then
sethiddenproperty(Descendant, "BackendAccoutrementState", 0)
elseif setscriptable then
setscriptable(Descendant, "BackendAccoutrementState", true)
Descendant.BackendAccoutrementState = 0
end
end
elseif IsA(Descendant, "Attachment") then
local Attachment = Attachments[Descendant.Name]
if Attachment then
local Parent = Descendant.Parent
if IsA(Parent, "BasePart") then
local MeshId = nil
local TextureId = nil
if IsA(Parent, "MeshPart") then
MeshId = Parent.MeshId
TextureId = Parent.TextureID
else
local SpecialMesh = FindFirstChildOfClass(Parent, "SpecialMesh")
if SpecialMesh then
MeshId = SpecialMesh.MeshId
TextureId = SpecialMesh.TextureId
end
end
if MeshId then
for Index, Table in next, Accessories do
if Table.MeshId == MeshId and Table.TextureId == TextureId then
local Handle = Table.Handle
tableinsert(Aligns, {
LastPosition = Handle.Position,
Offset = CFrameidentity,
Part0 = Parent,
Part1 = Handle
})
return
end
end
for Index, Table in next, OptionsAccessories do
if stringfind(MeshId, Table.MeshId) and stringfind(TextureId, Table.TextureId) then
local Instance = nil
local TableName = Table.Name
local TableNames = Table.Names
if TableName then
Instance = FindFirstChildOfClassAndName(Rig, "BasePart", TableName)
else
for Index, TableName in next, TableNames do
local Child = FindFirstChildOfClassAndName(Rig, "BasePart", TableName)
if not ( TableNames[Index + 1] and Blacklist[Child] ) then
Instance = Child
break
end
end
end
if Instance then
local Blacklisted = Blacklist[Instance]
if not ( Blacklisted and Blacklisted.MeshId == MeshId and Blacklisted.TextureId == TextureId ) then
tableinsert(Aligns, {
Offset = Table.Offset,
Part0 = Parent,
Part1 = Instance
})
Blacklist[Instance] = { MeshId = MeshId, TextureId = TextureId }
return
end
end
end
end
local Accoutrement = FindFirstAncestorWhichIsA(Parent, "Accoutrement")
if Accoutrement and IsA(Accoutrement, "Accoutrement") then
local AccoutrementClone = Clone(Accoutrement)
local HandleClone = FindFirstChildOfClassAndName(AccoutrementClone, "BasePart", "Handle")
HandleClone.Transparency = OptionsRigTransparency
for Index, Descendant in next, GetDescendants(HandleClone) do
if IsA(Descendant, "JointInstance") then
Destroy(Descendant)
end
end
local AccessoryWeld = Instancenew("Weld")
AccessoryWeld.C0 = Descendant.CFrame
AccessoryWeld.C1 = Attachment.CFrame
AccessoryWeld.Name = "AccessoryWeld"
AccessoryWeld.Part0 = HandleClone
AccessoryWeld.Part1 = Attachment.Parent
AccessoryWeld.Parent = HandleClone
AccoutrementClone.Parent = Rig
tableinsert(Accessories, {
Handle = HandleClone,
MeshId = MeshId,
TextureId = TextureId
})
tableinsert(Aligns, {
Offset = CFrameidentity,
Part0 = Parent,
Part1 = HandleClone
})
end
end
end
end
end
end
local SetCameraSubject = function()
local CameraCFrame = CurrentCamera.CFrame
local Position = RigHumanoidRootPart.CFrame.Position
CurrentCamera.CameraSubject = RigHumanoid
Wait(PreRender)
CurrentCamera.CFrame = CameraCFrame + RigHumanoidRootPart.CFrame.Position - Position
end
local OnCameraSubjectChanged = function()
if CurrentCamera.CameraSubject ~= RigHumanoid then
taskdefer(SetCameraSubject)
end
end
local OnCameraTypeChanged = function()
if CurrentCamera.CameraType ~= Custom then
CurrentCamera.CameraType = Custom
end
end
local OnCurrentCameraChanged = function()
local Camera = Workspace.CurrentCamera
if Camera and OptionsSetCameraSubject then
CurrentCamera = Workspace.CurrentCamera
taskspawn(SetCameraSubject)
OnCameraSubjectChanged()
tableinsert(RBXScriptConnections, Connect(GetPropertyChangedSignal(CurrentCamera, "CameraSubject"), OnCameraSubjectChanged))
if OptionsSetCameraType then
OnCameraTypeChanged()
tableinsert(RBXScriptConnections, Connect(GetPropertyChangedSignal(CurrentCamera, "CameraType"), OnCameraTypeChanged))
end
end
end
local SetCharacter = function()
LocalPlayer.Character = Rig
end
local SetSimulationRadius = function()
LocalPlayer.SimulationRadius = OptionsSimulationRadius
end
local WaitForChildOfClass = function(Parent, ClassName)
local Child = FindFirstChildOfClass(Parent, ClassName)
while not Child do
Wait(Parent.ChildAdded)
Child = FindFirstChildOfClass(Parent, ClassName)
end
return Child
end
local WaitForChildOfClassAndName = function(Parent, ...)
local Child = FindFirstChildOfClassAndName(Parent, ...)
while not Child do
Wait(Parent.ChildAdded)
Child = FindFirstChildOfClassAndName(Parent, ...)
end
return Child
end
local Fling = function(Target, Options)
if Target then
local Highlight = Options.Highlight
if IsA(Target, "Humanoid") then
Target = Target.Parent
end
if IsA(Target, "Model") then
Target = FindFirstChildOfClassAndName(Target, "BasePart", "HumanoidRootPart") or FindFirstChildWhichIsA(Character, "BasePart")
end
if not tablefind(Targets, Target) and IsA(Target, "BasePart") and not Target.Anchored and not IsDescendantOf(Character, Target) and not IsDescendantOf(Rig, Target) then
local Model = FindFirstAncestorOfClass(Target, "Model")
if Model and FindFirstChildOfClass(Model, "Humanoid") then
Target = FindFirstChildOfClassAndName(Model, "BasePart", "HumanoidRootPart") or FindFirstChildWhichIsA(Character, "BasePart") or Target
else
Model = Target
end
if Highlight then
local HighlightObject = type(Highlight) == "boolean" and Highlight and Instancenew("Highlight") or Clone(Highlight)
HighlightObject.Adornee = Model
HighlightObject.Parent = Model
HighlightObject.OutlineColor = Color3fromRGB(255, 0, 0)
HighlightObject.FillColor = Color3fromRGB(0, 0, 0)
Options.HighlightObject = HighlightObject
tableinsert(Highlights, HighlightObject)
end
Targets[Target] = Options
end
end
end
local OnCharacterAdded = function(NewCharacter)
if NewCharacter ~= Rig then
tableclear(Aligns)
tableclear(Blacklist)
Character = NewCharacter
if OptionsSetCameraSubject then
taskspawn(SetCameraSubject)
end
if OptionsSetCharacter then
taskdefer(SetCharacter)
end
if OptionsParentCharacter then
Character.Parent = Rig
end
for Index, Descendant in next, GetDescendants(Character) do
taskspawn(DescendantAdded, Descendant)
end
tableinsert(RBXScriptConnections, Connect(Character.DescendantAdded, DescendantAdded))
Humanoid = WaitForChildOfClass(Character, "Humanoid")
local HumanoidRootPart = WaitForChildOfClassAndName(Character, "BasePart", "HumanoidRootPart")
if IsFirst then
if OptionsApplyDescription and Humanoid then
local AppliedDescription = GetAppliedDescription(Humanoid)
SetAccessories(AppliedDescription, {}, true)
taskspawn(ApplyDescription, RigHumanoid, AppliedDescription)
end
if HumanoidRootPart then
RigHumanoidRootPart.CFrame = HumanoidRootPart.CFrame
if OptionsSetCollisionGroup then
local CollisionGroup = HumanoidRootPart.CollisionGroup
for Index, Descendant in next, GetDescendants(Rig) do
if IsA(Descendant, "BasePart") then
Descendant.CollisionGroup = CollisionGroup
end
end
end
end
IsFirst = false
end
local IsAlive = true
if HumanoidRootPart then
for Target, Options in next, Targets do
if IsDescendantOf(Target, Workspace) then
local FirstPosition = Target.Position
local PredictionFling = Options.PredictionFling
local LastPosition = FirstPosition
local Timeout = osclock() + Options.Timeout or 1
if HumanoidRootPart then
while IsDescendantOf(Target, Workspace) and osclock() < Timeout do
local DeltaTime = taskwait()
local Position = Target.Position
if ( Position - FirstPosition ).Magnitude > 100 then
break
end
local Offset = Vector3zero
if PredictionFling then
local BaseOffset = (Position - LastPosition) / DeltaTime * 0.13
local Frequency = Reanimate_Settings.Frequency
local Amplification = Reanimate_Settings.Amplification
local Time = tick()
local TargetFace = Target.CFrame.LookVector
local Oscillation = mathsin(Time * mathpi * 2 * Frequency) * Amplification
local OscillatedOffset = TargetFace * Oscillation
local FrontFaceOffset = TargetFace * Reanimate_Settings.FrontOffset
Offset = BaseOffset + OscillatedOffset + FrontFaceOffset
end
HumanoidRootPart.AssemblyAngularVelocity = FlingVelocity
HumanoidRootPart.AssemblyLinearVelocity = FlingVelocity
HumanoidRootPart.CFrame = CFrame.new(Target.Position + Offset) * CFrame.Angles(0, Target.Orientation.Y, 0)
LastPosition = Position
end
end
end
local HighlightObject = Options.HighlightObject
if HighlightObject then
Destroy(HighlightObject)
end
Targets[Target] = nil
end
HumanoidRootPart.AssemblyAngularVelocity = Vector3zero
HumanoidRootPart.AssemblyLinearVelocity = Vector3zero
if OptionsHatDrop then
taskspawn(function()
WaitForChildOfClassAndName(Character, "LocalScript", "Animate").Enabled = false
for Index, AnimationTrack in next, GetPlayingAnimationTracks(Humanoid) do
AnimationTrack:Stop()
end
LoadAnimation(Humanoid, Humanoid.RigType == R6 and R6Animation or R15Animation):Play(0)
pcall(NewIndex, Workspace, "FallenPartsDestroyHeight", nan)
local RootPartCFrame = RigHumanoidRootPart.CFrame
RootPartCFrame = CFramenew(RootPartCFrame.X, HatDropY, RootPartCFrame.Z)
while IsAlive do
HumanoidRootPart.AssemblyAngularVelocity = Vector3zero
HumanoidRootPart.AssemblyLinearVelocity = HatDropLinearVelocity
HumanoidRootPart.CFrame = RootPartCFrame
taskwait()
end
end)
elseif OptionsHideCharacter then
local HideCharacterOffset = typeof(OptionsHideCharacter) == "Vector3" and OptionsHideCharacter or HideCharacterOffset
local RootPartCFrame = RigHumanoidRootPart.CFrame + HideCharacterOffset
taskspawn(function()
while IsAlive do
HumanoidRootPart.AssemblyAngularVelocity = Vector3zero
HumanoidRootPart.AssemblyLinearVelocity = Vector3zero
HumanoidRootPart.CFrame = RootPartCFrame
taskwait()
end
end)
elseif OptionsTeleportRadius then
HumanoidRootPart.CFrame = RigHumanoidRootPart.CFrame + Vector3new(mathrandom(- OptionsTeleportRadius, OptionsTeleportRadius), 0, mathrandom(- OptionsTeleportRadius, OptionsTeleportRadius))
end
end
local ToolFling = OptionsDefaultFlingOptions.ToolFling
local Tools2 = {}
if ToolFling then
local Backpack = FindFirstChildOfClass(LocalPlayer, "Backpack")
tableclear(Tools)
if type(ToolFling) == "string" then
local Tool = FindFirstChildOfClassAndName(Backpack, "Tool", ToolFling)
if Tool then
Tool.Parent = Character
tableinsert(Tools2, Tool)
end
else
for Index, Tool in GetChildren(Backpack) do
if IsA(Tool, "Tool") then
Tool.Parent = Character
tableinsert(Tools2, Tool)
end
end
end
UnequipTools(Humanoid)
end
taskwait(OptionsBreakJointsDelay)
ModelBreakJoints(Character)
if replicatesignal and OptionsUseServerBreakJoints then
replicatesignal(Humanoid.ServerBreakJoints)
end
ChangeState(Humanoid, Dead)
Wait(Humanoid.Died)
for Index, Tool in Tools2 do
local Handle = FindFirstChildOfClassAndName(Tool, "BasePart", "Handle")
if Handle then
Tool.Parent = Character
else
tableremove(Tools2, Index)
end
end
Tools = Tools2
UnequipTools(Humanoid)
IsAlive = false
if OptionsHatDrop then
pcall(NewIndex, Workspace, "FallenPartsDestroyHeight", FallenPartsDestroyHeight)
end
end
end
local OnInputBegan = function(InputObject)
local UserInputType = InputObject.UserInputType
if UserInputType == MouseButton1 or UserInputType == Touch then
local Target = Mouse.Target
local HatFling = OptionsDefaultFlingOptions.HatFling
local ToolFling = OptionsDefaultFlingOptions.ToolFling
if HatFling and OptionsHatDrop then
local Part = type(HatFling) == "table" and GetHandleFromTable(HatFling)
if not Part then
for Index, Child in GetChildren(Character) do
if IsA(Child, "Accoutrement") then
local Handle = FindFirstChildOfClassAndName(Child, "BasePart", "Handle")
if Handle then
Part = Handle
break
end
end
end
end
if Part then
Exceptions[Part] = true
while IsMouseButtonPressed(UserInputService, MouseButton1) do
if Part.ReceiveAge == 0 then
Part.AssemblyAngularVelocity = FlingVelocity
Part.AssemblyLinearVelocity = FlingVelocity
Part.CFrame = Mouse.Hit + AntiSleep
end
taskwait()
end
Exceptions[Part] = nil
end
elseif ToolFling then
local Backpack = FindFirstChildOfClass(LocalPlayer, "Backpack")
local Tool = nil
if type(ToolFling) == "string" then
Tool = FindFirstChild(Backpack, ToolFling) or FindFirstChild(Character, ToolFling)
end
if not Tool then
Tool = FindFirstChildOfClass(Backpack, "Tool") or FindFirstChildOfClass(Character, "Tool")
end
if Tool then
local Handle = FindFirstChildOfClassAndName(Tool, "BasePart", "Handle") or FindFirstChildWhichIsA(Tool, "BasePart")
if Handle then
Tool.Parent = Character
while IsMouseButtonPressed(UserInputService, MouseButton1) do
if Handle.ReceiveAge == 0 then
Handle.AssemblyAngularVelocity = FlingVelocity
Handle.AssemblyLinearVelocity = FlingVelocity
Handle.CFrame = Mouse.Hit + AntiSleep
end
taskwait()
end
UnequipTools(Humanoid)
Handle.AssemblyAngularVelocity = Vector3zero
Handle.AssemblyLinearVelocity = Vector3zero
Handle.CFrame = RigHumanoidRootPart.CFrame
end
end
else
Fling(Target, OptionsDefaultFlingOptions)
end
end
end
local OnPostSimulation = function()
Time = osclock()
local DeltaTime = Time - LastTime
LastTime = Time
if not OptionsSetCharacter and IsLockCenter then
local Position = RigHumanoidRootPart.Position
RigHumanoidRootPart.CFrame = CFramelookAt(Position, Position + CurrentCamera.CFrame.LookVector * Vector3xzAxis)
end
if OptionsSimulationRadius then
pcall(SetSimulationRadius)
end
AntiSleep = mathsin(Time * 15) * 0.0015 * Vector3one
local Axis = 27 + mathsin(Time)
for Index, Table in next, Aligns do
local Part0 = Table.Part0
if not Exceptions[Part0] then
if Part0.ReceiveAge == 0 then
if IsDescendantOf(Part0, Workspace) and not GetJoints(Part0)[1] and not IsGrounded(Part0) then
local Part1 = Table.Part1
Part0.AssemblyAngularVelocity = Vector3zero
local LinearVelocity = Part1.AssemblyLinearVelocity * Axis
Part0.AssemblyLinearVelocity = Vector3new(LinearVelocity.X, Axis, LinearVelocity.Z)
Part0.CFrame = Part1.CFrame * Table.Offset + AntiSleep
end
else
local Frames = Table.Frames or - 1
Frames = Frames + 1
Table.Frames = Frames
end
end
end
if not OptionsSetCharacter and Humanoid then
Move(RigHumanoid, Humanoid.MoveDirection)
RigHumanoid.Jump = Humanoid.Jump
end
end
local OnPreRender = function()
local Position = RigHumanoidRootPart.Position
RigHumanoidRootPart.CFrame = CFramelookAt(Position, Position + CurrentCamera.CFrame.LookVector * Vector3xzAxis)
for Index, Table in next, Aligns do
local Part0 = Table.Part0
if Part0.ReceiveAge == 0 and IsDescendantOf(Part0, Workspace) and not GetJoints(Part0)[1] and not IsGrounded(Part0) then
Part0.CFrame = Table.Part1.CFrame * Table.Offset
end
end
end
local OnMouseBehaviorChanged = function()
IsLockCenter = UserInputService.MouseBehavior == LockCenter
if IsLockCenter then
PreRenderConnection = Connect(PreRender, OnPreRender)
tableinsert(RBXScriptConnections, PreRenderConnection)
elseif PreRenderConnection then
Disconnect(PreRenderConnection)
tableremove(RBXScriptConnections, tablefind(RBXScriptConnections, PreRenderConnection))
end
end
local OnPreSimulation = function()
if OptionsDisableCharacterCollisions and Character then
for Index, Descendant in next, GetDescendants(Character) do
if IsA(Descendant, "BasePart") then
Descendant.CanCollide = false
end
end
end
if OptionsDisableRigCollisions then
for Index, Descendant in next, GetChildren(Rig) do
if IsA(Descendant, "BasePart") then
Descendant.CanCollide = false
end
end
end
end
local Register = function()
repeat
IsRegistered = pcall(SetCore, StarterGui, "ResetButtonCallback", BindableEvent)
taskwait()
until IsRegistered
end
Start = function(Options)
if not IsRunning then
IsFirst = true
IsRunning = true
Options = Options or {}
OptionsAccessories = Options.Accessories or {}
OptionsApplyDescription = Options.ApplyDescription
OptionsBreakJointsDelay = Options.BreakJointsDelay or 0
OptionsClickFling = Options.ClickFling
OptionsDisableCharacterCollisions = Options.DisableCharacterCollisions
OptionsDisableHealthBar = Options.DisableHealthBar
OptionsDisableRigCollisions = Options.DisableRigCollisions
OptionsDefaultFlingOptions = Options.DefaultFlingOptions or {}
OptionsHatDrop = Options.HatDrop
OptionsHideCharacter = Options.HideCharacter
OptionsParentCharacter = Options.ParentCharacter
OptionsRefit = Options.Refit
local OptionsRigSize = Options.RigSize
OptionsRigTransparency = Options.RigTransparency or 1
OptionsSetCameraSubject = Options.SetCameraSubject
OptionsSetCameraType = Options.SetCameraType
OptionsSetCharacter = Options.SetCharacter
OptionsSetCollisionGroup = Options.SetCollisionGroup
OptionsSimulationRadius = Options.SimulationRadius
OptionsTeleportRadius = Options.TeleportRadius
OptionsUseServerBreakJoints = Options.UseServerBreakJoints
if OptionsDisableHealthBar then
IsHealthEnabled = GetCoreGuiEnabled(StarterGui, Health)
SetCoreGuiEnabled(StarterGui, Health, false)
end
BindableEvent = Instancenew("BindableEvent")
tableinsert(RBXScriptConnections, Connect(BindableEvent.Event, Stop))
Rig = Options.R15 and Clone(R15HumanoidModel) or Clone(HumanoidModel)
Rig.Name = "non"
RigHumanoid = Rig.Humanoid
RigHumanoidRootPart = Rig.HumanoidRootPart
Rig.Parent = Workspace
local CreateObject = function(Name)
local Part = Instance.new("Part")
Part.Name = Name
Part.Massless = true
Part.CanCollide = true
Part.Transparency = 1
Part.Size = Vector3new(0.1, 0.1, 0.1)
Part.Anchored = true
Part.Parent = Rig
return Part
end
ReanimateDummy = CreateObject("Reanimate_Dummy")
for Index, Descendant in next, GetDescendants(Rig) do
if IsA(Descendant, "Attachment") then
Attachments[Descendant.Name] = Descendant
elseif IsA(Descendant, "BasePart") or IsA(Descendant, "Decal") then
Descendant.Transparency = OptionsRigTransparency
end
end
if OptionsRigSize then
ScaleTo(Rig, OptionsRigSize)
RigHumanoid.JumpPower = 50
RigHumanoid.WalkSpeed = 16
end
OnCurrentCameraChanged()
tableinsert(RBXScriptConnections, Connect(CurrentCameraChanged, OnCurrentCameraChanged))
if OptionsClickFling then
tableinsert(RBXScriptConnections, Connect(InputBegan, OnInputBegan))
end
local Character = LocalPlayer.Character
if Character then
OnCharacterAdded(Character)
ReanimateDummy.Anchored = false
end
tableinsert(RBXScriptConnections, Connect(CharacterAdded, OnCharacterAdded))
LastTime = osclock()
tableinsert(RBXScriptConnections, Connect(PostSimulation, OnPostSimulation))
if not OptionsSetCharacter then
OnMouseBehaviorChanged()
tableinsert(RBXScriptConnections, Connect(MouseBehaviorChanged, OnMouseBehaviorChanged))
end
if OptionsDisableCharacterCollisions or OptionsDisableRigCollisions then
OnPreSimulation()
tableinsert(RBXScriptConnections, Connect(PreSimulation, OnPreSimulation))
end
IsRegistered = pcall(SetCore, StarterGui, "ResetButtonCallback", BindableEvent)
if not IsRegistered then
taskspawn(Register)
end
return {
BindableEvent = BindableEvent,
Fling = Fling,
Rig = Rig
}
end
end
Stop = function()
if IsRunning then
IsFirst = false
IsRunning = false
for Index, Highlight in Highlights do
Destroy(Highlight)
end
tableclear(Highlights)
for Index, RBXScriptConnection in next, RBXScriptConnections do
Disconnect(RBXScriptConnection)
end
tableclear(RBXScriptConnections)
Destroy(BindableEvent)
if Character.Parent == Rig then
Character.Parent = Workspace
end
if Humanoid then
ChangeState(Humanoid, Dead)
end
Destroy(Rig)
if OptionsDisableHealthBar and not GetCoreGuiEnabled(StarterGui, Health) then
SetCoreGuiEnabled(StarterGui, Health, IsHealthEnabled)
end
if IsRegistered then
pcall(SetCore, StarterGui, "ResetButtonCallback", true)
else
IsRegistered = pcall(SetCore, StarterGui, "ResetButtonCallback", true)
end
end
end
end
local Rad = math.rad
Empyrean = Start({
Accessories = {
-- Hammer Head Rig
{ Name = "Torso", MeshId = "139792224823925", TextureId = "89183204903931", Offset = CFrame.Angles(0, 0, Rad(90)) },
{ Name = "Right Arm", MeshId = "105263225400272", TextureId = "111402858657243", Offset = CFrame.Angles(0, 0, Rad(90)) },
{ Name = "Left Arm", MeshId = "105263225400272", TextureId = "111402858657243", Offset = CFrame.Angles(0, 0, Rad(90)) },
-- Glitchy Limbs (Monochrome)
{ Name = "Torso", MeshId = "94838871645327", TextureId = "108681181592495", Offset = CFrame.identity },
{ Name = "Right Arm", MeshId = "18885728798", TextureId = "18885728798", Offset = CFrame.identity },
{ Name = "Left Arm", MeshId = "18885728798", TextureId = "18885728798", Offset = CFrame.identity },
{ Name = "Right Leg",MeshId = "100080236046620", TextureId = "78703116520529", Offset = CFrame.identity },
{ Name = "Left Leg", MeshId = "91790195871679", TextureId = "108681181592495", Offset = CFrame.identity },
-- Gojo Rig
{ Name = "Torso", MeshId = "113465334594272", TextureId = "94020114074172", Offset = CFrame.identity },
{ Name = "Right Arm",MeshId = "82030652840870", TextureId = "137595219926625", Offset = CFrame.identity },
{ Name = "Left Arm", MeshId = "91244322746029", TextureId = "137595219926625", Offset = CFrame.identity },
{ Name = "Right Leg", MeshId = "132187752780278", TextureId = "97394845862368", Offset = CFrame.Angles(3.15, 0, 0) },
{ Name = "Left Leg", MeshId = "131967977780088", TextureId = "97394845862368", Offset = CFrame.Angles(3.15, 0, 0) },
-- New Free Hair Limbs
{ MeshId = "319354652", Name = "Left Arm", Offset = CFrame.new(0.15, 0, 0) * CFrame.Angles(0, -1.57, 0), TextureId = "376186990" },
{ MeshId = "319354652", Name = "Right Arm", Offset = CFrame.new(-0.15, 0, 0) * CFrame.Angles(0, 1.57, 0), TextureId = "304117018" },
{ MeshId = "81642452", Name = "Left Leg", Offset = CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, Rad(180)), TextureId = "6858317942" },
{ MeshId = "81642452", Name = "Right Leg", Offset = CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, Rad(180)), TextureId = "6858318826" },
-- New Free Rig
{ MeshId = "4819720316", Name = "Torso", Offset = CFrame.Angles(0, 0, -0.25), TextureId = "4819722776" },
{ MeshId = "3030546036", Name = "Left Arm", Offset = CFrame.new(0.15, 0, 0) * CFrame.Angles(-1.57, 0, 1.57), TextureId = "3033903209" },
{ MeshId = "3030546036", Name = "Right Arm", Offset = CFrame.new(-0.15, 0, 0) * CFrame.Angles(-1.57, 0, -1.57), TextureId = "3360978739" },
{ MeshId = "3030546036", Name = "Left Leg", Offset = CFrame.new(0.15, 0, 0) * CFrame.Angles(-1.57, 0, 1.57), TextureId = "3033898741" },
{ MeshId = "3030546036", Name = "Right Leg", Offset = CFrame.new(0.15, 0, 0) * CFrame.Angles(-1.57, 0, -1.57), TextureId = "3409604993" },
-- Snake Banisher Rig
{ MeshId = "125443585075666", Name = "Torso", Offset = CFrame.Angles(0, 3.15, 0), TextureId = "121023324229475" },
{ MeshId = "121342985816617", Name = "Left Arm", Offset = CFrame.Angles(0, 0, 1.57), TextureId = "129264637819824" },
{ MeshId = "121342985816617", Name = "Right Arm", Offset = CFrame.Angles(0, 3.15, 1.57), TextureId = "129264637819824" },
{ MeshId = "83395427313429", Names = { "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "97148121718581" },--18641142410
-- Prosthetics (Furnace Rig)
{ MeshId = "117554824897780", Name = "Right Leg", Offset = CFrame.Angles(0, -1.57, 0), TextureId = "99077561039115" },
{ MeshId = "123388937940630", Name = "Left Leg", Offset = CFrame.Angles(0, 1.57, 0), TextureId = "99077561039115" },
{ MeshId = "117554824897780", Name = "Right Leg", Offset = CFrame.Angles(0, -1.57, 0), TextureId = "84429400539007" },
{ MeshId = "123388937940630", Name = "Left Leg", Offset = CFrame.Angles(0, 1.57, 0), TextureId = "84429400539007" },
-- Classic Cheap Rig
{ MeshId = "12344206657", Name = "Left Arm", Offset = CFrame.new(0.05, 0.05, -0.075) * CFrame.Angles(-2, 0, 0), TextureId = "12344206675" },
{ MeshId = "12344207333", Name = "Right Arm", Offset = CFrame.new(-0.05, 0.05, -0.075) * CFrame.Angles(-1.95, 0, 0), TextureId = "12344207341" },
{ MeshId = "11159370334", Name = "Left Leg", Offset = CFrame.Angles(1.57, 1.57, 0), TextureId = "11159284657" },
{ MeshId = "11263221350", Name = "Right Leg", Offset = CFrame.Angles(1.57, -1.57, 0), TextureId = "11263219250" },
-- Grey Mesh Rig
{ MeshId = "127552124837034", Names = {"Torso"}, Offset = CFrame.Angles(0, 0, 0), TextureId = "131014325980101" },--14255556501
{ MeshId = "117287001096396", Names = { "Left Arm", "Right Arm"}, Offset = CFrame.Angles(0, 0, 0), TextureId = "120169691545791" },--14255556501
{ MeshId = "121304376791439", Names = { "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 0), TextureId = "131014325980101" },--18641142410
-- Classical Products rig (white/black arms)
{ MeshId = "14241018198", Names = {"Torso"}, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "14251599953" },
{ MeshId = "17374767929", Names = { "Left Arm", "Right Arm"}, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "17374768001" },
{ MeshId = "17387586286", Names = { "Left Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "17387586304" },
{ MeshId = "14255522247", Names = { "Left Arm", "Right Arm"}, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "14255543546" },
-- Noob Rig
{ MeshId = "18640899369", Name = "Torso", Offset = CFrame.Angles(0, 0, 0), TextureId = "18640899481" },
{ MeshId = "18640914129", Names = { "Left Arm", "Right Arm"}, Offset = CFrame.Angles(0, 0, 0), TextureId = "18640914168" },
{ MeshId = "18640901641", Names = { "Left Leg", "Right Leg"}, Offset = CFrame.Angles(0, 0, 0), TextureId = "18640901676" },
-- Genesis Black Rig
{ MeshId = "110684113028749", Name = "Torso", Offset = CFrame.identity, TextureId = "70661572547971" },
{ MeshId = "125405780718494", Name = "Left Arm", Offset = CFrame.Angles(0, 0, Rad(90)), TextureId = "136752500636691" },
{ MeshId = "125405780718494", Name = "Right Arm", Offset = CFrame.Angles(0, 0, Rad(90)), TextureId = "136752500636691" },
{ MeshId = "125405780718494", Name = "Left Leg", Offset = CFrame.Angles(0, 0, Rad(90)), TextureId = "136752500636691" },
{ MeshId = "125405780718494", Name = "Right Leg", Offset = CFrame.Angles(0, 0, Rad(90)), TextureId = "136752500636691" },
-- Genesis White Rig
{ MeshId = "126825022897778", Name = "Torso", Offset = CFrame.identity, TextureId = "130689541138804" },
{ MeshId = "99608462237958", Name = "Left Arm", Offset = CFrame.Angles(0, 0, Rad(90)), TextureId = "130809869695496" },
{ MeshId = "139733645770094", Name = "Right Arm", Offset = CFrame.Angles(0, 0, Rad(90)), TextureId = "130809869695496" },
{ MeshId = "105141400603933", Name = "Left Leg", Offset = CFrame.Angles(0, 0, Rad(90)), TextureId = "71060417496309" },
{ MeshId = "90736849096372", Name = "Right Leg", Offset = CFrame.Angles(0, 0, Rad(90)), TextureId = "79186624401216" },
-- request
{ MeshId = "14768666349", Name = "Torso", Offset = CFrame.Angles(0, 0, 0), TextureId = "14768664565" },
{ MeshId = "14768684979", Names = { "Left Arm", "Right Arm"}, Offset = CFrame.Angles(0, 0, 1.57), TextureId = "14768683674" },
-- Dummies
-- 135402384718389 / 1x1x1x1 Companion
{ Name = "Reanimate_Dummy", MeshId = "104517187424526", TextureId = "133044964286932", Offset = CFrame.Angles(0, Rad(180), 0) },
-- 108495754880799 / Sans Buddy
{ Name = "Reanimate_Dummy", MeshId = "105289859748885", TextureId = "126957807478034", Offset = CFrame.Angles(0, Rad(180), 0) },
-- 103608104439992 / Minos Prime Buddy
{ Name = "Reanimate_Dummy", MeshId = "126192907613302", TextureId = "112923148955520", Offset = CFrame.Angles(0, Rad(180), 0) },
-- 123845356193764 - 98099894849025 / VHS Glitch
{ Name = "Reanimate_Dummy", MeshId = "137246576921101", TextureId = "", Offset = CFrame.Angles(0, Rad(180), 0) },
-- 7548993875 - 12103236257 / Free Dummy
{ Name = "Reanimate_Dummy", MeshId = "12495661615", TextureId = "12495666203", Offset = CFrame.new(0, -1, 0)},
-- Arms
-- 85716494418115 / Milestone 1 Arm
{ Name = "Right Arm", MeshId = "137855860286839", TextureId = "117670564210592", Offset = CFrame.new(0.25, -0.5, 0) },
-- 111138012932143 / Milestone 2 Arm
{ Name = "Right Arm", MeshId = "79875567101920", TextureId = "136120210849686", Offset = CFrame.new(0.3, -0.5, 0) },
-- 74890626600873 / Milestone 3 Arm
{ Name = "Right Arm", MeshId = "129215583333657", TextureId = "128192857394964", Offset = CFrame.new(0.3, -0.5, 0) },
-- 96699092482249 / Milestone 4 Arm
{ Name = "Right Arm", MeshId = "100825182699939", TextureId = "89211322970449", Offset = CFrame.new(0.3, -0.5, 0) },
-- 122293866267553 / Script Builder Arm
{ Name = "Right Arm", MeshId = "124989035573464", TextureId = "128213334280922", Offset = CFrame.new(0.3, -0.5, 0) },
-- 75437051504654 / Screamer Arm
{ Name = "Right Arm", MeshId = "107481082962823", TextureId = "96761111981185", Offset = CFrame.new(0, -1, 0) },
-- 103604163849610 / Living Legend Arm
{ Name = "Right Arm", MeshId = "105260093609634", TextureId = "124661114206561", Offset = CFrame.new(0, 0, 0) },
-- 86824424549357 / Original Arm
{ Name = "Right Arm", MeshId = "99922912174402", TextureId = "84232685747564", Offset = CFrame.new(0.285, -0.75, 0) },
-- 7548993875 - 12103236257 / Free Arm
{ Name = "Right Arm", MeshId = "7547179386", TextureId = "7547152243", Offset = CFrame.Angles(Rad(0), Rad(90), Rad(45)) },
{ Name = "Right Arm", MeshId = "12052123246", TextureId = "12052422349", Offset = CFrame.Angles(Rad(90), Rad(180), Rad(0)) },
},
ApplyDescription = true,
BreakJointsDelay = 0.255,
ClickFling = false,
DefaultFlingOptions = {
HatFling = false,
Highlight = false,
PredictionFling = true,
Timeout = 0.1,
ToolFling = false,
},
DisableCharacterCollisions = true,
DisableHealthBar = true,
DisableRigCollisions = true,
HatDrop = false,
HideCharacter = Vector3.new(0, -30, 0),
ParentCharacter = true,
Refit = true,
RigSize = 1,
RigTransparency = 1,
R15 = false,
SetCameraSubject = true,
SetCameraType = true,
SetCharacter = false,
SetCollisionGroup = true,
SimulationRadius = 2147483647,
TeleportRadius = 12,
UseServerBreakJoints = true,
})
DefaultFlingOptions = {
HatFling = false,
Highlight = false,
PredictionFling = true,
Timeout = 0.25,
ToolFling = false,
}
local AnimatorModule = {}
local TrashBin = {}
local script = game:GetObjects(getcustomasset(Directories.RBXMs.."John Doe.rbxmx"))[1]
local KillAnimations = game:GetObjects(getcustomasset(Directories.RBXMs.."John Doe Kill Animations.rbxmx"))[1]
local FPS = setfpscap(60)
local Blend = 0.35
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local Debris = game:GetService("Debris")
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local AnimDefaults = {
["Neck"] = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
["RootJoint"] = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
["Right Shoulder"] = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
["Left Shoulder"] = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
["Right Hip"] = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
["Left Hip"] = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
["Head"] = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
["Torso"] = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
["Right Arm"] = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
["Left Arm"] = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
["Right Leg"] = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
["Left Leg"] = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
}
local function Edit(Joint, TargetCFrame, Duration, Style, Direction, Blend)
if not Style or typeof(Style) ~= "EnumItem" or Style.EnumType ~= Enum.EasingStyle then
Style = Enum.EasingStyle.Cubic
end
if not Direction or typeof(Direction) ~= "EnumItem" or Direction.EnumType ~= Enum.EasingDirection then
Direction = Enum.EasingDirection.InOut
end
local StartCFrame = Joint.C0
local Tween = TweenService:Create(Joint, TweenInfo.new(Duration, Style, Direction), {
C0 = StartCFrame:Lerp(TargetCFrame, Blend)
})
Tween:Play()
return Tween
end
function AnimatorModule:LoadAnimation(Rig, KeyframeSequence)
local Sequence = KeyframeSequence
local RigHumanoid = Rig:FindFirstChildOfClass("Humanoid")
if RigHumanoid.RigType ~= Enum.HumanoidRigType.R6 then
return error("Rig Humanoid is not R6!")
end
local Joints = {
["Head"] = Rig.Torso["Neck"],
["Torso"] = Rig.HumanoidRootPart:FindFirstChild("RootJoint") or Rig.HumanoidRootPart:FindFirstChild("Root Joint"),
["Left Arm"] = Rig.Torso["Left Shoulder"],
["Right Arm"] = Rig.Torso["Right Shoulder"],
["Left Leg"] = Rig.Torso["Left Hip"],
["Right Leg"] = Rig.Torso["Right Hip"],
}
local Class = {}
Class.Speed = 1
Class.KeepLast = 0
local Keyframes = Sequence:GetKeyframes()
table.sort(Keyframes, function(a, b) return a.Time < b.Time end)
Class.Length = Keyframes[#Keyframes].Time
local function Yield(Seconds)
RunService.Heartbeat:Wait(Seconds / Class.Speed)
end
for _, v in ipairs(Sequence:GetDescendants()) do
if v:IsA("IntValue") or v:IsA("StringValue") or v:IsA("Folder") then
v:Destroy()
elseif v:IsA("Pose") and not Rig:FindFirstChild(v.Name, true) then
v:Destroy()
end
end
Class.Stopped = true
Class.IsPlaying = false
Class.TimePosition = 0
Class.Looped = Sequence.Loop
local Completion = Instance.new("BindableEvent")
local Reached = Instance.new("BindableEvent")
Class.Completed = Completion.Event
Class.KeyframeReached = Reached.Event
function Class:Play(Speed)
if Speed and Speed < 0 then
Speed = math.abs(Speed)
end
Class.Speed = math.clamp(Speed or 180, 1, 180)
Class.Stopped = false
Class.IsPlaying = true
task.spawn(function()
Class.Completed:Connect(function()
if Class.Looped then
Class.TimePosition = 0
end
end)
local Connection
Connection = RunService.Heartbeat:Connect(function(dt)
if Class.IsPlaying and not Class.Stopped and RigHumanoid.Health > 0 then
Class.TimePosition += math.min(dt * Class.Speed, 1)
else
Connection:Disconnect()
end
end)
end)
task.spawn(function()
repeat
for K = 1, #Keyframes do
local K0, K1, K2 = Keyframes[K-1], Keyframes[K], Keyframes[K+1]
if not Class.Stopped and RigHumanoid.Health > 0 then
if K0 then
Yield(K1.Time - K0.Time)
end
task.spawn(function()
for _, Pose in ipairs(K1:GetDescendants()) do
if Joints[Pose.Name] then
local Duration = K2 and (K2.Time - K1.Time) / Class.Speed or 0.5
Edit(Joints[Pose.Name], AnimDefaults[Pose.Name] * Pose.CFrame, Duration, Pose.EasingStyle, Pose.EasingDirection, Blend)
end
end
end)
if K == #Keyframes and Class.KeepLast > 0 then
Yield(Class.KeepLast)
end
Reached:Fire(K1.Name)
else
break
end
end
Completion:Fire()
until not Class.Looped or Class.Stopped or RigHumanoid.Health == 0
Class.IsPlaying = false
end)
end
function Class:Stop()
Class.Stopped = true
end
function Class:AdjustSpeed(Speed)
if Speed < 0 then
Speed = math.abs(Speed)
end
Class.Speed = math.clamp(Speed or Class.Speed, 1, 180)
end
return Class
end
-- booleans + values
local Idle, Walking, Running, Enraged = false, false, false, false
local Debounce, Shift, CanHitbox = false, false, false
local MeleeHit = false
local HitboxConnection
-- character setup
local Player = Players.LocalPlayer
local Character = Empyrean.Rig
local Head = Character:WaitForChild("Head")
local Torso = Character:WaitForChild("Torso")
local LeftArm, RightArm = Character:WaitForChild("Left Arm"), Character:WaitForChild("Right Arm")
local LeftLeg, RightLeg = Character:WaitForChild("Left Leg"), Character:WaitForChild("Right Leg")
local RootPart = Character:WaitForChild("HumanoidRootPart")
local Humanoid = Character:WaitForChild("Humanoid")
pcall(function()
Character:FindFirstChild("Animate"):Destroy()
Humanoid:FindFirstChild("Animator"):Destroy()
end)
-- player functions
local function SetWalkSpeed(Speed) Humanoid.WalkSpeed = Speed end
local function SetRootPartAnchor(Bool) RootPart.Anchored = Bool end
-- effects setup
local Animations = script:WaitForChild("Animations")
local Camera = workspace.CurrentCamera
local Tween = TweenService:Create(Camera, TweenInfo.new(1, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out), {FieldOfView = 80})
Tween:Play()
function PlaySound(Audio)
local Sound = Instance.new("Sound", RootPart)
Sound.SoundId = "rbxassetid://" .. Audio
Sound.PlayOnRemove = true
Sound:Destroy()
end
local Dummy = Players:CreateHumanoidModelFromDescription(game.Players:GetHumanoidDescriptionFromUserId(Player.UserId), Enum.HumanoidRigType.R6)
Dummy:WaitForChild("HumanoidRootPart").Anchored = true
Dummy.Parent = nil
for i, v in pairs(Dummy:GetDescendants()) do
if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then
v.Color = Color3.fromRGB(255, 255, 255)
v.Transparency = 1
end
if v:IsA("Decal") or v:IsA("Accessory") or v:IsA("Shirt") or v:IsA("Pants") or v:IsA("CharacterMesh") then
v:Destroy()
end
end
local Objects = script:WaitForChild("Objects")
pcall(function() -- so frickin tuff
Objects:WaitForChild("Number"):Clone().Parent = RightArm
Objects:WaitForChild("Number"):Clone().Parent = Head
Objects:WaitForChild("Aura").Parent = Torso
Objects:WaitForChild("Aura").Parent = Torso
Objects:WaitForChild("SpecsOrbs5").Parent = Torso
Objects:WaitForChild("SpecsOrbs").Parent = Torso
end)
local ReanimateDummy = Character:WaitForChild("Reanimate_Dummy")
local DummyWeld = Instance.new("Weld")
DummyWeld.Parent = RootPart
DummyWeld.Part0 = RootPart
DummyWeld.Part1 = ReanimateDummy
DummyWeld.C0 = CFrame.new(0, -15, 0)
local FlashHitHighlight = function(Target)
if not Target or not Target:IsA("Model") then return end
if Target:FindFirstChild("HitHighlight") then return end
local Highlight = Instance.new("Highlight")
Highlight.Name = "HitHighlight"
Highlight.Adornee = Target
Highlight.FillColor = Color3.fromRGB(255, 60, 60)
Highlight.OutlineColor = Color3.fromRGB(145, 0, 0)
Highlight.FillTransparency = 1
Highlight.OutlineTransparency = 1
Highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
Highlight.Parent = Target
local FlashIn = TweenService:Create(Highlight, TweenInfo.new(0.12, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {FillTransparency = 0.3, OutlineTransparency = 0})
local FadeOut = TweenService:Create(Highlight,TweenInfo.new(0.35, Enum.EasingStyle.Quad, Enum.EasingDirection.In),{FillTransparency = 1,OutlineTransparency = 1})
FlashIn:Play()
FlashIn.Completed:Once(function() FadeOut:Play() end)
FadeOut.Completed:Once(function() Highlight:Destroy() end)
end
local EnableHitbox = function()
if HitboxConnection then
HitboxConnection:Disconnect()
HitboxConnection = nil
end
HitboxConnection = LeftArm.Touched:Connect(function(Hit)
if not CanHitbox then return end
if Hit:IsDescendantOf(Character) then return end
local Target = Hit:FindFirstAncestorOfClass("Model")
local TargetHumanoid = Target and Target:FindFirstChildOfClass("Humanoid")
if TargetHumanoid then
PlaySound(3417831369)
Empyrean.Fling(Target, DefaultFlingOptions)
FlashHitHighlight(Target)
HitboxConnection:Disconnect()
HitboxConnection = nil
end
end)
end
-- animator
local PlayAnim = function(Rig, Animation, AnimSpeed)
if not AnimatorModule[Rig] then
AnimatorModule[Rig] = {}
end
if not AnimatorModule[Rig][Animation.Name] then
AnimatorModule[Rig][Animation.Name] = AnimatorModule:LoadAnimation(Rig, Animation)
end
for Name, Track in pairs(AnimatorModule[Rig]) do
if Name ~= Animation.Name then
Track:Stop()
end
end
local AnimInstance = AnimatorModule[Rig][Animation.Name]
if not AnimInstance.IsPlaying then
AnimInstance:Play(AnimSpeed or 1)
end
return AnimInstance
end
local StopAnim = function(Rig, Anim)
if not AnimatorModule[Rig] then
AnimatorModule[Rig] = {}
end
if not AnimatorModule[Rig][Anim.Name] then
AnimatorModule[Rig][Anim.Name] = AnimatorModule:LoadAnimation(Rig, Anim)
end
AnimatorModule[Rig][Anim.Name]:Stop()
end
-- Extra functions
local RestoreMovement = function()
if RootPart.Velocity.Magnitude < 1 and workspace:FindPartOnRay(Ray.new(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position + Vector3.new(0, -1, 0))).LookVector * 4), Character) then
Idle = true
Walking = false
Running = false
PlayAnim(Character, Animations.Idle, 1)
elseif RootPart.Velocity.Magnitude > 1 and workspace:FindPartOnRay(Ray.new(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position + Vector3.new(0, -1, 0))).LookVector * 4), Character) then
Idle = false
Walking = true
Running = false
PlayAnim(Character, Animations.Walk, 1)
end
end
-- attacks
local Slash = function()
if Debounce then return end
local SwingEvent
Debounce = true
local SwingAnimation = PlayAnim(Character, Animations.Slash, 1)
SwingEvent = SwingAnimation.KeyframeReached:Connect(function(Keyframe)
if Keyframe == "Swing" then
CanHitbox = true
EnableHitbox()
PlaySound(137628815514180)
task.delay(0.25, function() CanHitbox = false end)
if SwingEvent then
SwingEvent:Disconnect()
SwingEvent = nil
end
end
end)
SwingAnimation.Completed:Wait()
Debounce = false
RestoreMovement()
end
local Corrupt_Energy = function()
if Debounce then return end
local HitHumanoids = {}
local SpikesEvent
Debounce = true
SetWalkSpeed(0.15)
local SpikesAnimation = PlayAnim(Character, Animations["Corrupt Energy"], 1)
PlaySound(119224961688213)
SpikesEvent = SpikesAnimation.KeyframeReached:Connect(function(Keyframe)
if Keyframe == "Start" then
PlaySound(137628815514180)
local StartPosition = RootPart.Position + Vector3.new(0, -3, 0)
task.spawn(function()
for i = 1, 27 do
task.wait(0.1)
local Spike = Objects:WaitForChild("Spike"):Clone()
table.insert(TrashBin, Spike)
Spike.Anchored = true
PlaySound(104633111379428)
local FrontOffset = RootPart.CFrame.LookVector * (i * 7)
local RightVector = RootPart.CFrame.RightVector
local SideOffset = RightVector * math.random(-2*100, 2*100) / 100
local TargetPosition = StartPosition + FrontOffset + SideOffset
local RayOrigin = TargetPosition + Vector3.new(0, 10, 0)
local RayDirection = Vector3.new(0, -50, 0)
local RaycastParams = RaycastParams.new()
RaycastParams.FilterType = Enum.RaycastFilterType.Blacklist
RaycastParams.FilterDescendantsInstances = { Character }
local RaycastResult = workspace:Raycast(RayOrigin, RayDirection, RaycastParams)
if RaycastResult then
local GroundPosition = RaycastResult.Position + Vector3.new(0, 5, 0)
Spike.Parent = workspace
local SpikeTween = TweenService:Create(Spike, TweenInfo.new(0.25, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {Position = GroundPosition})
SpikeTween:Play()
end
Spike.Position = TargetPosition
Spike.Parent = workspace
local OverlapParameters = OverlapParams.new()
OverlapParameters.FilterType = Enum.RaycastFilterType.Blacklist
OverlapParameters.FilterDescendantsInstances = { Character }
local GetOverlappingParts = workspace:GetPartsInPart(Spike, OverlapParameters)
for i, v in ipairs(GetOverlappingParts) do
local Target = v:FindFirstAncestorOfClass("Model")
if Target and not HitHumanoids[Target] then
HitHumanoids[Target] = true
local TargetHumanoid = Target:FindFirstChildOfClass("Humanoid")
local EnemyRoot = Target:FindFirstChild("HumanoidRootPart")
if TargetHumanoid and Target ~= Character then
Empyrean.Fling(Target, DefaultFlingOptions)
if EnemyRoot then
FlashHitHighlight(Target)
end
end
end
end
task.delay(14, function()
PlaySound(121670325864544)
local SpikeTween = TweenService:Create(Spike, TweenInfo.new(0.25, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {Position = Spike.Position + Vector3.new(0, -10, 0)})
SpikeTween:Play()
task.wait(0.25)
Spike:Destroy()
end)
end
end)
if SpikesEvent then
SpikesEvent:Disconnect()
SpikesEvent = nil
end
end
end)
SpikesAnimation.Completed:Wait()
Debounce = false
RestoreMovement()
end
local Digital_Footprint = function() -- ts was so rushed so mb if its a little unoptimized, i used .Touched before but this felt more accurate
if Debounce then return end
local StompEvent
Debounce = true
SetWalkSpeed(0.25)
local StompAnimation = PlayAnim(Character, Animations["Digital Footprint"], 1)
PlaySound(72657841732583)
StompEvent = StompAnimation.KeyframeReached:Connect(function(Keyframe)
if Keyframe == "FinalStomp" then
local RootPartRaycast = Ray.new(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position + Vector3.new(0, -1, 0))).LookVector)
local HitGround, HitPosition, HitNormal = workspace:FindPartOnRay(RootPartRaycast, Character)
local Puddle = Objects:WaitForChild("Puddle"):Clone()
table.insert(TrashBin, Puddle)
Puddle.Anchored = true
Puddle.CanTouch = true
Puddle.CanCollide = false
Puddle.CFrame = CFrame.new(HitPosition + (RootPart.CFrame.LookVector * 2) + Vector3.new(0, -1.845, 0)) * CFrame.Angles(0, 0, math.rad(90))
Puddle.Size = Vector3.new(0.1, 0.1, 0.1)
Puddle.Parent = workspace
local PuddleTween = TweenService:Create(Puddle, TweenInfo.new(0.5, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out), {Size = Vector3.new(4.25, 4.25, 4.25)})
PuddleTween:Play()
PuddleTween.Completed:Wait()
for i, v in ipairs(Puddle:GetDescendants()) do
if v:IsA("ParticleEmitter") then
v.Enabled = true
end
end
local Sound = Instance.new("Sound", Puddle)
Sound.SoundId = "rbxassetid://83669531948820"
Sound.Volume = 0.5
Sound.Looped = true
Sound:Play()
local OverlapParams = OverlapParams.new()
OverlapParams.FilterType = Enum.RaycastFilterType.Blacklist
OverlapParams.FilterDescendantsInstances = {Character}
task.spawn(function()
while Puddle and Puddle.Parent do
local Parts = workspace:GetPartsInPart(Puddle, OverlapParams)
for i, Hit in ipairs(Parts) do
local Target = Hit:FindFirstAncestorOfClass("Model")
local TargetHumanoid = Target and Target:FindFirstChildOfClass("Humanoid")
if TargetHumanoid and Target ~= Character then
if not Hit:IsDescendantOf(Character) then
local Target = Hit:FindFirstAncestorOfClass("Model")
local TargetHumanoid = Target and Target:FindFirstChildOfClass("Humanoid")
if TargetHumanoid then
FlashHitHighlight(Target)
for i, v in ipairs(Puddle:GetDescendants()) do
if v:IsA("ParticleEmitter") then
v.Enabled = false
end
end
task.delay(2, function()
Empyrean.Fling(Target, DefaultFlingOptions)
PuddleTween = TweenService:Create(Puddle, TweenInfo.new(0.25, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out), {Size = Vector3.new(0, 0, 0)})
PuddleTween:Play()
Sound:Stop()
task.wait(0.25)
Puddle:Destroy()
end)
end
end
return
end
end
task.wait(0.1)
end
end)
if StompEvent then
StompEvent:Disconnect()
StompEvent = nil
end
end
end)
StompAnimation.Completed:Wait()
Debounce = false
RestoreMovement()
end
-- ctrl c, ctrl v LOL
local Screamer_Kill = function()
if Debounce then return end
Debounce = true
SetRootPartAnchor(true)
local NPC = Dummy:Clone()
NPC.Parent = workspace
local NPCHead = NPC:WaitForChild("Head")
local NPCRoot = NPC:WaitForChild("HumanoidRootPart")
local NPCTorso = NPC:WaitForChild("Torso")
DummyWeld.Part0 = NPCTorso
DummyWeld.Part1 = ReanimateDummy
DummyWeld.C0 = CFrame.new(0, 0, 0)
NPCRoot.CFrame = CFrame.lookAt(RootPart.Position + (RootPart.CFrame.LookVector * -2.5), RootPart.Position) * CFrame.new(0, 0, -1.5)
local KillerExecutionAnimation = PlayAnim(Character, KillAnimations.KillerExecution_Screamer, 1)
local VictimExecutionAnimation = PlayAnim(NPC, KillAnimations.VictimExecution_Screamer, 1)
VictimExecutionAnimation.Completed:Wait()
NPCRoot.Anchored = false
NPCHead:Destroy()
KillerExecutionAnimation.Completed:Wait()
DummyWeld.Part0 = RootPart
DummyWeld.Part1 = ReanimateDummy
DummyWeld.C0 = CFrame.new(0, -15, 0)
NPC:Destroy()
SetRootPartAnchor(false)
Debounce = false
RestoreMovement()
end
local Milestone4_Kill = function()
if Debounce then return end
Debounce = true
SetRootPartAnchor(true)
local NPC = Dummy:Clone()
NPC.Parent = workspace
local NPCHead = NPC:WaitForChild("Head")
local NPCRoot = NPC:WaitForChild("HumanoidRootPart")
local NPCTorso = NPC:WaitForChild("Torso")
DummyWeld.Part0 = NPCTorso
DummyWeld.Part1 = ReanimateDummy
DummyWeld.C0 = CFrame.new(0, 0, 0)
NPCRoot.CFrame = CFrame.lookAt(RootPart.Position + (RootPart.CFrame.LookVector * 2.5), RootPart.Position) * CFrame.new(0, 0, 1)
local KillerExecutionAnimation = PlayAnim(Character, KillAnimations.KillerExecution_Milestone4, 1)
local VictimExecutionAnimation = PlayAnim(NPC, KillAnimations.VictimExecution_Milestone4, 1)
VictimExecutionAnimation.Completed:Wait()
NPCRoot.Anchored = false
NPCHead:Destroy()
KillerExecutionAnimation.Completed:Wait()
DummyWeld.Part0 = RootPart
DummyWeld.Part1 = ReanimateDummy
DummyWeld.C0 = CFrame.new(0, -15, 0)
NPC:Destroy()
SetRootPartAnchor(false)
Debounce = false
RestoreMovement()
end
local Milestone4Legacy_Kill = function()
if Debounce then return end
Debounce = true
SetRootPartAnchor(true)
local NPC = Dummy:Clone()
NPC.Parent = workspace
local NPCHead = NPC:WaitForChild("Head")
local NPCRoot = NPC:WaitForChild("HumanoidRootPart")
local NPCTorso = NPC:WaitForChild("Torso")
DummyWeld.Part0 = NPCTorso
DummyWeld.Part1 = ReanimateDummy
DummyWeld.C0 = CFrame.new(0, 0, 0)
NPCRoot.CFrame = CFrame.lookAt(RootPart.Position + (RootPart.CFrame.LookVector * -2.5), RootPart.Position) * CFrame.new(0, 0, -1.5)
local KillerExecutionAnimation = PlayAnim(Character, KillAnimations.KillerExecution_Milestone4Legacy, 1)
local VictimExecutionAnimation = PlayAnim(NPC, KillAnimations.VictimExecution_Milestone4Legacy, 1)
VictimExecutionAnimation.Completed:Wait()
DummyWeld.Part0 = RootPart
DummyWeld.Part1 = ReanimateDummy
DummyWeld.C0 = CFrame.new(0, -15, 0)
NPCRoot.Anchored = false
NPCHead:Destroy()
KillerExecutionAnimation.Completed:Wait()
NPC:Destroy()
SetRootPartAnchor(false)
Debounce = false
RestoreMovement()
end
local Default_Kill = function()
if Debounce then return end
Debounce = true
SetRootPartAnchor(true)
local NPC = Dummy:Clone()
NPC.Parent = workspace
local NPCHead = NPC:WaitForChild("Head")
local NPCRoot = NPC:WaitForChild("HumanoidRootPart")
local NPCTorso = NPC:WaitForChild("Torso")
DummyWeld.Part0 = NPCTorso
DummyWeld.Part1 = ReanimateDummy
DummyWeld.C0 = CFrame.new(0, 0, 0)
NPCRoot.CFrame = CFrame.lookAt(RootPart.Position + (RootPart.CFrame.LookVector * 2.5), RootPart.Position) * CFrame.new(0, 0, 1)
local KillerExecutionAnimation = PlayAnim(Character, KillAnimations.KillerExecution_Default, 1)
local VictimExecutionAnimation = PlayAnim(NPC, KillAnimations.VictimExecution_Default, 1)
VictimExecutionAnimation.Completed:Wait()
NPCRoot.Anchored = false
NPCHead:Destroy()
KillerExecutionAnimation.Completed:Wait()
DummyWeld.Part0 = RootPart
DummyWeld.Part1 = ReanimateDummy
DummyWeld.C0 = CFrame.new(0, -15, 0)
NPC:Destroy()
SetRootPartAnchor(false)
Debounce = false
RestoreMovement()
end
-- keybinds
local ShitlockController = Player.PlayerScripts:WaitForChild("PlayerModule"):WaitForChild("CameraModule"):WaitForChild("MouseLockController")
ShitlockController:FindFirstChild("BoundKeys").Value = "LeftControl, RightControl"
local KeyDown = UserInputService.InputBegan:Connect(function(Key, GPE)
if GPE then return end
if Key.UserInputType == Enum.UserInputType.MouseButton1 then
Slash()
end
if Key.KeyCode == Enum.KeyCode.Q then
Digital_Footprint()
end
if Key.KeyCode == Enum.KeyCode.E then
Corrupt_Energy()
end
if Key.KeyCode == Enum.KeyCode.Z then
Default_Kill()
end
if Key.KeyCode == Enum.KeyCode.C then
Milestone4_Kill()
end
if Key.KeyCode == Enum.KeyCode.X then
Milestone4Legacy_Kill()
end
if Key.KeyCode == Enum.KeyCode.V then
Screamer_Kill()
end
if Key.KeyCode == Enum.KeyCode.LeftShift or Key.KeyCode == Enum.KeyCode.RightShift then
if Debounce then return end
Shift = true
local Tween = TweenService:Create(Camera, TweenInfo.new(1, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out), {FieldOfView = 90})
Tween:Play()
end
end)
local KeyUp = UserInputService.InputEnded:Connect(function(Key)
if Key.KeyCode == Enum.KeyCode.LeftShift or Key.KeyCode == Enum.KeyCode.RightShift then
Shift = false
local Tween = TweenService:Create(Camera, TweenInfo.new(1, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out), {FieldOfView = 80})
Tween:Play()
end
end)
-- animations
local RunServiceEvent = RunService.Heartbeat:Connect(function(dt)
Humanoid.CameraOffset = Humanoid.CameraOffset:Lerp((RootPart.CFrame * CFrame.new(0, 1.5, 0)):PointToObjectSpace(Head.Position), math.clamp(8 * 60 * 60, 0, 1))
if Debounce then
StopAnim(Character,Animations.Idle)
StopAnim(Character,Animations.Walk)
StopAnim(Character,Animations.Sprint)
end
if not Debounce then
if Shift then
SetWalkSpeed(27.25)
else
SetWalkSpeed(9)
end
end
local HitFloor, HitPosition = workspace:FindPartOnRay(Ray.new(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position + Vector3.new(0, -1, 0))).LookVector * 4), Character)
local TorsoVelocity = (RootPart.Velocity).Magnitude
local TorsoVerticalVelocity = RootPart.Velocity.Y
if TorsoVelocity < 1 and HitFloor ~= nil and Debounce == false then
if Idle == false then
Idle = true
PlayAnim(Character,Animations.Idle, 1)
end
Walking = false
Running = false
StopAnim(Character,Animations.Sprint)
StopAnim(Character,Animations.Walk)
elseif TorsoVelocity > 1 and HitFloor ~= nil and Debounce == false and Shift == true then
if Running == false then
Running = true
PlayAnim(Character,Animations.Sprint, 1)
end
Idle = false
Walking = false
StopAnim(Character,Animations.Walk)
StopAnim(Character,Animations.Idle)
elseif TorsoVelocity > 1 and HitFloor ~= nil and Debounce == false then
if Walking == false then
Walking = true
PlayAnim(Character, Animations.Walk, 1)
end
Idle = false
Running = false
StopAnim(Character,Animations.Sprint)
StopAnim(Character,Animations.Idle)
end
end)
local GUI = script:WaitForChild("UIs").MobileUI
GUI.Parent = game:GetService("CoreGui")
local UpdateUI = function()
local LastInput = UserInputService:GetLastInputType()
if LastInput == Enum.UserInputType.Touch
then GUI.Enabled = true
else GUI.Enabled = false
end
end
UpdateUI()
UserInputService.LastInputTypeChanged:Connect(UpdateUI)
GUI.AbilitiesUI["Slash"].MouseButton1Down:connect(function() Slash() end)
GUI.AbilitiesUI["Corrupt Energy"].MouseButton1Down:connect(function() Corrupt_Energy() end)
GUI.AbilitiesUI["Digital Footprint"].MouseButton1Down:connect(function() Digital_Footprint() end)
GUI.AbilitiesUI["Sprint"].MouseButton1Down:connect(function() Shift = not Shift end)
Empyrean.BindableEvent.Event:Once(function()
print("Resetting.")
for i, v in TrashBin do
v:Destroy()
end
RunServiceEvent:Disconnect()
KeyDown:Disconnect()
KeyUp:Disconnect()
end)
local Button = Tab:CreateButton({
Name = "Button server admin",
Callback = function()
--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
loadstring(game:HttpGet("https://raw.githubusercontent.com/ilikeices/script/refs/heads/main/serveradmin.luau"))()
end,
})No comments yet for this script.



