Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Player = game.Players.LocalPlayer
- Char = Player.Character
- DebMove = false
- DebTalk = false
- Quotes = {
- "The end is near.",
- "Ignorant thralls.",
- "What do you want errand boy?",
- "Resistance is futile.",
- "See if I care."
- }
- local State = "Idle"
- local RunNow = false
- local SmoothPart = Instance.new("Part")
- SmoothPart.FormFactor = Enum.FormFactor.Symmetric
- SmoothPart.TopSurface = Enum.SurfaceType.Smooth
- SmoothPart.Size = Vector3.new(1, 1, 1)
- SmoothPart.Name = "SmoothPart"
- SmoothPart.BottomSurface = Enum.SurfaceType.Smooth
- local MESHES = {
- Blast = "http://www.roblox.com/asset/?id=20329976",
- Scythe = "http://www.roblox.com/asset/?id=50880202",
- Ring = "http://www.roblox.com/asset/?id=3270017"
- }
- local TEXTURES = {
- Scythe = "http://www.roblox.com/asset/?id=50880003"
- }
- local OLD_WELDS = {
- LeftArm = Char.Torso["Left Shoulder"],
- RightArm = Char.Torso["Right Shoulder"]
- }
- -- create replacement welds
- local weld = Instance.new("ManualWeld", Char.Torso)
- weld.Name = "Left Shoulder New"
- weld.Part0 = Char.Torso
- weld.Part1 = Char["Left Arm"]
- weld.C0 = OLD_WELDS.LeftArm.C0
- weld.C1 = OLD_WELDS.LeftArm.C1
- local FakeL = SmoothPart:clone()
- FakeL.Transparency = 1
- FakeL.Anchored = false
- FakeL.Parent = Char
- OLD_WELDS.LeftArm.Part1 = FakeL
- local weld = Instance.new("ManualWeld", Char.Torso)
- weld.Name = "Right Shoulder New"
- weld.Part0 = Char.Torso
- weld.Part1 = Char["Right Arm"]
- weld.C0 = OLD_WELDS.RightArm.C0
- weld.C1 = OLD_WELDS.RightArm.C1
- local FakeR = SmoothPart:clone()
- FakeR.Transparency = 1
- FakeR.Anchored = false
- FakeR.Parent = Char
- OLD_WELDS.RightArm.Part1 = FakeR
- local W = {
- Neck = Char.Torso.Neck,
- Torso = Char.HumanoidRootPart["RootJoint"],
- LeftArm = Char.Torso["Left Shoulder New"],
- RightArm = Char.Torso["Right Shoulder New"],
- LeftLeg = Char.Torso["Left Hip"],
- RightLeg = Char.Torso["Right Hip"]
- }
- function ChangeWelds(fake)
- if fake then
- --OLD_WELDS.RightArm.Part1 = FakeR
- OLD_WELDS.LeftArm.Part1 = FakeL
- --WELDS.RightArmW.Part1 = Char["Right Arm"]
- W.LeftArm.Part1 = Char["Left Arm"]
- else
- --OLD_WELDS.RightArm.Part1 = Char["Right Arm"]
- OLD_WELDS.LeftArm.Part1 = Char["Left Arm"]
- --WELDS.RightArmW.Part1 = FakeR
- W.LeftArm.Part1 = FakeL
- end
- end; --ChangeWelds(false)
- OLD_C1 = {
- Neck = W.Neck.C1,
- Torso = W.Torso.C1,
- LeftArm = W.LeftArm.C1,
- RightArm = W.RightArm.C1,
- LeftLeg = W.LeftLeg.C1,
- RightLeg = W.RightLeg.C1
- }
- OLD_C0 = {
- Neck = W.Neck.C0,
- Torso = W.Torso.C0,
- LeftArm = W.LeftArm.C0,
- RightArm = W.RightArm.C0,
- LeftLeg = W.LeftLeg.C0,
- RightLeg = W.RightLeg.C0
- }
- W.RightArm.C0 = W.RightArm.C0*CFrame.Angles(-math.rad(20), 0, -math.rad(10))
- W.LeftArm.C0 = W.LeftArm.C0*CFrame.Angles(-math.rad(10), 0, 0)
- OLD_WELDS.RightArm.C0 = W.RightArm.C0*CFrame.Angles(-math.rad(20), 0, -math.rad(10))
- OLD_WELDS.LeftArm.C0 = W.LeftArm.C0*CFrame.Angles(-math.rad(10), 0, 0)
- function WeldGroup(parts)
- local prev
- for i = 1,#parts do
- if (parts[i].className == "Part") or (parts[i].className == "VehicleSeat") or (parts[i].className == "UnionOperation") then
- if (prev ~= nil)then
- local weld = Instance.new("Weld")
- weld.Part0 = prev
- weld.Part1 = parts[i]
- weld.C0 = prev.CFrame:inverse()
- weld.C1 = parts[i].CFrame:inverse()
- weld.Parent = prev
- end
- prev = parts[i]
- end
- end
- end
- function WeldBetween(a, b, C, name)
- --Make a new Weld and Parent it to a.
- local weld = Instance.new("ManualWeld", a)
- weld.Name = name or "Weld"
- weld.Part0 = a
- weld.Part1 = b
- --Get the CFrame of b relative to a.
- weld.C0 = C or a.CFrame:inverse() * b.CFrame
- --Return the reference to the weld so that you can change it later.
- return weld
- end
- function CreateSword()
- lynn = Instance.new("Model", Char)
- lynn.Name = "Lynn"
- local part = Instance.new("Part", lynn)
- part.FormFactor = Enum.FormFactor.Custom
- part.CanCollide = false
- part.TopSurface = Enum.SurfaceType.Smooth
- part.Material = Enum.Material.SmoothPlastic
- part.Size = Vector3.new(0.961, 0.2, 0.2)
- part.CFrame = CFrame.new(8.212, 0.7, 18.287) * CFrame.Angles(-3.0600867262365e-007, -0.52359843254089, -1.8473875229574e-007)
- part.BrickColor = BrickColor.new("Mid gray")
- part.Friction = 0.3
- part.BottomSurface = Enum.SurfaceType.Smooth
- local mesh = Instance.new("BlockMesh", part)
- mesh.Scale = Vector3.new(1, 0.52, 1)
- toppoint = Instance.new("Part", lynn)
- toppoint.FormFactor = Enum.FormFactor.Custom
- toppoint.CanCollide = false
- toppoint.TopSurface = Enum.SurfaceType.Smooth
- toppoint.Material = Enum.Material.SmoothPlastic
- toppoint.Size = Vector3.new(1.818, 0.2, 1)
- toppoint.Name = "TopPoint"
- toppoint.CFrame = CFrame.new(8.867, 0.7, 17.618) * CFrame.Angles(-3.141592502594, -0.78539752960205, -3.141592502594)
- toppoint.BrickColor = BrickColor.new("Mid gray")
- toppoint.Friction = 0.3
- toppoint.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_2 = Instance.new("BlockMesh", toppoint)
- mesh_2.Scale = Vector3.new(1, 0.54, 1)
- local part_2 = Instance.new("Part", lynn)
- part_2.FormFactor = Enum.FormFactor.Custom
- part_2.CanCollide = false
- part_2.TopSurface = Enum.SurfaceType.Smooth
- part_2.Material = Enum.Material.SmoothPlastic
- part_2.Size = Vector3.new(1.923, 0.2, 0.8)
- part_2.CFrame = CFrame.new(8.381, 0.7, 17.308) * CFrame.Angles(-3.1415910720825, -1.3089945316315, -3.1415910720825)
- part_2.BrickColor = BrickColor.new("Mid gray")
- part_2.Friction = 0.3
- part_2.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_3 = Instance.new("BlockMesh", part_2)
- mesh_3.Scale = Vector3.new(1, 0.53, 1)
- local part_3 = Instance.new("Part", lynn)
- part_3.FormFactor = Enum.FormFactor.Custom
- part_3.CanCollide = false
- part_3.TopSurface = Enum.SurfaceType.Smooth
- part_3.Material = Enum.Material.SmoothPlastic
- part_3.Size = Vector3.new(0.6, 0.2, 0.6)
- part_3.CFrame = CFrame.new(8.9, 0.7, 14.417) * CFrame.Angles(-5.9411124908593e-009, -0.78539770841599, -2.0384338483836e-007)
- part_3.BrickColor = BrickColor.new("Dark stone grey")
- part_3.Friction = 0.3
- part_3.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_4 = Instance.new("BlockMesh", part_3)
- mesh_4.Scale = Vector3.new(1, 0.99, 1)
- local part_4 = Instance.new("Part", lynn)
- part_4.FormFactor = Enum.FormFactor.Custom
- part_4.CanCollide = false
- part_4.TopSurface = Enum.SurfaceType.Smooth
- part_4.Material = Enum.Material.SmoothPlastic
- part_4.Size = Vector3.new(1.4, 0.2, 4)
- part_4.CFrame = CFrame.new(8.9, 0.7, 15) * CFrame.Angles(-0, 0, -4.4703508450539e-008)
- part_4.BrickColor = BrickColor.new("Mid gray")
- part_4.Friction = 0.3
- part_4.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_5 = Instance.new("BlockMesh", part_4)
- mesh_5.Scale = Vector3.new(1, 0.55, 1)
- local part_5 = Instance.new("Part", lynn)
- part_5.FormFactor = Enum.FormFactor.Custom
- part_5.CanCollide = false
- part_5.TopSurface = Enum.SurfaceType.Smooth
- part_5.Material = Enum.Material.SmoothPlastic
- part_5.Size = Vector3.new(0.8, 0.2, 0.8)
- part_5.CFrame = CFrame.new(8.9, 0.7, 13.959) * CFrame.Angles(-5.9411124908593e-009, -0.78539770841599, -2.0384338483836e-007)
- part_5.BrickColor = BrickColor.new("Dark stone grey")
- part_5.Friction = 0.3
- part_5.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_6 = Instance.new("BlockMesh", part_5)
- core = Instance.new("Part", lynn)
- core.FormFactor = Enum.FormFactor.Custom
- core.CanCollide = false
- core.TopSurface = Enum.SurfaceType.Smooth
- core.Material = Enum.Material.Neon
- core.Size = Vector3.new(1.8, 1, 0.6)
- core.Name = "Core"
- core.CFrame = CFrame.new(8.9, 0.7, 13.1) * CFrame.Angles(-0, 0, -4.4703508450539e-008)
- core.BrickColor = BrickColor.new("Royal purple")
- core.Friction = 0.3
- core.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_7 = Instance.new("CylinderMesh", core)
- mesh_7.Scale = Vector3.new(1, 0.75, 1)
- local part_6 = Instance.new("Part", lynn)
- part_6.FormFactor = Enum.FormFactor.Custom
- part_6.CanCollide = false
- part_6.TopSurface = Enum.SurfaceType.Smooth
- part_6.Material = Enum.Material.SmoothPlastic
- part_6.Size = Vector3.new(1.8, 0.6, 1.4)
- part_6.CFrame = CFrame.new(8.9, 0.7, 13.1) * CFrame.Angles(-0, 0, -4.4703508450539e-008)
- part_6.BrickColor = BrickColor.new("Really black")
- part_6.Friction = 0.3
- part_6.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_8 = Instance.new("CylinderMesh", part_6)
- local part_7 = Instance.new("Part", lynn)
- part_7.FormFactor = Enum.FormFactor.Custom
- part_7.CanCollide = false
- part_7.TopSurface = Enum.SurfaceType.Smooth
- part_7.Material = Enum.Material.SmoothPlastic
- part_7.Size = Vector3.new(1.8, 1, 1)
- part_7.CFrame = CFrame.new(8.9, 0.7, 13.1) * CFrame.Angles(-0, 0, -4.4703508450539e-008)
- part_7.BrickColor = BrickColor.new("Black")
- part_7.Friction = 0.3
- part_7.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_9 = Instance.new("CylinderMesh", part_7)
- mesh_9.Scale = Vector3.new(1, 0.7, 1)
- local part_8 = Instance.new("Part", lynn)
- part_8.FormFactor = Enum.FormFactor.Custom
- part_8.CanCollide = false
- part_8.TopSurface = Enum.SurfaceType.Smooth
- part_8.Material = Enum.Material.SmoothPlastic
- part_8.Size = Vector3.new(1.8, 0.6, 1.4)
- part_8.CFrame = CFrame.new(8.9, 0.7, 12.7) * CFrame.Angles(-0, 0, -4.4703508450539e-008)
- part_8.BrickColor = BrickColor.new("Black")
- part_8.Friction = 0.3
- part_8.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_10 = Instance.new("CylinderMesh", part_8)
- mesh_10.Scale = Vector3.new(1, 0.5, 1)
- local part_9 = Instance.new("Part", lynn)
- part_9.FormFactor = Enum.FormFactor.Custom
- part_9.CanCollide = false
- part_9.TopSurface = Enum.SurfaceType.Smooth
- part_9.Material = Enum.Material.SmoothPlastic
- part_9.Size = Vector3.new(0.653, 0.2, 0.2)
- part_9.CFrame = CFrame.new(9.613, 0.7, 17.096) * CFrame.Angles(-0, -1.0471967458725, -1.2213226341373e-007)
- part_9.BrickColor = BrickColor.new("Mid gray")
- part_9.Friction = 0.3
- part_9.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_11 = Instance.new("BlockMesh", part_9)
- mesh_11.Scale = Vector3.new(1, 0.52, 1)
- local part_10 = Instance.new("Part", lynn)
- part_10.FormFactor = Enum.FormFactor.Custom
- part_10.CanCollide = false
- part_10.TopSurface = Enum.SurfaceType.Smooth
- part_10.Material = Enum.Material.SmoothPlastic
- part_10.Size = Vector3.new(1.8, 0.2, 1.8)
- part_10.CFrame = CFrame.new(8.9, 0.7, 12.9) * CFrame.Angles(-0, 0, -4.4703508450539e-008)
- part_10.BrickColor = BrickColor.new("Dark stone grey")
- part_10.Friction = 0.3
- part_10.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_12 = Instance.new("CylinderMesh", part_10)
- local part_11 = Instance.new("Part", lynn)
- part_11.FormFactor = Enum.FormFactor.Custom
- part_11.CanCollide = false
- part_11.TopSurface = Enum.SurfaceType.Smooth
- part_11.Material = Enum.Material.SmoothPlastic
- part_11.Size = Vector3.new(1.8, 0.6, 0.6)
- part_11.CFrame = CFrame.new(8.9, 0.7, 12.1) * CFrame.Angles(-0, 0, -4.4703508450539e-008)
- part_11.BrickColor = BrickColor.new("Dark stone grey")
- part_11.Friction = 0.3
- part_11.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_13 = Instance.new("CylinderMesh", part_11)
- handle = Instance.new("Part", lynn)
- handle.FormFactor = Enum.FormFactor.Custom
- handle.CanCollide = false
- handle.TopSurface = Enum.SurfaceType.Smooth
- handle.Material = Enum.Material.SmoothPlastic
- handle.Size = Vector3.new(0.6, 1.8, 0.6)
- handle.Name = "Handle"
- handle.CFrame = CFrame.new(8.9, 0.7, 11.3) * CFrame.Angles(1.5707963705063, 0, -4.4703508450539e-008)
- handle.Friction = 0.3
- handle.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_14 = Instance.new("CylinderMesh", handle)
- local part_12 = Instance.new("Part", lynn)
- part_12.FormFactor = Enum.FormFactor.Custom
- part_12.CanCollide = false
- part_12.TopSurface = Enum.SurfaceType.Smooth
- part_12.Material = Enum.Material.SmoothPlastic
- part_12.Size = Vector3.new(0.6, 0.8, 0.6)
- part_12.CFrame = CFrame.new(8.9, 0.7, 10.4) * CFrame.Angles(1.5707963705063, 0, -0)
- part_12.BrickColor = BrickColor.new("Dark stone grey")
- part_12.Friction = 0.3
- part_12.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_15 = Instance.new("SpecialMesh", part_12)
- mesh_15.MeshType = Enum.MeshType.Sphere
- local part_13 = Instance.new("Part", lynn)
- part_13.FormFactor = Enum.FormFactor.Custom
- part_13.CanCollide = false
- part_13.TopSurface = Enum.SurfaceType.Smooth
- part_13.Material = Enum.Material.SmoothPlastic
- part_13.Size = Vector3.new(1, 1.2, 0.2)
- part_13.CFrame = CFrame.new(8.9, 0.7, 9.4) * CFrame.Angles(1.5707963705063, 0, -0)
- part_13.BrickColor = BrickColor.new("Dark stone grey")
- part_13.Friction = 0.3
- part_13.BottomSurface = Enum.SurfaceType.Smooth
- local mesh_16 = Instance.new("SpecialMesh", part_13)
- mesh_16.Scale = Vector3.new(2, 2, 2)
- mesh_16.MeshId = "http://www.roblox.com/asset/?id=3270017"
- mesh_16.MeshType = Enum.MeshType.FileMesh
- WeldGroup(lynn:GetChildren())
- WeldBetween(handle, Char["Right Arm"], CFrame.new(-1, 0, 0)*CFrame.Angles(math.rad(90), 0, math.rad(90)), "HandleWeld")
- W.Handle = handle.HandleWeld
- OLD_C1.Handle = W.Handle.C1
- OLD_C0.Handle = W.Handle.C0
- end; CreateSword()
- local fromAxisAngle = CFrame.fromAxisAngle
- local components = CFrame.new().components
- local inverse = CFrame.new().inverse
- local v3 = Vector3.new
- local acos = math.acos
- local sqrt = math.sqrt
- local invroot2 = 1/math.sqrt(2)
- function clerp(c0, c1, t) -- (CFrame from, CFrame to) -> (float theta, (float fraction -> CFrame between))
- -- The expanded matrix
- local _, _, _, xx, yx, zx,
- xy, yy, zy,
- xz, yz, zz = components(inverse(c0)*c1)
- -- The cos-theta of the axisAngles from
- local cosTheta = (xx + yy + zz - 1)/2
- -- Rotation axis
- local rotationAxis = v3(yz-zy, zx-xz, xy-yx)
- -- The position to tween through
- local positionDelta = (c1.p - c0.p)
- -- Theta
- local theta;
- -- Catch degenerate cases
- if cosTheta == 0 then
- -- Case exact same rotation, just interpolator over the position
- return c0 + positionDelta*t
- elseif cosTheta >= 0.999 then
- -- Case very similar rotations, just lineraly interpolate, as it is a good
- -- approximation. At this small angle we can't reliably find a rotation axis
- -- for some values even if the rotation matrix would still be accurate.
- local startPos = c0.p
- local _, _, _, xx0, yx0, zx0,
- xy0, yy0, zy0,
- xz0, yz0, zz0 = components(c0)
- local _, _, _, xx1, yx1, zx1,
- xy1, yy1, zy1,
- xz1, yz1, zz1 = components(c1)
- local a = 1 - t
- return CFrame.new(0, 0, 0, xx0*a+xx1*t, yx0*a+yx1*t, zx0*a+zx1*t,
- xy0*a+xy1*t, yy0*a+yy1*t, zy0*a+zy1*t,
- xz0*a+xz1*t, yz0*a+yz1*t, zz0*a+zz1*t) +
- (startPos + positionDelta*t)
- elseif cosTheta <= -0.9999 then
- -- Case exactly opposite rotations, disambiguate
- theta = math.pi
- xx = (xx + 1) / 2
- yy = (yy + 1) / 2
- zz = (zz + 1) / 2
- if xx > yy and xx > zz then
- if xx < 0.0001 then
- rotationAxis = v3(0, invroot2, invroot2)
- else
- local x = sqrt(xx)
- xy = (xy + yx) / 4
- xz = (xz + zx) / 4
- rotationAxis = v3(x, xy/x, xz/x)
- end
- elseif yy > zz then
- if yy < 0.0001 then
- rotationAxis = v3(invroot2, 0, invroot2)
- else
- local y = sqrt(yy)
- xy = (xy + yx) / 4
- yz = (yz + zy) / 4
- rotationAxis = v3(xy/y, y, yz/y)
- end
- else
- if zz < 0.0001 then
- rotationAxis = v3(invroot2, invroot2, 0)
- else
- local z = sqrt(zz)
- xz = (xz + zx) / 4
- yz = (yz + zy) / 4
- rotationAxis = v3(xz/z, yz/z, z)
- end
- end
- else
- -- Normal case, get theta from cosTheta
- theta = acos(cosTheta)
- end
- -- Return the interpolator
- -- return theta, function(t)
- -- return c0*fromAxisAngle(rotationAxis, theta*t) + positionDelta*t
- -- end
- return c0*fromAxisAngle(rotationAxis, theta*t) + positionDelta*t
- end
- function MagDamage(Pos, Damage, Rad, per)
- local Targeted = {}
- local Percent = per or false
- local Radius = Rad or 1
- local Players = game.Players:GetChildren()
- for _, v in pairs(Players) do
- if v.Character and v.Name ~= Player.Name then
- if v.Character:FindFirstChild("Humanoid") and v.Character:FindFirstChild("Torso") then
- local mag = (Pos - v.Character.Torso.Position).magnitude
- if mag <= Rad then
- if percent then
- v.Character.Humanoid:TakeDamage(v.Character.Humanoid.MaxHealth/100*Damage)
- else
- v.Character.Humanoid:TakeDamage(Damage)
- end
- table.insert(Targeted, v)
- end
- end
- end
- end
- return Targeted
- end
- function SetSpeed(s, r)
- Char.Humanoid.WalkSpeed = s
- Char.Humanoid.AutoRotate = r
- end
- Moves = {
- ["ClickAttack"] = function()
- State = "Move"; RunNow = false
- local Select = math.random(1,3)
- if Select == 1 then
- for i = 0, 1, .1 do wait()
- W.Torso.C1 = clerp(W.Torso.C1, OLD_C1.Torso, i)
- W.Torso.C0 = clerp(W.Torso.C0, OLD_C0.Torso*CFrame.new(0, 0, 10)*CFrame.Angles(-math.rad(10), 0, 0), i)
- W.LeftArm.C1 = clerp(W.LeftArm.C1, OLD_C1.LeftArm*CFrame.new(0, .5, 0)*CFrame.Angles(-math.rad(20), 0, math.rad(170)), i)
- W.RightArm.C1 = clerp(W.RightArm.C1, OLD_C1.RightArm*CFrame.new(0, .5, 0)*CFrame.Angles(-math.rad(20), 0, -math.rad(170)), i)
- W.Handle.C0 = clerp(W.Handle.C0, OLD_C0.Handle*CFrame.new(0, 0, .4)*CFrame.Angles(math.rad(60), math.rad(20), 0), i)
- W.Handle.C1 = clerp(W.Handle.C1, OLD_C1.Handle, i)
- end
- for i = 0, 1, .2 do wait()
- W.Torso.C1 = clerp(W.Torso.C1, OLD_C1.Torso, i)
- W.Torso.C0 = clerp(W.Torso.C0, OLD_C0.Torso, i)
- W.LeftArm.C1 = clerp(W.LeftArm.C1, OLD_C1.LeftArm*CFrame.new(0, .5, 0)*CFrame.Angles(-math.rad(50), 0, math.rad(40)), i)
- W.RightArm.C1 = clerp(W.RightArm.C1, OLD_C1.RightArm*CFrame.new(0, .5, 0)*CFrame.Angles(-math.rad(50), 0, -math.rad(40)), i)
- W.Handle.C0 = clerp(W.Handle.C0, OLD_C0.Handle*CFrame.Angles(math.rad(40), math.rad(20), 0), i)
- end
- MagDamage(toppoint.Position, 20, 15)
- for i = 1, 5 do
- local t = SmoothPart:clone()
- local bm = Instance.new("BlockMesh", t)
- bm.Scale = Vector3.new(0, 0, 0)
- t.Anchored = true
- t.CanCollide = false
- t.Size = Vector3.new(1,1,1)
- t.Rotation = Vector3.new(math.random(360), math.random(360), math.random(360))
- t.Transparency = .5
- t.Position = toppoint.Position
- t.Parent = Char
- coroutine.resume(coroutine.create(function()
- for i = 0, 1, .2 do wait()
- bm.Scale = Vector3.new(5*i, 5*i, 5*i)
- wait()
- end
- t:Destroy()
- end))
- end
- local t = SmoothPart:clone()
- local bm = Instance.new("SpecialMesh", t)
- bm.MeshId = MESHES.Ring
- bm.Scale = Vector3.new(0, 0, 0)
- t.Anchored = true
- t.CanCollide = false
- t.Size = Vector3.new(1,1,1)
- t.Rotation = Vector3.new(90, 0, 0)
- t.Transparency = .5
- t.Position = toppoint.Position - Vector3.new(0 , .5, 0)
- t.Parent = Char
- coroutine.resume(coroutine.create(function()
- for i = 0, 1, .2 do wait()
- bm.Scale = Vector3.new(15*i, 15*i, 15)
- wait()
- end
- t:Destroy()
- end))
- for i = 0, 1, .2 do wait()
- W.Torso.C1 = clerp(W.Torso.C1, OLD_C1.Torso, i)
- W.LeftArm.C1 = clerp(W.LeftArm.C1, OLD_C1.LeftArm, i)
- W.RightArm.C1 = clerp(W.RightArm.C1, OLD_C1.RightArm, i)
- W.Handle.C0 = clerp(W.Handle.C0, OLD_C0.Handle, i)
- W.Handle.C1 = clerp(W.Handle.C1, OLD_C1.Handle, i)
- end
- elseif Select == 2 then
- for i = 0, 1, .2 do wait()
- W.Torso.C1 = clerp(W.Torso.C1, OLD_C1.Torso, i)
- W.LeftArm.C1 = clerp(W.LeftArm.C1, OLD_C1.LeftArm, i)
- W.RightArm.C1 = clerp(W.RightArm.C1, OLD_C1.RightArm*CFrame.Angles(math.rad(90), -math.rad(90), 0), i)
- W.Handle.C0 = clerp(W.Handle.C0, OLD_C0.Handle, i)
- W.Handle.C1 = clerp(W.Handle.C1, OLD_C1.Handle, i)
- end
- for i = 0, 1, .2 do wait()
- W.Torso.C1 = clerp(W.Torso.C1, OLD_C1.Torso, i)
- W.LeftArm.C1 = clerp(W.LeftArm.C1, OLD_C1.LeftArm, i)
- W.RightArm.C1 = clerp(W.RightArm.C1, OLD_C1.RightArm*CFrame.Angles(math.rad(90), math.rad(90), 0), i)
- W.Handle.C0 = clerp(W.Handle.C0, OLD_C0.Handle, i)
- W.Handle.C1 = clerp(W.Handle.C1, OLD_C1.Handle, i)
- MagDamage(core.Position, 5, 8)
- end
- for i = 0, 1, .2 do wait()
- W.Torso.C1 = clerp(W.Torso.C1, OLD_C1.Torso, i)
- W.LeftArm.C1 = clerp(W.LeftArm.C1, OLD_C1.LeftArm, i)
- W.RightArm.C1 = clerp(W.RightArm.C1, OLD_C1.RightArm, i)
- W.Handle.C0 = clerp(W.Handle.C0, OLD_C0.Handle, i)
- W.Handle.C1 = clerp(W.Handle.C1, OLD_C1.Handle, i)
- end
- elseif Select == 3 then
- for i = 0, 1, .2 do wait()
- W.Torso.C1 = clerp(W.Torso.C1, OLD_C1.Torso, i)
- W.LeftArm.C1 = clerp(W.LeftArm.C1, OLD_C1.LeftArm, i)
- W.RightArm.C1 = clerp(W.RightArm.C1, OLD_C1.RightArm*CFrame.new(-.2, 0, .5)*CFrame.Angles(-math.rad(90), math.rad(120), 0), i)
- W.Handle.C0 = clerp(W.Handle.C0, OLD_C0.Handle, i)
- W.Handle.C1 = clerp(W.Handle.C1, OLD_C1.Handle, i)
- end
- for i = 0, 1, .2 do wait()
- W.Torso.C1 = clerp(W.Torso.C1, OLD_C1.Torso, i)
- W.LeftArm.C1 = clerp(W.LeftArm.C1, OLD_C1.LeftArm, i)
- W.RightArm.C1 = clerp(W.RightArm.C1, OLD_C1.RightArm*CFrame.new(-.2, 0, .5)*CFrame.Angles(-math.rad(90), -math.rad(30), 0), i)
- W.Handle.C0 = clerp(W.Handle.C0, OLD_C0.Handle, i)
- W.Handle.C1 = clerp(W.Handle.C1, OLD_C1.Handle, i)
- MagDamage(core.Position, 5, 8)
- end
- for i = 0, 1, .2 do wait()
- W.Torso.C1 = clerp(W.Torso.C1, OLD_C1.Torso, i)
- W.LeftArm.C1 = clerp(W.LeftArm.C1, OLD_C1.LeftArm, i)
- W.RightArm.C1 = clerp(W.RightArm.C1, OLD_C1.RightArm, i)
- W.Handle.C0 = clerp(W.Handle.C0, OLD_C0.Handle, i)
- W.Handle.C1 = clerp(W.Handle.C1, OLD_C1.Handle, i)
- end
- end
- DebMove = false; State = "EndMove"
- end
- }
- Movement = {
- ["Idle"] = function() --ChangeWelds(false)
- for i = 0, 1, .1 do wait(); RunNow = false
- if State ~= "Idle" then return end
- W.Neck.C1 = clerp(W.Neck.C1, OLD_C1.Neck, i)
- W.Torso.C1 = clerp(W.Torso.C1, OLD_C1.Torso, i)
- W.LeftArm.C1 = clerp(W.LeftArm.C1, OLD_C1.LeftArm, i)
- W.RightArm.C1 = clerp(W.RightArm.C1, OLD_C1.RightArm*CFrame.new(0, 0, .3)*CFrame.Angles(-math.rad(10), 0, -math.rad(70)), i)
- W.Handle.C1 = clerp(W.Handle.C1, OLD_C1.Handle*CFrame.new(-.3, -.5, .5)*CFrame.Angles(math.rad(70), math.rad(5), math.rad(20)), i)
- end
- end,
- ["Walking"] = function() --ChangeWelds(false)
- for i = 0, 1, .1 do wait(); RunNow = false
- if State ~= "Walking" then return end
- W.Neck.C1 = clerp(W.Neck.C1, OLD_C1.Neck, i)
- W.Torso.C1 = clerp(W.Torso.C1, OLD_C1.Torso, i)
- W.LeftArm.C1 = clerp(W.LeftArm.C1, OLD_C1.LeftArm, i)
- W.RightArm.C1 = clerp(W.RightArm.C1, OLD_C1.RightArm, i)
- W.Handle.C1 = clerp(W.Handle.C1, OLD_C1.Handle, i)
- end
- end ,
- ["Running"] = function() --ChangeWelds(true) wait()
- for i = 0, 1, .1 do wait(); RunNow = false
- if State ~= "Running" then return end
- W.Neck.C1 = clerp(W.Neck.C1, OLD_C1.Neck*CFrame.Angles(0, 0, -math.rad(55)), i)
- W.Torso.C1 = clerp(W.Torso.C1, OLD_C1.Torso*CFrame.Angles(0, 0, math.rad(55)), i)
- W.LeftArm.C1 = clerp(W.LeftArm.C1, OLD_C1.LeftArm*CFrame.new(0, .5, 0)*CFrame.Angles(-math.rad(60), 0, math.rad(90)), i)
- W.RightArm.C1 = clerp(W.RightArm.C1, OLD_C1.RightArm*CFrame.Angles(0, 0, -math.rad(50)), i)
- W.Handle.C1 = clerp(W.Handle.C1, OLD_C1.Handle*CFrame.Angles(0, math.rad(210), math.rad(20)), i)
- end
- RunNow = true
- end
- }
- local Trail = coroutine.create(function()
- while wait() do
- if RunNow then
- local t = SmoothPart:clone()
- local bm = Instance.new("BlockMesh", t)
- bm.Scale = Vector3.new(2, 2, 2)
- t.Anchored = true
- t.CanCollide = false
- t.Size = Vector3.new(1,1,1)
- t.Rotation = Vector3.new(math.random(360), math.random(360), math.random(360))
- t.Transparency = .5
- t.Position = toppoint.Position
- t.Parent = Char
- coroutine.resume(coroutine.create(function()
- for i = 1, 0, -.1 do wait()
- bm.Scale = Vector3.new(2*i, 2*i, 2*i)
- end
- end))
- end
- end
- end)
- coroutine.resume(Trail)
- function Quote()
- game:GetService("Chat"):Chat(Char.Head,Quotes[math.random(1,#Quotes)],"Green")
- wait(.1)
- DebTalk = false
- end
- local bin=Instance.new("HopperBin", Player.Backpack)
- bin.Name= "Lynn"
- bin.Selected:connect(function(mouse)
- game:GetService("UserInputService").InputBegan:connect(function(key)
- if key.KeyCode == Enum.KeyCode.LeftControl then
- SetSpeed(30, true)
- ChangeState(30)
- end
- if key.KeyCode == Enum.KeyCode.G and DebTalk == false then DebTalk = true
- Quote()
- end
- end)
- game:GetService("UserInputService").InputEnded:connect(function(key)
- if key.KeyCode == Enum.KeyCode.LeftControl then
- SetSpeed(16, true)
- ChangeState(16)
- end
- end)
- mouse.Button1Down:connect(function()
- if DebMove == false then DebMove = true
- Moves.ClickAttack()
- end
- end)
- end)
- local Hum = Char.Humanoid
- function ChangeState(speed)
- print(State)
- if State == "Move" then
- return
- elseif State == "EndMove" then
- State = "Idle"
- end
- print("Running! "..speed)
- RunNow = false
- if speed == 0 then
- State = "Idle"
- Movement.Idle()
- elseif Hum.WalkSpeed <= 16 then
- State = "Walking"
- Movement.Walking()
- else
- State = "Running"
- Movement.Running()
- end
- end
- Hum.Running:connect(ChangeState)
Add Comment
Please, Sign In to add comment