Advertisement
Deyer

Re

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