Advertisement
Deyer

Untitled

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