Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local function lerp(weld,beglerp,endlerp,speed)
- weld.C0 = beglerp:lerp(endlerp,speed)
- return weld.C0
- end
- local function lerp2(weld,beglerp,endlerp,speed)
- weld.C0 = beglerp:lerp(endlerp,speed)
- return weld.C1
- end
- local speed = 0.2
- local angle = 0
- local anglespeed = 2
- local armspeed = 0.2
- local armangle = 0
- local armanglespeed = 2
- local legspeed = 0.2
- local legangle = 0
- local leganglespeed = 2
- local ignore = {}
- local on = true
- local damen = true
- local enabled = true
- local slamming = false
- local combo = 1
- local Player = game.Players.LocalPlayer
- local mouse = Player:GetMouse()
- local Char = Player.Character
- local Character = Char
- local Human = Char.Humanoid
- local Sounds = {"rbxassetid://200633148","rbxassetid://200632211","rbxassetid://2101137","rbxassetid://136523485"}
- local Head = Char.Head
- local LA = Char:findFirstChild("Left Arm")
- local RA = Char:findFirstChild("Right Arm")
- local LL = Char:findFirstChild("Left Leg")
- local RL = Char:findFirstChild("Right Leg")
- local T = Char:findFirstChild("Torso")
- local LS = T:findFirstChild("Left Shoulder")
- local RS = T:findFirstChild("Right Shoulder")
- local LH = T:findFirstChild("Left Hip")
- local RH = T:findFirstChild("Right Hip")
- local Neck = T:findFirstChild("Neck")
- local HM = Char:findFirstChild("HumanoidRootPart")
- local RJ = Char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint")
- local WLS = Instance.new("Weld", T)
- WLS.C0 = CFrame.new(-1.5, 0.5, 0)
- WLS.C1 = CFrame.new(0, 0.5, 0)
- WLS.Part0 = T
- WLS.Part1 = LA
- local WRS = Instance.new("Weld", T)
- WRS.Part0 = T
- WRS.Part1 = RA
- WRS.C0 = CFrame.new(1.5, 0.5, 0)
- WRS.C1 = CFrame.new(0, 0.5, 0)
- local WLH = LH
- local WRH = RH
- local LSC0 = WLS.C0
- local RSC0 = WRS.C0
- local LHC0 = CFrame.new(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- local LHC1 = CFrame.new(-0.5, 1 ,0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- local RHC0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- local RHC1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- local WRJ = RJ
- local RJC0 = WRJ.C0
- local RJC1 = WRJ.C1
- local NC0 = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- local NC1 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- local Run = game:GetService("RunService")
- RJC = RJ:Clone()
- LSH = LS:Clone()
- RSH = RS:Clone()
- LHH = LH:Clone()
- RHH = RH:Clone()
- Anim = Char:FindFirstChild("Animate")
- if Anim ~= nil then
- Anim.Parent = nil
- end
- Animate = Human:FindFirstChild("Animator")
- if Animate ~= nil then
- Animate.Parent = nil
- end
- WLS.Parent = T
- WRS.Parent = T
- WLH.Parent = T
- WRH.Parent = T
- WRJ.Parent = T
- m=Instance.new('Model',Character)
- it=Instance.new
- 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,material,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.new(tostring(brickcolor))
- fp.Name=name
- fp.Size=size
- fp.Position=Character.Torso.Position
- nooutline(fp)
- fp.Material=material
- 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,c1)
- local weld=it("Weld")
- weld.Parent=parent
- weld.Part0=part0
- weld.Part1=part1
- weld.C0=c0
- weld.C1=c1
- return weld
- end
- Claw=part(Enum.FormFactor.Brick,m,Enum.Material.SmoothPlastic,0,1,"Really black","Handle",Vector3.new(1, 1.5, 1))
- Clawweld=weld(m,Character["Right Arm"],Claw,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0149011612, 0.25, -0.0200300217, -1, 0, 0, 0, 0.999999881, 0, 0, 0, -1))
- Part=part(Enum.FormFactor.Brick,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(1, 1.5, 1))
- Partweld=weld(m,Claw,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1))
- mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1.10000002, 1.10000002, 1.10000002))
- Part=part(Enum.FormFactor.Brick,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(1, 0.200000003, 1))
- Partweld=weld(m,Claw,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0, -0.549998999, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1))
- mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1.20000005, 1.20000005, 1.20000005))
- Part=part(Enum.FormFactor.Symmetric,m,Enum.Material.Plastic,0,0,"Institutional white","Part",Vector3.new(0.299999952, 1, 1.39999998))
- Partweld=weld(m,Claw,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.594539642, -0.0200266838, -0.508953333, -0.970295787, 0.241921946, 0, 0, 0, -1, -0.241921946, -0.970295787, 0))
- mesh("SpecialMesh",Part,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=10681506",Vector3.new(0, 0, 0),Vector3.new(2, 1.5, 1))
- Hitbox = Part
- local Meshes={
- Blast="20329976",
- Crown="1323306",
- Ring="3270017",
- Claw="10681506",
- Crystal="9756362",
- Coil="9753878",
- Cloud="1095708",
- Skull="4770583",
- }
- local function nooutlines(part)
- part.TopSurface,part.BottomSurface,part.LeftSurface,part.RightSurface,part.FrontSurface,part.BackSurface = 10,10,10,10,10,10
- end
- local function getmesh(mesh)
- return "rbxassetid://"..mesh
- end
- local function effect(part,brickcolor,size,cframe,trans,transincrement,scaleby,loopwait,meshid,meshtype)
- local p = Instance.new("Part", part or workspace)
- p.Anchored = true
- p.CanCollide = false
- p.FormFactor = Enum.FormFactor.Custom
- p.Material = "SmoothPlastic"
- p.CFrame = cframe
- p.BrickColor = brickcolor
- p.Size = Vector3.new(1,1,1)
- p.Transparency = trans
- nooutlines(p)
- local m = Instance.new("SpecialMesh",p)
- if meshtype ~= nil and meshid == nil then
- m.MeshType = meshtype
- end
- if meshtype == nil and meshid ~= nil then
- m.MeshId = getmesh(meshid)
- end
- m.Scale = size
- coroutine.wrap(function()
- for i = 0,loopwait,0.1 do
- p.CFrame = p.CFrame
- p.Transparency = p.Transparency +transincrement
- m.Scale = m.Scale + scaleby
- wait(1/60)
- end
- p:Destroy()
- end)()
- return p
- end
- function Rwait(long)
- if long == 0 or long == nil then
- Run.RenderStepped:wait()
- else
- for i = 0,long do
- Run.RenderStepped:wait()
- end
- end
- end
- local PlaySound = function(part,volume,pitch,id,looped)
- local Sound = Instance.new("Sound", part)
- Sound.SoundId = id
- Sound.Pitch = pitch
- Sound.Volume = volume
- coroutine.wrap(function()
- wait()
- Sound:Play()
- if looped == nil then
- game.Debris:AddItem(Sound,10)
- end
- end)()
- if looped == true then
- Sound.Looped = true
- ThisSound = Sound
- end
- end
- local function GetDistance(Obj,Mag)
- for _,v in pairs(workspace:GetChildren()) do
- if v:FindFirstChild('Humanoid') and v:FindFirstChild('Torso') and v ~= Char then
- local Mag2 = (v.Torso.Position - Obj.Position).magnitude
- if Mag2 < Mag then
- return v
- end
- end
- end
- end
- local ShowDmg = function(totake)
- local modl = Instance.new("Model", workspace)
- modl.Name = tostring(totake)
- local prt = Instance.new("Part", modl)
- prt.CanCollide = false
- prt.BrickColor = BrickColor.Red()
- prt.Name = "Head"
- prt.CFrame = HM.CFrame *CFrame.new(0, 1.5, 0)
- prt.TopSurface = 0
- prt.BottomSurface = 0
- prt.FormFactor = 3
- prt.Size = Vector3.new(1, 0.2, 1)
- local bm = Instance.new("BlockMesh", prt)
- local hum = Instance.new("Humanoid", modl)
- hum.Health = 0
- hum.MaxHealth = 0
- hum.WalkSpeed = 0
- bodypos = Instance.new("BodyPosition", prt)
- bodypos.position = Head.Position +Vector3.new(0, 1, 0)
- bodypos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- game.Debris:AddItem(modl, 1)
- coroutine.resume(coroutine.create(function()
- for i = 1, 3 do
- bodypos.position = bodypos.position +Vector3.new(0, 0.5, 0)
- Rwait()
- end
- end))
- end
- local function Cast(Pos,Dir,Amp,IgnoreList)
- return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit*Amp), IgnoreList)
- end
- while true do
- local surface = Cast(HM.Position,(CFrame.new(HM.Position,HM.Position - Vector3.new(0,1,0))).lookVector,4,Char)
- if on == true then
- angle = (angle % 100) +anglespeed/10
- armangle = (armangle % 100) +armanglespeed/10
- legangle = (legangle % 100) +leganglespeed/10
- if action == "Idle" and enabled == true and surface ~= nil then
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(-math.pi/8,0,0),armspeed)
- lerp(WRS,WRS.C0,RSC0 *CFrame.Angles(0,-math.pi/1.5,-math.pi/8),armspeed)
- lerp(WLH,WLH.C0,LHC0 *CFrame.new(-0.5,0,0),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.new(0,-0.25,0) *CFrame.Angles(0,0,-math.pi/5),legspeed)
- lerp(WRJ,WRJ.C0,RJC0,speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(math.sin(angle*0.25)*0.05,0,0),speed)
- end
- if action == "Walk" and enabled == true and surface ~= nil then
- lerp(WLS,WLS.C0,LSC0 *CFrame.new(1.7,math.cos(armangle*0.25)*0.25,-1) *CFrame.Angles(math.pi/2,0,math.pi/1.9),armspeed)
- lerp(WRS,WRS.C0,RSC0 *CFrame.new(0,math.cos(armangle*0.25)*0.25,0) *CFrame.Angles(math.pi/2,0,math.pi/1.4),armspeed)
- lerp(WLH,WLH.C0,LHC0 *CFrame.new(0,0.1-math.sin(angle*0.25)*0.25,0) *CFrame.Angles(0,0,-math.pi/30+math.sin(legangle)),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.new(0,0.1-math.sin(angle*0.25)*0.25,0) *CFrame.Angles(0,0,math.pi/30+math.sin(legangle)),legspeed)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.new(0,0,-0.2+math.sin(angle*0.25)*0.25) *CFrame.Angles(math.pi/8,0,0),speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(-math.pi/8,0,0),speed)
- end
- if HM.Velocity.Y >= 5 and enabled == true and surface == nil then
- action = "Jump"
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(-math.pi/6,0,0),armspeed)
- lerp(WRS,WRS.C0,RSC0 *CFrame.Angles(math.pi/4,0,0),armspeed)
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,math.pi/10),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.pi/5),legspeed)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.new(0,math.pi/5,0),speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(-math.pi/8,0,0),speed)
- Rwait()
- end
- if HM.Velocity.Y <= -5 and enabled == true and surface == nil then
- action = "Fall"
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(math.pi/8,0,0),armspeed)
- lerp(WRS,WRS.C0,RSC0 *CFrame.Angles(math.pi/8,0,0),armspeed)
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,math.pi/10),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.pi/4),legspeed)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.Angles(math.pi/8,0,0),speed)
- lerp(Neck,Neck.C0,NC0,speed)
- Rwait()
- end
- if Vector3.new(HM.Velocity.X,0,HM.Velocity.Z).magnitude <= 2 then
- action = "Idle"
- elseif Vector3.new(HM.Velocity.X,0,HM.Velocity.Z).magnitude >= 2 then
- action = "Walk"
- end
- end
- Rwait()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement