Advertisement
Deyer

Untitled

Apr 27th, 2023
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.00 KB | None | 0 0
  1. game.Players.LocalPlayer.Character["Hat1"].Handle.Mesh:Destroy()
  2. game.Players.LocalPlayer.Character["Pal Hair"].Handle.Mesh:Destroy()
  3. game.Players.LocalPlayer.Character["Pink Hair"].Handle.Mesh:Destroy()
  4. game.Players.LocalPlayer.Character["Kate Hair"].Handle.Mesh:Destroy()
  5. game.Players.LocalPlayer.Character["LavanderHair"].Handle.Mesh:Destroy()
  6. game.Players.LocalPlayer.Character["Robloxclassicred"].Handle.Mesh:Destroy()
  7. game.Players.LocalPlayer.Character["VANS_Umbrella"].Handle.Mesh:Destroy()
  8. game.Players.LocalPlayer.Character["VANS_Umbrella"].Handle.Transparency = 0.5
  9.  
  10. game.Players.LocalPlayer.Character["Left Leg"].Transparency = 1
  11. game.Players.LocalPlayer.Character["Right Leg"].Transparency = 1
  12. game.Players.LocalPlayer.Character["Left Arm"].Transparency = 1
  13. game.Players.LocalPlayer.Character["Right Arm"].Transparency = 1
  14.  
  15.  
  16. local v3_net, v3_808 = Vector3.new(0, 25.1, 0), Vector3.new(8, 0, 8)
  17. local function getNetlessVelocity(realPartVelocity)
  18. local mag = realPartVelocity.Magnitude
  19. if mag > 1 then
  20. local unit = realPartVelocity.Unit
  21. if (unit.Y > 0.25) or (unit.Y < -0.75) then
  22. return unit * (25.1 / unit.Y)
  23. end
  24. end
  25. return v3_net + realPartVelocity * v3_808
  26. end
  27. local simradius = "shp" --simulation radius (net bypass) method
  28. --simulation radius (net bypass) method
  29. --"shp" - sethiddenproperty
  30. --"ssr" - setsimulationradius
  31. --false - disable
  32. local antiragdoll = true --removes hingeConstraints and ballSocketConstraints from your character
  33. local newanimate = true --disables the animate script and enables after reanimation
  34. local discharscripts = true --disables all localScripts parented to your character before reanimation
  35. local R15toR6 = true --tries to convert your character to r6 if its r15
  36. local hatcollide = true --makes hats cancollide (only method 0)
  37. local humState16 = true --enables collisions for limbs before the humanoid dies (using hum:ChangeState)
  38. local addtools = false --puts all tools from backpack to character and lets you hold them after reanimation
  39. local hedafterneck = false --disable aligns for head and enable after neck is removed
  40. local loadtime = game:GetService("Players").RespawnTime + 0.5 --anti respawn delay
  41. local method = 0 --reanimation method
  42. --methods:
  43. --0 - breakJoints (takes [loadtime] seconds to laod)
  44. --1 - limbs
  45. --2 - limbs + anti respawn
  46. --3 - limbs + breakJoints after [loadtime] seconds
  47. --4 - remove humanoid + breakJoints
  48. --5 - remove humanoid + limbs
  49. local alignmode = 3 --AlignPosition mode
  50. --modes:
  51. --1 - AlignPosition rigidity enabled true
  52. --2 - 2 AlignPositions rigidity enabled both true and false
  53. --3 - AlignPosition rigidity enabled false
  54.  
  55. healthHide = healthHide and ((method == 0) or (method == 2) or (method == 000)) and gp(c, "Head", "BasePart")
  56.  
  57. local lp = game:GetService("Players").LocalPlayer
  58. local rs = game:GetService("RunService")
  59. local stepped = rs.Stepped
  60. local heartbeat = rs.Heartbeat
  61. local renderstepped = rs.RenderStepped
  62. local sg = game:GetService("StarterGui")
  63. local ws = game:GetService("Workspace")
  64. local cf = CFrame.new
  65. local v3 = Vector3.new
  66. local v3_0 = v3(0, 0, 0)
  67. local inf = math.huge
  68.  
  69. local c = lp.Character
  70.  
  71. if not (c and c.Parent) then
  72. return
  73. end
  74.  
  75. c.Destroying:Connect(function()
  76. c = nil
  77. end)
  78.  
  79. local function gp(parent, name, className)
  80. if typeof(parent) == "Instance" then
  81. for i, v in pairs(parent:GetChildren()) do
  82. if (v.Name == name) and v:IsA(className) then
  83. return v
  84. end
  85. end
  86. end
  87. return nil
  88. end
  89.  
  90. local function align(Part0, Part1)
  91. Part0.CustomPhysicalProperties = PhysicalProperties.new(0.0001, 0.0001, 0.0001, 0.0001, 0.0001)
  92.  
  93. local att0 = Instance.new("Attachment", Part0)
  94. att0.Orientation = v3_0
  95. att0.Position = v3_0
  96. att0.Name = "att0_" .. Part0.Name
  97. local att1 = Instance.new("Attachment", Part1)
  98. att1.Orientation = v3_0
  99. att1.Position = v3_0
  100. att1.Name = "att1_" .. Part1.Name
  101.  
  102. if (alignmode == 1) or (alignmode == 2) then
  103. local ape = Instance.new("AlignPosition", att0)
  104. ape.ApplyAtCenterOfMass = false
  105. ape.MaxForce = inf
  106. ape.MaxVelocity = inf
  107. ape.ReactionForceEnabled = false
  108. ape.Responsiveness = 200
  109. ape.Attachment1 = att1
  110. ape.Attachment0 = att0
  111. ape.Name = "AlignPositionRtrue"
  112. ape.RigidityEnabled = true
  113. end
  114.  
  115. if (alignmode == 2) or (alignmode == 3) then
  116. local apd = Instance.new("AlignPosition", att0)
  117. apd.ApplyAtCenterOfMass = false
  118. apd.MaxForce = inf
  119. apd.MaxVelocity = inf
  120. apd.ReactionForceEnabled = false
  121. apd.Responsiveness = 200
  122. apd.Attachment1 = att1
  123. apd.Attachment0 = att0
  124. apd.Name = "AlignPositionRfalse"
  125. apd.RigidityEnabled = false
  126. end
  127.  
  128. local ao = Instance.new("AlignOrientation", att0)
  129. ao.MaxAngularVelocity = inf
  130. ao.MaxTorque = inf
  131. ao.PrimaryAxisOnly = false
  132. ao.ReactionTorqueEnabled = false
  133. ao.Responsiveness = 200
  134. ao.Attachment1 = att1
  135. ao.Attachment0 = att0
  136. ao.RigidityEnabled = false
  137.  
  138. if type(getNetlessVelocity) == "function" then
  139. local realVelocity = v3_0
  140. local steppedcon = stepped:Connect(function()
  141. Part0.Velocity = realVelocity
  142. end)
  143. local heartbeatcon = heartbeat:Connect(function()
  144. realVelocity = Part0.Velocity
  145. Part0.Velocity = getNetlessVelocity(realVelocity)
  146. end)
  147. Part0.Destroying:Connect(function()
  148. Part0 = nil
  149. steppedcon:Disconnect()
  150. heartbeatcon:Disconnect()
  151. end)
  152. end
  153. end
  154.  
  155. local function respawnrequest()
  156. local ccfr = ws.CurrentCamera.CFrame
  157. local c = lp.Character
  158. lp.Character = nil
  159. lp.Character = c
  160. local con = nil
  161. con = ws.CurrentCamera.Changed:Connect(function(prop)
  162. if (prop ~= "Parent") and (prop ~= "CFrame") then
  163. return
  164. end
  165. ws.CurrentCamera.CFrame = ccfr
  166. con:Disconnect()
  167. end)
  168. end
  169.  
  170. local destroyhum = (method == 4) or (method == 5)
  171. local breakjoints = (method == 0) or (method == 4)
  172. local antirespawn = (method == 0) or (method == 2) or (method == 3)
  173.  
  174. hatcollide = hatcollide and (method == 0)
  175.  
  176. addtools = addtools and gp(lp, "Backpack", "Backpack")
  177.  
  178. local fenv = getfenv()
  179. local shp = fenv.sethiddenproperty or fenv.set_hidden_property or fenv.set_hidden_prop or fenv.sethiddenprop
  180. 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
  181.  
  182. if shp and (simradius == "shp") then
  183. spawn(function()
  184. while c and heartbeat:Wait() do
  185. shp(lp, "SimulationRadius", inf)
  186. end
  187. end)
  188. elseif ssr and (simradius == "ssr") then
  189. spawn(function()
  190. while c and heartbeat:Wait() do
  191. ssr(inf)
  192. end
  193. end)
  194. end
  195.  
  196. antiragdoll = antiragdoll and function(v)
  197. if v:IsA("HingeConstraint") or v:IsA("BallSocketConstraint") then
  198. v.Parent = nil
  199. end
  200. end
  201.  
  202. if antiragdoll then
  203. for i, v in pairs(c:GetDescendants()) do
  204. antiragdoll(v)
  205. end
  206. c.DescendantAdded:Connect(antiragdoll)
  207. end
  208.  
  209. if antirespawn then
  210. respawnrequest()
  211. end
  212.  
  213. if method == 0 then
  214. wait(loadtime)
  215. if not c then
  216. return
  217. end
  218. end
  219.  
  220. if discharscripts then
  221. for i, v in pairs(c:GetChildren()) do
  222. if v:IsA("LocalScript") then
  223. v.Disabled = true
  224. end
  225. end
  226. elseif newanimate then
  227. local animate = gp(c, "Animate", "LocalScript")
  228. if animate and (not animate.Disabled) then
  229. animate.Disabled = true
  230. else
  231. newanimate = false
  232. end
  233. end
  234.  
  235. if addtools then
  236. for i, v in pairs(addtools:GetChildren()) do
  237. if v:IsA("Tool") then
  238. v.Parent = c
  239. end
  240. end
  241. end
  242.  
  243. pcall(function()
  244. settings().Physics.AllowSleep = false
  245. settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled
  246. end)
  247.  
  248. local OLDscripts = {}
  249.  
  250. for i, v in pairs(c:GetDescendants()) do
  251. if v.ClassName == "Script" then
  252. table.insert(OLDscripts, v)
  253. end
  254. end
  255.  
  256. local scriptNames = {}
  257.  
  258. for i, v in pairs(c:GetDescendants()) do
  259. if v:IsA("BasePart") then
  260. local newName = tostring(i)
  261. local exists = true
  262. while exists do
  263. exists = false
  264. for i, v in pairs(OLDscripts) do
  265. if v.Name == newName then
  266. exists = true
  267. end
  268. end
  269. if exists then
  270. newName = newName .. "_"
  271. end
  272. end
  273. table.insert(scriptNames, newName)
  274. Instance.new("Script", v).Name = newName
  275. end
  276. end
  277.  
  278. c.Archivable = true
  279. local hum = c:FindFirstChildOfClass("Humanoid")
  280. if hum then
  281. for i, v in pairs(hum:GetPlayingAnimationTracks()) do
  282. v:Stop()
  283. end
  284. end
  285. local cl = c:Clone()
  286. if hum and humState16 then
  287. hum:ChangeState(Enum.HumanoidStateType.Physics)
  288. if destroyhum then
  289. wait(1.6)
  290. end
  291. end
  292. if hum and hum.Parent and destroyhum then
  293. hum:Destroy()
  294. end
  295.  
  296. if not c then
  297. return
  298. end
  299.  
  300. local head = gp(c, "Head", "BasePart")
  301. local torso = gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart")
  302. local root = gp(c, "HumanoidRootPart", "BasePart")
  303. if hatcollide and c:FindFirstChildOfClass("Accessory") then
  304. local anything = c:FindFirstChildOfClass("BodyColors") or gp(c, "Health", "Script")
  305. if not (torso and root and anything) then
  306. return
  307. end
  308. torso:Destroy()
  309. root:Destroy()
  310. if shp then
  311. for i,v in pairs(c:GetChildren()) do
  312. if v:IsA("Accessory") then
  313. shp(v, "BackendAccoutrementState", 0)
  314. end
  315. end
  316. end
  317. anything:Destroy()
  318. if head then
  319. head:Destroy()
  320. end
  321. end
  322.  
  323. for i, v in pairs(cl:GetDescendants()) do
  324. if v:IsA("BasePart") then
  325. v.Transparency = 1
  326. v.Anchored = false
  327. end
  328. end
  329.  
  330. local model = Instance.new("Model", c)
  331. model.Name = model.ClassName
  332.  
  333. model.Destroying:Connect(function()
  334. model = nil
  335. end)
  336.  
  337. for i, v in pairs(c:GetChildren()) do
  338. if v ~= model then
  339. if addtools and v:IsA("Tool") then
  340. for i1, v1 in pairs(v:GetDescendants()) do
  341. if v1 and v1.Parent and v1:IsA("BasePart") then
  342. local bv = Instance.new("BodyVelocity", v1)
  343. bv.Velocity = v3_0
  344. bv.MaxForce = v3(1000, 1000, 1000)
  345. bv.P = 1250
  346. bv.Name = "bv_" .. v.Name
  347. end
  348. end
  349. end
  350. v.Parent = model
  351. end
  352. end
  353.  
  354. if breakjoints then
  355. model:BreakJoints()
  356. else
  357. if head and torso then
  358. for i, v in pairs(model:GetDescendants()) do
  359. if v:IsA("Weld") or v:IsA("Snap") or v:IsA("Glue") or v:IsA("Motor") or v:IsA("Motor6D") then
  360. local save = false
  361. if (v.Part0 == torso) and (v.Part1 == head) then
  362. save = true
  363. end
  364. if (v.Part0 == head) and (v.Part1 == torso) then
  365. save = true
  366. end
  367. if save then
  368. if hedafterneck then
  369. hedafterneck = v
  370. end
  371. else
  372. v:Destroy()
  373. end
  374. end
  375. end
  376. end
  377. if method == 3 then
  378. spawn(function()
  379. wait(loadtime)
  380. if model then
  381. model:BreakJoints()
  382. end
  383. end)
  384. end
  385. end
  386.  
  387. cl.Parent = c
  388. for i, v in pairs(cl:GetChildren()) do
  389. v.Parent = c
  390. end
  391. cl:Destroy()
  392.  
  393. local modelDes = {}
  394. for i, v in pairs(model:GetDescendants()) do
  395. if v:IsA("BasePart") then
  396. i = tostring(i)
  397. v.Destroying:Connect(function()
  398. modelDes[i] = nil
  399. end)
  400. modelDes[i] = v
  401. end
  402. end
  403. local modelcolcon = nil
  404. local function modelcolf()
  405. if model then
  406. for i, v in pairs(modelDes) do
  407. v.CanCollide = false
  408. end
  409. else
  410. modelcolcon:Disconnect()
  411. end
  412. end
  413. modelcolcon = stepped:Connect(modelcolf)
  414. modelcolf()
  415.  
  416. for i, scr in pairs(model:GetDescendants()) do
  417. if (scr.ClassName == "Script") and table.find(scriptNames, scr.Name) then
  418. local Part0 = scr.Parent
  419. if Part0:IsA("BasePart") then
  420. for i1, scr1 in pairs(c:GetDescendants()) do
  421. if (scr1.ClassName == "Script") and (scr1.Name == scr.Name) and (not scr1:IsDescendantOf(model)) then
  422. local Part1 = scr1.Parent
  423. if (Part1.ClassName == Part0.ClassName) and (Part1.Name == Part0.Name) then
  424. align(Part0, Part1)
  425. break
  426. end
  427. end
  428. end
  429. end
  430. end
  431. end
  432.  
  433. if (typeof(hedafterneck) == "Instance") and head then
  434. local aligns = {}
  435. local con = nil
  436. con = hedafterneck.Changed:Connect(function(prop)
  437. if (prop == "Parent") and not hedafterneck.Parent then
  438. con:Disconnect()
  439. for i, v in pairs(aligns) do
  440. v.Enabled = true
  441. end
  442. end
  443. end)
  444. for i, v in pairs(head:GetDescendants()) do
  445. if v:IsA("AlignPosition") or v:IsA("AlignOrientation") then
  446. i = tostring(i)
  447. aligns[i] = v
  448. v.Destroying:Connect(function()
  449. aligns[i] = nil
  450. end)
  451. v.Enabled = false
  452. end
  453. end
  454. end
  455.  
  456. for i, v in pairs(c:GetDescendants()) do
  457. if v and v.Parent then
  458. if v.ClassName == "Script" then
  459. if table.find(scriptNames, v.Name) then
  460. v:Destroy()
  461. end
  462. elseif not v:IsDescendantOf(model) then
  463. if v:IsA("Decal") then
  464. v.Transparency = 1
  465. elseif v:IsA("ForceField") then
  466. v.Visible = false
  467. elseif v:IsA("Sound") then
  468. v.Playing = false
  469. 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
  470. v.Enabled = false
  471. end
  472. end
  473. end
  474. end
  475.  
  476. if newanimate then
  477. local animate = gp(c, "Animate", "LocalScript")
  478. if animate then
  479. animate.Disabled = false
  480. end
  481. end
  482.  
  483. if addtools then
  484. for i, v in pairs(c:GetChildren()) do
  485. if v:IsA("Tool") then
  486. v.Parent = addtools
  487. end
  488. end
  489. end
  490.  
  491. local hum0 = model:FindFirstChildOfClass("Humanoid")
  492. if hum0 then
  493. hum0.Destroying:Connect(function()
  494. hum0 = nil
  495. end)
  496. end
  497.  
  498. local hum1 = c:FindFirstChildOfClass("Humanoid")
  499. if hum1 then
  500. hum1.Destroying:Connect(function()
  501. hum1 = nil
  502. end)
  503. end
  504.  
  505. if hum1 then
  506. ws.CurrentCamera.CameraSubject = hum1
  507. local camSubCon = nil
  508. local function camSubFunc()
  509. camSubCon:Disconnect()
  510. if c and hum1 then
  511. ws.CurrentCamera.CameraSubject = hum1
  512. end
  513. end
  514. camSubCon = renderstepped:Connect(camSubFunc)
  515. if hum0 then
  516. hum0.Changed:Connect(function(prop)
  517. if hum1 and (prop == "Jump") then
  518. hum1.Jump = hum0.Jump
  519. end
  520. end)
  521. else
  522. respawnrequest()
  523. end
  524. end
  525.  
  526. local rb = Instance.new("BindableEvent", c)
  527. rb.Event:Connect(function()
  528. rb:Destroy()
  529. sg:SetCore("ResetButtonCallback", true)
  530. if destroyhum then
  531. c:BreakJoints()
  532. return
  533. end
  534. if hum0 and (hum0.Health > 0) then
  535. model:BreakJoints()
  536. hum0.Health = 0
  537. end
  538. if antirespawn then
  539. respawnrequest()
  540. end
  541. end)
  542. sg:SetCore("ResetButtonCallback", rb)
  543.  
  544. spawn(function()
  545. while c do
  546. if hum0 and hum1 then
  547. hum1.Jump = hum0.Jump
  548. end
  549. wait()
  550. end
  551. sg:SetCore("ResetButtonCallback", true)
  552. end)
  553.  
  554. R15toR6 = R15toR6 and hum1 and (hum1.RigType == Enum.HumanoidRigType.R15)
  555. if R15toR6 then
  556. 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")
  557. if part then
  558. local cfr = part.CFrame
  559. local R6parts = {
  560. head = {
  561. Name = "Head",
  562. Size = v3(2, 1, 1),
  563. R15 = {
  564. Head = 0
  565. }
  566. },
  567. torso = {
  568. Name = "Torso",
  569. Size = v3(2, 2, 1),
  570. R15 = {
  571. UpperTorso = 0.2,
  572. LowerTorso = -100
  573. }
  574. },
  575. root = {
  576. Name = "HumanoidRootPart",
  577. Size = v3(2, 2, 1),
  578. R15 = {
  579. HumanoidRootPart = 0
  580. }
  581. },
  582. leftArm = {
  583. Name = "Left Arm",
  584. Size = v3(1, 2, 1),
  585. R15 = {
  586. LeftHand = -0.73,
  587. LeftLowerArm = -0.2,
  588. LeftUpperArm = 0.4
  589. }
  590. },
  591. rightArm = {
  592. Name = "Right Arm",
  593. Size = v3(1, 2, 1),
  594. R15 = {
  595. RightHand = -0.73,
  596. RightLowerArm = -0.2,
  597. RightUpperArm = 0.4
  598. }
  599. },
  600. leftLeg = {
  601. Name = "Left Leg",
  602. Size = v3(1, 2, 1),
  603. R15 = {
  604. LeftFoot = -0.73,
  605. LeftLowerLeg = -0.15,
  606. LeftUpperLeg = 0.6
  607. }
  608. },
  609. rightLeg = {
  610. Name = "Right Leg",
  611. Size = v3(1, 2, 1),
  612. R15 = {
  613. RightFoot = -0.73,
  614. RightLowerLeg = -0.15,
  615. RightUpperLeg = 0.6
  616. }
  617. }
  618. }
  619. for i, v in pairs(c:GetChildren()) do
  620. if v:IsA("BasePart") then
  621. for i1, v1 in pairs(v:GetChildren()) do
  622. if v1:IsA("Motor6D") then
  623. v1.Part0 = nil
  624. end
  625. end
  626. end
  627. end
  628. part.Archivable = true
  629. for i, v in pairs(R6parts) do
  630. local part = part:Clone()
  631. part:ClearAllChildren()
  632. part.Name = v.Name
  633. part.Size = v.Size
  634. part.CFrame = cfr
  635. part.Anchored = false
  636. part.Transparency = 1
  637. part.CanCollide = false
  638. for i1, v1 in pairs(v.R15) do
  639. local R15part = gp(c, i1, "BasePart")
  640. local att = gp(R15part, "att1_" .. i1, "Attachment")
  641. if R15part then
  642. local weld = Instance.new("Weld", R15part)
  643. weld.Name = "Weld_" .. i1
  644. weld.Part0 = part
  645. weld.Part1 = R15part
  646. weld.C0 = cf(0, v1, 0)
  647. weld.C1 = cf(0, 0, 0)
  648. R15part.Massless = true
  649. R15part.Name = "R15_" .. i1
  650. R15part.Parent = part
  651. if att then
  652. att.Parent = part
  653. att.Position = v3(0, v1, 0)
  654. end
  655. end
  656. end
  657. part.Parent = c
  658. R6parts[i] = part
  659. end
  660. local R6joints = {
  661. neck = {
  662. Parent = Scarf,
  663. Name = "Neck",
  664. Part0 = Scarf, --R6parts.torso
  665. Part1 = Scarf, --R6parts.head
  666. C0 = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
  667. C1 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  668. },
  669. rootJoint = {
  670. Parent = R6parts.root,
  671. Name = "RootJoint" ,
  672. Part0 = R6parts.root,
  673. Part1 = R6parts.torso,
  674. C0 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
  675. C1 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  676. },
  677. rightShoulder = {
  678. Parent = R6parts.torso,
  679. Name = "Right Shoulder",
  680. Part0 = R6parts.torso,
  681. Part1 = R6parts.rightArm,
  682. C0 = cf(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
  683. C1 = cf(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  684. },
  685. leftShoulder = {
  686. Parent = R6parts.torso,
  687. Name = "Left Shoulder",
  688. Part0 = R6parts.torso,
  689. Part1 = R6parts.leftArm,
  690. C0 = cf(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
  691. C1 = cf(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  692. },
  693. rightHip = {
  694. Parent = R6parts.torso,
  695. Name = "Right Hip",
  696. Part0 = R6parts.torso,
  697. Part1 = R6parts.rightLeg,
  698. C0 = cf(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
  699. C1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  700. },
  701. leftHip = {
  702. Parent = R6parts.torso,
  703. Name = "Left Hip" ,
  704. Part0 = R6parts.torso,
  705. Part1 = R6parts.leftLeg,
  706. C0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
  707. C1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  708. }
  709. }
  710. for i, v in pairs(R6joints) do
  711. local joint = Instance.new("Motor6D")
  712. for prop, val in pairs(v) do
  713. joint[prop] = val
  714. end
  715. R6joints[i] = joint
  716. end
  717. hum1.RigType = Enum.HumanoidRigType.R6
  718. hum1.HipHeight = 0
  719. end
  720. end
  721.  
  722.  
  723.  
  724. --find rig joints
  725.  
  726. local function fakemotor()
  727. return {C0=cf(), C1=cf()}
  728. end
  729.  
  730. local torso = gp(c, "Torso", "BasePart")
  731. local root = gp(c, "HumanoidRootPart", "BasePart")
  732.  
  733. local neck = gp(torso, "Neck", "Motor6D")
  734. neck = neck or fakemotor()
  735.  
  736. local rootJoint = gp(root, "RootJoint", "Motor6D")
  737. rootJoint = rootJoint or fakemotor()
  738.  
  739. local leftShoulder = gp(torso, "Left Shoulder", "Motor6D")
  740. leftShoulder = leftShoulder or fakemotor()
  741.  
  742. local rightShoulder = gp(torso, "Right Shoulder", "Motor6D")
  743. rightShoulder = rightShoulder or fakemotor()
  744.  
  745. local leftHip = gp(torso, "Left Hip", "Motor6D")
  746. leftHip = leftHip or fakemotor()
  747.  
  748. local rightHip = gp(torso, "Right Hip", "Motor6D")
  749. rightHip = rightHip or fakemotor()
  750.  
  751. --120 fps
  752.  
  753. local fps = 0
  754. local event = Instance.new("BindableEvent", c)
  755. event.Name = "120 fps"
  756. local floor = math.floor
  757. fps = 1 / fps
  758. local tf = 0
  759. local con = nil
  760. con = game:GetService("RunService").RenderStepped:Connect(function(s)
  761. if not c then
  762. con:Disconnect()
  763. return
  764. end
  765. --tf += s
  766. if tf >= fps then
  767. for i=1, floor(tf / fps) do
  768. event:Fire(c)
  769. end
  770. tf = 0
  771. end
  772. end)
  773. local event = event.Event
  774.  
  775. local hedrot = v3(0, 5, 0)
  776.  
  777. local uis = game:GetService("UserInputService")
  778. local function isPressed(key)
  779. return (not uis:GetFocusedTextBox()) and uis:IsKeyDown(Enum.KeyCode[key])
  780. end
  781.  
  782. local biggesthandle = nil
  783. for i, v in pairs(c:GetChildren()) do
  784. if v:IsA("Accessory") and v.Name == "VANS_Umbrella" then
  785. local handle = gp(v, "Handle", "BasePart")
  786. if biggesthandle then
  787. if biggesthandle.Size.Magnitude < handle.Size.Magnitude then
  788. biggesthandle = Handle
  789. end
  790. else
  791. biggesthandle = gp(v, "Handle", "BasePart")
  792. end
  793. end
  794. end
  795.  
  796. if not biggesthandle then
  797. return
  798. end
  799.  
  800. local handle1 = gp(gp(model, biggesthandle.Parent.Name, "Accessory"), "Handle", "BasePart")
  801. if not handle1 then
  802. return
  803. end
  804.  
  805. handle1.Destroying:Connect(function()
  806. handle1 = nil
  807. end)
  808. biggesthandle.Destroying:Connect(function()
  809. biggesthandle = nil
  810. end)
  811.  
  812. biggesthandle:BreakJoints()
  813. biggesthandle.Anchored = true
  814.  
  815. for i, v in pairs(handle1:GetDescendants()) do
  816. if v:IsA("AlignOrientation") then
  817. v.Enabled = false
  818. end
  819. end
  820.  
  821. local mouse = lp:GetMouse()
  822. local fling = false
  823. mouse.Button1Down:Connect(function()
  824. fling = true
  825. end)
  826. mouse.Button1Up:Connect(function()
  827. fling = false
  828. end)
  829. local function doForSignal(signal, vel)
  830. spawn(function()
  831. while signal:Wait() and c and handle1 and biggesthandle do
  832. if fling and mouse.Target then
  833. biggesthandle.Position = mouse.Hit.Position
  834. end
  835. handle1.RotVelocity = vel
  836. end
  837. end)
  838. end
  839. doForSignal(stepped, v3(100, 100, 100))
  840. doForSignal(renderstepped, v3(100, 100, 100))
  841. doForSignal(heartbeat, v3(20000, 20000, 20000)) --https://web.roblox.com/catalog/63690008/Pal-Hair
  842.  
  843. local lp = game:GetService("Players").LocalPlayer
  844. local rs = game:GetService("RunService")
  845. local stepped = rs.Stepped
  846. local heartbeat = rs.Heartbeat
  847. local renderstepped = rs.RenderStepped
  848. local sg = game:GetService("StarterGui")
  849. local ws = game:GetService("Workspace")
  850. local cf = CFrame.new
  851. local v3 = Vector3.new
  852. local v3_0 = Vector3.zero
  853. local inf = math.huge
  854.  
  855. local cplayer = lp.Character
  856.  
  857. local v3 = Vector3.new
  858.  
  859. local function gp(parent, name, className)
  860. if typeof(parent) == "Instance" then
  861. for i, v in pairs(parent:GetChildren()) do
  862. if (v.Name == name) and v:IsA(className) then
  863. return v
  864. end
  865. end
  866. end
  867. return nil
  868. end
  869.  
  870.  
  871. local hat2 = gp(cplayer, "Hat1", "Accessory")
  872. local handle2 = gp(hat2, "Handle", "BasePart")
  873. local att2 = gp(handle2, "att1_Handle", "Attachment")
  874. att2.Parent = cplayer["Torso"]
  875. att2.Position = Vector3.new(0.5, -0, 0)
  876. att2.Rotation = Vector3.new(90, 0, 0)
  877.  
  878. local hat2 = gp(cplayer, "Pal Hair", "Accessory")
  879. local handle2 = gp(hat2, "Handle", "BasePart")
  880. local att2 = gp(handle2, "att1_Handle", "Attachment")
  881. att2.Parent = cplayer["Torso"]
  882. att2.Position = Vector3.new(-0.5, -0, 0)
  883. att2.Rotation = Vector3.new(90, 0, 0)
  884.  
  885.  
  886. local hat2 = gp(cplayer, "Pink Hair", "Accessory")
  887. local handle2 = gp(hat2, "Handle", "BasePart")
  888. local att2 = gp(handle2, "att1_Handle", "Attachment")
  889. att2.Parent = cplayer["Left Arm"]
  890. att2.Position = Vector3.new(0.125, -0.125, 0)
  891. att2.Rotation = Vector3.new(90, 0, 0)
  892.  
  893. local hat2 = gp(cplayer, "Kate Hair", "Accessory")
  894. local handle2 = gp(hat2, "Handle", "BasePart")
  895. local att2 = gp(handle2, "att1_Handle", "Attachment")
  896. att2.Parent = cplayer["Right Arm"]
  897. att2.Position = Vector3.new(-0.125, -0.175, 0)
  898. att2.Rotation = Vector3.new(90, 0, 0) --LavanderHair
  899.  
  900. local hat2 = gp(cplayer, "LavanderHair", "Accessory")
  901. local handle2 = gp(hat2, "Handle", "BasePart")
  902. local att2 = gp(handle2, "att1_Handle", "Attachment")
  903. att2.Parent = cplayer["Right Leg"]
  904. att2.Position = Vector3.new(0.005, 0.175, 0) --Robloxclassicred
  905. att2.Rotation = Vector3.new(90, 0, 0)
  906.  
  907. local hat2 = gp(cplayer, "Robloxclassicred", "Accessory")
  908. local handle2 = gp(hat2, "Handle", "BasePart")
  909. local att2 = gp(handle2, "att1_Handle", "Attachment")
  910. att2.Parent = cplayer["Left Leg"]
  911. att2.Position = Vector3.new(-0.005, 0.15, 0)
  912. att2.Rotation = Vector3.new(90, 0, 0)
  913.  
  914. _G.loop = true
  915. local player = game.Players.LocalPlayer
  916. local char = player.Character
  917. local Align = function(Part0, Part1,Mesh)
  918. local Aligns = {
  919. AlignOrientation = Instance.new("AlignOrientation", Part0),
  920. AlignPosition = Instance.new("AlignPosition", Part0)
  921. }
  922.  
  923. local Attachments = {
  924. Attach0 = Instance.new("Attachment", Part0),
  925. Attach1 = Instance.new("Attachment", Part1)
  926. }
  927. local m = Part0:FindFirstChildOfClass('SpecialMesh')--This will get the first "SpecialMesh" it finds if it does not find any, then it will return nil
  928. if Mesh and m then --If Mesh is set to true and it finds a mesh it will destroy it
  929. m:Destroy()
  930. end
  931. Part0:BreakJoints()
  932. Aligns.AlignOrientation.Attachment0 = Attachments.Attach0
  933. Aligns.AlignOrientation.Attachment1 = Attachments.Attach1
  934. Aligns.AlignOrientation.Responsiveness = math.huge
  935. Aligns.AlignOrientation.RigidityEnabled = true
  936.  
  937. Aligns.AlignPosition.Attachment0 = Attachments.Attach0
  938. Aligns.AlignPosition.Attachment1 = Attachments.Attach1
  939. Aligns.AlignPosition.Responsiveness = math.huge
  940. Aligns.AlignPosition.RigidityEnabled = true
  941. Aligns.AlignPosition.MaxForce = 999999999
  942. spawn(function()
  943. while _G.loop do
  944. local mag = (Part0.Position - (Part1.CFrame*Attachments.Attach0.CFrame:Inverse()).p).magnitude--magnitude can get the distance between two cframe or position
  945. if mag >= 5 then
  946. Part0.CFrame = Part1.CFrame*Attachments.Attach0.CFrame:Inverse()
  947. end
  948. Part0.Velocity = Vector3.new(0,35,0)
  949. game['Run Service'].Heartbeat:wait()
  950. end
  951. end)
  952. return {Attachments.Attach0, Attachments, Aligns}
  953.  
  954. end
  955. local hat = Align(char['VANS_Umbrella'].Handle,char['HumanoidRootPart'],false)
  956. local cf = char['HumanoidRootPart'].CFrame*CFrame.new(0,-20,-0)*CFrame.Angles(math.rad(0),math.rad(0),0)
  957. hat[1].CFrame = cf:Inverse() * char['HumanoidRootPart'].CFrame
  958. spawn(function()
  959. char.AncestryChanged:wait()--if you respawn, it will stop the loop to avoid lag of using it over and over
  960. _G.loop = false
  961. end)
  962. for i,v in pairs (char:GetChildren()) do
  963. if v:IsA("Accessory") then
  964. v.Handle.Massless = true
  965. v.Handle.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0)
  966. end
  967. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement