wait(0.2) local p = game.Players.LocalPlayer local char = p.Character local mouse = p:GetMouse() local larm = char["Left Arm"] local rarm = char["Right Arm"] local lleg = char["Left Leg"] local rleg = char["Right Leg"] local hed = char.Head local torso = char.Torso local hum = char.Humanoid local cam = game.Workspace.CurrentCamera local root = char.HumanoidRootPart local rj = root.RootJoint local deb = false local shot = 0 local imdead = 0 local stanceToggle = "Idle1" local l = game:GetService("Lighting") local rs = game:GetService("RunService").RenderStepped local hb = game:GetService("RunService").Heartbeat local Stepped = game:GetService("RunService").Stepped local weld = Instance.new("Weld",torso) weld.Part0 = torso local nom = Instance.new("Sound",torso) nom.SoundId = "rbxassetid://261732529" nom.Volume = 1000 local spit = Instance.new("Sound",torso) spit.SoundId = "rbxassetid://1505749678" spit.Volume = 1000 local gethit = Instance.new("Sound",torso) gethit.SoundId = "rbxassetid://1016613877" gethit.Volume = 1000 local hi = Instance.new("Sound",torso) hi.SoundId = "rbxassetid://599688682" hi.Volume = 1000 local flying = true local deb = true local ctrl = {f = 0, b = 0, l = 0, r = 0} local lastctrl = {f = 0, b = 0, l = 0, r = 0} local maxspeed = 50 local speed = 0 hum.WalkSpeed = 100 hum.MaxHealth = 5e600 hum.Health = 5e600 field = Instance.new("ForceField",char) field.Visible = false local duck = Instance.new("Part",torso) duck.Anchored = true duck.CanCollide = false duck.Size = Vector3.new(3,2,6) duck.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0) weld.Part1 = duck weld.C1 = CFrame.new(0,0.1,0) * CFrame.Angles(0,math.rad(180),0) duck.Anchored = false local Duckymesh = Instance.new("SpecialMesh",duck) Duckymesh.MeshType = Enum.MeshType.FileMesh Duckymesh.Scale = Vector3.new(0.03,0.03,0.03) Duckymesh.MeshId = "rbxassetid://430307590" Duckymesh.TextureId = "rbxassetid://430307591" for i,v in pairs(char:GetChildren()) do if v:IsA("Part") then v.Transparency = 1; elseif v:IsA("Hat") then v:Destroy() elseif v:IsA("Model") then v:Destroy() elseif v:IsA("Hair") then v:Destroy() elseif v:IsA("Accessory") then v:Destroy() end end char.Head.face.Texture = "rbxassetid://0" CV="White" p = game.Players.LocalPlayer char = p.Character local txt = Instance.new("BillboardGui", char) txt.Adornee = char .Head txt.Name = "_status" txt.Size = UDim2.new(2, 0, 1.2, 0) txt.StudsOffset = Vector3.new(-9, 8, 0) local text = Instance.new("TextLabel", txt) text.Size = UDim2.new(10, 0, 7, 0) text.FontSize = "Size24" text.TextScaled = true text.TextTransparency = 0 text.BackgroundTransparency = 1 text.TextTransparency = 0 text.TextStrokeTransparency = 1 text.Font = "Arcade" text.TextStrokeColor3 = Color3.fromRGB(255,0,0) v=Instance.new("Part") v.Name = "ColorBrick" v.Parent=p.Character v.FormFactor="Symmetric" v.Anchored=true v.CanCollide=false v.BottomSurface="Smooth" v.TopSurface="Smooth" v.Size=Vector3.new(10,5,3) v.Transparency=1 v.CFrame=char.Torso.CFrame v.BrickColor=BrickColor.new(CV) v.Transparency=1 text.TextColor3 = Color3.fromRGB(255,192,203) v.Shape="Block" text.Text = "Kirby" --//====================================================\\-- --|| CREATED BY SHACKLUSTER --\\====================================================//-- Player = game:GetService("Players").LocalPlayer PlayerGui = Player.PlayerGui Cam = workspace.CurrentCamera Backpack = Player.Backpack Character = Player.Character Humanoid = Character.Humanoid Mouse = Player:GetMouse() RootPart = Character["HumanoidRootPart"] Torso = Character["Torso"] Head = Character["Head"] RightArm = Character["Right Arm"] LeftArm = Character["Left Arm"] RightLeg = Character["Right Leg"] LeftLeg = Character["Left Leg"] RootJoint = RootPart["RootJoint"] Neck = Torso["Neck"] RightShoulder = Torso["Right Shoulder"] LeftShoulder = Torso["Left Shoulder"] RightHip = Torso["Right Hip"] LeftHip = Torso["Left Hip"] local sick = Instance.new("Sound",Torso) sick.SoundId = "rbxassetid://291753081" sick.Looped = true sick.Volume = 1000 local succing = {} IT = Instance.new CF = CFrame.new VT = Vector3.new RAD = math.rad C3 = Color3.new UD2 = UDim2.new BRICKC = BrickColor.new ANGLES = CFrame.Angles EULER = CFrame.fromEulerAnglesXYZ COS = math.cos ACOS = math.acos SIN = math.sin ASIN = math.asin ABS = math.abs MRANDOM = math.random FLOOR = math.floor function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET) local NEWMESH = IT(MESH) if MESH == "SpecialMesh" then NEWMESH.MeshType = MESHTYPE if MESHID ~= "nil" and MESHID ~= "" then NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID end if TEXTUREID ~= "nil" and TEXTUREID ~= "" then NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID end end NEWMESH.Offset = OFFSET or VT(0, 0, 0) NEWMESH.Scale = SCALE NEWMESH.Parent = PARENT return NEWMESH end function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE) local NEWPART = IT("Part") NEWPART.formFactor = FORMFACTOR NEWPART.Reflectance = REFLECTANCE NEWPART.Transparency = TRANSPARENCY NEWPART.CanCollide = false NEWPART.Locked = true NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR)) NEWPART.Name = NAME NEWPART.Size = SIZE NEWPART.Position = Torso.Position NEWPART.Material = MATERIAL NEWPART:BreakJoints() NEWPART.Parent = PARENT return NEWPART end --//=================================\\ --|| CUSTOMIZATION --\\=================================// Class_Name = "Kirby" Weapon_Name = "Add-ons" Custom_Colors = { Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon. Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon. Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities. Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar. Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar. Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar. Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar. Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar. Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar. Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar. Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar. Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities. } Player_Size = 1 --Size of the player. Animation_Speed = 3 Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60) local Speed = 16 local Effects2 = {} --//=================================\\ --|| END OF CUSTOMIZATION --\\=================================// local function weldBetween(a, b) local weldd = Instance.new("ManualWeld") weldd.Part0 = a weldd.Part1 = b weldd.C0 = CFrame.new() weldd.C1 = b.CFrame:inverse() * a.CFrame weldd.Parent = a return weldd end function createaccessory(attachmentpart,mesh,texture,scale,offset,color) local acs = Instance.new("Part") acs.CanCollide = false acs.Anchored = false acs.Size = Vector3.new(0,0,0) acs.CFrame = attachmentpart.CFrame acs.Parent = Character acs.BrickColor = color local meshs = Instance.new("SpecialMesh") meshs.MeshId = mesh meshs.TextureId = texture meshs.Parent = acs meshs.Scale = scale meshs.Offset = offset weldBetween(attachmentpart,acs) end function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE) if TYPE == "Gem" then local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0)) acs.Anchored = false acs.CanCollide = false acs.CFrame = PART.CFrame local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET) weldBetween(PART,acs) elseif TYPE == "Skull" then local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0)) acs.Anchored = false acs.CanCollide = false acs.CFrame = PART.CFrame local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET) weldBetween(PART,acs) elseif TYPE == "Eye" then local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0)) acs.Anchored = false acs.CanCollide = false acs.CFrame = PART.CFrame local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET) weldBetween(PART,acs) end end --//=================================\\ --|| USEFUL VALUES --\\=================================// local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) local CO1 = 0 local CO2 = 0 local CO3 = 0 local CO4 = 0 local CHANGEDEFENSE = 0 local CHANGEDAMAGE = 0 local CHANGEMOVEMENT = 0 local ANIM = "Idle" local ATTACK = false local EQUIPPED = false local HOLD = false local COMBO = 1 local LASTPOINT = nil local BLCF = nil local SCFR = nil local STAGGERHITANIM = false local STAGGERANIM = false local STUNANIM = false local CRITCHANCENUMBER = 0 local IDLENUMBER = 0 local DONUMBER = 0 local HANDIDLE = false local SINE = 0 local CHANGE = 2 / Animation_Speed local WALKINGANIM = false local WALK = 0 local DISABLEJUMPING = false local HASBEENBLOCKED = false local STUNDELAYNUMBER = 0 local MANADELAYNUMBER = 0 local SECONDARYMANADELAYNUMBER = 0 local ROBLOXIDLEANIMATION = IT("Animation") ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation" ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571" --ROBLOXIDLEANIMATION.Parent = Humanoid local WEAPONGUI = IT("ScreenGui", nil) WEAPONGUI.Name = "Weapon GUI" local WEAPONTOOL = IT("HopperBin", nil) WEAPONTOOL.Name = Weapon_Name local Weapon = IT("Model") Weapon.Name = Weapon_Name local Effects = IT("Folder", Weapon) Effects.Name = "Effects" local ANIMATOR = Humanoid.Animator local ANIMATE = Character.Animate local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"} local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"} local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"} local HITBLOCKSOUNDS = {"199148933", "199148947"} local UNANCHOR = true local MAGICPARTICLE = "655109389" --//=================================\\ --\\=================================// --//=================================\\ --|| DEBUFFS / BUFFS --\\=================================// local DEFENSECHANGE1 = IT("NumberValue", ChangeStat) DEFENSECHANGE1.Name = "ChangeDefense" DEFENSECHANGE1.Value = 0 local MOVEMENTCHANGE1 = IT("NumberValue", nil) MOVEMENTCHANGE1.Name = "ChangeMovement" MOVEMENTCHANGE1.Value = 0 --//=================================\\ --\\=================================// --//=================================\\ --|| SAZERENOS' ARTIFICIAL HEARTBEAT --\\=================================// ArtificialHB = Instance.new("BindableEvent", script) ArtificialHB.Name = "ArtificialHB" script:WaitForChild("ArtificialHB") frame = Frame_Speed tf = 0 allowframeloss = false tossremainder = false lastframe = tick() script.ArtificialHB:Fire() game:GetService("RunService").Heartbeat:connect(function(s, p) tf = tf + s if tf >= frame then if allowframeloss then script.ArtificialHB:Fire() lastframe = tick() else for i = 1, math.floor(tf / frame) do script.ArtificialHB:Fire() end lastframe = tick() end if tossremainder then tf = 0 else tf = tf - frame * math.floor(tf / frame) end end end) --//=================================\\ --\\=================================// --//=================================\\ --|| SOME FUNCTIONS --\\=================================// function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS) return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS) end function PositiveAngle(NUMBER) if NUMBER >= 0 then NUMBER = 0 end return NUMBER end function NegativeAngle(NUMBER) if NUMBER <= 0 then NUMBER = 0 end return NUMBER end function Swait(NUMBER) if NUMBER == 0 or NUMBER == nil then ArtificialHB.Event:wait() else for i = 1, NUMBER do ArtificialHB.Event:wait() end end end function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME) local label = IT("TextLabel") label.BackgroundTransparency = 1 label.Size = UD2(1, 0, 1, 0) label.Position = UD2(0, 0, 0, 0) label.TextColor3 = C3(255, 255, 255) label.TextStrokeTransparency = STROKETRANSPARENCY label.TextTransparency = TRANSPARENCY label.FontSize = TEXTFONTSIZE label.Font = TEXTFONT label.BorderSizePixel = BORDERSIZEPIXEL label.TextScaled = true label.Text = TEXT label.Name = NAME label.Parent = PARENT return label end function NoOutlines(PART) PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10 end function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1) local NEWWELD = IT(TYPE) NEWWELD.Part0 = PART0 NEWWELD.Part1 = PART1 NEWWELD.C0 = C0 NEWWELD.C1 = C1 NEWWELD.Parent = PARENT return NEWWELD end function CreateSound(ID, PARENT, VOLUME, PITCH) local NEWSOUND = nil coroutine.resume(coroutine.create(function() NEWSOUND = IT("Sound", PARENT) NEWSOUND.Volume = VOLUME NEWSOUND.Pitch = PITCH NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID Swait() NEWSOUND:play() game:GetService("Debris"):AddItem(NEWSOUND, 10) end)) return NEWSOUND end --//=================================\\ --\\=================================// --//=================================\\ --|| WEAPON CREATION --\\=================================// if Player_Size ~= 1 then for _, v in pairs (Weapon:GetChildren()) do if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then local p1 = v.Part1 v.Part1 = nil local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components() v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12) v.Part1 = p1 elseif v.ClassName == "Part" then for _, b in pairs (v:GetChildren()) do if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size) end end end end end for _, c in pairs(Weapon:GetChildren()) do if c.ClassName == "Part" then c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0) end end Weapon.Parent = Character Humanoid.Died:connect(function() ATTACK = true end) print(Class_Name.." loaded.") --//=================================\\ --\\=================================// local backpack = IT("Part",Weapon) backpack.Size = VT(0.15,0.15,0.15) local mesh = IT("SpecialMesh",backpack) mesh.MeshId = "rbxassetid://0" mesh.TextureId = "http://www.roblox.com/asset/?id=0" backpack.CFrame = Torso.CFrame * CF(0,0.2,1) backpack.BrickColor = BRICKC("Black") weldBetween(Torso,backpack) local hose = IT("Part",Weapon) hose.Size = VT(0.15,0.15,0.15) local mesh = IT("SpecialMesh",hose) mesh.MeshId = "http://www.roblox.com/asset/?id=0" mesh.TextureId = "http://www.roblox.com/asset/?id=0" mesh.Scale = VT(2,2,2) mesh.Offset = VT(0, -0.4, -0.7) hose.CFrame = Torso.CFrame * CF(1.5,0.5,0.2) * ANGLES(RAD(90),RAD(35),RAD(180)) hose.BrickColor = BRICKC("Black") weldBetween(Torso,hose) local succ = IT("Part",Weapon) succ.Size = VT(2,2,2) succ.CanCollide = false succ.CFrame = Torso.CFrame * CF(0,-1,-2) * ANGLES(RAD(90),RAD(0),RAD(180)) succ.Transparency = 1 succ.BrickColor = BRICKC("Gold") weldBetween(Torso,succ) for _, c in pairs(Weapon:GetChildren()) do if c.ClassName == "Part" then c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0) end end local EyeSizes={ NumberSequenceKeypoint.new(0,0.5,0), NumberSequenceKeypoint.new(1,0.2,0) } local EyeTrans={ NumberSequenceKeypoint.new(0,0,0), NumberSequenceKeypoint.new(1,1,0) } local PE=Instance.new("ParticleEmitter") PE.LightEmission=0.3 PE.Size=NumberSequence.new(EyeSizes) PE.Transparency=NumberSequence.new(EyeTrans) PE.Rotation=NumberRange.new(0,360) PE.LockedToPart = false PE.Speed = NumberRange.new(0,0,0) PE.ZOffset = 0.3 PE.Rate = 999 PE.VelocitySpread = 25 PE.Name = "Particles" function CreateParticles(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed) local particle = nil coroutine.resume(coroutine.create(function(PART) particle = PE:Clone() Swait() particle.Rate = 999 particle.Parent = art particle.Acceleration = accel if type == "Fire" then local EyeSizes={ NumberSequenceKeypoint.new(0,size,size/2), NumberSequenceKeypoint.new(1,size/4,size/8) } particle.Size = NumberSequence.new(EyeSizes) elseif type == "Smoke" then local EyeSizes={ NumberSequenceKeypoint.new(0,size/5,0), NumberSequenceKeypoint.new(1,size*2,0.5) } particle.Size = NumberSequence.new(EyeSizes) elseif type == "Solid" then local EyeSizes={ NumberSequenceKeypoint.new(0,size,0), NumberSequenceKeypoint.new(1,size,0) } particle.Size = NumberSequence.new(EyeSizes) end particle.Lifetime=NumberRange.new(lifetime) particle.Drag = drag if locked == true then particle.LockedToPart = true end particle.Speed = NumberRange.new(speed*0.8,speed) particle.Texture = "http://www.roblox.com/asset/?id=1179557490" particle.Enabled = isenabledbydefault particle.Color = ColorSequence.new(Color3.fromRGB(255, 215, 0)) end)) return particle end local poop = CreateParticles(succ,VT(0,0,0),5,2,"Smoke",false,false,5,35) local poop2 = CreateParticles(succ,VT(0,0,0),5,1,"Smoke",false,false,2,15) --//=================================\\ --|| DAMAGING --\\=================================// function succnearest(position,range) for i,v in ipairs(workspace:GetChildren()) do local body = v:GetChildren() for part = 1, #body do if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then if(body[part].Position - position).Magnitude < range then local bv = Instance.new("BodyVelocity") bv.maxForce = Vector3.new(1e9, 1e9, 1e9) bv.velocity = CF(body[part].Position,succ.Position).lookVector*80 bv.Parent = body[part] bv.Name = "SUCC" game:GetService("Debris"):AddItem(bv, 0.1) end end end if v.ClassName == "Part" then if v.Anchored == false and (v.Position - position).Magnitude < range then local bv = Instance.new("BodyVelocity") bv.maxForce = Vector3.new(1e9, 1e9, 1e9) bv.velocity = CF(v.Position,succ.Position).lookVector*80 bv.Parent = v bv.Name = "SUCC" game:GetService("Debris"):AddItem(bv, 0.1) end end end end function cover(position,range) for i,v in ipairs(workspace:GetChildren()) do local body = v:GetChildren() for part = 1, #body do if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then if(body[part].Position - position).Magnitude < range then CreateParticles(body[part],VT(0,-2,0),5,1,"Smoke",true,false,0.3,0) if v:FindFirstChild("Humanoid") then v.Humanoid.PlatformStand = true end end end end if v.ClassName == "Part" then if v.Anchored == false and (v.Position - position).Magnitude < range then CreateParticles(v,VT(0,-2,0),5,1,"Smoke",true,false,0.3,0) end end end end function shield() coroutine.resume(coroutine.create(function() local woa = IT("Part",Effects) woa.Size = VT(2.63, 2.69, 0.56) local mesh = IT("SpecialMesh",woa) mesh.MeshType = "FileMesh" mesh.MeshId = "rbxassetid://470689293" mesh.TextureId = "rbxassetid://26884682" mesh.Scale = VT(0.006, 0.006, 0.004) woa.CFrame = RootPart.CFrame * CF(0,0,-5) local woosh = woa.Touched:Connect(function(hit) if hit.Parent.ClassName == "Model" then hit.Parent:BreakJoints() gethit:Play() elseif hit.ClassName == "Part" and hit.Anchored == false then hit:remove() end end) local paw = woa.Touched:Connect(function(hit) if hit.Parent.ClassName == "Model" then woa:remove() hit.Parent:BreakJoints() gethit:Play() end end) woosh:disconnect() woa.Anchored = false local bv = Instance.new("BodyVelocity") bv.maxForce = Vector3.new(1e9, 1e9, 1e9) bv.velocity = RootPart.CFrame.lookVector*150 bv.Parent = woa bv.Name = "DASH" end)) end function cough() spit:Play() shield() end --//=================================\\ --|| ATTACK FUNCTIONS AND STUFF --\\=================================// function CheckTableForString(Table, String) for i, v in pairs(Table) do if string.find(string.lower(String), string.lower(v)) then return true end end return false end function CheckIntangible(Hit) local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"} if Hit and Hit.Parent then if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then return true end end return false end Debris = game:GetService("Debris") function CastRay(StartPos, Vec, Length, Ignore, DelayIfHit) local Direction = CFrame.new(StartPos, Vec).lookVector local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore}) local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore) if RayHit and CheckIntangible(RayHit) then if DelayIfHit then wait() end RayHit, RayPos, RayNormal = CastRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit) end return RayHit, RayPos, RayNormal end function turnto(pos,part) part.CFrame = CF(part.Position,VT(pos.X,RootPart.Position.Y,pos.Z)) end function vacuum() sick:Play() local nado = IT("Part") local mesh = IT("SpecialMesh",nado) mesh.MeshId = "http://www.roblox.com/asset/?id=102638417" nado.Transparency = 0.5 nado.CanCollide = false nado.Anchored = true local loop = 0 succing = {} local harm = succ.Touched:Connect(function(hit) if hit.Anchored == false then hit:remove() nom:Play() end end) repeat Swait() loop = loop + 75 nado.Parent = Effects local RayHit,RayPos = CastRay(succ.Position, Mouse.Hit.p, 1000, Character, false) local distance = (succ.Position - RayPos).magnitude mesh.Scale = VT(distance/12,distance/3.2,distance/12) nado.CFrame = CFrame.new(succ.Position, RayPos) * CFrame.new(0, 0, -distance/2) * ANGLES(RAD(-90),RAD(loop),RAD(0)) turnto(Mouse.Hit.p,RootPart) succnearest(RayPos,distance/2.5) if RayHit ~= nil then if RayHit.Anchored == false then local bv = Instance.new("BodyVelocity") bv.maxForce = Vector3.new(1e9, 1e9, 1e9) bv.velocity = CF(RayHit.Position,succ.Position).lookVector*80 bv.Parent = RayHit bv.Name = "SUCC" game:GetService("Debris"):AddItem(bv, 0.1) end end local TotalSuccs = math.ceil(distance / 65) local Direction = CFrame.new(RayPos, succ.Position).lookVector for i = 1, TotalSuccs do local NewPos = (RayPos + (Direction * (distance * (i / TotalSuccs)))) succnearest(NewPos,distance/(i*2.5)) end until HOLD == false if #succing>0 then for e=1,#succing do if succing[e]~=nil then local Thing=succing[e] Thing:remove() table.remove(succing,e) end end end succing = {} harm:disconnect() nado:remove() sick:Stop() end --//=================================\\ --|| ASSIGN THINGS TO KEYS --\\=================================// Humanoid.Changed:connect(function(Jump) if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then Humanoid.Jump = false end end) function MouseDown(Mouse) HOLD = true vacuum() end function MouseUp(Mouse) HOLD = false end function KeyDown(Key) if Key == "e" and ATTACK == false then if imdead == 0 then cough() end end if Key == "f" then if imdead == 0 then hi:Play() end end if Key == "r" then if imdead == 0 then Fly() end end end function Fly() local bg = Instance.new("BodyGyro", torso) bg.P = 9e4 bg.maxTorque = Vector3.new(9e9, 9e9, 9e9) bg.cframe = torso.CFrame local bv = Instance.new("BodyVelocity", torso) bv.velocity = Vector3.new(0,0.1,0) bv.maxForce = Vector3.new(9e9, 9e9, 9e9) repeat wait() p.Character.Humanoid.PlatformStand = true if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then speed = speed+.5+(speed/maxspeed) if speed > maxspeed then speed = maxspeed end elseif not (ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0) and speed ~= 0 then speed = speed-1 if speed < 0 then speed = 0 end end if (ctrl.l + ctrl.r) ~= 0 or (ctrl.f + ctrl.b) ~= 0 then bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (ctrl.f+ctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(ctrl.l+ctrl.r,(ctrl.f+ctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r} elseif (ctrl.l + ctrl.r) == 0 and (ctrl.f + ctrl.b) == 0 and speed ~= 0 then bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (lastctrl.f+lastctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(lastctrl.l+lastctrl.r,(lastctrl.f+lastctrl.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*speed else bv.velocity = Vector3.new(0,0.1,0) end bg.cframe = game.Workspace.CurrentCamera.CoordinateFrame * CFrame.Angles(-math.rad((ctrl.f+ctrl.b)*50*speed/maxspeed),0,0) until not flying ctrl = {f = 0, b = 0, l = 0, r = 0} lastctrl = {f = 0, b = 0, l = 0, r = 0} speed = 0 bg:Destroy() bv:Destroy() p.Character.Humanoid.PlatformStand = false end mouse.KeyDown:connect(function(key) if key:lower() == "r" then if flying then flying = false else flying = true Fly() end elseif key:lower() == "w" then ctrl.f = 3 elseif key:lower() == "s" then ctrl.b = -3 elseif key:lower() == "a" then ctrl.l = -3 elseif key:lower() == "d" then ctrl.r = 3 end end) mouse.KeyUp:connect(function(key) if key:lower() == "w" then ctrl.f = 0 elseif key:lower() == "s" then ctrl.b = 0 elseif key:lower() == "a" then ctrl.l = 0 elseif key:lower() == "d" then ctrl.r = 0 end end) function KeyUp(Key) end Mouse.Button1Down:connect(function(NEWKEY) MouseDown(NEWKEY) end) Mouse.Button1Up:connect(function(NEWKEY) MouseUp(NEWKEY) end) Mouse.KeyDown:connect(function(NEWKEY) KeyDown(NEWKEY) end) Mouse.KeyUp:connect(function(NEWKEY) KeyUp(NEWKEY) end) --//=================================\\ --\\=================================// function unanchor() if UNANCHOR == true then g = Character:GetChildren() for i = 1, #g do if g[i].ClassName == "Part" then g[i].Anchored = false end end end end --//=================================\\ --|| WRAP THE WHOLE SCRIPT UP --\\=================================// local Music = Instance.new("Sound") Music.Name = "Sound" Music.SoundId = "http://roblox.com/asset/?id=235817096" Music.Volume = 10 Music.Looped = true Music.Parent = Torso Music:play() char.Humanoid.Died:connect(function() imdead = 1 Music.SoundId = "http://roblox.com/asset/?id=715082158" Music.Volume = 10 Music.Looped = false Music:play() hi:Stop() end) Humanoid.Changed:connect(function(Jump) if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then Humanoid.Jump = false end end) while true do Swait() if #Effects2>0 then for e=1,#Effects2 do if Effects2[e]~=nil then local Thing=Effects2[e] if Thing~=nil then local Part=Thing[1] local Mode=Thing[2] local Delay=Thing[3] local IncX=Thing[4] local IncY=Thing[5] local IncZ=Thing[6] local Part2=Thing[8] if Thing[1].Transparency<=1 then if Thing[2]=="Block1" then Thing[1].CFrame=Thing[1].CFrame Mesh=Thing[1].Mesh Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6]) Thing[1].Transparency=Thing[1].Transparency+Thing[3] elseif Thing[2]=="Cylinder" then Mesh=Thing[1].Mesh Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6]) Thing[1].Transparency=Thing[1].Transparency+Thing[3] elseif Thing[2]=="Blood" then Mesh=Thing[7] Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0) Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6]) Thing[1].Transparency=Thing[1].Transparency+Thing[3] elseif Thing[2]=="Elec" then Mesh=Thing[1].Mesh Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9]) Thing[1].Transparency=Thing[1].Transparency+Thing[3] elseif Thing[2]=="Disappear" then Thing[1].Transparency=Thing[1].Transparency+Thing[3] end else Part.Parent=nil table.remove(Effects2,e) end end end end end unanchor() if Rooted == false then Disable_Jump = false Humanoid.WalkSpeed = Speed elseif Rooted == true then Disable_Jump = true Humanoid.WalkSpeed = 0 end if sick == nil then sick = Instance.new("Sound",Torso) sick.SoundId = "rbxassetid://319444224" sick.Looped = true sick.Pitch = 1 sick.Volume = 1 end if #succing>0 then for e=1,#succing do if succing[e]~=nil then local Thing=succing[e] Thing.velocity = CF(Thing.Parent.Position,succ.Position).lookVector*80 if HOLD == false then Thing.velocity = CF(Thing.Parent.Position,succ.Position).lookVector*0 Thing:remove() table.remove(succing,e) end end end end end --//=================================\\ --\\=================================// --//====================================================\\-- --|| END OF SCRIPT --\\====================================================