Dance
for i,v in next, game:GetService("Players").LocalPlayer.Character:GetDescendants() do
if v:IsA("BasePart") and v.Name ~="HumanoidRootPart" then
game:GetService("RunService").Heartbeat:connect(function()
v.Velocity = Vector3.new(1, 25, 1)
end)
end
end
wait(3)
local Frame = (60)
local chr = game.Players.LocalPlayer.Character
Service =
setmetatable(
{
Get = function(Self, Serv)
if Service[Serv] then
return Service[Serv]
end
local S = game:GetService(Serv)
if S then
Service[Serv] = S
end
return S
end
},
{
__index = function(Self, Index)
local S = game:GetService(Index)
if S then
Service[Index] = S
end
return S
end
}
)
local LP = Service["Players"].LocalPlayer
local Char = LP["Character"]
local Torso, Root, Humanoid = Char["UpperTorso"], Char["HumanoidRootPart"], Char["Humanoid"]
local TService, UIS = Service["TweenService"], Service["UserInputService"]
coroutine.wrap(
function()
Root["Anchored"] = true
wait(.8)
Root["Anchored"] = false
end
)()
local Create = function(Obj, Parent)
local I = Instance.new(Obj)
I["Parent"] = Parent
return I
end
local Contains = function(Table, KV)
for K, V in next, Table do
if rawequal(KV, K) or rawequal(KV, V) then
return true
end
end
return false
end
local PoseToCF = function(Pose, Motor)
return (Motor["Part0"].CFrame * Motor["C0"] * Pose["CFrame"] * Motor["C1"]:Inverse()):ToObjectSpace(
Motor["Part0"].CFrame
)
end
local Joints = {
["LeftHand"] = game.Players.LocalPlayer.Character.LeftHand["LeftWrist"],
["LeftLowerArm"] = chr.LeftLowerArm["LeftElbow"],
["LeftUpperArm"] = chr.LeftUpperArm["LeftShoulder"],
["RightHand"] = chr.RightHand["RightWrist"],
["RightLowerArm"] = chr.RightLowerArm["RightElbow"],
["RightUpperArm"] = chr.RightUpperArm["RightShoulder"],
["UpperTorso"] = chr.UpperTorso["Waist"],
["LeftFoot"] = chr.LeftFoot["LeftAnkle"],
["LeftLowerLeg"] = chr.LeftLowerLeg["LeftKnee"],
["LeftUpperLeg"] = chr.LeftUpperLeg["LeftHip"],
["RightFoot"] = chr.RightFoot["RightAnkle"],
["RightLowerLeg"] = chr.RightLowerLeg["RightKnee"],
["RightUpperLeg"] = chr.RightUpperLeg["RightHip"],
["LowerTorso"] = chr.LowerTorso["Root"]
}
for K, V in next, Char:GetChildren() do
if V:IsA("BasePart") then
coroutine.wrap(
function()
repeat
V["CanCollide"] = false
Service["RunService"].Stepped:Wait()
until Humanoid["Health"] < 1
end
)()
end
end
for K, V in next, Joints do
local AP, AO, A0, A1 =
Create("AlignPosition", V["Part1"]),
Create("AlignOrientation", V["Part1"]),
Create("Attachment", V["Part1"]),
Create("Attachment", V["Part0"])
AP["RigidityEnabled"] = true
AO["RigidityEnabled"] = true
AP["Attachment0"] = A0
AP["Attachment1"] = A1
AO["Attachment0"] = A0
AO["Attachment1"] = A1
A0["Name"] = "CFAttachment0"
A1["Name"] = "CFAttachment1"
A0["CFrame"] = V["C1"] * V["C0"]:Inverse()
V:Remove()
end
local Edit = function(Part, Value, Duration, Style, Direction)
Style = Style or "Enum.EasingStyle.Linear"
Direction = Direction or "Enum.EasingDirection.In"
local Attachment = Part:FindFirstChild("CFAttachment0")
if Attachment ~= nil then
TService:Create(
Attachment,
TweenInfo.new(
Duration,
Enum["EasingStyle"][tostring(Style):split(".")[3]],
Enum["EasingDirection"][tostring(Direction):split(".")[3]],
0,
false,
),
{CFrame = Value}
):Play()
end
end
if not Service["RunService"]:FindFirstChild("Delta") then
local Delta = Create("BindableEvent", Service["RunService"])
Delta["Name"] = "Delta"
local A, B = 0, tick()
Service["RunService"].Delta:Fire()
Service["RunService"].Heartbeat:Connect(
function(C, D)
A = A + C
if A >= (1 / Frame) then
for I = 1, math.floor(A / (1 / Frame)) do
Service["RunService"].Delta:Fire()
end
B = tick()
A = A - (1 / Frame) * math.floor(A / (1 / Frame))
end
end
)
end
coroutine.wrap(
function()
Humanoid["Died"]:Wait()
for K, V in next, Char:GetDescendants() do
if V["Name"]:match("Align") then
V:Destroy()
end
end
end
)()
local PreloadAnimation = function(AssetId)
local Sequence = game:GetObjects("rbxassetid://" .. AssetId)[1]
assert(Sequence:IsA("KeyframeSequence"), "Instance is not a KeyframeSequence.")
wait(.06)
local Class = {}
Class["Speed"] = 1
local Yield = function(Seconds)
local Time = Seconds * (Frame + Sequence:GetKeyframes()[#Sequence:GetKeyframes()].Time)
for I = 1, Time, Class["Speed"] do
Service["RunService"].Delta["Event"]:Wait()
end
end
Class["Stopped"] = false
Class["Complete"] = Instance.new("BindableEvent")
Class["Play"] = function()
Class["Stopped"] = false
coroutine.wrap(
function()
repeat
for K = 1, #Sequence:GetKeyframes() do
local K0, K1, K2 =
Sequence:GetKeyframes()[K - 1],
Sequence:GetKeyframes()[K],
Sequence:GetKeyframes()[K + 1]
if Class["Stopped"] ~= true and Humanoid["Health"] > 0 then
if K0 ~= nil then
Yield(K1["Time"] - K0["Time"])
end
coroutine.wrap(
function()
for I = 1, #K1:GetDescendants() do
local Pose = K1:GetDescendants()[I]
if Contains(Joints, Pose["Name"]) then
local Duration =
K2 ~= nil and (K2["Time"] - K1["Time"]) / Class["Speed"] or .5
Edit(
Char[Pose["Name"]],
PoseToCF(Pose, Joints[Pose["Name"]]),
Duration,
Pose["EasingStyle"],
Pose["EasingDirection"]
)
end
end
end
)()
end
end
Class["Complete"]:Fire()
until Sequence["Loop"] ~= true or Class["Stopped"] ~= false or Humanoid["Health"] < 1
end
)()
end
Class["Stop"] = function()
Class["Stopped"] = true
end
Class["Reset"] = function()
coroutine.wrap(
function()
wait(.02)
assert(Class["Stopped"], "Track Must Be Stopped First!")
for K, V in next, Joints do
local Part = Char[K]
if Part ~= nil then
local Attachment = Part:FindFirstChild("CFAttachment0")
if Attachment ~= nil then
Attachment["CFrame"] = V["C1"] * V["C0"]:Inverse()
end
end
end
end
)()
end
return Class
end
Humanoid.WalkSpeed = 16
local Anims = {
["Idle"] = PreloadAnimation(4211217646),
["Walk"] = PreloadAnimation(913376220),
["Run"] = PreloadAnimation(913376220),
["Jump"] = PreloadAnimation(507765000),
["Fall"] = PreloadAnimation(507767968)
}
wait(1)
local Connections = {}
Mouse = LP:GetMouse()
local Dancing, Running = false, false
local StopAll = function()
for K, V in next, Anims do
if V["Stopped"] ~= true then
V:Stop()
end
end
end
Anims["Idle"]:Play()
Dancing = false
Anims["Walk"].Stopped = true
Anims["Run"].Stopped = true
Connections["Run"] =
Humanoid["Running"]:Connect(
function(Speed)
if Speed > 6 and Dancing ~= true and Anims["Walk"].Stopped ~= false and runnning ~= true then
Anims["Idle"]:Stop()
Anims["Jump"]:Stop()
Anims["Fall"]:Stop()
Anims["Run"]:Stop()
Anims["Walk"]:Play()
elseif Speed < 5 and Dancing ~= true and Anims["Walk"].Stopped ~= true and runnning ~= true then
Anims["Walk"]:Stop()
Anims["Jump"]:Stop()
Anims["Fall"]:Stop()
Anims["Run"]:Stop()
Anims["Idle"]:Play()
elseif Speed < 5 and Dancing ~= true and Anims["Jump"].Stopped ~= true or Anims["Fall"].Stopped ~= true then
Anims["Walk"]:Stop()
Anims["Jump"]:Stop()
Anims["Fall"]:Stop()
Anims["Run"]:Stop()
Anims["Idle"]:Play()
end
end
)
Connections["Jumping"] =
Humanoid["Jumping"]:Connect(
function(active)
if active and Dancing ~= true and Anims["Jump"].Stopped ~= false then
Anims["Idle"]:Stop()
Anims["Walk"]:Stop()
Anims["Fall"]:Stop()
Anims["Run"]:Stop()
Anims["Jump"]:Play()
end
end
)
Connections["FreeFalling"] =
Humanoid["FreeFalling"]:Connect(
function(active)
if active and Dancing ~= true and Anims["Jump"].Stopped ~= false then
Anims["Idle"]:Stop()
Anims["Walk"]:Stop()
Anims["Jump"]:Stop()
Anims["Run"]:Stop()
Anims["Fall"]:Play()
end
end
)
Mouse.KeyDown:connect(
function(key)
if key:lower() == string.char(48) then --string.char(48) is just shift
if Humanoid and Anims["Walk"].Stopped ~= true then
Anims["Walk"]:Stop()
Anims["Jump"]:Stop()
Anims["Fall"]:Stop()
Anims["Idle"]:Stop()
Anims["Run"]:Play()
runnning = true
Humanoid.WalkSpeed = 26
end
end
end
)
--When button is lifted
Mouse.KeyUp:connect(
function(key)
if key:lower() == string.char(48) then --string.char(48) is just shift
if Humanoid then
runnning = false
Humanoid.WalkSpeed = 16
end
end
end
)
wait(1)
local Bind = function(Id, Key, Speed)
Speed = Speed or 1
local Animation = PreloadAnimation(Id)
table.insert(Anims, Animation)
local V =
UIS.InputBegan:Connect(
function(Input, P)
if Input.KeyCode == Enum.KeyCode[Key] and P ~= true then
if Dancing ~= true then
Dancing = true
StopAll()
wait(.1)
Animation:Play()
Animation["Speed"] = Speed
else
Dancing = false
StopAll()
wait(.1)
Anims["Idle"]:Play()
end
end
end
)
end
Bind(10507080897, "Q", 1)
wait(0.1)
Bind(10731649737, "Y", 1)
wait(0.1)
Bind(10724052169 , "E", 1)
wait(0.1)
Bind(10722615238 , "R", 1)
wait(0.1)
Bind(5971749922, "T", 1)
wait(0.1)
Bind(5349599731, "U", 2)
wait(0.1)
Bind(5641878449, "F", 1)
wait(0.1)
Bind(5943669474, "O", 1)
wait(0.1)
Bind(6024896974, "G", 1)
wait(0.1)
Bind(10881761394, "H", 1)
wait(0.1)
Bind(1574383214, "J", 1)
wait(0.1)
Bind(10881753261, "K", 1)
wait(0.1)
Bind(5349600811, "L", 1)
wait(0.1)
Bind(10881645631, "Z", 1)
wait(0.1)
Bind(10881661040, "X", 1)
wait(0.1)
Bind(10881685708, "C", 1)
wait(0.1)
Bind(5943658900, "V", 1)
wait(0.1)
Bind(10881733560, "B", 1)
wait(0.1)
Bind(10881694331, "N", 1)
wait(0.1)
Bind(5927871610, "M", 1)
Sturdy Script - Pastebin.com (2024)
References
- https://pastebin.com/rykug8WY
- https://create.roblox.com/docs/tutorials/scripting/basic-scripting/intro-to-scripting
- https://create.roblox.com/docs/tutorials/fundamentals/coding-1/creating-a-script
- https://create.roblox.com/docs/studio/script-editor
- https://thebloxscript.com/roblox-sturdy-script/
Top Articles
Strawberry Cheesecake Recipe | Best Easy Strawberry Cheesecake
150 Cheap and Easy Instant Pot Recipes
DUAL XDVD269BT INSTALLATION & OWNER'S MANUAL Pdf Download
DUAL XVM279BT INSTALLATION & OWNER'S MANUAL Pdf Download
SMSTS Course Online: Meaning, Card and Test Information 2024
SMSTS (Site Management Safety Training Scheme)
Monk3Y_Nuts
Tomb of the Mask Review
50 Shades Darker Movie 123Movies
U.S. Surgeon General Issues Advisory on the Public Health Crisis of Firearm Violence in the United States
Muskegon County, MI Jail Mugshots & Arrests Records
Muskegon County Jail, MI Inmate Search: Roster & Mugshots
Latest Posts
Milchreis (German Rice Pudding) - Recipes From Europe
Cheese Spaetzle Recipe (German Käsespätzle) | Plated Cravings
Article information
Author: Duncan Muller
Last Updated:
Views: 5627
Rating: 4.9 / 5 (79 voted)
Reviews: 86% of readers found this page helpful
Author information
Name: Duncan Muller
Birthday: 1997-01-13
Address: Apt. 505 914 Phillip Crossroad, O'Konborough, NV 62411
Phone: +8555305800947
Job: Construction Agent
Hobby: Shopping, Table tennis, Snowboarding, Rafting, Motor sports, Homebrewing, Taxidermy
Introduction: My name is Duncan Muller, I am a enchanting, good, gentle, modern, tasty, nice, elegant person who loves writing and wants to share my knowledge and understanding with you.