View difference between Paste ID: KxzrnedG and RDAduuKR
SHOW: | | - or go back to the newest paste.
1
User = script.Parent.Parent.Character
2
if User.Name == "xVitality" then
3
-------------------------------
4
--Part Making and Positioning--
5
-------------------------------
6
TailParts = {User.Torso}
7
Welds = {}
8
for i = 2, 13 do
9
TailParts[i] = Instance.new("Part", User)
10
TailParts[i].Name = "TailPart"
11
TailParts[i].CanCollide = false
12
TailParts[i].Locked = true
13
TailParts[i].formFactor = "Symmetric"
14
TailParts[i].Size = Vector3.new(1, 1, 1)
15
TailMesh = Instance.new("BlockMesh", TailParts[i])
16
TailMesh.Name = "TailMesh"
17
TailMesh.Scale = Vector3.new(0.3 - (i - 1) / 80, 0.3 - (i - 1) / 80, 0.25)
18
Welds[i - 1] = Instance.new("Weld", TailParts[i])
19
Welds[i - 1].Part0 = TailParts[i - 1]
20
Welds[i - 1].Part1 = TailParts[i]
21
Welds[i - 1].C0 = CFrame.new(0, 0, 0.125)
22
Welds[i - 1].C1 = CFrame.new(0, 0, -0.125)
23
if i ~= 13 then
24
TailDecoration = Instance.new("Part", User)
25
TailDecoration.Name = "TailPart"
26
TailDecoration.CanCollide = false
27
TailDecoration.Locked = true
28
TailDecoration.formFactor = "Symmetric"
29
TailDecoration.Size = Vector3.new(1, 1, 1)
30-
TailDecoration.BrickColor = BrickColor.new("Light stone grey")
30+
TailDecoration.BrickColor = BrickColor.new("Earth orange")
31
TailMesh = Instance.new("BlockMesh", TailDecoration)
32
TailMesh.Name = "TailMesh"
33
TailMesh.Scale = Vector3.new(0.305 - (i - 1) / 80, 0.1, 0.255)
34
Weld = Instance.new("Weld", TailDecoration)
35
Weld.Part0 = TailParts[i]
36
Weld.Part1 = TailDecoration
37
Weld.C0 = CFrame.new(0, -0.1, 0)
38
Weld.C1 = CFrame.new(0, 0, 0)
39
for e = 1, math.random(0, 1) do
40
TailStrype = Instance.new("Part", User)
41
TailStrype.Name = "TailPart"
42
TailStrype.CanCollide = false
43
TailStrype.Locked = true
44
TailStrype.formFactor = "Symmetric"
45
TailStrype.Size = Vector3.new(1, 1, 1)
46-
TailStrype.BrickColor = BrickColor.new("Dark stone grey")
46+
TailStrype.BrickColor = BrickColor.new("Earth orange")
47
TailMesh = Instance.new("BlockMesh", TailStrype)
48
TailMesh.Name = "TailMesh"
49
TailMesh.Scale = Vector3.new(0.33 - (i - 1) / 80, 0.33 - (i - 1) / 80, 0.05)
50
Weld = Instance.new("Weld", TailStrype)
51
Weld.Part0 = TailParts[i]
52
Weld.Part1 = TailStrype
53
Weld.C0 = CFrame.new(0, 0, math.random(-10, 10) / 80)
54
Weld.C1 = CFrame.new(0, 0, 0)
55
end
56
end
57
end
58
Welds[1].C0 = CFrame.new(0, -1, 0.5)
59
--------------------
60
--Part Colloration--
61
--------------------
62
for i = 2, 12 do
63-
TailParts[i].BrickColor = BrickColor.new("Light stone grey")
63+
TailParts[i].BrickColor = BrickColor.new("Earth orange")
64
end
65-
TailParts[13].BrickColor = BrickColor.new("Dark stone grey")
65+
TailParts[13].BrickColor = BrickColor.new("Earth orange")
66
-----------------------
67
--Animation Smoothing--
68
-----------------------
69
function TailSmooth(WhereTo0, WhereTo1)
70
CR0 = CFrame.new(Welds[1].C1:toEulerAnglesXYZ()).p
71
CR1 = CFrame.new(WhereTo0).p
72
AddTo0 = (CR1 - CR0) / 20
73
CR2 = CFrame.new(Welds[7].C1:toEulerAnglesXYZ()).p
74
CR3 = CFrame.new(WhereTo1).p
75
AddTo1 = (CR3 - CR2) / 20
76
for a = 1, 10 do
77
wait(0.025)
78
for b = 1, 6 do
79
Welds[b].C1 = Welds[b].C1 * CFrame.fromEulerAnglesXYZ(AddTo0.x, AddTo0.y + User.Torso.RotVelocity.y / 128, AddTo0.z)
80
end
81
for c = 7, 12 do
82
Welds[c].C1 = Welds[c].C1 * CFrame.fromEulerAnglesXYZ(AddTo1.x, AddTo1.y + User.Torso.RotVelocity.y / 128, AddTo1.z)
83
end
84
end
85
end
86
---------------------
87
--Animation Players--
88
---------------------
89
Variation = math.random(-5, 5) / 80
90
while true do
91
wait()
92
Variation = (Variation + math.random(-5, 5) / 80) / 2
93
if User.Torso.Velocity.magnitude > 8 then
94
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))
95
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))
96
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))
97
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))
98
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))
99
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))
100
else
101
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))
102
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))
103
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))
104
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))
105
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))
106
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))
107
end
108
end
109
end