--MADE BY OneLegend (NOT THE SCRIPT) Thanks to TheRedAngel for letting me add. Feel free to take his model too. http://www.roblox.com/TheRedAngels-SB-Gift-NEW-SCRIPTS-item?id=88063410 --REGULAR SCRIPT: Go to line 4 and put your name where it says "YOUR NAME HERE" user = "monsterjam12clone" maincolor = "Black" -- this is the main color of your dragon secondcolor = "Bright red" -- this is the color of the details m = Instance.new("Model") m.Parent = game.Players[user].Character m.Name = "Dragon -- Neeps Soul/Gaurdian" script.Parent = m script.Name = user .. "'s Pet Dragon" FloatingOnUser = true Carrying = false torso = game.Players[user].Character:findFirstChild("Torso") they = 0 he = Instance.new("Part") he.Parent = m he.Name = "Head" he.formFactor = ("Symmetric") he.Size = Vector3.new(2,2,2) he.BrickColor = BrickColor.new(maincolor) he.Anchored = false he.CanCollide = false he.Locked = true he.TopSurface = ("Smooth") he.BottomSurface = ("Smooth") he.Position = torso.Position hem = Instance.new("SpecialMesh") hem.Parent = he hem.MeshType = ("Brick") hem.Scale = Vector3.new(1.4,1,2) tor = Instance.new("Part") tor.Parent = m tor.Name = "Torso" tor.formFactor = ("Symmetric") tor.Size = Vector3.new(2,2,2) tor.BrickColor = BrickColor.new(maincolor) tor.Anchored = false tor.CanCollide = false tor.Locked = true tor.TopSurface = ("Smooth") tor.BottomSurface = ("Smooth") tor.Position = torso.Position torm = Instance.new("SpecialMesh") torm.Parent = tor torm.MeshType = ("Brick") torm.Scale = Vector3.new(2,1.2,4.5) w = Instance.new("Motor") w.Parent = tor w.Name = "MainWeld" w.Part0 = tor w.Part1 = he w.C0 = CFrame.new(0,1,-4.5) m:MakeJoints() function Del(E, T) wait(T) E:remove() end hu = Instance.new("Humanoid") hu.Parent = m hu.Name = "Humanoid" hu.PlatformStand = true hu.MaxHealth = MathHuge coroutine.resume(coroutine.create(Del), hin, 8) floaty = Instance.new("BodyPosition") floaty.Parent = tor floaty.Name = "FloatyPosition" floaty.maxForce = Vector3.new(0,math.huge,0) floaty.position = torso.Position + Vector3.new(0,6,0) stablizer = Instance.new("BodyGyro") stablizer.Parent = tor stablizer.cframe = torso.CFrame stablizer.D = 100 -----[[Other Parts]]-------------------------------------------------- --[[Eyez]]---------------------- eye1 = Instance.new("Part") eye1.Parent = m eye1.Name = "Right Eye" eye1.formFactor = ("Symmetric") eye1.Size = Vector3.new(1,1,1) eye1.BrickColor = BrickColor.new(secondcolor) eye1.Anchored = false eye1.CanCollide = false eye1.Locked = true eye1.TopSurface = ("Smooth") eye1.BottomSurface = ("Smooth") eye1.Position = torso.Position eye1.Reflectance = 0.15 eye1m = Instance.new("BlockMesh") eye1m.Parent = eye1 eye1m.Scale = Vector3.new(0.7,0.3,0.5) eye1w = Instance.new("Motor") eye1w.Parent = he eye1w.Name = "Eye1Weld" eye1w.Part0 = he eye1w.Part1 = eye1 eye1w.C0 = CFrame.new(0.6,0.3,-1.8) * CFrame.Angles(0,0,0.4) eye2 = Instance.new("Part") eye2.Parent = m eye2.Name = "Left Eye" eye2.formFactor = ("Symmetric") eye2.Size = Vector3.new(1,1,1) eye2.BrickColor = BrickColor.new(secondcolor) eye2.Anchored = false eye2.CanCollide = false eye2.Locked = true eye2.TopSurface = ("Smooth") eye2.BottomSurface = ("Smooth") eye2.Position = torso.Position eye2.Reflectance = 0.15 eye2m = Instance.new("BlockMesh") eye2m.Parent = eye2 eye2m.Scale = Vector3.new(0.7,0.3,0.5) eye2w = Instance.new("Motor") eye2w.Parent = he eye2w.Name = "Eye2Weld" eye2w.Part0 = he eye2w.Part1 = eye2 eye2w.C0 = CFrame.new(-0.6,0.3,-1.8) * CFrame.Angles(0,0,-0.4) -------------- ----[[Head Spike]]---------------- spike = Instance.new("Part") spike.Parent = m spike.Name = "Head Spike" spike.formFactor = ("Symmetric") spike.Size = Vector3.new(1,1,1) spike.BrickColor = BrickColor.new(secondcolor) spike.Anchored = false spike.CanCollide = false spike.Locked = true spike.TopSurface = ("Smooth") spike.BottomSurface = ("Smooth") spike.Position = torso.Position spike.Reflectance = 0.15 spikem = Instance.new("SpecialMesh") spikem.Parent = spike spikem.MeshType = ("Wedge") spikem.Scale = Vector3.new(0.3,0.5,2) spikew = Instance.new("Motor") spikew.Parent = he spikew.Name = "HeadSpikeWeld" spikew.Part0 = he spikew.Part1 = spike spikew.C0 = CFrame.new(0,1.25,0) * CFrame.Angles(0,0,0) ------------- ----[[Torso Line]]---------------------------------- line = Instance.new("Part") line.Parent = m line.Name = "Torso Line" line.formFactor = ("Symmetric") line.Size = Vector3.new(1,1,1) line.BrickColor = BrickColor.new(secondcolor) line.Anchored = false line.CanCollide = false line.Locked = true line.TopSurface = ("Smooth") line.BottomSurface = ("Smooth") line.Position = torso.Position line.Reflectance = 0.15 linem = Instance.new("SpecialMesh") linem.Parent = line linem.MeshType = ("Head") linem.Scale = Vector3.new(1.2,7.42,1.2) linew = Instance.new("Motor") linew.Parent = tor linew.Name = "TorsoLineWeld" linew.Part0 = tor linew.Part1 = line linew.C0 = CFrame.new(0,0.635,0.8) * CFrame.Angles(math.pi/2,0,0) ----------------- --[[Right Wing]]------------------- posx = 0 posy = 0 posz = 0 scalex = 0 scalez = 0 wm = Instance.new("Model") wm.Parent = m wm.Name = "Right Wing" for i = 1, 6 do wing = Instance.new("Part") wing.Parent = wm if i == 1 then wing.Name = "WingMain" else wing.Name = "WingPart" end wing.formFactor = ("Symmetric") wing.Size = Vector3.new(1,1,1) wing.BrickColor = BrickColor.new(maincolor) wing.Anchored = false wing.CanCollide = false wing.Locked = true wing.TopSurface = ("Smooth") wing.BottomSurface = ("Smooth") wing.Position = torso.Position wingm = Instance.new("SpecialMesh") wingm.Parent = wing wingm.MeshType = ("Brick") wingm.Scale = Vector3.new(2+scalex,1.2,3.5+scalez) if i == 1 then wingw = Instance.new("Motor") wingw.Parent = tor wingw.Name = "RightWingWeld" wingw.MaxVelocity = 0.02 wingw.Part0 = tor wingw.Part1 = wing wingw.C0 = CFrame.new(2.2,0.2,-1) * CFrame.Angles(0,0,0.4) else wingw = Instance.new("Motor") wingw.Parent = wm:findFirstChild("WingMain") wingw.Name = "WingWeld" wingw.Part0 = wingw.Parent wingw.Part1 = wing wingw.C0 = CFrame.new(posx,posy,posz) end if i == 6 then wspike = Instance.new("Part") wspike.Parent = wm wspike.Name = "RightWingSpike" wspike.formFactor = ("Symmetric") wspike.Size = Vector3.new(1,1,1) wspike.BrickColor = BrickColor.new(maincolor) wspike.Anchored = false wspike.CanCollide = false wspike.Locked = true wspike.TopSurface = ("Smooth") wspike.BottomSurface = ("Smooth") wspike.Position = torso.Position wspike.Reflectance = 0 wspikem = Instance.new("SpecialMesh") wspikem.Parent = wspike wspikem.MeshType = ("Wedge") wspikem.Scale = Vector3.new(0.7+scalex,0.8,1.2) wspikew = Instance.new("Motor") wspikew.Parent = wing wspikew.Name = "WingSpikeWeld" wspikew.Part0 = wing wspikew.Part1 = wspike wspikew.C0 = CFrame.new(0,0,wingm.Scale.z/1.7) * CFrame.Angles(0,math.pi,0) end posz = posz + i/3 if i ~= 5 then posx = posx + 0.8 else posx = posx + 0.5 end scalex = scalex - 0.25 if i ~= 5 then scalez = scalez + 0.4 else scalez = scalez + 1.2 end end ------------- --[[Left Wing]]------------------- posx = 0 posy = 0 posz = 0 scalex = 0 scalez = 0 wm2 = Instance.new("Model") wm2.Parent = m wm2.Name = "Left Wing" for i = 1, 6 do wing = Instance.new("Part") wing.Parent = wm2 if i == 1 then wing.Name = "WingMain" else wing.Name = "WingPart" end wing.formFactor = ("Symmetric") wing.Size = Vector3.new(1,1,1) wing.BrickColor = BrickColor.new(maincolor) wing.Anchored = false wing.CanCollide = false wing.Locked = true wing.TopSurface = ("Smooth") wing.BottomSurface = ("Smooth") wing.Position = torso.Position wingm = Instance.new("SpecialMesh") wingm.Parent = wing wingm.MeshType = ("Brick") wingm.Scale = Vector3.new(2+scalex,1.2,3.5+scalez) if i == 1 then wingw = Instance.new("Motor") wingw.Parent = tor wingw.Name = "LeftWingWeld" wingw.MaxVelocity = 0.02 wingw.Part0 = tor wingw.Part1 = wing wingw.C0 = CFrame.new(-2.2,0.2,-1) * CFrame.Angles(0,0,-0.4) else wingw = Instance.new("Motor") wingw.Parent = wm2:findFirstChild("WingMain") wingw.Name = "WingWeld" wingw.Part0 = wingw.Parent wingw.Part1 = wing wingw.C0 = CFrame.new(posx,posy,posz) end if i == 6 then wspike = Instance.new("Part") wspike.Parent = wm2 wspike.Name = "LeftWingSpike" wspike.formFactor = ("Symmetric") wspike.Size = Vector3.new(1,1,1) wspike.BrickColor = BrickColor.new(maincolor) wspike.Anchored = false wspike.CanCollide = false wspike.Locked = true wspike.TopSurface = ("Smooth") wspike.BottomSurface = ("Smooth") wspike.Position = torso.Position wspike.Reflectance = 0 wspikem = Instance.new("SpecialMesh") wspikem.Parent = wspike wspikem.MeshType = ("Wedge") wspikem.Scale = Vector3.new(0.7+scalex,0.8,1.2) wspikew = Instance.new("Motor") wspikew.Parent = wing wspikew.Name = "WingSpikeWeld" wspikew.Part0 = wing wspikew.Part1 = wspike wspikew.C0 = CFrame.new(0,0,wingm.Scale.z/1.7) * CFrame.Angles(0,math.pi,0) end posz = posz + i/3 if i ~= 5 then posx = posx - 0.8 else posx = posx - 0.5 end scalex = scalex - 0.25 if i ~= 5 then scalez = scalez + 0.4 else scalez = scalez + 1.2 end end ----------------- --[[Tail]]-------------------------------- posx = 0 posy = 0 posz = 0 scalex = 0 scalez = 0 anglezor = 0 tm = Instance.new("Model") tm.Parent = m tm.Name = "Tail" for i = 1, 6 do tail = Instance.new("Part") tail.Parent = tm if i == 1 then tail.Name = "TailMain" else tail.Name = "TailPart" end tail.formFactor = ("Symmetric") tail.Size = Vector3.new(1,1,1) tail.BrickColor = BrickColor.new(maincolor) tail.Anchored = false tail.CanCollide = false tail.Locked = true tail.TopSurface = ("Smooth") tail.BottomSurface = ("Smooth") tail.Position = torso.Position tailm = Instance.new("SpecialMesh") tailm.Parent = tail tailm.MeshType = ("Brick") tailm.Scale = Vector3.new(2.2+scalex,1.2,1.7+scalez) if i == 1 then tailw = Instance.new("Motor") tailw.Parent = tor tailw.Name = "TailWeld" tailw.MaxVelocity = 0.01 tailw.Part0 = tor tailw.Part1 = tail tailw.C0 = CFrame.new(0,0.3,5) * CFrame.Angles(-0.3,0,0) else tailw = Instance.new("Motor") tailw.Parent = tm:findFirstChild("TailMain") tailw.Name = "TailWeld" tailw.Part0 = tailw.Parent tailw.Part1 = tail tailw.C0 = CFrame.new(posx,posy,posz) * CFrame.Angles(-anglezor,0,0) end if i == 6 then tspike = Instance.new("Part") tspike.Parent = tm tspike.Name = "TailSpike" tspike.formFactor = ("Symmetric") tspike.Size = Vector3.new(1,1,1) tspike.BrickColor = BrickColor.new(maincolor) tspike.Anchored = false tspike.CanCollide = false tspike.Locked = true tspike.TopSurface = ("Smooth") tspike.BottomSurface = ("Smooth") tspike.Position = torso.Position tspike.Reflectance = 0 tspikem = Instance.new("SpecialMesh") tspikem.Parent = tspike tspikem.MeshType = ("Wedge") tspikem.Scale = Vector3.new(2+scalex,1,1.5+scalez) tspikew = Instance.new("Motor") tspikew.Parent = tail tspikew.Name = "TailSpikeWeld" tspikew.Part0 = tail tspikew.Part1 = tspike tspikew.C0 = CFrame.new(0,0,tailm.Scale.z/1.2) * CFrame.Angles(0,math.pi,0) end if i < 3 then posy = posy + 0.13 posz = posz + 1 elseif i > 6 then posy = posy + 0.1 posz = posz + 1 else posy = posy + 0.4 posz = posz + 0.8 end anglezor = anglezor + 0.12 end rightwing = tor:findFirstChild("RightWingWeld") leftwing = tor:findFirstChild("LeftWingWeld") tail = tor:findFirstChild("TailWeld") m:MakeJoints() vip = game.Players[user] function Chat(msg) if string.sub(msg, 1, 8) == "Dragon, " then if string.find(msg, "remove") then if string.find(msg, "your") then if string.find(msg, "self") then if torso:findFirstChild("Floaty") ~= nil then torso.Floaty:remove() end m:remove() end end end if string.find(msg, "kill") then c = game.Players:GetChildren() for blawg = 1, #c do if string.find(msg, c[blawg].Name) then c[blawg].Character:BreakJoints() else wait() end end end if string.find(msg, "grip staff") then a = game:GetService("InsertService"):LoadAsset(33495147) a.Parent = game.Workspace a:MoveTo(game.Workspace[vip.Name].Torso.Position) end if string.find(msg, "insert") then g = game:GetService("InsertService"):LoadAsset(23391377) g.Parent = game.Workspace g:MoveTo(game.Workspace[vip.Name].Torso.Position) end if string.find(msg, "carry") then if tor:findFirstChild("Floaty") ~= nil then wait() else FloatingOnUser = false Carrying = true floaty2 = floaty:Clone() floaty2.Parent = torso floaty2.Name = "Floaty" torso.CFrame = torso.CFrame + Vector3.new(0,7,0) while Carrying == true do leftwing.DesiredAngle = 0.9 rightwing.DesiredAngle = -0.9 for i = 1, 22 do if Carrying == true then floaty2.position = torso.Position + Vector3.new(0,1.4,0) tor.CFrame = torso.CFrame + Vector3.new(0,-3,0) floaty.position = torso.Position + Vector3.new(0,-3,0) wait(0.05) end end leftwing.DesiredAngle = -0.3 rightwing.DesiredAngle = 0.3 for iii = 1, 22 do if Carrying == true then floaty2.position = torso.Position + Vector3.new(0,-1.4,0) tor.CFrame = torso.CFrame + Vector3.new(0,-5,0) floaty.position = torso.Position + Vector3.new(0,-5,0) wait(0.05) end end end end end if string.find(msg, "drop") then if torso:findFirstChild("Floaty") ~= nil then torso:findFirstChild("Floaty"):remove() Carrying = false FloatingOnUser = true torso.CFrame = torso.CFrame - Vector3.new(0,5,0) while FloatingOnUser == true do leftwing.DesiredAngle = 0.9 rightwing.DesiredAngle = -0.9 for i = 1, 22 do if FloatingOnUser == true then tor.CFrame = torso.CFrame + Vector3.new(0,6+they,0) floaty.position = torso.Position + Vector3.new(0,6+they,0) they = they + 0.1 wait(0.05) end end leftwing.DesiredAngle = -0.3 rightwing.DesiredAngle = 0.3 for iii = 1, 22 do if FloatingOnUser == true then tor.CFrame = torso.CFrame + Vector3.new(0,6+they,0) floaty.position = torso.Position + Vector3.new(0,6+they,0) they = they - 0.1 wait(0.05) end end end end end if string.find(msg, "stabilize") then floaty.maxForce = Vector3.new(math.huge,math.huge,math.huge) wait(1.2) floaty.maxForce = Vector3.new(0,math.huge,0) end if string.find(msg, "tornado") then local NowPos = Vector3.new(0,0,0) local M = Instance.new("Model") local hight = 10 local bricksincolom = 3 local randomnes = 5 M.Parent = game.Workspace M.Name = "Tornado" function touch(hit,block) if hit:FindFirstChild("BodyPosition") then return end hit:BreakJoints() bp = Instance.new("BodyPosition") bp.Parent = hit pow = hit:GetMass()*999 bp.maxForce = Vector3.new(pow,pow,pow) while true do bp.position = block.Position wait(0.1) end end for i = 1,hight do for x = 1,bricksincolom do p = Instance.new("Part") p.Parent = M p.Size = Vector3.new(10,10,10) p.CanCollide = false p.Transparency = 0.4 p.Name = i p.BrickColor = BrickColor.new("White") p.TopSurface = "Smooth" p.BottomSurface = "Smooth" bp = Instance.new("BodyPosition") bp.Parent = p pow = p:GetMass()*999 bp.maxForce = Vector3.new(pow,pow,pow) p.Touched:connect(function(hit) touch(hit,p) end) end end coroutine.resume(coroutine.create(function() while true do NowPos = NowPos+Vector3.new(math.random(-randomnes,randomnes),0,math.random(-randomnes,randomnes)) for i,v in pairs(M:GetChildren()) do v:BreakJoints() n = tonumber(v.Name)*randomnes v.BodyPosition.position = NowPos+Vector3.new(math.random(-n,n),tonumber(v.Name)*v.Size.y,math.random(-n,n)) wait(0.1) end wait(0.1) end end)) end end end vip.Chatted:connect(Chat) while FloatingOnUser == true do leftwing.DesiredAngle = 0.9 rightwing.DesiredAngle = -0.9 for i = 1, 22 do if FloatingOnUser == true then tor.CFrame = torso.CFrame + Vector3.new(0,6+they,0) floaty.position = torso.Position + Vector3.new(0,6+they,0) they = they + 0.1 wait(0.05) end end leftwing.DesiredAngle = -0.3 rightwing.DesiredAngle = 0.3 for iii = 1, 22 do if FloatingOnUser == true then tor.CFrame = torso.CFrame + Vector3.new(0,6+they,0) floaty.position = torso.Position + Vector3.new(0,6+they,0) they = they - 0.1 wait(0.05) end end end