wait(.0000000000000000000001) local Player = game:GetService("Players").LocalPlayer local Character = Player.Character local Head = Character.Head local Torso = Character.Torso local Right_Arm = Character["Right Arm"] local Right_Leg = Character["Right Leg"] local Left_Arm = Character["Left Arm"] local Left_Leg = Character["Left Leg"] local Humanoid = Character.Humanoid local Animation = "Idle" local Mouse = Player:GetMouse() local LeftShoulder = Torso["Left Shoulder"] local Left_Hip = Torso["Left Hip"] local RightShoulder = Torso["Right Shoulder"] local Right_Hip = Torso["Right Hip"] local Root = Character.HumanoidRootPart local RootJoint = Root.RootJoint local CanDamage = false local Attacking = false local CanAttack = true local Anim = "Idle" local Domination = 0 local Invert = false local Invert2 = false local Dominating = false local MaxDomination = 500 local Effects = {} local HoldingClick = false local WarningCylinder = Instance.new("Part") WarningCylinder.Name = "Warn" WarningCylinder.BrickColor = BrickColor.new("Medium blue") WarningCylinder.Size = Vector3.new(0.2,25,25) WarningCylinder.Rotation = Vector3.new(0, 0, 90) WarningCylinder.Anchored = true WarningCylinder.CanCollide = false WarningCylinder.Transparency = 0.8 WarningCylinder.Shape = "Cylinder" WarningCylinder.Material = "Neon" local WarningCylinderD = Instance.new("Part") WarningCylinderD.Name = "Warn" WarningCylinderD.BrickColor = BrickColor.new("Navy blue") WarningCylinderD.Size = Vector3.new(0.2,20,20) WarningCylinderD.Rotation = Vector3.new(0, 0, 90) WarningCylinderD.Anchored = true WarningCylinderD.CanCollide = false WarningCylinderD.Transparency = 0.5 WarningCylinderD.Shape = "Cylinder" WarningCylinderD.Material = "Neon" local Services = { SoundService = game:GetService("SoundService"); Players = game:GetService("Players"); Debris = game:GetService("Debris"); Workspace = game:GetService("Workspace"); Lighting = game:GetService("Lighting"); HttpService = game:GetService("HttpService"); InsertService = game:GetService("InsertService"); } cf = CFrame.new local RootCFrame = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14) Necko = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) Necko2 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) Right_Hip_C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) Left_Hip_C1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) Left_Shoulder = Instance.new("Weld", Torso) Left_Shoulder.Part0 = Torso Left_Shoulder.Part1 = Left_Arm Left_Shoulder.Name = "Left Shoulder" Left_Shoulder.C0 = CFrame.new(-1.5,0,0) Right_Shoulder = Instance.new("Weld", Torso) Right_Shoulder.Part0 = Torso Right_Shoulder.Part1 = Right_Arm Right_Shoulder.Name = "Right Shoulder" Right_Shoulder.C0 = CFrame.new(1.5,0,0) LeftShoulder.Parent = nil RightShoulder.Parent = nil Animator = Humanoid.Animator Animate = Character.Animate Animator.Parent = nil Animate.Parent = nil local ManaBarGUI = Instance.new("ScreenGui", Player.PlayerGui) ManaBarGUI.Name = "ManaBarGUI" local ManaBarP1 = Instance.new("Frame", ManaBarGUI) ManaBarP1.Name = "ManaBarPart1" ManaBarP1.Size = UDim2.new(0,300,0,20) ManaBarP1.Position = UDim2.new(0,350,0.1,0) ManaBarP1.BackgroundColor3 = BrickColor.Black().Color local ManaBarP2 = Instance.new("Frame", ManaBarP1) ManaBarP2.Name = "ManaBarPart2" ManaBarP2.Size = UDim2.new(0,300,0,20) ManaBarP2.Position = UDim2.new(0,0,0,0) ManaBarP2.BackgroundColor3 = BrickColor.new("Bright blue").Color local ManaBarText = Instance.new("TextLabel", ManaBarP1) ManaBarText.Name = "ManaBarText" ManaBarText.Size = UDim2.new(0,300,0,20) ManaBarText.Position = UDim2.new(0,0,-1.5,0) ManaBarText.TextScaled = true ManaBarText.Text = "<{[ Domination ]}> 0 <{[ Domination ]}>" ManaBarText.BackgroundTransparency = 1 ManaBarText.TextStrokeTransparency = 0 ManaBarText.TextStrokeColor3 = Color3.new(1,1,1) ManaBarText.TextColor3 = Color3.new(0,0,0) ManaBarText.Font = "Garamond" local DominatorGui = Instance.new("BillboardGui", Head) DominatorGui.ExtentsOffset = Vector3.new(0,5,0) DominatorGui.Adornee = Head DominatorGui.AlwaysOnTop = true DominatorGui.Enabled = true DominatorGui.Size = UDim2.new(0, 200,0, 50) local DominatorText = Instance.new("TextLabel", DominatorGui) DominatorText.BackgroundTransparency = 1 DominatorText.Font = "Code" DominatorText.Size = UDim2.new(0, 200,0, 50) DominatorText.TextStrokeColor3 = BrickColor.new("Medium blue").Color DominatorText.TextStrokeTransparency = 0 DominatorText.TextColor3 = Color3.new(1,1,1) DominatorText.TextScaled = true DominatorText.Text = "Dominator" --------[[ Mesh Ids ]]-------- -- Eh... This is just my Stock of Meshes SpikeMeshId = 1033714 SpikeBallId = 9982590 StarMeshId = 45428961 CrystalMeshId = 9756362 --[[ Essential Functions ]]-- function NoOutlines(Part) Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10 end local CreatePart = function(Parent, Name, Color, Size, Material, Transparency, Shape) local Part = Instance.new("Part", Parent) Part.Name = Name Part.BrickColor = BrickColor.new(Color) Part.Size = Size Part.Material = Material Part.Transparency = Transparency Part.Shape = Shape Part.CanCollide = false NoOutlines(Part) return Part end local CreateMesh = function(Parent, Scale, Shape) local Mesh = Instance.new("BlockMesh", Parent) Mesh.Scale = Scale return Mesh end local CreateWedge = function(Parent, Name, Color, Size, Material, Transparency) local WedgePart = Instance.new("WedgePart", Parent) WedgePart.Name = Name WedgePart.BrickColor = BrickColor.new(Color) WedgePart.Size = Size WedgePart.Material = Material WedgePart.Transparency = Transparency WedgePart.CanCollide = false NoOutlines(WedgePart) return WedgePart end local CreateWeld = function(Parent, Cframe, P1 , P0) local Weld = Instance.new("Weld", Parent) Weld.Part0 = P0 Weld.Part1 = P1 Weld.Name = P0.Name .. "To" .. P1.Name Weld.C0 = Cframe return Weld end local CreateVelocity = function(Parent,Velocity,Force) local BodyVelocity = Instance.new("BodyVelocity", Parent) BodyVelocity.Velocity = Velocity BodyVelocity.MaxForce = Force return BodyVelocity end local CreateCrystal = function(Parent, Name, Color, Size, Material, Transparency, Scale) local Part = Instance.new("Part", Parent) Part.Name = Name Part.BrickColor = BrickColor.new(Color) Part.Size = Size Part.Material = Material Part.Transparency = Transparency Part.CanCollide = false NoOutlines(Part) local Mesh = Instance.new("SpecialMesh", Part) Mesh.MeshId = "http://www.roblox.com/asset?id=" .. CrystalMeshId Mesh.Scale = Scale return Mesh and Part end local MakeSFX = function(Parent, Id, Volume, Pitch, Type) local SFX = Instance.new("Sound", Parent) SFX.SoundId = "http://www.roblox.com/asset?id=" .. Id SFX.Name = "SFX" SFX:Play() SFX.Volume = Volume SFX.Pitch = Pitch SFX.PlayOnRemove = true SFX:Remove() if Type == "Echo" then Instance.new("EchoSoundEffect", SFX) end end CircleEffect = function(Position, Parent, DSX, DSY, DSZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency) local Part = Instance.new("Part", Parent) Part.Transparency = Transparency Part.Name = "CircleEffect" Part.Size = Vector3.new() Part.Anchored = true Part.CanCollide = false Part.Position = Position Part.BrickColor = BrickColor.new(Brickcolor) Part.Material = Material NoOutlines(Part) local Mesh = Instance.new("SpecialMesh", Part) Mesh.MeshType = "Sphere" Mesh.Scale = Vector3.new(DSX, DSY, DSZ) Services.Debris:AddItem(Part, Time) table.insert(Effects, {Part, "Circle", Time, SX, SY, SZ}) end BlockEffect = function(Position, Parent, DSX, DSY, DSZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency) local Part = Instance.new("Part", Parent) Part.Transparency = Transparency Part.Name = "BlockEffect" Part.Size = Vector3.new() Part.Anchored = true Part.Position = Position Part.CanCollide = false Part.BrickColor = BrickColor.new(Brickcolor) Part.Material = Material NoOutlines(Part) local Mesh = Instance.new("BlockMesh", Part) Mesh.Scale = Vector3.new(DSX, DSY, DSZ) Services.Debris:AddItem(Part, Time) table.insert(Effects, {Part, "Block", Time, SX, SY, SZ}) end --[[ Damage function ]]-- function DamageFunction(Hit, Part, Type, HitSFX, Knockback, Min, Max) local HitHumanoid = Hit.Parent.Humanoid local Damage = math.random(Min, Max) coroutine.resume(coroutine.create(function() HitHumanoid:TakeDamage(Damage) end)) if Type == "Normal" then local Push = CreateVelocity(Hit.Parent.Torso, Torso.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge)) Services.Debris:AddItem(Push, 0) DamageLabel(Hit.Parent, Damage, Hit) elseif Type == "Ranged" then local Push = CreateVelocity(Hit.Parent.Torso, Part.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge)) Services.Debris:AddItem(Push, 0) DamageLabel(Hit.Parent, Damage, Hit) elseif Type == "Knockdown" then local Push = CreateVelocity(Hit.Parent.Torso, Part.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge)) DamageLabel(Hit.Parent, Damage, Hit) Services.Debris:AddItem(Push, 0.3) coroutine.resume(coroutine.create(function() HitHumanoid.PlatformStand = true wait(1) HitHumanoid.PlatformStand = false end)) end if HitSFX == "Penetration" then MakeSFX(Hit, 199149269, 1 , 1) elseif HitSFX == "Punch" then MakeSFX(Hit, 278062209, 1 , 1) end end function DamageLabel(HitCharacter, DamageDealt, Hit) local DamageShowingPart = CreatePart(Services.Workspace, "ShowDamage", "Bright yellow", Vector3.new(0.8,0.8,0.8), "Neon", 1, "Block") DamageShowingPart.Position = HitCharacter.Head.Position local DamageGui = Instance.new("BillboardGui", DamageShowingPart) DamageGui.Name = "Damage" DamageGui.AlwaysOnTop = true DamageGui.Size = UDim2.new(5, 0, 5, 0) local DamageNumber = Instance.new("TextLabel", DamageGui) DamageNumber.Size = UDim2.new(1,0,1,0) if Hit.Parent:FindFirstChild("Head") then DamageNumber.TextStrokeColor3 = Hit.Parent.Head.BrickColor.Color DamageNumber.TextColor3 = Hit.BrickColor.Color end DamageNumber.TextStrokeTransparency = 0 DamageNumber.BackgroundTransparency = 1 DamageNumber.Font = "SourceSansBold" DamageNumber.TextScaled = true DamageNumber.Text = DamageDealt local BodyVelocity = Instance.new("BodyVelocity", DamageShowingPart) BodyVelocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge) BodyVelocity.Velocity = Vector3.new(0,2,0) Services.Debris:AddItem(DamageShowingPart, 3) end function ValidateDamage(Part, Distance ,Min , Max, Type, HitSFX, Knockback) for _,WorkspaceChildren in pairs(workspace:children()) do local HitHumanoid = WorkspaceChildren:findFirstChild("Humanoid") if HitHumanoid ~= nil then local Hit = WorkspaceChildren:findFirstChild("Torso") if Hit ~= nil then local Target = Hit.Position - Part.Position local Magnitude = Target.magnitude if Magnitude <= Distance and WorkspaceChildren.Name ~= Player.Name then local HitBlock = Hit.Parent:FindFirstChild("Block") if HitBlock ~= nil and HitBlock:FindFirstChild("BlockDurability") and HitBlock.Value == true then local HitBlock2 = Hit.Parent.Block.BlockDurability if HitBlock2.Value > 15 then local HitN = math.random(1,5) HitBlock2.Value = HitBlock2.Value - 15 if HitN == 1 then MakeSFX(Hit ,199148971, 0.5, 1) end if HitN == 2 then MakeSFX(Hit ,199149025, 0.5, 1) end if HitN == 3 then MakeSFX(Hit ,199149072, 0.5, 1) end if HitN == 4 then MakeSFX(Hit ,199149109, 0.5, 1) end if HitN == 5 then MakeSFX(Hit ,199149119, 0.5, 1) end return end end DamageFunction(Hit, Part, Type, HitSFX, Knockback, Min, Max) end end end end end --[[ CLerp Declarations ]]-- function clerp(a,b,t) local qa = {QuaternionFromCFrame(a)} local qb = {QuaternionFromCFrame(b)} local ax, ay, az = a.x, a.y, a.z local bx, by, bz = b.x, b.y, b.z local _t = 1-t return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) end function QuaternionFromCFrame(cf) -- dis one local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() local trace = m00 + m11 + m22 if trace > 0 then local s = math.sqrt(1 + trace) local recip = 0.5/s return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 else local i = 0 if m11 > m00 then i = 1 end if m22 > (i == 0 and m00 or m11) then i = 2 end if i == 0 then local s = math.sqrt(m00-m11-m22+1) local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip elseif i == 1 then local s = math.sqrt(m11-m22-m00+1) local recip = 0.5/s return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip elseif i == 2 then local s = math.sqrt(m22-m00-m11+1) local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip end end end function QuaternionToCFrame(px, py, pz, x, y, z, w) local xs, ys, zs = x + x, y + y, z + z local wx, wy, wz = w*xs, w*ys, w*zs local xx = x*xs local xy = x*ys local xz = x*zs local yy = y*ys local yz = y*zs local zz = z*zs return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy)) end function QuaternionSlerp(a, b, t) local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] local startInterp, finishInterp; if cosTheta >= 0.0001 then if (1 - cosTheta) > 0.0001 then local theta = math.acos(cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((1-t)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = 1-t finishInterp = t end else if (1+cosTheta) > 0.0001 then local theta = math.acos(-cosTheta) local invSinTheta = 1/math.sin(theta) startInterp = math.sin((t-1)*theta)*invSinTheta finishInterp = math.sin(t*theta)*invSinTheta else startInterp = t-1 finishInterp = t end end return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp end function RayCast(Pos, Dir, Max, Ignore) return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore) end function Bars() --[[ Mana Bar ]]-- if not Dominating then if Domination ~= MaxDomination then Domination = Domination + 1 end if Domination >= MaxDomination then Domination = MaxDomination end end ManaBarText.Text = "<{[ Domination ]}> <|"..Domination.."|> <{[ Domination ]}>" ManaBarP2.Size = UDim2.new(Domination / MaxDomination,0,0,20) end --[[ Attacks & Attack Function ]]-- function HoldAttack() Attacking = true local RefDamage = Instance.new("Part", workspace) RefDamage.Shape = "Ball" RefDamage.Material = "Neon" RefDamage.BrickColor = BrickColor.new("Medium blue") RefDamage.Size = Vector3.new(3,3,3) RefDamage.Transparency = 0.5 RefDamage.CanCollide = false RefDamage.Name = "Reference" RefDamage.Position = WarningCylinder.Position + Vector3.new(math.random(-15,15), math.random(20,40),math.random(-15,15)) RefDamage.CFrame = CFrame.new(RefDamage.Position, WarningCylinderD.Position) CircleEffect(RefDamage.Position, workspace, 10, 10, 10, 5, 5, 5, 0.3, "White", "Neon", 0.5) local MeteorVelocity = CreateVelocity(RefDamage, RefDamage.CFrame.lookVector * 50,Vector3.new(10000,10000,10000)) wait(0.2) Connection = RefDamage.Touched:connect(function(Hit) ValidateDamage(RefDamage, 10 ,25 , 50, "Knockdown", "Penetration", 10) CircleEffect(RefDamage.Position, workspace, 10, 10, 10, 10, 10, 10, 0.3, "White", "Neon", 0.5) MakeSFX(RefDamage, 183763487,1, 1, "Echo") RefDamage:Remove() Connection:disconnect() end) end function Dominate() wait() Attacking = true while Dominating do wait() if Domination > 0 then Domination = Domination - 1 DominateCylinder.Size = DominateCylinder.Size + Vector3.new(0,0.1,0.1) DominateCylinderD.Size = DominateCylinderD.Size + Vector3.new(0,0.1,0.1) BlockEffect(Left_Arm.Position - Vector3.new(0,-1,0), Services.Workspace, 1,1,1, 1,1,1, 1, "Medium blue", "SmoothPlastic", 0) BlockEffect(Right_Arm.Position - Vector3.new(0,-1,0), Services.Workspace, 1,1,1, 1,1,1, 1, "Medium blue", "SmoothPlastic", 0) RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,2 + Change)* CFrame.Angles(0,0,0),0.2) Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3) Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.8, 0) * CFrame.Angles(0,0,2.8), 0.3) Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.8, 0) * CFrame.Angles(0,0,-2.8), 0.3) DominateCylinder.Touched:connect(function(Hit) wait() if Hit.Name ~= "Reference" and Hit.Parent:FindFirstChild("Humanoid") and Hit.Parent ~= Character then if Hit.Parent:FindFirstChild("Shirt") then Hit.Parent.Shirt:Remove() end if Hit.Parent:FindFirstChild("Pants") then Hit.Parent.Pants:Remove() end Hit.Parent.Torso.BrickColor = BrickColor.new("Medium blue") Hit.Parent.Torso.Transparency = 0.5 Hit.Parent.Torso.Material = "Neon" Hit.Parent.Torso.Anchored = true Hit.Parent.Head.BrickColor = BrickColor.new("Medium blue") Hit.Parent.Head.Transparency = 0.5 Hit.Parent.Head.Material = "Neon" Hit.Parent.Head.Anchored = true Hit.Parent["Right Arm"].BrickColor = BrickColor.new("Medium blue") Hit.Parent["Right Arm"].Transparency = 0.5 Hit.Parent["Right Arm"].Material = "Neon" Hit.Parent["Right Arm"].Anchored = true Hit.Parent["Left Arm"].BrickColor = BrickColor.new("Medium blue") Hit.Parent["Left Arm"].Transparency = 0.5 Hit.Parent["Left Arm"].Material = "Neon" Hit.Parent["Left Arm"].Anchored = true Hit.Parent["Right Leg"].BrickColor = BrickColor.new("Medium blue") Hit.Parent["Right Leg"].Transparency = 0.5 Hit.Parent["Right Leg"].Material = "Neon" Hit.Parent["Right Leg"].Anchored = true Hit.Parent["Left Leg"].BrickColor = BrickColor.new("Medium blue") Hit.Parent["Left Leg"].Transparency = 0.5 Hit.Parent["Left Leg"].Material = "Neon" Hit.Parent["Left Leg"].Anchored = true wait() Hit.Parent.Humanoid.Health = 0 end end) else Dominating = false end end end Mouse.KeyDown:connect(function(Key) if not Attacking then if Key == "q" and Domination > 0 then Dominating = true if Character:FindFirstChild("Dominating") then Character.Dominating:Remove() Character.DominatingDetail:Remove() end DominateCylinder = Instance.new("Part", Character) DominateCylinder.Name = "Dominating" DominateCylinder.BrickColor = BrickColor.new("Medium blue") DominateCylinder.Size = Vector3.new(0.2,1,1) DominateCylinder.Rotation = Vector3.new(0, 0, 90) DominateCylinder.Anchored = true DominateCylinder.CanCollide = false DominateCylinder.Transparency = 0.8 DominateCylinder.Material = "Neon" DominateCylinder.Shape = "Cylinder" DominateCylinder.Position = Mouse.Hit.p DominateCylinderD = Instance.new("Part", Character) DominateCylinderD.Name = "DominatingDetail" DominateCylinderD.BrickColor = BrickColor.new("Navy blue") DominateCylinderD.Size = Vector3.new(0.2,0.5,0.5) DominateCylinderD.Rotation = Vector3.new(0, 0, 90) DominateCylinderD.Anchored = true DominateCylinderD.CanCollide = false DominateCylinderD.Transparency = 0.5 DominateCylinderD.Material = "Neon" DominateCylinderD.Shape = "Cylinder" DominateCylinderD.Position = DominateCylinder.Position Dominate() end end end) Mouse.KeyUp:connect(function(Key) if Key == "q" then Dominating = false Attacking = false end end) Mouse.Button1Down:connect(function() if not Attacking and not Dominating then HoldingClick = true WarningCylinder.Parent = Character WarningCylinderD.Parent = Character MakeSFX(Torso, 137463716,1, 1, "Echo") end end) Mouse.Button1Up:connect(function() WarningCylinder.Parent = nil WarningCylinderD.Parent = nil HoldingClick = false wait(0.5) Attacking = false end) --[[ Click Attack Loop ]]-- coroutine.resume(coroutine.create(function() while true do wait(0.5) if HoldingClick then HoldAttack() Humanoid.WalkSpeed = 0 Humanoid.JumpPower = 0 elseif not Dominating and not HoldingClick then Humanoid.WalkSpeed = 16 Humanoid.JumpPower = 50 end if Dominating then Humanoid.WalkSpeed = 0 Humanoid.JumpPower = 0 elseif not Dominating and not HoldingClick then Humanoid.WalkSpeed = 16 Humanoid.JumpPower = 50 end end end)) --[[ Animations ]]-- Change = 0 while true do wait() if Invert == false then Change = Change + 0.01 elseif Invert == true then Change = Change - 0.01 end if Change > 0.5 then Invert = true elseif Change < -0.5 then Invert = false end Bars() local Torvel = (Root.Velocity*Vector3.new(1,0,1)).magnitude local Velderp = Root.Velocity.y HitFloor,PosFloor = RayCast(Root.Position,(CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector,4,Character) WarningCylinder.Position = Mouse.Hit.p WarningCylinderD.Position = WarningCylinder.Position if HoldingClick then BlockEffect(Left_Arm.Position - Vector3.new(0,-1,0), Services.Workspace, 1,1,1, 1,1,1, 1, "Medium blue", "SmoothPlastic", 0) BlockEffect(Right_Arm.Position - Vector3.new(0,-1,0), Services.Workspace, 1,1,1, 1,1,1, 1, "Medium blue", "SmoothPlastic", 0) RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,2 + Change)* CFrame.Angles(0,0,0),0.2) Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3) Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.8, 0) * CFrame.Angles(0,0,2.8), 0.3) Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.8, 0) * CFrame.Angles(0,0,-2.8), 0.3) end if Torvel < 1 and HitFloor ~= nil and Attacking == false then Anim = "Idle" RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,2 + Change)* CFrame.Angles(0,0,0),0.2) Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.2,0,0),0.3) Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(-0, 0.5, -1) * CFrame.Angles(1.6,0,-1.3), 0.3) Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(0, 0.5,-1) * CFrame.Angles(1.6,0,1.3), 0.3) Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0.2 - Change / 2),0.2) Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,-0.2 + Change / 2),0.2) end if 2 < Torvel and Torvel < 22 and HitFloor ~= nil and Attacking == false then Anim = "Walking" if Attacking == false then RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*cf(0,0,2 + Change)* CFrame.Angles(0.5,0,0),0.2) Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.2,0,0),0.3) Right_Shoulder.C0 = clerp(Right_Shoulder.C0, cf(1.5,0.1, 0.3) * CFrame.Angles(-0.4,0,0.2), 0.3) Left_Shoulder.C0 = clerp(Left_Shoulder.C0, cf(-1.5, 0.1, 0.3) * CFrame.Angles(-0.4,0,-0.2), 0.3) Right_Hip.C0=clerp(Right_Hip.C0,cf(1,-1,0)*CFrame.Angles(0.3,1.6,-0.8),0.2) Left_Hip.C0=clerp(Left_Hip.C0,cf(-1,-1,0)*CFrame.Angles(0.3,-1.6,0.8),0.2) end Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0) * CFrame.Angles(0,1.6,0),0.2) Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0) * CFrame.Angles(0,-1.6,0),0.2) end if Root.Velocity.y > 1 and HitFloor == nil and Attacking == false then Anim = "Jump" RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*cf(0,0,5 + Change)* CFrame.Angles(0,0,0),0.2) Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.5,0,0),0.3) Right_Shoulder.C0 = clerp(Right_Shoulder.C0, cf(1.5,0.1, 0) * CFrame.Angles(0,0,0.2), 0.3) Left_Shoulder.C0 = clerp(Left_Shoulder.C0, cf(-1.5, 0.1, 0) * CFrame.Angles(0,0,-0.2), 0.3) Right_Hip.C0=clerp(Right_Hip.C0,cf(1,-1,0)*CFrame.Angles(0,1.6,-0.3),0.2) Left_Hip.C0=clerp(Left_Hip.C0,cf(-1,-1,0)*CFrame.Angles(0,-1.6,0.5),0.2) BlockEffect(Right_Leg.Position - Vector3.new(0,1,0), Services.Workspace, 1,1,1, 1,1,1, 1, "Medium blue", "SmoothPlastic", 0) BlockEffect(Left_Leg.Position - Vector3.new(0,1,0), Services.Workspace, 1,1,1, 1,1,1, 1, "Medium blue", "SmoothPlastic", 0) end if Root.Velocity.y < -1 and HitFloor == nil and Attacking == false then Anim = "Fall" RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*cf(0,0,5 + Change)* CFrame.Angles(0,0,0),0.2) Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.5,0,0),0.3) Right_Shoulder.C0 = clerp(Right_Shoulder.C0, cf(1.5,0.1, 0) * CFrame.Angles(0,0,0.2), 0.3) Left_Shoulder.C0 = clerp(Left_Shoulder.C0, cf(-1.5, 0.1, 0) * CFrame.Angles(0,0,-0.2), 0.3) Right_Hip.C0=clerp(Right_Hip.C0,cf(1,-1,0)*CFrame.Angles(0,1.6,-0.3),0.2) Left_Hip.C0=clerp(Left_Hip.C0,cf(-1,-1,0)*CFrame.Angles(0,-1.6,0.5),0.2) end if #Effects > 0 then for E = 1, #Effects do if Effects[E]~=nil then local Effect = Effects[E] if Effect ~= nil then local Part = Effect[1] local Mode = Effect[2] local Time = Effect[3] local SizeX = Effect[4] local SizeY = Effect[5] local SizeZ = Effect[6] if Effect[1].Transparency <= 1 then if Effect[2] == "Block" then Effect[1].CFrame = Effect[1].CFrame * CFrame.Angles(math.random(-50,50),math.random(-50,50),math.random(-50,50)) Effect[1].Transparency = Effect[1].Transparency + 0.1 Mesh = Effect[1]:FindFirstChild("Mesh") if Mesh ~= nil then Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6]) end elseif Effect[2] == "Circle" then Effect[1].Transparency = Effect[1].Transparency + 0.1 if Effect[1]:FindFirstChild("Mesh") ~= nil then Mesh=Effect[1].Mesh Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6]) end else Part.Parent=nil table.remove(Effects, E) end end end end end end end