Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Player = game.Players.localPlayer
- local Character = Player.Character
- local red = 255
- local green = 255
- local blue = 255
- local Humanoid = Character.Humanoid
- local mouse = Player:GetMouse()
- local m = Instance.new("Model", Character)
- m.Name = "WeaponModel"
- local LeftArm = Character["Left Arm"]
- local RightArm = Character["Right Arm"]
- local LeftLeg = Character["Left Leg"]
- local RightLeg = Character["Right Leg"]
- local Head = Character.Head
- local Torso = Character.Torso
- local cam = game.Workspace.CurrentCamera
- local RootPart = Character.HumanoidRootPart
- local RootJoint = RootPart.RootJoint
- local equipped = false
- local attack = false
- local Anim = "Idle"
- local idle = 0
- local attacktype = 1
- local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
- local velocity = RootPart.Velocity.y
- local sine = 0
- local change = 1
- local grabbed = false
- local cn = CFrame.new
- local mr = math.rad
- local angles = CFrame.Angles
- local ud = UDim2.new
- local c3 = Color3.new
- local lim = 0
- local st = 0
- local necko = cn(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- local attacktype = 1
- local ZTarget, RocketTarget = nil, nil
- local euler = CFrame.fromEulerAnglesXYZ
- function clerp(a,b,t)
- local qa = {QuaternionFromCFrame(a)}
- local qb = {QuaternionFromCFrame(b)}
- local ax, ay, az = a.x, a.y, a.z
- local bx, by, bz = b.x, b.y, b.z
- local _t = 1-t
- return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
- end
- function QuaternionFromCFrame(cf)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5/s
- return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
- else
- local i = 0
- if m11 > m00 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00-m11-m22+1)
- local recip = 0.5/s
- return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
- elseif i == 1 then
- local s = math.sqrt(m11-m22-m00+1)
- local recip = 0.5/s
- return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
- elseif i == 2 then
- local s = math.sqrt(m22-m00-m11+1)
- local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
- end
- end
- end
- function QuaternionToCFrame(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w*xs, w*ys, w*zs
- local xx = x*xs
- local xy = x*ys
- local xz = x*zs
- local yy = y*ys
- local yz = y*zs
- local zz = z*zs
- return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
- end
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
- local startInterp, finishInterp;
- if cosTheta >= 0.0001 then
- if (1 - cosTheta) > 0.0001 then
- local theta = math.acos(cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((1-t)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = 1-t
- finishInterp = t
- end
- else
- if (1+cosTheta) > 0.0001 then
- local theta = math.acos(-cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((t-1)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = t-1
- finishInterp = t
- end
- end
- return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
- end
- rayCast = function(Position, Direction, Range, Ignore)
- return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
- end
- local v = game.Players.localPlayer
- local torso = v.Character.Torso
- wait(1)
- local p = Instance.new("Part", v.Character)
- p.Name = "kit"
- p.Anchored = true
- p.Transparency = 0
- p.Material = "Plastic"
- p.CanCollide = false
- p.TopSurface = 0
- p.BottomSurface = 0
- p.Size = Vector3.new(0.2, 0.2, 0.2)
- p.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0)
- local msh = Instance.new("SpecialMesh", p)
- msh.Scale = Vector3.new(-2, 2, 2)
- msh.MeshId = "http://www.roblox.com/asset/?id=188635159"
- msh.TextureId = "http://www.roblox.com/asset/?id=188539332"
- msh.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b)
- local pn = Instance.new("Part", v.Character.kit)
- pn.Name = "tail"
- pn.Anchored = true
- pn.Transparency = 0
- pn.Material = "Plastic"
- pn.CanCollide = false
- pn.TopSurface = 0
- pn.BottomSurface = 0
- pn.Size = Vector3.new(5, 3, 3)
- pn.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0)
- local mshn = Instance.new("SpecialMesh", pn)
- mshn.Scale = Vector3.new(2, 2, 2)
- mshn.MeshId = "http://www.roblox.com/asset/?id=188635159"
- mshn.TextureId = "http://www.roblox.com/asset/?id=188539332"
- mshn.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b)
- local pn3 = Instance.new("Part", v.Character.kit)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement