
KeylessUniversal

-- [[ Admin : Reanimate ]] --
--[[
Credits:
// Melon - Created this script
// Emper - Created the reanimation used
// ZerX - Movement scripting (last part only, i edited it a bit)
// Xoaterz - Created the assets used to make this script.
Note: if there's bugs pls let me know so i can fix them
the code may be unoptimized at some parts
Free hats:
// Voidstar: https://www.roblox.com/catalog/2309346267/Classic-PC-Hat
Free rig:
// https://www.roblox.com/catalog/3033910400/International-Fedora-Germany
// https://www.roblox.com/catalog/3409612660/International-Fedora-USA
// https://www.roblox.com/catalog/3398308134/International-Fedora-Canada
// https://www.roblox.com/catalog/3033908130/International-Fedora-France
// https://www.roblox.com/catalog/4819740796/Robox
Paid hats are found in this game:
// https://www.roblox.com/games/15541318313/Melons-Baseplate
]]
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
task.spawn(function()
FEManager.DownloadFile(Directories.RBXMs, "Admin.rbxmx", "https://drive.usercontent.google.com/download?id=1sYex5UmZvaFkQrc6P8AW5cWyX1a3RGoQ&export=download")
FEManager.DownloadFile(Directories.Sounds, "Chase.mp3", "https://raw.githubusercontent.com/MelonsStuff/FEVerse/refs/heads/main/Sounds/Admin/Chase.MP3")
FEManager.DownloadFile(Directories.Sounds, "Ambience.mp3", "https://github.com/MelonsStuff/FEVerse/raw/refs/heads/main/Sounds/Admin%20Reworked/Ambience.mp3")
FEManager.DownloadFile(Directories.Sounds, "Execution.mp3", "https://github.com/MelonsStuff/FEVerse/raw/refs/heads/main/Sounds/Admin%20Reworked/Execution.mp3")
FEManager.DownloadFile(Directories.Sounds, "NovaExplode.mp3", "https://github.com/MelonsStuff/FEVerse/raw/refs/heads/main/Sounds/Admin%20Reworked/NovaExplode.mp3")
FEManager.DownloadFile(Directories.Sounds, "NovaThrow.mp3", "https://github.com/MelonsStuff/FEVerse/raw/refs/heads/main/Sounds/Admin%20Reworked/NovaThrow.mp3")
FEManager.DownloadFile(Directories.Sounds, "ObservantStart.mp3", "https://github.com/MelonsStuff/FEVerse/raw/refs/heads/main/Sounds/Admin%20Reworked/ObservantStart.mp3")
FEManager.DownloadFile(Directories.Sounds, "ObservantCancel.mp3", "https://github.com/MelonsStuff/FEVerse/raw/refs/heads/main/Sounds/Admin%20Reworked/ObservantCancel.mp3")
FEManager.DownloadFile(Directories.Sounds, "ObservantTeleport.mp3", "https://github.com/MelonsStuff/FEVerse/raw/refs/heads/main/Sounds/Admin%20Reworked/ObservantTeleport.mp3")
FEManager.DownloadFile(Directories.Sounds, "Stab.mp3", "https://github.com/MelonsStuff/FEVerse/raw/refs/heads/main/Sounds/Admin%20Reworked/Stab.mp3")
FEManager.DownloadFile(Directories.Sounds, "Stun.mp3", "https://github.com/MelonsStuff/FEVerse/raw/refs/heads/main/Sounds/Admin%20Reworked/Stun.mp3")
FEManager.DownloadFile(Directories.Sounds, "VoidRushStart.mp3", "https://github.com/MelonsStuff/FEVerse/raw/refs/heads/main/Sounds/Admin%20Reworked/VoidRushStart.mp3")
FEManager.DownloadFile(Directories.Sounds, "VoidRushCharge.mp3", "https://github.com/MelonsStuff/FEVerse/raw/refs/heads/main/Sounds/Admin%20Reworked/VoidRushCharge.mp3")
FEManager.DownloadFile(Directories.Sounds, "VoidRushSlam.mp3", "https://github.com/MelonsStuff/FEVerse/raw/refs/heads/main/Sounds/Admin%20Reworked/VoidRushSlam.mp3")
end)
local IntroKeyframes = loadstring(game:HttpGet("https://gist.githubusercontent.com/MelonsStuff/d1eab70e7877e0769f42e6c4d89fc6f4/raw/e2c4a9a2af52d8f8426aacfc54435372dd8cc587/AdminIntroKeyframes.lua"))().Keyframes
local OutroKeyframes = loadstring(game:HttpGet("https://gist.githubusercontent.com/MelonsStuff/c4a31886c3099a91fe6a0b33d17045bc/raw/017c725d5cd8c84a5ee404e4b30e8477aae36c05/AdminOutroKeyframes.lua"))().Keyframes
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
}
local Settings = {
Fling = true;
Earrape = false;
CameraEffects = true;
InfiniteJump = false;
Spin = false;
RigSize = 1;
Ragdoll = false;
Music = true;
}
do
local ReanimateVoidstar
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 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 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 not Settings.Ragdoll then
for Index, Descendant in next, GetChildren(Rig) do
if IsA(Descendant, "BasePart") then
Descendant.CanCollide = false
end
end
else
for Index, Descendant in next, GetChildren(Rig) do
if IsA(Descendant, "BasePart") and Descendant.Name ~= "HumanoidRootPart" and Descendant.Name ~= "VoidStar" then
Descendant.CanCollide = true
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
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
ReanimateVoidstar = CreateObject("Reanimate_Voidstar")
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)
ReanimateVoidstar.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 = {
-- 2x Rig
{ Name = "Head", MeshId = "92572400594624", TextureId = "117484156735788", Offset = CFrame.new(0, 2.15, 0) * CFrame.Angles(0, Rad(180), 0) },
{ Name = "Torso", MeshId = "111946216585470", TextureId = "85260593368362", Offset = CFrame.new(0, 1.5, 0.25) },
{ Name = "Right Arm", MeshId = "93749227415046", TextureId = "103757531289975", Offset = CFrame.new(1, 0.85, 0) },
{ Name = "Left Arm", MeshId = "117649985156221", TextureId = "103757531289975", Offset = CFrame.new(-1, 0.85, 0) },
{ Name = "Right Leg",MeshId = "76010149115685", TextureId = "103160995675216", Offset = CFrame.new(-0.55, 1, 0) },
{ Name = "Left Leg", MeshId = "137156465227879", TextureId = "103160995675216", Offset = CFrame.new(0.55, 1, 0) },
-- Tords Rig
{ Name = "Torso", MeshId = "97772676424430", TextureId = "96282018871478", Offset = CFrame.identity },
{ Name = "Right Arm", MeshId = "128839203893104", TextureId = "100542973447024", Offset = CFrame.identity },
{ Name = "Left Arm", MeshId = "113944263422349", TextureId = "79061753792604", Offset = CFrame.identity },
-- 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" },
-- Blocks
-- 138094177071382 / Admin's Command Block
{ Name = "Reanimate_Voidstar", MeshId = "124450938319006", TextureId = "116140049379017", Offset = CFrame.Angles(0, 0, 0) },
-- 126174506610997 / Tesseract Void
{ Name = "Reanimate_Voidstar", MeshId = "114491662662773", TextureId = "116639272672519", Offset = CFrame.Angles(0, 0, 0) },
-- 79778797065018 / YAAI Noli Tab
{ Name = "Reanimate_Voidstar", MeshId = "75226925425816", TextureId = "114653511721119", Offset = CFrame.Angles(0, 0, 0) },
-- 107375989698675 / Noli's Nova
{ Name = "Reanimate_Voidstar", MeshId = "111761423287127", TextureId = "104436009988593", Offset = CFrame.Angles(0, 0, 0) },
-- 18427767574 / Bloxy Cola
{ Name = "Reanimate_Voidstar", MeshId = "18427706530", TextureId = "18427706831", Offset = CFrame.Angles(Rad(-90), 0, 0) },
-- 89392828628286 / Devesto F3X
{ Name = "Reanimate_Voidstar", MeshId = "93839976189892", TextureId = "87530318962700", Offset = CFrame.Angles(0, 0, 0) },
-- 81135739703341 / Red Room Cursor
{ Name = "Reanimate_Voidstar", MeshId = "133225911736441", TextureId = "93962139150200", Offset = CFrame.Angles(0, 0, 0) },
-- 75152516777442 / Umbra Eye
{ Name = "Reanimate_Voidstar", MeshId = "118568444522464", TextureId = "79834113476615", Offset = CFrame.Angles(0, 0, 0) },
-- 75152516777442 / R6 Noli Holdable
{ Name = "Reanimate_Voidstar", MeshId = "105852387370635", TextureId = "77723769921327", Offset = CFrame.Angles(0, 0, 0) },
-- 138094177071382 / PC Head (Free)
{ Name = "Reanimate_Voidstar", MeshId = "2309330801", TextureId = "2309333814", Offset = CFrame.Angles(0, 0, 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,
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,
}
-- services
local script = game:GetObjects(getcustomasset(Directories.RBXMs.."Admin.rbxmx"))[1]
local FPS = setfpscap(60)
local Blend = 0.35 -- this is for animation smoothing.
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
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 AnimatorModule = {}
local TrashBin = {}
local StoredMotors = {}
local GetAnimDefaults = function()
return {
["Voidstar"] = CFrame.new(0, Settings.RigSize-1, -Settings.RigSize+0.5),
["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, Settings.RigSize, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
["Torso"] = CFrame.new(0, Settings.RigSize-1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
["Right Arm"] = CFrame.new(Settings.RigSize, Settings.RigSize-0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
["Left Arm"] = CFrame.new(-Settings.RigSize, Settings.RigSize-0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
["Right Leg"] = CFrame.new(Settings.RigSize, -Settings.RigSize, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
["Left Leg"] = CFrame.new(-Settings.RigSize, -Settings.RigSize, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
}
end
local Edit = function(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 = {
["Voidstar"] = Rig.HumanoidRootPart:FindFirstChild("Voidstar"),
["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 AnimDefaults = GetAnimDefaults()
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 + table
local Idle, Walking, Running, Enraged = false, false, false, false
local Debounce, Shift, CanHitbox = false, false, false
local MeleeHit = false
local HitboxConnection
local LastRagdoll = Settings.Ragdoll
-- 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 Mouse = Player:GetMouse()
local SetWalkSpeed = function(Speed) Humanoid.WalkSpeed = Speed end
local SetRootPartAnchor = function(Bool) RootPart.Anchored = Bool end
task.spawn(function()
local ShitlockController = Player.PlayerScripts:WaitForChild("PlayerModule"):WaitForChild("CameraModule"):WaitForChild("MouseLockController")
ShitlockController:FindFirstChild("BoundKeys").Value = "LeftControl, RightControl"
end)
-- effects setup
local Animations = script:WaitForChild("Animations")
local Objects = script:WaitForChild("Objects")
local Camera = workspace.CurrentCamera
local PlaySound = function(Audio)
local Sound = Instance.new("Sound", RootPart)
Sound.SoundId = "rbxassetid://" .. Audio
Sound.Volume = 1
if Settings.Earrape then
Sound.Volume = 10
Instance.new("DistortionSoundEffect", Sound)
end
Sound.PlayOnRemove = true
Sound:Destroy()
end
local PlaySoundFromDisk = function(Audio)
local Sound = Instance.new("Sound", RootPart)
Sound.SoundId = getcustomasset(Directories.Sounds..Audio)
Sound.Volume = 1
if Settings.Earrape then
Sound.Volume = 10
Instance.new("DistortionSoundEffect", Sound)
end
Sound.PlayOnRemove = true
Sound:Destroy()
end
local Theme = Instance.new("Sound", RootPart)
Theme.SoundId = getcustomasset(Directories.Sounds.."Chase.mp3")
Theme.Volume = 1
Theme.Looped = true
Theme:Play()
local Ambience = Instance.new("Sound", RootPart)
Ambience.SoundId = getcustomasset(Directories.Sounds.."Ambience.mp3")
Ambience.Volume = 0.5
Ambience.Looped = true
Ambience:Play()
local Voidstar = Objects:WaitForChild("Voidstar"):Clone()
Voidstar.Transparency = 1
Voidstar.Parent = Character
local VoidstarWeld = Instance.new("Weld")
VoidstarWeld.Name = "Voidstar"
VoidstarWeld.Parent = RootPart
VoidstarWeld.Part0 = RootPart
VoidstarWeld.Part1 = Voidstar
VoidstarWeld.C0 = CFrame.new(0, -0.1, 0)
VoidstarWeld.C1 = CFrame.new(0, -0.1, 0)
local ReanimateVS = Character:FindFirstChild("Reanimate_Voidstar") -- lazy, dont u think?
local ReanimateVSW = Instance.new("Weld")
ReanimateVSW.Name = "VSW"
ReanimateVSW.Parent = ReanimateVS
ReanimateVSW.Part0 = ReanimateVS
ReanimateVSW.Part1 = Voidstar
local TeleportingPart, WarningPart
local TeleportingPartTemplate = Objects:FindFirstChild("GeneratorIncoming"):Clone()
local WarningPartTemplate = Objects:FindFirstChild("GeneratorWarning"):Clone()
WarningPartTemplate.Anchored = true
WarningPartTemplate.CanCollide = false
TeleportingPartTemplate.Anchored = true
TeleportingPartTemplate.CanCollide = false
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 = Voidstar.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)
if Settings.Fling then
Empyrean.Fling(Target, DefaultFlingOptions)
end
FlashHitHighlight(Target)
HitboxConnection:Disconnect()
HitboxConnection = nil
end
end)
end
local IntroCameraAnimation = function()
if not Settings.CameraEffects then return end
local StartTime = tick()
Camera.CameraType = Enum.CameraType.Scriptable
local Index = 1
local Connection
Connection = RunService.RenderStepped:Connect(function()
if Index >= #IntroKeyframes then Connection:Disconnect() Camera.CameraType = Enum.CameraType.Custom return end
local CurrentTime = tick() - StartTime
local KF1 = IntroKeyframes[Index]
local KF2 = IntroKeyframes[Index + 1]
local DeltaTime = KF2.Time - KF1.Time
local Alpha = DeltaTime == 0 and 1 or math.clamp((CurrentTime - KF1.Time) / DeltaTime, 0, 1)
local CF1 = KF1.CFrames.MainCFrame
local CF2 = KF2.CFrames.MainCFrame
local OffsetCFrame = CF1:Lerp(CF2, Alpha)
Camera.CFrame = RootPart.CFrame * CFrame.new (0, -3, 0) * CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0) ) * OffsetCFrame
if CurrentTime >= KF2.Time then
Index += 1
end
end)
end
local OutroCameraAnimation = function()
if not Settings.CameraEffects then return end
local StartTime = tick()
Camera.CameraType = Enum.CameraType.Scriptable
local Index = 1
local Connection
Connection = RunService.RenderStepped:Connect(function()
if Index >= #OutroKeyframes then Connection:Disconnect() Camera.CameraType = Enum.CameraType.Custom return end
local CurrentTime = tick() - StartTime
local KF1 = OutroKeyframes[Index]
local KF2 = OutroKeyframes[Index + 1]
local DeltaTime = KF2.Time - KF1.Time
local Alpha = DeltaTime == 0 and 1 or math.clamp((CurrentTime - KF1.Time) / DeltaTime, 0, 1)
local CF1 = KF1.CFrames.MainCFrame
local CF2 = KF2.CFrames.MainCFrame
local OffsetCFrame = CF1:Lerp(CF2, Alpha)
Camera.CFrame = RootPart.CFrame * CFrame.new (0, -3, 0) * CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0) ) * OffsetCFrame
if CurrentTime >= KF2.Time then
Index += 1
end
end)
end
-- animator functions
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
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
-- slightly aged code so it might be a bit unoptimized (i reused the void rush from my old mafioso script)
local Intro = function()
if Debounce then return end
if ObservantActive then return end
Debounce = true
SetRootPartAnchor(true)
local IntroAnimation = PlayAnim(Character, Animations.Introduction_KillerRig, 1)
IntroCameraAnimation()
PlaySound(124667791992796)
IntroAnimation.Completed:Wait()
Debounce = false
SetRootPartAnchor(false)
Camera.CameraType = Enum.CameraType.Custom
RestoreMovement()
end
local Outro = function()
if Debounce then return end
if ObservantActive then return end
Debounce = true
SetRootPartAnchor(true)
local OutroAnimation = PlayAnim(Character, Animations.Victory_KillerRig, 1)
OutroCameraAnimation()
PlaySound(125557917165272)
OutroAnimation.Completed:Wait()
Debounce = false
SetRootPartAnchor(false)
Camera.CameraType = Enum.CameraType.Custom
RestoreMovement()
end
local Stun = function()
if Debounce then return end
if ObservantActive then return end
Debounce = true
SetRootPartAnchor(true)
PlaySoundFromDisk("Stun.mp3")
PlaySound(92316384695634)
PlaySound(17837549788)
local StunStart = PlayAnim(Character, Animations.Stunned_Start, 1)
StunStart.Completed:Wait()
local StunnedLoop = PlayAnim(Character, Animations.Stunned_Loop, 1)
StunnedLoop.Completed:Wait(5)
local StunnedEnd = PlayAnim(Character, Animations.Stunned_End, 1)
StunnedEnd.Completed:Wait()
Debounce = false
SetRootPartAnchor(false)
RestoreMovement()
end
local Execute = function()
if Debounce then return end
if ObservantActive then return end
Debounce = true
SetRootPartAnchor(true)
PlaySound(104206188941961) -- i told you
PlaySoundFromDisk("Execution.mp3")
local KillerAnimation = PlayAnim(Character, Animations.Execution_KillerRig, 0, 1.2)
KillerAnimation.Completed:Wait()
Debounce = false
SetRootPartAnchor(false)
RestoreMovement()
end
local Stab = function()
if Debounce then return end
if ObservantActive then return end
Debounce = true
CanHitbox = true
EnableHitbox()
local StabAnimation = PlayAnim(Character, Animations.Stab, 1)
PlaySoundFromDisk("Stab.mp3")
StabAnimation.Completed:Wait()
Debounce = false
CanHitbox = false
RestoreMovement()
end
local Void_Rush = function() -- ts so buns gng 🗣️
if Debounce then return end
if ObservantActive then return end
Debounce = true
local Damaged = false
SetRootPartAnchor(false)
local StartAnim = PlayAnim(Character, Animations.VoidRush_StartDashInit, 0, 1)
PlaySoundFromDisk("VoidRushStart.mp3")
StartAnim.Completed:Wait()
SetRootPartAnchor(false)
local LoopAnim = PlayAnim(Character, Animations.VoidRush_LoopDashInit, 0, 1)
local RushVelocity = Instance.new("BodyVelocity")
RushVelocity.MaxForce = Vector3.new(1e6, 1e6, 1e6)
RushVelocity.Parent = RootPart
local VelocityUpdate
VelocityUpdate = RunService.Heartbeat:Connect(function()
RushVelocity.Velocity = RootPart.CFrame.LookVector * 45
end)
local TouchedConnection
TouchedConnection = RootPart.Touched:Connect(function(Hit)
if Hit:IsDescendantOf(Character) then return end
local Hum = Hit.Parent:FindFirstChildOfClass("Humanoid")
if Hum and not Damaged then
Damaged = true
RushVelocity:Destroy()
VelocityUpdate:Disconnect()
TouchedConnection:Disconnect()
SetRootPartAnchor(true)
PlaySound(117069245824496)
local FirstHitAnimation = PlayAnim(Character, Animations.VoidRush_WeakHit, 0, 1)
FirstHitAnimation.Completed:Wait()
SetRootPartAnchor(false)
local LoopAnimation = PlayAnim(Character, Animations.VoidRush_LoopDashInit, 0, 1)
local SecondRushVelocity = Instance.new("BodyVelocity")
SecondRushVelocity.MaxForce = Vector3.new(1e6, 1e6, 1e6)
SecondRushVelocity.Parent = RootPart
local SecondVelocityUpdate
SecondVelocityUpdate = RunService.Heartbeat:Connect(function()
SecondRushVelocity.Velocity = RootPart.CFrame.LookVector * 45 * 1.2
end)
local SecondHit = false
local SecondTouched
local VoidRush2Sound = Instance.new("Sound", RootPart)
VoidRush2Sound.SoundId = "rbxassetid://110418348779758"
VoidRush2Sound:Play()
SecondTouched = RootPart.Touched:Connect(function(Hit2)
if Hit2:IsDescendantOf(Character) then return end
local Target = Hit2:FindFirstAncestorOfClass("Model")
local Hum2 = Target:FindFirstChildOfClass("Humanoid")
if Hum2 and not SecondHit then
SecondHit = true
VoidRush2Sound:Stop()
VoidRush2Sound:Destroy()
SecondTouched:Disconnect()
SecondVelocityUpdate:Disconnect()
SecondRushVelocity:Destroy()
SetRootPartAnchor(true)
PlaySoundFromDisk("VoidRushSlam.mp3")
FlashHitHighlight(Target)
local SlamAnimation = PlayAnim(Character, Animations.VoidRush_KillerRig, 0, 1.2)
SlamAnimation.Completed:Wait()
if Settings.Fling then
Empyrean.Fling(Target, DefaultFlingOptions)
end
Debounce = false
SetRootPartAnchor(false)
RestoreMovement()
end
end)
task.delay(1, function()
if not SecondHit then
if SecondTouched.Connected then SecondTouched:Disconnect() end
SecondVelocityUpdate:Disconnect()
SecondRushVelocity:Destroy()
SetRootPartAnchor(true)
PlaySound(85216662975005)
VoidRush2Sound:Stop()
VoidRush2Sound:Destroy()
local MissAnimation = PlayAnim(Character, Animations.VoidRush_EndDash, 0, 1)
MissAnimation.Completed:Wait()
Debounce = false
SetRootPartAnchor(false)
RestoreMovement()
end
end)
end
end)
task.delay(0.35 + 1, function()
if Damaged then return end
if TouchedConnection.Connected then TouchedConnection:Disconnect() end
VelocityUpdate:Disconnect()
RushVelocity:Destroy()
SetRootPartAnchor(true)
PlaySound(71208557852255)
local MissAnimation = PlayAnim(Character, Animations.VoidRush_EndDash, 0, 1)
MissAnimation.Completed:Wait()
Debounce = false
SetRootPartAnchor(false)
RestoreMovement()
end)
end
local Observant = function()
if Debounce then return end
if ObservantActive then
if WarningConnection then
WarningConnection:Disconnect()
WarningConnection = nil
end
if WarningPart then
WarningPart:Destroy()
WarningPart = nil
end
PlaySoundFromDisk("ObservantCancel.mp3")
SetRootPartAnchor(false)
ObservantActive = false
Debounce = false
RestoreMovement()
return
end
Debounce = true
ObservantActive = true
PlaySoundFromDisk("ObservantStart.mp3")
local ObservantStart = PlayAnim(Character, Animations.ObservantStart, 1)
SetRootPartAnchor(true)
local StartConn
StartConn = ObservantStart.Completed:Connect(function()
if not ObservantActive then
StartConn:Disconnect()
Debounce = false
return
end
local ObservantLoop = PlayAnim(Character, Animations.ObservantLoop, 1)
SetRootPartAnchor(true)
WarningPart = WarningPartTemplate:Clone()
WarningPart.Parent = workspace
WarningConnection = RunService.RenderStepped:Connect(function()
if ObservantActive and Mouse.Hit then
WarningPart.CFrame = CFrame.new(Mouse.Hit.Position + Vector3.new(0, 1.745, 0))
end
end)
Debounce = false
StartConn:Disconnect()
end)
end
local ObservantTeleport = function()
if not ObservantActive then return end
if Debounce then return end
Debounce = true
if WarningConnection then
WarningConnection:Disconnect()
WarningConnection = nil
end
if WarningPart then
WarningPart:Destroy()
WarningPart = nil
end
local ObservantTeleport = PlayAnim(Character, Animations.ObservantTeleport, 1)
PlaySoundFromDisk("ObservantTeleport.mp3")
local ObservantEvent
local MousePosition = Mouse.Hit.Position
TeleportingPart = TeleportingPartTemplate:Clone()
TeleportingPart.CFrame = CFrame.new(MousePosition + Vector3.new(0, 1.745, 0))
TeleportingPart.Parent = workspace
PlaySound(99944767357389)
ObservantEvent = ObservantTeleport.KeyframeReached:Connect(function(Keyframe)
if Keyframe == "Teleport" then
if Mouse.Hit then
RootPart.CFrame = CFrame.new(MousePosition + Vector3.new(0, 3, 0))
end
ObservantEvent:Disconnect()
end
end)
ObservantTeleport.Completed:Wait()
if TeleportingPart then
TeleportingPart:Destroy()
TeleportingPart = nil
end
ObservantActive = false
Debounce = false
SetRootPartAnchor(false)
RestoreMovement()
end
local NovaShoot = function()
if Debounce then return end
if ObservantActive then return end
Debounce = true
local Damaged, Thrown = false, false
local Projectile, ProjectileVelocity, Touched
local ThrowConnection
local NovaShootAnimation = PlayAnim(Character, Animations.NovaThrow, 1)
PlaySoundFromDisk("NovaThrow.mp3")
ThrowConnection = NovaShootAnimation.KeyframeReached:Connect(function(Keyframe)
if Keyframe == "Thrown" and not Thrown then
Thrown = true
Projectile = Voidstar:Clone()
Projectile.Anchored = false
Projectile.CanCollide = false
Projectile.CFrame = CFrame.new(RootPart.Position + RootPart.CFrame.LookVector * 5, Mouse.Hit.Position)
Projectile.Parent = workspace
ProjectileVelocity = Instance.new("BodyVelocity")
ProjectileVelocity.Velocity = (Mouse.Hit.Position - Projectile.Position).Unit * 100
ProjectileVelocity.MaxForce = Vector3.new(1e6, 1e6, 1e6)
ProjectileVelocity.Parent = Projectile
game:GetService("Debris"):AddItem(Projectile, 3)
game:GetService("Debris"):AddItem(ProjectileVelocity, 3)
Touched = Projectile.Touched:Connect(function(Hit)
if Damaged then return end
if Hit:IsDescendantOf(Character) then return end
local Target = Hit:FindFirstAncestorOfClass("Model")
if Hit == Projectile then return end
local HitHumanoid = Hit.Parent:FindFirstChildOfClass("Humanoid")
if not HitHumanoid then return end
Damaged = true
FlashHitHighlight(Target)
if Settings.Fling then
Empyrean.Fling(Target, DefaultFlingOptions)
end
if ProjectileVelocity then ProjectileVelocity:Destroy() end
if Projectile then Projectile:Destroy() end
if Touched then Touched:Disconnect() end
PlaySoundFromDisk("NovaExplode.mp3")
end)
end
end)
NovaShootAnimation.Completed:Wait()
if ThrowConnection and ThrowConnection.Connected then
ThrowConnection:Disconnect()
end
if Touched and Touched.Connected then
Touched:Disconnect()
end
local NovaStart = PlayAnim(Character, Animations.NovaStart, 1)
NovaStart.Completed:Wait()
Debounce = false
RestoreMovement()
end
-- Keybinds
local KeyDown = UserInputService.InputBegan:Connect(function(Key, GPE)
if GPE then return end
if Key.KeyCode == Enum.KeyCode.One then
Stun()
end
if Key.KeyCode == Enum.KeyCode.Two then
Intro()
end
if Key.KeyCode == Enum.KeyCode.Three then
Outro()
end
if Key.KeyCode == Enum.KeyCode.Q then
Void_Rush()
end
if Key.KeyCode == Enum.KeyCode.E then
NovaShoot()
end
if Key.KeyCode == Enum.KeyCode.R then
Observant()
end
if Key.KeyCode == Enum.KeyCode.Z then
Execute()
end
if Key.UserInputType == Enum.UserInputType.MouseButton1 then
if ObservantActive then
ObservantTeleport()
elseif not Debounce then
Stab()
end
end
if Key.UserInputType == Enum.UserInputType.Touch then
if ObservantActive then
ObservantTeleport()
end
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)
-- ragdoll setup
local CreateConstraint = function(Motor)
local Part0 = Motor.Part0
local Part1 = Motor.Part1
if not Part0 or not Part1 then return end
local Attach0 = Instance.new("Attachment")
local Attach1 = Instance.new("Attachment")
Attach0.CFrame = Motor.C0
Attach1.CFrame = Motor.C1
Attach0.Parent = Part0
Attach1.Parent = Part1
local BallSocketConstraint = Instance.new("BallSocketConstraint")
BallSocketConstraint.Attachment0 = Attach0
BallSocketConstraint.Attachment1 = Attach1
BallSocketConstraint.LimitsEnabled = true
BallSocketConstraint.TwistLimitsEnabled = true
BallSocketConstraint.Parent = Part0
return {Motor = Motor, Attachment0 = Attach0, attachment1 = Attach1, Socket = BallSocketConstraint}
end
local EnableRagdoll = function()
if #StoredMotors > 0 then return end
Settings.Ragdoll = true
Humanoid:ChangeState(Enum.HumanoidStateType.Physics)
Humanoid.AutoRotate = false
for i, v in pairs(Character:GetDescendants()) do
if v:IsA("Motor6D") then
local Data = CreateConstraint(v)
if Data then
table.insert(StoredMotors, Data)
v.Enabled = false
end
elseif v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then
v.CanCollide = true
end
end
end
local DisableRagdoll = function()
if #StoredMotors == 0 then return end
Settings.Ragdoll = false
Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
RootPart.CFrame = RootPart.CFrame + Vector3.new(0, 5, 0)
Humanoid.AutoRotate = true
for i, v in pairs(Character:GetDescendants()) do
if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then
v.CanCollide = false
end
end
for i, v in pairs(StoredMotors) do
if v.Motor then
v.Motor.Enabled = true
end
if v.BallSocketConstraint then
v.BallSocketConstraint:Destroy()
end
if v.Attachment0 then
v.Attachment0:Destroy()
end
if v.Attachment1 then
v.Attachment1:Destroy()
end
end
table.clear(StoredMotors)
end
-- mobile ui
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()
GUI.AbilitiesUI["Stab"].MouseButton1Down:connect(function() Stab() end)
GUI.AbilitiesUI["Nova"].MouseButton1Down:connect(function() NovaShoot() end)
GUI.AbilitiesUI["Observant"].MouseButton1Down:connect(function() Observant() end)
GUI.AbilitiesUI["Void Rush"].MouseButton1Down:connect(function() Void_Rush() end)
GUI.AbilitiesUI["Sprint"].MouseButton1Down:connect(function() Shift = not Shift end)
GUI.AbilitiesUI["Intro"].MouseButton1Down:connect(function() Intro() end)
GUI.AbilitiesUI["Outro"].MouseButton1Down:connect(function() Outro() end)
GUI.AbilitiesUI["Execute"].MouseButton1Down:connect(function() Execute() end)
GUI.AbilitiesUI["Stun"].MouseButton1Down:connect(function() Stun() end)
UserInputService.LastInputTypeChanged:Connect(UpdateUI)
-- settings ui
local MainGUI = script.UIs:WaitForChild("MainGUI")
MainGUI.Parent = game:GetService("CoreGui")
local SettingsFrame = MainGUI:WaitForChild("SettingsFrame")
local SettingsHolder = SettingsFrame:WaitForChild("SettingsHolder")
local SetupToggle = function(Setting)
local Object = SettingsHolder:FindFirstChild(Setting)
if not Object then return end
local Button = Object:FindFirstChildWhichIsA("TextButton")
if not Button then return end
Button.BackgroundColor3 = Settings[Setting] and Color3.fromRGB(0,255,0) or Color3.fromRGB(255,0,0)
Button.MouseButton1Click:Connect(function()
Settings[Setting] = not Settings[Setting]
Button.BackgroundColor3 = Settings[Setting] and Color3.fromRGB(0,255,0) or Color3.fromRGB(255,0,0)
end)
end
local SetupTextBox = function(Setting) -- currently only used in the rigsize (no other textboxes will exist i think)
local Object = SettingsHolder:FindFirstChild(Setting)
if not Object then return end
local TextBox = Object:FindFirstChildWhichIsA("TextBox")
if not TextBox then return end
TextBox.Text = tostring(Settings[Setting])
TextBox.FocusLost:Connect(function()
local Value = tonumber(TextBox.Text)
if Value then
Settings[Setting] = math.clamp(Value, 0.5, 5)
else
TextBox.Text = tonumber(Settings[Setting])
end
end)
end
for i, v in pairs(Settings) do
local Object = SettingsHolder:FindFirstChild(i)
if Object then
if Object:FindFirstChild("Button") then
SetupToggle(i)
elseif Object:FindFirstChild("Value") then
SetupTextBox(i)
end
end
end
local FloatingButton = MainGUI:WaitForChild("FloatingButton")
FloatingButton.Draggable = true
FloatingButton.MouseButton1Click:Connect(function()
SettingsFrame.Visible = not SettingsFrame.Visible
end)
UserInputService.JumpRequest:Connect(function()
if Settings.InfiniteJump and Humanoid then
Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
end)
SettingsHolder.TPToNearestSpawn.Button.MouseButton1Click:Connect(function()
local RootPart = Character:FindFirstChild("HumanoidRootPart")
local GetClosestSpawn = function()
local ClosestSpawn, ClosestDistance = nil, math.huge
for i, v in pairs(workspace:GetDescendants()) do
if v:IsA("SpawnLocation") then
local Distance = (RootPart.Position - v.Position).Magnitude
if Distance < ClosestDistance then
ClosestSpawn = v
ClosestDistance = Distance
end
end
end
return ClosestSpawn
end
local Spawn = GetClosestSpawn()
if Spawn then
RootPart.CFrame = Spawn.CFrame + Vector3.new(0, 5, 0)
else
print("No spawn or a spawn is somehow (??? how tf) too far")
end
end)
-- runservice connection
local RunServiceConnection = 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 Settings.Music then
Theme.Playing = true
else
Theme.Playing = false
end
if Settings.Ragdoll ~= LastRagdoll then
LastRagdoll = Settings.Ragdoll
if Settings.Ragdoll then
EnableRagdoll()
else
DisableRagdoll()
end
end
if Settings.Spin and Character.PrimaryPart then
Character:SetPrimaryPartCFrame(Character.PrimaryPart.CFrame * CFrame.Angles(0, math.rad(5), 0))
end
if Settings.Ragdoll then return end
if Debounce then
StopAnim(Character,Animations.Idle)
StopAnim(Character,Animations.Walk)
StopAnim(Character,Animations.Sprint)
end
if not Debounce then
if Shift then
SetWalkSpeed(24)
else
SetWalkSpeed(15)
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)
Empyrean.BindableEvent.Event:Once(function()
print("Resetting.")
for i, v in TrashBin do
v:Destroy()
end
GUI:Destroy()
MainGUI:Destroy()
RunServiceConnection:Disconnect()
KeyDown:Disconnect()
KeyUp:Disconnect()
end)
local LoaderUI = loadstring(game:HttpGet("https://gist.githubusercontent.com/MelonsStuff/adc8fbb119234b04744907ff26a407f8/raw/6d501829e2d6f376f57ed3777b4915ad609981cf/IntroAndDetector.luau"))()



mm..ima try it.
*