Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --game.Players.LocalPlayer.Character.Animate:Destroy()
- local Tool=script.Parent
- local Player=game.Players.LocalPlayer
- local Char=Player.Character
- local Hum=Char.Humanoid
- local Torso=Char.Torso
- local Larm=Char["Left Arm"]
- local Rarm=Char["Right Arm"]
- local Lleg=Char["Left Leg"]
- local Rleg=Char["Right Leg"]
- LS=Torso["Left Shoulder"]
- LH=Torso["Left Hip"]
- RS=Torso["Right Shoulder"]
- RH=Torso["Right Hip"]
- local Head=Char.Head
- Neck=Torso.Neck
- local RootPart=Char.HumanoidRootPart
- local RootJoint=RootPart.RootJoint
- local Mouse=Player:GetMouse()
- r=game:service'RunService'.RenderStepped
- h=game:service'RunService'.Heartbeat
- v3=Vector3.new
- cf=CFrame.new
- rad = math.rad
- ran = math.random
- it = Instance.new
- c3=Color3.new
- angles = CFrame.Angles
- necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0)
- LSC0=cf(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0)
- RSC0=cf(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- ROOTC0 = cf(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- LastMove=""
- Anim="Idle"
- Attacking=false
- clerp = function(a, b, t)
- return a:lerp(b, t)
- end
- function defpos()
- Neck.C0 = necko
- LH.C0 = LHC0
- LS.C0 = LSC0
- RH.C0 = RHC0
- RS.C0 = RSC0
- RootJoint.C0 = ROOTC0
- end
- function part(parent,anchored,collide,size,cframe,color3,material,trans,meshtype,meshscale)
- local partt = it("Part",parent)
- partt.Anchored = anchored
- partt.CanCollide = collide
- partt.Size = size
- partt.CFrame = cframe
- partt.Color = color3
- partt.Material = material
- partt.Transparency = trans
- if meshtype then
- local mesh = it("SpecialMesh", partt)
- mesh.MeshType = meshtype
- mesh.Scale = meshscale
- end
- return partt
- end
- function spmesh(parent,id,scale)
- local smesh = it("SpecialMesh", parent)
- smesh.MeshId = id
- smesh.Scale = scale
- return smesh
- end
- function decal(parent,texture,face)
- local dec = it("Decal", parent)
- dec.Texture = texture
- dec.Face = face
- return dec
- end
- function weld(parent,a,b,c0)
- local w=it("Weld",parent)
- w.Part0=a
- w.Part1=b
- w.C0=c0
- end
- function PE(part,col3,Lemission,trans,accel,ltp,edirection,enabled,lifetime,rate,rotation,rotspeed,speed,velspread,name,text)
- local p=it("ParticleEmitter",part)
- p.Texture=text
- p.Color=col3
- p.LightEmission=Lemission
- p.Transparency=trans
- p.Acceleration=accel
- p.LockedToPart=ltp
- p.EmissionDirection=edirection
- p.Enabled=enabled
- p.Lifetime=lifetime
- p.Rate=rate
- p.Rotation=rotation
- p.RotSpeed=rotspeed
- p.Speed=speed
- p.VelocitySpread=velspread
- p.Name=name
- return p
- end
- function PEE(part,size,col3,Lemission,trans,accel,ltp,edirection,enabled,lifetime,rate,rotation,rotspeed,speed,velspread,name,text)
- local p=it("ParticleEmitter",part)
- p.Size=size
- p.Texture=text
- p.Color=col3
- p.LightEmission=Lemission
- p.Transparency=trans
- p.Acceleration=accel
- p.LockedToPart=ltp
- p.EmissionDirection=edirection
- p.Enabled=enabled
- p.Lifetime=lifetime
- p.Rate=rate
- p.Rotation=rotation
- p.RotSpeed=rotspeed
- p.Speed=speed
- p.VelocitySpread=velspread
- p.Name=name
- return p
- end
- local TransTailPoints={}
- for i=0,1,.1 do
- table.insert(TransTailPoints,NumberSequenceKeypoint.new(i,i,i))
- end
- TailSize={
- NumberSequenceKeypoint.new(0,1,0),
- NumberSequenceKeypoint.new(.0399,2.12,0),
- NumberSequenceKeypoint.new(.129,1.81,0),
- NumberSequenceKeypoint.new(.524,1.3,0),
- NumberSequenceKeypoint.new(1,.75,0),
- }
- TailPart=part(Char,false,false,v3(0,0,0),cf(0,0,0),c3(0,0,0),"Plastic",0)
- TailWeld=weld(Char,Torso,TailPart,cf(0,-.666,.5))
- TailEffect=PE(TailPart,ColorSequence.new(Color3.new(1,1,1),Color3.new(0,1,1)),1,NumberSequence.new(TransTailPoints),v3(0,0,0),true,"Back",true,NumberRange.new(1,1,1),499999997952.000,NumberRange.new(0,0,0),NumberRange.new(0,0,0),NumberRange.new(3,3,3),0,"TailEffect","rbxassetid://250815255")
- local AccelPoints={
- Vector3.new(2.5,0,0),
- Vector3.new(2,0,0),
- Vector3.new(1.5,0,0),
- Vector3.new(1,0,0),
- Vector3.new(.5,0,0),
- Vector3.new(0,0,0),
- Vector3.new(-.5,0,0),
- Vector3.new(-1,0,0),
- Vector3.new(-1.5,0,0),
- Vector3.new(-2,0,0),
- Vector3.new(-2.5,0,0)
- }
- spawn(function()
- while wait() do
- for i=1,11 do
- wait(.2)
- TailEffect.Acceleration=AccelPoints[i]
- end
- end
- end)
- HPP={
- NumberSequenceKeypoint.new(0,1,0),
- NumberSequenceKeypoint.new(1,0,0)
- }
- HeadPart1=part(Char,false,false,v3(0,0,0),cf(0,0,0),c3(0,0,0),"Plastic",1)
- HeadPart2=HeadPart1:Clone()
- HeadPart2.Parent=Char
- HeadPE1=PEE(HeadPart1,NumberSequence.new(HPP),ColorSequence.new(c3(1,1,1),c3(1,1,1)),1,NumberSequence.new(TransTailPoints),v3(0,0,0),true,"Top",true,NumberRange.new(.5,.5,.5),499999997952.000,NumberRange.new(0,0,0),NumberRange.new(0,0,0),NumberRange.new(3,3,3),0,"HeadEffect1","rbxassetid://253188606")
- HeadPE2=HeadPE1:Clone()
- HeadPE2.Parent=HeadPart2
- local HeadWeld1=weld(Char,Head,HeadPart1,cf(.7,0,0))
- local HeadWeld2=weld(Char,Head,HeadPart2,cf(-.7,0,0))
- touch2=false
- touch3=false
- Mouse.KeyDown:connect(function(Key)
- if Key=="q" then
- local beentouched=false
- local PortalPart=part(Char,true,false,v3(0,0,0),Torso.CFrame*cf(0,10,0),c3(0,0,0),"Plastic",1)
- local PortalSizePoints={
- NumberSequenceKeypoint.new(0,1,0),
- NumberSequenceKeypoint.new(.04,2.9,0),
- NumberSequenceKeypoint.new(.127,2.35,0),
- NumberSequenceKeypoint.new(.5,1.3,0),
- NumberSequenceKeypoint.new(1,.185,0)
- }
- local PortalEf=PEE(PortalPart,NumberSequence.new(PortalSizePoints),ColorSequence.new(c3(1,1,1),c3(1,1,1)),1,NumberSequence.new(TransTailPoints),v3(0,0,0),true,"Top",true,NumberRange.new(.7,.7,.7),499999997952.000,NumberRange.new(0,0,0),NumberRange.new(0,0,0),NumberRange.new(6,6,6),1000000000.000,"PortalEffect","rbxassetid://253188606")
- local hbox=part(Char,false,false,v3(50,50,50),Torso.CFrame*cf(0,10,0),c3(0,0,0),"Plastic",1)
- local bp=it("BodyPosition")
- bp.maxForce=v3(math.huge,math.huge,math.huge)
- bp.Position=PortalPart.Position
- bp.Parent=hbox
- hbox.Touched:connect(function(hit)
- if hit.Parent:FindFirstChild("Humanoid") then
- if hit.Parent.Name~=Player.Name then
- print("HIT")
- if beentouched==false then
- beentouched=true
- wait(.5)
- local Target=part(Char,true,false,v3(0,0,0),hit.Parent.Torso.CFrame,c3(0,0,0),"Plastic",1)
- local bullet=part(Char,false,false,v3(0,0,0),PortalPart.CFrame,c3(0,0,0),"Plastic",1)
- local bulletPE=PEE(bullet,NumberSequence.new(TailSize),ColorSequence.new(c3(1,1,1),c3(1,1,1)),1,NumberSequence.new(TransTailPoints),v3(0,0,0),false,"Top",true,NumberRange.new(4,4,4),499999997952.000,NumberRange.new(0,0,0),NumberRange.new(0,0,0),NumberRange.new(0,0,0),1000000000.000,"PortalBulletEFFECT","rbxassetid://253188606")
- local BV=it("BodyVelocity")
- BV.maxForce=Vector3.new(math.huge,math.huge,math.huge)
- BV.Velocity=(Target.Position-bullet.Position).unit*50
- BV.Parent=bullet
- bullet.Touched:connect(function(touch)
- if touch3==false then
- if touch.ClassName=="Part" and touch.Name~=PortalPart.Name then
- touch3=true
- bulletPE.Enabled=false
- bullet.Anchored=true
- BV:Destroy()
- local hbox2=part(Char,false,false,v3(5,5,5),bullet.CFrame,c3(0,0,0),"Plastic",1)
- local bp2=it("BodyPosition")
- bp2.maxForce=v3(math.huge,math.huge,math.huge)
- bp2.Position=bullet.Position
- bp2.Parent=hbox2
- hbox2.Touched:connect(function(HIT)
- if HIT.Parent:FindFirstChild("Humanoid") then
- if HIT.Parent.Name~=Player.Name then
- local HUUM=HIT.Parent:FindFirstChild("Humanoid")
- HUUM.Health=HUUM.Health-30
- hbox2:Destroy()
- end
- end
- end)
- local ballp=part(Char,true,false,v3(0,0,0),bullet.CFrame,c3(0,1,1),"Plastic",0)
- ballp.TopSurface=0
- ballp.BottomSurface=0
- local ball=it("SpecialMesh",ballp)
- ball.MeshType="Sphere"
- ball.Scale=v3(10,10,10)
- local bpart1=part(Char,true,false,v3(0,0,0),bullet.CFrame*angles(ran(-10,10),ran(-10,10),ran(-10,10)),c3(0,1,1),"Plastic",0)
- bpart1.TopSurface=Enum.SurfaceType.SmoothNoOutlines
- bpart1.BottomSurface=Enum.SurfaceType.SmoothNoOutlines
- local bpart2=bpart1:Clone()
- bpart2.Parent=Char
- bpart2.CFrame=bpart2.CFrame*angles(ran(-10,10),ran(-10,10),ran(-10,10))
- local bm1=it("BlockMesh",bpart1)
- bm1.Scale=v3(10,10,10)
- local bm2=bm1:Clone()
- bm2.Parent=bpart2
- bulletPE:Destroy()
- local expPE=PEE(bullet,NumberSequence.new(PortalSizePoints),ColorSequence.new(c3(0,1,1),c3(0,1,1)),1,NumberSequence.new(TransTailPoints),v3(0,0,0),true,"Top",true,NumberRange.new(.7,.7,.7),499999997952.000,NumberRange.new(0,0,0),NumberRange.new(0,0,0),NumberRange.new(30,30,30),1000000000.000,"PortalEffect","rbxassetid://298035054")
- for i=1,50 do
- h:wait()
- ball.Scale=ball.Scale+v3(2,2,2)
- bm1.Scale=bm1.Scale+v3(1,1,1)
- bm2.Scale=bm2.Scale+v3(1,1,1)
- ballp.Transparency=i/50
- bpart1.Transparency=i/50
- bpart2.Transparency=i/50
- bpart2.CFrame=bpart2.CFrame*angles(ran(-10,10),ran(-10,10),ran(-10,10))
- bpart1.CFrame=bpart1.CFrame*angles(ran(-10,10),ran(-10,10),ran(-10,10))
- end
- expPE.Enabled=false
- end
- end
- end)
- wait(3)
- BV:Destroy()
- Target:Destroy()
- bullet:Destroy()
- beentouched=false
- touch3=false
- end
- end
- end
- end)
- wait(10)
- bp:Destroy()
- PortalEf:Destroy()
- hbox:Destroy()
- PortalPart:Destroy()
- beentouched=false
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement