Advertisement
Deyer

Mini Torso

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