Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --https://github.com/Mokiros/roblox-FE-compatibility
- if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
- local Player,Mouse,mouse,UserInputService,ContextActionService = owner
- local RealPlayer = Player
- do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end 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 ChargeAt(Strength,lastfor)
- local BV = Instance.new("BodyVelocity",HM)
- BV.maxForce = Vector3.new(5e4,0,5e4)
- BV.velocity = HM.CFrame.lookVector *Strength
- if lastfor == nil then lastfor = 0.1 end
- game.Debris:AddItem(BV,lastfor)
- end
- local function Damage(hit,mm,knockback)
- if hit ~= nil and hit.Parent ~= nil and damen == true and hit.Parent ~= Char and hit.Parent:FindFirstChild("Humanoid") ~= nil and hit.Parent:FindFirstChild("Humanoid").Health > 0 then
- if game.Players:FindFirstChild(hit.Parent) ~= nil and game.Players:FindFirstChild(hit.Parent).TeamColor == "Bright orange" then
- return
- end
- hit.Parent.Humanoid:TakeDamage(mm)
- if knockback ~= nil and knockback ~= 0 then
- local v = Instance.new("BodyVelocity",hit.Parent.Torso)
- v.maxForce = Vector3.new(5e4,0,5e4)
- v.P = 1e20
- v.velocity = HM.CFrame.lookVector *knockback
- game.Debris:AddItem(v,0.5)
- end
- coroutine.resume(coroutine.create(function()
- ShowDmg(mm)
- end))
- damen = false
- end
- end
- local function MagDamage(magnitude,part,damg,knockback,ignoretime)
- if ignoretime == 0 or ignoretime == nil then
- ignoretime = 0.5
- end
- local Body = GetDistance(part,magnitude)
- if Body ~= nil and Body.Humanoid and Body ~= Char and not ignore[Body] then
- ignore[Body] = true
- Body.Humanoid:TakeDamage(damg)
- spawn(function()
- ShowDmg(damg)
- end)
- if knockback ~= nil and Body.Torso ~= nil then
- local v = Instance.new("BodyVelocity",Body.Torso)
- v.maxForce = Vector3.new(5e4,0,5e4)
- v.P = 1e20
- v.velocity = HM.CFrame.lookVector *knockback
- game.Debris:AddItem(v,0.1)
- end
- coroutine.resume(coroutine.create(function()
- wait(ignoretime)
- ignore[Body] = false
- end))
- end
- end
- local 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 function Slash1()
- for i = 1,10 do
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(math.pi/2.3,0,-math.pi/5),armspeed*1.3)
- lerp(WRS,WRS.C0,RSC0 *CFrame.Angles(math.pi/2,0,math.pi/10),armspeed*1.3)
- lerp(WLH,WLH.C0,LHC0,legspeed)
- lerp(WRH,WRH.C0,RHC0,legspeed)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.Angles(0,0,-math.pi/5),speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(0,0,math.pi/5),speed)
- if Vector3.new(HM.Velocity.X,0,HM.Velocity.Z).magnitude >= 2 then
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- end
- Rwait()
- end
- damen = true
- local dmgbx = Hitbox.Touched:connect(function(hit) Damage(hit,math.random(8,14),3) end)
- PlaySound(Claw,1,1.1,Sounds[1])
- for i = 1,13 do
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(math.pi/3,0,-math.pi/3),armspeed*1.3)
- lerp(WRS,WRS.C0,RSC0 *CFrame.new(0,0,-0.5) *CFrame.Angles(math.pi/2,0,-math.pi/3),armspeed*1.3)
- lerp(WLH,WLH.C0,LHC0,legspeed)
- lerp(WRH,WRH.C0,RHC0,legspeed)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.Angles(0,0,math.pi/5),speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(0,0,-math.pi/5),speed)
- if Vector3.new(HM.Velocity.X,0,HM.Velocity.Z).magnitude >= 2 then
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- end
- Rwait()
- end
- damen = false
- dmgbx:disconnect()
- end
- local function Slash2()
- for i = 1,10 do
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(0,0,-math.pi/8),armspeed*1.3)
- lerp(WRS,WRS.C0,RSC0 *CFrame.Angles(math.pi/1.2,math.pi/2,math.pi/5),armspeed*1.3)
- lerp(WLH,WLH.C0,LHC0,legspeed)
- lerp(WRH,WRH.C0,RHC0,legspeed)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.Angles(0,0,-math.pi/5),speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(0,0,math.pi/5),speed)
- if Vector3.new(HM.Velocity.X,0,HM.Velocity.Z).magnitude >= 2 then
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- end
- Rwait()
- end
- damen = true
- local dmgbx = Hitbox.Touched:connect(function(hit) Damage(hit,math.random(8,14),3) end)
- PlaySound(Claw,1,1,Sounds[1])
- for i = 1,13 do
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(-math.pi/7,0,-math.pi/4),armspeed*1.3)
- lerp(WRS,WRS.C0,RSC0 *CFrame.new(0,0,-0.5) *CFrame.Angles(math.pi/6,math.pi/5,0),armspeed*1.3)
- lerp(WLH,WLH.C0,LHC0,legspeed)
- lerp(WRH,WRH.C0,RHC0,legspeed)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.Angles(0,0,math.pi/5),speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(0,0,-math.pi/5),speed)
- if Vector3.new(HM.Velocity.X,0,HM.Velocity.Z).magnitude >= 2 then
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- end
- Rwait()
- end
- damen = false
- dmgbx:disconnect()
- end
- local function Kick3()
- damen = true
- local dmgbx = RL.Touched:connect(function(hit) Damage(hit,math.random(5,8),10) end)
- PlaySound(RL,1,1.2,Sounds[2])
- ChargeAt(80,0.1)
- for i = 1,10 do
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(math.pi/5,0,0),armspeed)
- lerp(WRS,WRS.C0,RSC0 *CFrame.Angles(0,0,math.pi/5),armspeed)
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,math.pi/7),legspeed*1.3)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.pi/2.5),legspeed*1.3)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.Angles(-math.pi/7,0,0),speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(math.pi/4,0,0),speed)
- Rwait()
- end
- damen = false
- dmgbx:disconnect()
- end
- local function Slash4()
- damen = true
- local dmgbx = Hitbox.Touched:connect(function(hit) Damage(hit,math.random(8,14),3) end)
- PlaySound(Claw,1,1.2,Sounds[1])
- for i = 1,10 do
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(0,0,-math.pi/8),armspeed*1.3)
- lerp(WRS,WRS.C0,RSC0 *CFrame.Angles(math.pi/1.4,-math.pi/5,-math.pi/5),armspeed*1.3)
- lerp(WLH,WLH.C0,LHC0,legspeed)
- lerp(WRH,WRH.C0,RHC0,legspeed)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.Angles(0,0,math.pi/5),speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(0,0,-math.pi/5),speed)
- if Vector3.new(HM.Velocity.X,0,HM.Velocity.Z).magnitude >= 2 then
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- end
- Rwait()
- end
- damen = false
- dmgbx:disconnect()
- end
- function ChargeClaw()
- damen = true
- local dmgbx = Hitbox.Touched:connect(function(hit) Damage(hit,math.random(14,30),50) end)
- PlaySound(Claw,1,0.7,Sounds[1])
- ChargeAt(100,0.1)
- for i = 1,100 do
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(0,0,-math.pi/4),armspeed)
- lerp(WRS,WRS.C0,RSC0 *CFrame.Angles(0,math.pi/3,math.pi/2),armspeed)
- lerp(WLH,WLH.C0,LHC0,legspeed)
- lerp(WRH,WRH.C0,RHC0,legspeed)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.Angles(0,0,math.pi/5),speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(0,0,-math.pi/5),speed)
- if Vector3.new(HM.Velocity.X,0,HM.Velocity.Z).magnitude >= 2 then
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- end
- Rwait()
- end
- damen = false
- dmgbx:disconnect()
- end
- function GrabClaw()
- damen = true
- PlaySound(Claw,1,0.7,Sounds[2])
- local dmgbx = LA.Touched:connect(function(hit) if slamming == false and hit.Parent ~= nil and hit.Parent:FindFirstChild("Humanoid").Health >= 0 and hit.Parent:FindFirstChild("Torso") ~= nil then grabweld = Instance.new("Weld",T) grabweld.Part0 = LA grabweld.Part1 = hit.Parent.Torso grabweld.C0 = CFrame.new(0,-1.5,0) grabweld.C0 = grabweld.C0 *CFrame.Angles(-math.pi/2,math.pi,0) slamming = true print(hit,grabweld,damen) Slam(hit) end end)
- for i = 1,100 do
- if slamming == true then break end
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(math.pi/2,0,-math.pi/5),armspeed)
- lerp(WRS,WRS.C0,RSC0 *CFrame.Angles(0,0,math.pi/5),armspeed)
- lerp(WLH,WLH.C0,LHC0,legspeed)
- lerp(WRH,WRH.C0,RHC0,legspeed)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.Angles(0,0,-math.pi/5),speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(0,0,math.pi/5),speed)
- if Vector3.new(HM.Velocity.X,0,HM.Velocity.Z).magnitude >= 2 then
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- end
- Rwait()
- end
- if slamming == false then
- damen = false
- enabled = true
- end
- dmgbx:disconnect()
- end
- function Slam(hit)
- slamming = true
- for i = 1,10 do
- hit.Parent.Humanoid.PlatformStand = true
- hit.Parent.Humanoid:ChangeState(1)
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(math.pi/1.1,0,-math.pi/3),armspeed)
- lerp(WRS,WRS.C0,RSC0 *CFrame.Angles(0,0,math.pi/5),armspeed)
- lerp(WLH,WLH.C0,LHC0,legspeed)
- lerp(WRH,WRH.C0,RHC0,legspeed)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.Angles(0,0,-math.pi/5),speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(0,0,math.pi/5),speed)
- if Vector3.new(HM.Velocity.X,0,HM.Velocity.Z).magnitude >= 2 then
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- end
- Rwait()
- end
- for i = 1,20 do
- lerp(WLS,WLS.C0,LSC0 *CFrame.Angles(math.pi/2.4,0,0),armspeed)
- lerp(WRS,WRS.C0,RSC0 *CFrame.Angles(0,0,math.pi/5),armspeed)
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,-math.pi/2.4),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.pi/2.4),legspeed)
- lerp(WRJ,WRJ.C0,RJC0 *CFrame.new(0,0,-0.6) *CFrame.Angles(math.pi/2.4,0,0),speed)
- lerp(Neck,Neck.C0,NC0 *CFrame.Angles(0,0,math.pi/5),speed)
- if Vector3.new(HM.Velocity.X,0,HM.Velocity.Z).magnitude >= 2 then
- lerp(WLH,WLH.C0,LHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- lerp(WRH,WRH.C0,RHC0 *CFrame.Angles(0,0,math.sin(legangle)),legspeed)
- end
- Rwait()
- end
- Human:ChangeState(2)
- Damage(hit,math.random(12,20))
- hit.Parent.Humanoid.PlatformStand = false
- grabweld:Destroy()
- local ok = effect(hit.Parent.Torso,BrickColor.White(),Vector3.new(),hit.Parent.Torso.CFrame *CFrame.Angles(-math.pi/2,0,0),0,0.1,Vector3.new(1,1,1),1,Meshes.Blast,nil)
- PlaySound(ok,1,1.49,Sounds[4])
- slamming = false
- damen = false
- enabled = true
- end
- local click = mouse.Button1Down:connect(function()
- if on == false then return end
- if combo == 1 and enabled == true then
- enabled = false
- Slash1()
- enabled = true
- combo = 2
- coroutine.wrap(function()
- Rwait(400)
- if combo ~= 1 and enabled == true then
- combo = 1
- end
- end)()
- elseif combo == 2 and enabled == true then
- enabled = false
- Slash2()
- enabled = true
- combo = 3
- coroutine.wrap(function()
- Rwait(400)
- if combo ~= 1 and enabled == true then
- combo = 1
- end
- end)()
- elseif combo == 3 and enabled == true then
- enabled = false
- Kick3()
- enabled = true
- combo = 4
- coroutine.wrap(function()
- Rwait(400)
- if combo ~= 1 and enabled == true then
- combo = 1
- end
- end)()
- elseif combo == 4 and enabled == true then
- enabled = false
- Slash4()
- enabled = true
- combo = 1
- end
- end)
- local keys = mouse.KeyDown:connect(function(key)
- key = key:lower()
- if enabled == false then return end
- if key == "z" and on == true and enabled == true then
- enabled = false
- ChargeClaw()
- enabled = true
- end
- if key == "x" and on == true and enabled == true then
- enabled = false
- GrabClaw()
- 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