SHOW:
|
|
- or go back to the newest paste.
| 1 | - | |
| 1 | + | Effects = {} --sound effects, for advanced players.
|
| 2 | local Player = game.Players.localPlayer | |
| 3 | local Character = Player.Character | |
| 4 | local Humanoid = Character.Humanoid | |
| 5 | z = Instance.new("Sound", Character)
| |
| 6 | z.SoundId = "rbxassetid://487872908"-- | |
| 7 | z.Looped = true --False for a one-time song. | |
| 8 | z.Pitch = 1.0 | |
| 9 | z.Volume = 1.6 | |
| 10 | wait(.1) | |
| 11 | z:Play() | |
| 12 | ------------------------ | |
| 13 | wait(1) | |
| 14 | Player = game:GetService("Players").LocalPlayer
| |
| 15 | Character = Player.Character | |
| 16 | Mouse = Player:GetMouse() | |
| 17 | m = Instance.new("Model", Character)
| |
| 18 | Character.Humanoid.JumpPower = Character.Humanoid.JumpPower * 2 | |
| 19 | pcall(function() | |
| 20 | Character.RobloxUHood.Handle.Material = "Neon" | |
| 21 | Character.RobloxUHood.Handle.Mesh.TextureId = "rbxassetid://426317630" | |
| 22 | Character.RobloxUHood.Handle.Mesh.VertexColor = Vector3.new(1, 0, 0) | |
| 23 | end) | |
| 24 | local weldBetween = function(a, b) | |
| 25 | local weldd = Instance.new("ManualWeld")
| |
| 26 | weldd.Part0 = a | |
| 27 | weldd.Part1 = b | |
| 28 | weldd.C0 = CFrame.new() | |
| 29 | weldd.C1 = b.CFrame:inverse() * a.CFrame | |
| 30 | weldd.Parent = a | |
| 31 | return weldd | |
| 32 | end | |
| 33 | it = Instance.new | |
| 34 | function nooutline(part) | |
| 35 | part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10 | |
| 36 | end | |
| 37 | function part(formfactor, parent, material, reflectance, transparency, brickcolor, name, size) | |
| 38 | local fp = it("Part")
| |
| 39 | fp.formFactor = formfactor | |
| 40 | fp.Parent = parent | |
| 41 | fp.Reflectance = reflectance | |
| 42 | fp.Transparency = transparency | |
| 43 | fp.CanCollide = false | |
| 44 | fp.Locked = true | |
| 45 | fp.BrickColor = BrickColor.new(tostring(brickcolor)) | |
| 46 | fp.Name = name | |
| 47 | fp.Size = size | |
| 48 | fp.Position = Character.Torso.Position | |
| 49 | nooutline(fp) | |
| 50 | fp.Material = material | |
| 51 | fp:BreakJoints() | |
| 52 | return fp | |
| 53 | end | |
| 54 | function mesh(Mesh, part, meshtype, meshid, offset, scale) | |
| 55 | local mesh = it(Mesh) | |
| 56 | mesh.Parent = part | |
| 57 | if Mesh == "SpecialMesh" then | |
| 58 | mesh.MeshType = meshtype | |
| 59 | mesh.MeshId = meshid | |
| 60 | mesh.TextureId = "http://www.roblox.com/asset/?id=269748808" | |
| 61 | end | |
| 62 | mesh.Offset = offset | |
| 63 | mesh.Scale = scale | |
| 64 | return mesh | |
| 65 | end | |
| 66 | function weld(parent, part0, part1, c0, c1) | |
| 67 | local weld = it("Weld")
| |
| 68 | weld.Parent = parent | |
| 69 | weld.Part0 = part0 | |
| 70 | weld.Part1 = part1 | |
| 71 | weld.C0 = c0 | |
| 72 | weld.C1 = c1 | |
| 73 | return weld | |
| 74 | end | |
| 75 | Character["Right Arm"].Transparency = 1 | |
| 76 | m.ChildAdded:connect(function(p) | |
| 77 | if p:IsA("Part") then
| |
| 78 | p.Transparency = 1 | |
| 79 | repeat | |
| 80 | game:GetService("RunService").RenderStepped:wait()
| |
| 81 | p.Transparency = p.Transparency - 0.01 | |
| 82 | game:GetService("RunService").RenderStepped:wait()
| |
| 83 | p.Transparency = p.Transparency + 0.005 | |
| 84 | wait() | |
| 85 | until p.Transparency <= 0 | |
| 86 | end | |
| 87 | end) | |
| 88 | Handle = part(Enum.FormFactor.Symmetric, m, Enum.Material.Neon, 0, 0, "Medium stone grey", "Handle", Vector3.new(0.200000003, 0.200000003, 0.200000003)) | |
| 89 | Handleweld = weld(m, Character["Right Arm"], Handle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.0399861336, -0.0400176048, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 0, 1)) | |
| 90 | Arm = part(Enum.FormFactor.Symmetric, m, Enum.Material.Neon, 0, 0, "Black", "Arm", Vector3.new(1, 2, 1)) | |
| 91 | Armweld = weld(m, Handle, Arm, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.109999657, -0.0488853455, 4.76837158E-6, 1, 0, 0, 0, 1, 0, 0, 0, 1)) | |
| 92 | mesh("SpecialMesh", Arm, Enum.MeshType.FileMesh, "rbxassetid://33308774", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
| |
| 93 | wait(0.3) | |
| 94 | Claw = part(Enum.FormFactor.Plate, m, Enum.Material.Neon, 0.10000000149012, 0, "Mid gray", "Claw", Vector3.new(1, 1, 2)) | |
| 95 | Clawweld = weld(m, Handle, Claw, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.142930031, -0.0899963379, -1.43707323, 0.965925932, 0.258819073, 0, 0, 0, 1, 0.258819073, -0.965925932, 0)) | |
| 96 | mesh("SpecialMesh", Claw, Enum.MeshType.FileMesh, "http://www.roblox.com/asset/?id=10681506", Vector3.new(0, 0, 0), Vector3.new(1, 1, 0.899999976))
| |
| 97 | wait(0.3) | |
| 98 | Detail = part(Enum.FormFactor.Plate, m, Enum.Material.Neon, 0, 0, "Black", "Detail", Vector3.new(0.200000003, 0.200000048, 0.399999976)) | |
| 99 | Detailweld = weld(m, Handle, Detail, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.667227745, 0.135678291, -0.0999965668, 0.866025388, -0.5, 0, 0.5, 0.866025388, 0, 0, 0, 1)) | |
| 100 | mesh("SpecialMesh", Detail, Enum.MeshType.FileMesh, "http://www.roblox.com/asset/?id=1033714", Vector3.new(0, 0, 0), Vector3.new(0.300000012, 1.20000005, 0.300000012))
| |
| 101 | for i, v in pairs(m:children("")) do
| |
| 102 | if v:IsA("Part") and v.Name ~= "Handle" then
| |
| 103 | pe = Instance.new("ParticleEmitter", v)
| |
| 104 | pe.Color = ColorSequence.new(Color3.new(0.00392156862745098, 0.00392156862745098, 0.00392156862745098), Color3.new(1, 0.00392156862745098, 0.00392156862745098)) | |
| 105 | pe.Lifetime = NumberRange.new(0.3) | |
| 106 | pe.RotSpeed = NumberRange.new(100) | |
| 107 | pe.Rotation = NumberRange.new(100) | |
| 108 | pe.Rate = 200 | |
| 109 | pe.LightEmission = 0.1 | |
| 110 | pe.Size = NumberSequence.new(0.4) | |
| 111 | pe.Texture = "http://www.roblox.com/asset/?id=246689799" | |
| 112 | pe.Transparency = NumberSequence.new(0.3) | |
| 113 | pe.VelocitySpread = 50 | |
| 114 | pe.Speed = NumberRange.new(1.5) | |
| 115 | spawn(function() | |
| 116 | while true do | |
| 117 | game:GetService("RunService").RenderStepped:wait()
| |
| 118 | for i = 1, 255 do | |
| 119 | v.Mesh.VertexColor = Vector3.new(i / 255 / 2, 0.00392156862745098, 0.00392156862745098) | |
| 120 | game:GetService("RunService").RenderStepped:wait()
| |
| 121 | end | |
| 122 | for i = 1, 255 do | |
| 123 | v.Mesh.VertexColor = Vector3.new((1.003921568627451 - i / 255) / 2, 0.00392156862745098, 0.00392156862745098) | |
| 124 | game:GetService("RunService").RenderStepped:wait()
| |
| 125 | end | |
| 126 | end | |
| 127 | end) | |
| 128 | end | |
| 129 | end | |
| 130 | Player = game:GetService("Players").LocalPlayer
| |
| 131 | Character = Player.Character | |
| 132 | Character.Animate:Destroy() | |
| 133 | PlayerGui = Player.PlayerGui | |
| 134 | Backpack = Player.Backpack | |
| 135 | Torso = Character.Torso | |
| 136 | Head = Character.Head | |
| 137 | Humanoid = Character.Humanoid | |
| 138 | LeftArm = Character["Left Arm"] | |
| 139 | LeftLeg = Character["Left Leg"] | |
| 140 | RightArm = Character["Right Arm"] | |
| 141 | RightLeg = Character["Right Leg"] | |
| 142 | LS = Torso["Left Shoulder"] | |
| 143 | LH = Torso["Left Hip"] | |
| 144 | RS = Torso["Right Shoulder"] | |
| 145 | RH = Torso["Right Hip"] | |
| 146 | Neck = Torso.Neck | |
| 147 | it = Instance.new | |
| 148 | vt = Vector3.new | |
| 149 | cf = CFrame.new | |
| 150 | euler = CFrame.fromEulerAnglesXYZ | |
| 151 | angles = CFrame.Angles | |
| 152 | necko = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
| 153 | necko2 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
| 154 | LHC0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
| 155 | LHC1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
| 156 | RHC0 = cf(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
| 157 | RHC1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0) | |
| 158 | RootPart = Character.HumanoidRootPart | |
| 159 | RootJoint = RootPart.RootJoint | |
| 160 | RootCF = euler(-1.57, 0, 3.14) | |
| 161 | attack = false | |
| 162 | attackdebounce = false | |
| 163 | MMouse = nil | |
| 164 | combo = 0 | |
| 165 | local Anim = "Idle" | |
| 166 | player = nil | |
| 167 | RSH, LSH = nil, nil | |
| 168 | RW, LW = Instance.new("Weld"), Instance.new("Weld")
| |
| 169 | RW.Name = "Right Shoulder" | |
| 170 | LW.Name = "Left Shoulder" | |
| 171 | LH = Torso["Left Hip"] | |
| 172 | RH = Torso["Right Hip"] | |
| 173 | function clerp(a, b, t) | |
| 174 | local qa = {
| |
| 175 | QuaternionFromCFrame(a) | |
| 176 | } | |
| 177 | local qb = {
| |
| 178 | QuaternionFromCFrame(b) | |
| 179 | } | |
| 180 | local ax, ay, az = a.x, a.y, a.z | |
| 181 | local bx, by, bz = b.x, b.y, b.z | |
| 182 | local _t = 1 - t | |
| 183 | return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t)) | |
| 184 | end | |
| 185 | function QuaternionFromCFrame(cf) | |
| 186 | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() | |
| 187 | local trace = m00 + m11 + m22 | |
| 188 | if trace > 0 then | |
| 189 | local s = math.sqrt(1 + trace) | |
| 190 | local recip = 0.5 / s | |
| 191 | return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5 | |
| 192 | else | |
| 193 | local i = 0 | |
| 194 | if m00 < m11 then | |
| 195 | i = 1 | |
| 196 | end | |
| 197 | if m22 > (i == 0 and m00 or m11) then | |
| 198 | i = 2 | |
| 199 | end | |
| 200 | if i == 0 then | |
| 201 | local s = math.sqrt(m00 - m11 - m22 + 1) | |
| 202 | local recip = 0.5 / s | |
| 203 | return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip | |
| 204 | elseif i == 1 then | |
| 205 | local s = math.sqrt(m11 - m22 - m00 + 1) | |
| 206 | local recip = 0.5 / s | |
| 207 | return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip | |
| 208 | elseif i == 2 then | |
| 209 | local s = math.sqrt(m22 - m00 - m11 + 1) | |
| 210 | local recip = 0.5 / s | |
| 211 | return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip | |
| 212 | end | |
| 213 | end | |
| 214 | end | |
| 215 | function QuaternionToCFrame(px, py, pz, x, y, z, w) | |
| 216 | local xs, ys, zs = x + x, y + y, z + z | |
| 217 | local wx, wy, wz = w * xs, w * ys, w * zs | |
| 218 | local xx = x * xs | |
| 219 | local xy = x * ys | |
| 220 | local xz = x * zs | |
| 221 | local yy = y * ys | |
| 222 | local yz = y * zs | |
| 223 | local zz = z * zs | |
| 224 | 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)) | |
| 225 | end | |
| 226 | function QuaternionSlerp(a, b, t) | |
| 227 | local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4] | |
| 228 | local startInterp, finishInterp | |
| 229 | if cosTheta >= 1.0E-4 then | |
| 230 | if 1 - cosTheta > 1.0E-4 then | |
| 231 | local theta = math.acos(cosTheta) | |
| 232 | local invSinTheta = 1 / math.sin(theta) | |
| 233 | startInterp = math.sin((1 - t) * theta) * invSinTheta | |
| 234 | finishInterp = math.sin(t * theta) * invSinTheta | |
| 235 | else | |
| 236 | startInterp = 1 - t | |
| 237 | finishInterp = t | |
| 238 | end | |
| 239 | elseif 1 + cosTheta > 1.0E-4 then | |
| 240 | local theta = math.acos(-cosTheta) | |
| 241 | local invSinTheta = 1 / math.sin(theta) | |
| 242 | startInterp = math.sin((t - 1) * theta) * invSinTheta | |
| 243 | finishInterp = math.sin(t * theta) * invSinTheta | |
| 244 | else | |
| 245 | startInterp = t - 1 | |
| 246 | finishInterp = t | |
| 247 | end | |
| 248 | 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 | |
| 249 | end | |
| 250 | function swait(num) | |
| 251 | if num == 0 or num == nil then | |
| 252 | game:service("RunService").RenderStepped:wait()
| |
| 253 | else | |
| 254 | for i = 0, num do | |
| 255 | game:service("RunService").RenderStepped:wait()
| |
| 256 | end | |
| 257 | end | |
| 258 | end | |
| 259 | function weld(parent, part0, part1, c0) | |
| 260 | local weld = it("Weld")
| |
| 261 | weld.Parent = parent | |
| 262 | weld.Part0 = part0 | |
| 263 | weld.Part1 = part1 | |
| 264 | weld.C0 = c0 | |
| 265 | return weld | |
| 266 | end | |
| 267 | Plr = game.Players.LocalPlayer | |
| 268 | P = Plr.Character | |
| 269 | Mouse = Plr:GetMouse() | |
| 270 | ch = P | |
| 271 | RSH = ch.Torso["Right Shoulder"] | |
| 272 | LSH = ch.Torso["Left Shoulder"] | |
| 273 | RF, LF = Instance.new("Weld"), Instance.new("Weld")
| |
| 274 | RSH.Parent = nil | |
| 275 | LSH.Parent = nil | |
| 276 | RW.Name = "Right Shoulder" | |
| 277 | RW.Part0 = ch.Torso | |
| 278 | RW.C0 = cf(1.5, 0.5, 0) | |
| 279 | RW.C1 = cf(0, 0.5, 0) | |
| 280 | RW.Part1 = ch["Right Arm"] | |
| 281 | RW.Parent = P.Torso | |
| 282 | LW.Name = "Left Shoulder" | |
| 283 | LW.Part0 = ch.Torso | |
| 284 | LW.C0 = cf(-1.5, 0.5, 0) | |
| 285 | LW.C1 = cf(0, 0.5, 0) | |
| 286 | LW.Part1 = ch["Left Arm"] | |
| 287 | LW.Parent = P.Torso | |
| 288 | RF.Name = "Right Hip" | |
| 289 | RF.Part0 = ch.Torso | |
| 290 | RF.C0 = cf(0.5, -1.5, 0) | |
| 291 | RF.C1 = cf(0, 0.5, 0) | |
| 292 | RF.Part1 = ch["Right Leg"] | |
| 293 | RF.Parent = P.Torso | |
| 294 | LF.Name = "Left Hip" | |
| 295 | LF.Part0 = ch.Torso | |
| 296 | LF.C0 = cf(-0.5, -1.5, 0) | |
| 297 | LF.C1 = cf(0, 0.5, 0) | |
| 298 | LF.Part1 = ch["Left Leg"] | |
| 299 | LF.Parent = P.Torso | |
| 300 | RFC0 = RF.C0 | |
| 301 | LFC0 = LF.C0 | |
| 302 | local Rads = 14 | |
| 303 | local sine = 0 | |
| 304 | local Arms = true | |
| 305 | local Legs = true | |
| 306 | w = Instance.new("Weld", P)
| |
| 307 | w.Part1 = nil | |
| 308 | w.Part0 = P["Right Arm"] | |
| 309 | w.C1 = CFrame.new(0, 1.25, 0) | |
| 310 | grabbing = false | |
| 311 | function Walk() | |
| 312 | P.Humanoid.WalkSpeed = 32 | |
| 313 | if Arms then | |
| 314 | if w.Part1 == nil then | |
| 315 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * euler(-math.rad(55) - math.sin(sine / 3) / 5, 0, math.pi / 16), 0.3) | |
| 316 | elseif w.Part1 ~= nil or grabbing == true then | |
| 317 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * euler(math.rad(110), -math.sin(sine / 3) / 5, 0, math.pi / 16), 0.3) | |
| 318 | end | |
| 319 | LW.C0 = clerp(LW.C0, cf(math.sin(sine / 3) / 5 - 1, 0.5, -0.5) * euler(0, math.rad(45) - math.sin(sine / 3) / 5, math.pi / 2), 0.3) | |
| 320 | RootJoint.C0 = clerp(RootJoint.C0, RootCF, 0.3) | |
| 321 | end | |
| 322 | if Legs then | |
| 323 | RF.C0 = clerp(RF.C0, cf(0.5, -1.5, math.sin(sine / 3) * 0.4) * euler(-math.sin(sine / 3), 0, 0), 0.5) | |
| 324 | LF.C0 = clerp(LF.C0, cf(-0.5, -1.5, math.sin(-sine / 3) * 0.4) * euler(-math.sin(-sine / 3), 0, 0), 0.5) | |
| 325 | end | |
| 326 | sine = sine + math.rad(Rads) | |
| 327 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * euler(math.rad(15), 0, 0), 0.3) | |
| 328 | end | |
| 329 | function Idle() | |
| 330 | if Arms then | |
| 331 | if w.Part1 == nil then | |
| 332 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5 + math.sin(sine / 3) / 10 / 1.6666666666666667, 0) * euler(0, 0, math.pi / 32 + math.sin(tick()) * 0.05 + math.sin(sine / 3) / 10 / 1.6666666666666667), 0.3) | |
| 333 | elseif w.Part1 ~= nil or grabbing == true then | |
| 334 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5 + math.sin(sine / 3) / 10 / 1.6666666666666667, 0) * euler(math.rad(110), 0, math.pi / 32 + math.sin(tick()) * 0.05 + math.sin(sine / 3) / 10 / 1.6666666666666667), 0.3) | |
| 335 | end | |
| 336 | LW.C0 = clerp(LW.C0, cf(-1.5, 0.5 + math.sin(sine / 3) / 10 / 1.6666666666666667, 0) * euler(0, 0, -math.pi / 32 - math.sin(tick()) * 0.05 - math.sin(sine / 3) / 10 / 1.6666666666666667), 0.3) | |
| 337 | RootJoint.C0 = clerp(RootJoint.C0, RootCF, 0.3) | |
| 338 | end | |
| 339 | if Legs then | |
| 340 | RF.C0 = clerp(RF.C0, RFC0 * cf(0, 0, 0.2) * euler(-math.rad(15), -math.rad(15), 0), 0.3) | |
| 341 | LF.C0 = clerp(LF.C0, LFC0 * cf(0, 0, -0.2) * euler(math.rad(15), math.rad(15), 0), 0.3) | |
| 342 | end | |
| 343 | sine = sine + math.rad(Rads) | |
| 344 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * CFrame.new(0, -math.sin(sine / 3) / 10 / 1.6666666666666667, -math.sin(sine / 3) / 10 / 1.6666666666666667) * euler(math.sin(sine / 3) / 15 + math.rad(5), 0, 0), 0.3) | |
| 345 | end | |
| 346 | function Sound(ID, Par, Pitch, Vol) | |
| 347 | local Sound = Instance.new("Sound", Par)
| |
| 348 | Sound.SoundId = "http://www.roblox.com/asset/?id=" .. tostring(ID) | |
| 349 | game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id=" .. tostring(ID))
| |
| 350 | Sound.Pitch = Pitch | |
| 351 | Sound.Volume = Vol | |
| 352 | game.Debris:AddItem(Sound, Sound.TimeLength) | |
| 353 | Sound:Play() | |
| 354 | end | |
| 355 | local Jumping = false | |
| 356 | local Jumpi = 0 | |
| 357 | game:GetService("RunService").Heartbeat:connect(function()
| |
| 358 | if Jumping == true then | |
| 359 | Jumpi = Jumpi + 1 | |
| 360 | if Arms then | |
| 361 | RW.C0 = clerp(RW.C0, cf(1, 1, 0) * euler(0, 0, math.pi / 2 + math.pi / 4), 0.3) | |
| 362 | LW.C0 = clerp(LW.C0, cf(-1, 1, 0) * euler(0, 0, -math.pi / 2 - math.pi / 4), 0.3) | |
| 363 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * euler(math.pi / 16, 0, 0), 0.3) | |
| 364 | end | |
| 365 | if Legs then | |
| 366 | RF.C0 = clerp(RF.C0, RFC0 * cf(0, 0, 0) * euler(0, 0, 0), 0.3) | |
| 367 | LF.C0 = clerp(LF.C0, LFC0 * cf(0, 0.5, -0.6) * euler(0, 0, 0), 0.3) | |
| 368 | end | |
| 369 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * euler(0, 0, 0), 0.5) | |
| 370 | if Jumpi == 10 then | |
| 371 | Jumping = false | |
| 372 | Jumpi = 0 | |
| 373 | end | |
| 374 | elseif (Vector3.new(P.Torso.Velocity.x, 0, P.Torso.Velocity.z)).magnitude < 3 then | |
| 375 | Idle() | |
| 376 | elseif (Vector3.new(P.Torso.Velocity.x, 0, P.Torso.Velocity.z)).magnitude > 3 then | |
| 377 | Walk() | |
| 378 | end | |
| 379 | end) | |
| 380 | local AttArm = 0 | |
| 381 | local AttLeg = 0 | |
| 382 | local Enabled = true | |
| 383 | function hwait() | |
| 384 | game:GetService("RunService").Heartbeat:wait()
| |
| 385 | end | |
| 386 | function Damage(Dmg, Part) | |
| 387 | local Child = Part | |
| 388 | local Par = Part.Parent | |
| 389 | if Par == workspace then | |
| 390 | else | |
| 391 | repeat | |
| 392 | Child = Par | |
| 393 | Par = Par.Parent | |
| 394 | until Par == workspace | |
| 395 | end | |
| 396 | local Found = false | |
| 397 | function Search(c) | |
| 398 | coroutine.resume(coroutine.create(function() | |
| 399 | for i, v in pairs(c:GetChildren()) do | |
| 400 | if v:IsA("Humanoid") then
| |
| 401 | for i = 1, 10 do | |
| 402 | v.Health = v.Health - Dmg / 10 | |
| 403 | Found = true | |
| 404 | end | |
| 405 | end | |
| 406 | Search(v) | |
| 407 | end | |
| 408 | end)) | |
| 409 | end | |
| 410 | if Child ~= P then | |
| 411 | Search(Child) | |
| 412 | end | |
| 413 | if Found == false then | |
| 414 | return false | |
| 415 | else | |
| 416 | return true | |
| 417 | end | |
| 418 | end | |
| 419 | P.Humanoid.Jumping:connect(function() | |
| 420 | if Arms == false and Legs == false then | |
| 421 | else | |
| 422 | Jumping = true | |
| 423 | end | |
| 424 | end) | |
| 425 | Mouse.KeyDown:connect(function(key) | |
| 426 | if key:lower() == "z" and Enabled == true then | |
| 427 | Legs = false | |
| 428 | Enabled = false | |
| 429 | do | |
| 430 | local Hit = false | |
| 431 | AttLeg = AttLeg + 1 | |
| 432 | Sound(175024455, P.Torso, 1, 0.8) | |
| 433 | if AttLeg % 2 ~= 0 then | |
| 434 | P["Right Leg"].Touched:connect(function(part) | |
| 435 | if Hit == false then | |
| 436 | local Hitz = Damage(10, part) | |
| 437 | if Hitz == true then | |
| 438 | local Velo = Instance.new("BodyVelocity", part)
| |
| 439 | Velo.maxForce = Vector3.new(math.huge, math.huge, math.huge) | |
| 440 | Velo.velocity = P.Torso.CFrame.lookVector * 35 | |
| 441 | game.Debris:AddItem(Velo, 0.1) | |
| 442 | Hit = true | |
| 443 | end | |
| 444 | end | |
| 445 | end) | |
| 446 | for i = 0, 1, 0.2 do | |
| 447 | hwait() | |
| 448 | if Jumping == false then | |
| 449 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5, -0.5) * euler(0, 0, math.pi / 16), 0.6) | |
| 450 | LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * euler(0, 0, -math.pi / 16), 0.6) | |
| 451 | end | |
| 452 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * euler(-math.pi / 8, 0, math.pi / 4), 0.6) | |
| 453 | RF.C0 = clerp(RF.C0, cf(0.5, -1.5, -0.5) * euler(math.pi / 2, 0, 0), 0.6) | |
| 454 | LF.C0 = clerp(LF.C0, cf(-0.5, -1.5, 0) * euler(-math.pi / 8, 0, 0), 0.6) | |
| 455 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * euler(math.pi / 8, 0, 0), 0.6) | |
| 456 | end | |
| 457 | else | |
| 458 | P["Left Leg"].Touched:connect(function(part) | |
| 459 | if Hit == false then | |
| 460 | local Hitz = Damage(10, part) | |
| 461 | if Hitz == true then | |
| 462 | local Velo = Instance.new("BodyVelocity", part)
| |
| 463 | Velo.maxForce = Vector3.new(math.huge, math.huge, math.huge) | |
| 464 | Velo.velocity = P.Torso.CFrame.lookVector * 34 | |
| 465 | game.Debris:AddItem(Velo, 0.1) | |
| 466 | Hit = true | |
| 467 | end | |
| 468 | end | |
| 469 | end) | |
| 470 | for i = 0, 1, 0.2 do | |
| 471 | hwait() | |
| 472 | if Jumping == false then | |
| 473 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5, -0.5) * euler(0, 0, math.pi / 16), 0.6) | |
| 474 | LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * euler(0, 0, -math.pi / 16), 0.6) | |
| 475 | end | |
| 476 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * euler(-math.pi / 8, 0, -math.pi / 4), 0.6) | |
| 477 | RF.C0 = clerp(RF.C0, cf(0.5, -1.5, 0) * euler(-math.pi / 8, 0, 0), 0.6) | |
| 478 | LF.C0 = clerp(LF.C0, cf(-0.5, -1.5, -0.5) * euler(math.pi / 2, 0, 0), 0.6) | |
| 479 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * euler(math.pi / 8, 0, 0), 0.6) | |
| 480 | end | |
| 481 | end | |
| 482 | Legs = true | |
| 483 | Hit = true | |
| 484 | wait(0.2) | |
| 485 | Enabled = true | |
| 486 | end | |
| 487 | end | |
| 488 | end) | |
| 489 | cooldown = false | |
| 490 | function Spike(pos, times) | |
| 491 | if cooldown == false then | |
| 492 | spawn(function() | |
| 493 | cooldown = true | |
| 494 | wait(10) | |
| 495 | cooldown = false | |
| 496 | end) | |
| 497 | do | |
| 498 | local p = Instance.new("Part", workspace)
| |
| 499 | p.Anchored = true | |
| 500 | p.BrickColor = BrickColor.new("Really black")
| |
| 501 | p.Material = "Granite" | |
| 502 | p.Size = Vector3.new(3, 8, 3) | |
| 503 | p.CFrame = pos * CFrame.new(0, -8, 0) | |
| 504 | local m = Instance.new("SpecialMesh", p)
| |
| 505 | m.MeshType = "FileMesh" | |
| 506 | m.Scale = p.Size | |
| 507 | m.MeshId = "http://www.roblox.com/asset/?id=1323306" | |
| 508 | m.TextureId = "http://www.roblox.com/asset/?id=269748808" | |
| 509 | Sound(289842971, p, 1, 0.5) | |
| 510 | spawn(function() | |
| 511 | while true do | |
| 512 | for i = 1, 255 do | |
| 513 | m.VertexColor = Vector3.new(i / 255, 0.00392156862745098, 0.00392156862745098) | |
| 514 | game:GetService("RunService").RenderStepped:wait()
| |
| 515 | end | |
| 516 | for i = 1, 255 do | |
| 517 | m.VertexColor = Vector3.new(1.003921568627451 - i / 255, 0.00392156862745098, 0.00392156862745098) | |
| 518 | game:GetService("RunService").RenderStepped:wait()
| |
| 519 | end | |
| 520 | end | |
| 521 | end) | |
| 522 | p.Touched:connect(function(op) | |
| 523 | if op.Parent.Name ~= P.Name and op.Parent:FindFirstChild("Humanoid") then
| |
| 524 | op.Parent.Humanoid:TakeDamage(10) | |
| 525 | end | |
| 526 | end) | |
| 527 | game.Debris:AddItem(p, times) | |
| 528 | local initialpc = p.CFrame | |
| 529 | for i = 1, 100 do | |
| 530 | wait() | |
| 531 | p.CFrame = p.CFrame:lerp(initialpc * CFrame.new(0, 8, 0), i / 100) | |
| 532 | end | |
| 533 | end | |
| 534 | end | |
| 535 | end | |
| 536 | cooldowntwo = false | |
| 537 | function LesserSpike(pos, times) | |
| 538 | if cooldowntwo == false then | |
| 539 | spawn(function() | |
| 540 | cooldowntwo = true | |
| 541 | wait(3) | |
| 542 | cooldowntwo = false | |
| 543 | end) | |
| 544 | for i = 1, 5 do | |
| 545 | do | |
| 546 | local p = Instance.new("Part", workspace)
| |
| 547 | p.Anchored = true | |
| 548 | p.BrickColor = BrickColor.new("Really black")
| |
| 549 | p.Material = "Granite" | |
| 550 | p.Size = Vector3.new(1.5, 4, 1.5) | |
| 551 | p.CFrame = pos * CFrame.new(0, -8, 0) * CFrame.new(0, 0, -3.5 * i) | |
| 552 | local m = Instance.new("SpecialMesh", p)
| |
| 553 | m.MeshType = "FileMesh" | |
| 554 | m.Scale = p.Size | |
| 555 | m.MeshId = "http://www.roblox.com/asset/?id=1323306" | |
| 556 | m.TextureId = "http://www.roblox.com/asset/?id=269748808" | |
| 557 | Sound(289842971, p, 1, 0.5) | |
| 558 | spawn(function() | |
| 559 | while true do | |
| 560 | for i = 1, 255 do | |
| 561 | m.VertexColor = Vector3.new(i / 255, 0.00392156862745098, 0.00392156862745098) | |
| 562 | game:GetService("RunService").RenderStepped:wait()
| |
| 563 | end | |
| 564 | for i = 1, 255 do | |
| 565 | m.VertexColor = Vector3.new(1.003921568627451 - i / 255, 0.00392156862745098, 0.00392156862745098) | |
| 566 | game:GetService("RunService").RenderStepped:wait()
| |
| 567 | end | |
| 568 | end | |
| 569 | end) | |
| 570 | p.Touched:connect(function(op) | |
| 571 | if op.Parent.Name ~= P.Name and op.Parent:FindFirstChild("Humanoid") then
| |
| 572 | op.Parent.Humanoid:TakeDamage(10) | |
| 573 | end | |
| 574 | end) | |
| 575 | game.Debris:AddItem(p, times) | |
| 576 | local initialpc = p.CFrame | |
| 577 | spawn(function() | |
| 578 | for i = 1, 100 do | |
| 579 | wait() | |
| 580 | p.CFrame = p.CFrame:lerp(initialpc * CFrame.new(0, 8, 0), i / 100) | |
| 581 | end | |
| 582 | end) | |
| 583 | end | |
| 584 | end | |
| 585 | end | |
| 586 | end | |
| 587 | Mouse.KeyDown:connect(function(k) | |
| 588 | if k == "v" then | |
| 589 | spawn(function() | |
| 590 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * euler(math.pi / 2, 0, 0), 1) | |
| 591 | for i = 0, 1, 0.05 do | |
| 592 | hwait() | |
| 593 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5, -0.5) * euler(-math.pi / 8, 0, 0), 0.3) | |
| 594 | LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * euler(-math.pi / 8, 0, math.pi / 16), 0.3) | |
| 595 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.new(0, -1, -1) * euler(math.pi / 8, 0, 0), 0.3) | |
| 596 | RF.C0 = clerp(RF.C0, cf(0.5, -1.5, 0) * euler(-math.pi / 8, 0, 0), 0.3) | |
| 597 | LF.C0 = clerp(LF.C0, cf(-0.5, -1.5, 0) * euler(-math.pi / 8, 0, 0), 0.3) | |
| 598 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * euler(math.pi / 48, 0, 0), 0.3) | |
| 599 | end | |
| 600 | end) | |
| 601 | Spike(P.Torso.CFrame * CFrame.new(0, 0, -15), 5) | |
| 602 | elseif k == "x" then | |
| 603 | spawn(function() | |
| 604 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * euler(math.pi / 2, 0, 0), 1) | |
| 605 | for i = 0, 1, 0.2 do | |
| 606 | hwait() | |
| 607 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5, -0.5) * euler(math.pi / 2, math.pi / 6, -math.pi / 8), 0.3) | |
| 608 | LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * euler(0, 0, -math.pi / 16), 0.3) | |
| 609 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * euler(math.pi / 32, 0, math.pi / 8), 0.3) | |
| 610 | RF.C0 = clerp(RF.C0, cf(0.5, -1.5, 0) * euler(0, 0, 0), 0.3) | |
| 611 | LF.C0 = clerp(LF.C0, cf(-0.5, -1.5, 0) * euler(0, 0, 0), 0.3) | |
| 612 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * euler(-math.pi / 48, 0, 0), 0.3) | |
| 613 | end | |
| 614 | end) | |
| 615 | LesserSpike(P.Torso.CFrame * CFrame.new(0, 0, -5), 2) | |
| 616 | end | |
| 617 | end) | |
| 618 | cooldowng = false | |
| 619 | Mouse.KeyDown:connect(function(k) | |
| 620 | if k == "c" and cooldowng == false then | |
| 621 | coroutine.wrap(function() | |
| 622 | for i = 0, 1, 0.2 do | |
| 623 | hwait() | |
| 624 | RW.C0 = clerp(RW.C0, cf(1.5, 0.7, 0) * euler(0, 0, math.rad(55)), 0.3) | |
| 625 | LW.C0 = clerp(LW.C0, cf(-1.5, 0.7, 0) * euler(0, 0, -math.rad(55)), 0.3) | |
| 626 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * euler(0, 0, 0), 0.3) | |
| 627 | RF.C0 = clerp(RF.C0, cf(0.5, -0.5, -1.5) * euler(0, 0, 0), 0.3) | |
| 628 | LF.C0 = clerp(LF.C0, cf(-0.5, -1.5, 0) * euler(0, 0, 0), 0.3) | |
| 629 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * euler(0, 0, 0), 0.3) | |
| 630 | end | |
| 631 | for i = 0, 1, 0.2 do | |
| 632 | hwait() | |
| 633 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * euler(0, 0, math.rad(55)), 0.3) | |
| 634 | LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * euler(0, 0, -math.rad(55)), 0.3) | |
| 635 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * euler(0, 0, 0), 0.3) | |
| 636 | RF.C0 = clerp(RF.C0, cf(0.5, -1.5, 0) * euler(0, 0, 0), 0.3) | |
| 637 | LF.C0 = clerp(LF.C0, cf(-0.5, -1.5, 0) * euler(0, 0, 0), 0.3) | |
| 638 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * euler(0, 0, 0), 0.3) | |
| 639 | end | |
| 640 | end)() | |
| 641 | spawn(function() | |
| 642 | cooldowng = true | |
| 643 | wait(5) | |
| 644 | cooldowng = false | |
| 645 | end) | |
| 646 | do | |
| 647 | local p = Instance.new("Part", workspace)
| |
| 648 | p.Anchored = true | |
| 649 | p.CanCollide = false | |
| 650 | p.Size = Vector3.new(4, 4, 1) | |
| 651 | p.Transparency = 0 | |
| 652 | local m = Instance.new("SpecialMesh", p)
| |
| 653 | m.MeshType = "FileMesh" | |
| 654 | m.Scale = p.Size | |
| 655 | m.MeshId = "http://www.roblox.com/asset/?id=3270017" | |
| 656 | local initpcf = P.Torso.CFrame * CFrame.new(0, -2.5, 0) * CFrame.Angles(math.rad(90), 0, 0) | |
| 657 | p.Touched:connect(function(op) | |
| 658 | if op.Parent.Name ~= P.Name and op.Parent:FindFirstChild("Humanoid") then
| |
| 659 | op.Parent.Humanoid:TakeDamage(5) | |
| 660 | end | |
| 661 | end) | |
| 662 | spawn(function() | |
| 663 | repeat | |
| 664 | wait() | |
| 665 | p.Size = p.Size + Vector3.new(0.5, 0.5, 0) | |
| 666 | p.CFrame = initpcf | |
| 667 | p.Transparency = p.Transparency + 0.01 | |
| 668 | m.Scale = p.Size | |
| 669 | until p.Transparency >= 1 | |
| 670 | p:Remove() | |
| 671 | end) | |
| 672 | end | |
| 673 | end | |
| 674 | end) | |
| 675 | grabbing = false | |
| 676 | Mouse.KeyDown:connect(function(k) | |
| 677 | if k == "f" then | |
| 678 | local tp = P.Torso.CFrame.p | |
| 679 | local rayforward = Ray.new(tp, tp - Vector3.new(0, 0, -1000)) | |
| 680 | local raybackward = Ray.new(tp, tp - Vector3.new(0, 0, 1000)) | |
| 681 | local rayleft = Ray.new(tp, tp - Vector3.new(-1000, 0, 0)) | |
| 682 | local rayright = Ray.new(tp, tp - Vector3.new(1000, 0, 0)) | |
| 683 | local hit, pos = workspace:FindPartOnRay(rayforward, P) | |
| 684 | local hit1, pos1 = workspace:FindPartOnRay(raybackward, P) | |
| 685 | local hit2, pos2 = workspace:FindPartOnRay(rayleft, P) | |
| 686 | local hit3, pos3 = workspace:FindPartOnRay(rayright, P) | |
| 687 | if hit ~= nil and (tp - pos).magnitude <= 2 then | |
| 688 | P.Humanoid.Sit = true | |
| 689 | wait() | |
| 690 | P.Humanoid.Jump = true | |
| 691 | end | |
| 692 | if hit1 ~= nil and (tp - pos1).magnitude <= 2 then | |
| 693 | P.Humanoid.Sit = true | |
| 694 | wait() | |
| 695 | P.Humanoid.Jump = true | |
| 696 | end | |
| 697 | if hit2 ~= nil and (tp - pos2).magnitude <= 2 then | |
| 698 | P.Humanoid.Sit = true | |
| 699 | wait() | |
| 700 | P.Humanoid.Jump = true | |
| 701 | end | |
| 702 | if hit3 ~= nil and (tp - pos3).magnitude <= 2 then | |
| 703 | P.Humanoid.Sit = true | |
| 704 | wait() | |
| 705 | P.Humanoid.Jump = true | |
| 706 | end | |
| 707 | elseif k == "e" then | |
| 708 | if w.Part1 == nil then | |
| 709 | spawn(function() | |
| 710 | grabbing = true | |
| 711 | wait(0.5) | |
| 712 | grabbing = false | |
| 713 | end) | |
| 714 | P["Right Arm"].Touched:connect(function(op) | |
| 715 | if grabbing == true and op ~= nil and op.Parent:FindFirstChild("Humanoid") then
| |
| 716 | w.Part1 = op.Parent.Head | |
| 717 | op.Parent.Humanoid.PlatformStand = true | |
| 718 | end | |
| 719 | end) | |
| 720 | elseif w.Part1 ~= nil then | |
| 721 | for i, v in pairs(m:children("")) do
| |
| 722 | if v:IsA("Part") and v.Name ~= "Handle" then
| |
| 723 | v.ParticleEmitter:Emit(200) | |
| 724 | end | |
| 725 | end | |
| 726 | w.Part1.Parent.Humanoid:TakeDamage(15) | |
| 727 | P.Humanoid.Health = P.Humanoid.Health + 15 | |
| 728 | w.Part1 = nil | |
| 729 | end | |
| 730 | end | |
| 731 | end) | |
| 732 | Mouse.Button1Down:connect(function() | |
| 733 | if Enabled == true then | |
| 734 | Enabled = false | |
| 735 | Arms = false | |
| 736 | do | |
| 737 | local Hit = false | |
| 738 | AttArm = AttArm + 1 | |
| 739 | P.Model.Handle.Touched:connect(function(part) | |
| 740 | if Hit == false then | |
| 741 | local Hitz = Damage(10, part) | |
| 742 | if Hitz == true then | |
| 743 | Hit = true | |
| 744 | end | |
| 745 | end | |
| 746 | end) | |
| 747 | P["Left Arm"].Touched:connect(function(part) | |
| 748 | if Hit == false then | |
| 749 | local Hitz = Damage(10, part) | |
| 750 | if Hitz == true then | |
| 751 | Hit = true | |
| 752 | end | |
| 753 | end | |
| 754 | end) | |
| 755 | Sound(220025675, P.Torso, 1, 1) | |
| 756 | if AttArm % 2 ~= 0 then | |
| 757 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * euler(math.pi / 2, 0, 0), 1) | |
| 758 | for i = 0, 1, 0.05 do | |
| 759 | hwait() | |
| 760 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5, -0.5) * euler(math.pi / 2, math.pi / 6, -math.pi / 8), 0.3) | |
| 761 | LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * euler(0, 0, -math.pi / 16), 0.3) | |
| 762 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * euler(math.pi / 32, 0, math.pi / 8), 0.3) | |
| 763 | RF.C0 = clerp(RF.C0, cf(0.5, -1.5, 0) * euler(0, 0, 0), 0.3) | |
| 764 | LF.C0 = clerp(LF.C0, cf(-0.5, -1.5, 0) * euler(0, 0, 0), 0.3) | |
| 765 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * euler(-math.pi / 48, 0, 0), 0.3) | |
| 766 | end | |
| 767 | else | |
| 768 | LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * euler(math.pi / 2, 0, 0), 1) | |
| 769 | for i = 0, 1, 0.2 do | |
| 770 | hwait() | |
| 771 | RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * euler(0, 0, math.pi / 16), 0.3) | |
| 772 | LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, -0.5) * euler(math.pi / 2, -math.pi / 6, math.pi / 8), 0.3) | |
| 773 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * euler(math.pi / 32, 0, -math.pi / 8), 0.3) | |
| 774 | RF.C0 = clerp(RF.C0, cf(0.5, -1.5, 0) * euler(0, 0, 0), 0.3) | |
| 775 | LF.C0 = clerp(LF.C0, cf(-0.5, -1.5, 0) * euler(0, 0, 0), 0.3) | |
| 776 | Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * euler(-math.pi / 48, 0, 0), 0.3) | |
| 777 | end | |
| 778 | end | |
| 779 | Hit = true | |
| 780 | Enabled = true | |
| 781 | Arms = true | |
| 782 | end | |
| 783 | end | |
| 784 | end) |