0% found this document useful (0 votes)
68 views21 pages

Emp Reanim v6 1

The document contains a Lua script for a Roblox game, defining various functions and variables related to character customization, camera control, and gameplay mechanics. It includes handling accessories, camera subjects, and character states, as well as event connections for player actions. The script is structured to manage character models and interactions within the game environment effectively.

Uploaded by

Radit Wijaya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views21 pages

Emp Reanim v6 1

The document contains a Lua script for a Roblox game, defining various functions and variables related to character customization, camera control, and gameplay mechanics. It includes handling accessories, camera subjects, and character states, as well as event connections for player actions. The script is structured to manage character models and interactions within the game environment effectively.

Uploaded by

Radit Wijaya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 21

-- Made by @emperrrr (Discord)

-- Discord server: https://discord.gg/UJ7YtqadPJ

do
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 MouseButton1 = Enum.UserInputType.MouseButton1

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 ConnectDiedSignalBackend = LocalPlayer.ConnectDiedSignalBackend
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 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 OptionsPermanentDeath = 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 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 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

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, "BacekndAccoutrementState",
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 Instancenew("Highlight") or Clone(Highlight)
HighlightObject.Adornee = Model
HighlightObject.Parent = Model

Options.HighlightObject = HighlightObject
tableinsert(Highlights, HighlightObject)
end

Targets[Target] = Options

if not OptionsDefaultFlingOptions.HatFling and


OptionsPermanentDeath and replicatesignal then
replicatesignal(ConnectDiedSignalBackend)
end
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)
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
Vector3zero = ( Position -
LastPosition ) / DeltaTime * 0.13
end

HumanoidRootPart.AssemblyAngularVelocity = FlingVelocity

HumanoidRootPart.AssemblyLinearVelocity = FlingVelocity

HumanoidRootPart.CFrame =
Target.CFrame + Offset
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 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

if OptionsPermanentDeath and replicatesignal then


replicatesignal(ConnectDiedSignalBackend)

taskwait(Players.RespawnTime + 0.1)

Refitting = false
replicatesignal(Kill)
else
taskwait(OptionsBreakJointsDelay)
end

ModelBreakJoints(Character)

if Humanoid then
ChangeState(Humanoid, Dead)
Wait(Humanoid.Died)
end

IsAlive = false

if OptionsHatDrop then
pcall(NewIndex, Workspace, "FallenPartsDestroyHeight",
FallenPartsDestroyHeight)
end
end
end

local OnInputBegan = function(InputObject)


if InputObject.UserInputType == MouseButton1 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] = false
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
UnequipTools(Humanoid)
taskwait()
EquipTool(Humanoid, Tool)

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

if Frames > 15 and OptionsPermanentDeath and


OptionsRefit and replicatesignal then
Refitting = false
replicatesignal(ConnectDiedSignalBackend)
end
end
end
end

if not OptionsSetCharacter and Humanoid then


Move(RigHumanoid, Humanoid.MoveDirection)
RigHumanoid.Jump = Humanoid.Jump
end

if IsRegistered then
SetCore(StarterGui, "ResetButtonCallback", BindableEvent)
else
IsRegistered = pcall(SetCore, StarterGui, "ResetButtonCallback",
BindableEvent)
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

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
OptionsPermanentDeath = Options.PermanentDeath
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

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 = LocalPlayer.Name
RigHumanoid = Rig.Humanoid
RigHumanoidRootPart = Rig.HumanoidRootPart
Rig.Parent = Workspace

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)
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

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 OptionsPermanentDeath and replicatesignal then


replicatesignal(ConnectDiedSignalBackend)
end

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

Empyrean = Start({
Accessories = {
--{ MeshId = "", Name = "", Offset = CFrame.identity, TextureId = "" },

{ MeshId = "137702817952968", Names = { "Left Arm", "Right Arm", "Left


Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"135650240593878" },--84451219120140
{ MeshId = "137702817952968", Names = { "Left Arm", "Right Arm", "Left
Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"135650240593878" },--72292903231768

{ MeshId = "137702817952968", Names = { "Left Leg", "Right Leg", "Left


Arm", "Right Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"73798034827573" },--108186273151388
{ MeshId = "137702817952968", Names = { "Right Leg", "Left Leg", "Right
Arm", "Left Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"73798034827573" },--139904067056008

{ MeshId = "12344207333", Names = { "Left Arm", "Right Arm" }, Offset =


CFrame.Angles(- 2.094, 0, 0), TextureId = "12344207341" },--12344545199
{ MeshId = "12344206657", Names = { "Right Arm", "Left Arm" }, Offset =
CFrame.Angles(- 2.094, 0, 0), TextureId = "12344206675" },--12344591101

{ MeshId = "11449386931", Names = { "Left Arm", "Right Arm" }, Offset =


CFrame.Angles(- 2.094, 0, 0), TextureId = "11439439606" },--11449687315
{ MeshId = "11449388499", Names = { "Right Arm", "Left Arm" }, Offset =
CFrame.Angles(- 2.094, 0, 0), TextureId = "11439439606" },--11449703382

{ MeshId = "12652772399", Names = { "Left Leg", "Right Leg" }, Offset =


CFrame.identity, TextureId = "12652775021" },--12652786974

{ MeshId = "11263221350", Names = { "Left Leg", "Right Leg", "Left


Arm", "Right Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"11263219250" },--11263254795
{ MeshId = "11159370334", Names = { "Right Leg", "Left Leg", "Right
Arm", "Left Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"11159284657" },--11159410305
{ MeshId = "11159370334", Names = { "Right Leg", "Left Leg", "Right
Arm", "Left Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"11159285454" },--11159483910

{ MeshId = "105141400603933", Names = { "Left Arm", "Right Arm", "Left


Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"71060417496309" },--102599402682100
{ MeshId = "99608462237958", Names = { "Right Arm", "Left Arm", "Right
Leg", "Left Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"130809869695496" },--140395948277978

{ MeshId = "90736849096372", Names = { "Left Arm", "Right Arm", "Left


Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"79186624401216" },--90960046381276
{ MeshId = "139733645770094", Names = { "Right Arm", "Left Arm", "Right
Leg", "Left Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"130809869695496" },--82942681251131

{ MeshId = "125405780718494", Names = { "Left Arm", "Right Arm", "Left


Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"136752500636691" },--85392395166623
{ MeshId = "125405780718494", Names = { "Right Arm", "Left Arm", "Right
Leg", "Left Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"136752500636691" },--131385506535381

{ MeshId = "125405780718494", Names = { "Left Leg", "Right Leg", "Left


Arm", "Right Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"136752500636691" },--106249329428811
{ MeshId = "125405780718494", Names = { "Right Leg", "Left Leg", "Right
Arm", "Left Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"136752500636691" },--129462518582032

{ MeshId = "14255522247", Names = { "Left Arm", "Right Arm", "Left


Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"14255543546" },--14255556501
{ MeshId = "14255522247", Names = { "Right Arm", "Left Arm", "Right
Leg", "Left Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"14255543546" },--14255554762

{ MeshId = "17374767929", Names = { "Left Arm", "Right Arm", "Left


Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"17374768001" },--17374851733
{ MeshId = "17374767929", Names = { "Right Arm", "Left Arm", "Right
Leg", "Left Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"17374768001" },--17374846953

{ MeshId = "14255522247", Names = { "Left Arm", "Right Arm", "Left


Leg", "Right Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"14255544465" },--14255560646
{ MeshId = "14255522247", Names = { "Right Arm", "Left Arm", "Right
Leg", "Left Leg" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"14255544465" },--14255562939

{ MeshId = "18640914129", Names = { "Left Arm", "Right Arm", "Left


Leg", "Right Leg" }, Offset = CFrame.identity, TextureId = "18640914168" },--
18641142410
{ MeshId = "18640914129", Names = { "Right Arm", "Left Arm", "Right
Leg", "Left Leg" }, Offset = CFrame.identity, TextureId = "18640914168" },--
18641077392

{ MeshId = "18640901641", Names = { "Left Leg", "Right Leg", "Left


Arm", "Right Arm" }, Offset = CFrame.identity, TextureId = "18640901676" },--
18641187217
{ MeshId = "18640901641", Names = { "Right Leg", "Left Leg", "Right
Arm", "Left Arm" }, Offset = CFrame.identity, TextureId = "18640901676" },--
18641157833

{ MeshId = "17387586286", Names = { "Left Leg", "Right Leg", "Left


Arm", "Right Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"17387586304" },--17387616772
{ MeshId = "17387586286", Names = { "Right Leg", "Left Leg", "Right
Arm", "Left Arm" }, Offset = CFrame.Angles(0, 0, 1.57), TextureId =
"17387586304" },--17393641992

{ MeshId = "3030546036", Names = { "Left Arm", "Left Leg", "Right Arm",


"Right Leg" }, Offset = CFrame.Angles(- 1.57, 0, 0), TextureId = "" },
{ MeshId = "4324138105", Names = { "Left Arm", "Left Leg", "Right Arm",
"Right Leg" }, Offset = CFrame.Angles(- 1.57, 0, 0), TextureId = "" },

{ MeshId = "18640899369", Name = "Torso", Offset = CFrame.identity,


TextureId = "18640899481" },--18641046146
{ MeshId = "14241018198", Name = "Torso", Offset = CFrame.identity,
TextureId = "14251599953" },--14255528083
{ MeshId = "110684113028749", Name = "Torso", Offset = CFrame.identity,
TextureId = "70661572547971" },--138364679836274
{ MeshId = "4819720316", Name = "Torso", Offset = CFrame.Angles(0, 0, -
0.249), TextureId = "4819722776" },--4819740796
{ MeshId = "126825022897778", Name = "Torso", Offset = CFrame.identity,
TextureId = "125975972015302" },--95290698984301
},
ApplyDescription = true,
BreakJointsDelay = 0.251,
ClickFling = true,
DefaultFlingOptions = {
HatFling = true,--{ MeshId="", TextureId = ""},
Highlight = true,
PredictionFling = true,
Timeout = 1,
ToolFling = true,--"Boombox",
},
DisableCharacterCollisions = true,
DisableHealthBar = false,
DisableRigCollisions = true,
HatDrop = false,
HideCharacter = true,
ParentCharacter = true,
PermanentDeath = true,
Refit = false,
RigSize = 1,
RigTransparency = 1,
R15 = false,
SetCameraSubject = true,
SetCameraType = true,
SetCharacter = false,
SetCollisionGroup = true,
SimulationRadius = 2147483647,
TeleportRadius = 12,
})

You might also like