SHOW:
|
|
- or go back to the newest paste.
1 | - | -- Black Dragon -- |
1 | + | |
2 | - | -- Local Script -- |
2 | + | |
3 | - | -- Its cool, breathes fire and all dat -- |
3 | + | |
4 | - | -- By Immunidon (Not the script) -- |
4 | + | |
5 | v:Destroy() | |
6 | end | |
7 | end | |
8 | end) | |
9 | script.Parent = nil | |
10 | local _ = game.Players.LocalPlayer | |
11 | local dawn = false | |
12 | local up = true | |
13 | local fromup = 1 | |
14 | local fire = false | |
15 | local ice = false | |
16 | local heal = false | |
17 | local col1 = BrickColor.new("Bright pink") | |
18 | local col2 = BrickColor.new("Really black") | |
19 | repeat wait() until _ ~= nil | |
20 | local mouse = _:GetMouse() | |
21 | local BlackMagic = Instance.new("Model", workspace) | |
22 | BlackMagic.Name = "" | |
23 | length = 3 | |
24 | away = 2 | |
25 | gap = 0 | |
26 | segs = 40 | |
27 | distance = length/3 | |
28 | speed = 1 | |
29 | Wave = 0 | |
30 | part1 = Instance.new("Part") | |
31 | part1.BrickColor = BrickColor.Green() | |
32 | part1.Transparency = 0 | |
33 | part1.Locked = true | |
34 | part1.Size = Vector3.new(1,1,1) | |
35 | part1.Anchored = true | |
36 | part1.CanCollide = true | |
37 | part1.Parent = nil | |
38 | part1.Name = "Part1" | |
39 | part1.TopSurface = "Smooth" | |
40 | part1.BottomSurface = "Smooth" | |
41 | local Tail = {} | |
42 | local Tail2 = {} | |
43 | local part0 = Instance.new("Part") | |
44 | part0.BrickColor = col1 | |
45 | part0.TopSurface = 0 | |
46 | part0.BottomSurface = 0 | |
47 | part0.Locked = true | |
48 | part0.FormFactor = "Symmetric" | |
49 | part0.Size = Vector3.new(3,3,4) | |
50 | part0.Anchored = true | |
51 | part0.Shape = 1 | |
52 | part0.CanCollide = true | |
53 | part0.Parent = nil | |
54 | part0.Name = "Part0" | |
55 | local A = Instance.new("SpecialMesh") | |
56 | A.MeshType = "Brick" | |
57 | A.Parent = part0 | |
58 | A.Name = "Mesh" | |
59 | A.Scale = Vector3.new(1.1, 1.1, 1.1) | |
60 | local part1 = Instance.new("Part") | |
61 | part1.BrickColor = col2 | |
62 | part1.TopSurface = 0 | |
63 | part1.BottomSurface = 0 | |
64 | part1.Locked = true | |
65 | part1.FormFactor = "Symmetric" | |
66 | part1.Size = Vector3.new(1,2,1) | |
67 | part1.Anchored = true | |
68 | part1.Shape = 1 | |
69 | part1.CanCollide = true | |
70 | part1.Parent = nil | |
71 | part1.Name = "Part1" | |
72 | local A2 = Instance.new("SpecialMesh") | |
73 | A2.MeshId = "http://www.roblox.com/asset/?id=19326912" | |
74 | A2.Parent = part1 | |
75 | A2.Scale = Vector3.new(3,1,1) | |
76 | A2.Name = "Mesh" | |
77 | for p = 1,segs do | |
78 | Tail[p] = part0:Clone() | |
79 | Tail[p].Parent = nil | |
80 | Tail[p].Name = "Part"..p | |
81 | Tail[p].CFrame = CFrame.new(math.random(-100, 100), math.random(-100, 100), math.random(-100, 100)) | |
82 | Tail[p].Mesh.Scale = Vector3.new(1.1 - (p/1000), 1.4 - (p/1000), 1.1 - (p/1000)) | |
83 | Tail2[p] = part1:Clone() | |
84 | Tail2[p].Size = Vector3.new(1,2,1) | |
85 | Tail2[p].BrickColor = col2 | |
86 | Tail2[p].Parent = nil | |
87 | Tail2[p].Name = "Limb"..p | |
88 | Tail2[p].CFrame = CFrame.new(math.random(-100, 100), math.random(-100, 100), math.random(-100, 100)) | |
89 | end | |
90 | for z=26,28 do | |
91 | Tail[z].Mesh.Scale = Tail[z].Mesh.Scale - Vector3.new(0.1,0.1,0.1) | |
92 | Tail2[z].Mesh.Scale = Tail2[z].Mesh.Scale - Vector3.new(0.5,0.1,0.1) | |
93 | end | |
94 | for z=29,31 do | |
95 | Tail[z].Mesh.Scale = Tail[z].Mesh.Scale - Vector3.new(0.2,0.2,0.2) | |
96 | Tail2[z].Mesh.Scale = Tail2[z].Mesh.Scale - Vector3.new(1,0.2,0.2) | |
97 | end | |
98 | for z=32,34 do | |
99 | Tail[z].Mesh.Scale = Tail[z].Mesh.Scale - Vector3.new(0.3,0.3,0.3) | |
100 | Tail2[z].Mesh.Scale = Tail2[z].Mesh.Scale - Vector3.new(1.5,0.3,0.3) | |
101 | end | |
102 | for z=35,37 do | |
103 | Tail[z].Mesh.Scale = Tail[z].Mesh.Scale - Vector3.new(0.4,0.4,0.4) | |
104 | Tail2[z].Mesh.Scale = Tail2[z].Mesh.Scale - Vector3.new(2,0.4,0.4) | |
105 | end | |
106 | for z=38,40 do | |
107 | Tail[z].Mesh.Scale = Tail[z].Mesh.Scale - Vector3.new(0.5,0.5,0.5) | |
108 | Tail2[z].Mesh.Scale = Tail2[z].Mesh.Scale - Vector3.new(2.5,0.5,0.5) | |
109 | end | |
110 | limb6 = part1:clone() | |
111 | limb6.Size = Vector3.new(1,1,1) | |
112 | limb6.BrickColor = col2 | |
113 | limb6.Name = "Head4" | |
114 | limb6.Mesh.Scale = Vector3.new(3,4,4) | |
115 | limb7 = part0:clone() | |
116 | limb7.Size = Vector3.new(1,2,3) | |
117 | limb7.BrickColor = col1 | |
118 | limb7.Name = "Head3" | |
119 | limb7.Mesh.Scale = Vector3.new(1.5,1.5,1.5) | |
120 | limb8 = part0:clone() | |
121 | limb8.Size = Vector3.new(1,1,4) | |
122 | limb8.BrickColor = col2 | |
123 | limb8.Name = "horn1" | |
124 | limb8.Mesh.Scale = Vector3.new(3.5,3.5,3.5) | |
125 | limb8.Mesh.MeshType = 'FileMesh' | |
126 | limb8.Mesh.MeshId = 'http://www.roblox.com/asset/?id=20518365' | |
127 | limb9 = part0:clone() | |
128 | limb9.Size = Vector3.new(1,1,4) | |
129 | limb9.BrickColor = col2 | |
130 | limb9.Name = "horn2" | |
131 | limb9.Mesh.Scale = Vector3.new(3.5,3.5,3.5) | |
132 | limb9.Mesh.MeshType = 'FileMesh' | |
133 | limb9.Mesh.MeshId = 'http://www.roblox.com/asset/?id=20518365' | |
134 | limb10 = part0:clone() | |
135 | limb10.Size = Vector3.new(2,2,5) | |
136 | limb10.BrickColor = col1 | |
137 | limb10.Name = "Head2" | |
138 | limb10.Mesh.Scale = Vector3.new(1.5,1.5,1.5) | |
139 | limb11 = part0:clone() | |
140 | limb11.Size = Vector3.new(1,2,1) | |
141 | limb11.BrickColor = col1 | |
142 | limb11.Name = "Leg1" | |
143 | limb11.Mesh.Scale = Vector3.new(1.5,1.5,1.5) | |
144 | limb12 = part0:clone() | |
145 | limb12.Size = Vector3.new(1,2,1) | |
146 | limb12.BrickColor = col1 | |
147 | limb12.Name = "Leg2" | |
148 | limb12.Mesh.Scale = Vector3.new(1.5,1.5,1.5) | |
149 | limb13 = part0:clone() | |
150 | limb13.Size = Vector3.new(1,2,1) | |
151 | limb13.BrickColor = col1 | |
152 | limb13.Name = "Leg3" | |
153 | limb13.Mesh.Scale = Vector3.new(1.5,1.5,1.5) | |
154 | limb14 = part0:clone() | |
155 | limb14.Size = Vector3.new(1,2,1) | |
156 | limb14.BrickColor = col1 | |
157 | limb14.Name = "Leg4" | |
158 | limb14.Mesh.Scale = Vector3.new(1.5,1.5,1.5) | |
159 | limb15 = part0:clone() | |
160 | limb15.Size = Vector3.new(1,2,1) | |
161 | limb15.BrickColor = col1 | |
162 | limb15.Name = "Leg5" | |
163 | limb15.Mesh.Scale = Vector3.new(1.5,1.5,1.5) | |
164 | limb16 = part0:clone() | |
165 | limb16.Size = Vector3.new(1,2,1) | |
166 | limb16.BrickColor = col1 | |
167 | limb16.Name = "Leg6" | |
168 | limb16.Mesh.Scale = Vector3.new(1.5,1.5,1.5) | |
169 | limb17 = part0:clone() | |
170 | limb17.Size = Vector3.new(1,2,1) | |
171 | limb17.BrickColor = col1 | |
172 | limb17.Name = "Leg7" | |
173 | limb17.Mesh.Scale = Vector3.new(1.5,1.5,1.5) | |
174 | limb18 = part0:clone() | |
175 | limb18.Size = Vector3.new(1,2,1) | |
176 | limb18.BrickColor = col1 | |
177 | limb18.Name = "Leg8" | |
178 | limb18.Mesh.Scale = Vector3.new(1.5,1.5,1.5) | |
179 | limb41 = part0:clone() | |
180 | limb41.Size = Vector3.new(1,1,1) | |
181 | limb41.BrickColor = col2 | |
182 | limb41.Name = "TailEnd" | |
183 | limb41.Mesh.Scale = Vector3.new(1.5,4,1.5) | |
184 | limb41.Mesh.MeshType = "FileMesh" | |
185 | limb41.Mesh.MeshId = "http://www.roblox.com/asset/?id=25212400" | |
186 | local main = part0:Clone() | |
187 | main.Name = "Head" | |
188 | main.Size = Vector3.new(3, 4, 4) | |
189 | main.Transparency = 0 | |
190 | main.Anchored = true | |
191 | main.BrickColor = col1 | |
192 | main.TopSurface = 0 | |
193 | main.BottomSurface = 0 | |
194 | pos = Instance.new("BodyVelocity", main) | |
195 | stay = Instance.new("BodyGyro", main) | |
196 | pos.maxForce = Vector3.new(100000,100000,100000) | |
197 | stay.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
198 | stay.cframe = CFrame.new(0,0,0) | |
199 | function onButton1Down(mouse) | |
200 | local player = game.Players.LocalPlayer | |
201 | if player == nil then return end | |
202 | if player ~= nil then | |
203 | player.Parent = nil | |
204 | end | |
205 | print("trigger") | |
206 | if main.Parent ~= BlackMagic then | |
207 | main.Parent = BlackMagic | |
208 | limb6.Parent = BlackMagic | |
209 | limb7.Parent = BlackMagic | |
210 | limb8.Parent = BlackMagic | |
211 | limb9.Parent = BlackMagic | |
212 | limb10.Parent = BlackMagic | |
213 | limb11.Parent = BlackMagic | |
214 | limb12.Parent = BlackMagic | |
215 | limb13.Parent = BlackMagic | |
216 | limb14.Parent = BlackMagic | |
217 | limb15.Parent = BlackMagic | |
218 | limb16.Parent = BlackMagic | |
219 | limb17.Parent = BlackMagic | |
220 | limb18.Parent = BlackMagic | |
221 | limb41.Parent = BlackMagic | |
222 | end | |
223 | -- find the best cf | |
224 | me = BlackMagic | |
225 | workspace.CurrentCamera.CameraSubject = main | |
226 | workspace.CurrentCamera.CameraType = "Track" | |
227 | for p = 1,segs do | |
228 | Tail[p].Parent = me | |
229 | Tail2[p].Parent = me | |
230 | end | |
231 | part1 = Tail[1] | |
232 | follow = true | |
233 | while follow do | |
234 | Wave = Wave + 0.02 | |
235 | distance = length/3 | |
236 | mousehit = mouse.Hit.p | |
237 | if (main.Position - mousehit).magnitude >speed then | |
238 | main_mousehit = (main.Position - mousehit).unit*speed | |
239 | else | |
240 | main_mousehit = (main.Position - mousehit).unit*1 | |
241 | end | |
242 | start1 = main.Position-main_mousehit | |
243 | main.CFrame = CFrame.new(start1.x, start1.y, start1.z) | |
244 | p1pos = part1.Position | |
245 | start1_p1pos = (start1 - p1pos).unit | |
246 | spreadp1 = start1_p1pos*(distance+away) | |
247 | part1.CFrame = CFrame.new(start1-spreadp1, start1) | |
248 | main.CFrame=Tail[1].CFrame*CFrame.new(0,0.5,-4)*CFrame.fromEulerAnglesXYZ(-math.pi/5,0,0) | |
249 | Wave = Wave + 0.02 | |
250 | pc = main.CFrame | |
251 | starti = main.Position-(pc.lookVector*distance) | |
252 | pipos = Tail[1].Position | |
253 | starti_pipos = (starti - pipos).unit | |
254 | spreadpi = starti_pipos*(distance+gap) | |
255 | Tail[1].CFrame = CFrame.new(starti-spreadpi, starti) + (part0.CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6)/4 | |
256 | --[[ | |
257 | for i = 1,39 do | |
258 | wait() | |
259 | print("p2c = Tail["..i.."].CFrame\ | |
260 | start3 = Tail["..i.."].Position-(p2c.lookVector*distance)\ | |
261 | p3pos = Tail["..(i+1).."].Position\ | |
262 | start3_p3pos = (start3 - p3pos).unit\ | |
263 | spreadp3 = start3_p3pos*(distance+gap)\ | |
264 | Tail["..(i+1).."].CFrame = CFrame.new(start3-spreadp3, start3 - Vector3.new(0,math.sin(Wave*6+"..((i-1)/100)..")/4,0) ) + Vector3.new(0,math.sin(Wave*6+"..((i)/100)..")/4,0)\ | |
265 | " ) | |
266 | end | |
267 | ]] | |
268 | p2c = Tail[1].CFrame start3 = Tail[1].Position-(p2c.lookVector*distance) p3pos = Tail[2].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[2].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[1].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0)/4 ) + (Tail[2].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.01)/4 | |
269 | p2c = Tail[2].CFrame start3 = Tail[2].Position-(p2c.lookVector*distance) p3pos = Tail[3].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[3].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[2].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.01)/4 ) + (Tail[3].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.02)/4 | |
270 | p2c = Tail[3].CFrame start3 = Tail[3].Position-(p2c.lookVector*distance) p3pos = Tail[4].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[4].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[3].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.02)/4 ) + (Tail[4].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.03)/4 | |
271 | p2c = Tail[4].CFrame start3 = Tail[4].Position-(p2c.lookVector*distance) p3pos = Tail[5].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[5].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[4].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.03)/4 ) + (Tail[5].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.04)/4 | |
272 | p2c = Tail[5].CFrame start3 = Tail[5].Position-(p2c.lookVector*distance) p3pos = Tail[6].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[6].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[5].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.04)/4 ) + (Tail[6].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.05)/4 | |
273 | p2c = Tail[6].CFrame start3 = Tail[6].Position-(p2c.lookVector*distance) p3pos = Tail[7].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[7].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[6].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.05)/4 ) + (Tail[7].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.06)/4 | |
274 | p2c = Tail[7].CFrame start3 = Tail[7].Position-(p2c.lookVector*distance) p3pos = Tail[8].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[8].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[7].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.06)/4 ) + (Tail[8].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.07)/4 | |
275 | p2c = Tail[8].CFrame start3 = Tail[8].Position-(p2c.lookVector*distance) p3pos = Tail[9].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[9].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[8].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.07)/4 ) + (Tail[9].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.08)/4 | |
276 | p2c = Tail[9].CFrame start3 = Tail[9].Position-(p2c.lookVector*distance) p3pos = Tail[10].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[10].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[9].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.08)/4 ) + (Tail[10].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.09)/4 | |
277 | p2c = Tail[10].CFrame start3 = Tail[10].Position-(p2c.lookVector*distance) p3pos = Tail[11].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[11].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[10].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.09)/4 ) + (Tail[11].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.1)/4 | |
278 | p2c = Tail[11].CFrame start3 = Tail[11].Position-(p2c.lookVector*distance) p3pos = Tail[12].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[12].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[11].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.1)/4 ) + (Tail[12].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.11)/4 | |
279 | p2c = Tail[12].CFrame start3 = Tail[12].Position-(p2c.lookVector*distance) p3pos = Tail[13].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[13].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[12].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.11)/4 ) + (Tail[13].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.12)/4 | |
280 | p2c = Tail[13].CFrame start3 = Tail[13].Position-(p2c.lookVector*distance) p3pos = Tail[14].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[14].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[13].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.12)/4 ) + (Tail[14].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.13)/4 | |
281 | p2c = Tail[14].CFrame start3 = Tail[14].Position-(p2c.lookVector*distance) p3pos = Tail[15].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[15].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[14].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.13)/4 ) + (Tail[15].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.14)/4 | |
282 | p2c = Tail[15].CFrame start3 = Tail[15].Position-(p2c.lookVector*distance) p3pos = Tail[16].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[16].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[15].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.14)/4 ) + (Tail[16].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.15)/4 | |
283 | p2c = Tail[16].CFrame start3 = Tail[16].Position-(p2c.lookVector*distance) p3pos = Tail[17].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[17].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[16].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.15)/4 ) + (Tail[17].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.16)/4 | |
284 | p2c = Tail[17].CFrame start3 = Tail[17].Position-(p2c.lookVector*distance) p3pos = Tail[18].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[18].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[17].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.16)/4 ) + (Tail[18].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.17)/4 | |
285 | p2c = Tail[18].CFrame start3 = Tail[18].Position-(p2c.lookVector*distance) p3pos = Tail[19].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[19].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[18].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.17)/4 ) + (Tail[19].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.18)/4 | |
286 | p2c = Tail[19].CFrame start3 = Tail[19].Position-(p2c.lookVector*distance) p3pos = Tail[20].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[20].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[19].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.18)/4 ) + (Tail[20].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.19)/4 | |
287 | p2c = Tail[20].CFrame start3 = Tail[20].Position-(p2c.lookVector*distance) p3pos = Tail[21].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[21].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[20].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.19)/4 ) + (Tail[21].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.2)/4 | |
288 | p2c = Tail[21].CFrame start3 = Tail[21].Position-(p2c.lookVector*distance) p3pos = Tail[22].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[22].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[21].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.2)/4 ) + (Tail[22].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.21)/4 | |
289 | p2c = Tail[22].CFrame start3 = Tail[22].Position-(p2c.lookVector*distance) p3pos = Tail[23].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[23].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[22].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.21)/4 ) + (Tail[23].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.22)/4 | |
290 | p2c = Tail[23].CFrame start3 = Tail[23].Position-(p2c.lookVector*distance) p3pos = Tail[24].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[24].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[23].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.22)/4 ) + (Tail[24].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.23)/4 | |
291 | p2c = Tail[24].CFrame start3 = Tail[24].Position-(p2c.lookVector*distance) p3pos = Tail[25].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[25].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[24].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.23)/4 ) + (Tail[25].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.24)/4 | |
292 | p2c = Tail[25].CFrame start3 = Tail[25].Position-(p2c.lookVector*distance) p3pos = Tail[26].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[26].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[25].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.24)/4 ) + (Tail[26].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.25)/4 | |
293 | p2c = Tail[26].CFrame start3 = Tail[26].Position-(p2c.lookVector*distance) p3pos = Tail[27].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[27].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[26].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.25)/4 ) + (Tail[27].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.26)/4 | |
294 | p2c = Tail[27].CFrame start3 = Tail[27].Position-(p2c.lookVector*distance) p3pos = Tail[28].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[28].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[27].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.26)/4 ) + (Tail[28].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.27)/4 | |
295 | p2c = Tail[28].CFrame start3 = Tail[28].Position-(p2c.lookVector*distance) p3pos = Tail[29].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[29].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[28].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.27)/4 ) + (Tail[29].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.28)/4 | |
296 | p2c = Tail[29].CFrame start3 = Tail[29].Position-(p2c.lookVector*distance) p3pos = Tail[30].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[30].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[29].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.28)/4 ) + (Tail[30].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.29)/4 | |
297 | p2c = Tail[30].CFrame start3 = Tail[30].Position-(p2c.lookVector*distance) p3pos = Tail[31].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[31].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[30].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.29)/4 ) + (Tail[31].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.3)/4 | |
298 | p2c = Tail[31].CFrame start3 = Tail[31].Position-(p2c.lookVector*distance) p3pos = Tail[32].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[32].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[31].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.3)/4 ) + (Tail[32].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.31)/4 | |
299 | p2c = Tail[32].CFrame start3 = Tail[32].Position-(p2c.lookVector*distance) p3pos = Tail[33].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[33].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[32].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.31)/4 ) + (Tail[33].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.32)/4 | |
300 | p2c = Tail[33].CFrame start3 = Tail[33].Position-(p2c.lookVector*distance) p3pos = Tail[34].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[34].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[33].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.32)/4 ) + (Tail[34].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.33)/4 | |
301 | p2c = Tail[34].CFrame start3 = Tail[34].Position-(p2c.lookVector*distance) p3pos = Tail[35].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[35].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[34].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.33)/4 ) + (Tail[35].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.34)/4 | |
302 | p2c = Tail[35].CFrame start3 = Tail[35].Position-(p2c.lookVector*distance) p3pos = Tail[36].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[36].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[35].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.34)/4 ) + (Tail[36].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.35)/4 | |
303 | p2c = Tail[36].CFrame start3 = Tail[36].Position-(p2c.lookVector*distance) p3pos = Tail[37].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[37].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[36].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.35)/4 ) + (Tail[37].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.36)/4 | |
304 | p2c = Tail[37].CFrame start3 = Tail[37].Position-(p2c.lookVector*distance) p3pos = Tail[38].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[38].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[37].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.36)/4 ) + (Tail[38].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.37)/4 | |
305 | p2c = Tail[38].CFrame start3 = Tail[38].Position-(p2c.lookVector*distance) p3pos = Tail[39].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[39].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[38].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.37)/4 ) + (Tail[39].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.38)/4 | |
306 | p2c = Tail[39].CFrame start3 = Tail[39].Position-(p2c.lookVector*distance) p3pos = Tail[40].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[40].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[39].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.38)/4 ) + (Tail[40].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.39)/4 | |
307 | for i=1,40 do | |
308 | Tail2[i].CFrame = Tail[i].CFrame * CFrame.new(0,2,0) *CFrame.Angles(-3.8,-1.5,2) | |
309 | end | |
310 | limb8.CFrame = main.CFrame * CFrame.new(-1,1.5,4) | |
311 | limb9.CFrame = limb8.CFrame * CFrame.new(2,0,0) | |
312 | limb10.CFrame = main.CFrame - Vector3.new(0,2,0) | |
313 | limb10.CFrame = limb10.CFrame * CFrame.Angles(-0.25,0,0) | |
314 | limb6.CFrame = main.CFrame * CFrame.new(0,-1.5,0) | |
315 | limb6.CFrame = limb6.CFrame*CFrame.Angles(2,0,0) | |
316 | limb7.CFrame = limb10.CFrame * CFrame.new(0,1.5,-1) | |
317 | limb41.CFrame = (Tail[40].CFrame * CFrame.new(0,0,5))* CFrame.Angles(math.rad(90),0,0) | |
318 | back2 = Tail[10].CFrame | |
319 | limb11.CFrame = back2 * CFrame.new(1,-2,0) * CFrame.Angles(2.5,0,0) | |
320 | limb12.CFrame = back2 * CFrame.new(-1,-2,0) * CFrame.Angles(2.5,0,0) | |
321 | limb13.CFrame = limb11.CFrame * CFrame.new(0,1.5 ,0.8) * CFrame.Angles(-2.2,0,0) | |
322 | limb14.CFrame = limb12.CFrame * CFrame.new(0,1.5 ,0.8) * CFrame.Angles(-2.2,0,0) | |
323 | back3 = Tail[25].CFrame | |
324 | limb15.CFrame = back3 * CFrame.new(1,-2,0) * CFrame.Angles(-2.5,0,0) | |
325 | limb16.CFrame = back3 * CFrame.new(-1,-2,0) * CFrame.Angles(-2.5,0,0) | |
326 | limb17.CFrame = limb15.CFrame * CFrame.new(0,0.8 ,-0.8) * CFrame.Angles(-1.5,0,0) | |
327 | limb18.CFrame = limb16.CFrame * CFrame.new(0,0.8 ,-0.8) * CFrame.Angles(-1.5,0,0) | |
328 | wait() | |
329 | end | |
330 | end | |
331 | function onButton1Up(mouse) | |
332 | follow = false | |
333 | end | |
334 | function chat() | |
335 | ChatColor = "Green" | |
336 | if main ~= nil then | |
337 | _.Chatted:connect(function(Message)game:GetService("Chat"):Chat(workspace:findFirstChild("").Head,Message,Enum.ChatColor[ChatColor]) end) | |
338 | end | |
339 | end | |
340 | chat() | |
341 | BlackMagic.Parent = workspace | |
342 | BlackMagic:MakeJoints() | |
343 | repeat wait() until BlackMagic ~= nil | |
344 | BlackMagic.Parent = workspace | |
345 | - | function keys(key) |
345 | + | |
346 | - | key:lower() |
346 | + | |
347 | - | if key == "f" then |
347 | + | |
348 | - | if fire == false then |
348 | + | |
349 | - | fire = true |
349 | + | |
350 | limb9.Parent = BlackMagic | |
351 | - | elseif key == "g" then |
351 | + | |
352 | - | if ice == false then |
352 | + | |
353 | - | ice = true |
353 | + | |
354 | limb13.Parent = BlackMagic | |
355 | - | elseif key == "h" then |
355 | + | |
356 | - | if heal == false then |
356 | + | |
357 | - | heal = true |
357 | + | |
358 | limb17.Parent = BlackMagic | |
359 | - | elseif key == "r" then |
359 | + | |
360 | limb41.Parent = BlackMagic | |
361 | for i=1,40 do | |
362 | Tail[i].Parent = BlackMagic | |
363 | Tail2[i].Parent = BlackMagic | |
364 | end | |
365 | main.Anchored = true | |
366 | limb6.Anchored = true | |
367 | limb7.Anchored = true | |
368 | limb8.Anchored = true | |
369 | limb9.Anchored = true | |
370 | limb10.Anchored = true | |
371 | limb11.Anchored = true | |
372 | limb12.Anchored = true | |
373 | limb13.Anchored = true | |
374 | limb14.Anchored = true | |
375 | limb15.Anchored = true | |
376 | limb16.Anchored = true | |
377 | limb17.Anchored = true | |
378 | limb18.Anchored = true | |
379 | limb41.Anchored = true | |
380 | for i=1,40 do | |
381 | Tail[i].Anchored = true | |
382 | Tail2[i].Anchored = true | |
383 | end | |
384 | main.Transparency = 0 | |
385 | limb6.Transparency = 0 | |
386 | limb7.Transparency = 0 | |
387 | limb8.Transparency = 0 | |
388 | limb9.Transparency = 0 | |
389 | limb10.Transparency = 0 | |
390 | limb11.Transparency = 0 | |
391 | limb12.Transparency = 0 | |
392 | limb13.Transparency = 0 | |
393 | limb14.Transparency = 0 | |
394 | limb15.Transparency = 0 | |
395 | limb16.Transparency = 0 | |
396 | limb17.Transparency = 0 | |
397 | limb18.Transparency = 0 | |
398 | limb41.Transparency = 0 | |
399 | for i=1,40 do | |
400 | Tail[i].Transparency = 0 | |
401 | Tail2[i].Transparency = 0 | |
402 | end | |
403 | main.BrickColor = col1 | |
404 | limb6.BrickColor = col2 | |
405 | limb7.BrickColor = col1 | |
406 | limb8.BrickColor = col2 | |
407 | limb9.BrickColor = col2 | |
408 | limb10.BrickColor = col1 | |
409 | limb11.BrickColor = col1 | |
410 | limb12.BrickColor = col1 | |
411 | limb13.BrickColor = col1 | |
412 | limb14.BrickColor = col1 | |
413 | limb15.BrickColor = col1 | |
414 | limb16.BrickColor = col1 | |
415 | limb17.BrickColor = col1 | |
416 | limb18.BrickColor = col1 | |
417 | limb41.BrickColor = col2 | |
418 | for i=1,40 do | |
419 | Tail[i].BrickColor = col1 | |
420 | Tail2[i].BrickColor = col2 | |
421 | end | |
422 | BlackMagic:MakeJoints() | |
423 | chat() |