Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Dirk
- Player = game.Players.LocalPlayer
- Character = Player.Character
- Humanoid = Character.Humanoid
- HumanoidRoot = Humanoid.Torso
- RootJoint = HumanoidRoot.RootJoint
- Mouse = Player:GetMouse()
- function rwait()
- game:service("RunService").RenderStepped:wait()
- end
- function Weld(Part1,Part0,CFrame0,CFrame1,skippos)
- if not skippos then
- Part1.Position = Part0.Position
- end
- local we = Instance.new("Weld",Part1)
- we.Part1 = Part1
- we.Part0 = Part0
- we.C0 = CFrame0 or CFrame.new()
- we.C1 = CFrame1 or CFrame.new()
- Instance.new("BoolValue",we).Name = "Cancel"
- local c0o = Instance.new("CFrameValue",we)
- c0o.Name = "c0o"
- c0o.Value = we.C0
- local c1o = Instance.new("CFrameValue",we)
- c1o.Name = "c1o"
- c1o.Value = we.C1
- return we
- end
- function Co(fun) Delay(0,fun) end
- function CheckI(Item,Blacklist,Specific)
- for _,v in pairs(Item:children()) do
- if not Specific then
- if v:IsA(Blacklist) or v.Name:match(Blacklist) then
- v:Destroy()
- end
- else
- if v:IsA(Blacklist) or v.Name == Blacklist then
- v:Destroy()
- end
- end
- end
- end
- function Tween(weld, c0, c1, dur, canc)
- Co(function()
- if not weld:FindFirstChild("Cancel") then
- Instance.new("BoolValue",weld).Name = "Cancel"
- end
- if canc then
- weld.Cancel.Value = true
- rwait()
- weld.Cancel.Value = false
- end
- local c0sp,c0sa,c0p,c0a,c1sp,c1sa,c1p,c1a
- if c0 then
- c0sp = weld.C0.p
- c0sa = Vector3.new(weld.C0:toEulerAnglesXYZ())
- c0p = c0.p - c0sp
- c0a = Vector3.new(c0:toEulerAnglesXYZ()) - c0sa
- end
- if c1 then
- c1sp = weld.C1.p
- c1sa = Vector3.new(weld.C1:toEulerAnglesXYZ())
- c1p = c1.p - c1sp
- c1a = Vector3.new(c1:toEulerAnglesXYZ()) - c1sa
- end
- for ni = 0, 1, (1/60)/dur do
- if not weld.Cancel.Value then
- if c0 then
- weld.C0 = CFrame.new(c0sp.x + (c0p.x*ni), c0sp.y + (c0p.y*ni), c0sp.z + (c0p.z*ni)) * CFrame.Angles(c0sa.x + (c0a.x*ni), c0sa.y + (c0a.y*ni), c0sa.z + (c0a.z*ni))
- end
- if c1 then
- weld.C1 = CFrame.new(c1sp.x + (c1p.x*ni), c1sp.y + (c1p.y*ni), c1sp.z + (c1p.z*ni)) * CFrame.Angles(c1sa.x + (c1a.x*ni), c1sa.y + (c1a.y*ni), c1sa.z + (c1a.z*ni))
- end
- rwait()
- else
- return
- end
- end
- if c0 ~= nil then weld.C0 = c0 end
- if c1 ~= nil then weld.C1 = c1 end
- end)
- end
- function Part(Parent)
- local part = Instance.new("Part",Parent)
- part.Material = "Neon"
- part.formFactor = 3
- part.Size = Vector3.new()
- part.TopSurface = 10
- part.BottomSurface = 10
- part.RightSurface = 10
- part.LeftSurface = 10
- part.FrontSurface = 10
- part.BackSurface = 10
- part.CanCollide = false
- return part
- end
- function Sound(Parent,SoundId,Pitch,Volume)
- local so = Instance.new("Sound",Parent)
- so.SoundId = "rbxassetid://"..tostring(SoundId)
- so.Pitch = Pitch or 1
- so.Volume = Volume or 1
- so:Play()
- Co(function()
- repeat rwait() until not so.IsPlaying
- so:Destroy()
- end)
- end
- --CheckI(Character,"Clothing")
- --CheckI(Character.Head,"Decal")
- --CheckI(Character,"Hat")
- CheckI(Character,"Dirk")
- --CheckI(Character,"ShirtGraphic")
- --CheckI(Character.Torso,"Decal")
- CheckI(Player.Backpack,"Katana")
- OLeftS = Character.Torso["Left Shoulder"]
- ORightS = Character.Torso["Right Shoulder"]
- local LeftS
- local RightS
- OLeftH = Character.Torso["Left Hip"]
- ORightH = Character.Torso["Right Hip"]
- local LeftH
- local RightH
- local Neck = Character.Torso.Neck
- Neck.C0 = CFrame.new(0,1.45,0)
- Neck.C1 = CFrame.new(0,-0.05,0)
- local LSC0 = OLeftS.C0
- local LSC1 = OLeftS.C1
- local RSC0 = ORightS.C0
- local RSC1 = ORightS.C1
- function Arms(on)
- if on then
- OLeftS.Part1 = nil
- ORightS.Part1 = nil
- LeftS = Weld(Character["Left Arm"],Character.Torso,OLeftS.C0,OLeftS.C1,true)
- RightS = Weld(Character["Right Arm"],Character.Torso,ORightS.C0,ORightS.C1,true)
- else
- RightS:Destroy()
- RightS = nil
- LeftS:Destroy()
- LeftS = nil
- OLeftS.Part1 = Character["Left Arm"]
- ORightS.Part1 = Character["Right Arm"]
- end
- end
- local LHC0 = OLeftH.C0
- local LHC1 = OLeftH.C1
- local RHC0 = ORightH.C0
- local RHC1 = ORightH.C1
- function Legs(on)
- if on then
- OLeftH.Part1 = nil
- ORightH.Part1 = nil
- LeftH = Weld(Character["Left Leg"],Character.Torso,OLeftH.C0,OLeftH.C1,true)
- RightH = Weld(Character["Right Leg"],Character.Torso,ORightH.C0,ORightH.C1,true)
- else
- RightH:Destroy()
- RightH = nil
- LeftH:Destroy()
- LeftH = nil
- OLeftH.Part1 = Character["Left Leg"]
- ORightH.Part1 = Character["Right Leg"]
- end
- end
- local Block = Instance.new("IntValue",Character)
- Block.Name = "Block"
- Block.Value = 0
- local KatanaHop = Instance.new("HopperBin",Player.Backpack)
- KatanaHop.Name = "Katana"
- local Model = Instance.new("Model",Character)
- Model.Name = "Dirk"
- --[[local Shirt = Instance.new("Shirt",Character)
- Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=73681617"
- local Pants = Instance.new("Pants",Character)
- Pants.PantsTemplate = "http://www.roblox.com/asset/?id=73681639"
- local Face = Instance.new("Decal",Character.Head)
- Face.Texture = "http://www.roblox.com/asset/?id=13038247"
- for i = 1,6 do
- local Hair = Part(Model)
- local HairMesh = Instance.new("SpecialMesh",Hair)
- HairMesh.MeshId = "http://www.roblox.com/asset/?id=12212520"
- Hair.BrickColor = BrickColor.new("Cool yellow")
- HairMesh.Scale = Vector3.new(1,1.5,1)
- Weld(Hair,Character.Head,CFrame.new((i-4)*0.015,0.5,0.25),CFrame.Angles(math.rad(-10*i),math.rad((i-4)*10),0))
- end
- local Hair = Part(Model)
- Hair.BrickColor = BrickColor.new("Cool yellow")
- local HairMesh = Instance.new("SpecialMesh",Hair)
- HairMesh.MeshId = "http://www.roblox.com/asset/?id=15730710"
- HairMesh.Scale = Vector3.new(1.05,1,1)
- Weld(Hair,Character.Head,CFrame.new(0,0.4,0.01))
- local ShadeCenter = Part(Model)
- ShadeCenter.Transparency = 1
- Weld(ShadeCenter,Character.Head,CFrame.new(0,0.3,-0.65))
- for i = -1,1,2 do
- local Shade1 = Part(Model)
- Shade1.Reflectance = 0.2
- Shade1.BrickColor = BrickColor.new("Really black")
- Shade1Mesh = Instance.new("SpecialMesh",Shade1)
- Shade1Mesh.MeshType = "Wedge"
- Shade1Mesh.Scale = Vector3.new(0.075,2,2.8)
- Weld(Shade1,ShadeCenter,CFrame.new(i*0.3,0,0),CFrame.Angles(math.rad(-45),math.rad(90*i),0))
- end--]]--
- function create(tab)
- local obj = Instance.new(tab[1])
- for i, v in pairs(tab) do
- if i ~= 1 then
- obj[i] = v
- end
- end
- return obj
- end
- function drawTriangle(p)
- local g, v = 0
- for s = 1, 3 do
- local l = (p[1+(s+1)%3]-p[1+s%3]).magnitude
- g, v = l > g and l or g, l > g and {p[1+(s-1)%3],p[1+(s)%3],p[1+(s+1)%3]} or v
- end
- local d = v[2] + (v[3] - v[2]).unit * ( (v[3] - v[2]).unit:Dot(v[1]-v[2]))
- local c,b = (d - v[1]).unit,(v[2]-v[3]).unit
- local a = b:Cross(c)
- local p1 = create{"WedgePart", Transparency = 0.8, FormFactor = "Custom", Size = Vector3.new(0.2, 0.2, 0.2), CanCollide = false, Anchored = true, BrickColor = BrickColor.White()}
- local p2 = create{"WedgePart", Transparency = 0.8, FormFactor = "Custom", Size = Vector3.new(0.2, 0.2, 0.2), CanCollide = false, Anchored = true, BrickColor = BrickColor.White()}
- local m1 = create{"SpecialMesh", Parent = p1, MeshType = "Wedge", Scale = Vector3.new(0, (v[2]-d).magnitude, (v[1]-d).magnitude)/0.2}
- local m2 = create{"SpecialMesh", Parent = p2, MeshType = "Wedge", Scale = Vector3.new(0, (v[3]-d).magnitude, (v[1]-d).magnitude)/0.2}
- p1.CFrame = CFrame.new(0,0,0,a.x,b.x,c.x,a.y,b.y,c.y,a.z,b.z,c.z)+(v[1]+v[2])/2
- p2.CFrame = CFrame.new(0,0,0,-a.x,-b.x,c.x,-a.y,-b.y,c.y,-a.z,-b.z,c.z)+(v[1]+v[3])/2
- p1.Parent = script
- p2.Parent = script
- return p1, p2, m1, m2
- end
- local currentDamage = 20
- function HitCounter(pos,dmg)
- local hitmo = Instance.new("Model")
- hitmo.Name = dmg
- local hc = Part(hitmo)
- hc.Name = "Head"
- hc.Size = Vector3.new(0.5,0.2,0.5)
- hc.BrickColor = BrickColor.Red()
- Instance.new("Humanoid",hitmo).MaxHealth = 0
- Co(function()
- for i = 0,1.5,0.05 do
- hc.CFrame = CFrame.new(pos)*CFrame.new(0,i,0)*CFrame.Angles(0,i,0)
- rwait()
- end
- hitmo:Destroy()
- end)
- hitmo.Parent = workspace
- game:service("Debris"):AddItem(hitmo,3)
- end
- function CreateKatana(part,c0,c1)
- KatanaModel = Instance.new("Model",Model)
- local KatanaHandle = Part(KatanaModel)
- KatanaHandle.Reflectance = 0.1
- KatanaHandle.Size = Vector3.new(0.2,1.6,0.25)
- KatanaHandle.BrickColor = BrickColor.new("Really black")
- local KatanaWeld = Weld(KatanaHandle,part,c0,c1)
- for i = -1,1 do
- local stud = Part(KatanaModel)
- Instance.new("CylinderMesh",stud).Scale = Vector3.new(0.7,1,0.7)
- stud.Reflectance = 0.3
- stud.Size = Vector3.new(0.2,0.21,0.2)
- Weld(stud,KatanaHandle,CFrame.new(0,i*0.5,0),CFrame.Angles(math.rad(90),math.rad(90),0))
- end
- local KatanaHilt = Part(KatanaModel)
- Instance.new("BlockMesh",KatanaHilt).Scale = Vector3.new(1,0.3,1)
- KatanaHilt.Size = Vector3.new(0.3,0.2,0.7)
- KatanaHilt.Reflectance = 0.1
- KatanaHilt.BrickColor = BrickColor.new("Really black")
- Weld(KatanaHilt,KatanaHandle,CFrame.new(0,0.8,0))
- local KatanaBlade1 = Part(KatanaModel)
- KatanaBlade1.Name = "Blade"
- KatanaBlade1.BrickColor = BrickColor.White()
- KatanaBlade1.Reflectance = 0.3
- Instance.new("BlockMesh",KatanaBlade1).Scale = Vector3.new(0.08,1,0.15)
- KatanaBlade1.Size = Vector3.new(1,3,1)
- Weld(KatanaBlade1,KatanaHilt,CFrame.new(0,1.5,0.025))
- local hithums = {Character.Humanoid}
- KatanaBlade1.Touched:connect(function(hit)
- if not damaging then return end
- local hum = hit.Parent:FindFirstChild("Humanoid") or hit.Parent.Parent:FindFirstChild("Humanoid")
- local HitPar = hit.Parent:FindFirstChild("Torso") or hit.Parent.Parent:FindFirstChild("Torso")
- local block = hit.Parent:FindFirstChild("Block") or hit.Parent.Parent:FindFirstChild("Block")
- if hum then
- for _,v in pairs(hithums) do
- if v == hum then
- return
- end
- end
- table.insert(hithums,hum)
- Co(function()
- wait(0.2)
- for i,v in pairs(hithums) do
- if v == hum then
- table.remove(hithums,i)
- end
- end
- end)
- print("hi ho")
- if block then
- if block:IsA("BoolValue") then
- if block.Value then
- block.Value = false
- return
- end
- else
- if block.Value > 0 then
- block.Value = block.Value - 1
- return
- end
- end
- end
- local calcdamage = currentDamage+math.random(-3,3)
- hum:TakeDamage(calcdamage)
- HitCounter(HitPar.Position+Vector3.new(0,4,0),calcdamage)
- end
- end)
- local KatanaEdge1 = Part(KatanaModel)
- KatanaEdge1.Size = Vector3.new(0.2,3,0.2)
- local katedgemesh = Instance.new("SpecialMesh",KatanaEdge1)
- katedgemesh.MeshType = "Wedge"
- katedgemesh.Scale = Vector3.new(0.4,1,0.25)
- KatanaEdge1.BrickColor = BrickColor.White()
- KatanaEdge1.Reflectance = 0.3
- Weld(KatanaEdge1,KatanaBlade1,CFrame.new(0,0,-0.1))
- local KatanaEdge2 = Part(KatanaModel)
- KatanaEdge2.BrickColor = BrickColor.White()
- KatanaEdge2.Reflectance = 0.3
- KatanaEdge2.Size = Vector3.new(0.2,0.6,0.2)
- local katedgemesh = Instance.new("SpecialMesh",KatanaEdge2)
- katedgemesh.MeshType = "Wedge"
- katedgemesh.Scale = Vector3.new(0.4,1,0.75)
- Weld(KatanaEdge2,KatanaBlade1,CFrame.new(0,1.8,0))
- return KatanaWeld
- end
- local equipped = false
- KatanaHop.Selected:connect(function()
- equipped = true
- Arms(true)
- Tween(RightS,RSC0*CFrame.new(0,0.1,-0.9),RSC1*CFrame.Angles(math.rad(-50),0,math.rad(-45)),0.2,true)
- Tween(LeftS,LSC0,LSC1*CFrame.Angles(math.rad(10),0,math.rad(-20)),0.2,true)
- wait(0.25)
- if equipped then
- KatanaModel:Destroy()
- KatWeld = CreateKatana(Character["Right Arm"],CFrame.new(0,-1,0.2),CFrame.Angles(math.rad(270),0,0))
- Tween(RightS,RSC0*CFrame.new(0,-0.25,0),RSC1*CFrame.Angles(math.rad(-20),math.rad(-45),math.rad(-70)),0.2,true)
- Tween(LeftS,LSC0*CFrame.new(0,-0.1,-0.2),LSC1*CFrame.Angles(math.rad(20),0,math.rad(20)),0.2,true)
- Tween(KatWeld,nil,CFrame.Angles(math.rad(90),0,0),0.2,true)
- Tween(RootJoint,CFrame.new(),CFrame.new(),0.2,true)
- Tween(Neck,nil,CFrame.new(0,-0.05,0),0.2,true)
- Co(function()
- for i = 285,90,-15 do
- if not equipped then
- break
- end
- KatWeld.C1 = CFrame.Angles(math.rad(i),0,0)
- rwait()
- end
- end)
- end
- end)
- RootJoint.C0 = CFrame.new()
- RootJoint.C1 = CFrame.new()
- local alternate = 0
- local attacking = false
- Mouse.Button1Down:connect(function()
- if equipped and not attacking then
- attacking = true
- currentDamage = 20
- if alternate == 0 then
- alternate = 1
- Tween(RightS,RSC0*CFrame.new(0,-0.5,-0.2)*CFrame.Angles(math.rad(-70),0,math.rad(20)),RSC1*CFrame.new(0,0.4,0),0.2,true)
- Tween(LeftS,LSC0*CFrame.new(0,-0.1,0),LSC1*CFrame.Angles(math.rad(20),0,math.rad(-30)),0.2,true)
- Tween(KatWeld,nil,CFrame.Angles(math.rad(150),math.rad(180),0),0.2,true)
- Tween(RootJoint,CFrame.Angles(0,math.rad(-70),0),CFrame.new(),0.2,true)
- Tween(Neck,nil,CFrame.new(0,-0.05,0)*CFrame.Angles(0,math.rad(-60),0),0.2,true)
- wait(0.3)
- Sound(KatanaModel.Blade,45885030,1,1)
- damaging = true
- Tween(RightS,RSC0*CFrame.new(0,-0.5,-0.2)*CFrame.Angles(math.rad(-90),0,math.rad(0)),RSC1*CFrame.new(0,0.4,0),0.2,true)
- Tween(LeftS,LSC0*CFrame.new(0,-0.1,0),LSC1*CFrame.Angles(math.rad(20),0,math.rad(-30)),0.2,true)
- Tween(KatWeld,nil,CFrame.Angles(math.rad(230),math.rad(180),0),0.2,true)
- Tween(RootJoint,CFrame.Angles(0,math.rad(80),0),CFrame.Angles(0,math.rad(-45),0),0.2,true)
- Tween(Neck,nil,CFrame.new(0,-0.05,0)*CFrame.Angles(0,math.rad(70),0),0.2,true)
- wait(0.3)
- damaging = false
- Tween(RightS,RSC0*CFrame.new(0,-0.25,0),RSC1*CFrame.Angles(math.rad(-20),math.rad(-45),math.rad(-70)),0.2,true)
- Tween(LeftS,LSC0*CFrame.new(0,-0.1,-0.2),LSC1*CFrame.Angles(math.rad(20),0,math.rad(20)),0.2,true)
- Tween(KatWeld,nil,CFrame.Angles(math.rad(90),0,0),0.2,true)
- Tween(RootJoint,CFrame.new(),CFrame.new(),0.2,true)
- Tween(Neck,nil,CFrame.new(0,-0.05,0),0.2,true)
- wait(0.2)
- else
- alternate = 0
- Tween(RightS,RSC0*CFrame.new(0,-0.5,-0.2)*CFrame.Angles(math.rad(-70),0,math.rad(20)),RSC1*CFrame.new(0,0.4,0),0.2,true)
- Tween(LeftS,LSC0*CFrame.new(0,-0.1,0),LSC1*CFrame.Angles(math.rad(20),0,math.rad(-30)),0.2,true)
- Tween(KatWeld,nil,CFrame.Angles(math.rad(-150),0,0),0.2,true)
- Tween(RootJoint,CFrame.Angles(0,math.rad(80),0),CFrame.Angles(0,math.rad(-65),0),0.2,true)
- Tween(Neck,nil,CFrame.new(0,-0.05,0)*CFrame.Angles(0,math.rad(60),0),0.2,true)
- wait(0.3)
- Sound(KatanaModel.Blade,45885030,1,1)
- damaging = true
- Tween(RightS,RSC0*CFrame.new(0,-0.5,-0.2)*CFrame.Angles(math.rad(-90),0,math.rad(0)),RSC1*CFrame.new(0,0.4,0),0.2,true)
- Tween(LeftS,LSC0*CFrame.new(0,-0.1,0),LSC1*CFrame.Angles(math.rad(20),0,math.rad(-30)),0.2,true)
- Tween(KatWeld,nil,CFrame.Angles(math.rad(-150),0,0),0.2,true)
- Tween(RootJoint,CFrame.Angles(0,math.rad(-80),0),CFrame.Angles(0,0,0),0.2,true)
- Tween(Neck,nil,CFrame.new(0,-0.05,0)*CFrame.Angles(0,math.rad(-70),0),0.2,true)
- wait(0.3)
- damaging = false
- Tween(RightS,RSC0*CFrame.new(0,-0.25,0),RSC1*CFrame.Angles(math.rad(-20),math.rad(-45),math.rad(-70)),0.2,true)
- Tween(LeftS,LSC0*CFrame.new(0,-0.1,-0.2),LSC1*CFrame.Angles(math.rad(20),0,math.rad(20)),0.2,true)
- Tween(KatWeld,nil,CFrame.Angles(math.rad(90),0,0),0.2,true)
- Tween(RootJoint,CFrame.new(),CFrame.new(),0.2,true)
- Tween(Neck,nil,CFrame.new(0,-0.05,0),0.2,true)
- wait(0.2)
- end
- attacking = false
- end
- end)
- local fdown = false
- Mouse.KeyDown:connect(function(key)
- if key == "q" then
- local lastpos = Character.Torso.CFrame
- Character.Archivable = true
- local charclone = Character:clone()
- Character.Archivable = false
- charclone.Torso.CFrame = lastpos
- charclone.Parent = workspace
- for _,v in pairs(charclone:children()) do
- if v:IsA("Part") then
- if v.Name == "Head" then v.Name="" v:Destroy() end
- if v.Name == "HumanoidRootPart" then v:Destroy() end
- v.Anchored = true
- v.CanCollide = false
- Co(function()
- local trans = v.Transparency
- for i = 0,1.1,0.1 do
- v.Transparency = i
- wait()
- end
- charclone:Destroy()
- end)
- elseif v:IsA("Model") then
- for _,v in pairs(v:children()) do
- if v:IsA("Part") then
- Co(function()
- local trans = v.Transparency
- for i = trans,1.1,0.1 do
- v.Transparency = i
- wait()
- end
- end)
- else
- v:Destroy()
- end
- end
- end
- end
- local x,y,z = CFrame.new(HumanoidRoot.Position,Mouse.Hit.p):toEulerAnglesXYZ()
- local dir = CFrame.Angles(x,y,z).lookVector
- Character.Torso.CFrame = Character.Torso.CFrame+Vector3.new(dir.x*10,0,dir.z*10)
- elseif key == "e" then
- if attacking then return end
- if not equipped then return end
- currentDamage = 30
- attacking = true
- Legs(true)
- Humanoid.WalkSpeed = 0
- Tween(RightH,RHC0*CFrame.new(0,0,0),RHC1,0.2,true)
- Tween(LeftH,LHC0*CFrame.new(-0.4,0.4,0),LHC1*CFrame.Angles(math.rad(-3),0,math.rad(-20)),0.2,true)
- Tween(RightS,RSC0*CFrame.new(0,-0.1,-0.2),RSC1*CFrame.Angles(math.rad(30),0,math.rad(-50)),0.2,true)
- Tween(LeftS,LSC0*CFrame.new(0,-0.1,-0.2),LSC1*CFrame.Angles(math.rad(30),0,math.rad(50)),0.2,true)
- Tween(KatWeld,nil,CFrame.Angles(math.rad(170),0,0),0.2,true)
- Tween(RootJoint,CFrame.new(0,5,0),CFrame.new(),0.2,true)
- Tween(Neck,nil,CFrame.new(0,-0.05,0)*CFrame.Angles(math.rad(15),0,0),0.2,true)
- Sound(KatanaModel.Blade,158475221,1,1)
- wait(0.2)
- Co(function()
- for i = 0,359,15 do
- RootJoint.C1 = CFrame.Angles(math.rad(i),0,0)
- rwait()
- end
- RootJoint.C1 = CFrame.new()
- end)
- Tween(RightH,RHC0*CFrame.new(0.5,0.7,0),RHC1*CFrame.Angles(math.rad(-3),0,math.rad(20)),0.2,true)
- Tween(LeftH,LHC0*CFrame.new(-0.5,0.7,0),LHC1*CFrame.Angles(math.rad(-3),0,math.rad(-20)),0.2,true)
- Tween(RightS,RSC0*CFrame.new(0,-0.1,-0.2),RSC1*CFrame.Angles(math.rad(-45),0,math.rad(-50)),0.2,true)
- Tween(LeftS,LSC0*CFrame.new(0,-0.1,-0.2),LSC1*CFrame.Angles(math.rad(-45),0,math.rad(50)),0.2,true)
- Tween(KatWeld,nil,CFrame.Angles(math.rad(170),0,math.rad(-45)),0.2,true)
- Tween(Neck,nil,CFrame.new(0,-0.05,0)*CFrame.Angles(math.rad(15),0,0),0.2,true)
- wait(0.1)
- damaging = true
- wait(0.1)
- Tween(RootJoint,CFrame.new(),nil,0.2,true)
- wait(0.2)
- Tween(RightH,RHC0*CFrame.new(0,0,0),RHC1,0.1,true)
- Tween(LeftH,LHC0*CFrame.new(0,0,0),LHC1,0.1,true)
- Tween(RightS,RSC0*CFrame.new(0,-0.25,0),RSC1*CFrame.Angles(math.rad(-20),math.rad(-45),math.rad(-70)),0.2,true)
- Tween(LeftS,LSC0*CFrame.new(0,-0.1,-0.2),LSC1*CFrame.Angles(math.rad(20),0,math.rad(20)),0.2,true)
- Tween(KatWeld,nil,CFrame.Angles(math.rad(90),0,0),0.2,true)
- Tween(RootJoint,CFrame.new(),CFrame.new(),0.2,true)
- Tween(Neck,nil,CFrame.new(0,-0.05,0),0.2,true)
- Humanoid.WalkSpeed = 16
- wait(0.1)
- damaging = false
- wait(0.1)
- attacking = false
- Legs(false)
- end
- end)
- Mouse.KeyUp:connect(function(key)
- end)
- KatanaHop.Deselected:connect(function()
- if KatanaHop.Parent == nil then return end
- equipped = false
- Tween(RightS,RSC0*CFrame.new(-0.2,0.1,-1.2),RSC1*CFrame.Angles(math.rad(-50),0,math.rad(-45)),0.2,true)
- Tween(LeftS,LSC0,LSC1*CFrame.Angles(math.rad(10),0,math.rad(-20)),0.2,true)
- wait(0.05)
- for i = 90,285,15 do
- if equipped then
- break
- end
- KatWeld.C1 = CFrame.Angles(math.rad(i),0,math.rad(-50))
- rwait()
- end
- if equipped then return end
- KatanaModel:Destroy()
- KatWeld = CreateKatana(Character.Torso,CFrame.new(-1,-0.5,-0.5),CFrame.Angles(math.rad(-125),0,0))
- Tween(LeftS,LSC0,LSC1,0.2,true)
- Tween(RightS,RSC0,RSC1,0.2,true)
- wait(0.25)
- if equipped then return end
- Arms(false)
- end)
- KatWeld = CreateKatana(Character.Torso,CFrame.new(-1,-0.5,-0.5),CFrame.Angles(math.rad(-125),0,0))
- local oldpos = KatanaModel.Blade.CFrame
- game:service("RunService").RenderStepped:connect(function()
- local newpos = KatanaModel.Blade.CFrame
- if KatanaModel and damaging then
- local tri1,tri2 = drawTriangle({oldpos*CFrame.new(0,2.1,0.1).p,newpos*CFrame.new(0,2.1,0.1).p,newpos*CFrame.new(0,-1.5,0.1).p})
- local tri3,tri4 = drawTriangle({oldpos*CFrame.new(0,2.1,0.1).p,oldpos*CFrame.new(0,-1.5,0.1).p,newpos*CFrame.new(0,-1.5,0.1).p})
- Co(function()
- for i = 0.8,1,0.02 do
- tri1.Transparency = i
- tri2.Transparency = i
- tri3.Transparency = i
- tri4.Transparency = i
- wait(0.02)
- end
- tri1:Destroy()
- tri2:Destroy()
- tri3:Destroy()
- tri4:Destroy()
- end)
- end
- oldpos = newpos
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement