Advertisement
HollowSkittles

tail

Apr 27th, 2016
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local r = 1
  2. User = script.Parent.Parent.Hollowficationed
  3. User.Name = "Hollowficationed"
  4. -------------------------------
  5. --Part Making and Positioning--
  6. -------------------------------
  7. TailParts = {User.Torso}
  8. Welds = {}
  9. for i = 2, 13 do
  10. TailParts[i] = Instance.new("Part", User)
  11. TailParts[i].Name = "TailPart"
  12. TailParts[i].CanCollide = false
  13. TailParts[i].Locked = true
  14. TailParts[i].formFactor = "Symmetric"
  15. TailParts[i].Size = Vector3.new(1, 1, 1)
  16. TailMesh = Instance.new("BlockMesh", TailParts[i])
  17. TailMesh.Name = "TailMesh"
  18. TailMesh.Scale = Vector3.new(0.3 - (i - 1) / 80, 0.3 - (i - 1) / 80, 0.25)
  19. Welds[i - 1] = Instance.new("Weld", TailParts[i])
  20. Welds[i - 1].Part0 = TailParts[i - 1]
  21. Welds[i - 1].Part1 = TailParts[i]
  22. Welds[i - 1].C0 = CFrame.new(0, 0, 0.125)
  23. Welds[i - 1].C1 = CFrame.new(0, 0, -0.125)
  24. if i ~= 13 then
  25. TailDecoration = Instance.new("Part", User)
  26. TailDecoration.Name = "TailPart"
  27. TailDecoration.CanCollide = false
  28. TailDecoration.Locked = true
  29. TailDecoration.formFactor = "Symmetric"
  30. TailDecoration.Size = Vector3.new(1, 1, 1)
  31. TailDecoration.BrickColor = BrickColor.new("Crimson")
  32. TailMesh = Instance.new("BlockMesh", TailDecoration)
  33. TailMesh.Name = "TailMesh"
  34. TailMesh.Scale = Vector3.new(0.305 - (i - 1) / 80, 0.1, 0.255)
  35. Weld = Instance.new("Weld", TailDecoration)
  36. Weld.Part0 = TailParts[i]
  37. Weld.Part1 = TailDecoration
  38. Weld.C0 = CFrame.new(0, -0.1, 0)
  39. Weld.C1 = CFrame.new(0, 0, 0)
  40. for e = 1, math.random(0, 1) do
  41. TailStrype = Instance.new("Part", User)
  42. TailStrype.Name = "TailPart"
  43. TailStrype.CanCollide = false
  44. TailStrype.Locked = true
  45. TailStrype.formFactor = "Symmetric"
  46. TailStrype.Size = Vector3.new(1, 1, 1)
  47. TailStrype.BrickColor = BrickColor.new("Eggplant")
  48. TailMesh = Instance.new("BlockMesh", TailStrype)
  49. TailMesh.Name = "TailMesh"
  50. TailMesh.Scale = Vector3.new(0.33 - (i - 1) / 80, 0.33 - (i - 1) / 80, 0.05)
  51. Weld = Instance.new("Weld", TailStrype)
  52. Weld.Part0 = TailParts[i]
  53. Weld.Part1 = TailStrype
  54. Weld.C0 = CFrame.new(0, 0, math.random(-10, 10) / 80)
  55. Weld.C1 = CFrame.new(0, 0, 0)
  56. end
  57. end
  58. end
  59. Welds[1].C0 = CFrame.new(0, -1, 0.5)
  60. --------------------
  61. --Part Colloration--
  62. --------------------
  63. for i = 2, 12 do
  64.  
  65. TailParts[i].BrickColor = BrickColor.new("Really black")
  66. end
  67. TailParts[13].BrickColor = BrickColor.new("Really black")
  68. -----------------------
  69. --Animation Smoothing--
  70. -----------------------
  71. function TailSmooth(WhereTo0, WhereTo1)
  72. CR0 = CFrame.new(Welds[1].C1:toEulerAnglesXYZ()).p
  73. CR1 = CFrame.new(WhereTo0).p
  74. AddTo0 = (CR1 - CR0) / 20
  75. CR2 = CFrame.new(Welds[7].C1:toEulerAnglesXYZ()).p
  76. CR3 = CFrame.new(WhereTo1).p
  77. AddTo1 = (CR3 - CR2) / 20
  78. for a = 1, 10 do
  79. wait(0.025)
  80. for b = 1, 6 do
  81. Welds[b].C1 = Welds[b].C1 * CFrame.fromEulerAnglesXYZ(AddTo0.x, AddTo0.y + User.Torso.RotVelocity.y / 128, AddTo0.z)
  82. end
  83. for c = 7, 12 do
  84. Welds[c].C1 = Welds[c].C1 * CFrame.fromEulerAnglesXYZ(AddTo1.x, AddTo1.y + User.Torso.RotVelocity.y / 128, AddTo1.z)
  85. end
  86. end
  87. end
  88. ---------------------
  89. --Animation Players--
  90. ---------------------
  91. Variation = math.random(-5, 5) / 80
  92. while true do
  93. wait()
  94. Variation = (Variation + math.random(-5, 5) / 80) / 2
  95. User.Torso.Velocity.magnitude > 8 then
  96. TailSmooth(Vector3.new(-math.pi / 12 + Variation, math.pi / 9, 0), Vector3.new(math.pi / 9 + math.random(-5, 5) / 20, -math.pi / 6, 0))
  97. TailSmooth(Vector3.new(-math.pi / 12 + Variation, math.pi / 6, 0), Vector3.new(math.pi / 9 + math.random(-5, 5) / 20, -math.pi / 12, 0))
  98. TailSmooth(Vector3.new(-math.pi / 12 + Variation, math.pi / 9, 0), Vector3.new(math.pi / 9 + math.random(-5, 5) / 20, math.pi / 12, 0))
  99. TailSmooth(Vector3.new(-math.pi / 12 + Variation, -math.pi / 9, 0), Vector3.new(math.pi / 9 + math.random(-5, 5) / 20, math.pi / 6, 0))
  100. TailSmooth(Vector3.new(-math.pi / 12 + Variation, -math.pi / 6, 0), Vector3.new(math.pi / 9 + math.random(-5, 5) / 20, math.pi / 12, 0))
  101. TailSmooth(Vector3.new(-math.pi / 12 + Variation, -math.pi / 9, 0), Vector3.new(math.pi / 9 + math.random(-5, 5) / 20, -math.pi / 12, 0))
  102. else
  103. TailSmooth(Vector3.new(-math.pi / 24 + Variation, math.pi / 18, 0), Vector3.new(math.pi / 9 + math.random(-5, 5) / 20, -math.pi / 12, 0))
  104. TailSmooth(Vector3.new(-math.pi / 24 + Variation, math.pi / 12, 0), Vector3.new(math.pi / 9 + math.random(-5, 5) / 20, -math.pi / 24, 0))
  105. TailSmooth(Vector3.new(-math.pi / 24 + Variation, math.pi / 18, 0), Vector3.new(math.pi / 9 + math.random(-5, 5) / 20, math.pi / 24, 0))
  106. TailSmooth(Vector3.new(-math.pi / 24 + Variation, -math.pi / 18, 0), Vector3.new(math.pi / 9 + math.random(-5, 5) / 20, math.pi / 12, 0))
  107. TailSmooth(Vector3.new(-math.pi / 24 + Variation, -math.pi / 12, 0), Vector3.new(math.pi / 9 + math.random(-5, 5) / 20, math.pi / 24, 0))
  108. TailSmooth(Vector3.new(-math.pi / 24 + Variation, -math.pi / 18, 0), Vector3.new(math.pi / 9 + math.random(-5, 5) / 20, -math.pi / 24, 0))
  109. until r == 9
  110. end
  111. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement