--[[ Fixer the Demon Mercenary character created by (NAME REDACTED), also known as ArkDeimos. Scripted by Fenrier. "You intrigue me, you seek power and strength, the most valuable resource of all... As do I.. heed my indstructions swordsman, and I promise you we will find him again, and you can repay all debts in blood" "BLOOD FOR THE BLOOD GOD! SKULLS FOR THE SKULL THRONE! LET THE GALAXY BURN!" ]] Player=game:GetService("Players").LocalPlayer Character=Player.Character PlayerGui=Player.PlayerGui Backpack=Player.Backpack Torso=Character.Torso Head=Character.Head Humanoid=Character.Humanoid LeftArm=Character["Left Arm"] LeftLeg=Character["Left Leg"] RightArm=Character["Right Arm"] RightLeg=Character["Right Leg"] LS=Torso["Left Shoulder"] LH=Torso["Left Hip"] RS=Torso["Right Shoulder"] RH=Torso["Right Hip"] Neck=Torso.Neck it=Instance.new vt=Vector3.new cf=CFrame.new euler=CFrame.fromEulerAnglesXYZ angles=CFrame.Angles necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) necko2=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0) LHC1=cf(-0.5,1,0,-0,-0,-1,0,1,0,1,0,0) RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0) RHC1=cf(0.5,1,0,0,0,1,0,1,0,-1,-0,-0) RootPart=Character.HumanoidRootPart RootJoint=RootPart.RootJoint RootCF=euler(-1.57,0,3.14) attack=false attackdebounce=false MMouse=nil combo=0 local con1=nil local con2=nil --player player=nil --save shoulders RSH, LSH=nil, nil --welds RW, LW=Instance.new("Weld"), Instance.new("Weld") RW.Name="Right Shoulder" LW.Name="Left Shoulder" LH=Torso["Left Hip"] RH=Torso["Right Hip"] Asset="http://www.roblox.com/asset/?id=" function swait(num) if num==0 or num==nil then game:service'RunService'.RenderStepped:wait() else for i=0,num do game:service'RunService'.RenderStepped:wait() end end end if Character:findFirstChild("Binary Sword",true) ~= nil then Character:findFirstChild("Binary Sword",true).Parent = nil end if Character:findFirstChild("Demon Blade",true) ~= nil then Character:findFirstChild("Demon Blade",true).Parent = nil end if Player.PlayerGui:findFirstChild("WeaponGUI",true) ~= nil then Player.PlayerGui:findFirstChild("WeaponGUI",true).Parent = nil end function NoOutline(Part) Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10 end function part(formfactor,parent,reflectance,transparency,brickcolor,name,size) local fp=it("Part") fp.formFactor=formfactor fp.Parent=parent fp.Reflectance=reflectance fp.Transparency=transparency fp.CanCollide=false fp.Locked=true fp.BrickColor=brickcolor fp.Name=name fp.Size=size fp.Position=Torso.Position NoOutline(fp) fp.Material="SmoothPlastic" fp:BreakJoints() return fp end function mesh(Mesh,part,meshtype,meshid,offset,scale) local mesh=it(Mesh) mesh.Parent=part if Mesh=="SpecialMesh" then mesh.MeshType=meshtype mesh.MeshId=meshid end mesh.Offset=offset mesh.Scale=scale return mesh end function weld(parent,part0,part1,c0) local weld=it("Weld") weld.Parent=parent weld.Part0=part0 weld.Part1=part1 weld.C0=c0 return weld end local fengui=it("GuiMain") fengui.Parent=Player.PlayerGui fengui.Name="WeaponGUI" local Color1=BrickColor.new("White") local Color2=BrickColor.new("Dark stone grey") local Color3=BrickColor.new("Medium stone grey") local model1=Instance.new("Model") model1.Parent=Character model1.Name="Binary Sword" BSword={} BSwordWelds={} local model2=Instance.new("Model") model2.Parent=Character model2.Name="Demon Blade" DBlade={} DBladeWelds={} prt1=part(3,model1,0,0,Color1,"Part1",vt()) prt2=part(3,model1,0,0,Color2,"Part2",vt()) msh1=mesh("BlockMesh",prt1,"","",vt(0,0,0),vt(1,1,1)) msh2=mesh("CylinderMesh",prt2,"","",vt(0,0,0),vt(2,15,2)) wld1=weld(prt1,prt1,RightArm,euler(1.57,0,0)*cf(0,1,-0.5)) wld2=weld(prt2,prt2,prt1,euler(0,0,0)*cf(0,0,0)) local hitbox1=part(3,nil,0,1,BrickColor.new("Black"),"Hitbox",vt(1,1,1)) local hitbox2=part(3,nil,0,1,BrickColor.new("Black"),"Hitbox",vt(1,1,1)) if (script.Parent.className~="HopperBin") then Tool=Instance.new("HopperBin") Tool.Parent=Backpack Tool.Name="Fixer" script.Parent=Tool end Bin=script.Parent --Bin=Tool local bodvel=Instance.new("BodyVelocity") local bg=Instance.new("BodyGyro") so = function(id,par,vol,pit) coroutine.resume(coroutine.create(function() local sou = Instance.new("Sound",par or workspace) sou.Volume=vol sou.Pitch=pit or 1 sou.SoundId=id swait() sou:play() game:GetService("Debris"):AddItem(sou,6) end)) end 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) 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 hideanim() equipped=false n=2 for i=0,1,0.05 do swait() --[[Torso.Neck.C0=necko*euler(0,0,0) RootJoint.C0=RootCF*euler(0,0,0) RW.C0=cf(1.5,0.5,0)*euler(0,0,0.5-0.5*i*n) RW.C1=cf(0,0.5,0)*euler(0,0,0) LW.C0=cf(-1.5,0.5,0)*euler(0,0,-0.5+0.5*i*n) LW.C1=cf(0,0.5,0)*euler(0,0,0)]] RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,0),.4) Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0,0,0),.4) RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(0,0,0),.4) LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(0,0,0),.4) n=n-0.1 end Torso.Neck.C0=necko Torso.Neck.C1=necko2 RootJoint.C0=RootCF RW.C0=cf(1.5,0.5,0)*euler(0,0,0) RW.C1=cf(0,0.5,0)*euler(0,0,0) LW.C0=cf(-1.5,0.5,0)*euler(0,0,0) LW.C1=cf(0,0.5,0)*euler(0,0,0) RH.C0=RHC0 RH.C1=RHC1 LH.C0=LHC0 LH.C1=LHC1 end function equipanim() equipped=true n=2 for i=0,1,0.1 do swait() --[[Torso.Neck.C0=necko*euler(0,0,0) RootJoint.C0=RootCF*euler(0,0,0) RW.C0=cf(1.5,0.5,0)*euler(0,0,0.5*i*n) RW.C1=cf(0,0.5,0)*euler(0,0,0) LW.C0=cf(-1.5,0.5,0)*euler(0,0,-0.5*i*n) LW.C1=cf(0,0.5,0)*euler(0,0,0)]] n=n-0.1 end --[[Torso.Neck.C0=necko*euler(0,0,0) RootJoint.C0=RootCF*euler(0,0,0) RW.C0=cf(1.5,0.5,0)*euler(0,0,0.5) RW.C1=cf(0,0.5,0)*euler(0,0,0) LW.C0=cf(-1.5,0.5,0)*euler(0,0,-0.5) LW.C1=cf(0,0.5,0)*euler(0,0,0)]] end function MagniDamage(Part,magni,mindam,maxdam,knock,Type) for _,c in pairs(workspace:children()) do local hum=c:findFirstChild("Humanoid") if hum~=nil then local head=c:findFirstChild("Torso") if head~=nil then local targ=head.Position-Part.Position local mag=targ.magnitude if mag<=magni and c.Name~=Player.Name then if c~=CannonTarget.Parent or c~=RailgunTarget.Parent then Damagefunc(head,mindam,maxdam,knock,Type,RootPart,.2,1,nil,1) end end end end end end function rayCast(Pos, Dir, Max, Ignore) -- Origin Position , Direction, MaxDistance , IgnoreDescendants return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore) end local Point=Torso.CFrame*cf(0,Torso.Size.Y,0) LastPoint=Point function effect(Color,Ref,LP,P1,returnn) local effectsmsh=Instance.new("CylinderMesh") effectsmsh.Scale=Vector3.new(0.2,1,0.2) effectsmsh.Name="Mesh" local effectsg=Instance.new("Part") effectsg.formFactor=3 effectsg.CanCollide=false effectsg.Name="Eff" effectsg.Locked=true effectsg.Anchored=true effectsg.Size=Vector3.new(0.5,1,0.5) effectsg.Parent=workspace effectsmsh.Parent=effectsg effectsg.BrickColor=BrickColor.new(Color) effectsg.Reflectance=Ref local point1=P1 local mg=(LP.p - point1.p).magnitude effectsg.Size=Vector3.new(0.5,mg,0.5) effectsg.CFrame=cf((LP.p+point1.p)/2,point1.p) * CFrame.Angles(math.rad(90),0,0) effectsmsh.Scale=Vector3.new(0.2,1,0.2) game:GetService("Debris"):AddItem(effectsg,2) if returnn then return effectsg end coroutine.resume(coroutine.create(function(Part,Mesh) if not returnn then for i=0,1,0.05 do wait() Part.Transparency=1*i Mesh.Scale=Vector3.new(0.5-0.5*i,1,0.5-0.5*i) end Part.Parent=nil end end),effectsg,effectsmsh) end local function CFrameFromTopBack(at, top, back) local right = top:Cross(back) return CFrame.new(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z) end function Triangle(a, b, c) local edg1 = (c-a):Dot((b-a).unit) local edg2 = (a-b):Dot((c-b).unit) local edg3 = (b-c):Dot((a-c).unit) if edg1 <= (b-a).magnitude and edg1 >= 0 then a, b, c = a, b, c elseif edg2 <= (c-b).magnitude and edg2 >= 0 then a, b, c = b, c, a elseif edg3 <= (a-c).magnitude and edg3 >= 0 then a, b, c = c, a, b else assert(false, "unreachable") end local len1 = (c-a):Dot((b-a).unit) local len2 = (b-a).magnitude - len1 local width = (a + (b-a).unit*len1 - c).magnitude local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit) local list = {} if len1 > 0.01 then local w1 = Instance.new('WedgePart', m) w1.Material = "SmoothPlastic" w1.FormFactor = 'Custom' w1.BrickColor = BrickColor.new("White") w1.Transparency = 0 w1.Reflectance = 0 w1.Material = "SmoothPlastic" w1.CanCollide = false NoOutline(w1) local sz = Vector3.new(0.2, width, len1) w1.Size = sz local sp = Instance.new("SpecialMesh",w1) sp.MeshType = "Wedge" sp.Scale = Vector3.new(0,1,1) * sz/w1.Size w1:BreakJoints() w1.Anchored = true w1.Parent = workspace w1.Transparency = 0.7 coroutine.resume(coroutine.create(function(Part) for i=0,1,0.1 do wait() Part.Transparency=Part.Transparency+0.03 end end),w1) w1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2) table.insert(list,w1) end if len2 > 0.01 then local w2 = Instance.new('WedgePart', m) w2.Material = "SmoothPlastic" w2.FormFactor = 'Custom' w2.BrickColor = BrickColor.new("White") w2.Transparency = 0 w2.Reflectance = 0 w2.Material = "SmoothPlastic" w2.CanCollide = false NoOutline(w2) local sz = Vector3.new(0.2, width, len2) w2.Size = sz local sp = Instance.new("SpecialMesh",w2) sp.MeshType = "Wedge" sp.Scale = Vector3.new(0,1,1) * sz/w2.Size w2:BreakJoints() w2.Anchored = true w2.Parent = workspace w2.Transparency = 0.7 coroutine.resume(coroutine.create(function(Part) for i=0,1,0.1 do wait() Part.Transparency=Part.Transparency+0.03 end end),w2) w2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2) table.insert(list,w2) end return unpack(list) end --[[ Things for effects put the variables in one table like effect={brick,interval,i} ]] local Effects={} function MagicBlock(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) local prt=part(3,workspace,0,0,brickcolor,"Effect",vt()) prt.Anchored=true prt.CFrame=cframe msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1)) game:GetService("Debris"):AddItem(prt,5) table.insert(Effects,{prt,"Block1",delay,x3,y3,z3}) --part, type, delay --[[coroutine.resume(coroutine.create(function(Part,Mesh,dur) for i=0,1,delay do wait() Part.CFrame=Part.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) Part.Transparency=i Mesh.Scale=Mesh.Scale+vt(x3,y3,z3) end Part.Parent=nil end),prt,msh)]] end function MagicCircle(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) local prt=part(3,workspace,0,0,brickcolor,"Effect",vt()) prt.Anchored=true prt.CFrame=cframe local msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(x1,y1,z1)) game:GetService("Debris"):AddItem(prt,5) table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3}) --[[coroutine.resume(coroutine.create(function(Part,Mesh) local wld=nil for i=0,1,delay do wait() Part.CFrame=Part.CFrame Part.Transparency=i Mesh.Scale=Mesh.Scale+vt(x3,y3,z3) end Part.Parent=nil end),prt,msh)]] end function MagicCylinder(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) local prt=part(3,Character,0,0,brickcolor,"Effect",vt(0.2,0.2,0.2)) prt.Anchored=true prt.CFrame=cframe msh=mesh("SpecialMesh",prt,"Head","",vt(0,0,0),vt(x1,y1,z1)) game:GetService("Debris"):AddItem(prt,5) --table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3}) Effects[#Effects+1]={prt,"Cylinder",delay,x3,y3,z3} --part, type, delay --[[coroutine.resume(coroutine.create(function(Part,Mesh) for i=0,1,delay do wait() Part.CFrame=Part.CFrame Part.Transparency=i Mesh.Scale=Mesh.Scale+vt(x3,y3,z3) end Part.Parent=nil end),prt,msh)]] end function MagicCylinder2(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) local prt=part(3,Character,0,0,brickcolor,"Effect",vt(0.2,0.2,0.2)) prt.Anchored=true prt.CFrame=cframe msh=mesh("CylinderMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1)) game:GetService("Debris"):AddItem(prt,5) --table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3}) Effects[#Effects+1]={prt,"Cylinder",delay,x3,y3,z3} --part, type, delay --[[coroutine.resume(coroutine.create(function(Part,Mesh) for i=0,1,delay do wait() Part.CFrame=Part.CFrame Part.Transparency=i Mesh.Scale=Mesh.Scale+vt(x3,y3,z3) end Part.Parent=nil end),prt,msh)]] end Damagefunc=function(hit,minim,maxim,knockback,Type,Property,Delay,KnockbackType,decreaseblock) if hit.Parent==nil then return end h=hit.Parent:FindFirstChild("Humanoid") for _,v in pairs(hit.Parent:children()) do if v:IsA("Humanoid") then h=v end end if hit.Parent.Parent:FindFirstChild("Torso")~=nil then h=hit.Parent.Parent:FindFirstChild("Humanoid") end if hit.Parent.className=="Hat" then hit=hit.Parent.Parent:findFirstChild("Head") end -- and hit.Parent~=CannonTarget.Parent or hit.Parent~=RailgunTarget.Parent if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then if hit.Parent~=CannonTarget.Parent and hit.Parent~=RailgunTarget.Parent then if hit.Parent:findFirstChild("DebounceHit")~=nil then if hit.Parent.DebounceHit.Value==true then return end end --[[ if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then return end]] -- hs(hit,1.2) c=Instance.new("ObjectValue") c.Name="creator" c.Value=game:service("Players").LocalPlayer c.Parent=h game:GetService("Debris"):AddItem(c,.5) Damage=math.random(minim,maxim) -- h:TakeDamage(Damage) blocked=false block=hit.Parent:findFirstChild("Block") if block~=nil then print(block.className) if block.className=="NumberValue" then if block.Value>0 then blocked=true if decreaseblock==nil then block.Value=block.Value-1 end end end if block.className=="IntValue" then if block.Value>0 then blocked=true if decreaseblock~=nil then block.Value=block.Value-1 end end end end if blocked==false then -- h:TakeDamage(Damage) h.Health=h.Health-Damage showDamage(hit.Parent,Damage,.5,BrickColor:Red()) else h.Health=h.Health-(Damage/2) showDamage(hit.Parent,Damage/2,.5,BrickColor.new("Bright blue")) end if Type=="Knockdown" then hum=hit.Parent.Humanoid hum.PlatformStand=true coroutine.resume(coroutine.create(function(HHumanoid) swait(1) HHumanoid.PlatformStand=false end),hum) local angle=(hit.Position-(Property.Position+Vector3.new(0,0,0))).unit --hit.CFrame=cf(hit.Position,Vector3.new(angle.x,hit.Position.y,angle.z))*CFrame.fromEulerAnglesXYZ(math.pi/4,0,0) local bodvol=Instance.new("BodyVelocity") bodvol.velocity=angle*knockback bodvol.P=5000 bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003) bodvol.Parent=hit rl=Instance.new("BodyAngularVelocity") rl.P=3000 rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000 rl.angularvelocity=Vector3.new(math.random(-10,10),math.random(-10,10),math.random(-10,10)) rl.Parent=hit game:GetService("Debris"):AddItem(bodvol,.5) game:GetService("Debris"):AddItem(rl,.5) elseif Type=="Normal" then vp=Instance.new("BodyVelocity") vp.P=500 vp.maxForce=Vector3.new(math.huge,0,math.huge) -- vp.velocity=Character.Torso.CFrame.lookVector*Knockback if KnockbackType==1 then vp.velocity=Property.CFrame.lookVector*knockback+Property.Velocity/1.05 elseif KnockbackType==2 then vp.velocity=Property.CFrame.lookVector*knockback end if knockback>0 then vp.Parent=hit.Parent.Torso end game:GetService("Debris"):AddItem(vp,.5) elseif Type=="Up" then local bodyVelocity=Instance.new("BodyVelocity") bodyVelocity.velocity=vt(0,30,0) bodyVelocity.P=5000 bodyVelocity.maxForce=Vector3.new(8e+003, 8e+003, 8e+003) bodyVelocity.Parent=hit game:GetService("Debris"):AddItem(bodyVelocity,1) rl=Instance.new("BodyAngularVelocity") rl.P=3000 rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000 rl.angularvelocity=Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5)) rl.Parent=hit game:GetService("Debris"):AddItem(rl,.5) elseif Type=="Snare" then bp=Instance.new("BodyPosition") bp.P=2000 bp.D=100 bp.maxForce=Vector3.new(math.huge,math.huge,math.huge) bp.position=hit.Parent.Torso.Position bp.Parent=hit.Parent.Torso game:GetService("Debris"):AddItem(bp,1) elseif Type=="Charge" then Charge=Charge+1 coroutine.resume(coroutine.create(function(Part) swait(30) for i=1,5 do swait(5) so("rbxasset://sounds\\unsheath.wav",hit,1,2) MagicCircle(BrickColor.new("Bright red"),hit.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)),.2,2,.1,.2,8,.1,0.05) newdam=math.random(1,5) if blocked==false then h:TakeDamage(newdam) showDamage(hit.Parent,newdam,.5,BrickColor:Red()) else h:TakeDamage(newdam/2) showDamage(hit.Parent,newdam,.5,BrickColor.new("Bright blue")) end end end),hit) end debounce=Instance.new("BoolValue") debounce.Name="DebounceHit" debounce.Parent=hit.Parent debounce.Value=true game:GetService("Debris"):AddItem(debounce,Delay) c=Instance.new("ObjectValue") c.Name="creator" c.Value=Player c.Parent=h game:GetService("Debris"):AddItem(c,.5) CRIT=false hitDeb=true AttackPos=6 end end end showDamage=function(Char,Dealt,du,Color) m=Instance.new("Model") m.Name=tostring(Dealt) h=Instance.new("Humanoid") h.Health=0 h.MaxHealth=0 h.Parent=m c=Instance.new("Part") c.Transparency=0 c.BrickColor=Color c.Name="Head" c.TopSurface=0 c.BottomSurface=0 c.formFactor="Plate" c.Size=Vector3.new(1,.4,1) ms=Instance.new("CylinderMesh") ms.Scale=Vector3.new(.8,.8,.8) if CRIT==true then ms.Scale=Vector3.new(1,1.25,1) end ms.Parent=c c.Reflectance=0 Instance.new("BodyGyro").Parent=c c.Parent=m if Char:findFirstChild("Head")~=nil then c.CFrame=cf(Char["Head"].CFrame.p+Vector3.new(0,1.5,0)) elseif Char.Parent:findFirstChild("Head")~=nil then c.CFrame=cf(Char.Parent["Head"].CFrame.p+Vector3.new(0,1.5,0)) end f=Instance.new("BodyPosition") f.P=2000 f.D=100 f.maxForce=Vector3.new(math.huge,math.huge,math.huge) f.position=c.Position+Vector3.new(0,3,0) f.Parent=c game:GetService("Debris"):AddItem(m,.5+du) c.CanCollide=false m.Parent=workspace c.CanCollide=false end combo=0 local hold=false function ob1d(mouse) hold=true if attack==true then return end if combo==0 then combo=1 --attackone() elseif combo==1 then combo=2 --attacktwo() elseif combo==2 then combo=3 --attackthree() elseif combo==3 then combo=4 --attackfour() elseif combo==4 then combo=0 end coroutine.resume(coroutine.create(function() for i=1,20 do if attack==false then swait() end end if attack==false then combo=0 equipanim() end end)) end function ob1u(mouse) hold = false end buttonhold = false eul=0 holdx=false equipped=false function key(key) if attack==true then return end if key=="f" then if equipped==false then equipped=true RSH=ch.Torso["Right Shoulder"] LSH=ch.Torso["Left Shoulder"] -- RSH.Parent=nil LSH.Parent=nil -- RW.Name="Right Shoulder" RW.Part0=ch.Torso RW.C0=cf(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5) RW.C1=cf(0, 0.5, 0) RW.Part1=ch["Right Arm"] RW.Parent=ch.Torso -- LW.Name="Left Shoulder" LW.Part0=ch.Torso LW.C0=cf(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8) LW.C1=cf(0, 0.5, 0) LW.Part1=ch["Left Arm"] LW.Parent=ch.Torso -- equipanim() else equipped=false hideanim() swait(0) RW.Parent=nil LW.Parent=nil RSH.Parent=player.Character.Torso LSH.Parent=player.Character.Torso end end if equipped==false then return end if key=="0" then Humanoid.WalkSpeed=(16*2) end end function key2(key) if key=="0" then Humanoid.WalkSpeed=16 end end function s(mouse) mouse.Button1Down:connect(function() ob1d(mouse) end) mouse.Button1Up:connect(function() ob1u(mouse) end) mouse.KeyDown:connect(key) mouse.KeyUp:connect(key2) player=Player ch=Character MMouse=mouse end function ds(mouse) end Bin.Selected:connect(s) Bin.Deselected:connect(ds) print("Fixer the Demon Mercenary loaded.") local Anim="Idle" local idleanim=0 local idleanim2=false while true do swait() local torvel=(RootPart.Velocity*Vector3.new(1,0,1)).magnitude if equipped==true then if idleanim>=0.5 then idleanim2=true elseif idleanim<=0 then idleanim2=false end if idleanim2==false then idleanim=idleanim+0.003 else idleanim=idleanim-0.003 end if RootPart.Velocity.y > 5 then Anim="Jump" RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0.1,0,0),.2) Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(-0.4,0,0),.2) RH.C0=clerp(RH.C0,cf(1,-0.5,-1)*euler(-0.5,1.57,0),.2) LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(-0.7,-1.57,0),.2) end elseif RootPart.Velocity.y < -5 then Anim="Fall" RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(-0.1,0,0),.2) Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0.4,0,0),.2) RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0.4,1.57,0),.2) LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(-0.2,-1.57,0),.2) elseif torvel<1 then Anim="Idle" RH.C0=clerp(RH.C0,RHC0,.2) LH.C0=clerp(LH.C0,LHC0,.2) RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,0),.2) Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0,0,0),.2) RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(idleanim,0,0.5-idleanim),.2) LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(idleanim,0,-0.5+idleanim),.2) elseif torvel>2 and torvel<22 then Anim="Walk" RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,0),.2) Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0,0,0),.2) RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-0.5,0,0),.2) LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-0.5,0,0),.2) elseif torvel>=22 then Anim="Run" RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0.5,0,0),.3) Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(-0.3,0,0),.3) RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-1,0,0),.3) LW.C0=clerp(LW.C0,cf(-1,0.5,-0.5)*euler(1.57,0,1),.3) end end if #Effects>0 then --table.insert(Effects,{prt,"Block1",delay}) for e=1,#Effects do if Effects[e]~=nil then --for j=1,#Effects[e] do local Thing=Effects[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] if Thing[1].Transparency<=1 then if Thing[2]=="Block1" then Thing[1].CFrame=Thing[1].CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) 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]=="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] end else Part.Parent=nil table.remove(Effects,e) end end --end end end end --[[ Copyrighted (C) Fenrier 2014 ]]