Blox Fruits is an immensely popular game on the Roblox platform, boasting a vast user base. This action-adventure game revolves around a pirate theme, where players engage in combat against a variety of enemies and challenging bosses. Exploring islands and consuming different fruits are essential for advancing your character’s level.
What is Roblox Script?
Roblox Scripts typically refer to snippets of code that offer automation advantages within the game. Independent developers and scripters create these scripts, which are not officially endorsed by the Roblox platform. Nevertheless, you can still utilize these scripts through Roblox executors such as Arceus X, Hydrogen Executor, JJSploit, Fluxus executor, and others.
How to Use Roblox Script?
- Launch Roblox and join your desired game.
- Click the “Copy” button to duplicate the script code.
- Paste the script code into your preferred Roblox executor.
- Execute the script code and savor the enhanced experience.
--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
local clone_transparency = 1 --Set Value How you want to fake body be transparenty.
local Motors = {
["Left Hip"] = 0,
["Neck"] = 0,
["Left Shoulder"] = 0,
["Right Hip"] = 0,
["Right Shoulder"] = 0
}
local TS = game:GetService("TweenService")
local count2, maxcount2, count
local function getnext(tbl, number)
local c = 100
local rtrnv = 0
for i, v in pairs(tbl) do
if i > number and i - number < c then c = i - number rtrnv = i end end return rtrnv end local function kftotbl(kf) local tbl3 = {} for i, v in pairs(kf:GetDescendants()) do if v:IsA("Pose") then tbl3[string.sub(v.Name, 1, 1) .. string.sub(v.Name, #v.Name, #v.Name)] = v.CFrame end end return tbl3 end local function getSpeed(lastTimeStamp, currentTimeStamp) if currentTimeStamp == 0 then return 0 end return math.abs(lastTimeStamp - currentTimeStamp) end local function getAnimation(animationId) local animationObject local S, E = pcall(function() animationObject = game:GetObjects(animationId)[1] end) return animationObject end local Main = {} Main.__index = Main function Main.LoadDummy(DummyChar) local metatable = {} setmetatable(metatable, Main) metatable.char = DummyChar return metatable end function Main:LoadAnimation(animationId) local Character = self.char local animationObject = getAnimation(animationId) if animationObject == nil then return end print(animationObject) local metatable = {} setmetatable(metatable, Main) metatable.char = Character metatable.animObject = animationObject return metatable end function Main:Play() local Character = self.char local animationObject = self.animObject local Looped = true local anim = {} for i, v in pairs(animationObject:GetChildren()) do if v:IsA("Keyframe") then anim[v.Time] = kftotbl(v) end end local LH = Character.Torso["Left Hip"].C0 local RH = Character.Torso["Right Hip"].C0 local LS = Character.Torso["Left Shoulder"].C0 local RS = Character.Torso["Right Shoulder"].C0 local RoH = Character.HumanoidRootPart["RootJoint"].C0 local N = Character.Torso["Neck"].C0 count = -1 local lastTimeStamp = 0 local char = Character self.played = false local times = { Lg = 0, Rg = 0, Lm = 0, Rm = 0, To = 0, Hd = 0 } local timepassed = 0 local lasttime = tick() while task.wait() do timepassed = tick() - lasttime if self.played then Character.Torso["Left Hip"].C0 = LH Character.Torso["Right Hip"].C0 = RH Character.Torso["Left Shoulder"].C0 = LS Character.Torso["Right Shoulder"].C0 = RS Character.HumanoidRootPart["RootJoint"].C0 = RoH Character.Torso["Neck"].C0 = N break end if not Looped then self.played = true end for i, oasjdadlasdkadkldjkl in pairs(anim) do local asdf = getnext(anim, count) local v = anim[asdf] count2 = 0 maxcount2 = asdf - count count = asdf wait(asdf - count) count2 = maxcount2 if v["Lg"] then local Ti = TweenInfo.new(getSpeed(lastTimeStamp, asdf) + times.Lg + getSpeed(lastTimeStamp, asdf)) times.Lg = 0 TS:Create(Character.Torso["Left Hip"], Ti, { C0 = LH * v["Lg"] }):Play() else times.Lg = times.Lg + getSpeed(lastTimeStamp, asdf) end if v["Rg"] then local Ti = TweenInfo.new(getSpeed(lastTimeStamp, asdf) + times.Rg + getSpeed(lastTimeStamp, asdf)) times.Rg = 0 TS:Create(Character.Torso["Right Hip"], Ti, { C0 = RH * v["Rg"] }):Play() else times.Rg = times.Rg + getSpeed(lastTimeStamp, asdf) end if v["Lm"] then local Ti = TweenInfo.new(getSpeed(lastTimeStamp, asdf) + times.Lm + getSpeed(lastTimeStamp, asdf)) times.Lm = 0 TS:Create(Character.Torso["Left Shoulder"], Ti, { C0 = LS * v["Lm"] }):Play() else times.Lm = times.Lm + getSpeed(lastTimeStamp, asdf) end if v["Rm"] then local Ti = TweenInfo.new(getSpeed(lastTimeStamp, asdf) + times.Rm + getSpeed(lastTimeStamp, asdf)) times.Rm = 0 TS:Create(Character.Torso["Right Shoulder"], Ti, { C0 = RS * v["Rm"] }):Play() else times.Rm = times.Rm + getSpeed(lastTimeStamp, asdf) end if v["To"] then local Ti = TweenInfo.new(getSpeed(lastTimeStamp, asdf) + times.To + getSpeed(lastTimeStamp, asdf)) times.To = 0 TS:Create(Character.HumanoidRootPart["RootJoint"], Ti, { C0 = RoH * v["To"] }):Play() else times.To = times.To + getSpeed(lastTimeStamp, asdf) end if v["Hd"] then local Ti = TweenInfo.new(getSpeed(lastTimeStamp, asdf) + times.Hd + getSpeed(lastTimeStamp, asdf)) times.Hd = 0 TS:Create(Character.Torso["Neck"], Ti, { C0 = N * v["Hd"] }):Play() else times.Hd = times.Hd + getSpeed(lastTimeStamp, asdf) end task.wait(getSpeed(lastTimeStamp, asdf)) lastTimeStamp = asdf end end end function Main:Stop() self.played = true end local animationplayer = Main local LoadedAnimationTable = {} local Players = game:GetService("Players") local Player = Players.LocalPlayer local RunService = game:GetService("RunService") game.Players.LocalPlayer.Character.Archivable = true local FakeCharacter = game.Players.LocalPlayer.Character:Clone() Player.Character:BreakJoints() Player.Character = nil local Connection Connection = game.Workspace.DescendantAdded:Connect(function(c) if c.Name == "Animate" and c.Parent == Player.Character then c.Enabled = false Connection:Disconnect() end end) repeat task.wait() until game.Players.LocalPlayer.Character task.wait(0.1) local RealChar = Player.Character RealChar.Archivable = true FakeCharacter.Name = Player.Name .. "_Fake" FakeCharacter.Parent = workspace local rig = animationplayer.LoadDummy(FakeCharacter) -- Comment out the following lines to not load and play any animation -- local track = rig:LoadAnimation("rbxassetid://17603135849") -- coroutine.wrap(function() -- track:Play() -- end)() task.spawn(function() for i, LS in ipairs(FakeCharacter:GetChildren()) do if LS:IsA("LocalScript") then LS.Enabled = false task.wait(0.1) LS.Enabled = false end end end) for i, Part in ipairs(FakeCharacter:GetDescendants()) do if Part:IsA("BasePart") then Part.Transparency = clone_transparency end end for i, Decal in ipairs(FakeCharacter:GetDescendants()) do if Decal:IsA("Decal") then Decal.Transparency = clone_transparency end end Player.Character = FakeCharacter local function MotorAngle() if RealChar:FindFirstChild("Torso") then for MotorName, Motor6DAngle in pairs(Motors) do if RealChar:FindFirstChild("Torso"):FindFirstChild(MotorName) then RealChar:FindFirstChild("Torso"):FindFirstChild(MotorName).CurrentAngle = Motor6DAngle end end end end local function SetAngles() if FakeCharacter:FindFirstChild("Torso") then for MotorName, Motor6DAngle in pairs(Motors) do if FakeCharacter:FindFirstChild("Torso"):FindFirstChild(MotorName) then local Motor = FakeCharacter:FindFirstChild("Torso"):FindFirstChild(MotorName) local rx, ry, rz = Motor.Part1.CFrame:ToObjectSpace(FakeCharacter:FindFirstChild("Torso").CFrame):ToOrientation() if Motor.Name == "Right Shoulder" then Motors[MotorName] = -rx end if Motor.Name == "Left Shoulder" then Motors[MotorName] = rx end if Motor.Name == "Right Hip" then Motors[MotorName] = -rx end if Motor.Name == "Left Hip" then Motors[MotorName] = rx end if Motor.Name == "Neck" then Motors[MotorName] = -ry end end end end end local function BaseCol() for i, Part in ipairs(RealChar:GetChildren()) do if Part:IsA("BasePart") then Part.CanCollide = false end end for i, Part in ipairs(FakeCharacter:GetChildren()) do if Part:IsA("BasePart") then Part.CanCollide = false end end end RunService.Heartbeat:Connect(function() SetAngles() MotorAngle() pcall(function() RealChar.HumanoidRootPart.CFrame = FakeCharacter.Torso.CFrame end) end) RunService.PreSimulation:Connect(function() BaseCol() end) --[[ FE SAD made by MyWorld#4430 discord.gg/pYVHtSJmEY works on R6, R15, no hats needed controls: F to fly ]] if "its sad enough to use MyWorld's reanimate" then --reanimate by MyWorld#4430 discord.gg/pYVHtSJmEY local Vector3_101 = Vector3.new(1, 0, 1) local netless_Y = Vector3.new(0, 25.1, 0) local function getNetlessVelocity(realPartVelocity) --edit this if you have a better netless method local netlessVelocity = realPartVelocity * Vector3_101 local mag = netlessVelocity.Magnitude if mag > 0.1 then
netlessVelocity *= 100 / mag
end
netlessVelocity += netless_Y
return netlessVelocity
end
local simradius = "shp" --simulation radius (net bypass) method
--"shp" - sethiddenproperty
--"ssr" - setsimulationradius
--false - disable
local noclipAllParts = true --set it to true if you want noclip
local flingpart = "HumanoidRootPart" --the part that will be used to fling (ctrl + F "fling function")
local antiragdoll = true --removes hingeConstraints and ballSocketConstraints from your character
local newanimate = true --disables the animate script and enables after reanimation
local discharscripts = true --disables all localScripts parented to your character before reanimation
local R15toR6 = true --tries to convert your character to r6 if its r15
local hatcollide = true --makes hats cancollide (credit to ShownApe) (works only with reanimate method 0)
local humState16 = true --enables collisions for limbs before the humanoid dies (using hum:ChangeState)
local addtools = false --puts all tools from backpack to character and lets you hold them after reanimation
local hedafterneck = true --disable aligns for head and enable after neck is removed
local loadtime = game:GetService("Players").RespawnTime + 0.5 --anti respawn delay
local method = 1 --reanimation method
--methods:
--0 - breakJoints (takes [loadtime] seconds to laod)
--1 - limbs
--2 - limbs + anti respawn
--3 - limbs + breakJoints after [loadtime] seconds
--4 - remove humanoid + breakJoints
--5 - remove humanoid + limbs
local alignmode = 3 --AlignPosition mode
--modes:
--1 - AlignPosition rigidity enabled true
--2 - 2 AlignPositions rigidity enabled both true and false
--3 - AlignPosition rigidity enabled false
local lp = game:GetService("Players").LocalPlayer
local rs = game:GetService("RunService")
local stepped = rs.Stepped
local heartbeat = rs.Heartbeat
local renderstepped = rs.RenderStepped
local sg = game:GetService("StarterGui")
local ws = game:GetService("Workspace")
local cf = CFrame.new
local v3 = Vector3.new
local v3_0 = v3(0, 0, 0)
local inf = math.huge
local c = lp.Character
if not (c and c.Parent) then
return
end
c.Destroying:Connect(function()
c = nil
end)
local function gp(parent, name, className)
if typeof(parent) == "Instance" then
for i, v in pairs(parent:GetChildren()) do
if (v.Name == name) and v:IsA(className) then
return v
end
end
end
return nil
end
local function align(Part0, Part1)
Part0.CustomPhysicalProperties = PhysicalProperties.new(0.0001, 0.0001, 0.0001, 0.0001, 0.0001)
local att0 = Instance.new("Attachment", Part0)
att0.Orientation = v3_0
att0.Position = v3_0
att0.Name = "att0_" .. Part0.Name
local att1 = Instance.new("Attachment", Part1)
att1.Orientation = v3_0
att1.Position = v3_0
att1.Name = "att1_" .. Part1.Name
if (alignmode == 1) or (alignmode == 2) then
local ape = Instance.new("AlignPosition", att0)
ape.ApplyAtCenterOfMass = false
ape.MaxForce = inf
ape.MaxVelocity = inf
ape.ReactionForceEnabled = false
ape.Responsiveness = 200
ape.Attachment1 = att1
ape.Attachment0 = att0
ape.Name = "AlignPositionRtrue"
ape.RigidityEnabled = true
end
if (alignmode == 2) or (alignmode == 3) then
local apd = Instance.new("AlignPosition", att0)
apd.ApplyAtCenterOfMass = false
apd.MaxForce = inf
apd.MaxVelocity = inf
apd.ReactionForceEnabled = false
apd.Responsiveness = 200
apd.Attachment1 = att1
apd.Attachment0 = att0
apd.Name = "AlignPositionRfalse"
apd.RigidityEnabled = false
end
local ao = Instance.new("AlignOrientation", att0)
ao.MaxAngularVelocity = inf
ao.MaxTorque = inf
ao.PrimaryAxisOnly = false
ao.ReactionTorqueEnabled = false
ao.Responsiveness = 200
ao.Attachment1 = att1
ao.Attachment0 = att0
ao.RigidityEnabled = false
if type(getNetlessVelocity) == "function" then
local realVelocity = v3_0
local steppedcon = stepped:Connect(function()
Part0.Velocity = realVelocity
end)
local heartbeatcon = heartbeat:Connect(function()
realVelocity = Part0.Velocity
Part0.Velocity = getNetlessVelocity(realVelocity)
end)
Part0.Destroying:Connect(function()
Part0 = nil
steppedcon:Disconnect()
heartbeatcon:Disconnect()
end)
end
end
local function respawnrequest()
local ccfr = ws.CurrentCamera.CFrame
local c = lp.Character
lp.Character = nil
lp.Character = c
local con = nil
con = ws.CurrentCamera.Changed:Connect(function(prop)
if (prop ~= "Parent") and (prop ~= "CFrame") then
return
end
ws.CurrentCamera.CFrame = ccfr
con:Disconnect()
end)
end
local destroyhum = (method == 4) or (method == 5)
local breakjoints = (method == 0) or (method == 4)
local antirespawn = (method == 0) or (method == 2) or (method == 3)
hatcollide = hatcollide and (method == 0)
addtools = addtools and gp(lp, "Backpack", "Backpack")
local fenv = getfenv()
local shp = fenv.sethiddenproperty or fenv.set_hidden_property or fenv.set_hidden_prop or fenv.sethiddenprop
local ssr = fenv.setsimulationradius or fenv.set_simulation_radius or fenv.set_sim_radius or fenv.setsimradius or fenv.set_simulation_rad or fenv.setsimulationrad
if shp and (simradius == "shp") then
spawn(function()
while c and heartbeat:Wait() do
shp(lp, "SimulationRadius", inf)
end
end)
elseif ssr and (simradius == "ssr") then
spawn(function()
while c and heartbeat:Wait() do
ssr(inf)
end
end)
end
antiragdoll = antiragdoll and function(v)
if v:IsA("HingeConstraint") or v:IsA("BallSocketConstraint") then
v.Parent = nil
end
end
if antiragdoll then
for i, v in pairs(c:GetDescendants()) do
antiragdoll(v)
end
c.DescendantAdded:Connect(antiragdoll)
end
if antirespawn then
respawnrequest()
end
if method == 0 then
wait(loadtime)
if not c then
return
end
end
if discharscripts then
for i, v in pairs(c:GetChildren()) do
if v:IsA("LocalScript") then
v.Disabled = true
end
end
elseif newanimate then
local animate = gp(c, "Animate", "LocalScript")
if animate and (not animate.Disabled) then
animate.Disabled = true
else
newanimate = false
end
end
if addtools then
for i, v in pairs(addtools:GetChildren()) do
if v:IsA("Tool") then
v.Parent = c
end
end
end
pcall(function()
settings().Physics.AllowSleep = false
settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled
end)
local OLDscripts = {}
for i, v in pairs(c:GetDescendants()) do
if v.ClassName == "Script" then
table.insert(OLDscripts, v)
end
end
local scriptNames = {}
for i, v in pairs(c:GetDescendants()) do
if v:IsA("BasePart") then
local newName = tostring(i)
local exists = true
while exists do
exists = false
for i, v in pairs(OLDscripts) do
if v.Name == newName then
exists = true
end
end
if exists then
newName = newName .. "_"
end
end
table.insert(scriptNames, newName)
Instance.new("Script", v).Name = newName
end
end
c.Archivable = true
local hum = c:FindFirstChildOfClass("Humanoid")
if hum then
for i, v in pairs(hum:GetPlayingAnimationTracks()) do
v:Stop()
end
end
local cl = c:Clone()
if hum and humState16 then
hum:ChangeState(Enum.HumanoidStateType.Physics)
if destroyhum then
wait(1.6)
end
end
if hum and hum.Parent and destroyhum then
hum:Destroy()
end
if not c then
return
end
local head = gp(c, "Head", "BasePart")
local torso = gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart")
local root = gp(c, "HumanoidRootPart", "BasePart")
if hatcollide and c:FindFirstChildOfClass("Accessory") then
local anything = c:FindFirstChildOfClass("BodyColors") or gp(c, "Health", "Script")
if not (torso and root and anything) then
return
end
torso:Destroy()
root:Destroy()
if shp then
for i,v in pairs(c:GetChildren()) do
if v:IsA("Accessory") then
shp(v, "BackendAccoutrementState", 0)
end
end
end
anything:Destroy()
end
for i, v in pairs(cl:GetDescendants()) do
if v:IsA("BasePart") then
v.Transparency = 1
v.Anchored = false
end
end
local model = Instance.new("Model", c)
model.Name = model.ClassName
model.Destroying:Connect(function()
model = nil
end)
for i, v in pairs(c:GetChildren()) do
if v ~= model then
if addtools and v:IsA("Tool") then
for i1, v1 in pairs(v:GetDescendants()) do
if v1 and v1.Parent and v1:IsA("BasePart") then
local bv = Instance.new("BodyVelocity", v1)
bv.Velocity = v3_0
bv.MaxForce = v3(1000, 1000, 1000)
bv.P = 1250
bv.Name = "bv_" .. v.Name
end
end
end
v.Parent = model
end
end
if breakjoints then
model:BreakJoints()
else
if head and torso then
for i, v in pairs(model:GetDescendants()) do
if v:IsA("Weld") or v:IsA("Snap") or v:IsA("Glue") or v:IsA("Motor") or v:IsA("Motor6D") then
local save = false
if (v.Part0 == torso) and (v.Part1 == head) then
save = true
end
if (v.Part0 == head) and (v.Part1 == torso) then
save = true
end
if save then
if hedafterneck then
hedafterneck = v
end
else
v:Destroy()
end
end
end
end
if method == 3 then
spawn(function()
wait(loadtime)
if model then
model:BreakJoints()
end
end)
end
end
cl.Parent = c
for i, v in pairs(cl:GetChildren()) do
v.Parent = c
end
cl:Destroy()
local noclipmodel = (noclipAllParts and c) or model
local noclipcon = nil
local function uncollide()
if noclipmodel then
for i, v in pairs(noclipmodel:GetDescendants()) do
if v:IsA("BasePart") then
v.CanCollide = false
end
end
else
noclipcon:Disconnect()
end
end
noclipcon = stepped:Connect(uncollide)
uncollide()
for i, scr in pairs(model:GetDescendants()) do
if (scr.ClassName == "Script") and table.find(scriptNames, scr.Name) then
local Part0 = scr.Parent
if Part0:IsA("BasePart") then
for i1, scr1 in pairs(c:GetDescendants()) do
if (scr1.ClassName == "Script") and (scr1.Name == scr.Name) and (not scr1:IsDescendantOf(model)) then
local Part1 = scr1.Parent
if (Part1.ClassName == Part0.ClassName) and (Part1.Name == Part0.Name) then
align(Part0, Part1)
break
end
end
end
end
end
end
if (typeof(hedafterneck) == "Instance") and head then
local aligns = {}
local con = nil
con = hedafterneck.Changed:Connect(function(prop)
if (prop == "Parent") and not hedafterneck.Parent then
con:Disconnect()
for i, v in pairs(aligns) do
v.Enabled = true
end
end
end)
for i, v in pairs(head:GetDescendants()) do
if v:IsA("AlignPosition") or v:IsA("AlignOrientation") then
i = tostring(i)
aligns[i] = v
v.Destroying:Connect(function()
aligns[i] = nil
end)
v.Enabled = false
end
end
end
for i, v in pairs(c:GetDescendants()) do
if v and v.Parent then
if v.ClassName == "Script" then
if table.find(scriptNames, v.Name) then
v:Destroy()
end
elseif not v:IsDescendantOf(model) then
if v:IsA("Decal") then
v.Transparency = 1
elseif v:IsA("ForceField") then
v.Visible = false
elseif v:IsA("Sound") then
v.Playing = false
elseif v:IsA("BillboardGui") or v:IsA("SurfaceGui") or v:IsA("ParticleEmitter") or v:IsA("Fire") or v:IsA("Smoke") or v:IsA("Sparkles") then
v.Enabled = false
end
end
end
end
if newanimate then
local animate = gp(c, "Animate", "LocalScript")
if animate then
animate.Disabled = false
end
end
if addtools then
for i, v in pairs(c:GetChildren()) do
if v:IsA("Tool") then
v.Parent = addtools
end
end
end
local hum0 = model:FindFirstChildOfClass("Humanoid")
if hum0 then
hum0.Destroying:Connect(function()
hum0 = nil
end)
end
local hum1 = c:FindFirstChildOfClass("Humanoid")
if hum1 then
hum1.Destroying:Connect(function()
hum1 = nil
end)
end
if hum1 then
ws.CurrentCamera.CameraSubject = hum1
local camSubCon = nil
local function camSubFunc()
camSubCon:Disconnect()
if c and hum1 then
ws.CurrentCamera.CameraSubject = hum1
end
end
camSubCon = renderstepped:Connect(camSubFunc)
if hum0 then
hum0.Changed:Connect(function(prop)
if hum1 and (prop == "Jump") then
hum1.Jump = hum0.Jump
end
end)
else
respawnrequest()
end
end
local rb = Instance.new("BindableEvent", c)
rb.Event:Connect(function()
rb:Destroy()
sg:SetCore("ResetButtonCallback", true)
if destroyhum then
c:BreakJoints()
return
end
if hum0 and (hum0.Health > 0) then
model:BreakJoints()
hum0.Health = 0
end
if antirespawn then
respawnrequest()
end
end)
sg:SetCore("ResetButtonCallback", rb)
spawn(function()
while c do
if hum0 and hum1 then
hum1.Jump = hum0.Jump
end
wait()
end
sg:SetCore("ResetButtonCallback", true)
end)
R15toR6 = R15toR6 and hum1 and (hum1.RigType == Enum.HumanoidRigType.R15)
if R15toR6 then
local part = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "UpperTorso", "BasePart") or gp(c, "LowerTorso", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart")
if part then
local cfr = part.CFrame
local R6parts = {
head = {
Name = "Head",
Size = v3(2, 1, 1),
R15 = {
Head = 0
}
},
torso = {
Name = "Torso",
Size = v3(2, 2, 1),
R15 = {
UpperTorso = 0.2,
LowerTorso = -0.8
}
},
root = {
Name = "HumanoidRootPart",
Size = v3(2, 2, 1),
R15 = {
HumanoidRootPart = 0
}
},
leftArm = {
Name = "Left Arm",
Size = v3(1, 2, 1),
R15 = {
LeftHand = -0.85,
LeftLowerArm = -0.2,
LeftUpperArm = 0.4
}
},
rightArm = {
Name = "Right Arm",
Size = v3(1, 2, 1),
R15 = {
RightHand = -0.85,
RightLowerArm = -0.2,
RightUpperArm = 0.4
}
},
leftLeg = {
Name = "Left Leg",
Size = v3(1, 2, 1),
R15 = {
LeftFoot = -0.85,
LeftLowerLeg = -0.15,
LeftUpperLeg = 0.6
}
},
rightLeg = {
Name = "Right Leg",
Size = v3(1, 2, 1),
R15 = {
RightFoot = -0.85,
RightLowerLeg = -0.15,
RightUpperLeg = 0.6
}
}
}
for i, v in pairs(c:GetChildren()) do
if v:IsA("BasePart") then
for i1, v1 in pairs(v:GetChildren()) do
if v1:IsA("Motor6D") then
v1.Part0 = nil
end
end
end
end
part.Archivable = true
for i, v in pairs(R6parts) do
local part = part:Clone()
part:ClearAllChildren()
part.Name = v.Name
part.Size = v.Size
part.CFrame = cfr
part.Anchored = false
part.Transparency = 1
part.CanCollide = false
for i1, v1 in pairs(v.R15) do
local R15part = gp(c, i1, "BasePart")
local att = gp(R15part, "att1_" .. i1, "Attachment")
if R15part then
local weld = Instance.new("Weld", R15part)
weld.Name = "Weld_" .. i1
weld.Part0 = part
weld.Part1 = R15part
weld.C0 = cf(0, v1, 0)
weld.C1 = cf(0, 0, 0)
R15part.Massless = true
R15part.Name = "R15_" .. i1
R15part.Parent = part
if att then
att.Parent = part
att.Position = v3(0, v1, 0)
end
end
end
part.Parent = c
R6parts[i] = part
end
local R6joints = {
neck = {
Parent = R6parts.torso,
Name = "Neck",
Part0 = R6parts.torso,
Part1 = R6parts.head,
C0 = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
C1 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
},
rootJoint = {
Parent = R6parts.root,
Name = "RootJoint" ,
Part0 = R6parts.root,
Part1 = R6parts.torso,
C0 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
C1 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
},
rightShoulder = {
Parent = R6parts.torso,
Name = "Right Shoulder",
Part0 = R6parts.torso,
Part1 = R6parts.rightArm,
C0 = cf(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
C1 = cf(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
},
leftShoulder = {
Parent = R6parts.torso,
Name = "Left Shoulder",
Part0 = R6parts.torso,
Part1 = R6parts.leftArm,
C0 = cf(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
C1 = cf(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
},
rightHip = {
Parent = R6parts.torso,
Name = "Right Hip",
Part0 = R6parts.torso,
Part1 = R6parts.rightLeg,
C0 = cf(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
C1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
},
leftHip = {
Parent = R6parts.torso,
Name = "Left Hip" ,
Part0 = R6parts.torso,
Part1 = R6parts.leftLeg,
C0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
C1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
}
}
for i, v in pairs(R6joints) do
local joint = Instance.new("Motor6D")
for prop, val in pairs(v) do
joint[prop] = val
end
R6joints[i] = joint
end
hum1.RigType = Enum.HumanoidRigType.R6
hum1.HipHeight = 0
end
end
--fling function
--usage: fling([part or CFrame or Vector3], [fling duration (seconds)], [rotation velocity (Vector3)])
local flingpart0 = gp(model, flingpart, "BasePart")
local flingpart1 = gp(c, flingpart, "BasePart")
local fling = function() end
if flingpart0 and flingpart1 then
flingpart0.Destroying:Connect(function()
flingpart0 = nil
fling = function() end
end)
flingpart1.Destroying:Connect(function()
flingpart1 = nil
fling = function() end
end)
--flingpart1.Archivable = true
local att0 = gp(flingpart0, "att0_" .. flingpart0.Name, "Attachment")
local att1 = gp(flingpart1, "att1_" .. flingpart1.Name, "Attachment")
if att0 and att1 then
fling = function(target, duration, rotVelocity)
if (typeof(target) == "Instance" and target:IsA("BasePart")) or (typeof(target) == "CFrame") then
target = target.Position
elseif typeof(target) ~= "Vector3" then
return
end
if type(duration) ~= number then
duration = tonumber(duration) or 0.5
end
if typeof(rotVelocity) ~= "Vector3" then
rotVelocity = v3(20000, 20000, 20000)
end
if not (target and flingpart0 and flingpart1 and att0 and att1) then
return
end
local flingpart = flingpart0:Clone()
flingpart.Transparency = 1
flingpart.Size = v3(0.01, 0.01, 0.01)
flingpart.CanCollide = false
flingpart.Name = "flingpart_" .. flingpart0.Name
flingpart.Anchored = true
flingpart.Destroying:Connect(function()
flingpart = nil
end)
flingpart.Parent = flingpart1
if flingpart0.Transparency > 0.5 then
flingpart0.Transparency = 0.5
end
att1.Parent = flingpart
for i, v in pairs(att0:GetChildren()) do
if v:IsA("AlignOrientation") then
v.Enabled = false
end
end
local con = nil
con = heartbeat:Connect(function()
if target and flingpart and flingpart0 and flingpart1 and att0 and att1 then
flingpart0.RotVelocity = rotVelocity
flingpart.Position = target
else
con:Disconnect()
end
end)
local steppedRotVel = v3(
((target.X > 0) and -1) or 1,
((target.Y > 0) and -1) or 1,
((target.Z > 0) and -1) or 1
)
local con = nil
con = stepped:Connect(function()
if target and flingpart and flingpart0 and flingpart1 and att0 and att1 then
flingpart0.RotVelocity = steppedRotVel
flingpart.Position = target
else
con:Disconnect()
end
end)
wait(duration)
target = nil
if not (flingpart and flingpart0 and flingpart1 and att0 and att1) then
return
end
flingpart0.RotVelocity = v3_0
att1.Parent = flingpart1
for i, v in pairs(att0:GetChildren()) do
if v:IsA("AlignOrientation") then
v.Enabled = true
end
end
flingpart:Destroy()
end
end
end
end
--end of reanimate
local lp = game:GetService("Players").LocalPlayer
local ws = game:GetService("Workspace")
local c = lp.Character
if not (c and c.Parent) then
return print("character not found")
end
c:GetPropertyChangedSignal("Parent"):Connect(function()
if not (c and c.Parent) then
c = nil
end
end)
--getPart function
local function gp(parent, name, className)
local ret = nil
pcall(function()
for i, v in pairs(parent:GetChildren()) do
if (v.Name == name) and v:IsA(className) then
ret = v
break
end
end
end)
return ret
end
--check if reanimate loaded
local model = gp(c, "Model", "Model")
if not model then return print("model not found") end
--find body parts
local head = gp(c, "Head", "BasePart")
if not head then return print("head not found") end
local torso = gp(c, "Torso", "BasePart")
if not torso then return print("torso not found") end
local humanoidRootPart = gp(c, "HumanoidRootPart", "BasePart")
if not humanoidRootPart then return print("humanoid root part not found") end
local leftArm = gp(c, "Left Arm", "BasePart")
if not leftArm then return print("left arm not found") end
local rightArm = gp(c, "Right Arm", "BasePart")
if not rightArm then return print("right arm not found") end
local leftLeg = gp(c, "Left Leg", "BasePart")
if not leftLeg then return print("left leg not found") end
local rightLeg = gp(c, "Right Leg", "BasePart")
if not rightLeg then return print("right leg not found") end
--find rig joints
local neck = gp(torso, "Neck", "Motor6D")
if not neck then return print("neck not found") end
local rootJoint = gp(humanoidRootPart, "RootJoint", "Motor6D")
if not rootJoint then return print("root joint not found") end
local leftShoulder = gp(torso, "Left Shoulder", "Motor6D")
if not leftShoulder then return print("left shoulder not found") end
local rightShoulder = gp(torso, "Right Shoulder", "Motor6D")
if not rightShoulder then return print("right shoulder not found") end
local leftHip = gp(torso, "Left Hip", "Motor6D")
if not leftHip then return print("left hip not found") end
local rightHip = gp(torso, "Right Hip", "Motor6D")
if not rightHip then return print("right hip not found") end
--humanoid
local hum = c:FindFirstChildOfClass("Humanoid")
if not hum then return print("humanoid not found") end
local animate = gp(c, "Animate", "LocalScript")
if animate then
animate.Disabled = true
end
for i, v in pairs(hum:GetPlayingAnimationTracks()) do
v:Stop()
end
--60 fps
local fps = 60
local event = Instance.new("BindableEvent", c)
event.Name = "60 fps"
local floor = math.floor
fps = 1 / fps
local tf = 0
local con = nil
con = game:GetService("RunService").RenderStepped:Connect(function(s)
if not c then
con:Disconnect()
return
end
tf += s
if tf >= fps then
for i=1, floor(tf / fps) do
event:Fire(c)
end
tf = 0
end
end)
local event = event.Event
local function stopIfRemoved(instance)
if not (instance and instance.Parent) then
c = nil
return
end
instance:GetPropertyChangedSignal("Parent"):Connect(function()
if not (instance and instance.Parent) then
c = nil
end
end)
end
stopIfRemoved(c)
stopIfRemoved(hum)
for i, v in pairs({head, torso, leftArm, rightArm, leftLeg, rightLeg, humanoidRootPart}) do
stopIfRemoved(v)
end
for i, v in pairs({neck, rootJoint, leftShoulder, rightShoulder, leftHip, rightHip}) do
stopIfRemoved(v)
end
if not c then
return
end
uis = game:GetService("UserInputService")
local flying = false
uis.InputBegan:Connect(function(keycode)
if uis:GetFocusedTextBox() then
return
end
keycode = keycode.KeyCode
if keycode == Enum.KeyCode.F then
flying = not flying
end
end)
hum.WalkSpeed = 50
hum.HipHeight = 5
hum.JumpPower = 0
hum.CameraOffset = Vector3.new(0, -3, 0)
local flyspeed = 1
local cf, v3, euler, sin, sine = CFrame.new, Vector3.new, CFrame.fromEulerAnglesXYZ, math.sin, 0
while event:Wait() do
sine += 1
hum.PlatformStand = flying
humanoidRootPart.Anchored = flying
if flying then
humanoidRootPart.Velocity = v3(0, 0, 0)
local flycf = humanoidRootPart.CFrame
local fb = ((uis:IsKeyDown("W") and flyspeed) or 0) + ((uis:IsKeyDown("S") and -flyspeed) or 0)
local lr = ((uis:IsKeyDown("A") and -flyspeed) or 0) + ((uis:IsKeyDown("D") and flyspeed) or 0)
local camcf = ws.CurrentCamera.CFrame
flycf += camcf.lookVector * fb
flycf += camcf.rightVector * lr
humanoidRootPart.CFrame = flycf
end
if humanoidRootPart.Velocity.Y < -20 then humanoidRootPart.Velocity = v3(0, -20, 0) end if humanoidRootPart.Velocity.Magnitude > 1 then -- walk
neck.C0 = neck.C0:Lerp(cf(0, 1, 0) * euler(-1.2217304763960306, 0.17453292519943295 * sin(sine * 0.025), -3.1590459461097367), 0.2)
rootJoint.C0 = rootJoint.C0:Lerp(cf(0, -2 + 0.5 * sin(sine * 0.05), 2) * euler(-2.443460952792061 + -0.08726646259971647 * sin((sine + 10) * 0.05), 0.05235987755982989 * sin(sine * 0.025), -3.1590459461097367 + -0.08726646259971647 * sin(sine * 0.025)), 0.2)
leftShoulder.C0 = leftShoulder.C0:Lerp(cf(-1, 0.5, 0) * euler(-0.12217304763960307 * sin((sine + 25) * 0.05), -1.5882496193148399 + -0.17453292519943295 * sin((sine + 20) * 0.05), -2.0943951023931953), 0.2)
rightShoulder.C0 = rightShoulder.C0:Lerp(cf(1, 0.5, 0) * euler(-0.12217304763960307 * sin((sine + 25) * 0.05), 1.5707963267948966 + 0.17453292519943295 * sin((sine + 20) * 0.05), 2.0943951023931953), 0.2)
leftHip.C0 = leftHip.C0:Lerp(cf(-1, -1, 0) * euler(0, -1.5882496193148399, 0.3490658503988659 + -0.17453292519943295 * sin((sine + 30) * 0.05)), 0.2)
rightHip.C0 = rightHip.C0:Lerp(cf(1, -1, 0) * euler(0, 1.5707963267948966, -0.3490658503988659 + 0.17453292519943295 * sin((sine + 40) * 0.05)), 0.2)
else
neck.C0 = neck.C0:Lerp(cf(0, 1, 0) * euler(-2.0943951023931953 + -0.2617993877991494 * sin((sine + 20) * 0.05), 0.3490658503988659 * sin(sine * 0.025), -3.1590459461097367), 0.2)
rootJoint.C0 = rootJoint.C0:Lerp(cf(0, -2 + 1 * sin(sine * 0.05), 0) * euler(-2.792526803190927 + -0.08726646259971647 * sin((sine + 10) * 0.05), 0.05235987755982989 * sin(sine * 0.025), -3.1590459461097367 + -0.08726646259971647 * sin(sine * 0.025)), 0.2)
leftShoulder.C0 = leftShoulder.C0:Lerp(cf(-1, 0.5, 0) * euler(-0.12217304763960307 * sin((sine + 25) * 0.05), -1.5882496193148399 + -0.17453292519943295 * sin((sine + 20) * 0.05), -1.2217304763960306), 0.2)
rightShoulder.C0 = rightShoulder.C0:Lerp(cf(1, 0.5, 0) * euler(-0.12217304763960307 * sin((sine + 25) * 0.05), 1.5707963267948966 + 0.17453292519943295 * sin((sine + 20) * 0.05), 1.2217304763960306), 0.2)
leftHip.C0 = leftHip.C0:Lerp(cf(-1, -1, 0) * euler(0, -1.5882496193148399, -1.2217304763960306 + -0.17453292519943295 * sin((sine + 30) * 0.05)), 0.2)
rightHip.C0 = rightHip.C0:Lerp(cf(1, -1, 0) * euler(0, 1.5707963267948966, 1.2217304763960306 + 0.17453292519943295 * sin((sine + 40) * 0.05)), 0.2)
end
end
Remember to employ a dummy account when injecting scripts. We cannot be held responsible for any potential harm caused to your Roblox account.

