Advertisement
MarcAndrew

Untitled

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