--Pic: JuwnLJu -- Bn9vQpCvtFpBOVQsueP1c= --Corner mesh: http://www.roblox.com/asset/?id=11294911-- Create = function(Class) local C = Instance.new(Class) return function(Properties) for i,v in pairs(Properties) do C[i]=v end return C end end Set = function(C,...) return function(Properties) for i,v in pairs(Properties) do C[i]=v end return C end end local AW = {} function AnimationWeld(PR,C0,C1,P0,P1) local a = {} a.Orig1 = C1 a.Orig0 = C0 a.C0 = C0 a.C1 = C1 a.P1 = P1 a.P0 = P0 a.TargetC0 = C0 a.TargetC1 = C1 a.PR = PR a.Weld = Instance.new("Weld", PR) a.Weld.Part1 = P1 a.Weld.Part0 = P0 a.Weld.C1 = C1 a.Weld.C0 = C0 function a.OnUpdate() end function a:Update() -- let me look at bugs list -- pretty sure manualweld is same thing pretty much -- it says it's used by studio's tools, which are client sided -- this is a client side / server side issue, lets try normal weld real quick ok? self.Weld.C0 = self.C0 * self.C1:inverse() --self.Weld.C1 = self.C1 self.Weld.C1 = CFrame.new() self.Weld.Part1 = self.P1 self.Weld.Part0 = self.P0 self.Weld.Parent = self.PR a.OnUpdate(self) end table.insert(AW,a) return a end Player = game.Players.LocalPlayer Mouse = Player:GetMouse() Character = Player.Character Torso = Character.Torso P = Character["Right Arm"] local Handle = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0.4,1.5,0); Name = "Handle"; BrickColor = BrickColor.new("Bright yellow"); Reflectance = 0.5; Parent = P;} Handle:breakJoints() --Welds-- local HandleW = AnimationWeld(Handle,CFrame.new(0,0,0),CFrame.new(0,0,0),P,Handle) --[[Parent = Handle; Part1 = Handle; Part0 = P; --C1 = CFrame.new(0,0,-4); C0 = CFrame.new(0,0,0);}]] local HandleM = Create'SpecialMesh'{ Parent = Handle; MeshType = "Brick"; Scale = Vector3.new(0.5,1,0.5);} --Parts-- local Handle2 = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0.4,Handle.Size.Y,0); Name = "Handle"; BrickColor = BrickColor.new("Dusty Rose"); Reflectance = 0; Parent = P;} Handle2:breakJoints() local Handle2W = Create'ManualWeld'{ Parent = Handle; Part1 = Handle; Part0 = Handle2; C1 = CFrame.new(0,0,0); C0 = CFrame.new(0,0,0);} local Handle2M = Create'SpecialMesh'{ Parent = Handle2; MeshType = "Brick"; Scale = Vector3.new(0.40,1,0.7);} local HBottom = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0,0.4,0.4); BrickColor = BrickColor.new("Bright yellow"); Reflectance = 0.5; Parent = Handle;} HBottom:breakJoints() --Other-- local HBottomW = Create'ManualWeld'{ Parent = HBottom; Part1 = Handle; Part0 = HBottom; C0 = CFrame.new(0,Handle.Size.Y/2,0)*CFrame.Angles(0,math.rad(90),0); C1 = CFrame.new(0,0,0);} local HBottomM = Create'SpecialMesh'{ Parent=HBottom; MeshType = "Cylinder"; Scale=Vector3.new(0.5,0.6,0.6);} --Parts -- local HBottom2 = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0,0.4,0.4); BrickColor = BrickColor.new("Dusty Rose"); Reflectance = 0; Parent = HBottom;} HBottom2:breakJoints() local HBottom2W = Create'ManualWeld'{ Parent = HBottom2; Part1 = HBottom; Part0 = HBottom2; C0 = CFrame.new(0,0,0); C1 = CFrame.new(0,0,0);} local HBottom2M = Create'SpecialMesh'{ Parent=HBottom2; MeshType = "Cylinder"; Scale=Vector3.new(0.7,0.50,0.50);} local HRing = Create'Part'{ Parent = Handle; FormFactor = "Custom"; Size = Vector3.new(0.5,0.5,0); Reflectance = 0.2; BrickColor = BrickColor.new("Sand red");} HRing:breakJoints() local RingM = Create'SpecialMesh'{ Parent = HRing; MeshId = "http://www.roblox.com/asset/?id=3270017"; Scale = Vector3.new(0.25,0.25,0.25);} local RingW = Create'ManualWeld'{ Parent = HRing; Part1 = Handle; Part0 = HRing; C1 = CFrame.new(0,0,0); C0 = CFrame.new(0,Handle.Size.Y/2,0);} local HBall = Create'Part'{ Parent = Handle; FormFactor = "Custom"; Size = Vector3.new(0.5,0.5,0.5); Reflectance=0.2; BrickColor = BrickColor.new("Sand red");} HBall:breakJoints() local BallM = Create'SpecialMesh'{ Parent = HBall; MeshType = "Sphere"; Scale = Vector3.new(0.4,0.4,0.4);} local BallW = Create'ManualWeld'{ Parent = HBall; Part1 = Handle; Part0 = HBall; C1 = CFrame.new(0,0,0); C0 = CFrame.new(0,Handle.Size.Y/2,0);} local HMainRod = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0.4,Handle.Size.Y,0.4); Parent = Handle; Reflectance=0.2; BrickColor = BrickColor.new("Sand red");} HMainRod:breakJoints() local HMainRodW = Create'ManualWeld'{ Parent = HMainRod; Part1 = Handle; Part0 = HMainRod; C1 = CFrame.new(0,0,0); C0 = CFrame.new(0,0,0);} local HMainRodM = Create'CylinderMesh'{ Parent = HMainRod; Scale = Vector3.new(0.4,1,0.4);} local Rods = {} for i = 2,5 do local a = Create'Part'{ FormFactor = "Custom"; Size=Vector3.new(0.4,0,0); BrickColor = BrickColor.new("Dusty Rose"); Parent=Handle;} a:breakJoints() local aM = Create'SpecialMesh'{ MeshType = "Cylinder"; Scale = Vector3.new(0.6,0.4,0.4); Parent = a;} local aW = Create'ManualWeld'{ Parent = a; Part1 = Handle; Part0 = a; C0 = CFrame.new(0,-(Handle.Size.Y/2)+(((Handle.Size.Y*0.8)*0.2)*i),0); C1 = CFrame.new(0,0,0);} Rods[i]=a end local Hilt = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0,0.6,0.6); Parent = P; TopSurface = "Smooth"; BottomSurface = "Smooth"; BrickColor = BrickColor.new("Bright yellow"); Reflectance = 0.5;} Hilt:breakJoints() -- Other -- local HiltW = Create'ManualWeld'{ Parent = Hilt; Part1 = Handle; Part0 = Hilt; C0 = CFrame.new(0,-Handle.Size.Y/2,0)*CFrame.Angles(0,math.rad(90),0); C1 = CFrame.new(0,0,0);} local HiltM = Create'SpecialMesh'{ MeshType = "Cylinder"; Parent = Hilt; Scale = Vector3.new(0.5,1,1);} --Parts -- local HiltMid = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0,0.6,0.6); Parent = P; TopSurface = "Smooth"; BottomSurface = "Smooth"; BrickColor = BrickColor.new("Dusty Rose"); Reflectance = 0;} HiltMid:breakJoints() -- Other -- local HiltMidW = Create'ManualWeld'{ Parent = HiltMid; Part1 = Hilt; Part0 = HiltMid; C0 = CFrame.new(0,0,0); C1 = CFrame.new(0,0,0);} local HiltMidM = Create'SpecialMesh'{ MeshType = "Cylinder"; Parent = HiltMid; Scale = Vector3.new(0.7,0.9,0.9);} local HiltBall = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0.6,0.6,0.6); Parent = P; TopSurface = "Smooth"; BottomSurface = "Smooth"; BrickColor = BrickColor.new("Sand red"); Reflectance = 0.2;} HiltBall:breakJoints() -- Other -- local HiltBallW = Create'ManualWeld'{ Parent = HiltBall; Part1 = Hilt; Part0 = HiltBall; C0 = CFrame.new(0,0,0); C1 = CFrame.new(0,0,0);} local HiltBallM = Create'SpecialMesh'{ MeshType = "Sphere"; Parent = HiltBall; Scale = Vector3.new(0.5,0.5,0.5);} --Hilt middle ball Ring -- local BR = {} for i = 0,360,360/12 do --if i ~= 0 and i ~= 7 then local B = Create'Part'{ FormFactor = "Custom"; BrickColor = BrickColor.new("Sand red"); Size = Vector3.new(0,0,0);} B.Parent = HiltMid B:breakJoints() --print((360*(i/10))-80) table.insert(BR,B) local BW = Create'ManualWeld'{ Part0 = HiltMid; Part1 = B; C0 = CFrame.new(0,0,0)*CFrame.Angles(math.rad(i),0,0); C1 = CFrame.new(0,-0.2,0); Parent = B;} local BM = Create'SpecialMesh'{ MeshType = "Sphere"; Scale = Vector3.new(0.78,0.78,0.78); Parent = B;}end --end local HiltRod = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0,0.4,1.5); Parent = Hilt; Reflectance = 0.5; BrickColor = BrickColor.new("Bright yellow");} HiltRod:breakJoints() --Other-- local HiltRodM = Create'SpecialMesh'{ Parent = HiltRod; MeshType = "Brick"; Scale = Vector3.new(0.5,0.5,1);} local HiltRodW = Create'ManualWeld'{ Parent = HiltRod; Part1 = Hilt; Part0 = HiltRod; C0 = CFrame.new(0,0,0); C1 = CFrame.new(0,0,0);} --Parts-- local HiltRod2 = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0,0.4,1.5); Parent = HiltRod; Reflectance = 0; BrickColor = BrickColor.new("Dusty Rose");} HiltRod2:breakJoints() --Other-- local HiltRod2M = Create'SpecialMesh'{ Parent = HiltRod2; MeshType = "Brick"; Scale = Vector3.new(0.7,0.4,1);} local HiltRod2W = Create'ManualWeld'{ Parent = HiltRod2; Part1 = HiltRod; Part0 = HiltRod2; C0 = CFrame.new(0,0,0); C1 = CFrame.new(0,0,0);} local HiltRodLeft = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0,0.4,0.4); BrickColor = BrickColor.new("Bright yellow"); Reflectance = 0.5; Parent = HiltRod;} HiltRodLeft:breakJoints() --Other-- local HRodLeftW = Create'ManualWeld'{ Parent = HiltRodLeft; Part1 = HiltRod; Part0 = HiltRodLeft; C0 = CFrame.new(0,0,-1.5/2)*CFrame.Angles(0,math.rad(0),0); C1 = CFrame.new(0,0,0);} local HRodLeftM = Create'SpecialMesh'{ Parent=HiltRodLeft; MeshType = "Cylinder"; Scale=Vector3.new(0.5,0.6,0.6);} --Parts-- local HiltRodLeft2 = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0,0.4,0.4); BrickColor = BrickColor.new("Dusty Rose"); Reflectance = 0; Parent = HiltRodLeft;} HiltRodLeft2:breakJoints() --Other-- local HRodLeftW = Create'ManualWeld'{ Parent = HiltRodLeft2; Part1 = HiltRodLeft; Part0 = HiltRodLeft2; C0 = CFrame.new(0,0,0); C1 = CFrame.new(0,0,0);} local HRodLeftM = Create'SpecialMesh'{ Parent=HiltRodLeft2; MeshType = "Cylinder"; Scale=Vector3.new(0.7,0.5,0.5);} local HRodLeftBall = Create'Part'{ Parent = HiltRodLeft; FormFactor = "Custom"; Size = Vector3.new(0.5,0.5,0.5); Reflectance=0.2; BrickColor = BrickColor.new("Sand red");} HRodLeftBall:breakJoints() local BallM = Create'SpecialMesh'{ Parent = HRodLeftBall; MeshType = "Sphere"; Scale = Vector3.new(0.4,0.4,0.4);} local BallW = Create'ManualWeld'{ Parent = HRodLeftBall; Part1 = HiltRodLeft; Part0 = HRodLeftBall; C1 = CFrame.new(0,0,0); C0 = CFrame.new(0,0,0);} local HiltRodRight = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0,0.4,0.4); BrickColor = BrickColor.new("Bright yellow"); Reflectance = 0.5; Parent = HiltRod;} HiltRodRight:breakJoints() --Other-- local HRodRightW = Create'ManualWeld'{ Parent = HiltRodRight; Part1 = HiltRod; Part0 = HiltRodRight; C0 = CFrame.new(0,0,1.5/2)*CFrame.Angles(0,math.rad(0),0); C1 = CFrame.new(0,0,0);} local HRodRightM = Create'SpecialMesh'{ Parent=HiltRodRight; MeshType = "Cylinder"; Scale=Vector3.new(0.5,0.6,0.6);} --Parts-- local HiltRodRight2 = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0,0.4,0.4); BrickColor = BrickColor.new("Dusty Rose"); Reflectance = 0; Parent = HiltRodRight;} HiltRodRight2:breakJoints() --Other-- local HRodRightW = Create'ManualWeld'{ Parent = HiltRodRight2; Part1 = HiltRodRight; Part0 = HiltRodRight2; C0 = CFrame.new(0,0,0); C1 = CFrame.new(0,0,0);} local HRodRightM = Create'SpecialMesh'{ Parent=HiltRodRight2; MeshType = "Cylinder"; Scale=Vector3.new(0.7,0.5,0.5);} local HRodRightBall = Create'Part'{ Parent = HiltRodRight; FormFactor = "Custom"; Size = Vector3.new(0.5,0.5,0.5); Reflectance=0.2; BrickColor = BrickColor.new("Sand red");} HRodRightBall:breakJoints() local BallM = Create'SpecialMesh'{ Parent = HRodRightBall; MeshType = "Sphere"; Scale = Vector3.new(0.4,0.4,0.4);} local BallW = Create'ManualWeld'{ Parent = HRodRightBall; Part1 = HiltRodRight; Part0 = HRodRightBall; C1 = CFrame.new(0,0,0); C0 = CFrame.new(0,0,0);} local HiltRodMid = Create'Part'{ FormFactor = "Custom"; Size = Vector3.new(0.4,1.5,0.4); Parent = Handle; Reflectance=0.2; BrickColor = BrickColor.new("Sand red");} HiltRodMid:breakJoints() local HiltRodMidW = Create'ManualWeld'{ Parent = HiltRodMid; Part1 = HiltRod; Part0 = HiltRodMid; C1 = CFrame.new(0,0,0); C0 = CFrame.new(0,0,0)*CFrame.Angles(math.rad(90),0,0);} local HiltRodMidM = Create'CylinderMesh'{ Parent = HiltRodMid; Scale = Vector3.new(0.4,1,0.4);} local Blade = Create'Part'{ FormFactor = 'Custom'; Size = Vector3.new(0,5,0.4); BrickColor = BrickColor.new("Mid gray"); Reflectance = 1; CanCollide = false; Name = "Blade"; Parent = P;} Blade:breakJoints() --Other-- local BladeS = Create'Sound'{ Parent = Blade; SoundId = "http://www.roblox.com/asset/?id="..145486992;} local BladeW = Create'ManualWeld'{ Part1 = Hilt; Part0 = Blade; C0 = CFrame.new(0,-Blade.Size.Y/2,0); C1 = CFrame.new(0,0,0); Parent = Blade;} local BladeM = Create'SpecialMesh'{ Parent = Blade; Scale = Vector3.new(0,1,1); MeshType = 'Brick';} --Parts-- local BladeFrontLeft = Create'Part'{ FormFactor = 'Custom'; Size = Vector3.new(Blade.Size.Y,0,0.2); BrickColor = BrickColor.new("Mid gray"); Reflectance = 1; CanCollide = false; Parent = Blade;} BladeFrontLeft:breakJoints() --Other-- local BladeFrontLeftW = Create'ManualWeld'{ Part1 = Blade; Part0 = BladeFrontLeft; C0 = CFrame.new(0,-(BladeFrontLeft.Size.Z*0.2)/2,0.1)*CFrame.Angles(0,0,math.rad(90)); C1 = CFrame.new(0,0,0); Parent = BladeFrontLeft;} local BladeFrontLeftM = Create'SpecialMesh'{ Parent = BladeFrontLeft; Scale = Vector3.new(1,0.2,1); MeshType = "Wedge";} local BladeFrontRight = Create'Part'{ FormFactor = 'Custom'; Size = Vector3.new(Blade.Size.Y,0,0.2); BrickColor = BrickColor.new("Mid gray"); Reflectance = 1; CanCollide = false; Parent = Blade;} BladeFrontRight:breakJoints() --Other-- local BladeFrontRightW = Create'ManualWeld'{ Part1 = Blade; Part0 = BladeFrontRight; C0 = CFrame.new(0,-(BladeFrontRight.Size.Z*0.2)/2,0.1)*CFrame.Angles(math.rad(180),math.rad(0),math.rad(90)); C1 = CFrame.new(0,0,0); Parent = BladeFrontRight;} local BladeFrontRightM = Create'SpecialMesh'{ Parent = BladeFrontRight; Scale = Vector3.new(1,0.2,1); MeshType = "Wedge";} local BladeBackLeft = Create'Part'{ FormFactor = 'Custom'; Size = Vector3.new(Blade.Size.Y,0,0.2); CanCollide = false; BrickColor = BrickColor.new("Mid gray"); Reflectance = 1; Parent = Blade;} BladeBackLeft:breakJoints() --Other-- local BladeBackLeftW = Create'ManualWeld'{ Part1 = Blade; Part0 = BladeBackLeft; C0 = CFrame.new(0,-(BladeBackLeft.Size.Z*0.2)/2,0.1)*CFrame.Angles(math.rad(0),math.rad(180),math.rad(90)); C1 = CFrame.new(0,0,0); Parent = BladeBackLeft;} local BladeBackLeftM = Create'SpecialMesh'{ Parent = BladeBackLeft; Scale = Vector3.new(1,0.2,1); MeshType = "Wedge";} local BladeBackRight = Create'Part'{ FormFactor = 'Custom'; CanCollide = false; Size = Vector3.new(Blade.Size.Y,0,0.2); BrickColor = BrickColor.new("Mid gray"); Reflectance = 1; Parent = Blade;} BladeBackRight:breakJoints() --Other-- local BladeBackRightW = Create'ManualWeld'{ Part1 = Blade; Part0 = BladeBackRight; C0 = CFrame.new(0,-(BladeBackRight.Size.Z*0.2)/2,0.1)*CFrame.Angles(math.rad(180),math.rad(180),math.rad(90)); C1 = CFrame.new(0,0,0); Parent = BladeBackRight;} local BladeBackRightM = Create'SpecialMesh'{ Parent = BladeBackRight; Scale = Vector3.new(1,0.2,1); MeshType = "Wedge";} local BladeTip = Create'Part'{ FormFactor = 'Custom'; Size = Vector3.new(0,1,0.4); CanCollide = false; BrickColor = BrickColor.new("Mid gray"); Reflectance = 1; Parent = Blade;} BladeTip:breakJoints() --Other-- local BladeTipW = Create'ManualWeld'{ Part1 = Blade; Part0 = BladeTip; C0 = CFrame.new(0,-Blade.Size.Y/2,0); C1 = CFrame.new(0,0,0); Parent = BladeTip;} local BladeTipM = Create'SpecialMesh'{ Parent = BladeTip; Scale = Vector3.new(0.285*0.2,1,0.28); MeshId = "http://www.roblox.com/Asset/?id=9756362";} -- Functions --clerpland :D --[[ lerp = function(a,b,c) return a+(b-a)*c end function clerp(c1,c2,al) local com1 = {c1:components()} local com2 = {c2:components()} for i,v in pairs(com1) do com1[i] = lerp(v,com2[i],al) end return CFrame.new(unpack(com1)) end]] function clerp(pt,cf,tm) local oldInfo,newInfo = {pt:components()},{cf:components()} local t = {} local v = 1 for i,c in pairs(oldInfo) do table.insert(t,(oldInfo[v]+(newInfo[v]-oldInfo[v])*tm)) v = v+1 end return CFrame.new(unpack(t)) end --string.find(string.rep("a", 2^20), string.rep("a", 2^20)) --[[function clerp(c1,c2,al) local lerp = function(a,b,c) return a+(b-a)*c end local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()} local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()} for i,v in pairs(com1) do com1[i] = lerp(v,com2[i],al) end return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1))) end]]--end of clerpland -- Extra welds -- local Moves = {} local LSH = Torso["Right Shoulder"] local RSH = Torso["Left Shoulder"] local RLG = Torso["Left Hip"] local LLG = Torso["Right Hip"] local NCK = Torso["Neck"] local TRS = Character.HumanoidRootPart.RootJoint local P1 = LSH.Part1 local P0 = LSH.Part0 LSH.Parent = nil --RSH.Parent = nil local NLS = AnimationWeld( Torso,--Parent CFrame.new(-1,0.5,0,0,0,1,0,1,0,1,-0,-0),--C0 CFrame.new(0.5,0.5,0,0,0,1,0,1,0,1,-0,-0),--C1 P1.Name == "Torso" and P1 or Character["Right Arm"],--Part0 P0.Name == "Torso" and P0 or Character["Right Arm"]--Part1 ) local NRRS = AnimationWeld( nil, CFrame.new(-1,0.5,0,-0,-0,-1,0,1,0,1,0,0), CFrame.new(0.5,0.5,0,-0,-0,-1,0,1,0,1,0,0), P0.Name == "Torso" and P0 or Character["Left Arm"], P1.Name == "Torso" and P1 or Character["Left Arm"] ) NLS.TargetC1 = NLS.TargetC1 *CFrame.Angles(-math.rad(10),math.rad(0),-math.rad(45)) -- Animations -- Swinging = false HandleW.TargetC0 = HandleW.TargetC0*CFrame.Angles(0,math.rad(90),0) HandleW.TargetC1 = HandleW.TargetC1*CFrame.Angles(0,math.rad(0),math.rad(90)) HandleW.TargetC0 = HandleW.TargetC0+Vector3.new(0,-1,0) local Origin1 = HandleW.TargetC1 local Origin0 = HandleW.TargetC0 MD = false ExtraDamage = 0 Charging = false Mouse.Button1Down:connect(function() MD = true if not Swinging and SwordOut then NLS.TargetC0 = NLS.TargetC0 *CFrame.Angles(0,0,math.rad(135)) WT = 0 Character.Humanoid.WalkSpeed = 6 repeat local a = wait() if WT < 44 then WT = WT +a*20 NLS.TargetC0 = NLS.TargetC0 *CFrame.Angles(0,0,math.rad(a*20)) end until not MD Swinging = true local LP = Blade.CFrame function NLS.OnUpdate() local P = Instance.new("Part",Blade) P.Anchored = true LP = LP*CFrame.new(0,Blade.Size.Y/2,0) local CF = Blade.CFrame*CFrame.new(0,Blade.Size.Y/2,0) local D = (LP.p-CF.p).magnitude P.FormFactor = "Custom" P.CanCollide = false P.Size = Vector3.new(0,0,D) P.CFrame = CFrame.new(LP.p,CF.p)*CFrame.new(0,0,-D/2) local PM = Instance.new("SpecialMesh",P) PM.MeshType = "Brick" Delay(0,function() for i = 1,10 do wait() PM.Scale = PM.Scale -Vector3.new(1/10,1/10,0) P.Transparency = P.Transparency +1/10 end P:Destroy() end) LP = Blade.CFrame end BladeS:Play() Character.Humanoid.WalkSpeed = 16 ExtraDamage = WT/2 print("Extra damage: " ..ExtraDamage) NLS.TargetC0 = NLS.TargetC0 *CFrame.Angles(0,math.rad(0),-math.rad(135+WT)) HandleW.TargetC1 = HandleW.TargetC1 *CFrame.Angles(0,0,math.rad(65)) wait(0.5) function NLS.OnUpdate() end wait(1) NLS.TargetC0 = NLS.TargetC0 *CFrame.Angles(0,0,math.rad(25)) HandleW.TargetC1 = HandleW.TargetC1 *CFrame.Angles(0,0,-math.rad(65)) wait(0.2) NLS.TargetC0 = NLS.TargetC0 *CFrame.Angles(0,0,-math.rad(25)) ExtraDamage = 0 Swinging = false end end) Mouse.Button1Up:connect(function() MD = false end) LastPos = Blade.CFrame PosOff = LastPos.p-Blade.CFrame.p Blade.Touched:connect(function(v) if Swinging and v.Parent:findFirstChild("Humanoid") then if v.Name ~= "Blade" then v.Parent.Humanoid.Health = v.Parent.Humanoid.Health -(math.random(5,10)+ExtraDamage) else Delay(0,function() Blade.Anchored = true wait(1) Blade.Anchored = false end) end end end) SwordOut = true HandleW.OnUpdate = function() if not SwordOut then HandleW.P1 = Handle; HandleW.P0 = Torso; HandleW.C0 = CFrame.new(0,0,0.7)*CFrame.Angles(0,0,math.rad(135)) HandleW.C1 = CFrame.new(0,(Blade.Size.Y/2)-(Handle.Size.Y/6),0) HandleW.TargetC0 = HandleW.C0 HandleW.TargetC1 = HandleW.C1 NLS.PR = nil LSH.Parent = Torso end end Mouse.KeyDown:connect(function(k) local k = string.lower(k) if k == "e" then if not Charging and not Swinging then SwordOut = SwordOut == false and true or false if SwordOut then HandleW.P1 = Handle; HandleW.P0 = P; HandleW.TargetC0 = Origin0 HandleW.TargetC1 = Origin1 LSH.Parent = nil NLS.PR = Torso end end end end) local Point = Instance.new("BodyGyro",Torso) Point.D = 500 Point.P = 7000 Point.maxTorque = Vector3.new(3000,3000,3000) --Point.cframe = Workspace.CurrentCamera.CoordinateFrame while wait() do local C = CFrame.new((Workspace.CurrentCamera.CoordinateFrame-Vector3.new(0,Workspace.CurrentCamera.CoordinateFrame.Y-Torso.CFrame.Y,0)).p,Torso.CFrame.p) if SwordOut then Point.Parent = Torso Point.cframe = C--CFrame.new(C.X,0,C.Z) else Point.Parent = nil end for i,v in pairs(AW) do v.C0 = clerp(v.C0,v.TargetC0,0.3) v.C1 = clerp(v.C1,v.TargetC1,0.3) v:Update() end LastPos = Blade.CFrame PosOff = LastPos.p-Blade.CFrame.p end