Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local ply = game.Players.LocalPlayer
- char = ply.Character
- torso = char.Torso
- head = char.Head
- holding = false
- RS = game:service'RunService'
- larm,rarm = char['Left Arm'],char['Right Arm']
- Debris = game:service'Debris'
- floatforce = 196.25
- attacking = false
- lh,rh = torso['Left Hip'],torso['Right Hip']
- curcam = Workspace.CurrentCamera
- mouse = ply:GetMouse()
- FFS = function(A,B) return A:FindFirstChild(B) end ---- FindFirstChild Shortcut
- function genNew(ClassName, Parent, Properties)
- local nObj = Instance.new(ClassName, Parent)
- if Properties["FormFactor"] then
- nObj["FormFactor"] = Properties["FormFactor"]
- end
- for Prop, Value in pairs(Properties) do
- nObj[Prop] = Value
- end
- return nObj
- end
- pcall(function() char.Sole:Destroy() end) --- Destroys Physical Tool
- Weapon = Instance.new("Model",char) Weapon.Name = 'Sole'
- cfn,ang,md,mr = CFrame.new,CFrame.Angles,math.rad,math.random --- Some Shortcuts
- udim = function(a,b)
- if type(a) ~= 'string' then
- return UDim2.new(a,0,b,0)
- else
- local x,y = a:match('(%.*%d+)%,(%.*%d+)')
- return UDim2.new(x,0,y,0)
- end
- end
- for i,v in pairs(head:children()) do
- if v.Name == 'MugSound' then v:Destroy() end
- end
- Name = 'Seokinji'
- pcall(function() ply.Backpack[Name]:Destroy() end) --- Destroys Tool
- hop = Instance.new('HopperBin',ply.Backpack)
- hop.Name = Name
- rw,lw = _,_
- Col3 = function(r,g,b) return Color3.new(r/255,g/255,b/255) end
- udim = function(x,y) return UDim2.new(x,0,y,0) end
- bcol = BrickColor.new
- ---TOOLS---
- Add ={ --- Array for handy functions
- --Attacks
- nsize = tip.Size
- Mons = Add.Sound("http://www.roblox.com/Asset/?id=2676305",2)
- function slash()
- hurt = false
- local con = tip.Touched:connect(function(hit)
- local hum = FindHum(hit.Parent)
- if hum and hurt and hum.Health > 0 then
- hum.Health = hum.Health -(3)
- elseif hum and hum.Health <= 0 and not FFS(hum,'Dead') then hum.Health = -1
- Mons:Play() Instance.new('BoolValue',hum).Name = 'Dead'
- for i,v in pairs(hum.Parent:children()) do
- if v:IsA('Part') then
- Instance.new('BodyForce',v).force = Vector3.new(0,v:GetMass()*floatforce,0)
- end end
- end
- end)
- function stab() Lock'L'
- bp = Add.BP(torso,l(torso,0,5,-5).p)
- tw(rw,cfn(0,.7,0)*ang(md(-140),md(-45),md(20)),.1,'') --up
- tw(lw,cfn(0,.7,0)*ang(md(-140),md(45),md(20))) wait(3)
- end
- local function second()
- tw(rw,cfn(-.2,.3,.2)*ang(md(-130),md(-45),md(-10)),.1,'') --Rise
- for i = 0,1,.1 do wait() --Morph
- lerp(nsize,Vector3.new(.5,4,.5),i)
- tipw.Parent = ydin
- tipw.Part1 = tip tipw.Part0 = ydin
- tipw.C0 = cfn(0,.6+i*1.5,0)
- end
- Synth:Pitch(2) Synth:Play()
- tw(rw,cfn()*ang(md(40),md(0),md(-50)),.3) --Down
- hurt = true
- end
- tw(rw,cfn(-.2,.3,.2)*ang(md(-130),md(-45),md(-50)),.1,'') --Rise
- for i = 0,1,.1 do wait() --Morph
- tip.Size = lerp(nsize,Vector3.new(.5,4,.5),i)
- tipw.Parent = ydin
- tipw.Part1 = tip tipw.Part0 = ydin
- tipw.C0 = cfn(0,.6+i*1.5,0)
- end Synth:Play()
- downed = check('f') hurt = true
- tw(rw,cfn()*ang(md(40),md(0),md(-10)),.3) --Down
- CreateLoop(1,{f=second;q=stab})
- hurt = false
- tw(rw,equip,.1,'') --Back
- for i = 1,0,-.3 do wait() --Morph back
- tip.Size = lerp(nsize,Vector3.new(.5,4,.5),i)
- tipw.Parent = ydin
- tipw.Part1 = tip tipw.Part0 = ydin
- tipw.C0 = cfn(0,.6+i*1.5,0)
- end
- Synth:Pitch(1) con:disconnect()
- end
- Whoosh = Add.Sound("http://www.roblox.com/Asset/?id=18426149",1)
- function trip()
- Lock2'R'
- local con = char['Right Leg'].Touched:connect(function(hit)
- local hum = FindHum(hit.Parent)
- hum.Health = hum.Health - 5
- if hum then hum.Sit = true end
- end)
- tw(rw2,cfn(0,-.2,-.3)*ang(md(30),0,0)) Whoosh:Play()
- tw(rw2,cfn(0,.5,.3)*ang(md(-70),0,0),.3)
- tw(rw2,cfn(),.3)
- Lock2'R'
- con:disconnect()
- end
- function sit()
- if sitbp == nil then
- Lock2'R' Lock2'L' Lock'L'
- sitbp = Add.BP(torso,torso.Position)
- sitbg = Add.BG(torso)
- --rw2.C1 = cfn()*ang(md(i),0,md(i/(90/-30)))
- --lw2.C1 = cfn()*ang(md(i),0,md(i/(90/30)))
- tw(rw2,cfn(.15,.4,.3)*ang(md(-60),md(30),0),.1,'') --right leg
- tw(lw2,cfn(-.15,.4,.3)*ang(md(-60),md(-30),0),.1,'') --left leg
- tw(rw,cfn()*ang(md(25),0,md(-20)),.1,'') --rarm down
- tw(lw,cfn()*ang(md(25),0,md(20)),.1,'') --larm down
- cf = torso.CFrame
- for i = 0,1,.1 do wait()
- sitbp.position = torso.Position - Vector3.new(0,i*1.25,0)
- sitbg.cframe = cf*ang(md(i*20),0,0)
- end
- elseif sitbp ~= nil then
- --rw2.C1 = cfn()*ang(md(i),0,md(i/(90/-30)))
- --lw2.C1 = cfn()*ang(md(i),0,md(i/(90/30)))
- tw(rw2,cfn(),.1,'')
- tw(lw2,cfn(),.1,'') tw(rw,equip,.1,'')
- for i = 0,1,.1 do wait()
- sitbp.position = torso.Position + Vector3.new(0,i,0)
- sitbg.cframe = cf*cfn(-i,-i,-i)
- end
- Lock2'R' Lock2'L' Lock'L'
- sitbp:Remove() sitbg:Destroy() sitbp = nil sitbg = _
- end
- end
- Crack = Add.Sound("http://www.roblox.com/Asset/?id=15933756",1)
- Crack.Sound.Volume = 300
- function blast() local list = {}
- tw(rw,cfn()*ang(md(-120),0,0),.1,'')
- tw(hw,cfn()*ang(md(45),0,0))
- met = Part(1,1,1,'White',0,1,1)
- holding = true
- mag = 1 maxmag = 15
- while holding do mag = mag < maxmag and mag+.5 or maxmag
- met.Size = Vector3.new(1,mag*7,1)
- met.CFrame = l(l(torso,0,0,-7),0,0,-mag*7/2,math.pi/2)
- wait()
- end
- met:Destroy()
- tcf = torso.CFrame
- for y = 0,mag do
- local ground = GetGround(l(tcf,0,0,-7-y*7).p,300)
- if ground.pos then
- cf = cfn(ground.pos)
- end
- for i = 1,15 do local tab = {}
- p = Part(1,1,1,i%2 == 0 and 'White' or 'Cyan',0,1,1)
- p.CFrame = l(cf,mr(-5,5),0,mr(-5,5))
- tab.obj = p
- tab.cf = p.CFrame
- tab.size = mr(5,10)
- table.insert(list,tab)
- end
- end Crack:Play()
- for i = 0,1,.2 do wait()
- for _,v in pairs(list) do
- v.obj.Size = Vector3.new(1,v.size*i,1)
- v.obj.CFrame = v.cf*cfn(0,v.size*i/2,0)
- end
- end
- Delay(4,function()
- for i = 1,0,-.2 do wait()
- for _,v in pairs(list) do
- v.obj.Size = Vector3.new(1,v.size*i,1)
- v.obj.CFrame = v.cf*cfn(0,v.size*i/2,0)
- end
- end
- for _,v in pairs(list) do
- v.obj:Destroy()
- end end)
- tw(rw,equip,.1,'') tw(hw,cfn())
- end
- Cages = {}
- function shoudon(mouse) a = 0
- Mod = Instance.new('Model',Weapon)
- Cur_Parent = Mod
- p = Part(1,1,1,'Black',1) p.Anchored = true
- holding = true
- genNew('SelectionBox',p,{
- Adornee = p;
- Color = bcol'Cyan';
- })
- cf = mouse.hit
- while holding do wait() a = a+1
- if Keys.e then for i,v in pairs(Cages) do v:Destroy() end p:Destroy() Cages = {}
- return end
- p.Size = Vector3.new(a,a,a)
- p.CFrame = cfn(cf.p)*cfn(0,a/2,0)
- end
- for i = 1,0,-.1 do
- wait()
- p.Transparency = i
- end
- for _,y in pairs({-a/2+.5,a/2+.5}) do
- for _,pos in pairs({ {x=a/2,z=0};{x=-a/2,z=0};{z=a/2,x=0,r=1};{z=-a/2,x=0,r=1} }) do
- w = Part(1,1,a+1,'Black',0,1,1)
- w.CFrame = l(p,pos.x,y,pos.z,0,pos.r and math.pi/2 or 0)
- w = Part(1,a-1,a-1,'Cyan',.5,1,1)
- w.CFrame = l(p,pos.x,.5,pos.z,0,pos.r and math.pi/2 or 0)
- end
- end
- w = Part(1,a-1,a-1,'Cyan',.5,1,1)
- w.CFrame = l(p,0,a/2,0,0,0,math.pi/2)
- w = Part(1,a-1,a-1,'Cyan',.5,1,1)
- w.CFrame = l(p,0,-a/2,0,0,0,math.pi/2)
- for i,pos in pairs({ {x=a/2,z=a/2};{x=-a/2,z=-a/2};{z=a/2,x=-a/2};{z=-a/2,x= a/2} }) do
- w = Part(1,a,1,'Black',0,1,1)
- w.CFrame = l(p,pos.x,0,pos.z,0)
- end
- table.insert(Cages,Mod) Cur_Parent = _
- for i = 0,1,.1 do
- wait()
- p.Transparency = i
- end
- p:Destroy()
- end
- for i,v in pairs(torso:children()) do if v:IsA'BodyGyro' or v:IsA'BodyPosition' or v:IsA'BodyVelocity' then v:Destroy() end end
- function teleport(mouse) char.archivable = true
- coroutine.wrap(function() loopi = true a = 0
- repeat a = a+1
- local p = Part(5,5,5,a%2 == 0 and 'White' or 'Cyan',.5)
- p.CFrame = l(torso,0,0,0,mr(-10,10),mr(-10,10),mr(-10,10))
- Debris:AddItem(p,.1) wait()
- until not loopi
- end)()
- tc(torso,cfn(mouse.hit.p)*cfn(0,5,0),.1)
- loopi = false
- end
- function loud()
- tw(rw,cfn()*ang(md(40),md(-25),0),.1,'')
- for i = 0,1,.1 do wait()
- tip.Size = Vector3.new(1+i*1,2-i*1.5,1+i*1)
- tipw.Parent = ydin
- tipw.Part1 = tip
- end
- e = Instance.new("Explosion",Workspace)
- e.BlastPressure = 0
- e.Position = tip.Position
- e.Hit:connect(function(hit)
- local hum = FindHum(hit.Parent)
- if hum and hum.Parent ~= char then
- hum.Health = hum.Health -(3)
- hum.Sit = true
- hum.Torso.Velocity = cfn(e.Position,Vector3.new(hum.Torso.Position.x,torso.Position.y,hum.Torso.Position.z)).lookVector*100
- end
- end)
- coroutine.wrap(function()
- local p = Part(1,1,1,'Cyan',.5,1,0)
- p.CFrame = cfn(tip.CFrame.p)*ang(math.pi/2,0,0)
- msh = Mesh(p,'Ring')
- for i = 1,30 do wait()
- msh.Scale = Vector3.new(i,i,1)
- p.Transparency = i/30
- end
- p:Destroy()
- end)()
- q = Add.BV(torso,cfn(l(torso).p,l(torso,0,2,5).p).lookVector*100)
- Debris:AddItem(q,.5)
- tw(rw,equip,.1,'')
- for i = 1,0,-.1 do wait()
- tip.Size = Vector3.new(1+i*1,2-i*1.5,1+i*1)
- tipw.Parent = ydin
- tipw.Part1 = tip
- end
- end
- --/Attacks
- --Sounds
- Synth = Add.Sound("http://www.roblox.com/Asset/?id=46153268",1)
- --/Sounds
- --http://www.roblox.com/asset/?id=107431751
- --http://www.roblox.com/asset/?id=107431876
- klist = { --- Key Bindings
- f = slash;
- x = sit;
- eq = blast;
- qq = shoudon;
- t = teleport;
- c = loud;
- v = trip;
- }
- Keys = {}
- function CheckKeys(key)
- if Keys[key] then Keys[key] = _
- elseif not Keys[key] then Keys[key] = true
- end
- end
- hop.Selected:connect(function(mouse) Equip()
- mouse.Button1Up:connect(function() holding = false end)
- mouse.KeyUp:connect(function(key) CheckKeys(key) for i,v in pairs(klist) do if key == i:sub(1,1) and i:sub(2,2) == 'q' then holding = false end end end)
- mouse.KeyDown:connect(function(key)
- CheckKeys(key)
- if attacking then return end
- for i,v in pairs(klist) do
- if key == i:sub(1,1) then attacking = true v(mouse) attacking = false
- end
- end
- end)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement