Advertisement
MarcAndrew

Untitled

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