SHOW:
|
|
- or go back to the newest paste.
| 1 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
| |
| 2 | - | Player = game.Players.LocalPlayer |
| 2 | + | local Player,Mouse,mouse,UserInputService,ContextActionService = owner |
| 3 | do | |
| 4 | print("FE Compatibility code by Mokiros")
| |
| 5 | script.Parent = Player.Character | |
| 6 | ||
| 7 | --RemoteEvent for communicating | |
| 8 | local Event = Instance.new("RemoteEvent")
| |
| 9 | Event.Name = "UserInput_Event" | |
| 10 | ||
| 11 | --Fake event to make stuff like Mouse.KeyDown work | |
| 12 | local function fakeEvent() | |
| 13 | local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
| |
| 14 | t.connect = t.Connect | |
| 15 | return t | |
| 16 | - | TorsA = Character.Torso |
| 16 | + | |
| 17 | ||
| 18 | --Creating fake input objects with fake variables | |
| 19 | local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
| |
| 20 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
| |
| 21 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
| |
| 22 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
| |
| 23 | - | LS = TorsA["Left Shoulder"] |
| 23 | + | end} |
| 24 | - | LH = TorsA["Left Hip"] |
| 24 | + | --Merged 2 functions into one by checking amount of arguments |
| 25 | - | RS = TorsA["Right Shoulder"] |
| 25 | + | CAS.UnbindAction = CAS.BindAction |
| 26 | - | RH = TorsA["Right Hip"] |
| 26 | + | |
| 27 | - | Neck = TorsA.Neck |
| 27 | + | --This function will trigger the events that have been :Connect()'ed |
| 28 | local function te(self,ev,...) | |
| 29 | local t = m[ev] | |
| 30 | if t and t._fakeEvent and t.Function then | |
| 31 | t.Function(...) | |
| 32 | end | |
| 33 | end | |
| 34 | m.TrigEvent = te | |
| 35 | UIS.TrigEvent = te | |
| 36 | ||
| 37 | Event.OnServerEvent:Connect(function(plr,io) | |
| 38 | if plr~=Player then return end | |
| 39 | if io.isMouse then | |
| 40 | m.Target = io.Target | |
| 41 | m.Hit = io.Hit | |
| 42 | else | |
| 43 | local b = io.UserInputState == Enum.UserInputState.Begin | |
| 44 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
| 45 | return m:TrigEvent(b and "Button1Down" or "Button1Up") | |
| 46 | end | |
| 47 | for _,t in pairs(CAS.Actions) do | |
| 48 | for _,k in pairs(t.Keys) do | |
| 49 | if k==io.KeyCode then | |
| 50 | t.Function(t.Name,io.UserInputState,io) | |
| 51 | end | |
| 52 | end | |
| 53 | end | |
| 54 | m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
| 55 | - | mouse = Player:GetMouse() |
| 55 | + | UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) |
| 56 | end | |
| 57 | end) | |
| 58 | Event.Parent = NLS([==[ | |
| 59 | local Player = game:GetService("Players").LocalPlayer
| |
| 60 | local Event = script:WaitForChild("UserInput_Event")
| |
| 61 | ||
| 62 | local UIS = game:GetService("UserInputService")
| |
| 63 | local input = function(io,a) | |
| 64 | if a then return end | |
| 65 | --Since InputObject is a client-side instance, we create and pass table instead | |
| 66 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
| |
| 67 | end | |
| 68 | UIS.InputBegan:Connect(input) | |
| 69 | UIS.InputEnded:Connect(input) | |
| 70 | ||
| 71 | local Mouse = Player:GetMouse() | |
| 72 | local h,t | |
| 73 | --Give the server mouse data 30 times every second, but only if the values changed | |
| 74 | --If player is not moving their mouse, client won't fire events | |
| 75 | while wait(1/30) do | |
| 76 | if h~=Mouse.Hit or t~=Mouse.Target then | |
| 77 | h,t=Mouse.Hit,Mouse.Target | |
| 78 | Event:FireServer({isMouse=true,Target=t,Hit=h})
| |
| 79 | end | |
| 80 | end]==],Player.Character) | |
| 81 | Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS | |
| 82 | end | |
| 83 | Player = owner | |
| 84 | Character = Player.Character | |
| 85 | PlayerGui = Player.PlayerGui | |
| 86 | Backpack = Player.Backpack | |
| 87 | Torso = Character.HumanoidRootPart | |
| 88 | Head = Character.Head | |
| 89 | Humanoid = Character.Humanoid | |
| 90 | LeftArm = Character["Left Arm"] | |
| 91 | LeftLeg = Character["Left Leg"] | |
| 92 | RightArm = Character["Right Arm"] | |
| 93 | RightLeg = Character["Right Leg"] | |
| 94 | Character = Player.Character | |
| 95 | PlayerGui = Player.PlayerGui | |
| 96 | Backpack = Player.Backpack | |
| 97 | Torso= = Character.Torso | |
| 98 | Head = Character.Head | |
| 99 | Humanoid = Character.Humanoid | |
| 100 | LeftArm = Character["Left Arm"] | |
| 101 | LeftLeg = Character["Left Leg"] | |
| 102 | RightArm = Character["Right Arm"] | |
| 103 | RightLeg = Character["Right Leg"] | |
| 104 | LS = Torso["Left Shoulder"] | |
| 105 | LH = Torso["Left Hip"] | |
| 106 | RS = Torso["Right Shoulder"] | |
| 107 | RH = Torso["Right Hip"] | |
| 108 | Neck = Torso.Neck | |
| 109 | attacktype = 1 | |
| 110 | vt = Vector3.new | |
| 111 | cf = CFrame.new | |
| 112 | euler = CFrame.fromEulerAnglesXYZ | |
| 113 | angles = CFrame.Angles | |
| 114 | necko = cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
| 115 | necko2 = cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
| 116 | LHC0 = cf(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
| 117 | LHC1 = cf(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
| 118 | RHC0 = cf(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
| 119 | RHC1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
| 120 | RootPart = Character.HumanoidRootPart | |
| 121 | RootJoint = RootPart.RootJoint | |
| 122 | RootCF = euler(-1.57, 0, 3.14) | |
| 123 | attack = false | |
| 124 | equipped = true | |
| 125 | local Anim = "Idle" | |
| 126 | local Effects = {}
| |
| 127 | cam = workspace.CurrentCamera | |
| 128 | ZTarget = nil | |
| 129 | RocketTarget = nil | |
| 130 | local RbxUtility = LoadLibrary("RbxUtility")
| |
| 131 | local Create = RbxUtility.Create | |
| 132 | local m = Create("Model"){
| |
| 133 | Parent = Character, | |
| 134 | Name = "WeaponModel", | |
| 135 | } | |
| 136 | RSH, LSH = nil, nil | |
| 137 | LH = TorsA["Left Hip"] | |
| 138 | RH = TorsA["Right Hip"] | |
| 139 | RSH = TorsA["Right Shoulder"] | |
| 140 | LSH = TorsA["Left Shoulder"] | |
| 141 | ||
| 142 | RSH.Parent = nil | |
| 143 | LSH.Parent = nil | |
| 144 | ||
| 145 | RW = Create("Weld"){
| |
| 146 | Name = "Right Shoulder", | |
| 147 | Part0 = Torso , | |
| 148 | C0 = cf(1.5, 0.5, 0), | |
| 149 | C1 = cf(0, 0.5, 0), | |
| 150 | Part1 = RightArm , | |
| 151 | Parent = Torso , | |
| 152 | } | |
| 153 | ||
| 154 | LW = Create("Weld"){
| |
| 155 | Name = "Left Shoulder", | |
| 156 | Part0 = Torso , | |
| 157 | C0 = cf(-1.5, 0.5, 0), | |
| 158 | C1 = cf(0, 0.5, 0) , | |
| 159 | Part1 = LeftArm , | |
| 160 | Parent = Torso , | |
| 161 | } | |
| 162 | ||
| 163 | function NoOutline(Part) | |
| 164 | Part.TopSurface, Part.BottomSurface, Part.LeftSurface, Part.RightSurface, Part.FrontSurface, Part.BackSurface = 10, 10, 10, 10, 10, 10 | |
| 165 | end | |
| 166 | function swait(num) | |
| 167 | if num == 0 or num == nil then | |
| 168 | game:service'RunService'.Heartbeat:wait(0) | |
| 169 | else | |
| 170 | for i = 0, num do | |
| 171 | game:service'RunService'.Heartbeat:wait(0) | |
| 172 | end | |
| 173 | end | |
| 174 | end | |
| 175 | ||
| 176 | function nooutline(part) | |
| 177 | part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10 | |
| 178 | end | |
| 179 | ||
| 180 | function part(formfactor, parent, material, reflectance, transparency, brickcolor, name, size) | |
| 181 | local fp = Create("Part"){
| |
| 182 | formFactor = formfactor, | |
| 183 | Parent = parent, | |
| 184 | Reflectance = reflectance, | |
| 185 | Transparency = transparency, | |
| 186 | CanCollide = false, | |
| 187 | Locked = true, | |
| 188 | BrickColor = BrickColor.new(tostring(brickcolor)), | |
| 189 | Name = name, | |
| 190 | Size = size, | |
| 191 | Position = Character.Torso.Position, | |
| 192 | Material = material, | |
| 193 | } | |
| 194 | nooutline(fp) | |
| 195 | return fp | |
| 196 | end | |
| 197 | ||
| 198 | function mesh(Mesh, part, meshtype, meshid, offset, scale) | |
| 199 | local Msh = Create(Mesh){
| |
| 200 | Parent = part, | |
| 201 | Offset = offset, | |
| 202 | Scale = scale, | |
| 203 | } | |
| 204 | if Mesh == "SpecialMesh" then | |
| 205 | Msh.MeshType = meshtype | |
| 206 | Msh.MeshId = meshid | |
| 207 | end | |
| 208 | return Msh | |
| 209 | end | |
| 210 | ||
| 211 | function weld(parent, part0, part1, c0, c1) | |
| 212 | local Weld = Create("Weld"){
| |
| 213 | Parent = parent, | |
| 214 | Part0 = part0, | |
| 215 | Part1 = part1, | |
| 216 | C0 = c0, | |
| 217 | C1 = c1, | |
| 218 | } | |
| 219 | return Weld | |
| 220 | end | |
| 221 | ||
| 222 | ||
| 223 | local function CFrameFromTopBack(at, top, back) | |
| 224 | local right = top:Cross(back) | |
| 225 | return CFrame.new(at.x, at.y, at.z, | |
| 226 | right.x, top.x, back.x, | |
| 227 | right.y, top.y, back.y, | |
| 228 | right.z, top.z, back.z) | |
| 229 | end | |
| 230 | ||
| 231 | function Triangle(a, b, c) | |
| 232 | local edg1 = (c - a):Dot((b - a).unit) | |
| 233 | local edg2 = (a - b):Dot((c - b).unit) | |
| 234 | local edg3 = (b - c):Dot((a - c).unit) | |
| 235 | if edg1 <= (b - a).magnitude and edg1 >= 0 then | |
| 236 | a, b, c = a, b, c | |
| 237 | elseif edg2 <= (c - b).magnitude and edg2 >= 0 then | |
| 238 | a, b, c = b, c, a | |
| 239 | elseif edg3 <= (a - c).magnitude and edg3 >= 0 then | |
| 240 | a, b, c = c, a, b | |
| 241 | else | |
| 242 | assert(false, "unreachable") | |
| 243 | end | |
| 244 | ||
| 245 | local len1 = (c - a):Dot((b - a).unit) | |
| 246 | local len2 = (b - a).magnitude - len1 | |
| 247 | local width = (a + (b - a).unit * len1 - c).magnitude | |
| 248 | ||
| 249 | local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, -(b - a).unit) | |
| 250 | ||
| 251 | local list = {}
| |
| 252 | ||
| 253 | local Color = BrickColor.new("Dark stone grey")
| |
| 254 | ||
| 255 | if len1 > 0.01 then | |
| 256 | local w1 = Create('WedgePart', m){
| |
| 257 | Material = "SmoothPlastic", | |
| 258 | FormFactor = 'Custom', | |
| 259 | BrickColor = Color, | |
| 260 | Transparency = 0, | |
| 261 | Reflectance = 0, | |
| 262 | Material = "SmoothPlastic", | |
| 263 | CanCollide = false, | |
| 264 | Anchored = true, | |
| 265 | Parent = workspace, | |
| 266 | Transparency = 0.3, | |
| 267 | } | |
| 268 | game:GetService("Debris"):AddItem(w1, 5)
| |
| 269 | NoOutline(w1) | |
| 270 | local sz = Vector3.new(0.2, width, len1) | |
| 271 | w1.Size = sz | |
| 272 | local sp = Create("SpecialMesh"){
| |
| 273 | Parent = w1, | |
| 274 | MeshType = "Wedge", | |
| 275 | Scale = Vector3.new(0, 1, 1) * sz / w1.Size, | |
| 276 | } | |
| 277 | w1:BreakJoints() | |
| 278 | table.insert(Effects, {
| |
| 279 | w1, | |
| 280 | "Disappear", | |
| 281 | .03 | |
| 282 | }) | |
| 283 | w1.CFrame = maincf * CFrame.Angles(math.pi, 0, math.pi / 2) * CFrame.new(0, width / 2, len1 / 2) | |
| 284 | table.insert(list, w1) | |
| 285 | end | |
| 286 | if len2 > 0.01 then | |
| 287 | local w2 = Create('WedgePart', m){
| |
| 288 | Material = "SmoothPlastic", | |
| 289 | FormFactor = 'Custom', | |
| 290 | BrickColor = Color, | |
| 291 | Transparency = 0, | |
| 292 | Reflectance = 0, | |
| 293 | Material = "SmoothPlastic", | |
| 294 | CanCollide = false, | |
| 295 | Anchored = true, | |
| 296 | Parent = workspace, | |
| 297 | Transparency = 0.3, | |
| 298 | } | |
| 299 | game:GetService("Debris"):AddItem(w2, 5)
| |
| 300 | NoOutline(w2) | |
| 301 | local sz = Vector3.new(0.2, width, len2) | |
| 302 | w2.Size = sz | |
| 303 | local sp = Create("SpecialMesh"){
| |
| 304 | Parent = w2, | |
| 305 | MeshType = "Wedge", | |
| 306 | Scale = Vector3.new(0, 1, 1) * sz / w2.Size, | |
| 307 | } | |
| 308 | w2:BreakJoints() | |
| 309 | table.insert(Effects, {
| |
| 310 | w2, | |
| 311 | "Disappear", | |
| 312 | .03 | |
| 313 | }) | |
| 314 | w2.CFrame = maincf * CFrame.Angles(math.pi, math.pi, -math.pi / 2) * CFrame.new(0, width / 2, -len1 - len2 / 2) | |
| 315 | table.insert(list, w2) | |
| 316 | end | |
| 317 | return unpack(list) | |
| 318 | end | |
| 319 | ||
| 320 | function so(id, par, vol, pit) | |
| 321 | coroutine.resume(coroutine.create(function() | |
| 322 | local sou = Instance.new("Sound", par or workspace)
| |
| 323 | sou.Volume = vol | |
| 324 | sou.Pitch = pit or 1 | |
| 325 | sou.SoundId = Sounds[id].Id or id | |
| 326 | swait() | |
| 327 | sou:play() | |
| 328 | swait(6) | |
| 329 | sou:Remove() | |
| 330 | end)) | |
| 331 | end | |
| 332 | ||
| 333 | function clerp(a, b, t) | |
| 334 | local qa = {
| |
| 335 | QuaternionFromCFrame(a) | |
| 336 | } | |
| 337 | local qb = {
| |
| 338 | QuaternionFromCFrame(b) | |
| 339 | } | |
| 340 | local ax, ay, az = a.x, a.y, a.z | |
| 341 | local bx, by, bz = b.x, b.y, b.z | |
| 342 | local _t = 1 - t | |
| 343 | return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t)) | |
| 344 | end | |
| 345 | ||
| 346 | function QuaternionFromCFrame(cf) | |
| 347 | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() | |
| 348 | local trace = m00 + m11 + m22 | |
| 349 | if trace > 0 then | |
| 350 | local s = math.sqrt(1 + trace) | |
| 351 | local recip = 0.5 / s | |
| 352 | return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5 | |
| 353 | else | |
| 354 | local i = 0 | |
| 355 | if m11 > m00 then | |
| 356 | i = 1 | |
| 357 | end | |
| 358 | if m22 > (i == 0 and m00 or m11) then | |
| 359 | i = 2 | |
| 360 | end | |
| 361 | if i == 0 then | |
| 362 | local s = math.sqrt(m00 - m11 - m22 + 1) | |
| 363 | local recip = 0.5 / s | |
| 364 | return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip | |
| 365 | elseif i == 1 then | |
| 366 | local s = math.sqrt(m11 - m22 - m00 + 1) | |
| 367 | local recip = 0.5 / s | |
| 368 | return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip | |
| 369 | elseif i == 2 then | |
| 370 | local s = math.sqrt(m22 - m00 - m11 + 1) | |
| 371 | local recip = 0.5 / s | |
| 372 | return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip | |
| 373 | end | |
| 374 | end | |
| 375 | end | |
| 376 | ||
| 377 | function QuaternionToCFrame(px, py, pz, x, y, z, w) | |
| 378 | local xs, ys, zs = x + x, y + y, z + z | |
| 379 | local wx, wy, wz = w * xs, w * ys, w * zs | |
| 380 | local xx = x * xs | |
| 381 | local xy = x * ys | |
| 382 | local xz = x * zs | |
| 383 | local yy = y * ys | |
| 384 | local yz = y * zs | |
| 385 | local zz = z * zs | |
| 386 | 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)) | |
| 387 | end | |
| 388 | ||
| 389 | function QuaternionSlerp(a, b, t) | |
| 390 | local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4] | |
| 391 | local startInterp, finishInterp; | |
| 392 | if cosTheta >= 0.0001 then | |
| 393 | if (1 - cosTheta) > 0.0001 then | |
| 394 | local theta = math.acos(cosTheta) | |
| 395 | local invSinTheta = 1 / math.sin(theta) | |
| 396 | startInterp = math.sin((1 - t) * theta) * invSinTheta | |
| 397 | finishInterp = math.sin(t * theta) * invSinTheta | |
| 398 | else | |
| 399 | startInterp = 1 - t | |
| 400 | finishInterp = t | |
| 401 | end | |
| 402 | else | |
| 403 | if (1 + cosTheta) > 0.0001 then | |
| 404 | local theta = math.acos(-cosTheta) | |
| 405 | local invSinTheta = 1 / math.sin(theta) | |
| 406 | startInterp = math.sin((t - 1) * theta) * invSinTheta | |
| 407 | finishInterp = math.sin(t * theta) * invSinTheta | |
| 408 | else | |
| 409 | startInterp = t - 1 | |
| 410 | finishInterp = t | |
| 411 | end | |
| 412 | end | |
| 413 | 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 | |
| 414 | end | |
| 415 | ||
| 416 | function rayCast(Pos, Dir, Max, Ignore) | |
| 417 | return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
| |
| 418 | end | |
| 419 | ||
| 420 | Asset = "http://www.roblox.com/asset/?id=" | |
| 421 | ||
| 422 | Sounds = {
| |
| 423 | Hit1 = {
| |
| 424 | Id = Asset..(199149137) | |
| 425 | }, | |
| 426 | Hit2 = {
| |
| 427 | Id = Asset..(199149186) | |
| 428 | }, | |
| 429 | Hit3 = {
| |
| 430 | Id = Asset..(199149221) | |
| 431 | }, | |
| 432 | Hit4 = {
| |
| 433 | Id = Asset..(199149235) | |
| 434 | }, | |
| 435 | Slash1 = {
| |
| 436 | Id = Asset..(161006195) | |
| 437 | }, | |
| 438 | Slash2 = {
| |
| 439 | Id = Asset..(161006212) | |
| 440 | }, | |
| 441 | Fire = {
| |
| 442 | Id = Asset..(168413145) | |
| 443 | }, | |
| 444 | Beam = {
| |
| 445 | Id = Asset..(278596476) | |
| 446 | }, | |
| 447 | Appear = {
| |
| 448 | Id = Asset..(200633077) | |
| 449 | }, | |
| 450 | Disappear = {
| |
| 451 | Id = Asset..(200633029) | |
| 452 | }, | |
| 453 | } | |
| 454 | ||
| 455 | ContentProvider = game:GetService("ContentProvider")
| |
| 456 | for _, v in pairs(Sounds) do | |
| 457 | ContentProvider:Preload(v.Id) | |
| 458 | end | |
| 459 | ||
| 460 | ||
| 461 | ||
| 462 | Damagefunc = function(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch) | |
| 463 | if hit.Parent == nil then | |
| 464 | return | |
| 465 | end | |
| 466 | local h = hit.Parent:FindFirstChild("Humanoid")
| |
| 467 | for _, v in pairs(hit.Parent:children()) do | |
| 468 | if v:IsA("Humanoid") then
| |
| 469 | h = v | |
| 470 | end | |
| 471 | end | |
| 472 | if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
| |
| 473 | if hit.Parent:findFirstChild("DebounceHit") ~= nil then
| |
| 474 | if hit.Parent.DebounceHit.Value == true then | |
| 475 | return | |
| 476 | end | |
| 477 | end | |
| 478 | if h.MaxHealth >= math.huge then | |
| 479 | hit:BreakJoints() | |
| 480 | end | |
| 481 | --[[ if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then | |
| 482 | return | |
| 483 | end]] | |
| 484 | -- hs(hit,1.2) | |
| 485 | local c = Create("ObjectValue"){
| |
| 486 | Name = "creator", | |
| 487 | Value = game:service("Players").LocalPlayer,
| |
| 488 | Parent = h, | |
| 489 | } | |
| 490 | game:GetService("Debris"):AddItem(c, .5)
| |
| 491 | if HitSound ~= nil and HitPitch ~= nil then | |
| 492 | so(HitSound, hit, 1, HitPitch) | |
| 493 | end | |
| 494 | local Damage = math.random(minim, maxim) | |
| 495 | -- h:TakeDamage(Damage) | |
| 496 | local blocked = false | |
| 497 | local block = hit.Parent:findFirstChild("Block")
| |
| 498 | if block ~= nil then | |
| 499 | if block.className == "IntValue" then | |
| 500 | if block.Value > 0 then | |
| 501 | blocked = true | |
| 502 | block.Value = block.Value - 1 | |
| 503 | print(block.Value) | |
| 504 | end | |
| 505 | end | |
| 506 | end | |
| 507 | if blocked == false then | |
| 508 | -- h:TakeDamage(Damage) | |
| 509 | h.Health = h.Health - Damage | |
| 510 | ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, Part.BrickColor.Color) | |
| 511 | else | |
| 512 | h.Health = h.Health - (Damage / 2) | |
| 513 | ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, Part.BrickColor.Color) | |
| 514 | end | |
| 515 | if Type == "Knockdown" then | |
| 516 | local hum = hit.Parent.Humanoid | |
| 517 | hum.PlatformStand = true | |
| 518 | coroutine.resume(coroutine.create(function(HHumanoid) | |
| 519 | swait(1) | |
| 520 | HHumanoid.PlatformStand = false | |
| 521 | end), hum) | |
| 522 | local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit | |
| 523 | local bodvol = Create("BodyVelocity"){
| |
| 524 | velocity = angle * knockback, | |
| 525 | P = 5000, | |
| 526 | maxForce = Vector3.new(8e+003, 8e+003, 8e+003), | |
| 527 | Parent = hit, | |
| 528 | } | |
| 529 | local rl = Create("BodyAngularVelocity"){
| |
| 530 | P = 3000, | |
| 531 | maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000, | |
| 532 | angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)), | |
| 533 | Parent = hit, | |
| 534 | } | |
| 535 | game:GetService("Debris"):AddItem(bodvol, .5)
| |
| 536 | game:GetService("Debris"):AddItem(rl, .5)
| |
| 537 | elseif Type == "Normal" then | |
| 538 | local vp = Create("BodyVelocity"){
| |
| 539 | P = 500, | |
| 540 | maxForce = Vector3.new(math.huge, 0, math.huge), | |
| 541 | velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05, | |
| 542 | } | |
| 543 | if knockback > 0 then | |
| 544 | vp.Parent = hit.Parent.Torso | |
| 545 | end | |
| 546 | game:GetService("Debris"):AddItem(vp, .5)
| |
| 547 | elseif Type == "Up" then | |
| 548 | local bodyVelocity = Create("BodyVelocity"){
| |
| 549 | velocity = vt(0, 20, 0), | |
| 550 | P = 5000, | |
| 551 | maxForce = Vector3.new(8e+003, 8e+003, 8e+003), | |
| 552 | Parent = hit, | |
| 553 | } | |
| 554 | game:GetService("Debris"):AddItem(bodyVelocity, .5)
| |
| 555 | elseif Type == "Snare" then | |
| 556 | local bp = Create("BodyPosition"){
| |
| 557 | P = 2000, | |
| 558 | D = 100, | |
| 559 | maxForce = Vector3.new(math.huge, math.huge, math.huge), | |
| 560 | position = hit.Parent.Torso.Position, | |
| 561 | Parent = hit.Parent.Torso, | |
| 562 | } | |
| 563 | game:GetService("Debris"):AddItem(bp, 1)
| |
| 564 | elseif Type == "Freeze" then | |
| 565 | local BodPos = Create("BodyPosition"){
| |
| 566 | P = 50000, | |
| 567 | D = 1000, | |
| 568 | maxForce = Vector3.new(math.huge, math.huge, math.huge), | |
| 569 | position = hit.Parent.Torso.Position, | |
| 570 | Parent = hit.Parent.Torso, | |
| 571 | } | |
| 572 | local BodGy = Create("BodyGyro") {
| |
| 573 | maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge , | |
| 574 | P = 20e+003, | |
| 575 | Parent = hit.Parent.Torso, | |
| 576 | cframe = hit.Parent.Torso.CFrame, | |
| 577 | } | |
| 578 | hit.Parent.Torso.Anchored = true | |
| 579 | coroutine.resume(coroutine.create(function(Part) | |
| 580 | swait(1.5) | |
| 581 | Part.Anchored = false | |
| 582 | end), hit.Parent.Torso) | |
| 583 | game:GetService("Debris"):AddItem(BodPos, 3)
| |
| 584 | game:GetService("Debris"):AddItem(BodGy, 3)
| |
| 585 | end | |
| 586 | local debounce = Create("BoolValue"){
| |
| 587 | Name = "DebounceHit", | |
| 588 | Parent = hit.Parent, | |
| 589 | Value = true, | |
| 590 | } | |
| 591 | game:GetService("Debris"):AddItem(debounce, Delay)
| |
| 592 | c = Instance.new("ObjectValue")
| |
| 593 | c.Name = "creator" | |
| 594 | c.Value = Player | |
| 595 | c.Parent = h | |
| 596 | game:GetService("Debris"):AddItem(c, .5)
| |
| 597 | end | |
| 598 | end | |
| 599 | ||
| 600 | function ShowDamage(Pos, Text, Time, Color) | |
| 601 | local Rate = (1 / 30) | |
| 602 | local Pos = (Pos or Vector3.new(0, 0, 0)) | |
| 603 | local Text = (Text or "") | |
| 604 | local Time = (Time or 2) | |
| 605 | local Color = (Color or Color3.new(1, 0, 0)) | |
| 606 | local EffectPart = part("Custom", workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", vt(0, 0, 0))
| |
| 607 | EffectPart.Anchored = true | |
| 608 | local BillboardGui = Create("BillboardGui"){
| |
| 609 | Size = UDim2.new(3, 0, 3, 0), | |
| 610 | Adornee = EffectPart, | |
| 611 | Parent = EffectPart, | |
| 612 | } | |
| 613 | local TextLabel = Create("TextLabel"){
| |
| 614 | BackgroundTransparency = 1, | |
| 615 | Size = UDim2.new(1, 0, 1, 0), | |
| 616 | Text = Text, | |
| 617 | TextColor3 = Color, | |
| 618 | TextScaled = true, | |
| 619 | Font = Enum.Font.ArialBold, | |
| 620 | Parent = BillboardGui, | |
| 621 | } | |
| 622 | game.Debris:AddItem(EffectPart, (Time + 0.1)) | |
| 623 | EffectPart.Parent = game:GetService("Workspace")
| |
| 624 | delay(0, function() | |
| 625 | local Frames = (Time / Rate) | |
| 626 | for Frame = 1, Frames do | |
| 627 | wait(Rate) | |
| 628 | local Percent = (Frame / Frames) | |
| 629 | EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0) | |
| 630 | TextLabel.TextTransparency = Percent | |
| 631 | end | |
| 632 | if EffectPart and EffectPart.Parent then | |
| 633 | EffectPart:Destroy() | |
| 634 | end | |
| 635 | end) | |
| 636 | end | |
| 637 | ||
| 638 | Handle = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Crimson", "Handle", Vector3.new(1.20000005, 0.200000003, 1.20000005)) | |
| 639 | Handleweld = weld(m, Character["Torso"], Handle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.0396080017, -4.09992504, 0.0598115921, 1, -7.6153174e-011, -2.01268858e-006, 8.22890089e-011, 1, 3.084431e-006, 2.01269063e-006, -3.084431e-006, 1)) | |
| 640 | mesh("CylinderMesh", Handle, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.660000086, 1))
| |
| 641 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.44000006, 0.200000003, 1.44000006)) | |
| 642 | Partweld = weld(m, Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(5.14984131e-005, 1.62124634e-005, -1.04904175e-005, 1, 1.23146328e-011, 1.07286201e-006, -1.13079598e-011, 1, -1.07284109e-006, -1.07285791e-006, 1.07284109e-006, 1)) | |
| 643 | mesh("CylinderMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
| |
| 644 | Layer2Handle = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Layer2Handle", Vector3.new(0.480000019, 0.200000003, 0.480001062)) | |
| 645 | Layer2Handleweld = weld(m, Handle, Layer2Handle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000301361084, 2.28881836e-005, -0.000202178955, 1, 2.70082467e-007, -1.75730406e-006, -2.70091959e-007, 1, -8.66388018e-006, 1.7573052e-006, 8.66388655e-006, 1)) | |
| 646 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Crimson", "Part", Vector3.new(0.480000019, 0.200000003, 0.720000625)) | |
| 647 | Partweld = weld(m, Layer2Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(5.14984131e-005, -9.53674316e-007, -2.8800478, 0.999997914, -1.93837602e-011, -1.48245363e-008, 3.90257063e-011, 1, -7.13953341e-011, 1.48336312e-008, 8.91304808e-011, 0.999997914)) | |
| 648 | mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
| |
| 649 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Crimson", "Part", Vector3.new(0.480000019, 0.200000003, 0.720000625)) | |
| 650 | Partweld = weld(m, Layer2Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(4.19616699e-005, -3.24249268e-005, 2.87992668, 0.999985158, 2.87014509e-012, -1.48093022e-008, 5.66184322e-011, 1, -5.45696821e-012, 1.48470463e-008, 8.04902811e-011, 0.999985158)) | |
| 651 | mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
| |
| 652 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.480000019, 0.200000003, 5.04000092)) | |
| 653 | Partweld = weld(m, Layer2Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(1.33514404e-005, -9.53674316e-007, -0.0001039505, 0.999987781, -7.77617137e-011, -1.49125299e-008, 1.16872789e-010, 1, -1.96905603e-010, 1.493936e-008, 2.51930032e-010, 0.999987781)) | |
| 654 | mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
| |
| 655 | mesh("BlockMesh", Layer2Handle, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
| |
| 656 | Layer3Handle = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 1, "Crimson", "Layer3Handle", Vector3.new(0.720000029, 0.720000029, 0.200000003)) | |
| 657 | Layer3Handleweld = weld(m, Handle, Layer3Handle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000802993774, -0.000151634216, 3.05175781e-005, 0.999999404, 4.16033836e-005, 1.96785777e-006, 1.96798396e-006, -2.12107511e-006, -0.999999404, -4.16014955e-005, 1, -2.12118243e-006)) | |
| 658 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391)) | |
| 659 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(9.53674316e-007, -0.840223312, 3.5397892, 4.89614176e-005, 5.0135186e-006, 0.999999762, -0.999999046, 1.22189522e-005, 4.8959475e-005, -1.22783813e-005, -0.999998689, 5.01443719e-006)) | |
| 660 | mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
| |
| 661 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327)) | |
| 662 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000864028931, -6.00814819e-005, -3.59964466, -0.999999404, 9.70068322e-006, 3.31623378e-005, 3.31642768e-005, 4.86649742e-006, 1, 9.70056226e-006, 0.999999404, -4.86679755e-006)) | |
| 663 | mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
| |
| 664 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391)) | |
| 665 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(2.76565552e-005, -0.840137482, 3.54048443, -3.42451713e-005, -5.10578684e-006, -0.99999994, -0.999998927, -1.21146441e-005, 3.4243305e-005, -1.2144611e-005, 0.999998927, -5.10543578e-006)) | |
| 666 | mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
| |
| 667 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327)) | |
| 668 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000713348389, -2.76565552e-005, -3.6005826, -0.999993503, -9.68569748e-006, 5.00400529e-005, -5.00420938e-005, -4.89724516e-006, -0.999999881, 9.62627109e-006, -0.999993503, 4.89690592e-006)) | |
| 669 | mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
| |
| 670 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391)) | |
| 671 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-7.62939453e-006, -0.838525772, 3.54048347, 3.57801182e-005, 5.10578639e-006, 0.99999994, 0.999999046, 1.0341405e-005, -3.57782446e-005, -1.03266702e-005, 0.999998927, -5.10551126e-006)) | |
| 672 | mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
| |
| 673 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391)) | |
| 674 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-5.7220459e-006, -0.84022522, 3.53960228, -3.45465851e-005, -1.12046393e-006, -1, 5.82638359e-006, -0.999999225, 1.12023974e-006, -0.999999225, -5.82638404e-006, 3.45446933e-005)) | |
| 675 | mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
| |
| 676 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391)) | |
| 677 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-2.86102295e-006, -0.839550018, 3.53951263, 3.41143859e-005, 1.04596313e-006, 1, -6.24368704e-006, 0.999999225, -1.04572723e-006, -0.999999225, -6.24369022e-006, 3.41124942e-005)) | |
| 678 | mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
| |
| 679 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327)) | |
| 680 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000238418579, -9.53674316e-006, -3.59959984, 6.28840098e-006, -0.999999225, 1.09042128e-006, -3.40994848e-005, -1.09065854e-006, -1, 0.999999225, 6.2884028e-006, -3.4097593e-005)) | |
| 681 | mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
| |
| 682 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0.19999998807907, "Crimson", "Part", Vector3.new(0.480000019, 0.480000019, 0.200000003)) | |
| 683 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, 0, 3.81469727e-006, 0.999998808, 4.0078163e-011, 1.9098958e-009, 4.0078163e-011, 0.999998808, 2.42152964e-011, 1.9098958e-009, 2.42152964e-011, 1)) | |
| 684 | mesh("SpecialMesh", Part, Enum.MeshType.FileMesh, "http://www.roblox.com/asset/?id=18430887", Vector3.new(0, 0, 0), Vector3.new(3.58200026, 3.58200002, 2.9532001))
| |
| 685 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391)) | |
| 686 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(4.00543213e-005, -0.838380814, 3.53930187, -4.74264707e-005, -5.02687499e-006, -0.999999762, 0.999999046, -1.03116026e-005, -4.74245317e-005, -1.0311428e-005, -0.999998808, 5.02768307e-006)) | |
| 687 | mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
| |
| 688 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Really black", "Part", Vector3.new(0.480000019, 0.480000019, 0.200000003)) | |
| 689 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, 0, 0, 0.999998808, 4.0078163e-011, 1.9098958e-009, 4.0078163e-011, 0.999998808, 2.42152964e-011, 1.9098958e-009, 2.42152964e-011, 1)) | |
| 690 | mesh("SpecialMesh", Part, Enum.MeshType.FileMesh, "http://www.roblox.com/asset/?id=18430887", Vector3.new(0, 0, 0), Vector3.new(3.60000014, 3.60000014, 3.60000014))
| |
| 691 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391)) | |
| 692 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(7.62939453e-006, -0.839694977, 3.53992653, -3.91442991e-005, -8.80631774e-007, -0.999993026, 2.27987925e-006, 0.999991357, -8.80696462e-007, 0.999997556, -2.29477519e-006, -3.92767397e-005)) | |
| 693 | mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
| |
| 694 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327)) | |
| 695 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000235557556, -2.38418579e-005, -3.60028458, 1.50501114e-006, -0.999997199, 8.35720812e-007, 3.47488422e-005, 8.35786693e-007, 1, -0.999997199, -1.50502308e-006, 3.47468304e-005)) | |
| 696 | mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
| |
| 697 | Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391)) | |
| 698 | Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-2.28881836e-005, -0.840080261, 3.54010582, 3.91591857e-005, 8.0613512e-007, 0.999993026, -2.25008012e-006, -0.999991, 8.06197477e-007, 0.999997556, -2.29477519e-006, -3.92916445e-005)) | |
| 699 | mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
| |
| 700 | HitboxA = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "HitboxA", Vector3.new(0.200000003, 2.48000002, 0.840000391)) | |
| 701 | HitboxAweld = weld(m, Layer3Handle, HitboxA, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-6.67572021e-006, -0.039557457, 3.53951645, 3.44422551e-005, 1.04596529e-006, 1, -5.90090622e-006, 0.999999225, -1.04573905e-006, -0.999999225, -5.90090895e-006, 3.44403634e-005)) | |
| 702 | HitboxB = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "HitboxB", Vector3.new(0.200000003, 2.48000026, 0.840000391)) | |
| 703 | HitboxBweld = weld(m, Layer3Handle, HitboxB, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(9.53674316e-007, -0.0402240753, 3.5397892, 4.89614176e-005, 5.0135186e-006, 0.999999762, -0.999999046, 1.22189522e-005, 4.8959475e-005, -1.22783813e-005, -0.999998689, 5.01443719e-006)) | |
| 704 | HitboxC = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "HitboxC", Vector3.new(0.200000003, 2.28000021, 0.840000391)) | |
| 705 | HitboxCweld = weld(m, Layer3Handle, HitboxC, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(2.76565552e-005, 0.0598621368, 3.54048443, -3.42451713e-005, -5.10578684e-006, -0.99999994, -0.999998927, -1.21146441e-005, 3.4243305e-005, -1.2144611e-005, 0.999998927, -5.10543578e-006)) | |
| 706 | mesh("SpecialMesh", HitboxC, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
| |
| 707 | HitboxD = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "HitboxD", Vector3.new(0.200000003, 2.28000021, 0.840000391)) | |
| 708 | HitboxDweld = weld(m, Layer3Handle, HitboxD, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-2.28881836e-005, 0.0599050522, 3.54010582, 3.91591857e-005, 8.0613512e-007, 0.999993026, -2.25008012e-006, -0.999991, 8.06197477e-007, 0.999997556, -2.29477519e-006, -3.92916445e-005)) | |
| 709 | mesh("SpecialMesh", HitboxD, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
| |
| 710 | mesh("SpecialMesh", Layer3Handle, Enum.MeshType.FileMesh, "http://www.roblox.com/asset/?id=18430887", Vector3.new(0, 0, 0), Vector3.new(6, 6, -1.21799994))
| |
| 711 | ||
| 712 | local Lite = Create("PointLight"){
| |
| 713 | Parent = Handle, | |
| 714 | Color = BrickColor.new("Crimson").Color,
| |
| 715 | Shadows = true, | |
| 716 | Range = 20, | |
| 717 | Brightness = 0.5, | |
| 718 | } | |
| 719 | ||
| 720 | local Spin = Create("Sound"){
| |
| 721 | Parent = Handle, | |
| 722 | SoundId = "rbxassetid://143301643", | |
| 723 | Volume = 1, | |
| 724 | Pitch = 1, | |
| 725 | Looped = true, | |
| 726 | } | |
| 727 | ||
| 728 | local Spin2 = Create("Sound"){
| |
| 729 | Parent = Handle, | |
| 730 | SoundId = "rbxassetid://149560784", | |
| 731 | Volume = .7, | |
| 732 | Pitch = .8, | |
| 733 | Looped = true, | |
| 734 | } | |
| 735 | ||
| 736 | Spin:Play() | |
| 737 | ||
| 738 | Spin2:Play() | |
| 739 | ||
| 740 | local PE1 = Create("ParticleEmitter"){
| |
| 741 | Parent = Layer3Handle, | |
| 742 | Color = ColorSequence.new(BrickColor.new("Crimson").Color),
| |
| 743 | Transparency = NumberSequence.new(.5), | |
| 744 | Size = NumberSequence.new(0.2), | |
| 745 | Texture = "rbxassetid://263433152", | |
| 746 | Lifetime = NumberRange.new(1), | |
| 747 | Rate = 20, | |
| 748 | VelocitySpread = 180, | |
| 749 | Rotation = NumberRange.new(100), | |
| 750 | Speed = NumberRange.new(3), | |
| 751 | LightEmission = 1, | |
| 752 | } | |
| 753 | ||
| 754 | function Reappear() | |
| 755 | for _, i in pairs(m:children()) do | |
| 756 | if i.Name == "Layer3Handle" then | |
| 757 | Part.Transparency = 1 | |
| 758 | coroutine.resume(coroutine.create(function(Part) | |
| 759 | for i = 0, 1, 0.1 do | |
| 760 | swait() | |
| 761 | Part.Transparency = i | |
| 762 | end | |
| 763 | Part.Transparency = 0.5 | |
| 764 | end), i) | |
| 765 | end | |
| 766 | end | |
| 767 | end | |
| 768 | ||
| 769 | function Disappear() | |
| 770 | for _, i in pairs(m:children()) do | |
| 771 | if i.Name == "Layer3Handle" then | |
| 772 | Part.Transparency = .5 | |
| 773 | coroutine.resume(coroutine.create(function(Part) | |
| 774 | for i = 0, 1, 0.1 do | |
| 775 | swait() | |
| 776 | Part.Transparency = i | |
| 777 | end | |
| 778 | Part.Transparency = 1 | |
| 779 | end), i) | |
| 780 | end | |
| 781 | end | |
| 782 | end | |
| 783 | ||
| 784 | function attackone() | |
| 785 | attack = true | |
| 786 | local con1 = HitboxA.Touched:connect(function(hit) | |
| 787 | Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit1", 1) | |
| 788 | end) | |
| 789 | local con2 = HitboxB.Touched:connect(function(hit) | |
| 790 | Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit2", 1) | |
| 791 | end) | |
| 792 | local con3 = HitboxC.Touched:connect(function(hit) | |
| 793 | Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit3", 1) | |
| 794 | end) | |
| 795 | local con4 = HitboxD.Touched:connect(function(hit) | |
| 796 | Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit4", 1) | |
| 797 | end) | |
| 798 | Reappear() | |
| 799 | for i = 0, 1, 0.1 do | |
| 800 | swait() | |
| 801 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .3) | |
| 802 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(5), math.rad(0), math.rad(50)), .3) | |
| 803 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(30)), 0.3) | |
| 804 | LW.C0 = clerp(LW.C0, CFrame.new(-1, 0.3, .3) * angles(math.rad(-30), math.rad(0), math.rad(30)), 0.3) | |
| 805 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(120), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3) | |
| 806 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3) | |
| 807 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(5, -4, -7) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
| 808 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3) | |
| 809 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3) | |
| 810 | end | |
| 811 | so("Slash1", Handle, 1, 1)
| |
| 812 | for i = 0, 1, 0.1 do | |
| 813 | swait() | |
| 814 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), .5) | |
| 815 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(5), math.rad(0), math.rad(-50)), .5) | |
| 816 | RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, -.5) * angles(math.rad(90), math.rad(0), math.rad(-30)), 0.5) | |
| 817 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.5) | |
| 818 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5) | |
| 819 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-120), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5) | |
| 820 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-2, -4, -8) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
| 821 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3) | |
| 822 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3) | |
| 823 | end | |
| 824 | Disappear() | |
| 825 | con1:disconnect() | |
| 826 | con2:disconnect() | |
| 827 | con3:disconnect() | |
| 828 | con4:disconnect() | |
| 829 | attack = false | |
| 830 | end | |
| 831 | ||
| 832 | function attacktwo() | |
| 833 | attack = true | |
| 834 | local con1 = HitboxA.Touched:connect(function(hit) | |
| 835 | Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit1", 1) | |
| 836 | end) | |
| 837 | local con2 = HitboxB.Touched:connect(function(hit) | |
| 838 | Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit2", 1) | |
| 839 | end) | |
| 840 | local con3 = HitboxC.Touched:connect(function(hit) | |
| 841 | Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit3", 1) | |
| 842 | end) | |
| 843 | local con4 = HitboxD.Touched:connect(function(hit) | |
| 844 | Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit4", 1) | |
| 845 | end) | |
| 846 | Reappear() | |
| 847 | for i = 0, 1, 0.1 do | |
| 848 | swait() | |
| 849 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3) | |
| 850 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(-10), math.rad(0), math.rad(0)), .3) | |
| 851 | RW.C0 = clerp(RW.C0, CFrame.new(1.4, 0.5, -.5) * angles(math.rad(150), math.rad(0), math.rad(0)), 0.3) | |
| 852 | LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3) | |
| 853 | RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3) | |
| 854 | LH.C0 = clerp(LH.C0, cf(-1, -1, .2) * angles(math.rad(0), math.rad(-85), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3) | |
| 855 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-4, 10, 0) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.3) | |
| 856 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3) | |
| 857 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3) | |
| 858 | end | |
| 859 | so("Slash2", Handle, 1, 1.2)
| |
| 860 | for i = 0, 1, 0.1 do | |
| 861 | swait() | |
| 862 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .5) | |
| 863 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .5) | |
| 864 | RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.3, -.5) * angles(math.rad(50), math.rad(0), math.rad(-30)), 0.5) | |
| 865 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-50)), 0.5) | |
| 866 | RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5) | |
| 867 | LH.C0 = clerp(LH.C0, cf(-1, -1, .2) * angles(math.rad(0), math.rad(-85), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5) | |
| 868 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-4, .5, -8) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.4) | |
| 869 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3) | |
| 870 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3) | |
| 871 | end | |
| 872 | Disappear() | |
| 873 | con1:disconnect() | |
| 874 | con2:disconnect() | |
| 875 | con3:disconnect() | |
| 876 | con4:disconnect() | |
| 877 | attack = false | |
| 878 | end | |
| 879 | ||
| 880 | function attackthree() | |
| 881 | attack = true | |
| 882 | local con1 = HitboxA.Touched:connect(function(hit) | |
| 883 | Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit1", 1) | |
| 884 | end) | |
| 885 | local con2 = HitboxB.Touched:connect(function(hit) | |
| 886 | Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit2", 1) | |
| 887 | end) | |
| 888 | local con3 = HitboxC.Touched:connect(function(hit) | |
| 889 | Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit3", 1) | |
| 890 | end) | |
| 891 | local con4 = HitboxD.Touched:connect(function(hit) | |
| 892 | Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit4", 1) | |
| 893 | end) | |
| 894 | Reappear() | |
| 895 | for i = 0, 1, 0.1 do | |
| 896 | swait() | |
| 897 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), .3) | |
| 898 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-50)), .3) | |
| 899 | RW.C0 = clerp(RW.C0, CFrame.new(1.4, 0.8, -.5) * angles(math.rad(120), math.rad(0), math.rad(-30)), 0.3) | |
| 900 | LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3) | |
| 901 | RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3) | |
| 902 | LH.C0 = clerp(LH.C0, cf(-1, -1, .2) * angles(math.rad(0), math.rad(-140), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3) | |
| 903 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-10, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-20)), 0.3) | |
| 904 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3) | |
| 905 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3) | |
| 906 | end | |
| 907 | so("Slash1", Handle, 1, 1.2)
| |
| 908 | for i = 0, 1, 0.1 do | |
| 909 | swait() | |
| 910 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .5) | |
| 911 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(50)), .5) | |
| 912 | RW.C0 = clerp(RW.C0, CFrame.new(1.4, 0.5, 0) * angles(math.rad(50), math.rad(0), math.rad(30)), 0.5) | |
| 913 | LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.5) | |
| 914 | RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(140), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5) | |
| 915 | LH.C0 = clerp(LH.C0, cf(-1, -1, .2) * angles(math.rad(0), math.rad(-50), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5) | |
| 916 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, -5, -10) * angles(math.rad(0), math.rad(0), math.rad(-20)), 0.3) | |
| 917 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3) | |
| 918 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3) | |
| 919 | end | |
| 920 | Disappear() | |
| 921 | con1:disconnect() | |
| 922 | con2:disconnect() | |
| 923 | con3:disconnect() | |
| 924 | con4:disconnect() | |
| 925 | attack = false | |
| 926 | end | |
| 927 | ||
| 928 | local hoverpos = Create("BodyPosition"){}
| |
| 929 | ||
| 930 | local bv = Create("BodyVelocity"){
| |
| 931 | ||
| 932 | Parent = nil, | |
| 933 | ||
| 934 | maxForce = Vector3.new(4e+020, 4e+020, 4e+020) , | |
| 935 | ||
| 936 | } | |
| 937 | ||
| 938 | local hovering = false | |
| 939 | ||
| 940 | function Hover() | |
| 941 | so("Appear",Handle,1,1)
| |
| 942 | attack = true | |
| 943 | local dur = 0 | |
| 944 | local donum3 = 0 | |
| 945 | coroutine.resume(coroutine.create(function(Num) | |
| 946 | for i = 0, 1, 0.1 do | |
| 947 | swait() | |
| 948 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3) | |
| 949 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .3) | |
| 950 | RW.C0 = clerp(RW.C0, CFrame.new(1, 0.3, .3) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3) | |
| 951 | LW.C0 = clerp(LW.C0, CFrame.new(-1, 0.3, .3) * angles(math.rad(-30), math.rad(0), math.rad(30)), 0.3) | |
| 952 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(-20)) * angles(math.rad(0), math.rad(0), math.rad(0)), .3) | |
| 953 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(10)) * angles(math.rad(0), math.rad(0), math.rad(0)), .3) | |
| 954 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, -8, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
| 955 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum3 / .03, math.rad(0)), 0.3) | |
| 956 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum3 / .04, math.rad(0)), 0.3) | |
| 957 | end | |
| 958 | end), dur) | |
| 959 | Reappear() | |
| 960 | hoverpos.maxForce = vt(4e+080, 4e+080, 4e+080) | |
| 961 | hoverpos.Name = "BP" | |
| 962 | hoverpos.Parent = RootPart | |
| 963 | hoverpos.P = 2000 | |
| 964 | hoverpos.D = 100 | |
| 965 | hoverpos.position = RootPart.Position | |
| 966 | while hovering == true do | |
| 967 | for i = 0, 1, 0.1 do | |
| 968 | swait() | |
| 969 | donum3 = donum3 + 0.01 | |
| 970 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum3 / .03, math.rad(0)), 0.3) | |
| 971 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum3 / .04, math.rad(0)), 0.3) | |
| 972 | end | |
| 973 | end | |
| 974 | Disappear() | |
| 975 | so("Disappear",Handle,1,1)
| |
| 976 | hoverpos.Parent = nil | |
| 977 | attack = false | |
| 978 | end | |
| 979 | ||
| 980 | function MagniDamage(Hit,Part,magni,mindam,maxdam,knock,Type) | |
| 981 | for _,c in pairs(workspace:children()) do | |
| 982 | local hum=c:findFirstChild("Humanoid")
| |
| 983 | if hum~=nil then | |
| 984 | local head=c:findFirstChild("Torso")
| |
| 985 | if head~=nil then | |
| 986 | local targ=head.Position-Part.Position | |
| 987 | local mag=targ.magnitude | |
| 988 | if mag<=magni and c.Name~=Player.Name then | |
| 989 | Damagefunc(Hit,head,mindam,maxdam,knock,Type,RootPart,.2,"Hit1",1) | |
| 990 | end | |
| 991 | end | |
| 992 | end | |
| 993 | end | |
| 994 | end | |
| 995 | ||
| 996 | function CylinderEffect(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) | |
| 997 | local prt=part(3,Character,"Neon",0,0,brickcolor,"Effect",vt(0.2,0.2,0.2)) | |
| 998 | prt.Anchored=true | |
| 999 | prt.CFrame=cframe | |
| 1000 | local msh=mesh("CylinderMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
| |
| 1001 | game:GetService("Debris"):AddItem(prt,5)
| |
| 1002 | Effects[#Effects+1]={prt,"Cylinder",delay,x3,y3,z3} --part, type, delay
| |
| 1003 | end | |
| 1004 | ||
| 1005 | RocketTarget = RootPart | |
| 1006 | function ShootCannon(asd) | |
| 1007 | local MainPos=asd.Position | |
| 1008 | local MainPos2=mouse.Hit.p | |
| 1009 | local MouseLook=cf((MainPos+MainPos2)/2,MainPos2) | |
| 1010 | num=30 | |
| 1011 | coroutine.resume(coroutine.create(function() | |
| 1012 | repeat | |
| 1013 | wait() | |
| 1014 | local hit,pos = rayCast(MainPos,MouseLook.lookVector,10,RocketTarget.Parent) | |
| 1015 | local mag=(MainPos-pos).magnitude | |
| 1016 | CylinderEffect(BrickColor.new("Crimson"),CFrame.new((MainPos+pos)/2,pos)*angles(1.57,0,0),3,mag*5,3,1.5,0,1.5,0.1)
| |
| 1017 | MainPos=MainPos+(MouseLook.lookVector*10) | |
| 1018 | num=num-1 | |
| 1019 | if hit~=nil then | |
| 1020 | num=0 | |
| 1021 | local ref=part(3,workspace,"Neon",0,1,BrickColor.new("Crimson"),"Reference",vt())
| |
| 1022 | ref.Anchored=true | |
| 1023 | ref.CFrame=cf(pos) | |
| 1024 | MagniDamage(ref,hit,5,30,50,1,"Normal") | |
| 1025 | game:GetService("Debris"):AddItem(ref,5)
| |
| 1026 | end | |
| 1027 | until num<=0 | |
| 1028 | end)) | |
| 1029 | end | |
| 1030 | ||
| 1031 | function BlastEffect(brickcolor, cframe, x1, y1, z1, x2, y2, z2) | |
| 1032 | local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5)) | |
| 1033 | prt.Anchored = true | |
| 1034 | prt.CFrame = cframe | |
| 1035 | local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=20329976", vt(0, 0, 0), vt(x1, y1, z1))
| |
| 1036 | coroutine.resume(coroutine.create(function() | |
| 1037 | for i = 0, 1, 0.05 do | |
| 1038 | wait() | |
| 1039 | prt.Transparency = i | |
| 1040 | msh.Scale = msh.Scale + vt(x2, y2, z2) | |
| 1041 | end | |
| 1042 | prt.Parent = nil | |
| 1043 | end)) | |
| 1044 | end | |
| 1045 | ||
| 1046 | function BlockEffect(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) | |
| 1047 | local prt=part(3,workspace,"Neon",0,0,brickcolor,"Effect",vt()) | |
| 1048 | prt.Anchored=true | |
| 1049 | prt.CFrame=cframe | |
| 1050 | local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
| |
| 1051 | game:GetService("Debris"):AddItem(prt,5)
| |
| 1052 | table.insert(Effects,{prt,"Block1",delay,x3,y3,z3}) --part, type, delay
| |
| 1053 | end | |
| 1054 | ||
| 1055 | function FireProjectiles() | |
| 1056 | attack = true | |
| 1057 | so("Appear",Handle,1,1)
| |
| 1058 | Reappear() | |
| 1059 | for i = 0,1,0.1 do | |
| 1060 | swait() | |
| 1061 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3) | |
| 1062 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(-30), math.rad(0), math.rad(0)), .3) | |
| 1063 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(150), math.rad(0), math.rad(0)), 0.3) | |
| 1064 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(-20)), 0.3) | |
| 1065 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3) | |
| 1066 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3) | |
| 1067 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
| 1068 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -6*i, math.rad(0)), 0.3) | |
| 1069 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 6*i, math.rad(0)), 0.3) | |
| 1070 | end | |
| 1071 | Humanoid.WalkSpeed = 0 | |
| 1072 | for i = 1,8 do | |
| 1073 | ShootCannon(Handle) | |
| 1074 | BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,.5,.5,.5,.9,.9,.9,0.05)
| |
| 1075 | so("Beam",Handle,1,1.5)
| |
| 1076 | for i = 0,1,0.1 do | |
| 1077 | swait() | |
| 1078 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .5) | |
| 1079 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(0)), .5) | |
| 1080 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(85), math.rad(0), math.rad(30)), 0.5) | |
| 1081 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(85), math.rad(0), math.rad(-30)), 0.5) | |
| 1082 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3) | |
| 1083 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3) | |
| 1084 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 1, 0) * angles(math.rad(-90), math.rad(0), math.rad(0)), 0.3) | |
| 1085 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -6*i, math.rad(0)), 0.3) | |
| 1086 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 6*i, math.rad(0)), 0.3) | |
| 1087 | end | |
| 1088 | end | |
| 1089 | Disappear() | |
| 1090 | so("Disappear",Handle,1,1)
| |
| 1091 | Humanoid.WalkSpeed = 16 | |
| 1092 | attack = false | |
| 1093 | end | |
| 1094 | ||
| 1095 | function EnergyBurst() | |
| 1096 | attack = true | |
| 1097 | so("Appear",Handle,1,1)
| |
| 1098 | for i = 0,1,0.1 do | |
| 1099 | swait() | |
| 1100 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .3) | |
| 1101 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(50)), .3) | |
| 1102 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(50), math.rad(90)), 0.3) | |
| 1103 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-20)), 0.3) | |
| 1104 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(130), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3) | |
| 1105 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3) | |
| 1106 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(10, -4, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
| 1107 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -6*i, math.rad(0)), 0.3) | |
| 1108 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 6*i, math.rad(0)), 0.3) | |
| 1109 | end | |
| 1110 | Reappear() | |
| 1111 | so("Slash1", Handle, 1, 1.2)
| |
| 1112 | for i = 1,2 do | |
| 1113 | for i = 0,1,0.1 do | |
| 1114 | swait() | |
| 1115 | BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,.5,.5,.5,.9,.9,.9,0.05)
| |
| 1116 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(70)), .3) | |
| 1117 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-70)), .3) | |
| 1118 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(20), math.rad(90)), 0.3) | |
| 1119 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-40), math.rad(0), math.rad(-50)), 0.3) | |
| 1120 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3) | |
| 1121 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-130), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3) | |
| 1122 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(15, -4, -7) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
| 1123 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -6*i, math.rad(0)), 0.3) | |
| 1124 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 6*i, math.rad(0)), 0.3) | |
| 1125 | end | |
| 1126 | end | |
| 1127 | Disappear() | |
| 1128 | so("Disappear",Handle,1,1)
| |
| 1129 | so("Fire", Handle, 1, 1.2)
| |
| 1130 | so("Fire", Handle, 1, .8)
| |
| 1131 | MagniDamage(Handle,Handle,30,30,50,1,"Knockdown") | |
| 1132 | BlastEffect(BrickColor.new("Crimson"), Handle.CFrame, .1, .1, .1, 1, 1, 1)
| |
| 1133 | for i = 1,5 do | |
| 1134 | BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,1,1,1,5,5,5,0.05)
| |
| 1135 | end | |
| 1136 | attack = false | |
| 1137 | end | |
| 1138 | ||
| 1139 | function WaveEffect(Part,cframe1,cframe2,Damage,Size) | |
| 1140 | coroutine.resume(coroutine.create(function() | |
| 1141 | local wave=part(1,workspace,"Neon",0,0,BrickColor.new("Crimson"),"Effect",vt(3,3,10))
| |
| 1142 | wave.Anchored=true | |
| 1143 | wave.CFrame=Part.CFrame*cframe1 | |
| 1144 | so("Beam",wave,1,1.3)
| |
| 1145 | MagniDamage(wave,wave,10,10,30,1,"Normal") | |
| 1146 | local Msh = Create("SpecialMesh"){
| |
| 1147 | Parent = wave, | |
| 1148 | MeshType = "Sphere" | |
| 1149 | } | |
| 1150 | BlockEffect(BrickColor.new("Crimson"),wave.CFrame,1,1,1,3,3,3,0.05)
| |
| 1151 | local PE1 = Create("ParticleEmitter"){
| |
| 1152 | Parent = wave, | |
| 1153 | Color = ColorSequence.new(BrickColor.new("Crimson").Color),
| |
| 1154 | Transparency = NumberSequence.new(.5), | |
| 1155 | Size = NumberSequence.new(1), | |
| 1156 | Texture = "rbxassetid://249270319", | |
| 1157 | Lifetime = NumberRange.new(1), | |
| 1158 | Rate = 50, | |
| 1159 | VelocitySpread = 180, | |
| 1160 | Rotation = NumberRange.new(0), | |
| 1161 | Speed = NumberRange.new(5), | |
| 1162 | LightEmission = 1, | |
| 1163 | } | |
| 1164 | for i=0,1,0.2 do | |
| 1165 | wait() | |
| 1166 | local dir = wave.CFrame.lookVector*-1 | |
| 1167 | local pos = rayCast(wave.Position,dir,5,Character) | |
| 1168 | wave.CFrame=wave.CFrame*cframe2 | |
| 1169 | Effects[#Effects+1]={wave,"Cylinder",0.01,.03,.03,.03}
| |
| 1170 | end | |
| 1171 | end)) | |
| 1172 | end | |
| 1173 | ||
| 1174 | function Wave() | |
| 1175 | attack = true | |
| 1176 | Reappear() | |
| 1177 | so("Appear",Handle,1,.8)
| |
| 1178 | for i = 1,3 do | |
| 1179 | for i = 0, 1, 0.1 do | |
| 1180 | swait() | |
| 1181 | BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,.1,.1,.1,1,1,1,0.05)
| |
| 1182 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3) | |
| 1183 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(-10), math.rad(0), math.rad(0)), .3) | |
| 1184 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.8, 0) * angles(math.rad(150), math.rad(0), math.rad(0)), 0.3) | |
| 1185 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3) | |
| 1186 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3) | |
| 1187 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3) | |
| 1188 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-4, 10, 0) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.4) | |
| 1189 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3) | |
| 1190 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3) | |
| 1191 | end | |
| 1192 | end | |
| 1193 | so("Slash2",Handle,1,.4)
| |
| 1194 | local inc=-10 | |
| 1195 | for i=1,8 do | |
| 1196 | WaveEffect(Torso,CFrame.new(0,-5,inc)*CFrame.fromEulerAnglesXYZ(-2,0,1.57),CFrame.new(0,0,0.8),10,5) | |
| 1197 | inc=inc-7 | |
| 1198 | end | |
| 1199 | for i = 1,2 do | |
| 1200 | for i = 0, 1, 0.1 do | |
| 1201 | swait() | |
| 1202 | BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,.1,.1,.1,1,1,1,0.05)
| |
| 1203 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), .5) | |
| 1204 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(-5), math.rad(0), math.rad(0)), .5) | |
| 1205 | RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.4, -.5) * angles(math.rad(50), math.rad(0), math.rad(-20)), 0.5) | |
| 1206 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-50), math.rad(0), math.rad(-50)), 0.5) | |
| 1207 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(10)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3) | |
| 1208 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(-10)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3) | |
| 1209 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-4, .5, -10) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.5) | |
| 1210 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3) | |
| 1211 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3) | |
| 1212 | end | |
| 1213 | end | |
| 1214 | Disappear() | |
| 1215 | so("Disappear",Handle,1,.8)
| |
| 1216 | attack = false | |
| 1217 | end | |
| 1218 | ||
| 1219 | mouse.Button1Down:connect(function() | |
| 1220 | if attack == false and attacktype == 1 then | |
| 1221 | attacktype = 2 | |
| 1222 | attackone() | |
| 1223 | elseif attack == false and attacktype == 2 then | |
| 1224 | attacktype = 3 | |
| 1225 | attacktwo() | |
| 1226 | elseif attack == false and attacktype == 3 then | |
| 1227 | attacktype = 1 | |
| 1228 | attackthree() | |
| 1229 | end | |
| 1230 | end) | |
| 1231 | ||
| 1232 | mouse.KeyDown:connect(function(k) | |
| 1233 | k = k:lower() | |
| 1234 | if attack == false and k == ' ' and Anim == "Jump" then | |
| 1235 | hovering = true | |
| 1236 | Hover() | |
| 1237 | elseif k == ' ' and hovering == true then | |
| 1238 | hovering = false | |
| 1239 | elseif attack == false and k == 'q' then | |
| 1240 | FireProjectiles() | |
| 1241 | elseif attack == false and k == 'e' then | |
| 1242 | EnergyBurst() | |
| 1243 | elseif attack == false and k == 'r' then | |
| 1244 | Wave() | |
| 1245 | end | |
| 1246 | end) | |
| 1247 | ||
| 1248 | local sine = 0 | |
| 1249 | local change = 1 | |
| 1250 | local val = 0 | |
| 1251 | local idle = 0 | |
| 1252 | local donum = 0 | |
| 1253 | local donum2 = 0 | |
| 1254 | ||
| 1255 | while true do | |
| 1256 | swait() | |
| 1257 | sine = sine + change | |
| 1258 | local torvel = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude | |
| 1259 | local velderp = RootPart.Velocity.y | |
| 1260 | hitfloor, posfloor = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character) | |
| 1261 | if equipped == true or equipped == false then | |
| 1262 | if attack == false then | |
| 1263 | idle = idle + 1 | |
| 1264 | else | |
| 1265 | idle = 0 | |
| 1266 | end | |
| 1267 | if idle >= 500 then | |
| 1268 | if attack == false then | |
| 1269 | end | |
| 1270 | end | |
| 1271 | if donum2 >= .5 then | |
| 1272 | handidle = true | |
| 1273 | elseif donum2 <= 0 then | |
| 1274 | handidle = false | |
| 1275 | end | |
| 1276 | if handidle == false then | |
| 1277 | donum2 = donum2 + 0.003 | |
| 1278 | else | |
| 1279 | donum2 = donum2 - 0.003 | |
| 1280 | end | |
| 1281 | donum = donum + 0.003 | |
| 1282 | if RootPart.Velocity.y > 1 and hitfloor == nil then | |
| 1283 | Anim = "Jump" | |
| 1284 | if attack == false then | |
| 1285 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(5), math.rad(0), math.rad(0)), .3) | |
| 1286 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(-10), math.rad(0), math.rad(0)), .3) | |
| 1287 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(30)), 0.3) | |
| 1288 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-30)), 0.3) | |
| 1289 | RH.C0 = clerp(RH.C0, cf(1, -.8, -.5) * angles(math.rad(0), math.rad(90), math.rad(-20)), .3) | |
| 1290 | LH.C0 = clerp(LH.C0, cf(-1, -1, -.3) * angles(math.rad(0), math.rad(-90), math.rad(30)), .3) | |
| 1291 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(20) - donum2 / 1), 0.3) | |
| 1292 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum / .01, math.rad(0)), 0.3) | |
| 1293 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum / .03, math.rad(0)), 0.3) | |
| 1294 | end | |
| 1295 | elseif RootPart.Velocity.y < -1 and hitfloor == nil then | |
| 1296 | Anim = "Fall" | |
| 1297 | if attack == false then | |
| 1298 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3) | |
| 1299 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .3) | |
| 1300 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), 0.3) | |
| 1301 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), 0.3) | |
| 1302 | RH.C0 = clerp(RH.C0, cf(1, -.7, -.5) * angles(math.rad(0), math.rad(90), math.rad(-20)), .3) | |
| 1303 | LH.C0 = clerp(LH.C0, cf(-1, -.9, -.3) * angles(math.rad(0), math.rad(-90), math.rad(30)), .3) | |
| 1304 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(20) - donum2 / 1), 0.3) | |
| 1305 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum / .01, math.rad(0)), 0.3) | |
| 1306 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum / .03, math.rad(0)), 0.3) | |
| 1307 | end | |
| 1308 | elseif torvel < 1 and hitfloor ~= nil then | |
| 1309 | Anim = "Idle" | |
| 1310 | if attack == false then | |
| 1311 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-30)), .3) | |
| 1312 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(5), math.rad(0), math.rad(30)), .3) | |
| 1313 | RW.C0 = clerp(RW.C0, CFrame.new(.8, 0.5, -.7) * angles(math.rad(85), math.rad(0), math.rad(-70)), 0.3) | |
| 1314 | LW.C0 = clerp(LW.C0, CFrame.new(-.8, 0.5, -.3) * angles(math.rad(70), math.rad(0), math.rad(70)), 0.3) | |
| 1315 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3) | |
| 1316 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3) | |
| 1317 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(20) - donum2 / 1), 0.3) | |
| 1318 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum / .01, math.rad(0)), 0.3) | |
| 1319 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum / .03, math.rad(0)), 0.3) | |
| 1320 | end | |
| 1321 | elseif torvel > 2 and hitfloor ~= nil then | |
| 1322 | Anim = "Walk" | |
| 1323 | if attack == false then | |
| 1324 | change = 3 | |
| 1325 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(5), math.rad(0), math.rad(0)), .3) | |
| 1326 | TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(5), math.rad(0), math.rad(0)), .3) | |
| 1327 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(40) * math.cos(sine / 10), math.rad(0), math.rad(5)), 0.3) | |
| 1328 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-40) * math.cos(sine / 10), math.rad(0), math.rad(-5)), 0.3) | |
| 1329 | RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-2), math.rad(0), math.rad(0)), .3) | |
| 1330 | LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2), math.rad(0), math.rad(0)), .3) | |
| 1331 | Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(20), math.rad(0), math.rad(20) - donum2 / 1), 0.3) | |
| 1332 | Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum / .01, math.rad(0)), 0.3) | |
| 1333 | Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum / .03, math.rad(0)), 0.3) | |
| 1334 | end | |
| 1335 | end | |
| 1336 | end | |
| 1337 | if #Effects > 0 then | |
| 1338 | for e = 1, #Effects do | |
| 1339 | if Effects[e] ~= nil then | |
| 1340 | local Thing = Effects[e] | |
| 1341 | if Thing ~= nil then | |
| 1342 | local Part = Thing[1] | |
| 1343 | local Mode = Thing[2] | |
| 1344 | local Delay = Thing[3] | |
| 1345 | local IncX = Thing[4] | |
| 1346 | local IncY = Thing[5] | |
| 1347 | local IncZ = Thing[6] | |
| 1348 | if Thing[1].Transparency <= 1 then | |
| 1349 | if Thing[2] == "Block1" then | |
| 1350 | Thing[1].CFrame = Thing[1].CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) | |
| 1351 | Mesh = Thing[1].Mesh | |
| 1352 | Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6]) | |
| 1353 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
| 1354 | elseif Thing[2] == "Cylinder" then | |
| 1355 | Mesh = Thing[1].Mesh | |
| 1356 | Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6]) | |
| 1357 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
| 1358 | elseif Thing[2] == "Blood" then | |
| 1359 | Mesh = Thing[7] | |
| 1360 | Thing[1].CFrame = Thing[1].CFrame * cf(0, .5, 0) | |
| 1361 | Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6]) | |
| 1362 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
| 1363 | elseif Thing[2] == "Elec" then | |
| 1364 | Mesh = Thing[1].Mesh | |
| 1365 | Mesh.Scale = Mesh.Scale + vt(Thing[7], Thing[8], Thing[9]) | |
| 1366 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
| 1367 | elseif Thing[2] == "Disappear" then | |
| 1368 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
| 1369 | end | |
| 1370 | else | |
| 1371 | Part.Parent = nil | |
| 1372 | table.remove(Effects, e) | |
| 1373 | end | |
| 1374 | end | |
| 1375 | end | |
| 1376 | end | |
| 1377 | end | |
| 1378 | end |