Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
Debris = :()
LocalPlayer = Players.LocalPlayer
GREEN = .(, , )
SMOKE_RATE =
FLY_COUNT =
FLY_MIN_DISTANCE =
FLY_MAX_DISTANCE =
FLY_MIN_HEIGHT =
FLY_MAX_HEIGHT =
RAGDOLL_DISTANCE =
FLY_SOUND_ID =
Character
Root
SmokeObjects = {}
FlyObjects = {}
ProcessedPlayers = {}
FlySound
FlySoundConnection
FlyMovementConnection
()
Character =
LocalPlayer.Character
LocalPlayer.CharacterAdded:()
Root =
Character:(
)
Root
Root =
Character:(
,
)
Character, Root
()
_, object (
SmokeObjects
)
object
object.Parent
object:()
.(
SmokeObjects
)
_, fly (
FlyObjects
)
fly.Part
fly.Part.Parent
fly.Part:()
.(
FlyObjects
)
FlySoundConnection
FlySoundConnection:()
FlySoundConnection =
FlyMovementConnection
FlyMovementConnection:()
FlyMovementConnection =
FlySound
FlySound:()
FlySound =
(
position,
multiplier
)
Root
attachment =
.(
)
attachment.Position =
position
attachment.Parent =
Root
.(
SmokeObjects,
attachment
)
smoke =
.(
)
smoke.Texture =
smoke.Color =
ColorSequence.({
ColorSequenceKeypoint.(
,
GREEN
),
ColorSequenceKeypoint.(
,
.(
,
,
)
),
ColorSequenceKeypoint.(
,
.(
,
,
)
)
})
smoke.LightEmission =
smoke.Rate =
SMOKE_RATE * multiplier
smoke.Lifetime =
NumberRange.(
,
)
smoke.Speed =
NumberRange.(
,
)
smoke.Acceleration =
.(
,
,
)
smoke.SpreadAngle =
.(
,
)
smoke.Rotation =
NumberRange.(
,
)
smoke.RotSpeed =
NumberRange.(
-,
)
smoke.Size =
NumberSequence.({
NumberSequenceKeypoint.(
,
* multiplier
),
NumberSequenceKeypoint.(
,
* multiplier
),
NumberSequenceKeypoint.(
,
* multiplier
),
NumberSequenceKeypoint.(
,
* multiplier
)
})
smoke.Transparency =
NumberSequence.({
NumberSequenceKeypoint.(
,
),
NumberSequenceKeypoint.(
,
),
NumberSequenceKeypoint.(
,
)
})
smoke.Parent =
attachment
.(
SmokeObjects,
smoke
)
()
Root
(
.(
,
-,
),
)
(
.(
,
,
),
)
(
.(
,
,
),
)
(
.(
,
,
),
)
(
.(
-,
,
),
)
light =
.(
)
light.Color =
GREEN
light.Brightness =
light.Range =
light.Parent =
Root
.(
SmokeObjects,
light
)
()
Root
FlySound
FlySound:()
FlySound =
.(
)
FlySound.Name =
FlySound.SoundId =
FLY_SOUND_ID
FlySound.Volume =
FlySound.Looped =
FlySound.RollOffMode =
.RollOffMode.Inverse
FlySound.RollOffMinDistance =
FlySound.RollOffMaxDistance =
FlySound.Parent =
Root
(()
FlySound:()
)
FlySoundConnection =
RunService.Heartbeat:(
()
FlySound
FlySound.Parent
FlySound.IsPlaying
(()
FlySound:()
)
)
(index)
part =
.(
)
part.Name =
.. index
part.Shape =
.PartType.Ball
part.Size =
.(
,
,
)
part.Material =
.Material.Neon
part.Color =
.(
,
,
)
part.Anchored =
part.CanCollide =
part.CanTouch =
part.CanQuery =
part.CastShadow =
part.Parent =
glow =
.(
)
glow.Color =
GREEN
glow.Brightness =
glow.Range =
glow.Parent =
part
random =
Random.(
index *
)
flyData = {
Part = part,
Position =
.(
random:(
-FLY_MAX_DISTANCE,
FLY_MAX_DISTANCE
),
random:(
FLY_MIN_HEIGHT,
FLY_MAX_HEIGHT
),
random:(
-FLY_MAX_DISTANCE,
FLY_MAX_DISTANCE
)
),
Target =
.zero,
Speed =
random:(
,
),
Timer =
random:(
,
),
Random =
random,
}
.(
FlyObjects,
flyData
)
flyData
(
fly
)
random =
fly.Random
fly.Target =
.(
random:(
-FLY_MAX_DISTANCE,
FLY_MAX_DISTANCE
),
random:(
FLY_MIN_HEIGHT,
FLY_MAX_HEIGHT
),
random:(
-FLY_MAX_DISTANCE,
FLY_MAX_DISTANCE
)
)
fly.Speed =
random:(
,
)
()
.(
FlyObjects
)
i = , FLY_COUNT
fly =
(i)
(
fly
)
FlyMovementConnection
FlyMovementConnection:()
FlyMovementConnection =
RunService.RenderStepped:(
(deltaTime)
Root
Root.Parent
index, fly (
FlyObjects
)
fly.Part
fly.Part.Parent
fly.Timer -=
deltaTime
fly.Timer <=
(
fly
)
fly.Timer =
fly.Random:(
,
)
difference =
fly.Target
- fly.Position
distance =
difference.Magnitude
distance >
direction =
difference.Unit
movement =
.(
distance,
fly.Speed
* deltaTime
)
fly.Position +=
direction
* movement
time =
.()
wobble =
.(
.(
time *
+ index
) * ,
.(
time *
+ index *
) * ,
.(
time *
+ index
) *
)
worldPosition =
Root.Position
+ fly.Position
+ wobble
fly.Part.Position =
worldPosition
)
(
model
)
model
_, object (
model:()
)
object:()
object.LocalTransparencyModifier =
object:()
object:()
object.Transparency =
humanoid =
model:(
)
humanoid
humanoid.DisplayDistanceType =
.HumanoidDisplayDistanceType.None
humanoid.HealthDisplayType =
.HumanoidHealthDisplayType.AlwaysOff
(
dummy
)
_, object (
dummy:()
)
object:()
object:()
object:()
object:()
object:()
object:()
object:()
object:()
(
part
)
part:()
part.Anchored =
part.CanCollide =
part.CanTouch =
part.CanQuery =
part.Massless =
part.LocalTransparencyModifier =
(
dummy
)
humanoid =
dummy:(
)
humanoid
humanoid.AutoRotate =
humanoid.PlatformStand =
humanoid.WalkSpeed =
humanoid.JumpPower =
humanoid.DisplayDistanceType =
.HumanoidDisplayDistanceType.None
humanoid.HealthDisplayType =
.HumanoidHealthDisplayType.AlwaysOff
humanoid:(
.HumanoidStateType.GettingUp,
)
(()
humanoid:(
.HumanoidStateType.Physics
)
)
_, motor (
dummy:()
)
motor:()
part0 =
motor.Part0
part1 =
motor.Part1
part0
part1
a0 =
.(
)
a1 =
.(
)
a0.CFrame =
motor.C0
a1.CFrame =
motor.C1
a0.Parent =
part0
a1.Parent =
part1
socket =
.(
)
socket.Attachment0 =
a0
socket.Attachment1 =
a1
socket.LimitsEnabled =
socket.UpperAngle =
socket.TwistLimitsEnabled =
socket.TwistLowerAngle =
-
socket.TwistUpperAngle =
socket.Parent =
part0
motor.Enabled =
_, object (
dummy:()
)
object:()
(
object
)
humanoid
(()
humanoid:(
.HumanoidStateType.Physics
)
)
(
dummy
)
head =
dummy:(
)
head
attachment =
.(
)
attachment.Name =
attachment.Position =
.(
,
-,
-
)
attachment.Parent =
head
particles =
.(
)
particles.Name =
particles.Texture =
particles.Color =
ColorSequence.(
.(
,
,
)
)
particles.Rate =
particles.Lifetime =
NumberRange.(
,
)
particles.Speed =
NumberRange.(
,
)
particles.SpreadAngle =
.(
,
)
particles.EmissionDirection =
.NormalId.Front
particles.Size =
NumberSequence.({
NumberSequenceKeypoint.(
,
),
NumberSequenceKeypoint.(
,
),
NumberSequenceKeypoint.(
,
)
})
particles.Transparency =
NumberSequence.({
NumberSequenceKeypoint.(
,
),
NumberSequenceKeypoint.(
,
),
NumberSequenceKeypoint.(
,
)
})
particles.Parent =
attachment
particles:(
)
Debris:(
attachment,
)
(
dummy
)
head =
dummy:(
)
head
sound =
.(
)
sound.Name =
sound.SoundId =
sound.Volume =
sound.Looped =
sound.RollOffMode =
.RollOffMode.Inverse
sound.RollOffMinDistance =
sound.RollOffMaxDistance =
sound.Parent =
head
(()
sound:()
)
Debris:(
sound,
)
(
player
)
player ==
LocalPlayer
ProcessedPlayers[player]
original =
player.Character
original
originalRoot =
original:(
)
originalRoot
oldArchivable =
original.Archivable
original.Archivable =
dummy =
original:()
original.Archivable =
oldArchivable
dummy
ProcessedPlayers[player] =
dummy.Name =
player.Name
..
(
dummy
)
dummy.Parent =
dummyRoot =
dummy:(
)
dummyRoot
dummyRoot.CFrame =
originalRoot.CFrame
(
original
)
(
dummy
)
(
dummy
)
(
dummy
)
()
Root
Root.Parent
_, player (
Players:()
)
player ~= LocalPlayer
ProcessedPlayers[player]
character =
player.Character
character
targetRoot =
character:(
)
targetRoot
distance =
(
targetRoot.Position
- Root.Position
).Magnitude
distance
<= RAGDOLL_DISTANCE
(
player
)
LocalPlayer.CharacterAdded:(
(
newCharacter
)
Character =
newCharacter
Root =
newCharacter:(
,
)
.(
)
()
.(
ProcessedPlayers
)
()
()
()
)
()
.(
)
()
()
()
timer =
RunService.Heartbeat:(
(deltaTime)
timer +=
deltaTime
timer >=
timer =
()
)
(
)
(
)
(
)
(
)I use to have no friend and no job