Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- script:Destroy()
- local pl = owner
- local ch = pl.Character
- local movementAdd = 0
- local speed = 0.13
- local enabled = false
- local sinespeed = 0.45
- local seg = 15
- local color = "Bright orange"
- local mylastp = nil
- local mat = "Neon"
- local ref = 0
- local trans = 0
- local shape = "Block"
- local mode = "gust"
- local AnimState
- local sprint = false
- local dodgechance = 10
- local dodging = false
- local lastc = ch.HumanoidRootPart.CFrame
- ------------CORE FUNCTIONS-------------
- function make(inst, parent, details)
- local Item = Instance.new(inst)
- if details then
- for i,v in pairs(details) do
- Item[i] = v
- end
- end
- Item.Parent = parent or nil
- return Item
- end
- local function randneg(num1, num2)
- times = 1
- if math.random(1,2) == 1 then
- times = 1
- else
- times = -1
- end
- return math.random(num1, num2)*times
- end
- function clone(part, col, aftersize, aftercol)
- if not part:IsA("SpecialMesh") then
- local p = make("Part", part, {Anchored = true, CanCollide = false, Shape = part.Shape, CFrame = part.CFrame, Material = "Neon", Name = "Clone piece", Color = col})
- if part.Name ~= "Head" then
- p.Size = part.Size + Vector3.new(.02,.02,.02)
- else
- p.Size = Vector3.new(1,1,1) + Vector3.new(.02,.02,.02)
- end
- spawn(function()
- for i = 1,15 do
- p.Transparency = i/15
- if aftersize then
- p.Size = p.Size:Lerp(aftersize, 0.03)
- end
- if aftercol then
- p.Color = p.Color:Lerp(aftercol, 0.03)
- end
- task.wait()
- end
- p:Remove()
- end)
- else
- local p = make("Part", part, {Anchored = true, CanCollide = false, CFrame = part.Parent.CFrame, Material = "Neon", Name = "Clone piece", Color = col})
- if part.Parent.Name ~= "Head" then
- p.Size = part.Parent.Size + Vector3.new(.02,.02,.02)
- else
- p.Size = Vector3.new(1,1,1) + Vector3.new(.02,.02,.02)
- end
- pm = make("SpecialMesh", p, {MeshType = "Sphere"})
- spawn(function()
- for i = 1,15 do
- p.Transparency = i/15
- if aftersize then
- p.Size = p.Size:Lerp(aftersize, 0.03)
- end
- if aftercol then
- p.Color = p.Color:Lerp(aftercol, 0.03)
- end
- task.wait()
- end
- p:Remove()
- end)
- end
- end
- if not game.Lighting:FindFirstChildOfClass("BloomEffect") then
- local bloom = make("BloomEffect", game.Lighting, {Name = "Glow/Bloom"})
- end
- local highlight
- local HoningAttacks
- local ev
- local pieces
- local boomPart
- local boomptBlack
- local boompt
- function makeCharacter()
- ch = owner.Character
- highlight = make("Highlight", ch, {Adornee = ch, DepthMode = "Occluded", FillTransparency = 1, OutlineColor = Color3.new(0,0,0)})
- HoningAttacks = Instance.new("Folder")
- HoningAttacks.Parent = owner.Character
- ev = Instance.new("RemoteEvent", pl.Character)
- ev.Name = "Ev"
- boomPart = make("Part", HoningAttacks, {Transparency = 1, Anchored = true, CanCollide = false, Size = Vector3.new(.01,.01,.01)})
- boomptBlack = make("ParticleEmitter", boomPart, {Texture = "rbxassetid://2273224484", SpreadAngle = Vector2.new(360, 360), Size = NumberSequence.new(20, 0), Transparency = NumberSequence.new(0--[[seq]]), LightEmission = -2, LightInfluence = 0, Lifetime = NumberRange.new(.3), Color = ColorSequence.new(Color3.new(0,0,0)), Speed = NumberRange.new(0), Drag = 20, RotSpeed = NumberRange.new(360), Enabled = false, Acceleration = Vector3.new(0, 0, 0)})
- boompt = make("ParticleEmitter", boomPart, {Texture = "rbxassetid://2273224484", SpreadAngle = Vector2.new(360, 360), Size = NumberSequence.new(18, 0), Transparency = NumberSequence.new(0--[[seq]]), LightEmission = 1, LightInfluence = 0, ZOffset= 2, Lifetime = NumberRange.new(.3), Color = ColorSequence.new(BrickColor.new(color).Color), Speed = NumberRange.new(0), Drag = 20, RotSpeed = NumberRange.new(360), Enabled = false, Acceleration = Vector3.new(0, 0, 0)})
- pieces = {}
- owner.Character.Humanoid.Died:Connect(function()
- owner:LoadCharacter()
- end)
- ----------------------NLS-----------------------------
- local nls = [[
- local pl = game.Players.LocalPlayer
- local mouse = pl:GetMouse()
- local hold = false
- local ev = script.Parent:WaitForChild("Ev")
- mouse.KeyDown:Connect(function(k)
- if k == "q" then
- hold = true
- repeat
- ev:FireServer("Missile")
- wait(0.1)
- until hold == false
- elseif k == "z" then
- ev:FireServer("SprintToggle")
- elseif k == "e" then
- ev:FireServer("Teleport", mouse.Hit.p + Vector3.new(0, 3, 0))
- end
- end)
- mouse.KeyUp:Connect(function(k)
- if k == "q" then
- hold = false
- end
- end)
- ]]
- NLS(nls, pl.Character)
- ev.OnServerEvent:Connect(function(_, cmd, ...)
- if cmd == "SprintToggle" then
- if sprint == false then
- sprint = true
- owner.Character.Humanoid.WalkSpeed = 60
- elseif sprint == true then
- sprint = false
- owner.Character.Humanoid.WalkSpeed = 16
- end
- elseif cmd == "Teleport" then
- clone(owner.Character.Torso, BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(1,1,1))
- clone(owner.Character.Head, BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(1,1,1))
- clone(owner.Character["Left Arm"], BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(1,1,1))
- clone(owner.Character["Right Arm"], BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(1,1,1))
- clone(owner.Character["Left Leg"], BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(1,1,1))
- clone(owner.Character["Right Leg"], BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(1,1,1))
- for _,v in pairs(pieces) do
- clone(v, BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(1,1,1))
- end
- owner.Character.HumanoidRootPart.Position = (...)
- else
- missile(nil, pieces[math.random(1, #pieces)].CFrame)
- end
- end)
- ------------------TAIL------------------
- local p = make("Part", owner.Character, {
- Material = mat or "Neon",
- Transparency = trans or 0,
- Reflectance = ref or 0,
- BrickColor = BrickColor.new(Color),
- CanCollide = false, Shape = Enum.PartType[shape] or "Block", Size = Vector3.new(1,1,1), Anchored = true})
- local fire = make("Fire", p, {Size = 1, Heat = 3, Enabled = enabled or false, Name = "F"})
- local originalSize = make("Vector3Value", p, {Name = "OriginalSize", Value = p.Size})
- table.insert(pieces, p)
- local sine = 0
- game:GetService("RunService").Stepped:Connect(function()
- pcall(function()
- sine = sine + 1
- p.BrickColor = BrickColor.new(color)
- p.Shape = Enum.PartType[shape] or "Block"
- p.Material = mat
- p.Transparency = trans
- p.Reflectance = ref
- if p:FindFirstChild("F") then p.F.Color = BrickColor.new(color).Color p.F.SecondaryColor = BrickColor.new(color).Color end
- if p:FindFirstChild("F") then p.F.Enabled = enabled end
- if AnimState == "idle" then
- p.Size = p.Size:Lerp(p.OriginalSize.Value, 0.2)
- p.CFrame = p.CFrame:Lerp(ch.Torso.CFrame* CFrame.new(0 + 0.1*math.cos(sine/(sinespeed*100)),-0.5 + 0.1*math.cos(sine/(sinespeed*50)),0.5), speed + movementAdd)
- else
- p.Size = p.Size:Lerp(Vector3.new(1 - 0.25*math.sin(sine/50), 1 - 0.25*math.sin(sine/50), 1 - 0.25*math.sin(sine/50)), 0.2)
- p.CFrame = p.CFrame:Lerp(ch.Torso.CFrame * CFrame.new(0, -1, 2) * CFrame.Angles(0, 0, math.rad(-(sine*10))) * CFrame.new(0, 5 + 1*math.sin(sine/50), 0), 0.2)
- end
- end)
- end)
- local mylastp = p
- local a = 1
- for i = 1,seg do
- spawn(function()
- local sine = 0
- local p = make("Part", owner.Character, {
- Material = mat or "Neon",
- Transparency = trans or 0,
- Reflectance = ref or 0,
- BrickColor = BrickColor.new(Color),
- CanCollide = false, Shape = Enum.PartType[shape] or "Block", Size = Vector3.new(1- i/20,1-i/20,1-i/20), Anchored = true, Name = "tailpart"..i})
- local fire = make("Fire", p, {Size = 1, Heat = 3, Enabled = enabled or false, Name = "F"})
- local originalSize = make("Vector3Value", p, {Name = "OriginalSize", Value = p.Size})
- table.insert(pieces, p)
- local setl = mylastp
- v = Instance.new("IntValue", p)
- v.Value = i
- spawn(function()
- b = 0 + a
- local tmode = "Normal"
- local dedicatedRand = math.random(20,40)
- spawn(function()
- wait(dedicatedRand)
- while true do
- if tmode == "Normal" then
- tmode = "Diff1"
- dedicatedRand = 20
- wait(dedicatedRand)
- else
- tmode = "Normal"
- dedicatedRand = math.random(20,40)
- wait(dedicatedRand)
- end
- end
- end)
- game:GetService("RunService").Stepped:Connect(function()
- pcall(function()
- sine = sine + 1
- p.Shape = Enum.PartType[shape] or "Block"
- p.Transparency = trans
- p.Reflectance = ref
- p.Material = mat
- p.BrickColor = BrickColor.new(color)
- if p:FindFirstChild("F") then p.F.Color = BrickColor.new(color).Color p.F.SecondaryColor = BrickColor.new(color).Color end
- if p:FindFirstChild("F") then p.F.Enabled = enabled end
- if AnimState == "idle" then
- p.Size = p.Size:Lerp(p.OriginalSize.Value, 0.2)
- if tmode == "Normal" then
- p.CFrame = p.CFrame:Lerp(setl.CFrame* CFrame.new(0 + (0.5)*math.cos(sine/(sinespeed*100)),0 + 0.5*math.cos(sine/(sinespeed*50)),(setl.Size.Y/3)*2), speed + movementAdd)
- else
- p.CFrame = p.CFrame:Lerp(setl.CFrame* CFrame.new(0 + (0.5)*math.cos(sine/(sinespeed*100)),0 + 0.5*math.cos(sine/(sinespeed*50)),(setl.Size.Y/3)*2) * CFrame.Angles(0, 0, math.rad(i)), speed + movementAdd)* CFrame.Angles(0, 0, math.rad(1))
- end
- else
- p.Size = p.Size:Lerp(Vector3.new(1 - 0.25*math.sin(sine/50), 1 - 0.25*math.sin(sine/50), 1 - 0.25*math.sin(sine/50)), 0.2)
- p.CFrame = p.CFrame:Lerp(ch.Torso.CFrame * CFrame.new(0, -1, 2) * CFrame.Angles(0, 0, math.rad((360/(seg+1))*i-(sine*10))) * CFrame.new(0, 5 + 1*math.sin(sine/50), 0), 0.2)
- end
- end)
- end)
- end)
- mylastp = p
- end)
- a = a + 1
- end
- -----------------AUTO DODGE AND BLOCKING-----------------
- local prevHealth = owner.Character.Humanoid.MaxHealth
- owner.Character.Humanoid:GetPropertyChangedSignal("Health"):Connect(function()
- pcall(function()
- if math.random(100/dodgechance) == 1 then
- if owner.Character.Humanoid.Health > prevHealth then
- prevHealth = owner.Character.Humanoid.Health
- return
- end
- prevHealth = owner.Character.Humanoid.Health
- local HealthLoss = (owner.Character.Humanoid.MaxHealth - math.round(owner.Character.Humanoid.Health))
- owner.Character.Humanoid:TakeDamage(-HealthLoss)
- clone(owner.Character.Torso, BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(0,1,.3))
- clone(owner.Character.Head, BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(0,1,.3))
- clone(owner.Character["Left Arm"], BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(0,1,.3))
- clone(owner.Character["Right Arm"], BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(0,1,.3))
- clone(owner.Character["Left Leg"], BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(0,1,.3))
- clone(owner.Character["Right Leg"], BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(0,1,.3))
- for _,v in pairs(pieces) do
- clone(v, BrickColor.new(color).Color, Vector3.new(0,0,0), Color3.new(0,1,.3))
- end
- owner.Character.HumanoidRootPart.Position = owner.Character.HumanoidRootPart.Position + Vector3.new(randneg(5, 10), 0, randneg(5, 10))
- print("Dodged "..HealthLoss.." points worth of health! ("..dodgechance.."% chance.)")
- end
- end)
- end)
- if owner.Character:FindFirstChild("Animator",true) then
- owner.Character:FindFirstChild("Animator",true):Destroy()
- end
- if owner.Character:FindFirstChild("Animate",true) then
- owner.Character:FindFirstChild("Animate",true):Destroy()
- end
- ch.HumanoidRootPart.CFrame = lastc * CFrame.new(0, 3, 0)
- end --makecharacter()
- ---------------ANIMATIONS---------------
- --Thank you to bathtub (PlayVoider) and Scandalous for this C0 animation handler base.
- local hmmm = {["idle"] = function(Sine)
- return {
- ["RootJoint"] = CFrame.new(0, 0, 2 + 1*math.sin(Sine/40)) * CFrame.Angles(math.rad(-15*math.sin((Sine-40)/40)), math.rad(0), math.rad(0)),
- ["Neck"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(15*math.sin((Sine-40)/40)), math.rad(0), math.rad(0)),
- ["Left Shoulder"] = CFrame.new(0, 0.3*math.sin((Sine-40)/40), 0) * CFrame.Angles(-math.rad(15 + 30*math.sin((Sine-40)/40)), math.rad(0), math.rad(15*math.sin((Sine-40)/40))),
- ["Right Shoulder"] = CFrame.new(0, 0.3*math.sin((Sine-40)/40), 0) * CFrame.Angles(-math.rad(15 + 30*math.sin((Sine-40)/40)), math.rad(0), math.rad(-15*math.sin((Sine-40)/40))),
- ["Left Hip"] = CFrame.new(-0.7, 0.7, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-20 * math.sin((Sine-40)/40))),
- ["Right Hip"] = CFrame.new(0.3, 0.3, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-40 * math.sin((Sine-30)/40)))}
- end,
- ["run"] = function(Sine)
- return {
- ["RootJoint"] = CFrame.new(0, 0, 2 + 1*math.sin(Sine/40)) * CFrame.Angles(math.rad(45 + 15*math.sin((Sine-40)/40)), math.rad(0), math.rad(0)),
- ["Neck"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-45 - 15*math.sin((Sine-40)/40)), math.rad(0), math.rad(0)),
- ["Left Shoulder"] = CFrame.new(0, 0-0.3*math.sin((Sine-40)/40), 0) * CFrame.Angles(-math.rad(16 + 15*math.sin((Sine-40)/40)), math.rad(0), math.rad(15*math.sin((Sine-40)/40))),
- ["Right Shoulder"] = CFrame.new(0, 0-0.3*math.sin((Sine-40)/40), 0) * CFrame.Angles(-math.rad(16 + 15*math.sin((Sine-40)/40)), math.rad(0), math.rad(-15*math.sin((Sine-40)/40))),
- ["Left Hip"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(30 + 10 * math.sin((Sine-30)/40))),
- ["Right Hip"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-40 -10 * math.sin((Sine-30)/40)))}
- end,
- ["jump"] = function(Sine)
- return {--X Z Y
- ["RootJoint"] = CFrame.new(0, 0, 2) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),
- ["Neck"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),
- ["Left Shoulder"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),
- ["Right Shoulder"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),
- ["Left Hip"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),
- ["Right Hip"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))}
- end,
- ["sit"] = function(Sine)
- return {--X Z Y
- ["RootJoint"] = CFrame.new(0, 0, 2) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),
- ["Neck"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),
- ["Left Shoulder"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),
- ["Right Shoulder"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),
- ["Left Hip"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),
- ["Right Hip"] = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))}
- end,
- }
- local tablee = {}
- for i,v in owner.Character:GetDescendants() do
- if v:IsA('Motor6D') then
- tablee[v.Name] = v.C0
- end
- end
- if owner.Character:FindFirstChild('Animator',true) then
- owner.Character:FindFirstChild('Animator',true):Destroy()
- end
- local AnimSine = 1
- game:GetService("RunService").Heartbeat:Connect(function()
- pcall(function()
- local RootPart = owner.Character.HumanoidRootPart
- if owner.Character.Humanoid:GetState() == "Sitting" then
- AnimState = "sit"
- else
- if math.abs((RootPart.Velocity*Vector3.new(0,1,0)).Magnitude)>1 then
- AnimState = "jump"
- movementAdd = 0.3
- elseif math.abs((RootPart.Velocity*Vector3.new(1,0,1)).Magnitude)>1 then
- AnimState = "run"
- movementAdd = 0.3
- else
- AnimState = "idle"
- movementAdd = 0
- end
- end
- table.foreach(hmmm[AnimState](AnimSine),function(funny, moment)
- owner.Character:FindFirstChild(funny, true).C0=owner.Character:FindFirstChild(funny,true).C0:Lerp(tablee[funny]*moment,0.3)
- end)
- AnimSine = AnimSine + 1
- end)
- end)
- -----------------ATTACK 1, Honing Magic------------------
- local nearest = nil
- function boom(pos, amount, range)
- if not boomPart then
- boomPart = make("Part", HoningAttacks, {Transparency = 1, Anchored = true, CanCollide = false, Size = Vector3.new(.01,.01,.01)})
- seq = {NumberSequenceKeypoint.new(0, 0)}
- for i = 1, 14 do
- seq[i+1] = NumberSequenceKeypoint.new(i/14, 1 * math.random(0, 1))
- end
- boomptBlack = make("ParticleEmitter", boomPart, {Texture = "rbxassetid://2273224484", SpreadAngle = Vector2.new(360, 360), Size = NumberSequence.new(20, 0), Transparency = NumberSequence.new(0--[[seq]]), LightEmission = -2, LightInfluence = 0, Lifetime = NumberRange.new(.3), Color = ColorSequence.new(Color3.new(0,0,0)), Speed = NumberRange.new(0), Drag = 20, RotSpeed = NumberRange.new(360), Enabled = false, Acceleration = Vector3.new(0, 0, 0)})
- boompt = make("ParticleEmitter", boomPart, {Texture = "rbxassetid://2273224484", SpreadAngle = Vector2.new(360, 360), Size = NumberSequence.new(18, 0), Transparency = NumberSequence.new(0--[[seq]]), LightEmission = 1, LightInfluence = 0, ZOffset= 2, Lifetime = NumberRange.new(.3), Color = ColorSequence.new(BrickColor.new(color).Color), Speed = NumberRange.new(0), Drag = 20, RotSpeed = NumberRange.new(360), Enabled = false, Acceleration = Vector3.new(0, 0, 0)})
- end
- boomptBlack.Size = NumberSequence.new(20 + ((function() if range then return range/100 else return nil end end)() or 0), 0)
- boompt.Color = ColorSequence.new(BrickColor.new(color).Color)
- boompt.Size = NumberSequence.new(18 + ((function() if range then return range/100 else return nil end end)() or 0), 0)
- boomPart.Position = pos
- boomptBlack:Emit(1)
- boompt:Emit(1)
- end
- function effect(hit, dmg, crit)
- if not hit.Parent:FindFirstChildOfClass("Humanoid") or hit.Parent:FindFirstChildOfClass("Humanoid").Health <= 0 then return end
- local hum = hit.Parent:FindFirstChildOfClass("Humanoid")
- if mode == "gust" then
- if crit then
- hum.Health = hum.Health - dmg
- if hum.Health <= 0 then
- print("Killer hit! Crit point increased! (Now "..dodgechance.."%)")
- dodgechance = math.clamp(dodgechance+math.random(1,2), 0, 100)
- end
- else
- hum:TakeDamage(dmg)
- if hum.Health <= 0 then
- print("Killer hit! Crit point increased! (Now "..dodgechance.."%)")
- dodgechance = math.clamp(dodgechance+math.random(1,2), 0, 100)
- end
- end
- hit.Anchored = false
- local bv = make("BodyVelocity", hit, {MaxForce = Vector3.new(1e9, 1e9, 1e9), Velocity = Vector3.new(math.random(-10, 10), math.random(10, 20), math.random(-10, 10)) * 3})
- game:GetService("Debris"):AddItem(bv, 0.1)
- end
- end
- function region3Effect(place, range, crit)
- spawn(function()
- local reg = Region3.new((place * CFrame.new(-range/2, -range/2, -range/2)).p, (place * CFrame.new(range/2, range/2, range/2)).p)
- yes = workspace:FindPartsInRegion3WithIgnoreList(reg, {owner.Character, workspace.Base}, 5)
- for _,v in pairs(yes) do
- if crit then
- effect(v, 5, crit)
- else
- effect(v, 2)
- end
- end
- end)
- end
- function missile(col, origin)
- if nearest == nil or nearest.Parent == nil then return end
- local r = game:service("RunService")
- local chosenCol = nil
- local crit = false
- if math.random(100/dodgechance) == 1 then
- chosenCol = Color3.new(0,0,0)
- crit = true
- else
- chosenCol = BrickColor.new(color).Color
- end
- local shaft = make("Part", nil, {Size = Vector3.new(1, 1, 1), Shape = Enum.PartType[shape] or "Block", CanCollide = false, Material = "Neon", Color = chosenCol, CFrame = (origin or pl.Character.HumanoidRootPart.CFrame or CFrame.new(math.random(-1000, 1000), math.random(0, 1000), math.random(-1000, 1000))) * CFrame.Angles(0, 0, math.rad(90)) * CFrame.Angles(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360))), Transparency = 0})
- local bg = make("BodyGyro", shaft, {D = 200, P = 1500, MaxTorque = Vector3.new(0,0,0)})
- local position = shaft.Position
- local direction = nil
- local connection = nil
- local count = 1
- local blow = function(hit)
- local pos = shaft.Position
- if hit:IsDescendantOf(HoningAttacks) or hit:IsDescendantOf(pl.Character) then
- return
- elseif hit.Name == "Base" and count < 3 then
- count = count + 1
- return
- end
- if math.random(100/dodgechance) == 1 then
- region3Effect(shaft.CFrame, 100, true)
- else
- region3Effect(shaft.CFrame, 100, false)
- end
- shaft.Anchored = true
- boom(shaft.Position)
- shaft:Remove()
- blow = nil
- connection:disconnect()
- end
- shaft.Parent = HoningAttacks
- local att = Instance.new("Attachment")
- att.Position = Vector3.new(0, 0.4, 0)
- local att2 = Instance.new("Attachment")
- att2.Position = Vector3.new(0, -0.4, 0)
- local trail = Instance.new("Trail")
- trail.Color = ColorSequence.new(shaft.Color, (function()
- if shaft.Color == Color3.new(0,0,0) then
- return BrickColor.new(color).Color
- else
- return Color3.new(1,1,1)
- end
- end)())
- trail.Lifetime = 0.5
- trail.FaceCamera = true
- trail.LightInfluence = 0
- trail.LightEmission = (function()
- _,_,v = shaft.Color:ToHSV()
- return v/2
- end)()
- trail.WidthScale = NumberSequence.new(1, 0)
- trail.Transparency = NumberSequence.new(0, 1)
- trail.Attachment0 = att
- trail.Attachment1 = att2
- trail.Enabled = true
- att.Parent = shaft
- att2.Parent = shaft
- trail.Parent = shaft
- game:GetService("Debris"):AddItem(shaft,10)
- spawn(function()
- repeat
- if shaft:IsDescendantOf(workspace) then
- if nearest == nil or nearest.Parent == nil then return end
- bg.MaxTorque = Vector3.new(20000,20000,20000)
- bg.D = bg.D - 1
- bg.P = bg.P + 7.5
- bg.CFrame = CFrame.new(shaft.Position, nearest.Position)
- if crit then
- -- clone(shaft, shaft.Color, Vector3.new(0,0,0), BrickColor.new(color).Color)
- else
- -- clone(shaft, shaft.Color, Vector3.new(0,0,0), Color3.new(1,1,1))
- end
- direction = shaft.CFrame.lookVector * 5
- position = position + direction
- local err = position - shaft.Position
- shaft.Velocity = 5*err
- end
- r.Stepped:wait()
- until not shaft:IsDescendantOf(workspace)
- blow(Instance.new("Humanoid"))
- end)
- connection = shaft.Touched:Connect(blow)
- end
- game:GetService("RunService").Stepped:Connect(function()
- pcall(function()
- lastc = owner.Character.HumanoidRootPart.CFrame
- end)
- pcall(function()
- for _,v in pairs(game.Workspace:GetDescendants()) do
- if v:IsA("Humanoid") and v.Parent ~= pl.Character and v.Health > 0 then
- if not nearest or nearest == nil then
- nearest = v.Parent:FindFirstChildOfClass("Part")
- elseif nearest then
- if (nearest.Position - pl.Character.HumanoidRootPart.Position).Magnitude > (v.Parent:FindFirstChildOfClass("Part").Position - pl.Character.HumanoidRootPart.Position).Magnitude then
- nearest = v.Parent:FindFirstChildOfClass("Part")
- end
- end
- end
- end
- end)
- end)
- ---------------CHAT CMDS------------------------
- owner.Chatted:Connect(function(cha)
- if string.sub(cha, 1, 6) == "color/" then
- color = string.sub(cha, 7)
- elseif string.sub(cha, 1, 6) == "shape/" then
- shape = string.sub(cha, 7)
- elseif string.sub(cha, 1, 4) == "mat/" then
- mat = string.sub(cha, 5)
- elseif string.sub(cha, 1, 8) == "reflect/" then
- ref = tonumber(string.sub(cha, 9))
- print(ref)
- elseif string.sub(cha, 1, 6) == "trans/" then
- trans = tonumber(string.sub(cha, 7))
- print(trans)
- elseif string.sub(cha, 1, 5) == "fire/" then
- if string.sub(cha, 6) == "true" then enabled = true elseif string.sub(cha, 6) == "false" then enabled = false end
- end
- end)
- print([[
- Made by PhoenixClockworks
- Moves:
- ~> Homing attack:
- - Key: Q (Holdable)
- - Damage: 2 per hit.
- - Crit Damage: 5 per hit.
- - Desc: Will automatically track people nearest to your character.
- - Can crit: Yes. Critical missiles will be black.
- ~> Dodge:
- - Key: (None) Passive
- - Desc: % Chance of auto dodge when damaged.
- ~> Teleportation:
- - Key: E
- - Desc: Teleports you to the mouse
- ~> Sprint:
- - Key: Z (Toggleable)
- - Desc: Speeds you up.
- Customization:
- ~> Change shape:
- - shape/{'Ball' or 'Block' or 'Cylinder' (Ball or Block are recommended)}
- ~> Change color:
- - color/{A brick color here (e.g. Lime green)}
- ~> Change material:
- - mat/{a material (e.g Neon)}
- ~> Change reflectance:
- - reflect/{a decimal number below 1 (and above 0, or 0. e.g 0.3)}
- ~> Change transparency:
- - trans/{a decimal number below 1 (and above 0, or 0. e.g 0.3)}
- ~> Turn fire on or off:
- - fire/{true (on) or false (off)}
- Global chance % starts at 10, increases by 1-2 with every kill
- ]])
- owner.CharacterAdded:Connect(makeCharacter)
- owner:LoadCharacter()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement