SHOW:
|
|
- or go back to the newest paste.
| 1 | --[[ | |
| 2 | @Name: Mortis | |
| 3 | @Author: iKrypto | |
| 4 | @Date: 2/23/17 | |
| 5 | @Engine: Lua 5.1 | |
| 6 | ||
| 7 | @Notes: | |
| 8 | - Finished on 2/23/17 | |
| 9 | - Get whitelisted to run this by Darkus_Theory or it will just crash you lol (Antileak!) | |
| 10 | - Or just be in https://www.roblox.com/My/Groups.aspx?gid=971711 this will also allow you to run it | |
| 11 | ||
| 12 | @Movelist: | |
| 13 | ~E: Apply DOT | |
| 14 | ~R: Teleport | |
| 15 | ~Q: Increase DOT damage | |
| 16 | ~F: AoE ULT (Applies DOT to everyone in zone) | |
| 17 | ~X: SurrenderToMadness > Increases Damage Output but also damages you overtime for increasing percents (Not finished) | |
| 18 | ~C: Haunt > Increases Damage for 8 seconds on your target | |
| 19 | ~T: Target MousePlayer | |
| 20 | ~Y: Target Self | |
| 21 | ||
| 22 | [Targetting anyone will make these abilities go right to them, therefore, target = easy button] | |
| 23 | ||
| 24 | ]] | |
| 25 | ||
| 26 | wait(0.003) | |
| 27 | --print'starting script...' | |
| 28 | ||
| 29 | local startLoad = tick() | |
| 30 | script.Name = " Mortis" | |
| 31 | ||
| 32 | local Player = game:service("Players").LocalPlayer
| |
| 33 | repeat wait() until Player.Character ~= nil | |
| 34 | ||
| 35 | -- todo: | |
| 36 | ||
| 37 | local plrs = game:GetService('Players')
| |
| 38 | local plr = plrs.LocalPlayer | |
| 39 | local char = plr.Character | |
| 40 | local bp = plr.Backpack | |
| 41 | local hum = char.Humanoid | |
| 42 | local T = char.Torso | |
| 43 | local Character = char | |
| 44 | local Humanoid = hum | |
| 45 | local torso = char.Torso | |
| 46 | local kick = false | |
| 47 | local Char = Player.Character | |
| 48 | local char = Char | |
| 49 | local mouse = Player:GetMouse() | |
| 50 | local Effects = {}
| |
| 51 | local Backpack = Player.Backpack | |
| 52 | local PlayerGui = Player.PlayerGui | |
| 53 | local Camera = workspace.CurrentCamera | |
| 54 | local damageAmp = 200000000 | |
| 55 | local Humanoid = Char:WaitForChild("Humanoid")
| |
| 56 | local Torso = Char:WaitForChild("Torso")
| |
| 57 | local Head = Char:WaitForChild("Head")
| |
| 58 | local ra = Char:WaitForChild("Right Arm")
| |
| 59 | local la = Char:WaitForChild("Left Arm")
| |
| 60 | local rl = Char:WaitForChild("Right Leg")
| |
| 61 | local ll = Char:WaitForChild("Left Leg")
| |
| 62 | local rs = Torso:WaitForChild("Right Shoulder")
| |
| 63 | local ls = Torso:WaitForChild("Left Shoulder")
| |
| 64 | local rh = Torso:WaitForChild("Right Hip")
| |
| 65 | local lh = Torso:WaitForChild("Left Hip")
| |
| 66 | local neck = Torso:WaitForChild("Neck")
| |
| 67 | local rootpart = Char:WaitForChild("HumanoidRootPart")
| |
| 68 | local rj = rootpart:WaitForChild("RootJoint")
| |
| 69 | local anim = Char:WaitForChild("Animate")
| |
| 70 | local RunService = game:GetService("RunService")
| |
| 71 | local UIA = game:GetService("UserInputService")
| |
| 72 | local CF = CFrame.new | |
| 73 | local CA = CFrame.Angles | |
| 74 | local FEA = CFrame.fromEulerAnglesXYZ | |
| 75 | local Create = LoadLibrary("RbxUtility").Create
| |
| 76 | local FAA = CFrame.fromAxisAngle | |
| 77 | local V3 = Vector3.new | |
| 78 | local CN = Color3.new | |
| 79 | local Ice = Instance.new | |
| 80 | local BC = BrickColor.new | |
| 81 | local UD2 = UDim2.new | |
| 82 | local C3 = Color3.new | |
| 83 | local MR = math.rad | |
| 84 | local MP = math.pi | |
| 85 | local MD = math.deg | |
| 86 | local MH = math.huge | |
| 87 | local MS = math.sin | |
| 88 | local MC = math.cos | |
| 89 | local MT = math.tan | |
| 90 | local MAS = math.asin | |
| 91 | local MAC = math.acos | |
| 92 | local MAT = math.atan | |
| 93 | local Keys = {}
| |
| 94 | local sine = 0 | |
| 95 | local change = 1.1 | |
| 96 | local components = CF().components | |
| 97 | local State = "Calm" | |
| 98 | local Slash = false | |
| 99 | local Sheathed = false | |
| 100 | local H=true | |
| 101 | local it = Instance.new | |
| 102 | local vt = Vector3.new | |
| 103 | local cf = CFrame.new | |
| 104 | local euler = CFrame.fromEulerAnglesXYZ | |
| 105 | local angles = CFrame.Angles | |
| 106 | local combocounter = 0 | |
| 107 | local Stealthed = false | |
| 108 | local tMesh,asset = "rbxasset://fonts/torso.mesh","rbxassetid://" | |
| 109 | local meshes,sounds = {blast = 20329976,ring = 3270017,spike = 1033714,cone = 1082802,crown = 20329976,cloud = 1095708,diamond = 9756362},{laser = 166196553;gun = 131070686;falling = 138206037;hit = 146163493;twirl = 46299547;explosion = 142070127}
| |
| 110 | local Intellect,Haste,damage = 2,.2,0 | |
| 111 | local stats,Parts,Cooldowns,Damage,recountData,parts,Damaged,Ally,Buffs,canBeKillt,hold = {},{},{},{},{},{},{},{},{},{},{}
| |
| 112 | local Ctrl,Cam,lastclick,btimer = false,game.Workspace:FindFirstChild('currentCamera'),tick(),0
| |
| 113 | game:service'Lighting'.Outlines = false | |
| 114 | Cha = char | |
| 115 | it=Instance.new | |
| 116 | vt=Vector3.new | |
| 117 | cn=CFrame.new | |
| 118 | euler=CFrame.fromEulerAnglesXYZ | |
| 119 | angles=CFrame.Angles | |
| 120 | -- if leaked, don't edit this value | |
| 121 | -- it lets other scripts know this is | |
| 122 | -- a linked script so that you can do | |
| 123 | -- extra features such as slowing, stunning | |
| 124 | -- buffing, healing etc. Thanks. | |
| 125 | local iAmDarkusScript = Instance.new('Model')
| |
| 126 | iAmDarkusScript.Parent = hum | |
| 127 | iAmDarkusScript.Name = 'Property of Darkus_Theory' | |
| 128 | Runes = {"rbxassetid://200326272", "rbxassetid://200326330", "rbxassetid://200326394", "rbxassetid://200326465", "rbxassetid://200326593", "rbxassetid://200326667", "rbxassetid://200326796", "rbxassetid://200326880", "rbxassetid://200327025", "rbxassetid://200327088", "rbxassetid://200327279", "rbxassetid://200327394", "rbxassetid://200327439", "rbxassetid://200327517", "rbxassetid://200327625", "rbxassetid://200327725", "rbxassetid://200327804", "rbxassetid://200327922", "rbxassetid://200327991", "rbxassetid://200328063", "rbxassetid://200328131", "rbxassetid://200328211", "rbxassetid://200328319", "rbxassetid://200328365", "rbxassetid://200328401", "rbxassetid://200328461", "rbxassetid://200328530", "rbxassetid://200328645", "rbxassetid://200328713"}
| |
| 129 | ContentProvider = game:GetService("ContentProvider")
| |
| 130 | for _,v in pairs(Runes) do | |
| 131 | ContentProvider:Preload(v) | |
| 132 | end | |
| 133 | humanoid = char:findFirstChild("Humanoid")
| |
| 134 | hum = humanoid | |
| 135 | torso = char:findFirstChild("Torso")
| |
| 136 | head = char.Head | |
| 137 | ra = char:findFirstChild("Right Arm")
| |
| 138 | ra.CanCollide = true | |
| 139 | la = char:findFirstChild("Left Arm")
| |
| 140 | la.CanCollide = true | |
| 141 | rl = char:findFirstChild("Right Leg")
| |
| 142 | rl.CanCollide = true | |
| 143 | ll = char:findFirstChild("Left Leg")
| |
| 144 | ll.CanCollide = true | |
| 145 | rs = torso:findFirstChild("Right Shoulder")
| |
| 146 | ls = torso:findFirstChild("Left Shoulder")
| |
| 147 | rh = torso:findFirstChild("Right Hip")
| |
| 148 | lh = torso:findFirstChild("Left Hip")
| |
| 149 | neck = torso:findFirstChild("Neck")
| |
| 150 | rootpart = char:findFirstChild("HumanoidRootPart")
| |
| 151 | rj = rootpart:findFirstChild("RootJoint")
| |
| 152 | anim = char:findFirstChild("Animate")
| |
| 153 | camera = workspace.CurrentCamera | |
| 154 | plr.CameraMaxZoomDistance = math.huge | |
| 155 | for _,x in pairs(char:children()) do | |
| 156 | if x:IsA('Shirt') then x:remove() end
| |
| 157 | if x:IsA('Pants') then x:remove() end
| |
| 158 | if x:IsA('Accessory') then x:remove() end
| |
| 159 | end | |
| 160 | pcall(function()anim:Destroy()end) | |
| 161 | pcall(function()char["Health"]:Destroy() end) | |
| 162 | pcall(function()humanoid.Animator:Destroy()end) | |
| 163 | pcall(function()head.face:Destroy()end) | |
| 164 | local rjo = rootpart.RootJoint:Clone() | |
| 165 | newWeld = function(wp0, wp1, wc0x, wc0y, wc0z) | |
| 166 | local wld = Instance.new("Weld", wp1)
| |
| 167 | wld.Part0 = wp0 | |
| 168 | wld.Part1 = wp1 | |
| 169 | wld.C0 = CFrame.new(wc0x, wc0y, wc0z) | |
| 170 | return wld | |
| 171 | end | |
| 172 | ||
| 173 | local theme_songs = {{300612771,1}}
| |
| 174 | print('Theme songs: '..#theme_songs)
| |
| 175 | local sund = Instance.new('Sound', head)
| |
| 176 | sund.SoundId = ''--601852677 (Pumped up kicks) --196838861(libera me from hell) --144390446 (mememe) --276298931 (ending theme gurren lagann) -- 274555117 (gurren lagann midway music) -- 335167645 (one punch man theme saitama) -- 337732102 (Another one punch man song) -- 441375145 ( gurren lagann pretty sad song) | |
| 177 | local ggg = theme_songs[math.random(1,#theme_songs)] | |
| 178 | sund.SoundId = 'rbxassetid://'..ggg[1] | |
| 179 | sund.Pitch = ggg[2] | |
| 180 | sund.Volume = .35 | |
| 181 | sund.MaxDistance = 100 | |
| 182 | sund.Name = 'Mesh' | |
| 183 | sund.Changed:connect(function(a) | |
| 184 | sund.Name = tick() | |
| 185 | if a == 'Volume' then | |
| 186 | sund.Volume = 1 | |
| 187 | elseif a=='MaxDistance' then | |
| 188 | sund.MaxDistance = 200 | |
| 189 | end | |
| 190 | end) | |
| 191 | ||
| 192 | ||
| 193 | local berserk = false | |
| 194 | local keepPlaying = true | |
| 195 | ||
| 196 | coroutine.wrap(function() | |
| 197 | wait(5) | |
| 198 | while not berserk do | |
| 199 | if not sund.Playing and keepPlaying then | |
| 200 | local selected = theme_songs[math.random(1,#theme_songs)] | |
| 201 | sund:Stop() | |
| 202 | sund.SoundId = 'rbxassetid://'..selected[1] | |
| 203 | sund.Pitch = selected[2] | |
| 204 | wait() | |
| 205 | sund:Play() | |
| 206 | end | |
| 207 | wait() | |
| 208 | end | |
| 209 | end)() | |
| 210 | ||
| 211 | Ally[hum] = true | |
| 212 | ||
| 213 | local mult = 1 | |
| 214 | ||
| 215 | la.Size = la.Size * mult | |
| 216 | ra.Size = ra.Size * mult | |
| 217 | ll.Size = ll.Size * mult | |
| 218 | rl.Size = rl.Size * mult | |
| 219 | torso.Size = torso.Size * mult | |
| 220 | head.Size = head.Size * mult | |
| 221 | rootpart.Size = rootpart.Size * mult | |
| 222 | ||
| 223 | local lm = newWeld(torso, la, -1.5*mult, 0.5*mult, 0) | |
| 224 | lm.C1 = CFrame.new(0, 0.5*mult, 0) | |
| 225 | local rm = newWeld(torso, ra, 1.5*mult, 0.5*mult, 0) | |
| 226 | rm.C1 = CFrame.new(0, 0.5*mult, 0) | |
| 227 | local neck = newWeld(torso, head, 0, mult, 0) | |
| 228 | local llegm = newWeld(torso, ll, -0.5*mult, -1*mult, 0) | |
| 229 | llegm.C1 = CFrame.new(0, mult, 0) | |
| 230 | local rlegm = newWeld(torso, rl, 0.5*mult, -1*mult, 0) | |
| 231 | rlegm.C1 = CFrame.new(0, mult, 0) | |
| 232 | local rj = rjo:Clone() | |
| 233 | rj.Part0 = rootpart | |
| 234 | rj.Part1 = torso | |
| 235 | rj.Parent = rootpart | |
| 236 | neck.C1 = CFrame.new(0, -(mult/2), 0) | |
| 237 | neckc0 = neck.C0 | |
| 238 | rsc0 = rm.C0 | |
| 239 | lsc0 = lm.C0 | |
| 240 | llc0 = llegm.C0 | |
| 241 | rlc0 = rlegm.C0 | |
| 242 | rootc0 = rj.C0 | |
| 243 | rootc1 = rj.C1 | |
| 244 | wait() | |
| 245 | ||
| 246 | local shirt = Instance.new('Shirt', char)
| |
| 247 | shirt.Name = 'Wild Gladiator\'s Felweave Raiment' | |
| 248 | shirt.ShirtTemplate = 'http://www.roblox.com/asset/?id=166273878' | |
| 249 | local pants = Instance.new('Pants', char)
| |
| 250 | pants.Name = 'Wild Gladiator\'s Felweave Trousers' | |
| 251 | pants.PantsTemplate = 'http://www.roblox.com/asset/?id=166273938' | |
| 252 | local h = Instance.new('Part', char)
| |
| 253 | h.Name = 'DK Hood' | |
| 254 | h.TopSurface,h.BottomSurface = 0,0 | |
| 255 | h.Size = Vector3.new(2.3*mult, 2.3*mult, 2.3*mult) | |
| 256 | h.CFrame = torso.CFrame | |
| 257 | h.CanCollide = false | |
| 258 | h.BrickColor = BrickColor.new('Really black')
| |
| 259 | h:BreakJoints() | |
| 260 | local m = Instance.new('SpecialMesh', h)
| |
| 261 | m.Name = "Wild Gladiator's Felweave Cowl" | |
| 262 | m.MeshType = 'FileMesh' | |
| 263 | m.Scale = Vector3.new(mult, mult, mult) | |
| 264 | m.MeshId = 'http://www.roblox.com/asset/?id=16952952' | |
| 265 | m.VertexColor = Vector3.new(1,1,1) | |
| 266 | local Weld = Instance.new("Weld")
| |
| 267 | Weld.Part0 = char.Head | |
| 268 | Weld.Part1 = h | |
| 269 | Weld.Parent = char.Head | |
| 270 | Weld.C0 = CFrame.new(0, .3*mult, 0) | |
| 271 | ||
| 272 | local holdah = char | |
| 273 | local Aur = Instance.new('Part')
| |
| 274 | Aur.Transparency = .55 | |
| 275 | - | Aur.BrickColor = BrickColor.new'Lime green' |
| 275 | + | Aur.BrickColor = BrickColor.new'Really red' |
| 276 | Aur.Name = 'Aura' | |
| 277 | Aur.Locked = true | |
| 278 | Aur.Size = Vector3.new(1.05*mult,2.05*mult,1.05*mult) | |
| 279 | Aur.Material = 'Neon' | |
| 280 | ||
| 281 | local asdddd = {ra,la,rl,ll}
| |
| 282 | ||
| 283 | for q,e in next, asdddd do | |
| 284 | local asdfert = Aur:Clone() | |
| 285 | asdfert.Parent = holdah | |
| 286 | local wlder = Instance.new('Weld')
| |
| 287 | wlder.Parent = holdah | |
| 288 | wlder.Part0 = asdfert | |
| 289 | wlder.Part1 = e | |
| 290 | end | |
| 291 | ||
| 292 | Aur.Parent = holdah | |
| 293 | Aur.Size = Vector3.new(2.05*mult, 2.05*mult, 1.05*mult) | |
| 294 | local w = Instance.new('Weld')
| |
| 295 | w.Parent = holdah | |
| 296 | w.Part0 = torso | |
| 297 | w.Part1 = Aur | |
| 298 | ||
| 299 | local fakehead = head:Clone() | |
| 300 | fakehead.Parent = holdah | |
| 301 | fakehead.Transparency = .55 | |
| 302 | - | fakehead.BrickColor = BrickColor.new'Lime green' |
| 302 | + | fakehead.BrickColor = BrickColor.new'Really red' |
| 303 | fakehead.Name = 'Aura' | |
| 304 | fakehead.Size = Vector3.new(1.05*mult,1.05*mult,1.05*mult) | |
| 305 | fakehead.Material = 'Neon' | |
| 306 | local w = Instance.new('Weld')
| |
| 307 | w.Parent = holdah | |
| 308 | w.Part0 = head | |
| 309 | w.Part1 = fakehead | |
| 310 | ||
| 311 | local h = Instance.new('Part', char)
| |
| 312 | h.Name = 'DK HoodM' | |
| 313 | h.TopSurface,h.BottomSurface = 0,0 | |
| 314 | h.Size = Vector3.new(2.3*mult, 2.3*mult, 2.3*mult) | |
| 315 | h.CFrame = torso.CFrame | |
| 316 | h.CanCollide = false | |
| 317 | h.Parent = holdah | |
| 318 | h.Transparency = .55 | |
| 319 | - | h.BrickColor = BrickColor.new'Lime green' |
| 319 | + | h.BrickColor = BrickColor.new'Really red' |
| 320 | h.Name = 'Aura' | |
| 321 | h.Material = 'Neon' | |
| 322 | h:BreakJoints() | |
| 323 | local m = Instance.new('SpecialMesh', h)
| |
| 324 | m.Name = "Wild Gladiator's Felweave CowlM" | |
| 325 | m.MeshType = 'FileMesh' | |
| 326 | m.Scale = Vector3.new(mult+.06, mult+.06, mult+.06) | |
| 327 | m.MeshId = 'http://www.roblox.com/asset/?id=16952952' | |
| 328 | m.VertexColor = Vector3.new(1,1,1) | |
| 329 | local Weld = Instance.new("Weld")
| |
| 330 | Weld.Part0 = char.Head | |
| 331 | Weld.Part1 = h | |
| 332 | Weld.Parent = char.Head | |
| 333 | Weld.C0 = CFrame.new(0, .3*mult, 0) | |
| 334 | ||
| 335 | ArtificialHB = Instance.new("BindableEvent", script)
| |
| 336 | ArtificialHB.Name = "Heartbeat" | |
| 337 | ||
| 338 | script:WaitForChild("Heartbeat")
| |
| 339 | ||
| 340 | frame = 1 / 60 | |
| 341 | tf = 0 | |
| 342 | allowframeloss = true | |
| 343 | tossremainder = false | |
| 344 | lastframe = tick() | |
| 345 | script.Heartbeat:Fire() | |
| 346 | ||
| 347 | game:GetService("RunService").Heartbeat:connect(function(s, p)
| |
| 348 | tf = tf + s | |
| 349 | if tf >= frame then | |
| 350 | if allowframeloss then | |
| 351 | script.Heartbeat:Fire() | |
| 352 | lastframe = tick() | |
| 353 | else | |
| 354 | for i = 1, math.floor(tf / frame) do | |
| 355 | script.Heartbeat:Fire() | |
| 356 | end | |
| 357 | lastframe = tick() | |
| 358 | end | |
| 359 | if tossremainder then | |
| 360 | tf = 0 | |
| 361 | else | |
| 362 | tf = tf - frame * math.floor(tf / frame) | |
| 363 | end | |
| 364 | end | |
| 365 | end) | |
| 366 | ||
| 367 | function swait(num) | |
| 368 | if num == 0 or num == nil then | |
| 369 | ArtificialHB.Event:wait() | |
| 370 | else | |
| 371 | for i = 0, num do | |
| 372 | ArtificialHB.Event:wait() | |
| 373 | end | |
| 374 | end | |
| 375 | end | |
| 376 | ||
| 377 | ||
| 378 | function Creat(Instanc,prop) | |
| 379 | local p=Instance.new(Instanc) | |
| 380 | for i,v in pairs(prop) do | |
| 381 | p[i]=v | |
| 382 | end | |
| 383 | return p | |
| 384 | end | |
| 385 | ||
| 386 | function weldya(thing1,thing2) | |
| 387 | local a = Instance.new('Weld');
| |
| 388 | pcall(function() | |
| 389 | --a.Parent = thing1; | |
| 390 | a.Part0 = thing1; | |
| 391 | a.Part1 = thing2; | |
| 392 | end) | |
| 393 | return a | |
| 394 | end | |
| 395 | ||
| 396 | function Dmg() | |
| 397 | local partofdeath = Instance.new'Part' | |
| 398 | local function CreateRegion3FromLocAndSize(Position, Size) | |
| 399 | local SizeOffset = Size/2 | |
| 400 | local Point1 = Position - SizeOffset | |
| 401 | local Point2 = Position + SizeOffset | |
| 402 | return Region3.new(Point1, Point2) | |
| 403 | end | |
| 404 | local reg = CreateRegion3FromLocAndSize(partofdeath.Position, partofdeath.Size) | |
| 405 | for i, v in pairs(game.Workspace:FindPartsInRegion3WithIgnoreList(reg, char:GetChildren(), 100)) do | |
| 406 | spawn(function() | |
| 407 | end) | |
| 408 | end | |
| 409 | end | |
| 410 | ||
| 411 | function CreateSound(id, par, vol, pit) | |
| 412 | coroutine.resume(coroutine.create(function() | |
| 413 | local sou = Instance.new("Sound", par or char)
| |
| 414 | sou.Volume = vol | |
| 415 | sou.Pitch = pit or 1 | |
| 416 | sou.SoundId = id | |
| 417 | swait() | |
| 418 | sou:play() | |
| 419 | game:GetService("Debris"):AddItem(sou, 6)
| |
| 420 | end)) | |
| 421 | end | |
| 422 | ||
| 423 | local pony = Instance.new('PointLight', Torso)
| |
| 424 | pony.Name = 'LePontyPontz' | |
| 425 | pony.Brightness = 1 | |
| 426 | pony.Color = Color3.new(0, 0, 0) | |
| 427 | ||
| 428 | coroutine.wrap(function() | |
| 429 | game:service'RunService'.Stepped:connect(function() | |
| 430 | pony.Range = 8+math.abs(math.sin(tick()/2))*4 | |
| 431 | end) | |
| 432 | end)() | |
| 433 | ||
| 434 | local function setupPart(part) | |
| 435 | part.Anchored = true | |
| 436 | part.FormFactor = 'Custom' | |
| 437 | part.CanCollide = false | |
| 438 | part.BrickColor = BrickColor.new("Sea green")
| |
| 439 | part.Material = "Neon" | |
| 440 | part.TopSurface = 'SmoothNoOutlines' | |
| 441 | part.BottomSurface = 'SmoothNoOutlines' | |
| 442 | part.FrontSurface = 'SmoothNoOutlines' | |
| 443 | part.BackSurface = 'SmoothNoOutlines' | |
| 444 | part.LeftSurface = 'SmoothNoOutlines' | |
| 445 | part.RightSurface = 'SmoothNoOutlines' | |
| 446 | end | |
| 447 | ||
| 448 | ||
| 449 | function BlockEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type) | |
| 450 | local prt = CreatePart(char, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new()) | |
| 451 | prt.Anchored = true | |
| 452 | prt.CFrame = cframe | |
| 453 | local msh = CreateMesh("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
| |
| 454 | game:GetService("Debris"):AddItem(prt, 10)
| |
| 455 | if Type == 1 or Type == nil then | |
| 456 | table.insert(Effects, {
| |
| 457 | prt, | |
| 458 | "Block1b", | |
| 459 | delay, | |
| 460 | x3, | |
| 461 | y3, | |
| 462 | z3, | |
| 463 | msh | |
| 464 | }) | |
| 465 | elseif Type == 2 then | |
| 466 | table.insert(Effects, {
| |
| 467 | prt, | |
| 468 | "Block2b", | |
| 469 | delay, | |
| 470 | x3, | |
| 471 | y3, | |
| 472 | z3, | |
| 473 | msh | |
| 474 | }) | |
| 475 | end | |
| 476 | end | |
| 477 | ||
| 478 | ||
| 479 | function getDPS(override) | |
| 480 | local crit = math.random(1,15) | |
| 481 | local DPS = ((stats.Intellect) * (crit > 11 and stats.CriticalStrikeBonus or 1.2)) | |
| 482 | DPS = math.ceil(DPS) | |
| 483 | lastdps = tick() | |
| 484 | if berserk then DPS = DPS * 2 end | |
| 485 | if cheating then DPS = DPS * 1.5 end | |
| 486 | if damageAmp>0 then DPS=DPS*damageAmp end | |
| 487 | return DPS,((crit > 13) and true or false) | |
| 488 | end | |
| 489 | ||
| 490 | function newStat(stat, typeof, value) | |
| 491 | if stats[stat] then return end | |
| 492 | stats[stat] = value | |
| 493 | return stats[stat] | |
| 494 | end | |
| 495 | ||
| 496 | local function Implode(CF,Color) | |
| 497 | local cf = CF | |
| 498 | local f = Instance.new("Part",Character)
| |
| 499 | f.BrickColor = Color | |
| 500 | f.Size = Vector3.new(1,1,1) | |
| 501 | f.Anchored = true | |
| 502 | f.Locked = true | |
| 503 | f.CanCollide = false | |
| 504 | f.TopSurface = 0 | |
| 505 | f.Transparency = 1 | |
| 506 | f.BottomSurface = 0 | |
| 507 | f.CFrame = cf | |
| 508 | local sm = Instance.new("SpecialMesh",f)
| |
| 509 | sm.MeshId = "http://www.roblox.com/asset/?id=3270017" | |
| 510 | sm.Scale = Vector3.new(30,30,30) | |
| 511 | coroutine.wrap(function() | |
| 512 | for i = 1,10 do | |
| 513 | f.Transparency = f.Transparency -0.1 | |
| 514 | sm.Scale = sm.Scale - Vector3.new(3,3,3) | |
| 515 | swait() | |
| 516 | end | |
| 517 | f:Destroy() | |
| 518 | end)() | |
| 519 | local ax = Instance.new("Part",Character)
| |
| 520 | ax.Size = Vector3.new(30,30,30) | |
| 521 | ax.TopSurface = 0 | |
| 522 | ax.BottomSurface = 0 | |
| 523 | ax.Transparency = 0 | |
| 524 | ax.Locked = true | |
| 525 | ax.BrickColor = Color | |
| 526 | ax.Shape = "Ball" | |
| 527 | ax.CanCollide = false | |
| 528 | ax.CFrame = cf | |
| 529 | ax.Anchored = true | |
| 530 | ax.Transparency = 1 | |
| 531 | coroutine.wrap(function() | |
| 532 | for i = 1,10 do | |
| 533 | ax.Size = ax.Size - Vector3.new(math.random(1,3)+1,math.random(1,3)+1,math.random(1,3)+1) | |
| 534 | ax.Transparency = ax.Transparency -0.1 | |
| 535 | ax.CFrame = cf | |
| 536 | swait() | |
| 537 | end | |
| 538 | ax:Destroy() | |
| 539 | end)() | |
| 540 | end | |
| 541 | local function Explode(CF,Color,SMM,BBoom) | |
| 542 | local cf = CF | |
| 543 | local f = Instance.new("Part",Character)
| |
| 544 | f.BrickColor = Color | |
| 545 | f.Size = Vector3.new(5,1,5) | |
| 546 | f.Anchored = true | |
| 547 | f.Locked = true | |
| 548 | f.CanCollide = false | |
| 549 | f.TopSurface = 0 | |
| 550 | f.BottomSurface = 0 | |
| 551 | f.CFrame = cf | |
| 552 | local sm = Instance.new("SpecialMesh",f)
| |
| 553 | sm.MeshId = "http://www.roblox.com/asset/?id=3270017" | |
| 554 | sm.Scale = Vector3.new(5,5,5) | |
| 555 | coroutine.wrap(function() | |
| 556 | for i = 1,20 do | |
| 557 | f.Transparency = f.Transparency +0.05 | |
| 558 | sm.Scale = sm.Scale + Vector3.new(10,10,10) | |
| 559 | swait() | |
| 560 | end | |
| 561 | f:Destroy() | |
| 562 | end)() | |
| 563 | if BBoom then do | |
| 564 | local zs = BBoom | |
| 565 | local ax = Instance.new("Part",Character)
| |
| 566 | ax.Size = Vector3.new(1,1,1) | |
| 567 | ax.TopSurface = 0 | |
| 568 | ax.BottomSurface = 0 | |
| 569 | ax.Transparency = 0 | |
| 570 | ax.Locked = true | |
| 571 | ax.BrickColor = Color | |
| 572 | ax.Shape = "Ball" | |
| 573 | ax.CanCollide = false | |
| 574 | ax.CFrame = zs | |
| 575 | ax.Anchored = true | |
| 576 | local SMMx = Instance.new("SpecialMesh",ax)
| |
| 577 | SMMx.MeshId = "http://www.roblox.com/asset/?id=1323306" | |
| 578 | SMMx.Scale = Vector3.new(1,1,1) | |
| 579 | coroutine.wrap(function() | |
| 580 | for i = 1,20 do | |
| 581 | SMMx.Scale = SMMx.Scale + Vector3.new(math.random(1,3)+1,math.random(1,3)+1,math.random(1,3)+1) | |
| 582 | ax.Transparency = ax.Transparency +0.05 | |
| 583 | ax.CFrame = zs | |
| 584 | swait() | |
| 585 | end | |
| 586 | ax:Destroy() | |
| 587 | end)() | |
| 588 | end | |
| 589 | end | |
| 590 | local ax = Instance.new("Part",Character)
| |
| 591 | ax.Size = Vector3.new(1,1,1) | |
| 592 | ax.TopSurface = 0 | |
| 593 | ax.BottomSurface = 0 | |
| 594 | ax.Transparency = 0 | |
| 595 | ax.Locked = true | |
| 596 | ax.BrickColor = Color | |
| 597 | ax.Shape = "Ball" | |
| 598 | ax.CanCollide = false | |
| 599 | ax.CFrame = cf | |
| 600 | ax.Anchored = true | |
| 601 | local SMMx do if SMM then | |
| 602 | SMMx = Instance.new("SpecialMesh",ax)
| |
| 603 | SMMx.MeshId = SMM | |
| 604 | SMMx.Scale = Vector3.new(1,1,1) | |
| 605 | end | |
| 606 | end | |
| 607 | coroutine.wrap(function() | |
| 608 | for i = 1,20 do | |
| 609 | if SMM then | |
| 610 | SMMx.Scale = SMMx.Scale + Vector3.new(math.random(1,3)+2,math.random(1,3)+2,math.random(1,3)+2) | |
| 611 | else | |
| 612 | ax.Size = ax.Size + Vector3.new(math.random(1,3)+1,math.random(1,3)+1,math.random(1,3)+1) | |
| 613 | end | |
| 614 | ax.Transparency = ax.Transparency +0.05 | |
| 615 | ax.CFrame = cf | |
| 616 | swait() | |
| 617 | end | |
| 618 | ax:Destroy() | |
| 619 | end)() | |
| 620 | end | |
| 621 | ||
| 622 | function NoOutline(Part) | |
| 623 | Part.TopSurface, Part.BottomSurface, Part.LeftSurface, Part.RightSurface, Part.FrontSurface, Part.BackSurface = 10, 10, 10, 10, 10, 10 | |
| 624 | end | |
| 625 | ||
| 626 | function nooutline(part) | |
| 627 | part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10 | |
| 628 | end | |
| 629 | ||
| 630 | function checkload() | |
| 631 | end | |
| 632 | ||
| 633 | local gui=it("GuiMain")
| |
| 634 | gui.Parent=Player.PlayerGui | |
| 635 | gui.Name="WeaponGUI" | |
| 636 | local frame=it("Frame")
| |
| 637 | frame.Parent=gui | |
| 638 | frame.BackgroundColor3=Color3.new(255,255,255) | |
| 639 | frame.BackgroundTransparency=1 | |
| 640 | frame.BorderColor3=Color3.new(17,17,17) | |
| 641 | frame.Size=UDim2.new(0.0500000007, 0, 0.100000001, 0) | |
| 642 | frame.Position=UDim2.new(0.4,0,0.1,0) | |
| 643 | local barmana1=it("TextLabel")
| |
| 644 | barmana1.Parent=frame | |
| 645 | barmana1.Text=" " | |
| 646 | barmana1.BackgroundTransparency=0 | |
| 647 | barmana1.BackgroundColor3=Color3.new(0,0,0) | |
| 648 | barmana1.SizeConstraint="RelativeXY" | |
| 649 | barmana1.TextXAlignment="Center" | |
| 650 | barmana1.TextYAlignment="Center" | |
| 651 | barmana1.Position=UDim2.new(0,0,0,0) | |
| 652 | barmana1.Size=UDim2.new(4,0,0.2,0) | |
| 653 | local barmana2=it("TextLabel")
| |
| 654 | barmana2.Parent=frame | |
| 655 | barmana2.Text=" " | |
| 656 | barmana2.BackgroundTransparency=0 | |
| 657 | barmana2.BackgroundColor3=Torso.Color | |
| 658 | barmana2.SizeConstraint="RelativeXY" | |
| 659 | barmana2.TextXAlignment="Center" | |
| 660 | barmana2.TextYAlignment="Center" | |
| 661 | barmana2.Position=UDim2.new(0,0,0,0) | |
| 662 | barmana2.Size=UDim2.new(4*100/100,0,0.2,0) | |
| 663 | local barmana4=it("TextLabel")
| |
| 664 | barmana4.Parent=frame | |
| 665 | barmana4.Text="Energy [100]" | |
| 666 | barmana4.BackgroundTransparency=1 | |
| 667 | barmana4.BackgroundColor3=Color3.new(0,0,0) | |
| 668 | barmana4.SizeConstraint="RelativeXY" | |
| 669 | barmana4.TextXAlignment="Center" | |
| 670 | barmana4.TextYAlignment="Center" | |
| 671 | barmana4.Position=UDim2.new(0,0,-0.3,0) | |
| 672 | barmana4.Size=UDim2.new(4,0,0.2,0) | |
| 673 | barmana4.FontSize="Size9" | |
| 674 | barmana4.TextStrokeTransparency=0 | |
| 675 | barmana4.TextColor=BrickColor.new("White")
| |
| 676 | ||
| 677 | local Create = LoadLibrary("RbxUtility").Create
| |
| 678 | function party(formfactor, parent, material, reflectance, transparency, brickcolor, name, size) | |
| 679 | local fp = Create("Part"){
| |
| 680 | formFactor = formfactor, | |
| 681 | Parent = parent, | |
| 682 | Reflectance = reflectance, | |
| 683 | Transparency = transparency, | |
| 684 | CanCollide = false, | |
| 685 | Locked = true, | |
| 686 | BrickColor = BrickColor.new(tostring(brickcolor)), | |
| 687 | Name = name, | |
| 688 | Size = size, | |
| 689 | Position = Character.Torso.Position, | |
| 690 | Material = material, | |
| 691 | } | |
| 692 | nooutline(fp) | |
| 693 | return fp | |
| 694 | end | |
| 695 | ||
| 696 | function mesh(Mesh, part, meshtype, meshid, offset, scale) | |
| 697 | local Msh = Create(Mesh){
| |
| 698 | Parent = part, | |
| 699 | Offset = offset, | |
| 700 | Scale = scale, | |
| 701 | } | |
| 702 | if Mesh == "SpecialMesh" then | |
| 703 | Msh.MeshType = meshtype | |
| 704 | Msh.MeshId = meshid | |
| 705 | end | |
| 706 | return Msh | |
| 707 | end | |
| 708 | ||
| 709 | function rayCast(Pos, Dir, Max, Ignore) | |
| 710 | return game:service("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
| |
| 711 | end | |
| 712 | ||
| 713 | ||
| 714 | function MagniDamage(Hit,Part,magni,mindam,maxdam,knock,Type, typ) | |
| 715 | if Part.Name=='Base' then return end | |
| 716 | for _,c in pairs(workspace:children()) do | |
| 717 | local hum=searchForHumanoid(c) | |
| 718 | if hum~=nil then | |
| 719 | local head=c:findFirstChild("HumanoidRootPart")
| |
| 720 | if head~=nil then | |
| 721 | local targ=head.Position-Part.Position | |
| 722 | local mag=targ.magnitude | |
| 723 | if mag<=magni and c.Name~=Player.Name then | |
| 724 | local mult = getDPS()+(math.random(mindam,maxdam)/2) | |
| 725 | damageHuman(hum, mult, head, typ)--Damagefunc(Hit,head,mindam,maxdam,knock,Type,RootPart,.2,"Hit1",1) | |
| 726 | end | |
| 727 | end | |
| 728 | end | |
| 729 | end | |
| 730 | end | |
| 731 | ||
| 732 | ||
| 733 | ||
| 734 | local RbxUtility = LoadLibrary("RbxUtility")
| |
| 735 | local Create = RbxUtility.Create | |
| 736 | ||
| 737 | function RemoveOutlines(part) | |
| 738 | part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10 | |
| 739 | end | |
| 740 | ||
| 741 | function CreatePart(Parent, Material, Reflectance, Transparency, BColor, Name, Size) | |
| 742 | local Part = Create("Part"){
| |
| 743 | Parent = Parent, | |
| 744 | Reflectance = Reflectance, | |
| 745 | Transparency = Transparency, | |
| 746 | CanCollide = false, | |
| 747 | Locked = true, | |
| 748 | BrickColor = BrickColor.new(tostring(BColor)), | |
| 749 | Name = Name, | |
| 750 | Size = Size, | |
| 751 | Material = Material, | |
| 752 | } | |
| 753 | RemoveOutlines(Part) | |
| 754 | return Part | |
| 755 | end | |
| 756 | ||
| 757 | function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale) | |
| 758 | local Msh = Create(Mesh){
| |
| 759 | Parent = Part, | |
| 760 | Offset = OffSet, | |
| 761 | Scale = Scale, | |
| 762 | } | |
| 763 | if Mesh == "SpecialMesh" then | |
| 764 | Msh.MeshType = MeshType | |
| 765 | Msh.MeshId = MeshId | |
| 766 | end | |
| 767 | return Msh | |
| 768 | end | |
| 769 | ||
| 770 | function useMana(amount) | |
| 771 | local precalc = stats['Mana']-amount | |
| 772 | ||
| 773 | if stats['Mana'] < 0 then return false end | |
| 774 | if precalc < 0 then return false end | |
| 775 | ||
| 776 | stats['Mana'] = precalc | |
| 777 | ||
| 778 | return true | |
| 779 | end | |
| 780 | ||
| 781 | local acos = math.acos | |
| 782 | local sqrt = math.sqrt | |
| 783 | local Vec3 = Vector3.new | |
| 784 | local fromAxisAngle = CFrame.fromAxisAngle | |
| 785 | ||
| 786 | local function toAxisAngle(CFr) | |
| 787 | local X,Y,Z,R00,R01,R02,R10,R11,R12,R20,R21,R22 = CFr:components() | |
| 788 | local Angle = math.acos((R00+R11+R22-1)/2) | |
| 789 | local A = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2 | |
| 790 | A = A == 0 and 0.00001 or A | |
| 791 | local B = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2 | |
| 792 | B = B == 0 and 0.00001 or B | |
| 793 | local C = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2 | |
| 794 | C = C == 0 and 0.00001 or C | |
| 795 | local x = (R21-R12)/sqrt(A) | |
| 796 | local y = (R02-R20)/sqrt(B) | |
| 797 | local z = (R10-R01)/sqrt(C) | |
| 798 | return Vec3(x,y,z),Angle | |
| 799 | end | |
| 800 | ||
| 801 | function ApplyTrig(Num,Func) | |
| 802 | local Min,Max = Func(0),Func(1) | |
| 803 | local i = Func(Num) | |
| 804 | return (i-Min)/(Max-Min) | |
| 805 | --[[if Func == "sin" then | |
| 806 | return (math.sin((1-Num)*math.pi)+1)/2 | |
| 807 | elseif Func == "cos" then | |
| 808 | return (math.cos((1-Num)*math.pi)+1)/2 | |
| 809 | end]] | |
| 810 | end | |
| 811 | ||
| 812 | function LerpCFrame(CFrame1,CFrame2,Num) | |
| 813 | local Vec,Ang = toAxisAngle(CFrame1:inverse()*CFrame2) | |
| 814 | return CFrame1*fromAxisAngle(Vec,Ang*Num) + (CFrame2.p-CFrame1.p)*Num | |
| 815 | end | |
| 816 | ||
| 817 | function recount() | |
| 818 | ||
| 819 | local totl = {}
| |
| 820 | ||
| 821 | local function addUp(tbl) | |
| 822 | local total = 0 | |
| 823 | for i,v in next,tbl do | |
| 824 | total = total + v | |
| 825 | end | |
| 826 | return total | |
| 827 | end | |
| 828 | ||
| 829 | local function avg(tbl) | |
| 830 | ||
| 831 | local num = #tbl | |
| 832 | local nom = addUp(tbl) | |
| 833 | ||
| 834 | return (nom/num) | |
| 835 | end | |
| 836 | ||
| 837 | warn('RECOUNT - All Data')
| |
| 838 | for i,v in pairs(recountData) do | |
| 839 | local qq = addUp(v) | |
| 840 | print(i..': '..qq..' ('..math.ceil(avg(v))..')')
| |
| 841 | table.insert(totl, qq) | |
| 842 | end | |
| 843 | ||
| 844 | warn('TOTAL: '..addUp(totl))
| |
| 845 | ||
| 846 | end | |
| 847 | ||
| 848 | function logDamage(skill, damage) | |
| 849 | ||
| 850 | if not recountData[skill] then recountData[skill] = {} end
| |
| 851 | ||
| 852 | local tbl = recountData[skill] | |
| 853 | table.insert(tbl, damage) | |
| 854 | ||
| 855 | end | |
| 856 | cn,ca,bc,v3,r = CFrame.new,CFrame.Angles,BrickColor.new,Vector3.new,function(a)return (math.random()-.5)*2*(a or 1) end | |
| 857 | deg,nf,c3,ins,ma,pi,mr = math.deg,math.floor,Color3.new,Instance.new,math.abs,math.pi,math.rad | |
| 858 | local part = function(prnt,cfr,siz,col,anc,canc,tra,mat,typ) | |
| 859 | local p = ins(typ or "Part") | |
| 860 | p.FormFactor = "Custom" | |
| 861 | p.Material = mat | |
| 862 | p.Transparency = tra | |
| 863 | p.CanCollide = canc | |
| 864 | p.Anchored = anc | |
| 865 | p.BrickColor = bc(col) | |
| 866 | p.Size = siz | |
| 867 | p.CFrame = cfr | |
| 868 | p.Parent = prnt | |
| 869 | p.Locked = true | |
| 870 | p.TopSurface,p.BottomSurface = 0,0 | |
| 871 | p:BreakJoints() | |
| 872 | return p | |
| 873 | end | |
| 874 | local mesh = function(typ,prnt,scal,mtyp,mid,mtx) | |
| 875 | local m = ins(typ or "SpecialMesh") | |
| 876 | if mtyp then m.MeshType = mtyp end | |
| 877 | if mid then m.MeshId = mid end | |
| 878 | if mtx then m.TextureId = mtx end | |
| 879 | if scal then m.Scale = scal end | |
| 880 | m.Parent = prnt | |
| 881 | return m | |
| 882 | end | |
| 883 | local weldy = function(prt1,prt2,c0,c1) | |
| 884 | local w = ins("Weld",prt1)
| |
| 885 | w.Part0 = prt1 | |
| 886 | w.Part1 = prt2 | |
| 887 | w.C0,w.C1 = c0 or cn(),c1 or cn() | |
| 888 | return w | |
| 889 | end | |
| 890 | function explosion(where,heat,size,pres) | |
| 891 | a = Instance.new("Explosion",Workspace)
| |
| 892 | a.BlastRadius = size | |
| 893 | a.BlastPressure = pres | |
| 894 | a.Position = where.Position | |
| 895 | local f = Instance.new("Fire",p)
| |
| 896 | f.Size = size | |
| 897 | f.Heat = heat | |
| 898 | f:Remove() | |
| 899 | end | |
| 900 | function flame(cf,heat,size,instant) | |
| 901 | local p = Instance.new("Part")
| |
| 902 | p.formFactor = 3 | |
| 903 | p.Anchored = true | |
| 904 | p.CanCollide = false | |
| 905 | p.Locked = true | |
| 906 | p.Transparency = 1 | |
| 907 | p.Size = Vector3.new() | |
| 908 | p.CFrame = cf | |
| 909 | p.Parent = char | |
| 910 | local f = Instance.new("Fire",p)
| |
| 911 | f.Size = size | |
| 912 | f.Heat = heat | |
| 913 | game.Debris:AddItem(p,1.1) | |
| 914 | delay(0.1,function() | |
| 915 | f.Enabled = false | |
| 916 | if instant then | |
| 917 | p:Destroy() | |
| 918 | end | |
| 919 | end) | |
| 920 | end | |
| 921 | ||
| 922 | function getRegion(point,range,ignore) | |
| 923 | return workspace:FindPartsInRegion3WithIgnoreList(Region3.new(point-Vector3.new(1,1,1)*range/2,point+Vector3.new(1,1,1)*range/2),ignore,100) | |
| 924 | end | |
| 925 | ||
| 926 | function getHumanoid(v) | |
| 927 | if v and v.Parent then | |
| 928 | local h = v.Parent:findFirstChild("Humanoid")
| |
| 929 | if not h then | |
| 930 | for _,p in ipairs(v.Parent:GetChildren()) do | |
| 931 | if p:isA("Humanoid") then
| |
| 932 | h = p | |
| 933 | end | |
| 934 | end | |
| 935 | if not h and v.Parent.Parent and v.Parent.Parent ~= game and v.Parent.Parent ~= workspace then | |
| 936 | for _,p in ipairs(v.Parent.Parent:GetChildren()) do | |
| 937 | if p:isA("Humanoid") then
| |
| 938 | h = p | |
| 939 | end | |
| 940 | end | |
| 941 | end | |
| 942 | end | |
| 943 | return h | |
| 944 | end | |
| 945 | end | |
| 946 | function advRay(start,point) | |
| 947 | local dis = (start-(start+point)).magnitude | |
| 948 | local dir = ((start+point)-start).unit | |
| 949 | if dis > 999 then | |
| 950 | dis = 999 | |
| 951 | end | |
| 952 | point = dis*dir | |
| 953 | hit,pos = workspace:FindPartOnRayWithIgnoreList(Ray.new(start,point),{player.Character})
| |
| 954 | if hit and not hit.CanCollide and not getHumanoid(hit) then | |
| 955 | function persistentRay(list) | |
| 956 | hit,pos = workspace:FindPartOnRayWithIgnoreList(Ray.new(start,point),{player.Character,unpack(list)})
| |
| 957 | if hit and not hit.CanCollide and not getHumanoid(hit) then | |
| 958 | hit,pos = persistentRay({hit,unpack(list)})
| |
| 959 | end | |
| 960 | return hit,pos | |
| 961 | end | |
| 962 | hit,pos = persistentRay({hit})
| |
| 963 | end | |
| 964 | return hit,pos | |
| 965 | end | |
| 966 | ||
| 967 | function ParticleEmit(Object,Color,Duration) | |
| 968 | local Counter = 0 | |
| 969 | coroutine.wrap(function() | |
| 970 | while Wait(0.3)do | |
| 971 | if Counter == Duration then break end | |
| 972 | local p = Instance.new("Part",Object.Parent)
| |
| 973 | p.Name = "Trail" | |
| 974 | p.TopSurface = 0 | |
| 975 | p.BottomSurface = 0 | |
| 976 | p.Anchored = true | |
| 977 | p.CanCollide = false | |
| 978 | p.FormFactor = "Custom" | |
| 979 | p.Size = Vector3.new(0.01,0.01,0.01) | |
| 980 | p.BrickColor = Color and(type(Color)== 'userdata' and Color or BrickColor.new(Color)) | |
| 981 | p.CFrame = Object.CFrame * CFrame.new(math.random(-1,1),math.random(-1,1)-3,math.random(-1,1)) | |
| 982 | local m = Instance.new("BlockMesh",p)
| |
| 983 | m.Scale = Vector3.new(2,2,2) | |
| 984 | coroutine.wrap(function() | |
| 985 | for i = 1,15 do | |
| 986 | p.Transparency = i/15 | |
| 987 | m.Scale = m.Scale + Vector3.new(0.1,0.1,0.1) | |
| 988 | p.CFrame = CFrame.new(p.Position + Vector3.new(math.random(-5,5)/20,0.5,math.random(-5,5)/20))* CFrame.fromEulerAnglesXYZ(math.random(-10,10)/i,math.random(-10,10)/i,0.5) | |
| 989 | swait() | |
| 990 | end | |
| 991 | p:Destroy() | |
| 992 | end)() | |
| 993 | end | |
| 994 | end)() | |
| 995 | if Duration == math.huge then return end | |
| 996 | coroutine.wrap(function() | |
| 997 | while Wait(1)do | |
| 998 | Counter = Counter +1 | |
| 999 | if Counter == Duration then | |
| 1000 | break | |
| 1001 | end | |
| 1002 | end | |
| 1003 | end)() | |
| 1004 | end | |
| 1005 | ||
| 1006 | function Burn(v) | |
| 1007 | coroutine.wrap(function() | |
| 1008 | - | local Colors = {"Really black", 'Mulberry', 'Lime green'}
|
| 1008 | + | local Colors = {"Really black", 'Mulberry', 'Really red'}
|
| 1009 | local calc = getDPS()*.5 | |
| 1010 | if v:IsA("Model")and v ~= char and not v:findFirstChild("Burnt")then
| |
| 1011 | local h = v:findFirstChild("Humanoid")
| |
| 1012 | if h then | |
| 1013 | if h.Health > 0 then | |
| 1014 | local t = v:findFirstChild("Torso")
| |
| 1015 | if t then | |
| 1016 | if(t.Position -T.Position).magnitude <= 20 then | |
| 1017 | local f = Instance.new("StringValue",v)
| |
| 1018 | f.Name = "Burnt" | |
| 1019 | - | ParticleEmit(v.Torso,BrickColor.new("Lime green"),10)
|
| 1019 | + | ParticleEmit(v.Torso,BrickColor.new("Really red"),10)
|
| 1020 | for m,c in pairs(v:GetChildren())do | |
| 1021 | if c:IsA("BasePart")then
| |
| 1022 | local ss = Instance.new("Fire",c)
| |
| 1023 | ss.Size = c.Size.y +2 | |
| 1024 | ss.Color = BrickColor.new(Colors[math.random(1,#Colors)]).Color | |
| 1025 | ss.SecondaryColor = Color3.new(0,0,0) | |
| 1026 | ss.Heat = 100 | |
| 1027 | delay(10,function() | |
| 1028 | local size = ss.Size | |
| 1029 | for i = size,0,-1 do | |
| 1030 | ss.Size = i | |
| 1031 | swait() | |
| 1032 | end | |
| 1033 | ss:Destroy() | |
| 1034 | end) | |
| 1035 | end | |
| 1036 | end | |
| 1037 | h.PlatformStand = true | |
| 1038 | coroutine.wrap(function() | |
| 1039 | for i = 1,10 do | |
| 1040 | h:TakeDamage(calc) | |
| 1041 | logDamage('Fire',calc)
| |
| 1042 | Wait(1) | |
| 1043 | end | |
| 1044 | end)() | |
| 1045 | Game:GetService("Debris"):AddItem(f,10)
| |
| 1046 | end | |
| 1047 | end | |
| 1048 | end | |
| 1049 | end | |
| 1050 | end | |
| 1051 | end)() | |
| 1052 | end; | |
| 1053 | function AoE(point,radius,damage,push,trip) | |
| 1054 | --ypcall(function() | |
| 1055 | local push = push or Vector3.new() | |
| 1056 | local hit = getRegion(point,radius,{char})
| |
| 1057 | local humanoidList = {}
| |
| 1058 | for _,v in pairs(hit) do | |
| 1059 | local h = getHumanoid(v) | |
| 1060 | if not v.Anchored then | |
| 1061 | if h then | |
| 1062 | if not humanoidList[h] then | |
| 1063 | if Damaged[h] and tick()-Damaged[h]<.2 then return end | |
| 1064 | humanoidList[h] = true | |
| 1065 | Damaged[h] = tick() | |
| 1066 | damageHuman(h,damage,h.Parent:findFirstChild'Head') | |
| 1067 | Burn(h.Parent) | |
| 1068 | if h.Parent:findFirstChild("Torso") and h.Parent.Torso:isA("BasePart") then
| |
| 1069 | if push.magnitude > 0 then | |
| 1070 | local v = Instance.new("BodyVelocity",h.Parent.Torso)
| |
| 1071 | v.maxForce = Vector3.new(1,1,1)*10000000000 | |
| 1072 | v.velocity = push/0.1 | |
| 1073 | game.Debris:AddItem(v,0.1) | |
| 1074 | end | |
| 1075 | if trip then | |
| 1076 | local v = Instance.new("BodyAngularVelocity",h.Parent.Torso)
| |
| 1077 | v.maxTorque = Vector3.new(1,1,1)*10000000000 | |
| 1078 | v.angularvelocity = Vector3.new(math.pi,0,math.pi)/0.1 | |
| 1079 | game.Debris:AddItem(v,0.1) | |
| 1080 | end | |
| 1081 | end | |
| 1082 | end | |
| 1083 | else v:BreakJoints() | |
| 1084 | v.Velocity = v.Velocity+push/v:GetMass() | |
| 1085 | end | |
| 1086 | end | |
| 1087 | end | |
| 1088 | --end) | |
| 1089 | end | |
| 1090 | function crownExplode(cf,col,scl) | |
| 1091 | local p = part(char,cf,v3(1,1,1),col,true,false,.1,"SmoothPlastic") | |
| 1092 | local pm = mesh("FileMesh",p,nil,nil,asset..meshes.crown)
| |
| 1093 | Spawn(function() | |
| 1094 | for i=.1,1.1,.025 do | |
| 1095 | p.Transparency = i | |
| 1096 | pm.Scale = pm.Scale + v3(scl,scl,scl) | |
| 1097 | p.CFrame = cf | |
| 1098 | swait() | |
| 1099 | end | |
| 1100 | p:Destroy() | |
| 1101 | end) | |
| 1102 | end | |
| 1103 | function crater(cf,dist,siz,col,mat) | |
| 1104 | local num = math.random(13,18) | |
| 1105 | for i=1,num do | |
| 1106 | game:service("Debris"):AddItem(part(char,cf*ca(0,pi*2/num*i,0)*cn(0,0,dist)*ca(r(2),r(2),r(2)),v3(ma(r(siz)),ma(r(siz)),ma(r(siz))),col,true,true,0,mat),3)
| |
| 1107 | end | |
| 1108 | end | |
| 1109 | function quickSound(id,par,pi) | |
| 1110 | local s = Instance.new("Sound")
| |
| 1111 | local pis = {1.5,1.55,1.6,1.65,1.7,1.75,1.8,1.85,1.9,1.95,2,2.05,2.1,2.15,2.2,2.25,2.3,2.35,2.4,2.45,2.5}
| |
| 1112 | s.Pitch = pis[math.random(1,#pis)] | |
| 1113 | s.SoundId = asset..id | |
| 1114 | s.Parent = par | |
| 1115 | swait() | |
| 1116 | s:Play() | |
| 1117 | return s | |
| 1118 | end | |
| 1119 | function newSound(id,par,pi) | |
| 1120 | local s = Instance.new("Sound",par)
| |
| 1121 | s.Pitch = pi or 1 | |
| 1122 | s.Volume = .3 | |
| 1123 | s.SoundId = asset..id | |
| 1124 | s:Play() | |
| 1125 | return s | |
| 1126 | end | |
| 1127 | ||
| 1128 | local Num = 0 | |
| 1129 | local Anchored = {}
| |
| 1130 | ||
| 1131 | function GetMesh(Obj) | |
| 1132 | for i,v in pairs(Obj:GetChildren()) do | |
| 1133 | if v:IsA("DataModelMesh") then
| |
| 1134 | return v | |
| 1135 | end | |
| 1136 | end | |
| 1137 | end | |
| 1138 | ||
| 1139 | function GetCFrame(Obj) | |
| 1140 | if Obj == nil then | |
| 1141 | return | |
| 1142 | end | |
| 1143 | if Obj == Workspace then | |
| 1144 | return CFrame.new(0,0,0) | |
| 1145 | end | |
| 1146 | if Obj:IsA("Model") then
| |
| 1147 | return Obj:GetModelCFrame() | |
| 1148 | end | |
| 1149 | if Obj:IsA("BasePart") then
| |
| 1150 | return Obj.CFrame | |
| 1151 | end | |
| 1152 | return | |
| 1153 | end | |
| 1154 | ||
| 1155 | function GetSize(Obj) | |
| 1156 | if Obj == nil then | |
| 1157 | return | |
| 1158 | end | |
| 1159 | if Obj == Workspace then | |
| 1160 | return Vector3.new(0,0,0) | |
| 1161 | end | |
| 1162 | if Obj:IsA("Model") then
| |
| 1163 | return Obj:GetModelSize() | |
| 1164 | end | |
| 1165 | if Obj:IsA("BasePart") then
| |
| 1166 | return Obj.Size | |
| 1167 | end | |
| 1168 | return | |
| 1169 | end | |
| 1170 | ||
| 1171 | function SaveWelds(Obj,Welds,Scale) | |
| 1172 | if Welds == nil then | |
| 1173 | local Welds = {}
| |
| 1174 | for i,v in pairs(Obj:GetChildren()) do | |
| 1175 | if v:IsA("JointInstance") then
| |
| 1176 | Welds[#Welds+1] = {v,v.Part0,v.Part1,v.C0,v.C1,v.Parent}
| |
| 1177 | v.Parent = nil | |
| 1178 | end | |
| 1179 | SaveWelds(v,Welds,Scale) | |
| 1180 | end | |
| 1181 | return Welds | |
| 1182 | else | |
| 1183 | for i,v in pairs(Obj:GetChildren()) do | |
| 1184 | if v:IsA("JointInstance") then
| |
| 1185 | Welds[#Welds+1] = {v,v.Part0,v.Part1,v.C0,v.C1,v.Parent}
| |
| 1186 | v.Parent = nil | |
| 1187 | end | |
| 1188 | SaveWelds(v,Welds,Scale) | |
| 1189 | end | |
| 1190 | end | |
| 1191 | end | |
| 1192 | ||
| 1193 | function GetMass(Obj) | |
| 1194 | local Mass = 0 | |
| 1195 | if Obj:IsA("BasePart") then
| |
| 1196 | Mass = Mass+Obj:GetMass() | |
| 1197 | end | |
| 1198 | for i,v in pairs(Obj:GetChildren()) do | |
| 1199 | Mass = Mass+GetMass(v) | |
| 1200 | end | |
| 1201 | return Mass | |
| 1202 | end | |
| 1203 | ||
| 1204 | function SaveConnectedParts(Obj,Welds) | |
| 1205 | if Welds == nil then | |
| 1206 | local Welds = {}
| |
| 1207 | for i,v in pairs(Obj:GetChildren()) do | |
| 1208 | if v:IsA("BasePart") then
| |
| 1209 | for i2,v2 in pairs(v:GetConnectedParts()) do | |
| 1210 | Welds[#Welds+1] = {Instance.new("Weld"),v,v2,v.CFrame:toObjectSpace(v2.CFrame),CFrame.new(0,0,0),v}
| |
| 1211 | end | |
| 1212 | v:BreakJoints() | |
| 1213 | end | |
| 1214 | SaveConnectedParts(v,Welds) | |
| 1215 | end | |
| 1216 | return Welds | |
| 1217 | else | |
| 1218 | for i,v in pairs(Obj:GetChildren()) do | |
| 1219 | if v:IsA("BasePart") then
| |
| 1220 | for i2,v2 in pairs(v:GetConnectedParts()) do | |
| 1221 | Welds[#Welds+1] = {Instance.new("Weld"),v,v2,v.CFrame:toObjectSpace(v2.CFrame),CFrame.new(0,0,0),v}
| |
| 1222 | end | |
| 1223 | v:BreakJoints() | |
| 1224 | end | |
| 1225 | SaveConnectedParts(v,Welds) | |
| 1226 | end | |
| 1227 | end | |
| 1228 | end | |
| 1229 | ||
| 1230 | function ResizeWelds(Welds,Scale) | |
| 1231 | for i,v in pairs(Welds) do | |
| 1232 | v[1].Parent = v[6] | |
| 1233 | v[1].Part0 = v[2] | |
| 1234 | v[1].Part1 = v[3] | |
| 1235 | local Vec = v[4].p | |
| 1236 | local Vec2 = v[5].p | |
| 1237 | v[1].C0 = CFrame.new(Vec*Scale)*(v[4]-Vec) | |
| 1238 | v[1].C1 = CFrame.new(Vec2*Scale)*(v[5]-Vec2) | |
| 1239 | end | |
| 1240 | end | |
| 1241 | ||
| 1242 | function AnchorParts(Obj) | |
| 1243 | for i,v in pairs(Obj:GetChildren()) do | |
| 1244 | if v:IsA("BasePart") and v.Anchored == false then
| |
| 1245 | v.Anchored = true | |
| 1246 | Anchored[v] = v | |
| 1247 | end | |
| 1248 | AnchorParts(v) | |
| 1249 | end | |
| 1250 | end | |
| 1251 | ||
| 1252 | function ResizeFunc(Obj,Scale,Welds,Center) | |
| 1253 | Center = Center or CFrame.new(0,0,0) | |
| 1254 | for i,v in pairs(Obj:GetChildren()) do | |
| 1255 | if v:IsA("BasePart") then
| |
| 1256 | --[[Num = Num+1 | |
| 1257 | if Num == 100 then | |
| 1258 | wait(0.25) | |
| 1259 | Num = 0 | |
| 1260 | end]] | |
| 1261 | local Size = v.Size | |
| 1262 | for i2,v2 in pairs(v:GetChildren()) do | |
| 1263 | if v2.Name == "ScaleInserted" then | |
| 1264 | Size = Size*v2.Scale | |
| 1265 | v2:Destroy() | |
| 1266 | elseif v2.Name:sub(1,14) == "ScaleInserted:" then | |
| 1267 | local X,Y,Z; | |
| 1268 | for Match in v2.Name:sub(15):gmatch("[^,%s]+") do
| |
| 1269 | if Y ~= nil then | |
| 1270 | Z = tonumber(Match) | |
| 1271 | elseif X ~= nil then | |
| 1272 | Y = tonumber(Match) | |
| 1273 | else | |
| 1274 | X = tonumber(Match) | |
| 1275 | end | |
| 1276 | end | |
| 1277 | Size = Vector3.new(X,Y,Z) | |
| 1278 | v2:Destroy() | |
| 1279 | end | |
| 1280 | end | |
| 1281 | pcall(function() v.FormFactor = "Custom" end) | |
| 1282 | local CFr = v.CFrame | |
| 1283 | local Want = Size*Scale | |
| 1284 | v.Size = Want | |
| 1285 | if v:IsA("VehicleSeat") then
| |
| 1286 | Seats[#Seats+1] = v | |
| 1287 | end | |
| 1288 | if v.Size ~= Want then | |
| 1289 | local Name = "" | |
| 1290 | for Match in v.Name:gmatch("[^%s]+") do
| |
| 1291 | Name = Name..Match | |
| 1292 | end | |
| 1293 | local CharMesh = nil | |
| 1294 | for i,v in pairs(Obj:GetChildren()) do | |
| 1295 | if v:IsA("CharacterMesh") and tostring(v.BodyPart):sub(15) == Name then
| |
| 1296 | CharMesh = v | |
| 1297 | end | |
| 1298 | end | |
| 1299 | if CharMesh == nil then | |
| 1300 | local Mesh = GetMesh(v) | |
| 1301 | if Mesh == nil then | |
| 1302 | local Mesh; | |
| 1303 | if v:IsA("WedgePart") then
| |
| 1304 | Mesh = Instance.new("SpecialMesh",v)
| |
| 1305 | Mesh.MeshType = "Wedge" | |
| 1306 | else | |
| 1307 | local HasShape = pcall(function() return v.Shape end) | |
| 1308 | if HasShape then | |
| 1309 | if v.Shape == "Ball" then | |
| 1310 | Mesh = Instance.new("SpecialMesh",v)
| |
| 1311 | Mesh.MeshType = "Sphere" | |
| 1312 | elseif v.Shape == "Cylinder" then | |
| 1313 | Mesh = Instance.new("SpecialMesh",v)
| |
| 1314 | Mesh.MeshType = "Cylinder" | |
| 1315 | else | |
| 1316 | Mesh = Instance.new("BlockMesh",v)
| |
| 1317 | end | |
| 1318 | else | |
| 1319 | Mesh = Instance.new("BlockMesh",v)
| |
| 1320 | end | |
| 1321 | end | |
| 1322 | Mesh.Scale = Want/v.Size | |
| 1323 | Mesh.Name = "ScaleInserted" | |
| 1324 | else | |
| 1325 | if (Mesh.ClassName == "SpecialMesh" and Mesh.MeshType ~= Enum.MeshType.FileMesh) or Mesh.ClassName ~= "SpecialMesh" then | |
| 1326 | Mesh.Scale = Want/v.Size*Mesh.Scale | |
| 1327 | end | |
| 1328 | end | |
| 1329 | else | |
| 1330 | local Mesh = Instance.new("SpecialMesh",v)
| |
| 1331 | Mesh.Name = "ScaleInserted:"..tostring(Want) | |
| 1332 | Mesh.MeshType = "FileMesh" | |
| 1333 | Mesh.MeshId = "rbxassetid://"..CharMesh.MeshId | |
| 1334 | --Mesh.TextureId = CharMesh.BaseTextureId | |
| 1335 | Mesh.Scale = Vector3.new(1,1,1)*Want.X/Scale | |
| 1336 | end | |
| 1337 | end | |
| 1338 | v:BreakJoints() | |
| 1339 | local Rel = Center:toObjectSpace(CFr) | |
| 1340 | local New = CFrame.new(Rel.p*Scale)*(Rel-Rel.p) | |
| 1341 | v.CFrame = Center*New | |
| 1342 | v:BreakJoints() | |
| 1343 | elseif v:IsA("DataModelMesh") then
| |
| 1344 | if v.ClassName == "SpecialMesh" then | |
| 1345 | if v.MeshType == Enum.MeshType.FileMesh then | |
| 1346 | v.Scale = v.Scale*Scale | |
| 1347 | end | |
| 1348 | else | |
| 1349 | --v.Scale = v.Scale*Scale | |
| 1350 | end | |
| 1351 | end | |
| 1352 | ResizeFunc(v,Scale,Welds,Center) | |
| 1353 | end | |
| 1354 | end | |
| 1355 | ||
| 1356 | function Resize(Obj,Scale,Break) | |
| 1357 | local Welds = SaveWelds(Obj,nil,Scale) | |
| 1358 | SaveConnectedParts(Obj,Welds) | |
| 1359 | local Mass = GetMass(Obj) | |
| 1360 | local Center = GetCFrame(Obj) | |
| 1361 | if Center ~= nil and Workspace:FindFirstChild("Base") ~= nil then
| |
| 1362 | --Center = Center-Vector3.new(0,GetSize(Obj).Y/2,0) | |
| 1363 | Center = CFrame.new(Center.X,Workspace.Base.Position.Y+Workspace.Base.Size.Y/2,Center.Z)*(Center-Center.p) | |
| 1364 | end | |
| 1365 | Seats = {}
| |
| 1366 | ResizeFunc(Obj,Scale,Welds,Center) | |
| 1367 | ResizeWelds(Welds,Scale) | |
| 1368 | local Mass2 = GetMass(Obj) | |
| 1369 | for i,v in pairs(Seats) do | |
| 1370 | v.Torque = Mass2*(v.Torque/Mass) | |
| 1371 | v.TurnSpeed = v.TurnSpeed*Scale | |
| 1372 | v.MaxSpeed = v.MaxSpeed*Scale | |
| 1373 | end | |
| 1374 | end | |
| 1375 | ||
| 1376 | function cylinderOpen(cf,col,col2) | |
| 1377 | local p = part(char,cf,v3(0,1000,0),col,true,false,.1,"SmoothPlastic") | |
| 1378 | local pm = mesh("CylinderMesh",p)
| |
| 1379 | local p2 = part(char,cf,v3(0,1000,0),col2,true,false,.1,"SmoothPlastic") | |
| 1380 | local p2m = mesh("CylinderMesh",p2)
| |
| 1381 | Spawn(function() | |
| 1382 | for i=.1,1.1,.0125 do | |
| 1383 | p.Transparency = i | |
| 1384 | p2.Transparency = i | |
| 1385 | pm.Scale = pm.Scale + v3(.8,0,.8) | |
| 1386 | p2m.Scale = p2m.Scale + v3(.5,0,.5) | |
| 1387 | swait() | |
| 1388 | end | |
| 1389 | p:Destroy() | |
| 1390 | p2:Destroy() | |
| 1391 | end) | |
| 1392 | end | |
| 1393 | function cylinderOpen2(cf,col,col2) | |
| 1394 | local p = part(workspace,cf,v3(0,1000,0),col,true,false,.1,"SmoothPlastic") | |
| 1395 | local pm = mesh("CylinderMesh",p)
| |
| 1396 | local p2 = part(workspace,cf,v3(0,1000,0),col2,true,false,.1,"SmoothPlastic") | |
| 1397 | local p2m = mesh("CylinderMesh",p2)
| |
| 1398 | Spawn(function() | |
| 1399 | for i=.1,1.1,.025 do | |
| 1400 | p.Transparency = i | |
| 1401 | p2.Transparency = i | |
| 1402 | pm.Scale = pm.Scale + v3(.7,0,.7) | |
| 1403 | p2m.Scale = p2m.Scale + v3(.6,0,.6) | |
| 1404 | swait() | |
| 1405 | end | |
| 1406 | wait(10) | |
| 1407 | p:Destroy() | |
| 1408 | p2:Destroy() | |
| 1409 | end) | |
| 1410 | end | |
| 1411 | ||
| 1412 | function ray(Pos, Dir,xxz) | |
| 1413 | local xxz2=char | |
| 1414 | if xxz ~= nil then | |
| 1415 | xxz2=nil | |
| 1416 | end | |
| 1417 | return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *999),xxz2) | |
| 1418 | end | |
| 1419 | ||
| 1420 | function FindGround(pos) | |
| 1421 | local ax,ay,az = pos:toEulerAnglesXYZ() | |
| 1422 | local bhit,bpos=ray(pos.p,pos.p - (pos.p + Vector3.new(0,200,0))) | |
| 1423 | if bhit and bpos then | |
| 1424 | return CFrame.new(bpos)*CFrame.Angles(ax,ay,az) | |
| 1425 | end | |
| 1426 | return nil | |
| 1427 | end | |
| 1428 | ||
| 1429 | local lastdps = tick() | |
| 1430 | local ohp = hum.Health | |
| 1431 | local berserk = false | |
| 1432 | hum.Changed:connect(function(val) | |
| 1433 | if val == 'Health_XML' then | |
| 1434 | if hum.Health < ohp then | |
| 1435 | lastdps = tick() | |
| 1436 | end | |
| 1437 | ohp = hum.Health | |
| 1438 | ||
| 1439 | elseif val =='PlatformStand' then | |
| 1440 | hum.PlatformStand = false | |
| 1441 | elseif val == 'MaxHealth' then | |
| 1442 | hum.MaxHealth = 650 | |
| 1443 | hum.Health = 650 | |
| 1444 | elseif val == "Sit" then | |
| 1445 | hum.Sit = false | |
| 1446 | elseif val == "WalkSpeed" then | |
| 1447 | end | |
| 1448 | end) | |
| 1449 | ||
| 1450 | local LastTrail = nil | |
| 1451 | local Trails = {}
| |
| 1452 | ||
| 1453 | function Disable(Humanoid) | |
| 1454 | ||
| 1455 | if Humanoid == hum then return end | |
| 1456 | ||
| 1457 | ypcall(function() | |
| 1458 | ||
| 1459 | for i = 10,0,-1 do | |
| 1460 | ||
| 1461 | if not Humanoid.Parent then break end | |
| 1462 | if Humanoid.WalkSpeed > 5 then | |
| 1463 | if Humanoid.Health <= 0 then break end | |
| 1464 | ||
| 1465 | if Humanoid:findFirstChild'Property of Darkus_Theory' then | |
| 1466 | Humanoid.WalkSpeed = 3 | |
| 1467 | Humanoid.JumpPower = 0 | |
| 1468 | end | |
| 1469 | --Humanoid.JumpMana = 0 | |
| 1470 | end | |
| 1471 | ||
| 1472 | wait(1) | |
| 1473 | ||
| 1474 | end | |
| 1475 | ||
| 1476 | if Humanoid.WalkSpeed > 5 then | |
| 1477 | if Humanoid:findFirstChild'Property of Darkus_Theory' then | |
| 1478 | Humanoid.JumpPower = 50 | |
| 1479 | Humanoid.WalkSpeed = 16 | |
| 1480 | end | |
| 1481 | end | |
| 1482 | ||
| 1483 | end) | |
| 1484 | end | |
| 1485 | ||
| 1486 | ||
| 1487 | ||
| 1488 | function Ringz(part,col) | |
| 1489 | local modle = Instance.new('Model', char)
| |
| 1490 | for i = 1,6 do | |
| 1491 | local p = Instance.new("Part", modle)
| |
| 1492 | p.Name = "BlastRing" | |
| 1493 | p.TopSurface = 0 | |
| 1494 | p.BottomSurface = 0 | |
| 1495 | p.CanCollide = false | |
| 1496 | p.Anchored = true | |
| 1497 | p.BrickColor = BrickColor.new(col) | |
| 1498 | p.Size = Vector3.new(1,1,1) | |
| 1499 | p.CFrame = CFrame.new(part.Position - Vector3.new(0,3,0))* CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)/30) | |
| 1500 | local rm = Instance.new("SpecialMesh",p)
| |
| 1501 | rm.MeshId = "http://www.roblox.com/asset/?id=3270017" | |
| 1502 | rm.Name = "BlastMesh" | |
| 1503 | rm.Scale = Vector3.new(1,1,1) | |
| 1504 | coroutine.wrap(function() | |
| 1505 | for n = 1,25 do | |
| 1506 | rm.Scale = rm.Scale + Vector3.new(1.2 +1 +i/5,1.2 +1 +i/5,0.1)*.8 | |
| 1507 | if 1 +i/5 == 1.2 then | |
| 1508 | rm.Scale = rm.Scale + Vector3.new(0,0.9,0) | |
| 1509 | end | |
| 1510 | p.Transparency = n/15 | |
| 1511 | p.CFrame = p.CFrame * CFrame.new(0,0.01,0)* CFrame.fromEulerAnglesXYZ(math.random(-20,20)/50,math.random(-20,20)/70,0) | |
| 1512 | swait() | |
| 1513 | end | |
| 1514 | p:Destroy() | |
| 1515 | end)() | |
| 1516 | end | |
| 1517 | game:service'Debris':AddItem(modle, 10) | |
| 1518 | end | |
| 1519 | ||
| 1520 | local DOTTED = {}
| |
| 1521 | local unique = 'Agony'..Player.Name..tick() | |
| 1522 | function damageHuman(hum, d, hit, ticklul) | |
| 1523 | if not hum:IsA('Humanoid') then hum.Parent:breakJoints() return end
| |
| 1524 | pcall(function() hum.Parent.Health.Disabled = true end) | |
| 1525 | if hum.Health <= 0 then return end | |
| 1526 | if hum == Humanoid then return end | |
| 1527 | if hum.MaxHealth > 1000000 then hum.Parent:breakJoints() end | |
| 1528 | if not hum:findFirstChild(unique) and ticklul=='Apply' then | |
| 1529 | local Agony = Instance.new('Model', hum)
| |
| 1530 | Agony.Name = unique | |
| 1531 | DOTTED[hum] = {Dot = Agony, Tix = 15, DPSX = 1, LastT = tick(), Haste = 1}
| |
| 1532 | --print('applying to '..hum.Parent.Name)
| |
| 1533 | elseif ticklul=='Refresh' and hum:findFirstChild(unique) and DOTTED[hum].Tix > 0 then | |
| 1534 | DOTTED[hum].Tix = 15 | |
| 1535 | --print('refreshing on '..hum.Parent.Name)
| |
| 1536 | elseif ticklul=='Apply' and DOTTED[hum].Tix <= 1 then | |
| 1537 | DOTTED[hum].Tix = 8 | |
| 1538 | --print('reapplying on '..hum.Parent.Name)
| |
| 1539 | end | |
| 1540 | if Ally[hum] then return end | |
| 1541 | local crit = math.random(1,15) | |
| 1542 | local DPS = ((d) * (crit > 11 and stats.CriticalStrikeBonus or 1)) | |
| 1543 | Title("-"..math.ceil(DPS), ((hit.Parent and hit.Parent~='Workspace') and (hit.Parent:findFirstChild'Head' or Instance.new('Model'))), (crit < 12 and Color3.new(0/255,0/255,200/255) or Color3.new(230/255,0/255,150/255)),true,false)
| |
| 1544 | hum.Health = hum.Health - math.ceil(DPS) | |
| 1545 | if hum.Health <= 0 then logDamage('Kills', 1) Alert('You killed '..hum.Parent.Name..'!', 'Yellow') spawn(function() damageAmp = damageAmp+.35 wait(10) damageAmp = damageAmp-.35 end) end
| |
| 1546 | end | |
| 1547 | ||
| 1548 | function healHuman(hum, d, hit) | |
| 1549 | if not hum:IsA('Humanoid') then hum.Parent:breakJoints() return end
| |
| 1550 | pcall(function() hum.Parent.Health.Disabled = true end) | |
| 1551 | if hum.Health <= 0 then return end | |
| 1552 | local crit = math.random(1,15) | |
| 1553 | local DPS = ((d) * (crit > 11 and stats.CriticalStrikeBonus or 1)) | |
| 1554 | Title("+"..math.ceil(DPS), ((hit.Parent and hit.Parent~='Workspace') and (hit.Parent:findFirstChild'Head' or Instance.new('Model'))), (crit > 11 and Color3.new(200/255,200/255,0/255) or Color3.new(0/255,230/255,0/255)),true,false)
| |
| 1555 | hum.Health = hum.Health + math.ceil(DPS) | |
| 1556 | end | |
| 1557 | ||
| 1558 | ||
| 1559 | function Tag(Humanoid) | |
| 1560 | local c = Instance.new("ObjectValue",Humanoid)
| |
| 1561 | c.Value = plr | |
| 1562 | c.Name = "creator" | |
| 1563 | end | |
| 1564 | ||
| 1565 | function CloneCharacter() | |
| 1566 | Character.Archivable = true | |
| 1567 | local Clone = Character:Clone() | |
| 1568 | for i,v in pairs(Clone:GetChildren())do | |
| 1569 | if v:IsA("BasePart") then
| |
| 1570 | v.Transparency = .1 | |
| 1571 | v.Reflectance = .1 | |
| 1572 | end | |
| 1573 | end | |
| 1574 | Character.Archivable = false | |
| 1575 | Clone.Parent = game:service('Workspace')
| |
| 1576 | Clone.Archivable = false | |
| 1577 | game:service('Debris'):AddItem(Clone,9)
| |
| 1578 | return Clone | |
| 1579 | end | |
| 1580 | function searchForHumanoid(thing) | |
| 1581 | for _,v in pairs(thing:children()) do | |
| 1582 | if v:IsA('Humanoid') then
| |
| 1583 | return v | |
| 1584 | end | |
| 1585 | end | |
| 1586 | return false | |
| 1587 | end | |
| 1588 | ||
| 1589 | ||
| 1590 | function Title(txt,part,color,rise,spell) | |
| 1591 | local col = color | |
| 1592 | local Gui = Instance.new("BillboardGui",part)
| |
| 1593 | Gui.Name = "3DGUI" | |
| 1594 | Gui.ExtentsOffset = Vector3.new(math.random(-3,3),math.random(2,3),math.random(-3,3)) | |
| 1595 | Gui.Size = UDim2.new(8,0,2,0) | |
| 1596 | local Tit = Instance.new("TextLabel",Gui)
| |
| 1597 | Tit.Name = "Gooey" | |
| 1598 | Tit.TextColor3 = col | |
| 1599 | Tit.TextTransparency = 0.25 | |
| 1600 | Tit.TextStrokeColor3 = col | |
| 1601 | Tit.TextStrokeTransparency = 1 | |
| 1602 | Tit.Size = UDim2.new(1,0,1,0) | |
| 1603 | Tit.BackgroundTransparency = 1 | |
| 1604 | Tit.Font = "Arial" | |
| 1605 | Tit.TextScaled = true | |
| 1606 | Tit.Text = txt | |
| 1607 | if rise then | |
| 1608 | if not tonumber(rise) then rise = 6 end | |
| 1609 | coroutine.wrap(function() | |
| 1610 | local randvar = (spell and 0 or math.random(-4,4)) | |
| 1611 | while Tit.Parent and Gui.Parent and wait() do | |
| 1612 | Gui.ExtentsOffset = Gui.ExtentsOffset + Vector3.new(0.025*randvar,0.025*rise,0.025*randvar) | |
| 1613 | end | |
| 1614 | end)() | |
| 1615 | end | |
| 1616 | game:service('Debris'):AddItem(Gui,1.5)
| |
| 1617 | return Tit | |
| 1618 | end | |
| 1619 | ||
| 1620 | function DamageNear(Pos,Mag,Dmg,x) | |
| 1621 | local Targets,HitAlready = {},{}
| |
| 1622 | for i,v in pairs(workspace:GetChildren())do | |
| 1623 | if v:IsA("Model")and v ~= Character and v:findFirstChild("Humanoid")then
| |
| 1624 | for _,x in pairs(v:GetChildren())do | |
| 1625 | if x:IsA("BasePart")then
| |
| 1626 | if(Pos -x.Position).magnitude <= Mag then | |
| 1627 | table.insert(Targets,v) | |
| 1628 | end | |
| 1629 | end | |
| 1630 | end | |
| 1631 | end | |
| 1632 | end | |
| 1633 | for i,v in pairs(Targets)do | |
| 1634 | if not HitAlready[v.Name]then | |
| 1635 | ypcall(function() | |
| 1636 | end) | |
| 1637 | HitAlready[v.Name] = true | |
| 1638 | end | |
| 1639 | end | |
| 1640 | end | |
| 1641 | ||
| 1642 | function weld(thing1,thing2) | |
| 1643 | local a = Instance.new('Weld');
| |
| 1644 | pcall(function() | |
| 1645 | a.Parent = thing1; | |
| 1646 | a.Part0 = thing1; | |
| 1647 | a.Part1 = thing2; | |
| 1648 | a.C0 = thing1.CFrame:inverse()*thing2.CFrame | |
| 1649 | end) | |
| 1650 | return a | |
| 1651 | end | |
| 1652 | ||
| 1653 | function IsNear(Position,Distance,SinglePlayer,db) | |
| 1654 | if SinglePlayer then | |
| 1655 | return(SinglePlayer.Torso.CFrame.p -Position).magnitude < Distance | |
| 1656 | end | |
| 1657 | local List = {}
| |
| 1658 | for i,v in pairs(workspace:GetChildren())do | |
| 1659 | if v:IsA("Model")then
| |
| 1660 | if v:findFirstChild("Torso")then
| |
| 1661 | --if (v ~= char and not db) then | |
| 1662 | if(v.Torso.CFrame.p -Position).magnitude < Distance then | |
| 1663 | table.insert(List,v) | |
| 1664 | end | |
| 1665 | --end | |
| 1666 | end | |
| 1667 | end | |
| 1668 | end | |
| 1669 | return List | |
| 1670 | end | |
| 1671 | ||
| 1672 | function createOrb() | |
| 1673 | ||
| 1674 | local Orb = Instance.new("Model")
| |
| 1675 | Orb.Name = "OrbModel" | |
| 1676 | local PurplePart = Instance.new("Part", Orb)
| |
| 1677 | - | PurplePart.BrickColor = BrickColor.new("Camo")
|
| 1677 | + | PurplePart.BrickColor = BrickColor.new("Navy blue")
|
| 1678 | PurplePart.Anchored = true | |
| 1679 | PurplePart.Locked = true | |
| 1680 | PurplePart.CanCollide = false | |
| 1681 | PurplePart.Name = 'PurplePart' | |
| 1682 | PurplePart.Material = 'Neon' | |
| 1683 | PurplePart.Size = Vector3.new(1, 1, 1) | |
| 1684 | PurplePart.BottomSurface = Enum.SurfaceType.Smooth | |
| 1685 | PurplePart.TopSurface = Enum.SurfaceType.Smooth | |
| 1686 | PurpleMesh = Instance.new("SpecialMesh", PurplePart)
| |
| 1687 | PurpleMesh.MeshType = Enum.MeshType.FileMesh | |
| 1688 | PurpleMesh.Name = "Mesh" | |
| 1689 | PurpleMesh.MeshId = "http://www.roblox.com/Asset/?id=9756362" | |
| 1690 | PurpleMesh.VertexColor = Vector3.new(1, 0, 1) | |
| 1691 | ||
| 1692 | local Ring = Instance.new("Part", PurplePart)
| |
| 1693 | Ring.Name = "BlastRing" | |
| 1694 | Ring.TopSurface = 0 | |
| 1695 | Ring.BottomSurface = 0 | |
| 1696 | Ring.CanCollide = false | |
| 1697 | Ring.Anchored = true | |
| 1698 | Ring.Locked = true | |
| 1699 | - | Ring.BrickColor = BrickColor.new('Lime green')
|
| 1699 | + | Ring.BrickColor = BrickColor.new('Really red')
|
| 1700 | Ring.Size = Vector3.new(1,1,1) | |
| 1701 | local RingMesh = Instance.new("SpecialMesh",Ring)
| |
| 1702 | RingMesh.MeshId = "http://www.roblox.com/asset/?id=3270017" | |
| 1703 | RingMesh.Name = "BlastMesh" | |
| 1704 | ||
| 1705 | ||
| 1706 | Orb.Parent = char | |
| 1707 | OrbModel = Orb | |
| 1708 | ||
| 1709 | local Light = Instance.new("PointLight", PurplePart)
| |
| 1710 | Light.Name = "HeadLight" | |
| 1711 | Light.Color = Color3.new(1,0,1) | |
| 1712 | Light.Range = 6 | |
| 1713 | Light.Brightness = 20 | |
| 1714 | ||
| 1715 | local con = game:GetService("RunService").RenderStepped:connect(function()
| |
| 1716 | local Targ | |
| 1717 | if not currentTarget then Targ = hum else Targ = currentTarget end | |
| 1718 | ||
| 1719 | if Targ:FindFirstChild('MarkOfDeath') then
| |
| 1720 | PurplePart.BrickColor = BrickColor.new'Really red' | |
| 1721 | Ring.BrickColor = BrickColor.new'White' | |
| 1722 | else | |
| 1723 | - | PurplePart.BrickColor = BrickColor.new'Camo' |
| 1723 | + | PurplePart.BrickColor = BrickColor.new'Navy blue' |
| 1724 | - | Ring.BrickColor = BrickColor.new'Lime green' |
| 1724 | + | Ring.BrickColor = BrickColor.new'Really red' |
| 1725 | end | |
| 1726 | ||
| 1727 | local c = math.abs(math.cos(tick())) | |
| 1728 | ||
| 1729 | if c <= .5 then c = .5 end | |
| 1730 | ||
| 1731 | PurpleMesh.Scale = Vector3.new(c*.7, c*1.1, c*.7) | |
| 1732 | RingMesh.Scale = Vector3.new(c*.9, c*.9, c*.9) | |
| 1733 | ||
| 1734 | PurplePart.CFrame = PurplePart.CFrame:lerp((Targ.Parent and Targ.Parent or char).Head.CFrame*CFrame.new(0,3,0),.5) | |
| 1735 | Ring.CFrame = PurplePart.CFrame* CFrame.fromEulerAnglesXYZ(-math.rad(90+(math.sin(tick())*6)), 0, -math.rad(90+(math.sin(tick())*6))) | |
| 1736 | end) | |
| 1737 | ||
| 1738 | local chnge = function(a) | |
| 1739 | if a=='Name' then | |
| 1740 | Orb:Destroy() | |
| 1741 | con:disconnect() | |
| 1742 | createOrb() | |
| 1743 | elseif a=='Parent' then | |
| 1744 | Orb:Destroy() | |
| 1745 | con:disconnect() | |
| 1746 | createOrb() | |
| 1747 | elseif a=='Locked' then | |
| 1748 | Orb:Destroy() | |
| 1749 | con:disconnect() | |
| 1750 | createOrb() | |
| 1751 | elseif a=='Anchored' then | |
| 1752 | Orb:Destroy() | |
| 1753 | con:disconnect() | |
| 1754 | createOrb() | |
| 1755 | end | |
| 1756 | end | |
| 1757 | ||
| 1758 | Orb.Changed:connect(chnge) | |
| 1759 | Ring.Changed:connect(chnge) | |
| 1760 | PurplePart.Changed:connect(chnge) | |
| 1761 | return Orb | |
| 1762 | end | |
| 1763 | ||
| 1764 | ||
| 1765 | ||
| 1766 | function isFriendly() | |
| 1767 | ||
| 1768 | if currentTarget == hum then return end | |
| 1769 | ||
| 1770 | if Ally[currentTarget] then return true end | |
| 1771 | ||
| 1772 | return false | |
| 1773 | end | |
| 1774 | ||
| 1775 | function toggleFriendly() | |
| 1776 | ||
| 1777 | --if currentTarget == hum then return end | |
| 1778 | ||
| 1779 | pcall(function()if Ally[currentTarget] then Ally[currentTarget] = nil else Ally[currentTarget] = true end end) | |
| 1780 | ||
| 1781 | end | |
| 1782 | ||
| 1783 | --SlashDamage = Damage(TrailPart) | |
| 1784 | ||
| 1785 | asd = function(parent,string) | |
| 1786 | repeat swait() until parent:FindFirstChild(string) | |
| 1787 | swait() | |
| 1788 | return parent:FindFirstChild(string) | |
| 1789 | end | |
| 1790 | ||
| 1791 | newWeld = function(wp0, wp1, wc0x, wc0y, wc0z) | |
| 1792 | ||
| 1793 | local wld = Instance.new("Weld", wp1)
| |
| 1794 | wld.Part0 = wp0 | |
| 1795 | wld.Part1 = wp1 | |
| 1796 | wld.C0 = CFrame.new(wc0x, wc0y, wc0z) | |
| 1797 | ||
| 1798 | return wld | |
| 1799 | end | |
| 1800 | ||
| 1801 | ||
| 1802 | Search = false | |
| 1803 | ||
| 1804 | function shadowSight() | |
| 1805 | ||
| 1806 | if Search == false then | |
| 1807 | Search = true | |
| 1808 | for i,v in pairs(game.Players:getPlayers()) do | |
| 1809 | if v.Name~=char.Name and v.Character then | |
| 1810 | for j,k in pairs(v.Character:GetChildren()) do | |
| 1811 | if k:IsA("BasePart") and k.Transparency >= 1 then
| |
| 1812 | bawx=Instance.new("SelectionBox",camera)
| |
| 1813 | bawx.Color = BrickColor.new("Bright red")
| |
| 1814 | bawx.Transparency = .5 | |
| 1815 | bawx.Adornee = k | |
| 1816 | end | |
| 1817 | end | |
| 1818 | end | |
| 1819 | end | |
| 1820 | camera.CameraSubject = OrbModel.PurplePart | |
| 1821 | elseif Search == true then | |
| 1822 | Search = false | |
| 1823 | for i, v in pairs(camera:GetChildren()) do | |
| 1824 | if v:IsA("SelectionBox") then
| |
| 1825 | v:Destroy() | |
| 1826 | end | |
| 1827 | end | |
| 1828 | camera.CameraSubject = hum | |
| 1829 | end | |
| 1830 | ||
| 1831 | end | |
| 1832 | ||
| 1833 | ||
| 1834 | newStat("Mana", 'NumberValue', 100)
| |
| 1835 | newStat("Intellect", 'NumberValue', Intellect)
| |
| 1836 | newStat("Haste", 'NumberValue', Haste)
| |
| 1837 | newStat("CriticalStrikeBonus", 'NumberValue', 1.25)
| |
| 1838 | ||
| 1839 | hum.JumpPower = 100 | |
| 1840 | hum.WalkSpeed = 22 | |
| 1841 | hum.MaxHealth = 650 | |
| 1842 | hum.Health = 650 | |
| 1843 | ||
| 1844 | Alert = function(txt, color, font, fontsize) | |
| 1845 | local Colorz = {
| |
| 1846 | ["Red"] = Color3.new(255/255,0,0); | |
| 1847 | ["Green"] = Color3.new(0,255/255,0); | |
| 1848 | ["Blue"] = Color3.new(0,0,255/255); | |
| 1849 | - | ["Purple"] = Color3.new(255/255,255/255,0); |
| 1849 | + | ["Purple"] = Color3.new(0,255/255,0); |
| 1850 | - | ["Camo"] = Color3.new(0,0,0); |
| 1850 | + | ["Navy blue"] = Color3.new(0,0,0); |
| 1851 | ["White"] = Color3.new(1,1,1); | |
| 1852 | ['Orange'] = Color3.new(1,0.5,0); | |
| 1853 | ['Yellow'] = Color3.new(1,1,0); | |
| 1854 | }; | |
| 1855 | ||
| 1856 | game:GetService('StarterGui'):SetCore('ChatMakeSystemMessage', {
| |
| 1857 | Text = (txt and txt or 'nil'), | |
| 1858 | Color = (color and Colorz[color] or Color3.new(.8,0,0)), | |
| 1859 | Font = (font and font or 'SourceSansLight'), | |
| 1860 | FontSize = (fontsize and fontsize or 'Size14'), | |
| 1861 | }) | |
| 1862 | end | |
| 1863 | ||
| 1864 | function giveBuff(buffName, stat, duration, addition, targ) | |
| 1865 | ||
| 1866 | end | |
| 1867 | ||
| 1868 | hum.ChildAdded:connect(function(obj) | |
| 1869 | ||
| 1870 | end) | |
| 1871 | ||
| 1872 | function clerp(a,b,t) | |
| 1873 | local qa = {QuaternionFromCFrame(a)}
| |
| 1874 | local qb = {QuaternionFromCFrame(b)}
| |
| 1875 | local ax, ay, az = a.x, a.y, a.z | |
| 1876 | local bx, by, bz = b.x, b.y, b.z | |
| 1877 | local _t = 1-t | |
| 1878 | return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) | |
| 1879 | end | |
| 1880 | ||
| 1881 | function QuaternionFromCFrame(cf) | |
| 1882 | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() | |
| 1883 | local trace = m00 + m11 + m22 | |
| 1884 | if trace > 0 then | |
| 1885 | local s = math.sqrt(1 + trace) | |
| 1886 | local recip = 0.5/s | |
| 1887 | return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 | |
| 1888 | else | |
| 1889 | local i = 0 | |
| 1890 | if m11 > m00 then | |
| 1891 | i = 1 | |
| 1892 | end | |
| 1893 | if m22 > (i == 0 and m00 or m11) then | |
| 1894 | i = 2 | |
| 1895 | end | |
| 1896 | if i == 0 then | |
| 1897 | local s = math.sqrt(m00-m11-m22+1) | |
| 1898 | local recip = 0.5/s | |
| 1899 | return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip | |
| 1900 | elseif i == 1 then | |
| 1901 | local s = math.sqrt(m11-m22-m00+1) | |
| 1902 | local recip = 0.5/s | |
| 1903 | return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip | |
| 1904 | elseif i == 2 then | |
| 1905 | local s = math.sqrt(m22-m00-m11+1) | |
| 1906 | local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip | |
| 1907 | end | |
| 1908 | end | |
| 1909 | end | |
| 1910 | ||
| 1911 | function QuaternionToCFrame(px, py, pz, x, y, z, w) | |
| 1912 | local xs, ys, zs = x + x, y + y, z + z | |
| 1913 | local wx, wy, wz = w*xs, w*ys, w*zs | |
| 1914 | local xx = x*xs | |
| 1915 | local xy = x*ys | |
| 1916 | local xz = x*zs | |
| 1917 | local yy = y*ys | |
| 1918 | local yz = y*zs | |
| 1919 | local zz = z*zs | |
| 1920 | 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)) | |
| 1921 | end | |
| 1922 | ||
| 1923 | function QuaternionSlerp(a, b, t) | |
| 1924 | local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] | |
| 1925 | local startInterp, finishInterp; | |
| 1926 | if cosTheta >= 0.0001 then | |
| 1927 | if (1 - cosTheta) > 0.0001 then | |
| 1928 | local theta = math.acos(cosTheta) | |
| 1929 | local invSinTheta = 1/math.sin(theta) | |
| 1930 | startInterp = math.sin((1-t)*theta)*invSinTheta | |
| 1931 | finishInterp = math.sin(t*theta)*invSinTheta | |
| 1932 | else | |
| 1933 | startInterp = 1-t | |
| 1934 | finishInterp = t | |
| 1935 | end | |
| 1936 | else | |
| 1937 | if (1+cosTheta) > 0.0001 then | |
| 1938 | local theta = math.acos(-cosTheta) | |
| 1939 | local invSinTheta = 1/math.sin(theta) | |
| 1940 | startInterp = math.sin((t-1)*theta)*invSinTheta | |
| 1941 | finishInterp = math.sin(t*theta)*invSinTheta | |
| 1942 | else | |
| 1943 | startInterp = t-1 | |
| 1944 | finishInterp = t | |
| 1945 | end | |
| 1946 | end | |
| 1947 | 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 | |
| 1948 | end | |
| 1949 | ||
| 1950 | function lerp(weld,beglerp,endlerp,speed) | |
| 1951 | if weld.ClassName =='Weld' or weld.ClassName == 'Motor6D' then | |
| 1952 | weld.C0 = clerp(beglerp, endlerp, speed) | |
| 1953 | else | |
| 1954 | weld.CFrame = clerp(beglerp, endlerp, speed) | |
| 1955 | end | |
| 1956 | return (weld.ClassName =='Weld' or weld.ClassName == 'Motor6D' and weld.C0 or weld.CFrame) | |
| 1957 | end | |
| 1958 | ||
| 1959 | function IsNear(Position,Distance,SinglePlayer,db) | |
| 1960 | if SinglePlayer then | |
| 1961 | return(SinglePlayer.Torso.CFrame.p -Position).magnitude < Distance | |
| 1962 | end | |
| 1963 | local List = {}
| |
| 1964 | for i,v in pairs(workspace:GetChildren())do | |
| 1965 | if v:IsA("Model")then
| |
| 1966 | if v:findFirstChild("Torso")then
| |
| 1967 | --if (v ~= char and not db) then | |
| 1968 | if(v.Torso.CFrame.p -Position).magnitude < Distance then | |
| 1969 | table.insert(List,v) | |
| 1970 | end | |
| 1971 | --end | |
| 1972 | end | |
| 1973 | end | |
| 1974 | end | |
| 1975 | return List | |
| 1976 | end | |
| 1977 | ||
| 1978 | regening = false | |
| 1979 | lastdps = tick() | |
| 1980 | function regenHealth() | |
| 1981 | if regening then return end | |
| 1982 | if (tick()-lastdps < 15) then return end | |
| 1983 | regening = true | |
| 1984 | local s = wait(1) | |
| 1985 | local health = hum.Health | |
| 1986 | if health > 0 and health < hum.MaxHealth then | |
| 1987 | local newHealthDelta = hum.MaxHealth * .03 | |
| 1988 | health = health + newHealthDelta | |
| 1989 | hum.Health = math.min(health,hum.MaxHealth) | |
| 1990 | end | |
| 1991 | ||
| 1992 | regening = false | |
| 1993 | end | |
| 1994 | ||
| 1995 | function checkCooldown(ability) | |
| 1996 | if not Cooldowns[ability] then return false end | |
| 1997 | local trem = (tick()-Cooldowns[ability].startTime) | |
| 1998 | if (trem <= Cooldowns[ability].timeRequired) then return true end | |
| 1999 | return false | |
| 2000 | end | |
| 2001 | ||
| 2002 | function setCooldown(ability, req) | |
| 2003 | Cooldowns[ability] = {startTime = tick(), timeRequired = req}
| |
| 2004 | end | |
| 2005 | ||
| 2006 | ||
| 2007 | applyCameraShake=function(Noob,Intens,Time) | |
| 2008 | Intens = Intens / 5.2 | |
| 2009 | if game.Players:GetPlayerFromCharacter(Noob)~=nil then | |
| 2010 | local ss=Nethex.CamShake:clone() | |
| 2011 | ss.Disabled=false | |
| 2012 | ss.intensity.Value=Intens | |
| 2013 | ss.times.Value=Time | |
| 2014 | ss.Parent=Noob | |
| 2015 | end | |
| 2016 | end | |
| 2017 | ||
| 2018 | function getRandomPlayer() | |
| 2019 | local players = game:service('Players'):GetPlayers()
| |
| 2020 | if #players > 0 then | |
| 2021 | local plrz = players[math.random(#players)] | |
| 2022 | if plrz.Name == plr.Name then | |
| 2023 | repeat swait() plrz = players[math.random(#players)] until plrz.Name ~= plr.Name | |
| 2024 | currentTarget = plrz | |
| 2025 | Target(plrz) | |
| 2026 | end | |
| 2027 | return plrz | |
| 2028 | end | |
| 2029 | end | |
| 2030 | ||
| 2031 | partyy = function(formfactor, parent, reflectance, transparency, brickcolor, name, size) | |
| 2032 | local fp = it("Part")
| |
| 2033 | fp.formFactor = formfactor | |
| 2034 | fp.Parent = parent | |
| 2035 | fp.Reflectance = reflectance | |
| 2036 | fp.Transparency = transparency | |
| 2037 | fp.CanCollide = false | |
| 2038 | fp.Locked = true | |
| 2039 | fp.BrickColor = brickcolor | |
| 2040 | fp.Name = name | |
| 2041 | fp.Size = size | |
| 2042 | fp.Position = Torso.Position | |
| 2043 | NoOutline(fp) | |
| 2044 | fp.Material = "SmoothPlastic" | |
| 2045 | fp:BreakJoints() | |
| 2046 | return fp | |
| 2047 | end | |
| 2048 | meshy = function(Mesh, part, meshtype, meshid, offset, scale) | |
| 2049 | local mesh = it(Mesh) | |
| 2050 | mesh.Parent = part | |
| 2051 | if Mesh == "SpecialMesh" then | |
| 2052 | mesh.MeshType = meshtype | |
| 2053 | if meshid ~= "nil" then | |
| 2054 | mesh.MeshId = "http://www.roblox.com/asset/?id=" .. meshid | |
| 2055 | end | |
| 2056 | end | |
| 2057 | mesh.Offset = offset | |
| 2058 | mesh.Scale = scale | |
| 2059 | return mesh | |
| 2060 | end | |
| 2061 | ||
| 2062 | so = function(id, par, vol, pit) | |
| 2063 | local sou = Instance.new("Sound", par or workspace)
| |
| 2064 | sou.Volume = vol | |
| 2065 | sou.Pitch = pit or 1 | |
| 2066 | if id == "Whoosh" then | |
| 2067 | num = math.random(1, 3) | |
| 2068 | if num == 1 then | |
| 2069 | id = "200633968" | |
| 2070 | else | |
| 2071 | if num == 2 then | |
| 2072 | id = "200634020" | |
| 2073 | else | |
| 2074 | if num == 3 then | |
| 2075 | id = "200634043" | |
| 2076 | end | |
| 2077 | end | |
| 2078 | end | |
| 2079 | end | |
| 2080 | sou.SoundId = "http://www.roblox.com/asset/?id=" .. id | |
| 2081 | coroutine.resume(coroutine.create(function(Sound) | |
| 2082 | swait() | |
| 2083 | Sound:play() | |
| 2084 | end), sou) | |
| 2085 | game:GetService("Debris"):AddItem(sou, 6)
| |
| 2086 | end | |
| 2087 | ||
| 2088 | function getTarget() | |
| 2089 | return currentTarget | |
| 2090 | end | |
| 2091 | ||
| 2092 | local Blocking = false | |
| 2093 | local Charging = false | |
| 2094 | local Burst = true | |
| 2095 | local lastpress = tick() | |
| 2096 | local Keys = {}
| |
| 2097 | ||
| 2098 | function createBlast() | |
| 2099 | ||
| 2100 | local aiming = true | |
| 2101 | local fxholder = Instance.new('Model' ,char)
| |
| 2102 | local rune = Instance.new('Part')
| |
| 2103 | rune.Size = Vector3.new(13,1,13) | |
| 2104 | rune.Transparency = 1 | |
| 2105 | rune.CanCollide = false | |
| 2106 | rune.Anchored = true | |
| 2107 | local mash=Instance.new("BlockMesh",rune)
| |
| 2108 | mash.Scale=Vector3.new(1,.1,1) | |
| 2109 | local texturr=Instance.new("Texture",rune)
| |
| 2110 | texturr.Texture = "http://www.roblox.com/asset/?id=139222366" | |
| 2111 | texturr.Face="Top" | |
| 2112 | local texturr=Instance.new("Texture",rune)
| |
| 2113 | texturr.Texture = "http://www.roblox.com/asset/?id=139222366" | |
| 2114 | texturr.Face="Bottom" | |
| 2115 | rune.CFrame = (ra.CFrame *CFrame.new(0, -2, 0)) | |
| 2116 | rune.Parent = fxholder | |
| 2117 | ||
| 2118 | spawn(function() | |
| 2119 | local i = 0 | |
| 2120 | while aiming do | |
| 2121 | i = i + 15 | |
| 2122 | otheranims = true | |
| 2123 | rootpart.Anchored = true | |
| 2124 | rootpart.CFrame = CFrame.new(rootpart.Position, ((currentTarget and currentTarget.Health>0 and currentTarget.Parent:findFirstChild'HumanoidRootPart'.Position) or mouse.Hit.p)) | |
| 2125 | rune.CFrame = (ra.CFrame *CFrame.new(0, -2, 0)) * CFrame.Angles(math.rad(0), math.rad(i), math.rad(0)) | |
| 2126 | Mode = 'CastingSingle' | |
| 2127 | swait() | |
| 2128 | end | |
| 2129 | end) | |
| 2130 | ||
| 2131 | wait(.35) | |
| 2132 | ||
| 2133 | ||
| 2134 | local Blast = Instance.new('Part')
| |
| 2135 | Blast.Name = 'Blasty' | |
| 2136 | Blast.Size = Vector3.new(1,1,1) | |
| 2137 | Blast.TopSurface,Blast.BottomSurface = 0,0 | |
| 2138 | - | Blast.BrickColor = BrickColor.new('Lime green')
|
| 2138 | + | Blast.BrickColor = BrickColor.new('Really red')
|
| 2139 | Blast.Anchored = true | |
| 2140 | local BMesh = Instance.new('SpecialMesh', Blast)
| |
| 2141 | BMesh.MeshType = 'Sphere' | |
| 2142 | BMesh.Scale = Vector3.new(1, 1, 2) | |
| 2143 | Blast.CFrame = rune.CFrame | |
| 2144 | swait() | |
| 2145 | ||
| 2146 | wait(.2) | |
| 2147 | ||
| 2148 | local Ring = Instance.new("Part")
| |
| 2149 | Ring.Name = "BlastRing" | |
| 2150 | Ring.TopSurface = 0 | |
| 2151 | Ring.BottomSurface = 0 | |
| 2152 | Ring.CanCollide = false | |
| 2153 | Ring.Anchored = true | |
| 2154 | Ring.Locked = true | |
| 2155 | Ring.BrickColor = BrickColor.new('Mulberry')
| |
| 2156 | Ring.Size = Vector3.new(1,1,1) | |
| 2157 | local RingMesh = Instance.new("SpecialMesh",Ring)
| |
| 2158 | RingMesh.MeshId = "http://www.roblox.com/asset/?id=3270017" | |
| 2159 | RingMesh.Name = "BlastMesh" | |
| 2160 | ||
| 2161 | Ring.CFrame = rune.CFrame*CFrame.new(0,-3,0)*CFrame.Angles(math.rad(90),0,0) | |
| 2162 | Ring.Parent = fxholder | |
| 2163 | ||
| 2164 | spawn(function() | |
| 2165 | for i = 0,1,.05 do | |
| 2166 | RingMesh.Scale = RingMesh.Scale+Vector3.new(1.5,1.5,1) | |
| 2167 | Ring.Transparency = Ring.Transparency + .05 | |
| 2168 | swait() | |
| 2169 | end | |
| 2170 | end) | |
| 2171 | ||
| 2172 | aiming = false | |
| 2173 | otheranims = false | |
| 2174 | rootpart.Anchored = false | |
| 2175 | ||
| 2176 | swait() | |
| 2177 | torso.Velocity = -(rune.CFrame*CFrame.Angles(-math.pi/2,0,0)).lookVector*100 | |
| 2178 | ||
| 2179 | local mh = ((currentTarget and currentTarget.Health>0 and currentTarget.Parent:findFirstChild'HumanoidRootPart'.Position) or mouse.Hit.p) | |
| 2180 | local hit,pos = rayCast(Blast.Position,CFrame.new(Blast.Position,mh).lookVector,999,char:children'') | |
| 2181 | ||
| 2182 | spawn(function() | |
| 2183 | Blast.CFrame = CFrame.new(Blast.Position, pos) | |
| 2184 | Blast.Parent = fxholder | |
| 2185 | repeat Blast.CFrame = Blast.CFrame:lerp(CFrame.new(pos, ra.Position), .4) swait() until (Blast.Position-mh).magnitude < 5 | |
| 2186 | MagniDamage(Blast.Position,Blast,15,14,18,1,'Normal', 'Apply') | |
| 2187 | local asd = Blast:Clone() | |
| 2188 | asd.CFrame = Blast.CFrame | |
| 2189 | asd.Parent = fxholder | |
| 2190 | Blast.Transparency = 1 | |
| 2191 | local mm = asd:children''[1] | |
| 2192 | mm.Scale = Vector3.new(1,1,1) | |
| 2193 | quickSound(166196553, Blast) | |
| 2194 | - | Ringz(asd, 'Lime green') |
| 2194 | + | Ringz(asd, 'Really red') |
| 2195 | for i = 0,1,.05 do | |
| 2196 | asd.Transparency = i | |
| 2197 | mm.Scale = mm.Scale+Vector3.new(1.25, 1.25, 1.25) | |
| 2198 | swait() | |
| 2199 | end | |
| 2200 | wait(.4) | |
| 2201 | fxholder:Destroy() | |
| 2202 | end) | |
| 2203 | ||
| 2204 | wait(2) | |
| 2205 | ||
| 2206 | pcall(game.Destroy, fxholder) | |
| 2207 | end | |
| 2208 | ||
| 2209 | function Teleport() | |
| 2210 | local numtween = function(a, b, t) | |
| 2211 | return (b-a)*t + a | |
| 2212 | end | |
| 2213 | local fxholder = Instance.new('Model', char)
| |
| 2214 | local function rayCast(Pos, Dir, Max, Ignore) | |
| 2215 | return game:service("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
| |
| 2216 | end | |
| 2217 | otheranims = true | |
| 2218 | Mode = 'CastingSingle' | |
| 2219 | local focusing = true | |
| 2220 | local rune = Instance.new('Part')
| |
| 2221 | rune.Size = Vector3.new(10,1,10) | |
| 2222 | rune.Transparency = 1 | |
| 2223 | rune.CanCollide = false | |
| 2224 | rune.Anchored = true | |
| 2225 | local mash=Instance.new("BlockMesh",rune)
| |
| 2226 | mash.Scale=Vector3.new(3,1,3) | |
| 2227 | local texturr=Instance.new("Texture",rune)
| |
| 2228 | texturr.Texture = "http://www.roblox.com/asset/?id=295332792" | |
| 2229 | texturr.Face="Top" | |
| 2230 | texturr.Transparency = .2 | |
| 2231 | local texturr=Instance.new("Texture",rune)
| |
| 2232 | texturr.Texture = "http://www.roblox.com/asset/?id=295332792" | |
| 2233 | texturr.Face="Bottom" | |
| 2234 | texturr.Transparency = .2 | |
| 2235 | spawn(function() | |
| 2236 | while focusing do | |
| 2237 | rune.CFrame = CFrame.new(mouse.Hit.p) | |
| 2238 | swait() | |
| 2239 | end | |
| 2240 | end) | |
| 2241 | rune.Parent = fxholder | |
| 2242 | wait(1) | |
| 2243 | otheranims = false | |
| 2244 | focusing = false | |
| 2245 | local Hit,Position = rayCast(rootpart.Position, CFrame.new(rootpart.Position, rune.Position).lookVector, 500, char:children'') | |
| 2246 | rootpart.CFrame = rune.CFrame*CFrame.new(0, 5, 0) | |
| 2247 | MagniDamage(rune.Position,rune,10,4,8,1,'Normal', 'Apply') | |
| 2248 | MagniDamage(rune.Position,rune,10,3,4,1,'Normal', 'Refresh') | |
| 2249 | - | crownExplode(rune.CFrame,'Lime green',.5) |
| 2249 | + | crownExplode(rune.CFrame,'Really red',.5) |
| 2250 | crater(rune.CFrame,10,5,'Really black','Grass') | |
| 2251 | AoE(rune.Position,15,13,false,false) | |
| 2252 | - | cylinderOpen2(rune.CFrame,'Lime green','Mulberry') |
| 2252 | + | cylinderOpen2(rune.CFrame,'Really red','Mulberry') |
| 2253 | quickSound(142070127, head) | |
| 2254 | wait(2) | |
| 2255 | startedb = false | |
| 2256 | for i = 1,15 do | |
| 2257 | mash.Scale = Vector3.new(numtween(mash.Scale.X, -2, .1),numtween(mash.Scale.Y, -2, .1),numtween(mash.Scale.Z, -2, .1)) | |
| 2258 | swait() | |
| 2259 | end | |
| 2260 | fxholder:Destroy() | |
| 2261 | end | |
| 2262 | ||
| 2263 | local RbxUtility = LoadLibrary("RbxUtility")
| |
| 2264 | local Create = RbxUtility.Create | |
| 2265 | ||
| 2266 | function RemoveOutlines(part) | |
| 2267 | part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10 | |
| 2268 | end | |
| 2269 | ||
| 2270 | function CreatePart(Parent, Material, Reflectance, Transparency, BColor, Name, Size) | |
| 2271 | local Part = Create("Part"){
| |
| 2272 | Parent = Parent, | |
| 2273 | Reflectance = Reflectance, | |
| 2274 | Transparency = Transparency, | |
| 2275 | CanCollide = false, | |
| 2276 | Locked = true, | |
| 2277 | BrickColor = BrickColor.new(tostring(BColor)), | |
| 2278 | Name = Name, | |
| 2279 | Size = Size, | |
| 2280 | Material = Material, | |
| 2281 | } | |
| 2282 | RemoveOutlines(Part) | |
| 2283 | return Part | |
| 2284 | end | |
| 2285 | ||
| 2286 | function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale) | |
| 2287 | local Msh = Create(Mesh){
| |
| 2288 | Parent = Part, | |
| 2289 | Offset = OffSet, | |
| 2290 | Scale = Scale, | |
| 2291 | } | |
| 2292 | if Mesh == "SpecialMesh" then | |
| 2293 | Msh.MeshType = MeshType | |
| 2294 | Msh.MeshId = MeshId | |
| 2295 | end | |
| 2296 | return Msh | |
| 2297 | end | |
| 2298 | ||
| 2299 | ||
| 2300 | function RingEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay) | |
| 2301 | local prt=CreatePart(char,"SmoothPlastic",0,0,brickcolor,"Effect",vt(.5,.5,.5))--part(3,char,"SmoothPlastic",0,0,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
| 2302 | prt.Anchored=true | |
| 2303 | prt.CFrame=cframe | |
| 2304 | msh=CreateMesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=3270017",vt(0,0,0),vt(x1,y1,z1))
| |
| 2305 | game:GetService("Debris"):AddItem(prt,2)
| |
| 2306 | coroutine.resume(coroutine.create(function(Part,Mesh,num) | |
| 2307 | for i=0,1,delay do | |
| 2308 | swait() | |
| 2309 | Part.Transparency=i | |
| 2310 | Mesh.Scale=Mesh.Scale+vt(x3,y3,z3) | |
| 2311 | end | |
| 2312 | Part.Parent=nil | |
| 2313 | end),prt,msh,(math.random(0,1)+math.random())/5) | |
| 2314 | end | |
| 2315 | ||
| 2316 | function shoottrail3(baseprt, trg) | |
| 2317 | local spread=0 | |
| 2318 | local range=150 | |
| 2319 | local rangepower=75 | |
| 2320 | local function rayCast(Position, Direction, Range, Ignore) | |
| 2321 | return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
| |
| 2322 | end | |
| 2323 | coroutine.resume(coroutine.create(function(v) | |
| 2324 | local spreadvector = 0 | |
| 2325 | local dir = CFrame.new((baseprt.Position+trg.Position)/2,trg.Position) | |
| 2326 | local hit,pos = rayCast(baseprt.Position,dir.lookVector,10,Character) | |
| 2327 | local rangepos = range*50 | |
| 2328 | local function drawtrail(From,To) | |
| 2329 | local effectsmsh = Instance.new("SpecialMesh")
| |
| 2330 | effectsmsh.Scale = Vector3.new(1,1,1) | |
| 2331 | effectsmsh.Name = "Mesh" | |
| 2332 | effectsmsh.MeshType = "Sphere" | |
| 2333 | effectsmsh.Scale=Vector3.new(5,5,5) | |
| 2334 | local effectsg = Instance.new("Part")
| |
| 2335 | --effectsg.formFactor = 3 | |
| 2336 | effectsg.CanCollide = false | |
| 2337 | effectsg.Name = "Eff" | |
| 2338 | effectsg.Material="Neon" | |
| 2339 | effectsg.Locked = true | |
| 2340 | effectsg.Anchored = true | |
| 2341 | effectsg.Size = Vector3.new(0.2,0.2,0.2) | |
| 2342 | effectsg.Parent = char | |
| 2343 | effectsmsh.Parent = effectsg | |
| 2344 | - | effectsg.BrickColor = BrickColor.new("Lime green")
|
| 2344 | + | effectsg.BrickColor = BrickColor.new("Really red")
|
| 2345 | effectsg.Reflectance = 0 | |
| 2346 | ||
| 2347 | --particle.RotSpeed=NumberRange.new(20,20) | |
| 2348 | --particle.Rotation=NumberRange.new(180,180) | |
| 2349 | local LP = From | |
| 2350 | local point1 = To | |
| 2351 | local mg = (LP - point1).magnitude | |
| 2352 | effectsmsh.Scale = Vector3.new(5,5,5) | |
| 2353 | effectsg.CFrame=CFrame.new((LP+point1)/2,point1) | |
| 2354 | --MoonEffect(BrickColor.new("Toothpaste"),effectsg.CFrame*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50)),1,1,1,.5,.5,.5,.07)
| |
| 2355 | RingEffect(BrickColor.new("Mulberry"),effectsg.CFrame*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50)),3,3,3,2,2,2,.07)
| |
| 2356 | coroutine.resume(coroutine.create(function() | |
| 2357 | swait() | |
| 2358 | effectsg.Parent = nil | |
| 2359 | end)) | |
| 2360 | end | |
| 2361 | local newpos = baseprt.Position | |
| 2362 | local inc = rangepower/10 | |
| 2363 | repeat | |
| 2364 | swait() | |
| 2365 | rangepower = rangepower+5 | |
| 2366 | rangepos = rangepos - 10 | |
| 2367 | --dir = dir * CFrame.Angles(math.rad(-1),0,0) | |
| 2368 | hit,pos = rayCast(newpos,dir.lookVector,inc,Character) | |
| 2369 | drawtrail(newpos,pos) | |
| 2370 | local disttohit = (pos-trg.Position).magnitude | |
| 2371 | if disttohit <= 10 then | |
| 2372 | hit = trg | |
| 2373 | end | |
| 2374 | if torso~=nil then | |
| 2375 | dir=CFrame.new(pos,torso.Position) | |
| 2376 | end | |
| 2377 | dir=CFrame.new(pos,trg.Position) | |
| 2378 | newpos = newpos + (dir.lookVector * inc) | |
| 2379 | if hit ~= nil then | |
| 2380 | rangepos = 0 | |
| 2381 | if getHumanoid(hit) ~= nil then | |
| 2382 | --local hum = getHumanoid(hit) | |
| 2383 | --local tTorso=hit.Parent:findFirstChild'Torso' | |
| 2384 | --Damagefunc1(hit,20,30) | |
| 2385 | --MagniDamage(hit,10,10,15,0,"Knockdown") | |
| 2386 | if trg and trg.Parent then | |
| 2387 | local hum = trg.Parent:findFirstChild'Humanoid' | |
| 2388 | if hum then | |
| 2389 | local tbl = DOTTED[hum] | |
| 2390 | if tbl then | |
| 2391 | quickSound(131070686, trg) | |
| 2392 | spawn(function() | |
| 2393 | tbl.DPSX = tbl.DPSX+1.75 | |
| 2394 | wait(8) | |
| 2395 | tbl.DPSX = tbl.DPSX-1.75 | |
| 2396 | end) | |
| 2397 | end | |
| 2398 | end | |
| 2399 | end | |
| 2400 | attackdebounce=false | |
| 2401 | --ADmg(hum,hit) | |
| 2402 | elseif hit.Parent and hit.Parent.Parent and getHumanoid(hit.Parent) ~= nil then | |
| 2403 | --local hum = getHumanoid(hit.Parent) | |
| 2404 | --tTorso=hit.Parent.Parent.HumanoidRootPart | |
| 2405 | if trg and trg.Parent then | |
| 2406 | local hum = trg.Parent:findFirstChild'Humanoid' | |
| 2407 | if hum then | |
| 2408 | local tbl = DOTTED[hum] | |
| 2409 | if tbl then | |
| 2410 | quickSound(131070686, trg) | |
| 2411 | spawn(function() | |
| 2412 | tbl.DPSX = tbl.DPSX+3 | |
| 2413 | wait(3) | |
| 2414 | tbl.DPSX= tbl.DPSX-3 | |
| 2415 | end) | |
| 2416 | end | |
| 2417 | end | |
| 2418 | end | |
| 2419 | --Damagefunc1(hit.Parent.Parent.HumanoidRootPart,20,30) | |
| 2420 | attackdebounce=false | |
| 2421 | --ADmg(hum,hit) | |
| 2422 | end | |
| 2423 | --MoonEffect(BrickColor.new("Teal"),CFrame.new(newpos),2,2,2,.5,.5,.5,.07)
| |
| 2424 | end | |
| 2425 | until rangepos <= 0 | |
| 2426 | end)) | |
| 2427 | end | |
| 2428 | ||
| 2429 | function DeathAndDecay() | |
| 2430 | local numtween = function(a, b, t) | |
| 2431 | return (b-a)*t + a | |
| 2432 | end | |
| 2433 | local fxholder = Instance.new('Model', char)
| |
| 2434 | local function rayCast(Pos, Dir, Max, Ignore) | |
| 2435 | return game:service("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
| |
| 2436 | end | |
| 2437 | otheranims = true | |
| 2438 | hum.WalkSpeed = 0 | |
| 2439 | hum.JumpPower = 0 | |
| 2440 | Mode = 'SkyCasting' | |
| 2441 | wait(.2) | |
| 2442 | local startedb = false | |
| 2443 | local focusing = true | |
| 2444 | local rune = Instance.new('Part')
| |
| 2445 | rune.Size = Vector3.new(30,1,30) | |
| 2446 | rune.Transparency = 1 | |
| 2447 | rune.CanCollide = false | |
| 2448 | rune.Anchored = true | |
| 2449 | local mash=Instance.new("BlockMesh",rune)
| |
| 2450 | mash.Scale=Vector3.new(7,1,7) | |
| 2451 | local texturr=Instance.new("Texture",rune)
| |
| 2452 | texturr.Texture = "http://www.roblox.com/asset/?id=249559138" | |
| 2453 | texturr.Face="Top" | |
| 2454 | texturr.Transparency = .2 | |
| 2455 | local texturr=Instance.new("Texture",rune)
| |
| 2456 | texturr.Texture = "http://www.roblox.com/asset/?id=249559138" | |
| 2457 | texturr.Face="Bottom" | |
| 2458 | texturr.Transparency = .2 | |
| 2459 | local supportPart = Instance.new('Part')
| |
| 2460 | supportPart.Size = Vector3.new(1,1,1) | |
| 2461 | supportPart.Anchored = false | |
| 2462 | supportPart.CanCollide = false | |
| 2463 | - | supportPart.BrickColor = BrickColor.new'Lime green' |
| 2463 | + | supportPart.BrickColor = BrickColor.new'Really red' |
| 2464 | supportPart.Material = 'Neon' | |
| 2465 | local gloup = Instance.new('PointLight', supportPart)
| |
| 2466 | gloup.Color = Color3.new(1,0,1) | |
| 2467 | gloup.Range = 35 | |
| 2468 | local supportMe = Instance.new('Weld', fxholder)
| |
| 2469 | supportMe.Part0 = torso | |
| 2470 | supportMe.Part1 = supportPart | |
| 2471 | local support1Mesh = Instance.new('SpecialMesh', supportPart)
| |
| 2472 | support1Mesh.Name = 'tuch me dadi' | |
| 2473 | support1Mesh.MeshType = 'Sphere' | |
| 2474 | support1Mesh.Scale = Vector3.new(30,30,30) | |
| 2475 | local supportOrb = Instance.new('Part')
| |
| 2476 | supportOrb.Size = Vector3.new(1,1,1) | |
| 2477 | supportOrb.Anchored = true | |
| 2478 | supportOrb.CanCollide = false | |
| 2479 | supportOrb.BrickColor = BrickColor.new'Really black' | |
| 2480 | supportOrb.Material = 'Neon' | |
| 2481 | supportOrb.Transparency = .9 | |
| 2482 | local gloup = Instance.new('PointLight', supportOrb)
| |
| 2483 | gloup.Color = Color3.new(0,0,1) | |
| 2484 | gloup.Range = 15 | |
| 2485 | local support2Mesh = Instance.new('SpecialMesh', supportOrb)
| |
| 2486 | support2Mesh.Name = 'tuch me dadi' | |
| 2487 | support2Mesh.MeshType = 'Sphere' | |
| 2488 | support2Mesh.Scale = Vector3.new(220,220,220) | |
| 2489 | local antiOrb = Instance.new('Part')
| |
| 2490 | antiOrb.Size = Vector3.new(1,1,1) | |
| 2491 | antiOrb.Anchored = true | |
| 2492 | antiOrb.CanCollide = false | |
| 2493 | antiOrb.BrickColor = BrickColor.new'Mulberry' | |
| 2494 | antiOrb.Material = 'Neon' | |
| 2495 | antiOrb.Transparency = .85 | |
| 2496 | local gloup = Instance.new('PointLight', antiOrb)
| |
| 2497 | gloup.Color = Color3.new(0,0,1) | |
| 2498 | gloup.Range = 15 | |
| 2499 | local support3Mesh = Instance.new('SpecialMesh', antiOrb)
| |
| 2500 | support3Mesh.Name = 'tuch me dadi' | |
| 2501 | support3Mesh.MeshType = 'FileMesh' | |
| 2502 | support3Mesh.MeshId = 'http://www.roblox.com/asset/?id=1185246' | |
| 2503 | support3Mesh.Scale = Vector3.new(-310,-310,-310) | |
| 2504 | spawn(function() | |
| 2505 | while focusing do | |
| 2506 | rune.CFrame = CFrame.new(mouse.Hit.p) | |
| 2507 | swait() | |
| 2508 | end | |
| 2509 | repeat swait() until startedb | |
| 2510 | while startedb do | |
| 2511 | rune.CFrame = rune.CFrame * CFrame.Angles(0,-math.rad(1.5),0) | |
| 2512 | --mash.Scale = mash.Scale+Vector3.new(.0025,.0025,.0025) | |
| 2513 | antiOrb.CFrame = rune.CFrame | |
| 2514 | supportOrb.CFrame = rune.CFrame | |
| 2515 | torso.CFrame = CFrame.new(rune.Position)*CFrame.new(0, 20, 0) | |
| 2516 | swait() | |
| 2517 | end | |
| 2518 | end) | |
| 2519 | rune.Parent = fxholder | |
| 2520 | wait(3) | |
| 2521 | hum.WalkSpeed = 22 | |
| 2522 | hum.JumpPower = 100 | |
| 2523 | focusing = false | |
| 2524 | startedb = true | |
| 2525 | wait(.2) | |
| 2526 | Mode = ' ' | |
| 2527 | antiOrb.Parent = fxholder | |
| 2528 | supportOrb.Parent = fxholder | |
| 2529 | supportPart.Parent = fxholder | |
| 2530 | wait(.1) | |
| 2531 | spawn(function() | |
| 2532 | while startedb do | |
| 2533 | local cc = supportPart:Clone() | |
| 2534 | cc.Anchored = true | |
| 2535 | cc.BrickColor = BrickColor.new('Really black')
| |
| 2536 | cc.Parent = fxholder | |
| 2537 | for i = .1,1,.1 do | |
| 2538 | if not startedb then break end | |
| 2539 | cc.CFrame = supportPart.CFrame | |
| 2540 | cc.Transparency = i | |
| 2541 | cc['tuch me dadi'].Scale = cc['tuch me dadi'].Scale + Vector3.new(.25,.35,.25) | |
| 2542 | swait() | |
| 2543 | end | |
| 2544 | end | |
| 2545 | end) | |
| 2546 | torso.Anchored = true | |
| 2547 | ra.Anchored = true | |
| 2548 | la.Anchored = true | |
| 2549 | head.Anchored = true | |
| 2550 | ll.Anchored = true | |
| 2551 | rl.Anchored = true | |
| 2552 | for i = 1,15 do | |
| 2553 | MagniDamage(rune.Position,rune,100,4,8,1,'Normal', 'Apply') | |
| 2554 | MagniDamage(rune.Position,rune,100,3,4,1,'Normal', 'Refresh') | |
| 2555 | wait(1) | |
| 2556 | end | |
| 2557 | startedb = false | |
| 2558 | otheranims = false | |
| 2559 | torso.Anchored = false | |
| 2560 | ra.Anchored = false | |
| 2561 | la.Anchored = false | |
| 2562 | head.Anchored = false | |
| 2563 | ll.Anchored = false | |
| 2564 | rl.Anchored = false | |
| 2565 | for i = 1,15 do | |
| 2566 | mash.Scale = Vector3.new(numtween(mash.Scale.X, -2, .1),numtween(mash.Scale.Y, -2, .1),numtween(mash.Scale.Z, -2, .1)) | |
| 2567 | swait() | |
| 2568 | end | |
| 2569 | fxholder:Destroy() | |
| 2570 | torso.Anchored = false | |
| 2571 | end | |
| 2572 | ||
| 2573 | function createBeam() | |
| 2574 | local beaming = true | |
| 2575 | local fxholder = Instance.new('Model' ,char)
| |
| 2576 | local rune = Instance.new('Part')
| |
| 2577 | rune.Size = Vector3.new(30,1,30) | |
| 2578 | rune.Transparency = 1 | |
| 2579 | rune.CanCollide = false | |
| 2580 | rune.Anchored = true | |
| 2581 | local mash=Instance.new("BlockMesh",rune)
| |
| 2582 | mash.Scale=Vector3.new(1,.1,1) | |
| 2583 | local texturr=Instance.new("Texture",rune)
| |
| 2584 | texturr.Texture = "http://www.roblox.com/asset/?id=295332790" | |
| 2585 | texturr.Face="Top" | |
| 2586 | local texturr=Instance.new("Texture",rune)
| |
| 2587 | texturr.Texture = "http://www.roblox.com/asset/?id=295332790" | |
| 2588 | texturr.Face="Bottom" | |
| 2589 | rune.CFrame = (ra.CFrame *CFrame.new(0, -2, 0)) | |
| 2590 | rune.Parent = fxholder | |
| 2591 | ||
| 2592 | spawn(function() | |
| 2593 | local i = 0 | |
| 2594 | while beaming do | |
| 2595 | i = i + 15 | |
| 2596 | otheranims = true | |
| 2597 | rootpart.Anchored = true | |
| 2598 | rootpart.CFrame = CFrame.new(rootpart.Position, ((currentTarget and currentTarget.Health>0 and currentTarget.Parent:findFirstChild'HumanoidRootPart'.Position) or mouse.Hit.p)) | |
| 2599 | rune.CFrame = (ra.CFrame *CFrame.new(0, -2, 0)) * CFrame.Angles(math.rad(0), math.rad(i), math.rad(0)) | |
| 2600 | Mode = '' | |
| 2601 | lerp(rlegm, rlegm.C0, rlc0 * CFrame.new(.2, 0, -.25) * CFrame.Angles(math.rad(10),math.rad(-40),math.rad(10)), .3) | |
| 2602 | lerp(llegm, llegm.C0, llc0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-20),math.rad(20),math.rad(-10)), .3) | |
| 2603 | lerp(neck, neck.C0, neckc0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0),math.rad(-30),math.rad(0)), .3) | |
| 2604 | lerp(rm, rm.C0, rsc0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(90),math.rad(0),math.rad(30)), .3) | |
| 2605 | lerp(lm, lm.C0, lsc0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-30),math.rad(-20),math.rad(-20)), .3) | |
| 2606 | lerp(rj, rj.C0, rootc0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(30)), .3) | |
| 2607 | swait() | |
| 2608 | end | |
| 2609 | end) | |
| 2610 | ||
| 2611 | local m0del = Instance.new('Model',char)
| |
| 2612 | local wave = Instance.new('Part',m0del)
| |
| 2613 | wave.CFrame = ra.CFrame * CFrame.new(0, -3, 0) | |
| 2614 | wave.TopSurface = 'Smooth' | |
| 2615 | wave.BottomSurface = 'Smooth' | |
| 2616 | - | wave.BrickColor = BrickColor.new('Lime green')
|
| 2616 | + | wave.BrickColor = BrickColor.new('Really red')
|
| 2617 | wave.Anchored = true | |
| 2618 | wave.FormFactor = 'Custom' | |
| 2619 | wave.Shape = 'Ball' | |
| 2620 | wave.CanCollide = false | |
| 2621 | wave.Material = 'Neon' | |
| 2622 | wave.Size = Vector3.new(.4, .4, .4) | |
| 2623 | local needaloop = true | |
| 2624 | spawn(function() | |
| 2625 | while needaloop do | |
| 2626 | swait() | |
| 2627 | local c = char | |
| 2628 | local radius = 25 | |
| 2629 | local pos = wave.CFrame | |
| 2630 | - | local clrz = {'Really black','Lime green'};
|
| 2630 | + | local clrz = {'Really black','Really red'};
|
| 2631 | for i = 1,1 do | |
| 2632 | local clr = clrz[math.random(1,#clrz)] | |
| 2633 | pos = wave.CFrame | |
| 2634 | local p = Instance.new('Part',c)
| |
| 2635 | local mafa = math.random(-360,360) | |
| 2636 | p.CanCollide = false | |
| 2637 | p.Size = Vector3.new(1,1,1) | |
| 2638 | local m = Instance.new('SpecialMesh',p)
| |
| 2639 | m.MeshType = 'Sphere' | |
| 2640 | spawn(function() | |
| 2641 | for i = 0,50 do | |
| 2642 | local int,int2 = .05,.05 | |
| 2643 | m.Scale = m.Scale - Vector3.new(int,int,int) | |
| 2644 | p.Transparency = p.Transparency + int2 | |
| 2645 | swait() | |
| 2646 | end | |
| 2647 | pcall(function() | |
| 2648 | p:Destroy() | |
| 2649 | end) | |
| 2650 | end) | |
| 2651 | p.BrickColor = BrickColor.new(clr) | |
| 2652 | p.Material = 'Neon' | |
| 2653 | p.CFrame = pos * CFrame.new(math.random(-radius,radius),math.random(-radius,radius),math.random(-radius,radius)) * CFrame.Angles(mafa,mafa,mafa) | |
| 2654 | local bp = Instance.new('BodyPosition',p)
| |
| 2655 | bp.MaxForce = Vector3.new(1/0,1/0,1/0) | |
| 2656 | bp.D = 100 | |
| 2657 | bp.P = 300 | |
| 2658 | bp.Position = pos.p | |
| 2659 | game.Debris:AddItem(p,10) | |
| 2660 | end | |
| 2661 | end | |
| 2662 | end) | |
| 2663 | for awe = 1, 15 do | |
| 2664 | wave.CFrame = ra.CFrame * CFrame.new(0, -3, 0) | |
| 2665 | wave.Size = Vector3.new(wave.Size.X+.18, wave.Size.Y+.18, wave.Size.Z+.18) | |
| 2666 | swait() | |
| 2667 | end | |
| 2668 | local Ring = Instance.new("Part")
| |
| 2669 | Ring.Name = "BlastRing" | |
| 2670 | Ring.TopSurface = 0 | |
| 2671 | Ring.BottomSurface = 0 | |
| 2672 | Ring.CanCollide = false | |
| 2673 | Ring.Anchored = true | |
| 2674 | Ring.Locked = true | |
| 2675 | - | Ring.BrickColor = BrickColor.new('Lime green')
|
| 2675 | + | Ring.BrickColor = BrickColor.new('Really red')
|
| 2676 | Ring.Size = Vector3.new(1,1,1) | |
| 2677 | local RingMesh = Instance.new("SpecialMesh",Ring)
| |
| 2678 | RingMesh.MeshId = "http://www.roblox.com/asset/?id=3270017" | |
| 2679 | RingMesh.Name = "Mesh" | |
| 2680 | ||
| 2681 | Ring.CFrame = rune.CFrame*CFrame.new(0,-3,0)*CFrame.Angles(math.rad(90),0,0) | |
| 2682 | Ring.Parent = fxholder | |
| 2683 | ||
| 2684 | local Ring2 = Ring:Clone() | |
| 2685 | Ring2.CFrame = Ring.CFrame * CFrame.new(0, 0, 10) | |
| 2686 | Ring2.Parent = fxholder | |
| 2687 | local Ring3 = Ring2:Clone() | |
| 2688 | Ring3.CFrame = Ring2.CFrame * CFrame.new(0, 0, 10) | |
| 2689 | Ring3.Parent = fxholder | |
| 2690 | local Ring4 = Ring3:Clone() | |
| 2691 | Ring4.CFrame = Ring3.CFrame * CFrame.new(0, 0, 10) | |
| 2692 | Ring4.Parent = fxholder | |
| 2693 | ||
| 2694 | spawn(function() | |
| 2695 | for i = 0,3,.05 do | |
| 2696 | pcall(function() | |
| 2697 | RingMesh.Scale = RingMesh.Scale+Vector3.new(1.5,1.5,1) | |
| 2698 | Ring2.Mesh.Scale = Ring2.Mesh.Scale + Vector3.new(1.3,1.3,1) | |
| 2699 | Ring3.Mesh.Scale = Ring2.Mesh.Scale + Vector3.new(1.1,1.1,1) | |
| 2700 | Ring4.Mesh.Scale = Ring2.Mesh.Scale + Vector3.new(.9,.9,1) | |
| 2701 | Ring.Transparency = Ring.Transparency + .04 | |
| 2702 | Ring2.Transparency = Ring2.Transparency + .035 | |
| 2703 | Ring3.Transparency = Ring3.Transparency + .03 | |
| 2704 | Ring4.Transparency = Ring4.Transparency + .025 | |
| 2705 | end) | |
| 2706 | swait() | |
| 2707 | end | |
| 2708 | end) | |
| 2709 | wait(.15) | |
| 2710 | beaming = false | |
| 2711 | otheranims = false | |
| 2712 | rootpart.Anchored = false | |
| 2713 | needaloop = false | |
| 2714 | local beam = Instance.new('Part',m0del)
| |
| 2715 | beam.TopSurface = 'Smooth' | |
| 2716 | beam.BottomSurface = 'Smooth' | |
| 2717 | beam.Material = 'Neon' | |
| 2718 | beam.Transparency = .6 | |
| 2719 | beam.Anchored = true | |
| 2720 | - | beam.BrickColor = BrickColor.new('Lime green')
|
| 2720 | + | beam.BrickColor = BrickColor.new('Really red')
|
| 2721 | beam.CanCollide = false | |
| 2722 | local mesh = Instance.new('CylinderMesh',beam)
| |
| 2723 | local realbeam = beam:Clone() | |
| 2724 | realbeam.Parent = m0del | |
| 2725 | - | realbeam.BrickColor = BrickColor.new('Lime green')
|
| 2725 | + | realbeam.BrickColor = BrickColor.new('Really red')
|
| 2726 | realbeam.Transparency = .1 | |
| 2727 | realbeam.CFrame = wave.CFrame * CFrame.Angles(math.rad(90), 0, 0) | |
| 2728 | beam.CFrame = wave.CFrame * CFrame.Angles(math.rad(90), 0, 0) | |
| 2729 | beam.Size = Vector3.new(13, 10/2, 13) | |
| 2730 | realbeam.Size = Vector3.new(14, 10/2, 14) | |
| 2731 | local p = wave:Clone() | |
| 2732 | p.Parent = char | |
| 2733 | p.Anchored = true | |
| 2734 | p.Transparency = 1 | |
| 2735 | p.Size = Vector3.new(20, 20, 20) | |
| 2736 | wave.Transparency = 1 | |
| 2737 | local thx = {}
| |
| 2738 | for i,v in next, char:children'' do | |
| 2739 | table.insert(thx, v) | |
| 2740 | end | |
| 2741 | local starthere = rune.CFrame * CFrame.new(0, -3, 0) | |
| 2742 | local Bonk, ovhere = rayCast(starthere.p, CFrame.new(starthere.p, ((currentTarget and currentTarget.Health>0 and currentTarget.Parent:findFirstChild'HumanoidRootPart'.Position) or mouse.Hit.p)).lookVector, 500, thx) | |
| 2743 | p.Transparency = 0 | |
| 2744 | p.CFrame = CFrame.new(ovhere)-- * CFrame.Angles(math.rad(90), 0, 0) | |
| 2745 | local meg = (starthere.p - p.CFrame.p).magnitude | |
| 2746 | realbeam.Size = Vector3.new(25/2, meg, 25/2) | |
| 2747 | beam.Size = Vector3.new(26/2, meg, 26/2) | |
| 2748 | realbeam.CFrame = starthere * CFrame.new(0, -meg/2, 0) * CFrame.Angles(0, 0, 0) | |
| 2749 | beam.CFrame = starthere * CFrame.new(0, -meg/2, 0) * CFrame.Angles(0, 0, 0) | |
| 2750 | wave.CFrame = starthere | |
| 2751 | MagniDamage(p.Position,p,15,5,9,1,'Normal', 'Refresh') | |
| 2752 | CreateSound("http://roblox.com/asset/?id=3264793",p,1,math.random()+math.random()+1)
| |
| 2753 | for i,v in next, IsNear(p.Position, 15, nil, true) do | |
| 2754 | local hum = v:findFirstChild'Humanoid' | |
| 2755 | if hum then | |
| 2756 | local tbl = DOTTED[hum] | |
| 2757 | if tbl then | |
| 2758 | spawn(function() tbl.DPSX=tbl.DPSX+.8 tbl.Haste = tbl.Haste-.15 wait(3) tbl.Haste=tbl.Haste+.15 tbl.DPSX=tbl.DPSX-.8 end) | |
| 2759 | end | |
| 2760 | end | |
| 2761 | end | |
| 2762 | for i = 0,1,.05 do | |
| 2763 | realbeam.Transparency = i | |
| 2764 | wave.Transparency = i | |
| 2765 | beam.Transparency = i | |
| 2766 | swait() | |
| 2767 | end | |
| 2768 | m0del:Destroy() | |
| 2769 | fxholder:Destroy() | |
| 2770 | p.Transparency = 1 | |
| 2771 | wait(2) | |
| 2772 | p:Destroy() | |
| 2773 | end | |
| 2774 | ||
| 2775 | function BezierFactory(P1x, P1y, P2x, P2y) | |
| 2776 | ||
| 2777 | assert(P1x, "[BezierFactory] - Need P1x to construct a Bezier Factory") | |
| 2778 | assert(P1y, "[BezierFactory] - Need P1y to construct a Bezier Factory") | |
| 2779 | assert(P2x, "[BezierFactory] - Need P2x to construct a Bezier Factory") | |
| 2780 | assert(P2y, "[BezierFactory] - Need P2y to construct a Bezier Factory") | |
| 2781 | ||
| 2782 | local function A(aA1, aA2) | |
| 2783 | return 1.0 - 3.0 * aA2 + 3.0 * aA1 | |
| 2784 | end | |
| 2785 | ||
| 2786 | local function B(aA1, aA2) | |
| 2787 | return 3.0 * aA2 - 6.0 * aA1 | |
| 2788 | end | |
| 2789 | ||
| 2790 | local function C(aA1) | |
| 2791 | return 3.0 * aA1 | |
| 2792 | end | |
| 2793 | ||
| 2794 | local function CalculateBezier(aT, aA1, aA2) | |
| 2795 | return ((A(aA1, aA2)*aT + B(aA1, aA2))*aT + C(aA1))*aT | |
| 2796 | end | |
| 2797 | ||
| 2798 | local function GetSlope(aT, aA1, aA2) | |
| 2799 | return 3.0 * A(aA1, aA2)*aT*aT + 2.0 * B(aA1, aA2) * aT + C(aA1) | |
| 2800 | end | |
| 2801 | ||
| 2802 | local function GetTForX(aX) | |
| 2803 | local aGuessT = aX | |
| 2804 | ||
| 2805 | for Index = 1, 4 do | |
| 2806 | local CurrentSlope = GetSlope(aGuessT, P1x, P2x) | |
| 2807 | ||
| 2808 | if CurrentSlope == 0 then | |
| 2809 | return aGuessT | |
| 2810 | end | |
| 2811 | local CurrentX = CalculateBezier(aGuessT, P1x, P2x) - aX | |
| 2812 | aGuessT = aGuessT - CurrentX / CurrentSlope | |
| 2813 | end | |
| 2814 | ||
| 2815 | return aGuessT | |
| 2816 | end | |
| 2817 | ||
| 2818 | return function(aX) | |
| 2819 | ||
| 2820 | return CalculateBezier(GetTForX(aX), P1y, P2y) | |
| 2821 | end | |
| 2822 | end | |
| 2823 | ||
| 2824 | function CreateArc(pos1, pos2, gravity, segments) | |
| 2825 | local positions = {}
| |
| 2826 | local length; | |
| 2827 | pos1 = CFrame.new(pos1.x, pos1.y, pos1.z); | |
| 2828 | pos2 = CFrame.new(pos2.x, pos2.y, pos2.z); | |
| 2829 | length = (Vector3.new(pos1) - Vector3.new(pos2)).magnitude; | |
| 2830 | ||
| 2831 | local vertex = ((segments) ^ 2*(gravity/2000))/2; | |
| 2832 | local asd = math.random(-360, 360) | |
| 2833 | for i = 0, math.min(segments, 100) do | |
| 2834 | ||
| 2835 | local cf = pos1:lerp(pos2, i/segments); | |
| 2836 | cf = cf *CFrame.Angles(math.rad(asd),0,0); | |
| 2837 | cf = cf * CFrame.new(0, ((i - (segments/2)) ^ 2*(gravity/1000)) - vertex, 0); | |
| 2838 | table.insert(positions, cf); | |
| 2839 | ||
| 2840 | end | |
| 2841 | ||
| 2842 | return positions; | |
| 2843 | end | |
| 2844 | ||
| 2845 | function CreateParts(parent, positions) | |
| 2846 | local lastpos; | |
| 2847 | local parts = {};
| |
| 2848 | for i,v in pairs(positions) do | |
| 2849 | if not lastpos then | |
| 2850 | lastpos = v; | |
| 2851 | else | |
| 2852 | local p = Instance.new("Part", parent)
| |
| 2853 | p.Size = Vector3.new(.2, (lastpos.p - v.p).magnitude, 0) | |
| 2854 | p.CFrame = CFrame.new(lastpos.p, v.p) * CFrame.Angles(math.pi/2, 0, 0) * CFrame.new(0, -(lastpos.p - v.p).magnitude/2, 0); | |
| 2855 | p.Anchored = true; | |
| 2856 | p.Material = "Neon"; | |
| 2857 | p.TopSurface,p.BottomSurface = 0,0 | |
| 2858 | p.CanCollide = false; | |
| 2859 | Instance.new("CylinderMesh", p).Scale = Vector3.new(1.5, 1, 1.5);
| |
| 2860 | p.BrickColor = BrickColor.new'Mulberry'; | |
| 2861 | lastpos = v; | |
| 2862 | table.insert(parts, p); | |
| 2863 | end | |
| 2864 | end | |
| 2865 | return parts | |
| 2866 | end | |
| 2867 | ||
| 2868 | function ray(Pos, Dir,xxz) | |
| 2869 | local xxz2=char | |
| 2870 | if xxz ~= nil then | |
| 2871 | xxz2=nil | |
| 2872 | end | |
| 2873 | return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *999),xxz2) | |
| 2874 | end | |
| 2875 | ||
| 2876 | function FindGround(pos) | |
| 2877 | local ax,ay,az = pos:toEulerAnglesXYZ() | |
| 2878 | local bhit,bpos=ray(pos.p,pos.p - (pos.p + Vector3.new(0,200,0))) | |
| 2879 | if bhit and bpos then | |
| 2880 | return CFrame.new(bpos)*CFrame.Angles(ax,ay,az) | |
| 2881 | end | |
| 2882 | return nil | |
| 2883 | end | |
| 2884 | ||
| 2885 | local Surrendered = false | |
| 2886 | ||
| 2887 | function SurrenderToMadness() | |
| 2888 | if Surrendered then return end | |
| 2889 | Surrendered = true | |
| 2890 | rootpart.Anchored = true | |
| 2891 | otheranims = true | |
| 2892 | Mode = '' | |
| 2893 | - | crownExplode(CFrame.new(FindGround(torso.CFrame).p),'Lime green',.5) |
| 2893 | + | crownExplode(CFrame.new(FindGround(torso.CFrame).p),'Really red',.5) |
| 2894 | crater(CFrame.new(FindGround(torso.CFrame).p),10,5,'Mulberry','Granite') | |
| 2895 | AoE(FindGround(torso.CFrame).p,15,13,false,false) | |
| 2896 | - | cylinderOpen2(torso.CFrame,'Lime green','Mulberry') |
| 2896 | + | cylinderOpen2(torso.CFrame,'Really red','Mulberry') |
| 2897 | local Blast = Instance.new('Part')
| |
| 2898 | Blast.Name = 'Blasty' | |
| 2899 | Blast.Size = Vector3.new(1,1,1) | |
| 2900 | Blast.TopSurface,Blast.BottomSurface = 0,0 | |
| 2901 | - | Blast.BrickColor = BrickColor.new('Lime green')
|
| 2901 | + | Blast.BrickColor = BrickColor.new('Really red')
|
| 2902 | Blast.Anchored = true | |
| 2903 | Blast.Transparency = 1 | |
| 2904 | local BMesh = Instance.new('SpecialMesh', Blast)
| |
| 2905 | BMesh.MeshType = 'Sphere' | |
| 2906 | BMesh.Scale = Vector3.new(1, 1, 1) | |
| 2907 | Blast.CFrame = torso.CFrame | |
| 2908 | swait() | |
| 2909 | Blast.Parent = char | |
| 2910 | quickSound(166196553, Blast) | |
| 2911 | Ringz(Blast, 'Really black') | |
| 2912 | for i = 0,1,.025 do | |
| 2913 | Blast.Transparency = i | |
| 2914 | BMesh.Scale = BMesh.Scale+Vector3.new(1.25, 1.25, 1.25) | |
| 2915 | swait() | |
| 2916 | end | |
| 2917 | Blast:Destroy() | |
| 2918 | wait(.2) | |
| 2919 | rootpart.Anchored = false | |
| 2920 | otheranims = false | |
| 2921 | while Surrendered do | |
| 2922 | damageAmp = damageAmp+0.0005 | |
| 2923 | hum:TakeDamage(damageAmp*.35) | |
| 2924 | hum.WalkSpeed = 35 | |
| 2925 | hum.PlatformStand = false | |
| 2926 | stats['Mana'] = 300 | |
| 2927 | swait() | |
| 2928 | end | |
| 2929 | end | |
| 2930 | ||
| 2931 | function Haunt() | |
| 2932 | ||
| 2933 | local aiming = true | |
| 2934 | local fxholder = Instance.new('Model' ,char)
| |
| 2935 | local rune = Instance.new('Part')
| |
| 2936 | rune.Size = Vector3.new(13,1,13) | |
| 2937 | rune.Transparency = 1 | |
| 2938 | rune.CanCollide = false | |
| 2939 | rune.Anchored = true | |
| 2940 | local mash=Instance.new("BlockMesh",rune)
| |
| 2941 | mash.Scale=Vector3.new(1,.1,1) | |
| 2942 | local texturr=Instance.new("Texture",rune)
| |
| 2943 | texturr.Texture = "http://www.roblox.com/asset/?id=295332788" | |
| 2944 | texturr.Face="Top" | |
| 2945 | local texturr=Instance.new("Texture",rune)
| |
| 2946 | texturr.Texture = "http://www.roblox.com/asset/?id=295332788" | |
| 2947 | texturr.Face="Bottom" | |
| 2948 | rune.CFrame = (ra.CFrame *CFrame.new(0, -2, 0)) | |
| 2949 | rune.Parent = fxholder | |
| 2950 | ||
| 2951 | spawn(function() | |
| 2952 | local i = 0 | |
| 2953 | while aiming do | |
| 2954 | i = i + 15 | |
| 2955 | otheranims = true | |
| 2956 | rootpart.Anchored = true | |
| 2957 | rootpart.CFrame = CFrame.new(rootpart.Position, currentTarget.Parent:findFirstChild'HumanoidRootPart'.Position) | |
| 2958 | rune.CFrame = (ra.CFrame *CFrame.new(0, -2, 0)) * CFrame.Angles(math.rad(0), math.rad(i), math.rad(0)) | |
| 2959 | Mode = 'CastingSingle' | |
| 2960 | swait() | |
| 2961 | end | |
| 2962 | end) | |
| 2963 | wait(1) | |
| 2964 | aiming = false | |
| 2965 | coroutine.wrap(shoottrail3)(rune, currentTarget.Parent:findFirstChild'HumanoidRootPart') | |
| 2966 | rootpart.Anchored = false | |
| 2967 | otheranims = false | |
| 2968 | fxholder:Destroy() | |
| 2969 | end | |
| 2970 | ||
| 2971 | local lastkeypress = {}
| |
| 2972 | ||
| 2973 | mouse.KeyDown:connect(function(k) | |
| 2974 | Keys[k]=true | |
| 2975 | if otheranims then return end | |
| 2976 | local tar = getTarget() | |
| 2977 | lastpress = tick() | |
| 2978 | local cTarg = currentTarget and currentTarget or hum | |
| 2979 | local dpsCalc = getDPS() | |
| 2980 | ||
| 2981 | if k:byte() == 50 then | |
| 2982 | Ctrl = true | |
| 2983 | elseif k:byte()==48 then | |
| 2984 | hum.WalkSpeed = 35 | |
| 2985 | elseif k == 'c' and cTarg and cTarg~=hum and cTarg.Health > 0 and useMana(200) then | |
| 2986 | quickSound(178452217, head) | |
| 2987 | Haunt() | |
| 2988 | elseif k == 't' then | |
| 2989 | if mouse.Target and searchForHumanoid(mouse.Target.Parent) then | |
| 2990 | local currTar = searchForHumanoid(mouse.Target.Parent) | |
| 2991 | currentTarget = currTar | |
| 2992 | else | |
| 2993 | end | |
| 2994 | elseif k == 'j' then | |
| 2995 | toggleFriendly() | |
| 2996 | elseif k == 'u' and Ctrl then | |
| 2997 | keepPlaying = not keepPlaying | |
| 2998 | sund:Stop() | |
| 2999 | elseif k=='u' then | |
| 3000 | sund:Stop() | |
| 3001 | elseif k == 'h' then | |
| 3002 | if cTarg~=hum then | |
| 3003 | giveBuff('Blessing of Haste', 'Haste', 120, -.5)
| |
| 3004 | end | |
| 3005 | elseif k == 'y' then | |
| 3006 | currentTarget = nil | |
| 3007 | elseif k=='m' then | |
| 3008 | shadowSight() | |
| 3009 | elseif k=='e' and useMana(100) then | |
| 3010 | quickSound(178452217, head) | |
| 3011 | createBlast() | |
| 3012 | wait(3) | |
| 3013 | elseif k=='x' and not Surrendered then | |
| 3014 | SurrenderToMadness() | |
| 3015 | elseif k=='q' and useMana(100) then | |
| 3016 | quickSound(178452217, head) | |
| 3017 | createBeam() | |
| 3018 | wait(3) | |
| 3019 | elseif k == 'f' and useMana(300) then | |
| 3020 | quickSound(178452217, head) | |
| 3021 | DeathAndDecay() | |
| 3022 | wait(3) | |
| 3023 | elseif k == 'r' and useMana(100) then | |
| 3024 | quickSound(178452217, head) | |
| 3025 | Teleport() | |
| 3026 | elseif k=='w' and lastkeypress[k] and tick()-lastkeypress[k] <= .2 and useMana(100) then | |
| 3027 | otheranims = true | |
| 3028 | Mode = '' | |
| 3029 | spawn(function() | |
| 3030 | while otheranims do | |
| 3031 | swait() | |
| 3032 | spawn(function() | |
| 3033 | local asd = Instance.new('Part')
| |
| 3034 | asd.Size = Vector3.new(1,1,1) | |
| 3035 | asd.BottomSurface,asd.TopSurface = 0,0 | |
| 3036 | asd.Anchored = true | |
| 3037 | asd.Material = 'Neon' | |
| 3038 | asd.CFrame = torso.CFrame * CFrame.Angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)) | |
| 3039 | asd.CanCollide = false | |
| 3040 | - | asd.BrickColor = (math.random(1,2)==2 and BrickColor.new'Mulberry' or BrickColor.new'Lime green') |
| 3040 | + | asd.BrickColor = (math.random(1,2)==2 and BrickColor.new'Mulberry' or BrickColor.new'Really red') |
| 3041 | local asdm = Instance.new('BlockMesh', asd)
| |
| 3042 | asdm.Scale = Vector3.new(2,2,2) | |
| 3043 | asd.Parent = char | |
| 3044 | for i = 0,1,.025 do | |
| 3045 | asdm.Scale = asdm.Scale+Vector3.new(.45,.45,.45) | |
| 3046 | asd.Transparency = i | |
| 3047 | swait() | |
| 3048 | end | |
| 3049 | asd:Destroy() | |
| 3050 | end) | |
| 3051 | lerp(rlegm, rlegm.C0, rlc0 * CFrame.new(0+math.cos(sine/15)*.01, -.1+.3+math.cos(sine/15)*.06, -.5+math.cos(sine/15)*.01) * CFrame.Angles(math.rad(-20), math.rad(0), math.rad(5)+rootpart.RotVelocity.Y/20), .3) | |
| 3052 | lerp(llegm, llegm.C0, llc0 * CFrame.new(0+-math.cos(sine/15)*.01, -.1+.3+math.cos(sine/15)*.06, -.3+math.cos(sine/15)*.01) * CFrame.Angles(math.rad(-5), math.rad(0), math.rad(-5)+rootpart.RotVelocity.Y/20), .3) | |
| 3053 | lerp(neck, neck.C0, neckc0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.cos(sine/15)*.06+math.rad(20), math.rad(-0)+rootpart.RotVelocity.Y/10, math.rad(0)+-rootpart.RotVelocity.Y/30), .3) | |
| 3054 | lerp(lm, lm.C0, lsc0 * CFrame.new(0, .1+-math.cos(sine/15)*.06, 0) * CFrame.Angles(math.rad(-20), math.rad(0), math.rad(-20)+rootpart.RotVelocity.Y/20), .3) | |
| 3055 | lerp(rm, rm.C0, rsc0 * CFrame.new(0, .1+-math.cos(sine/15)*.06, 0) * CFrame.Angles(math.rad(-20), math.rad(0), math.rad(20)+rootpart.RotVelocity.Y/20), .3) | |
| 3056 | lerp(rj, rj.C0, rootc0 * CFrame.new(0,0,1.5) * CFrame.Angles(math.rad(20),math.rad(0),math.rad(0)+-rootpart.RotVelocity.Y/20),.3) | |
| 3057 | end | |
| 3058 | end) | |
| 3059 | Torso.Velocity=Head.CFrame.lookVector*300 | |
| 3060 | wait(.4) | |
| 3061 | otheranims = false | |
| 3062 | end | |
| 3063 | lastkeypress[k] = tick() | |
| 3064 | end) | |
| 3065 | ||
| 3066 | local blast = false | |
| 3067 | local brune | |
| 3068 | mouse.Button1Down:connect(function() | |
| 3069 | if otheranims then return end | |
| 3070 | otheranims = true | |
| 3071 | hum.WalkSpeed = 0 | |
| 3072 | hum.JumpPower = 0 | |
| 3073 | Mode = 'CastingSingle' | |
| 3074 | blast = true | |
| 3075 | local rune = Instance.new('Part')
| |
| 3076 | rune.Size = Vector3.new(5,1,5) | |
| 3077 | rune.Transparency = 1 | |
| 3078 | rune.CanCollide = false | |
| 3079 | rune.Anchored = true | |
| 3080 | brune = rune | |
| 3081 | local mash=Instance.new("BlockMesh",rune)
| |
| 3082 | mash.Scale=Vector3.new(1,.1,1) | |
| 3083 | local texturr=Instance.new("Texture",rune)
| |
| 3084 | texturr.Texture = "http://www.roblox.com/asset/?id=139222366" | |
| 3085 | texturr.Face="Top" | |
| 3086 | local texturr=Instance.new("Texture",rune)
| |
| 3087 | texturr.Texture = "http://www.roblox.com/asset/?id=139222366" | |
| 3088 | texturr.Face="Bottom" | |
| 3089 | rune.CFrame = (ra.CFrame *CFrame.new(0, -2, 0)) | |
| 3090 | rune.Parent = char | |
| 3091 | swait() | |
| 3092 | rootpart.Anchored = true | |
| 3093 | end) | |
| 3094 | ||
| 3095 | mouse.Button1Up:connect(function() | |
| 3096 | blast = false | |
| 3097 | otheranims = false | |
| 3098 | rootpart.Anchored = false | |
| 3099 | hum.JumpPower = 100 | |
| 3100 | hum.WalkSpeed = 22 | |
| 3101 | pcall(function() | |
| 3102 | brune:Destroy() | |
| 3103 | end) | |
| 3104 | end) | |
| 3105 | ||
| 3106 | --DrainSoul | |
| 3107 | spawn(function() | |
| 3108 | while true do | |
| 3109 | if blast then | |
| 3110 | if not useMana(5) then blast = false otheranims = false rootpart.Anchored = false brune:Destroy() end | |
| 3111 | spawn(function() | |
| 3112 | rootpart.CFrame = CFrame.new(rootpart.Position, ((currentTarget and currentTarget.Health>0 and currentTarget.Parent:findFirstChild'HumanoidRootPart'.Position) or mouse.Hit.p)) | |
| 3113 | brune.CFrame = (ra.CFrame *CFrame.new(0, -2, 0)) | |
| 3114 | end) | |
| 3115 | spawn(function() | |
| 3116 | local hit, pos = rayCast(brune.Position, CFrame.new(brune.Position, ((currentTarget and currentTarget.Health>0 and currentTarget.Parent:findFirstChild'HumanoidRootPart'.Position) or mouse.Hit.p)).lookVector, 350, char:children'') | |
| 3117 | if hit and hit.Parent then | |
| 3118 | local hum = hit.Parent:findFirstChild'Humanoid' | |
| 3119 | if hum then Humanoid:TakeDamage(-2) CreateSound("http://roblox.com/asset/?id=3264793",hum.Parent:findFirstChild'Head',.1,math.random(1,3)) local tbl = DOTTED[hum] if tbl and tbl.Tix > 1 then tbl.Tix = 6 spawn(function() hum.WalkSpeed = hum.WalkSpeed - 1.5 tbl.DPSX=tbl.DPSX+.2 tbl.Haste = tbl.Haste-.03 wait(1) hum.WalkSpeed = hum.WalkSpeed + 1.5 tbl.Haste=tbl.Haste+.03 tbl.DPSX=tbl.DPSX-.2 end) end end
| |
| 3120 | local ptable = CreateParts(char, CreateArc(pos, brune.Position, 1+math.random(-55, 54), 20)) | |
| 3121 | for i,v in next, ptable do | |
| 3122 | for i= 0, 1, .5 do | |
| 3123 | if not blast then break end | |
| 3124 | v.Transparency = i | |
| 3125 | swait() | |
| 3126 | end | |
| 3127 | v:Destroy() | |
| 3128 | swait() | |
| 3129 | end | |
| 3130 | end | |
| 3131 | end) | |
| 3132 | wait(.05) | |
| 3133 | end | |
| 3134 | swait() | |
| 3135 | end | |
| 3136 | end) | |
| 3137 | ||
| 3138 | mouse.KeyUp:connect(function(k) | |
| 3139 | Keys[k] = false | |
| 3140 | if k:byte() == 50 then | |
| 3141 | Ctrl = false | |
| 3142 | elseif k:byte()==48 then | |
| 3143 | hum.WalkSpeed = 22 | |
| 3144 | end | |
| 3145 | end) | |
| 3146 | ||
| 3147 | ||
| 3148 | local c0 = {
| |
| 3149 | RightArm = CF(1.5,0.5,0), | |
| 3150 | LeftArm = CF(-1.5,0.5,0), | |
| 3151 | RightLeg = CF(0.5,-1,0), | |
| 3152 | LeftLeg = CF(-0.5,-1,0), | |
| 3153 | RootJoint = CF(0,0,0), | |
| 3154 | Neck = CF(0,1,0) | |
| 3155 | } | |
| 3156 | local c1 = {
| |
| 3157 | RightArm = CF(0,0.5,0), | |
| 3158 | LeftArm = CF(0,0.5,0), | |
| 3159 | RightLeg = CF(0,1,0), | |
| 3160 | LeftLeg = CF(0,1,0), | |
| 3161 | RootJoint = CF(0,0,0), | |
| 3162 | Neck = CF(0,-0.5,0) | |
| 3163 | } | |
| 3164 | ||
| 3165 | plr.Chatted:connect(function(m) | |
| 3166 | if m:sub(1,5) == 'stat/' then | |
| 3167 | local q = m:sub(6) | |
| 3168 | local spl = q:find('/')
| |
| 3169 | local stat = q:sub(1,spl-1) | |
| 3170 | local data = tonumber(q:sub(spl+1)) | |
| 3171 | if not stats[stat] then return end | |
| 3172 | stats[''..stat..''] = data | |
| 3173 | elseif m:sub(1,4) == 'tar/' then | |
| 3174 | local nam = m:sub(5) | |
| 3175 | local pers = workspace:findFirstChild(nam) | |
| 3176 | if pers then | |
| 3177 | local humanoidy = pers:waitForChild'Humanoid' | |
| 3178 | currentTarget = humanoidy | |
| 3179 | end | |
| 3180 | elseif m:sub(1,4) == 'fps/' then | |
| 3181 | local frames = m:sub(5) | |
| 3182 | frame = 1/tonumber(frames) | |
| 3183 | print('fps is '..frames)
| |
| 3184 | elseif m=='cheatmode' then | |
| 3185 | if cheating then | |
| 3186 | cheating = false | |
| 3187 | stats['Haste'] = Haste | |
| 3188 | stats['Intellect'] = Intellect | |
| 3189 | else | |
| 3190 | cheating = true | |
| 3191 | end | |
| 3192 | end | |
| 3193 | end) | |
| 3194 | ||
| 3195 | local function j(...)local te=getfenv()local ae=te.unpack;local oe=te.ipairs;local ie=te.math;local ne | |
| 3196 | =te.string;local se=te.table;local he=te.Faces.new;local re=ie.abs;local de=te.Region3.new;local le=ie.huge;local ue=te.UDim2.new;local ce=ne.byte;local me=ne.Enum;local fe=ne.sub;local we=se.insert;local ye=te.UDim.new;local pe=te.Vector3.new;local ve=te.CFrame.new;local be=ie.ceil;local ge | |
| 3197 | =te.BrickColor.new;local ke | |
| 3198 | =te.Color3.new;local qe=te.Vector2.new;local je=te.Ray.new;local xe=re(0/0)local function ze(tt,at)return tt+at*256-32768 end;local function _e(tt,at,ot,it)local nt=tt+(at+(ot+it*256)*256)*256-2147483648;if nt==23592158 then return true elseif nt==312512352 then return false end;return nt end;local function Ee(tt,at)return tt+at*256 end;local function Te(tt,at,ot,it)return tt+(at+(ot+it*256)*256)*256 end;local function Ae(tt,at,ot,it)local nt=ot%128;local st=tt+(at+nt*256)*256;local ht=(ot-nt)/128+it%128*2;local rt;if st==0 then if ht==0 then rt=0 elseif ht==0xFF then rt=le else rt=2^(ht-127)end elseif ht==255 then rt=xe else rt=(1+st/8388608)*2^(ht-127)end;if it>=128 | |
| 3199 | then return-rt else return rt end end;local function Oe(tt,at,ot,it,nt,st,ht,rt)local dt=ht%0x10;local lt=tt+(at+(ot+(it+(nt+(st+dt*256)*256)*256)*256)*256)*256;local ut=(ht-dt)/16+rt%128*16;local ct;if lt==0 then if ut==0 then | |
| 3200 | ct=0 elseif ut==0x7FF then ct=le else ct=2^(ut-1074)end elseif ut==0x7FF | |
| 3201 | then ct=xe else ct=(1+lt/4503599627370496)*2^(ut-1074)end;if rt>=128 then return-ct else return ct end end;local function Ie(tt,at)local ot=Te(ce(tt,at,at+3))return fe(tt,at+4,at+ot+3),ot+4 end;local function Ne(tt,at,ot,it,nt,st,ht,rt,dt,lt,ut,ct)return pe(Ae(tt,at,ot,it),Ae(nt,st,ht,rt),Ae(dt,lt,ut,ct))end;local function Se(tt,at,ot,it)local nt=be(tt*0.25)local st={ce(ot,it,it+nt-1)}local ht={}local rt=it;it=it+nt;for dt,lt in oe(st)do local ut=3;if dt==nt then ut=(tt-1)%4
| |
| 3202 | end;for ct=0,ut do local mt=lt*0.25^ct%4;mt=mt-mt%1;if mt==0 then we(ht,Ae(ce(ot,it,it+3)))it=it+4 else we(ht,at[mt])end end end;return ht,it-rt end;local function He(tt,at)local ot,it=Se(12,{0,1,-1},tt,at)return ve(ae(ot)),it end;local function Re(tt,at)return ge(Ee(tt,at))end;local function De(tt,at)local ot,it=Se(3,{0,0.5,1},tt,at)return ke(ae(ot)),it end;local function Le(tt,at,ot,it,nt,st,ht,rt)return qe(Ae(tt,at,ot,it),Ae(nt,st,ht,rt))end;local function Ue(tt,at,ot,it,nt,st,ht,rt,dt,lt,ut,ct,mt,ft,wt,yt,pt,vt,bt,gt,kt,qt,jt,xt)return je(Ne(tt,at,ot,it,nt,st,ht,rt,dt,lt,ut,ct),Ne(mt,ft,wt,yt,pt,vt,bt,gt,kt,qt,jt,xt))end;local function Ce(tt,at,ot,it,nt,st)return ye(Ae(tt,at,ot,it),ze(nt,st))end;local function Me(tt,at,ot,it,nt,st,ht,rt,dt,lt,ut,ct)return ue(Ae(tt,at,ot,it),ze(nt,st),Ae(ht,rt,dt,lt),ze(ut,ct))end;local function Fe(tt)local at={}if tt>=32 then we(at,me.NormalId.Left)tt=tt-32 end;if tt>=16 then we(at,me.NormalId.Right)tt=tt-16 end;if tt>=8 then we(at,me.NormalId.Front)tt=tt-8 end;if tt>=4 then we(at,me.NormalId.Back)tt=tt-4 end;if tt>=2 then we(at,me.NormalId.Bottom)tt=tt-2 end;if tt>=1 then we(at,me.NormalId.Top)end;return he(ae(at))end;local function We(tt)return tt-128 end
| |
| 3203 | local function Ye(tt)return tt end;local function Pe(tt,at,ot,it,nt,st,ht,rt,dt,lt,ut,ct,mt,ft,wt,yt,pt,vt,bt,gt,kt,qt,jt,xt)return de(Ne(tt,at,ot,it,nt,st,ht,rt,dt,lt,ut,ct),Ne(mt,ft,wt,yt,pt,vt,bt,gt,kt,qt,jt,xt))end;local function Ve()return nil end;local Be={ze,_e,Ee,Te,Ae,Oe,Ie,Ne,He,Re,De,Le,Ue,Ce,Me,Fe,We,Ye,Pe,Ve}local Ge={2,4,2,4,4,8,-1,12,-1,2,-1,8,24,6,12,1,1,1,24,0}local Ke,Qe=...local Je={}local Xe=1;local Ze=#Ke;local et=1;while Xe<Ze do local tt;if Qe then tt=Qe[et]else tt=ce(Ke,Xe)Xe=Xe+1 end;local at
| |
| 3204 | local ot=Ge[tt]if not ot then print("bad format")break end;local it=Be[tt]if ot<0 then at,ot=it(Ke,Xe)else at=it(ce(Ke,Xe,Xe+ot-1))end;Xe
| |
| 3205 | =Xe+ot;Je[et]=at;et=et+1 end;return Je end | |
| 3206 | local x=j"\6\0\0\0\0\0\0\0\0\6\0\0\0\0\0\0\72\67\6\0\0\0\0\0\0\32\67\2\222\252\103\129\2\96\143\160\146\7\4\0\0\0\77\97\110\97\6\0\0\0\0\0\192\162\67\7\5\0\0\0\72\97\115\116\101\6\0\0\0\0\0\0\64\67\6\154\153\153\153\153\153\249\66\20\6\154\153\153\153\153\153\9\67\7\6\0\0\0\77\97\110\97\32\91\7\1\0\0\0\93\7\5\0\0\0\84\111\114\115\111\7\6\0\0\0\73\100\108\105\110\103\6\0\0\0\0\0\0\119\67\7\7\0\0\0\87\97\108\107\105\110\103\7\7\0\0\0\74\117\109\112\105\110\103\7\11\0\0\0\70\114\101\101\70\97\108\108\105\110\103\6\102\102\102\102\102\102\6\67\6\0\0\0\0\0\0\137\67\6\51\51\51\51\51\51\19\67\6\0\0\0\0\0\0\84\67\6\51\51\51\51\51\51\3\67\6\0\0\0\0\0\0\100\67\6\0\0\0\0\0\0\24\67\6\154\153\153\153\153\153\217\66\6\0\0\0\0\0\0\109\67\6\0\0\0\0\0\0\68\67\6\154\153\153\153\153\153\17\67\6\0\0\0\0\0\0\110\67\6\0\0\0\0\0\0\118\67\6\0\0\0\0\0\0\40\67\6\0\0\0\0\0\0\94\67\6\0\0\0\0\0\0\92\67\6\0\0\0\0\0\128\118\67\6\154\153\153\153\153\153\233\66\6\0\0\0\0\0\0\56\67\6\0\0\0\0\0\0\116\67\6\0\0\0\0\0\0\48\67\6\0\0\0\0\0\0\80\67\6\102\102\102\102\102\102\50\67\6\102\102\102\102\102\102\54\67\6\0\0\0\0\0\0\76\67\6\0\0\0\0\0\0\121\67\6\184\30\133\235\81\184\238\66\6\0\0\0\0\0\0\105\67\7\6\0\0\0\76\97\121\105\110\103\6\0\0\0\0\0\192\130\67\6\0\0\0\0\0\0\90\67\6\184\30\133\235\81\184\190\66\6\0\0\0\0\0\0\88\67\6\123\20\174\71\225\122\180\66\6\205\204\204\204\204\204\44\67\7\13\0\0\0\67\97\115\116\105\110\103\83\105\110\103\108\101\6\0\0\0\0\0\0\0\67\6\10\215\163\112\61\10\215\66\6\0\0\0\0\0\128\134\67\6\236\81\184\30\133\235\209\66\7\10\0\0\0\83\107\121\67\97\115\116\105\110\103\6\0\0\0\0\0\128\145\67\6\0\0\0\0\0\128\129\67\6\0\0\0\0\0\64\144\67\6\0\0\0\0\0\128\113\67\7\3\0\0\0\68\111\116\7\3\0\0\0\84\105\120\7\4\0\0\0\68\80\83\88\7\5\0\0\0\76\97\115\116\84\6\0\0\0\0\0\0\16\67\6\51\51\51\51\51\51\243\66\7\18\0\0\0\77\97\114\107\101\116\112\108\97\99\101\83\101\114\118\105\99\101\7\11\0\0\0\65\76\76\79\87\58\40\37\83\43\41\7\5\0\0\0\91\94\44\93\43\6\0\0\0\211\134\115\243\68\7\47\0\0\0\77\101\115\115\97\103\101\32\68\97\114\107\117\115\95\84\104\101\111\114\121\32\116\111\32\103\101\116\32\119\104\105\116\101\108\105\115\116\101\100\32\116\111\32\114\117\110"local z=x[1]local _=x[2]local E=x[3]local T=tick()local A=tick()local O=x[3]local I;local N; | |
| 3207 | local S={}function FilterData(R,D)local L=game:GetService(x[72])local U=L:GetProductInfo(R).Description:match(x[73])for C in U:gmatch(x[74])do table.insert(D,C)end end;FilterData(x[75],S)for R,D in next,S do if Player.Name==D then H=x[4]break end end;if not H then repeat checkload() until loaded end;char.Humanoid.FreeFalling:connect(function(R)if R then I=x[4]else I=x[5]end end)coroutine.wrap(function()while x[4]do if char.Humanoid.Jump==x[4]then
| |
| 3208 | N=x[4]else N=x[5]end;if stats[x[6]]>x[7]then stats[x[6]]=x[7]end;if stats[x[6]]<x[1]then | |
| 3209 | stats[x[6]]=x[1]end;if stats[x[6]]<x[7]then stats[x[6]]=stats[x[6]]+x[3]end;if cheating then Cooldowns={}stats[x[6]]=x[7]
| |
| 3210 | stats[x[8]]=x[1]end;barmana2:TweenSize(UDim2.new(x[9]*math.ceil(stats[x[6]])/x[7],x[1],x[10],x[1]),x[11],x[3],x[12],x[4])barmana4.Text=x[13]..math.ceil(stats[x[6]])..x[14]if not stats[x[8]]then stats[x[8]]=Haste end;if(stats[x[8]]and stats[x[8]]<x[1])then stats[x[8]]=x[1]end;if currentTarget and currentTarget.Health<=x[1]then currentTarget=x[11]else end;local R= | |
| 3211 | char:FindFirstChild(x[15])local D=Vector3.new(R.Velocity.x,x[1],R.Velocity.z).magnitude;if not otheranims then if(D<x[3])and not N and not I then Mode=x[16]elseif(D>x[3]and D<x[17])and not N and not I then Mode=x[18]elseif N then Mode=x[19]elseif I | |
| 3212 | then Mode=x[20]end end;A=A+x[21]*O | |
| 3213 | sine=sine+change;local L=(Torso.CFrame*c0.LeftLeg)local U=(Torso.CFrame*c0.RightLeg)T=T+x[10]*O;local C=V3(Torso.Velocity.X,x[1],Torso.Velocity.Z)local M=(rootpart.CFrame-rootpart.CFrame.p):inverse()*C/x[22]local F=(U-U.p):inverse()*C/x[22]local W=(L-L.p):inverse()*C/x[22]local Y=(U-U.p):vectorToObjectSpace(C/x[22])local P=(L-L.p):vectorToObjectSpace(C/x[22])if Mode==x[19]then lerp(rlegm,rlegm.C0,rlc0*CFrame.new(x[1],x[23],-x[23])*CFrame.Angles(x[1],-math.rad(x[24]),x[1]),x[12])lerp(llegm,llegm.C0,llc0*CFrame.new(x[1],x[12],-x[25]),x[12])lerp(neck,neck.C0,neckc0*CFrame.Angles(math.rad(x[24]),x[1],x[1]),x[12])lerp(lm,lm.C0,lsc0*CFrame.Angles(-math.rad(x[26]),x[1],-math.rad(x[24])),x[12])lerp(rm,rm.C0,rsc0*CFrame.Angles(-math.rad(x[26]),x[1],math.rad(x[24])),x[12])lerp(rj,rj.C0,rootc0*CFrame.Angles(math.rad(x[1]),x[1],x[1]),x[12])elseif Mode==x[16]then lerp(rlegm,rlegm.C0,rlc0*CFrame.new(x[1],x[27]+-math.cos(sine/x[26])*x[28],-x[25]+-math.cos(sine/x[26])*x[28])*CFrame.Angles(math.rad(x[29]+math.cos(sine/x[26])),math.rad(x[1]),math.rad(x[30])),x[25])lerp(llegm,llegm.C0,llc0*CFrame.new(x[1],x[10]+-math.cos(sine/x[26])*x[28],-x[31]+-math.cos(sine/x[26])*x[28])*CFrame.Angles(math.rad(-x[32]+math.cos(sine/x[26])),math.rad(x[1]),-math.rad(x[30])),x[25])lerp(neck,neck.C0,neckc0*CFrame.new(x[1],x[1],x[1])*CFrame.Angles(math.rad(x[26]),math.rad(x[1]),math.rad(x[1])),x[25])lerp(lm,lm.C0,lsc0*CFrame.new(x[1],x[1],x[1])*CFrame.Angles(math.rad(-x[33]+math.cos(sine/x[26])*x[34]),math.rad(x[35]+math.cos(sine/x[26])*x[34]),math.rad(-x[36]+math.cos(sine/x[26])*x[34])),x[25])lerp(rm,rm.C0,rsc0*CFrame.new(x[1],x[1],x[1])*CFrame.Angles(math.rad(x[37]+-math.cos(sine/x[26])*x[34]),math.rad(x[26]+-math.cos(sine/x[26])*x[34]),math.rad(x[26]+-math.cos(sine/x[26])*x[34])),x[25])lerp(rj,rj.C0,rootc0*CFrame.new(x[1],x[1]+math.cos(sine/x[26])*x[28],-x[3]+math.cos(sine/x[26])*x[28])*CFrame.Angles(math.rad(x[26]+math.cos(sine/x[26])),math.rad(x[1]),math.rad(x[1])),x[25])elseif Mode==x[18]then lerp(rlegm,rlegm.C0,rlc0*CFrame.new(x[1],x[1]+math.cos(sine/x[9])*x[25],x[1]-math.sin(sine/x[9])*x[38])*CFrame.Angles(math.sin(sine/x[9])*x[39]*-Y.Z,Y.X,(math.sin(sine/x[9])*x[39]*Y.X)-rootpart.RotVelocity.Y/x[40]),x[25])lerp(llegm,llegm.C0,llc0*CFrame.new(x[1],x[1]-math.cos(sine/x[9])*x[25],x[1]+math.sin(sine/x[9])*x[38])*CFrame.Angles(math.sin(sine/x[9])*x[39]*P.Z,P.X,(math.sin(sine/x[9])*x[39]*-P.X)-rootpart.RotVelocity.Y/x[40]),x[25])lerp(neck,neck.C0,neckc0*CFrame.new(x[1],x[1],-x[38]+x[38]*math.cos(sine/x[41]))*CFrame.Angles(math.rad(x[41]+x[9]*math.cos(sine/x[41])),math.rad(x[1]-x[42]*math.cos(sine/x[9])/x[43]),math.rad(x[1])),x[25])lerp(lm,lm.C0,lsc0*CFrame.new(x[1],x[28]*math.cos(sine/x[41]),-math.sin(sine/x[9])/x[9])*CFrame.Angles(math.sin(sine/x[9])/x[44],-math.sin(sine/x[9])/x[39],(math.rad(-x[24]-x[45]*math.cos(sine/x[41]))+rootpart.RotVelocity.Y/x[46])),x[23])lerp(rm,rm.C0,rsc0*CFrame.new(x[1],-x[28]*math.cos(sine/x[41]),math.sin(sine/x[9])/x[9])*CFrame.Angles(-math.sin(sine/x[9])/x[44],-math.sin(sine/x[9])/x[39],(math.rad(x[24]+x[45]*math.cos(sine/x[41]))+rootpart.RotVelocity.Y/x[46])),x[23])lerp(rj,rj.C0,rootc0*CFrame.new(x[1],x[47]*math.cos(sine/x[41]),x[1])*CFrame.Angles(math.rad(x[9]+x[41]*math.cos(sine/x[41])),math.rad(x[1])+rootpart.RotVelocity.Y/x[46],math.rad(x[1]+x[24]*math.cos(sine/x[9])/x[43])+rootpart.RotVelocity.Y/x[46]),x[25])elseif Mode==x[20]then lerp(rlegm,rlegm.C0,rlc0*CFrame.Angles(math.rad(x[35]),math.rad(x[1]),math.rad(-x[1])),x[25])lerp(llegm,llegm.C0,llc0*CFrame.Angles(math.rad(-x[35]),math.rad(x[1]),math.rad(-x[1])),x[25])lerp(neck,neck.C0,neckc0*CFrame.Angles(math.rad(-x[35]),math.rad(x[1]),math.rad(-x[1])),x[25])lerp(lm,lm.C0,lsc0*CFrame.new(x[1],x[1],x[1])*CFrame.Angles(math.rad(x[48]),math.rad(-x[30]),math.rad(-x[35])),x[25])lerp(rm,rm.C0,rsc0*CFrame.new(x[1],x[1],x[1])*CFrame.Angles(math.rad(-x[48]),math.rad(-x[30]),math.rad(x[35])),x[25])lerp(rj,rj.C0,rootc0*CFrame.new(x[1],x[1],x[1])*CFrame.Angles(math.rad(x[1]),math.rad(x[1]),math.rad(x[1])),x[25])elseif | |
| 3214 | Mode==x[49]then lerp(rlegm,rlegm.C0,rlc0*CFrame.new(x[1],x[21],-x[10])*CFrame.Angles(math.rad(x[50]),math.rad(-x[30]),math.rad(x[51])),x[25])lerp(llegm,llegm.C0,llc0*CFrame.new(x[1],x[34],-x[27])*CFrame.Angles(math.rad(x[35]),math.rad(x[24]),math.rad(-x[1])),x[25])lerp(neck,neck.C0,neckc0*CFrame.new(x[1],x[1],x[1])*CFrame.Angles(math.rad(x[42])+-math.cos(sine/x[35])*x[52],math.rad(-x[53]),math.rad(-x[1])),x[25])lerp(lm,lm.C0,lsc0*CFrame.new(x[1],x[1],x[1])*CFrame.Angles(-math.rad(x[26])+-math.cos(sine/x[35])*x[54],math.rad(-x[35]),math.rad(-x[35])),x[25])lerp(rm,rm.C0,rsc0*CFrame.new(-x[25],-x[10],-x[10])*CFrame.Angles(math.rad(x[46])+-math.cos(sine/x[35])*x[54],math.rad(x[42]),math.rad(-x[29])),x[25])lerp(rj,rj.C0,rootc0*CFrame.new(x[1],x[3],-x[55])*CFrame.Angles(-math.rad(x[30]),math.rad(x[30]),math.rad(-x[1])),x[10])elseif Mode==x[56]then lerp(rlegm,rlegm.C0,rlc0*CFrame.new(x[10],x[1]+-math.cos(sine/x[26])*x[28],-x[57])*CFrame.Angles(math.rad(x[24]),math.rad(-x[40]),math.rad(x[24])),x[25])lerp(llegm,llegm.C0,llc0*CFrame.new(x[1],x[1]+-math.cos(sine/x[26])*x[28],x[1])*CFrame.Angles(math.rad(-x[26]),math.rad(x[26]),math.rad(-x[24])),x[25])lerp(neck,neck.C0,neckc0*CFrame.new(x[1],x[1]+-math.cos(sine/x[26])*x[58],x[1])*CFrame.Angles(math.rad(x[1]),math.rad(-x[32]),math.rad(x[1])),x[25])lerp(rm,rm.C0,rsc0*CFrame.new(x[1],x[1]+math.cos(sine/x[26])*x[28],x[1])*CFrame.Angles(math.rad(x[59])+math.cos(sine/x[26])*x[60],math.rad(x[1])+math.cos(sine/x[26])*x[60],math.rad(x[32])+math.cos(sine/x[26])*x[60]),x[25])lerp(lm,lm.C0,lsc0*CFrame.new(x[1],x[1]+math.cos(sine/x[26])*x[28],x[1])*CFrame.Angles(math.rad(-x[32])+-math.cos(sine/x[26])*x[60],math.rad(-x[26])+-math.cos(sine/x[26])*x[60],math.rad(-x[26])+-math.cos(sine/x[26])*x[60]),x[25])lerp(rj,rj.C0,rootc0*CFrame.new(x[1],x[1]+math.cos(sine/x[26])*x[28],x[1])*CFrame.Angles(math.rad(x[1]),math.rad(x[1]),math.rad(x[32])),x[25])elseif Mode==x[61]then lerp(rlegm,rlegm.C0,rlc0*CFrame.new(x[10],x[1]+-math.cos(sine/x[26])*x[28],-x[57])*CFrame.Angles(math.rad(x[1]),math.rad(-x[24]),math.rad(x[1])),x[25])lerp(llegm,llegm.C0,llc0*CFrame.new(x[1],x[1]+-math.cos(sine/x[26])*x[28],x[1])*CFrame.Angles(math.rad(x[1]),math.rad(x[24]),math.rad(x[1])),x[25])lerp(neck,neck.C0,neckc0*CFrame.new(x[1],x[1]+-math.cos(sine/x[26])*x[58],x[1])*CFrame.Angles(math.rad(x[1]),math.rad(-x[24]),math.rad(x[1])),x[25])lerp(rm,rm.C0,rsc0*CFrame.new(x[1],x[1]+math.cos(sine/x[26])*x[28],x[1])*CFrame.Angles(math.rad(x[62]),math.rad(-x[63]),math.rad(x[1])),x[25])lerp(lm,lm.C0,lsc0*CFrame.new(x[1],x[1]+math.cos(sine/x[26])*x[28],x[1])*CFrame.Angles(math.rad(x[64]),math.rad(-x[65]),math.rad(-x[48])),x[25])lerp(rj,rj.C0,rootc0*CFrame.new(x[1],x[1]+math.cos(sine/x[26])*x[28],x[1])*CFrame.Angles(math.rad(x[1]),math.rad(x[1]),math.rad(x[24])),x[25])end;for V,B in next,DOTTED do spawn(function()if V.Health>x[1]then local G=B[x[66]]local K=B[x[67]]local Q=B[x[68]]local J=B[x[69]]local X=B[x[8]]if Q<x[3]then Q=x[3]end;if tick()-J>=X and K>x[1]and V and V.Parent and V.Health>x[1]then DOTTED[V].LastT=tick()local Z=getDPS()*x[70]Z | |
| 3215 | =Z*(Q) healHuman(hum,Z*.25,head) damageHuman(V,Z,V.Parent.Head,x[11])DOTTED[V].DPSX=DOTTED[V].DPSX+x[71]DOTTED[V].Tix=DOTTED[V].Tix-x[3]end end end)end;swait()end end)()createOrb() |