Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
- local Player,game,owner = owner,game
- local RealPlayer = Player
- do
- print("FE Compatibility code by Mokiros")
- local rp = RealPlayer
- script.Parent = rp.Character
- --RemoteEvent for communicating
- local Event = Instance.new("RemoteEvent")
- Event.Name = "UserInput_Event"
- --Fake event to make stuff like Mouse.KeyDown work
- local function fakeEvent()
- local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
- t.connect = t.Connect
- return t
- end
- --Creating fake input objects with fake variables
- local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
- local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
- local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
- CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
- end}
- --Merged 2 functions into one by checking amount of arguments
- CAS.UnbindAction = CAS.BindAction
- --This function will trigger the events that have been :Connect()'ed
- local function te(self,ev,...)
- local t = m[ev]
- if t and t._fakeEvent then
- for _,f in pairs(t.Functions) do
- f(...)
- end
- end
- end
- m.TrigEvent = te
- UIS.TrigEvent = te
- Event.OnServerEvent:Connect(function(plr,io)
- if plr~=rp then return end
- m.Target = io.Target
- m.Hit = io.Hit
- if not io.isMouse then
- local b = io.UserInputState == Enum.UserInputState.Begin
- if io.UserInputType == Enum.UserInputType.MouseButton1 then
- return m:TrigEvent(b and "Button1Down" or "Button1Up")
- end
- if io.UserInputType == Enum.UserInputType.MouseButton2 then
- return m:TrigEvent(b and "Button2Down" or "Button2Up")
- end
- for _,t in pairs(CAS.Actions) do
- for _,k in pairs(t.Keys) do
- if k==io.KeyCode then
- t.Function(t.Name,io.UserInputState,io)
- end
- end
- end
- m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
- UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
- end
- end)
- Event.Parent = NLS([==[
- local Player = game:GetService("Players").LocalPlayer
- local Event = script:WaitForChild("UserInput_Event")
- local Mouse = Player:GetMouse()
- local UIS = game:GetService("UserInputService")
- local input = function(io,a)
- if a then return end
- --Since InputObject is a client-side instance, we create and pass table instead
- Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
- end
- UIS.InputBegan:Connect(input)
- UIS.InputEnded:Connect(input)
- local h,t
- --Give the server mouse data 30 times every second, but only if the values changed
- --If player is not moving their mouse, client won't fire events
- while wait(1/30) do
- if h~=Mouse.Hit or t~=Mouse.Target then
- h,t=Mouse.Hit,Mouse.Target
- Event:FireServer({isMouse=true,Target=t,Hit=h})
- end
- end]==],Player.Character)
- ----Sandboxed game object that allows the usage of client-side methods and services
- --Real game object
- local _rg = game
- --Metatable for fake service
- local fsmt = {
- __index = function(self,k)
- local s = rawget(self,"_RealService")
- if s then
- return typeof(s[k])=="function"
- and function(_,...)return s[k](s,...)end or s[k]
- end
- end,
- __newindex = function(self,k,v)
- local s = rawget(self,"_RealService")
- if s then s[k]=v end
- end
- }
- local function FakeService(t,RealService)
- t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
- return setmetatable(t,fsmt)
- end
- --Fake game object
- local g = {
- GetService = function(self,s)
- return rawget(self,s) or _rg:GetService(s)
- end,
- Players = FakeService({
- LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
- },"Players"),
- UserInputService = FakeService(UIS,"UserInputService"),
- ContextActionService = FakeService(CAS,"ContextActionService"),
- RunService = FakeService({
- _btrs = {},
- RenderStepped = _rg:GetService("RunService").Heartbeat,
- BindToRenderStep = function(self,name,_,fun)
- self._btrs[name] = self.Heartbeat:Connect(fun)
- end,
- UnbindFromRenderStep = function(self,name)
- self._btrs[name]:Disconnect()
- end,
- },"RunService")
- }
- rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
- g.service = g.GetService
- FakeService(g,game)
- --Changing owner to fake player object to support owner:GetMouse()
- game,owner = g,g.Players.LocalPlayer
- end
- user = "SincereProdeadZ"
- 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
Add Comment
Please, Sign In to add comment