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() |