Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---//The Ruler Of Space And Time
- ---||Roblox Edit
- ---\\Edited By Leo
- -- This script has been converted to FE by iPxter
- if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
- local Player,Mouse,mouse,UserInputService,ContextActionService = owner
- do
- print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
- script.Parent = Player.Character
- --RemoteEvent for communicating
- local Event = Instance.new("RemoteEvent")
- Event.Name = "UserInput_Event"
- --Fake event to make stuff like Mouse.KeyDown work
- local function fakeEvent()
- local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
- t.connect = t.Connect
- return t
- end
- --Creating fake input objects with fake variables
- local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
- local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
- local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
- CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
- end}
- --Merged 2 functions into one by checking amount of arguments
- CAS.UnbindAction = CAS.BindAction
- --This function will trigger the events that have been :Connect()'ed
- local function te(self,ev,...)
- local t = m[ev]
- if t and t._fakeEvent and t.Function then
- t.Function(...)
- end
- end
- m.TrigEvent = te
- UIS.TrigEvent = te
- Event.OnServerEvent:Connect(function(plr,io)
- if plr~=Player then return end
- if io.isMouse then
- m.Target = io.Target
- m.Hit = io.Hit
- else
- local b = io.UserInputState == Enum.UserInputState.Begin
- if io.UserInputType == Enum.UserInputType.MouseButton1 then
- return m:TrigEvent(b and "Button1Down" or "Button1Up")
- end
- for _,t in pairs(CAS.Actions) do
- for _,k in pairs(t.Keys) do
- if k==io.KeyCode then
- t.Function(t.Name,io.UserInputState,io)
- end
- end
- end
- m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
- UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
- end
- end)
- Event.Parent = NLS([==[
- local Player = game:GetService("Players").LocalPlayer
- local Event = script:WaitForChild("UserInput_Event")
- local UIS = game:GetService("UserInputService")
- local input = function(io,a)
- if a then return end
- --Since InputObject is a client-side instance, we create and pass table instead
- Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
- end
- UIS.InputBegan:Connect(input)
- UIS.InputEnded:Connect(input)
- local Mouse = Player:GetMouse()
- local h,t
- --Give the server mouse data 30 times every second, but only if the values changed
- --If player is not moving their mouse, client won't fire events
- while wait(1/30) do
- if h~=Mouse.Hit or t~=Mouse.Target then
- h,t=Mouse.Hit,Mouse.Target
- Event:FireServer({isMouse=true,Target=t,Hit=h})
- end
- end]==],Player.Character)
- Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
- end
- local Player = owner
- local Character = Player.Character
- local Humanoid = Character.Humanoid
- local LeftArm = Character["Left Arm"]
- local RightArm = Character["Right Arm"]
- local LeftLeg = Character["Left Leg"]
- local RightLeg = Character["Right Leg"]
- local Head = Character.Head
- local Torso = Character.Torso
- local Camera = game.Workspace.CurrentCamera
- local RootPart = Character.HumanoidRootPart
- local RootJoint = RootPart.RootJoint
- local attack = false
- local Anim = 'Idle'
- local Lighty = game:GetService"Lighting"
- local attacktype = 1
- local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
- local velocity = RootPart.Velocity.y
- local sine = 0
- local change = 1
- local bored = {492070484,1232162751,1534958855,303535614,1117396305,0}
- local Create = LoadLibrary("RbxUtility").Create
- function swait(num)
- if num == 0 or num == nil then
- ArtificialHB.Event:wait()
- else
- for i = 0, num do
- ArtificialHB.Event:wait()
- end
- end
- end
- wait(0.2)
- Player = owner
- PlayerGui = Player.PlayerGui
- Cam = workspace.CurrentCamera
- Backpack = Player.Backpack
- Character = Player.Character
- Humanoid = Character.Humanoid
- RootPart = Character["HumanoidRootPart"]
- Torso = Character["Torso"]
- Head = Character["Head"]
- RightArm = Character["Right Arm"]
- LeftArm = Character["Left Arm"]
- RightLeg = Character["Right Leg"]
- LeftLeg = Character["Left Leg"]
- RootJoint = RootPart["RootJoint"]
- Neck = Torso["Neck"]
- RightShoulder = Torso["Right Shoulder"]
- LeftShoulder = Torso["Left Shoulder"]
- RightHip = Torso["Right Hip"]
- LeftHip = Torso["Left Hip"]
- Character.Archivable = true
- Player:ClearCharacterAppearance()
- IT = Instance.new
- CF = CFrame.new
- VT = Vector3.new
- RAD = math.rad
- C3 = Color3.new
- UD2 = UDim2.new
- BRICKC = BrickColor.new
- ANGLES = CFrame.Angles
- EULER = CFrame.fromEulerAnglesXYZ
- COS = math.cos
- ACOS = math.acos
- SIN = math.sin
- ASIN = math.asin
- ABS = math.abs
- MRANDOM = math.random
- FLOOR = math.floor
- local CHOICE = MRANDOM(1,5)
- --//=================================\\
- --|| USEFUL VALUES
- --\\=================================//
- Animation_Speed = 3
- Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
- local Speed = 20
- local SIZE = 1
- local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
- local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
- local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
- local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
- local DAMAGEMULTIPLIER = "inf"
- local ANIM = "Idle"
- local ATTACK = false
- local EQUIPPED = false
- local HOLD = false
- local COMBO = 1
- local Rooted = false
- local SINE = 0
- local KEYHOLD = false
- local CHANGE = 2 / Animation_Speed
- local WALKINGANIM = false
- local VALUE1 = false
- local VALUE2 = false
- local ROBLOXIDLEANIMATION = IT("Animation")
- ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
- ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
- local ATANIM = IT("Animation")
- ATANIM.Name = "Attack Animation"
- ATANIM.AnimationId = "http://www.roblox.com/asset/?id=74894663"
- --ROBLOXIDLEANIMATION.Parent = Humanoid
- local WEAPONGUI = IT("ScreenGui", PlayerGui)
- WEAPONGUI.Name = "Weapon GUI"
- local Weapon = IT("Model")
- Weapon.Name = "Adds"
- local Effects = IT("Folder", Weapon)
- Effects.Name = "Effects"
- local ANIMATOR = Humanoid.Animator
- local ANIMATE = Character.Animate
- local UNANCHOR = true
- local CLOCKLOOP = 0
- local SONG = 492070484
- local CLOCKTARGET = nil
- local CLOCKSPEED = 4
- script.Parent = WEAPONGUI
- local CLONE = Character:Clone()
- CLONE.Parent = nil
- Character.Archivable = false
- local sick = Instance.new("Sound",Torso)
- sick.Volume = 50999
- local LAUGHS = {834001699,834001752,834001797,834001828}
- local SONGS = {534861083,530959353,1534958855,0}
- local CHOICE = MRANDOM(1,4)
- local TOBANISH = {}
- local EXTRATRANS = 0
- local Effects2 = {}
- local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
- local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
- local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
- local HITBLOCKSOUNDS = {"199148933", "199148947"}
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| SAZERENOS' ARTIFICIAL HEARTBEAT
- --\\=================================//
- ArtificialHB = Instance.new("BindableEvent", script)
- ArtificialHB.Name = "ArtificialHB"
- script:WaitForChild("ArtificialHB")
- frame = Frame_Speed
- tf = 0
- allowframeloss = false
- tossremainder = false
- lastframe = tick()
- script.ArtificialHB:Fire()
- game:GetService("RunService").Heartbeat:connect(function(s, p)
- tf = tf + s
- if tf >= frame then
- if allowframeloss then
- script.ArtificialHB:Fire()
- lastframe = tick()
- else
- for i = 1, math.floor(tf / frame) do
- script.ArtificialHB:Fire()
- end
- lastframe = tick()
- end
- if tossremainder then
- tf = 0
- else
- tf = tf - frame * math.floor(tf / frame)
- end
- end
- end)
- --//=================================\\
- --\\=================================//
- --//=================================\\
- --|| SOME FUNCTIONS
- --\\=================================//
- function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
- return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
- end
- function PositiveAngle(NUMBER)
- if NUMBER >= 0 then
- NUMBER = 0
- end
- return NUMBER
- end
- function NegativeAngle(NUMBER)
- if NUMBER <= 0 then
- NUMBER = 0
- end
- return NUMBER
- end
- function Swait(NUMBER)
- if NUMBER == 0 or NUMBER == nil then
- ArtificialHB.Event:wait()
- else
- for i = 1, NUMBER do
- ArtificialHB.Event:wait()
- end
- end
- end
- function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
- local NEWMESH = IT(MESH)
- if MESH == "SpecialMesh" then
- NEWMESH.MeshType = MESHTYPE
- if MESHID ~= "nil" and MESHID ~= "" then
- NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
- end
- if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
- NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
- end
- end
- NEWMESH.Offset = OFFSET or VT(0, 0, 0)
- NEWMESH.Scale = SCALE
- NEWMESH.Parent = PARENT
- return NEWMESH
- end
- function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
- local NEWPART = IT("Part")
- NEWPART.formFactor = FORMFACTOR
- NEWPART.Reflectance = REFLECTANCE
- NEWPART.Transparency = TRANSPARENCY
- NEWPART.CanCollide = false
- NEWPART.Locked = true
- NEWPART.Anchored = true
- if ANCHOR == false then
- NEWPART.Anchored = false
- end
- NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
- NEWPART.Name = NAME
- NEWPART.Size = SIZE
- NEWPART.Position = Torso.Position
- NEWPART.Material = MATERIAL
- NEWPART:BreakJoints()
- NEWPART.Parent = PARENT
- return NEWPART
- end
- local function weldBetween(a, b)
- local weldd = Instance.new("ManualWeld")
- weldd.Part0 = a
- weldd.Part1 = b
- weldd.C0 = CFrame.new()
- weldd.C1 = b.CFrame:inverse() * a.CFrame
- weldd.Parent = a
- return weldd
- end
- function QuaternionFromCFrame(cf)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5 / s
- return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
- else
- local i = 0
- if m11 > m00 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00 - m11 - m22 + 1)
- local recip = 0.5 / s
- return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
- elseif i == 1 then
- local s = math.sqrt(m11 - m22 - m00 + 1)
- local recip = 0.5 / s
- return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
- elseif i == 2 then
- local s = math.sqrt(m22 - m00 - m11 + 1)
- local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
- end
- end
- end
- function QuaternionToCFrame(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w * xs, w * ys, w * zs
- local xx = x * xs
- local xy = x * ys
- local xz = x * zs
- local yy = y * ys
- local yz = y * zs
- local zz = z * zs
- return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
- end
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
- local startInterp, finishInterp;
- if cosTheta >= 0.0001 then
- if (1 - cosTheta) > 0.0001 then
- local theta = ACOS(cosTheta)
- local invSinTheta = 1 / SIN(theta)
- startInterp = SIN((1 - t) * theta) * invSinTheta
- finishInterp = SIN(t * theta) * invSinTheta
- else
- startInterp = 1 - t
- finishInterp = t
- end
- else
- if (1 + cosTheta) > 0.0001 then
- local theta = ACOS(-cosTheta)
- local invSinTheta = 1 / SIN(theta)
- startInterp = SIN((t - 1) * theta) * invSinTheta
- finishInterp = SIN(t * theta) * invSinTheta
- else
- startInterp = t - 1
- finishInterp = t
- end
- end
- return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
- end
- function Clerp(a, b, t)
- local qa = {QuaternionFromCFrame(a)}
- local qb = {QuaternionFromCFrame(b)}
- local ax, ay, az = a.x, a.y, a.z
- local bx, by, bz = b.x, b.y, b.z
- local _t = 1 - t
- return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
- end
- function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
- local frame = IT("Frame")
- frame.BackgroundTransparency = TRANSPARENCY
- frame.BorderSizePixel = BORDERSIZEPIXEL
- frame.Position = POSITION
- frame.Size = SIZE
- frame.BackgroundColor3 = COLOR
- frame.BorderColor3 = BORDERCOLOR
- frame.Name = NAME
- frame.Parent = PARENT
- return frame
- end
- function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
- local label = IT("TextLabel")
- label.BackgroundTransparency = 1
- label.Size = UD2(1, 0, 1, 0)
- label.Position = UD2(0, 0, 0, 0)
- label.TextColor3 = TEXTCOLOR
- label.TextStrokeTransparency = STROKETRANSPARENCY
- label.TextTransparency = TRANSPARENCY
- label.FontSize = TEXTFONTSIZE
- label.Font = TEXTFONT
- label.BorderSizePixel = BORDERSIZEPIXEL
- label.TextScaled = false
- label.Text = TEXT
- label.Name = NAME
- label.Parent = PARENT
- return label
- end
- function NoOutlines(PART)
- PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
- end
- function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
- local NEWWELD = IT(TYPE)
- NEWWELD.Part0 = PART0
- NEWWELD.Part1 = PART1
- NEWWELD.C0 = C0
- NEWWELD.C1 = C1
- NEWWELD.Parent = PARENT
- return NEWWELD
- end
- local S = IT("Sound")
- function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
- local NEWSOUND = nil
- coroutine.resume(coroutine.create(function()
- NEWSOUND = S:Clone()
- NEWSOUND.Parent = PARENT
- NEWSOUND.Volume = VOLUME
- NEWSOUND.Pitch = PITCH
- NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
- NEWSOUND:play()
- if DOESLOOP == true then
- NEWSOUND.Looped = true
- else
- local REPOSITION = NEWSOUND.AncestryChanged:Connect(function()
- NEWSOUND.Parent = PARENT
- end)
- repeat wait(1) until NEWSOUND.Playing == false
- REPOSITION:disconnect()
- NEWSOUND:remove()
- end
- end))
- return NEWSOUND
- end
- function CFrameFromTopBack(at, top, back)
- local right = top:Cross(back)
- return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
- end
- --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- function WACKYEFFECT(Table)
- local TYPE = (Table.EffectType or "Sphere")
- local SIZE = (Table.Size or VT(1,1,1))
- local ENDSIZE = (Table.Size2 or VT(0,0,0))
- local TRANSPARENCY = (Table.Transparency or 0)
- local ENDTRANSPARENCY = (Table.Transparency2 or 1)
- local CFRAME = (Table.CFrame or Torso.CFrame)
- local MOVEDIRECTION = (Table.MoveToPos or nil)
- local ROTATION1 = (Table.RotationX or 0)
- local ROTATION2 = (Table.RotationY or 0)
- local ROTATION3 = (Table.RotationZ or 0)
- local MATERIAL = (Table.Material or "Neon")
- local COLOR = (Table.Color or C3(1,1,1))
- local TIME = (Table.Time or 45)
- local SOUNDID = (Table.SoundID or nil)
- local SOUNDPITCH = (Table.SoundPitch or nil)
- local SOUNDVOLUME = (Table.SoundVolume or nil)
- coroutine.resume(coroutine.create(function()
- local PLAYSSOUND = false
- local SOUND = nil
- local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
- if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
- PLAYSSOUND = true
- SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
- end
- EFFECT.Color = COLOR
- local MSH = nil
- if TYPE == "Sphere" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
- elseif TYPE == "Block" then
- MSH = IT("BlockMesh",EFFECT)
- MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
- elseif TYPE == "Wave" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
- elseif TYPE == "Ring" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
- elseif TYPE == "Slash" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
- elseif TYPE == "Round Slash" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
- elseif TYPE == "Swirl" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
- elseif TYPE == "Skull" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
- elseif TYPE == "Crystal" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
- end
- if MSH ~= nil then
- local MOVESPEED = nil
- if MOVEDIRECTION ~= nil then
- MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
- end
- local GROWTH = SIZE - ENDSIZE
- local TRANS = TRANSPARENCY - ENDTRANSPARENCY
- if TYPE == "Block" then
- EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- else
- EFFECT.CFrame = CFRAME
- end
- for LOOP = 1, TIME+1 do
- Swait()
- MSH.Scale = MSH.Scale - GROWTH/TIME
- if TYPE == "Wave" then
- MSH.Offset = VT(0,0,-MSH.Scale.X/8)
- end
- EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
- if TYPE == "Block" then
- EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- else
- EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
- end
- if MOVEDIRECTION ~= nil then
- local ORI = EFFECT.Orientation
- EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
- EFFECT.Orientation = ORI
- end
- end
- EFFECT.Transparency = 1
- if PLAYSSOUND == false then
- EFFECT:remove()
- else
- repeat Swait() until SOUND.Playing == false
- EFFECT:remove()
- end
- else
- if PLAYSSOUND == false then
- EFFECT:remove()
- else
- repeat Swait() until SOUND.Playing == false
- EFFECT:remove()
- end
- end
- end))
- end
- function Shatter(Part)
- if Part.Transparency < 1 then
- local SOUNDPART = CreatePart(3, Effects, "Glass", 0, Part.Transparency + 0.1, Part.BrickColor, "OOF", VT(0,0,0))
- Debris:AddItem(SOUNDPART,5)
- CreateSound("626807593", SOUNDPART, 3, MRANDOM(8,12)/10, false)
- local SIZE = Part.Size.X + Part.Size.Y + Part.Size.Z
- local SIZESET = SIZE/4
- local XOffset = Part.Size.X*1.5/SIZESET
- local YOffset = Part.Size.Y*1.5/SIZESET
- local ZOffset = Part.Size.Z*1.5/SIZESET
- for x = 1, math.ceil(XOffset) do
- for y = 1, math.ceil(YOffset) do
- for z = 1, math.ceil(ZOffset) do
- local SHARD = CreatePart(3, Effects, "Glass", 0, 0.15, Part.BrickColor, "Shard", VT(SIZE,SIZE,SIZE)/10, false)
- SHARD.CanCollide = true
- SHARD.CFrame = Part.CFrame*CF((Part.Size.X/2-Part.Size.X/4),(Part.Size.Y/2-Part.Size.Y/4),(Part.Size.Z/2-Part.Size.Z/4))
- SHARD.Velocity = VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))*3
- Debris:AddItem(SHARD,MRANDOM(10,25)/10)
- for _, c in pairs(Part:GetChildren()) do
- if c.ClassName == "ParticleEmitter" or c.ClassName == "PointLight" or c.ClassName == "Fire" then
- c:Clone().Parent = SHARD
- end
- end
- end
- end
- end
- end
- Part:remove()
- end
- --Lightning({Material = "Neon", FadeIn = false, Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 15, Thicken = false})
- function Lightning(Table)
- local Color = Table.Color or C3(1,1,1)
- local StartPos = Table.Start or Torso.Position
- local EndPos = Table.End or Mouse.Hit.p
- local SegmentLength = Table.SegmentL or 2
- local Thickness = Table.Thickness or 0.1
- local Dissapear = Table.DoesFade or false
- local Parent = Table.Ignore or Character
- local MaxDist = Table.MaxDist or 400
- local Branches = Table.Branches or false
- local Thicken = Table.Thicken or false
- local FadeTime = Table.FadeTime or 15
- local FadeIn = Table.FadeIn or false
- local Material = Table.Material or "Neon"
- local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
- local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/((SegmentLength/SegmentLength)/1.5))
- local LIGHTNINGMODEL = IT("Model",Effects)
- LIGHTNINGMODEL.Name = "Lightning"
- local LastBolt = nil
- for E = 1, DISTANCE do
- local ExtraSize = 0
- if Thicken == true then
- ExtraSize = (DISTANCE-E)/15
- end
- local TRANSPARENCY = 0
- if FadeIn == true then
- TRANSPARENCY = 1-(E/(DISTANCE/1.5))
- if TRANSPARENCY < 0 then
- TRANSPARENCY = 0
- end
- end
- local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
- PART.Color = Color
- MakeForm(PART,"Cyl")
- if LastBolt == nil then
- PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
- else
- PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,DISTANCE-E).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
- end
- LastBolt = PART
- if Branches == true and E < (DISTANCE-5) then
- local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
- if CHOICE == 1 then
- local LASTBRANCH = nil
- for i = 1, MRANDOM(2,5) do
- local ExtraSize2 = 0
- if Thicken == true then
- ExtraSize = ((DISTANCE-E)/25)/i
- end
- local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
- PART.Color = Color
- MakeForm(PART,"Cyl")
- if LASTBRANCH == nil then
- PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
- else
- PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
- end
- LASTBRANCH = PART
- end
- end
- end
- end
- if Dissapear == true then
- coroutine.resume(coroutine.create(function()
- for i = 1, FadeTime do
- Swait()
- for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
- if c.ClassName == "Part" then
- c.Transparency = c.Transparency + (i/FadeTime)/10
- end
- end
- end
- LIGHTNINGMODEL:remove()
- end))
- elseif Dissapear == false then
- Debris:AddItem(LIGHTNINGMODEL,0.1)
- end
- return {Hit = HIT,Pos = HITPOS,End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
- end
- function MakeForm(PART,TYPE)
- if TYPE == "Cyl" then
- local MSH = IT("CylinderMesh",PART)
- elseif TYPE == "Ball" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Sphere"
- elseif TYPE == "Wedge" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Wedge"
- end
- end
- Debris = game:GetService("Debris")
- function CastProperRay(StartPos, EndPos, Distance, Ignore)
- local DIRECTION = CF(StartPos,EndPos).lookVector
- return Raycast(StartPos, DIRECTION, Distance, Ignore)
- end
- function turnto(position)
- RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
- end
- function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
- return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
- end
- function PositiveAngle(NUMBER)
- if NUMBER >= 0 then
- NUMBER = 0
- end
- return NUMBER
- end
- function NegativeAngle(NUMBER)
- if NUMBER <= 0 then
- NUMBER = 0
- end
- return NUMBER
- end
- function Swait(NUMBER)
- if NUMBER == 0 or NUMBER == nil then
- ArtificialHB.Event:wait()
- else
- for i = 1, NUMBER do
- ArtificialHB.Event:wait()
- end
- end
- end
- function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
- local NEWMESH = IT(MESH)
- if MESH == "SpecialMesh" then
- NEWMESH.MeshType = MESHTYPE
- if MESHID ~= "nil" and MESHID ~= "" then
- NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
- end
- if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
- NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
- end
- end
- NEWMESH.Offset = OFFSET or VT(0, 0, 0)
- NEWMESH.Scale = SCALE
- NEWMESH.Parent = PARENT
- return NEWMESH
- end
- function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
- local NEWPART = IT("Part")
- NEWPART.formFactor = FORMFACTOR
- NEWPART.Reflectance = REFLECTANCE
- NEWPART.Transparency = TRANSPARENCY
- NEWPART.CanCollide = false
- NEWPART.Locked = true
- NEWPART.Anchored = true
- if ANCHOR == false then
- NEWPART.Anchored = false
- end
- NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
- NEWPART.Name = NAME
- NEWPART.Size = SIZE
- NEWPART.Position = Torso.Position
- NEWPART.Material = MATERIAL
- NEWPART:BreakJoints()
- NEWPART.Parent = PARENT
- return NEWPART
- end
- local function weldBetween(a, b)
- local weldd = Instance.new("ManualWeld")
- weldd.Part0 = a
- weldd.Part1 = b
- weldd.C0 = CFrame.new()
- weldd.C1 = b.CFrame:inverse() * a.CFrame
- weldd.Parent = a
- return weldd
- end
- function QuaternionFromCFrame(cf)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5 / s
- return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
- else
- local i = 0
- if m11 > m00 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00 - m11 - m22 + 1)
- local recip = 0.5 / s
- return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
- elseif i == 1 then
- local s = math.sqrt(m11 - m22 - m00 + 1)
- local recip = 0.5 / s
- return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
- elseif i == 2 then
- local s = math.sqrt(m22 - m00 - m11 + 1)
- local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
- end
- end
- end
- function QuaternionToCFrame(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w * xs, w * ys, w * zs
- local xx = x * xs
- local xy = x * ys
- local xz = x * zs
- local yy = y * ys
- local yz = y * zs
- local zz = z * zs
- return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
- end
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
- local startInterp, finishInterp;
- if cosTheta >= 0.0001 then
- if (1 - cosTheta) > 0.0001 then
- local theta = ACOS(cosTheta)
- local invSinTheta = 1 / SIN(theta)
- startInterp = SIN((1 - t) * theta) * invSinTheta
- finishInterp = SIN(t * theta) * invSinTheta
- else
- startInterp = 1 - t
- finishInterp = t
- end
- else
- if (1 + cosTheta) > 0.0001 then
- local theta = ACOS(-cosTheta)
- local invSinTheta = 1 / SIN(theta)
- startInterp = SIN((t - 1) * theta) * invSinTheta
- finishInterp = SIN(t * theta) * invSinTheta
- else
- startInterp = t - 1
- finishInterp = t
- end
- end
- return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
- end
- function Clerp(a, b, t)
- local qa = {QuaternionFromCFrame(a)}
- local qb = {QuaternionFromCFrame(b)}
- local ax, ay, az = a.x, a.y, a.z
- local bx, by, bz = b.x, b.y, b.z
- local _t = 1 - t
- return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
- end
- function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
- local frame = IT("Frame")
- frame.BackgroundTransparency = TRANSPARENCY
- frame.BorderSizePixel = BORDERSIZEPIXEL
- frame.Position = POSITION
- frame.Size = SIZE
- frame.BackgroundColor3 = COLOR
- frame.BorderColor3 = BORDERCOLOR
- frame.Name = NAME
- frame.Parent = PARENT
- return frame
- end
- function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
- local label = IT("TextLabel")
- label.BackgroundTransparency = 1
- label.Size = UD2(1, 0, 1, 0)
- label.Position = UD2(0, 0, 0, 0)
- label.TextColor3 = TEXTCOLOR
- label.TextStrokeTransparency = STROKETRANSPARENCY
- label.TextTransparency = TRANSPARENCY
- label.FontSize = TEXTFONTSIZE
- label.Font = TEXTFONT
- label.BorderSizePixel = BORDERSIZEPIXEL
- label.TextScaled = false
- label.Text = TEXT
- label.Name = NAME
- label.Parent = PARENT
- return label
- end
- function NoOutlines(PART)
- PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
- end
- function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
- local NEWWELD = IT(TYPE)
- NEWWELD.Part0 = PART0
- NEWWELD.Part1 = PART1
- NEWWELD.C0 = C0
- NEWWELD.C1 = C1
- NEWWELD.Parent = PARENT
- return NEWWELD
- end
- local S = IT("Sound")
- function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
- local NEWSOUND = nil
- coroutine.resume(coroutine.create(function()
- NEWSOUND = S:Clone()
- NEWSOUND.Parent = PARENT
- NEWSOUND.Volume = VOLUME
- NEWSOUND.Pitch = PITCH
- NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
- NEWSOUND:play()
- if DOESLOOP == true then
- NEWSOUND.Looped = true
- else
- repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
- NEWSOUND:remove()
- end
- end))
- return NEWSOUND
- end
- function CFrameFromTopBack(at, top, back)
- local right = top:Cross(back)
- return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
- end
- --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- function WACKYEFFECT(Table)
- local TYPE = (Table.EffectType or "Sphere")
- local SIZE = (Table.Size or VT(1,1,1))
- local ENDSIZE = (Table.Size2 or VT(0,0,0))
- local TRANSPARENCY = (Table.Transparency or 0)
- local ENDTRANSPARENCY = (Table.Transparency2 or 1)
- local CFRAME = (Table.CFrame or Torso.CFrame)
- local MOVEDIRECTION = (Table.MoveToPos or nil)
- local ROTATION1 = (Table.RotationX or 0)
- local ROTATION2 = (Table.RotationY or 0)
- local ROTATION3 = (Table.RotationZ or 0)
- local MATERIAL = (Table.Material or "Neon")
- local COLOR = (Table.Color or C3(0,0,0))
- local TIME = (Table.Time or 45)
- local SOUNDID = (Table.SoundID or nil)
- local SOUNDPITCH = (Table.SoundPitch or nil)
- local SOUNDVOLUME = (Table.SoundVolume or nil)
- coroutine.resume(coroutine.create(function()
- local PLAYSSOUND = false
- local SOUND = nil
- local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
- if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
- PLAYSSOUND = true
- SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
- end
- EFFECT.Color = COLOR
- local MSH = nil
- if TYPE == "Sphere" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
- elseif TYPE == "Block" then
- MSH = IT("BlockMesh",EFFECT)
- MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
- elseif TYPE == "Wave" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
- elseif TYPE == "Ring" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
- elseif TYPE == "Slash" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
- elseif TYPE == "Round Slash" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
- elseif TYPE == "Swirl" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
- elseif TYPE == "Skull" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
- elseif TYPE == "Crystal" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
- end
- if MSH ~= nil then
- local MOVESPEED = nil
- if MOVEDIRECTION ~= nil then
- MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
- end
- local GROWTH = SIZE - ENDSIZE
- local TRANS = TRANSPARENCY - ENDTRANSPARENCY
- if TYPE == "Block" then
- EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- else
- EFFECT.CFrame = CFRAME
- end
- for LOOP = 1, TIME+1 do
- Swait()
- MSH.Scale = MSH.Scale - GROWTH/TIME
- if TYPE == "Wave" then
- MSH.Offset = VT(0,0,-MSH.Scale.X/8)
- end
- EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
- if TYPE == "Block" then
- EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- else
- EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
- end
- if MOVEDIRECTION ~= nil then
- local ORI = EFFECT.Orientation
- EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
- EFFECT.Orientation = ORI
- end
- end
- if PLAYSSOUND == false then
- EFFECT:remove()
- else
- SOUND.Stopped:Connect(function()
- EFFECT:remove()
- end)
- end
- else
- if PLAYSSOUND == false then
- EFFECT:remove()
- else
- repeat Swait() until SOUND.Playing == false
- EFFECT:remove()
- end
- end
- end))
- end
- --Lightning({Material = "Neon", FadeIn = false, Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 15, Thicken = false})
- function Lightning(Table)
- local Color = Table.Color or C3(1,1,1)
- local StartPos = Table.Start or Torso.Position
- local EndPos = Table.End or Mouse.Hit.p
- local SegmentLength = Table.SegmentL or 2
- local Thickness = Table.Thickness or 0.1
- local Dissapear = Table.DoesFade or false
- local Parent = Table.Ignore or Character
- local MaxDist = Table.MaxDist or 400
- local Branches = Table.Branches or false
- local Thicken = Table.Thicken or false
- local FadeTime = Table.FadeTime or 15
- local FadeIn = Table.FadeIn or false
- local Material = Table.Material or "Neon"
- local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
- local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/((SegmentLength/SegmentLength)/1.5))
- local LIGHTNINGMODEL = IT("Model",Effects)
- LIGHTNINGMODEL.Name = "Lightning"
- local LastBolt = nil
- for E = 1, DISTANCE do
- local ExtraSize = 0
- if Thicken == true then
- ExtraSize = (DISTANCE-E)/15
- end
- local TRANSPARENCY = 0
- if FadeIn == true then
- TRANSPARENCY = 1-(E/(DISTANCE/1.5))
- if TRANSPARENCY < 0 then
- TRANSPARENCY = 0
- end
- end
- local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
- PART.Color = Color
- MakeForm(PART,"Cyl")
- if LastBolt == nil then
- PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
- else
- PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,DISTANCE-E).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
- end
- LastBolt = PART
- if Branches == true and E < (DISTANCE-5) then
- local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
- if CHOICE == 1 then
- local LASTBRANCH = nil
- for i = 1, MRANDOM(2,5) do
- local ExtraSize2 = 0
- if Thicken == true then
- ExtraSize = ((DISTANCE-E)/25)/i
- end
- local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
- PART.Color = Color
- MakeForm(PART,"Cyl")
- if LASTBRANCH == nil then
- PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
- else
- PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
- end
- LASTBRANCH = PART
- end
- end
- end
- end
- if Dissapear == true then
- coroutine.resume(coroutine.create(function()
- for i = 1, FadeTime do
- Swait()
- for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
- if c.ClassName == "Part" then
- c.Transparency = c.Transparency + (i/FadeTime)/10
- end
- end
- end
- LIGHTNINGMODEL:remove()
- end))
- elseif Dissapear == false then
- Debris:AddItem(LIGHTNINGMODEL,0.1)
- end
- return {Hit = HIT,Pos = HITPOS,End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
- end
- function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
- local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
- wave.Color = COLOR
- local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
- wave.CFrame = CFRAME
- coroutine.resume(coroutine.create(function(PART)
- for i = 1, WAIT do
- Swait()
- mesh.Scale = mesh.Scale + GROW
- mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
- if DOESROT == true then
- wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
- end
- wave.Transparency = wave.Transparency + (0.5/WAIT)
- if wave.Transparency > 0.99 then
- wave:remove()
- end
- end
- end))
- end
- function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
- local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
- wave.Color = COLOR
- local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
- wave.CFrame = CFRAME
- coroutine.resume(coroutine.create(function(PART)
- for i = 1, WAIT do
- Swait()
- mesh.Scale = mesh.Scale + GROW
- wave.Transparency = wave.Transparency + (1/WAIT)
- if wave.Transparency > 0.99 then
- wave:remove()
- end
- end
- end))
- end
- function MakeForm(PART,TYPE)
- if TYPE == "Cyl" then
- local MSH = IT("BlockMesh",PART)
- elseif TYPE == "Ball" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Sphere"
- elseif TYPE == "Cyl2" then
- local MSH = IT("CylinderMesh",PART)
- elseif TYPE == "Wedge" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Wedge"
- end
- end
- function SpawnTrail(FROM,TO,BIG)
- local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Light gray", "Trail", VT(0,0,0))
- MakeForm(TRAIL,"Cyl")
- local DIST = (FROM - TO).Magnitude
- if BIG == true then
- TRAIL.Size = VT(0.5,DIST,0.5)
- else
- TRAIL.Size = VT(0.25,DIST,0.25)
- end
- TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
- coroutine.resume(coroutine.create(function()
- for i = 1, 5 do
- Swait()
- TRAIL.Transparency = TRAIL.Transparency + 0.1
- end
- TRAIL:remove()
- end))
- end
- Debris = game:GetService("Debris")
- function CastProperRay(StartPos, EndPos, Distance, Ignore)
- local DIRECTION = CF(StartPos,EndPos).lookVector
- return Raycast(StartPos, DIRECTION, Distance, Ignore)
- end
- function turnto(position)
- RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
- end
- function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
- return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
- end
- function PositiveAngle(NUMBER)
- if NUMBER >= 0 then
- NUMBER = 0
- end
- return NUMBER
- end
- function NegativeAngle(NUMBER)
- if NUMBER <= 0 then
- NUMBER = 0
- end
- return NUMBER
- end
- function Swait(NUMBER)
- if NUMBER == 0 or NUMBER == nil then
- ArtificialHB.Event:wait()
- else
- for i = 1, NUMBER do
- ArtificialHB.Event:wait()
- end
- end
- end
- function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
- local NEWMESH = IT(MESH)
- if MESH == "SpecialMesh" then
- NEWMESH.MeshType = MESHTYPE
- if MESHID ~= "nil" and MESHID ~= "" then
- NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
- end
- if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
- NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
- end
- end
- NEWMESH.Offset = OFFSET or VT(0, 0, 0)
- NEWMESH.Scale = SCALE
- NEWMESH.Parent = PARENT
- return NEWMESH
- end
- function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
- local NEWPART = IT("Part")
- NEWPART.formFactor = FORMFACTOR
- NEWPART.Reflectance = REFLECTANCE
- NEWPART.Transparency = TRANSPARENCY
- NEWPART.CanCollide = false
- NEWPART.Locked = true
- NEWPART.Anchored = true
- if ANCHOR == false then
- NEWPART.Anchored = false
- end
- NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
- NEWPART.Name = NAME
- NEWPART.Size = SIZE
- NEWPART.Position = Torso.Position
- NEWPART.Material = MATERIAL
- NEWPART:BreakJoints()
- NEWPART.Parent = PARENT
- return NEWPART
- end
- local function weldBetween(a, b)
- local weldd = IT("Weld")
- weldd.Part0 = a
- weldd.Part1 = b
- weldd.C0 = CF()
- weldd.C1 = b.CFrame:inverse() * a.CFrame
- weldd.Parent = a
- return weldd
- end
- function QuaternionFromCFrame(cf)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5 / s
- return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
- else
- local i = 0
- if m11 > m00 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00 - m11 - m22 + 1)
- local recip = 0.5 / s
- return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
- elseif i == 1 then
- local s = math.sqrt(m11 - m22 - m00 + 1)
- local recip = 0.5 / s
- return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
- elseif i == 2 then
- local s = math.sqrt(m22 - m00 - m11 + 1)
- local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
- end
- end
- end
- function QuaternionToCFrame(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w * xs, w * ys, w * zs
- local xx = x * xs
- local xy = x * ys
- local xz = x * zs
- local yy = y * ys
- local yz = y * zs
- local zz = z * zs
- return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
- end
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
- local startInterp, finishInterp;
- if cosTheta >= 0.0001 then
- if (1 - cosTheta) > 0.0001 then
- local theta = ACOS(cosTheta)
- local invSinTheta = 1 / SIN(theta)
- startInterp = SIN((1 - t) * theta) * invSinTheta
- finishInterp = SIN(t * theta) * invSinTheta
- else
- startInterp = 1 - t
- finishInterp = t
- end
- else
- if (1 + cosTheta) > 0.0001 then
- local theta = ACOS(-cosTheta)
- local invSinTheta = 1 / SIN(theta)
- startInterp = SIN((t - 1) * theta) * invSinTheta
- finishInterp = SIN(t * theta) * invSinTheta
- else
- startInterp = t - 1
- finishInterp = t
- end
- end
- return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
- end
- function Clerp(a, b, t)
- local qa = {QuaternionFromCFrame(a)}
- local qb = {QuaternionFromCFrame(b)}
- local ax, ay, az = a.x, a.y, a.z
- local bx, by, bz = b.x, b.y, b.z
- local _t = 1 - t
- return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
- end
- function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
- local frame = IT("Frame")
- frame.BackgroundTransparency = TRANSPARENCY
- frame.BorderSizePixel = BORDERSIZEPIXEL
- frame.Position = POSITION
- frame.Size = SIZE
- frame.BackgroundColor3 = COLOR
- frame.BorderColor3 = BORDERCOLOR
- frame.Name = NAME
- frame.Parent = PARENT
- return frame
- end
- function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
- local label = IT("TextLabel")
- label.BackgroundTransparency = 1
- label.Size = UD2(1, 0, 1, 0)
- label.Position = UD2(0, 0, 0, 0)
- label.TextColor3 = TEXTCOLOR
- label.TextStrokeTransparency = STROKETRANSPARENCY
- label.TextTransparency = TRANSPARENCY
- label.FontSize = TEXTFONTSIZE
- label.Font = TEXTFONT
- label.BorderSizePixel = BORDERSIZEPIXEL
- label.TextScaled = false
- label.Text = TEXT
- label.Name = NAME
- label.Parent = PARENT
- return label
- end
- function NoOutlines(PART)
- PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
- end
- function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
- local NEWWELD = IT(TYPE)
- NEWWELD.Part0 = PART0
- NEWWELD.Part1 = PART1
- NEWWELD.C0 = C0
- NEWWELD.C1 = C1
- NEWWELD.Parent = PARENT
- return NEWWELD
- end
- local S = IT("Sound")
- function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
- local NEWSOUND = nil
- coroutine.resume(coroutine.create(function()
- NEWSOUND = S:Clone()
- NEWSOUND.Parent = PARENT
- NEWSOUND.Volume = VOLUME
- NEWSOUND.Pitch = PITCH
- NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
- NEWSOUND:play()
- if DOESLOOP == true then
- NEWSOUND.Looped = true
- else
- repeat wait(1) until NEWSOUND.Playing == false
- NEWSOUND:remove()
- end
- end))
- return NEWSOUND
- end
- function CFrameFromTopBack(at, top, back)
- local right = top:Cross(back)
- return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
- end
- --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- function WACKYEFFECT(Table)
- local TYPE = (Table.EffectType or "Sphere")
- local SIZE = (Table.Size or VT(1,1,1))
- local ENDSIZE = (Table.Size2 or VT(0,0,0))
- local TRANSPARENCY = (Table.Transparency or 0)
- local ENDTRANSPARENCY = (Table.Transparency2 or 1)
- local CFRAME = (Table.CFrame or Torso.CFrame)
- local MOVEDIRECTION = (Table.MoveToPos or nil)
- local ROTATION1 = (Table.RotationX or 0)
- local ROTATION2 = (Table.RotationY or 0)
- local ROTATION3 = (Table.RotationZ or 0)
- local MATERIAL = (Table.Material or "Neon")
- local COLOR = (Table.Color or C3(1,1,1))
- local TIME = (Table.Time or 45)
- local SOUNDID = (Table.SoundID or nil)
- local SOUNDPITCH = (Table.SoundPitch or nil)
- local SOUNDVOLUME = (Table.SoundVolume or nil)
- coroutine.resume(coroutine.create(function()
- local PLAYSSOUND = false
- local SOUND = nil
- local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
- if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
- PLAYSSOUND = true
- SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
- end
- EFFECT.Color = COLOR
- local MSH = nil
- if TYPE == "Sphere" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
- elseif TYPE == "Block" then
- MSH = IT("BlockMesh",EFFECT)
- MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
- elseif TYPE == "Wave" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
- elseif TYPE == "Ring" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
- elseif TYPE == "Slash" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
- elseif TYPE == "Round Slash" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
- elseif TYPE == "Swirl" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
- elseif TYPE == "Skull" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
- elseif TYPE == "Crystal" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
- end
- if MSH ~= nil then
- local MOVESPEED = nil
- if MOVEDIRECTION ~= nil then
- MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
- end
- local GROWTH = SIZE - ENDSIZE
- local TRANS = TRANSPARENCY - ENDTRANSPARENCY
- if TYPE == "Block" then
- EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- else
- EFFECT.CFrame = CFRAME
- end
- for LOOP = 1, TIME+1 do
- Swait()
- MSH.Scale = MSH.Scale - GROWTH/TIME
- if TYPE == "Wave" then
- MSH.Offset = VT(0,0,-MSH.Scale.X/8)
- end
- EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
- if TYPE == "Block" then
- EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- else
- EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
- end
- if MOVEDIRECTION ~= nil then
- local ORI = EFFECT.Orientation
- EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
- EFFECT.Orientation = ORI
- end
- end
- if PLAYSSOUND == false then
- EFFECT:remove()
- else
- SOUND.Stopped:Connect(function()
- EFFECT:remove()
- end)
- end
- else
- if PLAYSSOUND == false then
- EFFECT:remove()
- else
- repeat Swait() until SOUND.Playing == false
- EFFECT:remove()
- end
- end
- end))
- end
- function MakeForm(PART,TYPE)
- if TYPE == "Cyl" then
- local MSH = IT("CylinderMesh",PART)
- elseif TYPE == "Ball" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Sphere"
- elseif TYPE == "Wedge" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Wedge"
- end
- end
- Debris = game:GetService("Debris")
- function CastProperRay(StartPos, EndPos, Distance, Ignore)
- local DIRECTION = CF(StartPos,EndPos).lookVector
- return Raycast(StartPos, DIRECTION, Distance, Ignore)
- end
- function turnto(position)
- RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
- end
- function SpawnTrail(FROM,TO,BIG)
- local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
- MakeForm(TRAIL,"Cyl")
- local DIST = (FROM - TO).Magnitude
- if BIG == true then
- TRAIL.Size = VT(0.5,DIST,0.5)
- else
- TRAIL.Size = VT(0.25,DIST,0.25)
- end
- TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
- coroutine.resume(coroutine.create(function()
- for i = 1, 5 do
- Swait()
- TRAIL.Transparency = TRAIL.Transparency + 0.1
- end
- TRAIL:remove()
- end))
- end
- local asd = Instance.new("ParticleEmitter")
- asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
- asd.LightEmission = .1
- asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
- aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
- bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
- asd.Transparency = bbb
- asd.Size = aaa
- asd.ZOffset = .9
- asd.Acceleration = Vector3.new(0, -15, 0)
- asd.LockedToPart = false
- asd.EmissionDirection = "Back"
- asd.Lifetime = NumberRange.new(1, 2)
- asd.Rotation = NumberRange.new(-100, 100)
- asd.RotSpeed = NumberRange.new(-100, 100)
- asd.Speed = NumberRange.new(10)
- asd.Enabled = false
- asd.VelocitySpread = 999
- function getbloody(victim,amount)
- local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
- PART.CFrame = victim.CFrame
- local HITPLAYERSOUNDS = {"356551938","264486467"}
- Debris:AddItem(PART,5)
- CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
- CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
- CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
- local prtcl = asd:Clone()
- prtcl.Parent = PART
- prtcl:Emit(amount*10)
- end
- local Particle = IT("ParticleEmitter",nil)
- Particle.Enabled = false
- Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.3,0.95),NumberSequenceKeypoint.new(1,1)})
- Particle.LightEmission = 0.5
- Particle.Rate = 150
- Particle.ZOffset = 1
- Particle.Rotation = NumberRange.new(-180, 180)
- Particle.RotSpeed = NumberRange.new(-180, 180)
- Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
- Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
- --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
- function ParticleEmitter(Table)
- local PRTCL = Particle:Clone()
- local Speed = Table.Speed or 5
- local Drag = Table.Drag or 0
- local Size1 = Table.Size1 or 1
- local Size2 = Table.Size2 or 5
- local Lifetime1 = Table.Lifetime1 or 1
- local Lifetime2 = Table.Lifetime2 or 1.5
- local Parent = Table.Parent or Torso
- local Emit = Table.Emit or 100
- local Offset = Table.Offset or 360
- local Acel = Table.Acel or VT(0,0,0)
- local Enabled = Table.Enabled or false
- PRTCL.Parent = Parent
- PRTCL.Size = NumberSequence.new(Size1,Size2)
- PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
- PRTCL.Speed = NumberRange.new(Speed)
- PRTCL.VelocitySpread = Offset
- PRTCL.Drag = Drag
- PRTCL.Acceleration = Acel
- if Enabled == false then
- PRTCL:Emit(Emit)
- Debris:AddItem(PRTCL,Lifetime2)
- else
- PRTCL.Enabled = true
- end
- return PRTCL
- end
- function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
- return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
- end
- function PositiveAngle(NUMBER)
- if NUMBER >= 0 then
- NUMBER = 0
- end
- return NUMBER
- end
- function NegativeAngle(NUMBER)
- if NUMBER <= 0 then
- NUMBER = 0
- end
- return NUMBER
- end
- function Swait(NUMBER)
- if NUMBER == 0 or NUMBER == nil then
- ArtificialHB.Event:wait()
- else
- for i = 1, NUMBER do
- ArtificialHB.Event:wait()
- end
- end
- end
- function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
- local NEWMESH = IT(MESH)
- if MESH == "SpecialMesh" then
- NEWMESH.MeshType = MESHTYPE
- if MESHID ~= "nil" and MESHID ~= "" then
- NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
- end
- if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
- NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
- end
- end
- NEWMESH.Offset = OFFSET or VT(0, 0, 0)
- NEWMESH.Scale = SCALE
- NEWMESH.Parent = PARENT
- return NEWMESH
- end
- function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
- local NEWPART = IT("Part")
- NEWPART.formFactor = FORMFACTOR
- NEWPART.Reflectance = REFLECTANCE
- NEWPART.Transparency = TRANSPARENCY
- NEWPART.CanCollide = false
- NEWPART.Locked = true
- NEWPART.Anchored = true
- if ANCHOR == false then
- NEWPART.Anchored = false
- end
- NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
- NEWPART.Name = NAME
- NEWPART.Size = SIZE
- NEWPART.Position = Torso.Position
- NEWPART.Material = MATERIAL
- NEWPART:BreakJoints()
- NEWPART.Parent = PARENT
- return NEWPART
- end
- local function weldBetween(a, b)
- local weldd = Instance.new("ManualWeld")
- weldd.Part0 = a
- weldd.Part1 = b
- weldd.C0 = CFrame.new()
- weldd.C1 = b.CFrame:inverse() * a.CFrame
- weldd.Parent = a
- return weldd
- end
- function QuaternionFromCFrame(cf)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5 / s
- return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
- else
- local i = 0
- if m11 > m00 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00 - m11 - m22 + 1)
- local recip = 0.5 / s
- return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
- elseif i == 1 then
- local s = math.sqrt(m11 - m22 - m00 + 1)
- local recip = 0.5 / s
- return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
- elseif i == 2 then
- local s = math.sqrt(m22 - m00 - m11 + 1)
- local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
- end
- end
- end
- function QuaternionToCFrame(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w * xs, w * ys, w * zs
- local xx = x * xs
- local xy = x * ys
- local xz = x * zs
- local yy = y * ys
- local yz = y * zs
- local zz = z * zs
- return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
- end
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
- local startInterp, finishInterp;
- if cosTheta >= 0.0001 then
- if (1 - cosTheta) > 0.0001 then
- local theta = ACOS(cosTheta)
- local invSinTheta = 1 / SIN(theta)
- startInterp = SIN((1 - t) * theta) * invSinTheta
- finishInterp = SIN(t * theta) * invSinTheta
- else
- startInterp = 1 - t
- finishInterp = t
- end
- else
- if (1 + cosTheta) > 0.0001 then
- local theta = ACOS(-cosTheta)
- local invSinTheta = 1 / SIN(theta)
- startInterp = SIN((t - 1) * theta) * invSinTheta
- finishInterp = SIN(t * theta) * invSinTheta
- else
- startInterp = t - 1
- finishInterp = t
- end
- end
- return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
- end
- function Clerp(a, b, t)
- local qa = {QuaternionFromCFrame(a)}
- local qb = {QuaternionFromCFrame(b)}
- local ax, ay, az = a.x, a.y, a.z
- local bx, by, bz = b.x, b.y, b.z
- local _t = 1 - t
- return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
- end
- function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
- local frame = IT("Frame")
- frame.BackgroundTransparency = TRANSPARENCY
- frame.BorderSizePixel = BORDERSIZEPIXEL
- frame.Position = POSITION
- frame.Size = SIZE
- frame.BackgroundColor3 = COLOR
- frame.BorderColor3 = BORDERCOLOR
- frame.Name = NAME
- frame.Parent = PARENT
- return frame
- end
- function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
- local label = IT("TextLabel")
- label.BackgroundTransparency = 1
- label.Size = UD2(1, 0, 1, 0)
- label.Position = UD2(0, 0, 0, 0)
- label.TextColor3 = TEXTCOLOR
- label.TextStrokeTransparency = STROKETRANSPARENCY
- label.TextTransparency = TRANSPARENCY
- label.FontSize = TEXTFONTSIZE
- label.Font = TEXTFONT
- label.BorderSizePixel = BORDERSIZEPIXEL
- label.TextStrokeColor3 = C3(1,1,1)
- label.TextScaled = false
- label.Text = TEXT
- label.Name = NAME
- label.Parent = PARENT
- return label
- end
- function NoOutlines(PART)
- PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
- end
- function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
- local NEWWELD = IT(TYPE)
- NEWWELD.Part0 = PART0
- NEWWELD.Part1 = PART1
- NEWWELD.C0 = C0
- NEWWELD.C1 = C1
- NEWWELD.Parent = PARENT
- return NEWWELD
- end
- local S = IT("Sound")
- function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
- local NEWSOUND = nil
- coroutine.resume(coroutine.create(function()
- NEWSOUND = S:Clone()
- NEWSOUND.Parent = PARENT
- NEWSOUND.Volume = VOLUME
- NEWSOUND.Pitch = PITCH
- NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
- NEWSOUND:play()
- if DOESLOOP == true then
- NEWSOUND.Looped = true
- else
- repeat wait(1) until NEWSOUND.Playing == false
- NEWSOUND:remove()
- end
- end))
- return NEWSOUND
- end
- function CFrameFromTopBack(at, top, back)
- local right = top:Cross(back)
- return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
- end
- --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- function WACKYEFFECT(Table)
- local TYPE = (Table.EffectType or "Sphere")
- local SIZE = (Table.Size or VT(1,1,1))
- local ENDSIZE = (Table.Size2 or VT(0,0,0))
- local TRANSPARENCY = (Table.Transparency or 0)
- local ENDTRANSPARENCY = (Table.Transparency2 or 1)
- local CFRAME = (Table.CFrame or Torso.CFrame)
- local MOVEDIRECTION = (Table.MoveToPos or nil)
- local ROTATION1 = (Table.RotationX or 0)
- local ROTATION2 = (Table.RotationY or 0)
- local ROTATION3 = (Table.RotationZ or 0)
- local MATERIAL = (Table.Material or "Neon")
- local COLOR = (Table.Color or C3(66/255, 0/255, 127/2551))
- local TIME = (Table.Time or 45)
- local SOUNDID = (Table.SoundID or nil)
- local SOUNDPITCH = (Table.SoundPitch or nil)
- local SOUNDVOLUME = (Table.SoundVolume or nil)
- coroutine.resume(coroutine.create(function()
- local PLAYSSOUND = false
- local SOUND = nil
- local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Dark indigo"), "Effect", VT(1,1,1), true)
- if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
- PLAYSSOUND = true
- SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
- end
- EFFECT.Color = COLOR
- local MSH = nil
- if TYPE == "Sphere" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
- elseif TYPE == "Block" then
- MSH = IT("BlockMesh",EFFECT)
- MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
- elseif TYPE == "Wave" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
- elseif TYPE == "Ring" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
- elseif TYPE == "Slash" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
- elseif TYPE == "Round Slash" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
- elseif TYPE == "Swirl" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
- elseif TYPE == "Skull" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
- elseif TYPE == "Crystal" then
- MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
- end
- if MSH ~= nil then
- local MOVESPEED = nil
- if MOVEDIRECTION ~= nil then
- MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
- end
- local GROWTH = SIZE - ENDSIZE
- local TRANS = TRANSPARENCY - ENDTRANSPARENCY
- if TYPE == "Block" then
- EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- else
- EFFECT.CFrame = CFRAME
- end
- for LOOP = 1, TIME+1 do
- Swait()
- MSH.Scale = MSH.Scale - GROWTH/TIME
- if TYPE == "Wave" then
- MSH.Offset = VT(0,0,-MSH.Scale.X/8)
- end
- EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
- if TYPE == "Block" then
- EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
- else
- EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
- end
- if MOVEDIRECTION ~= nil then
- local ORI = EFFECT.Orientation
- EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
- EFFECT.Orientation = ORI
- end
- end
- if PLAYSSOUND == false then
- EFFECT:remove()
- else
- repeat Swait() until SOUND.Playing == false
- EFFECT:remove()
- end
- else
- if PLAYSSOUND == false then
- EFFECT:remove()
- else
- repeat Swait() until SOUND.Playing == false
- EFFECT:remove()
- end
- end
- end))
- end
- function MakeForm(PART,TYPE)
- if TYPE == "Cyl" then
- local MSH = IT("CylinderMesh",PART)
- elseif TYPE == "Ball" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Sphere"
- elseif TYPE == "Wedge" then
- local MSH = IT("SpecialMesh",PART)
- MSH.MeshType = "Wedge"
- end
- end
- Debris = game:GetService("Debris")
- function CastProperRay(StartPos, EndPos, Distance, Ignore)
- local DIRECTION = CF(StartPos,EndPos).lookVector
- return Raycast(StartPos, DIRECTION, Distance, Ignore)
- end
- function turnto(position)
- RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
- end
- --//=================================\\
- --|| WEAPON CREATION
- --\\=================================//
- Humanoid.Parent = nil
- RootPart.Size = RootPart.Size*SIZE
- Torso.Size = Torso.Size*SIZE
- RightArm.Size = RightArm.Size*SIZE
- RightLeg.Size = RightLeg.Size*SIZE
- LeftArm.Size = LeftArm.Size*SIZE
- LeftLeg.Size = LeftLeg.Size*SIZE
- RootJoint.C0 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
- RootJoint.C1 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
- Neck.C0 = NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + ((1 * SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
- Neck.C1 = CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180))
- RightShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
- LeftShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
- RightHip.C0 = CF(1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
- LeftHip.C0 = CF(-1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
- RightHip.C1 = CF(0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
- LeftHip.C1 = CF(-0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
- Head.Size = Head.Size*SIZE
- RootJoint.Parent = RootPart
- Neck.Parent = Torso
- RightShoulder.Parent = Torso
- LeftShoulder.Parent = Torso
- RightHip.Parent = Torso
- LeftHip.Parent = Torso
- Humanoid.DisplayDistanceType = "None"
- local naeeym2 = IT("BillboardGui",Character)
- naeeym2.AlwaysOnTop = true
- naeeym2.Size = UDim2.new(5,35,2,15)
- naeeym2.StudsOffset = Vector3.new(0,2,0)
- naeeym2.MaxDistance = 75
- naeeym2.Adornee = Character.Head
- naeeym2.Name = "Name"
- local tecks2 = IT("TextLabel",naeeym2)
- tecks2.BackgroundTransparency = 1
- tecks2.TextScaled = true
- tecks2.BorderSizePixel = 0
- tecks2.Text = "The Ruler Of Space And Time"
- tecks2.Font = "Fantasy"
- tecks2.TextSize = 30
- tecks2.TextStrokeTransparency = 0
- tecks2.TextColor3 = C3(0,0,0)
- tecks2.TextStrokeColor3 = C3(255/255, 255/255, 0/255)
- tecks2.Size = UDim2.new(1,0,0.5,0)
- tecks2.Parent = naeeym2
- local top = Instance.new("Shirt")
- top.ShirtTemplate = "rbxassetid://36929738"
- top.Parent = Character
- top.Name = "Cloth"
- local bottom = Instance.new("Pants")
- bottom.PantsTemplate = "rbxassetid://36929780"
- bottom.Parent = Character
- bottom.Name = "Cloth"
- local PRT = CreatePart(3, Weapon, "Fabric", 0, 0, "Really black", "Hat", VT(1,1,1),false)
- PRT.Color = C3(0,0,0)
- CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.72*SIZE,0.1) * ANGLES(RAD(15), RAD(0), RAD(0)), CF(0, 0, 0))
- CreateMesh("SpecialMesh", PRT, "FileMesh", "", "", VT(1,1,1)*SIZE, VT(0,0,0))
- PRT.Transparency = 1
- local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Detail", VT(1,1,1),false)
- PRT.Color = C3(0,0,0)
- CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0,-.5*SIZE), CF(0, 0, 0))
- CreateMesh("SpecialMesh", PRT, "FileMesh", "636922328", "636922344", VT(0.06,0.06,0.06)*SIZE, VT(0,0.08,1))
- local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(1,1.2,0.2),false)
- PRT.Color = C3(255/255, 0/255, 0/255)
- MakeForm(PRT,"Ball")
- PRT.Transparency = 1
- CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0,-.5*SIZE), CF(0, 0, 0))
- local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.4,0.5),false)
- PRT.Transparency = 1
- PRT.Color = C3(255/255, 255/255, 0/255)
- MakeForm(PRT,"Ball")
- CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,-0.3,-.5*SIZE), CF(0, 0, 0))
- local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.3,0.3),false)
- PRT.Transparency = 1
- PRT.Color = C3(255/255, 255/255, 0/255)
- MakeForm(PRT,"Ball")
- CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0.25,0.25,-.5*SIZE), CF(0, 0, 0))
- local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.3,0.3),false)
- PRT.Color = C3(255/255, 255/255, 0/255)
- MakeForm(PRT,"Ball")
- PRT.Transparency = 1
- local Aura = Instance.new('ParticleEmitter')
- Aura.Name = "Aura"
- Aura.Texture = "rbxassetid://"
- Aura.Parent = PRT
- Aura.LightEmission = 0.3
- Aura.Transparency = NumberSequence.new(0,0.6,1)
- Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(255/255, 0/255, 0/255))
- Aura.Size = NumberSequence.new(0.3,0.2,0.1)
- Aura.LockedToPart = false
- Aura.Lifetime = NumberRange.new(2)
- Aura.Rate = 30
- Aura.Speed = NumberRange.new(1)
- Aura.EmissionDirection = "Top"
- CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(-0.25,0.25,-.5*SIZE), CF(0, 0, 0))
- local Particle = IT("ParticleEmitter",nil)
- Particle.Enabled = false
- Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
- Particle.LightEmission = 0.5
- Particle.Rate = 150
- Particle.ZOffset = 0.2
- Particle.Rotation = NumberRange.new(-180, 180)
- Particle.RotSpeed = NumberRange.new(-180, 180)
- Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
- Particle.Color = ColorSequence.new(C3(0,0,0),C3(0,0,0))
- --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
- function ParticleEmitter(Table)
- local PRTCL = Particle:Clone()
- local Speed = Table.Speed or 5
- local Drag = Table.Drag or 0
- local Size1 = Table.Size1 or 1
- local Size2 = Table.Size2 or 5
- local Lifetime1 = Table.Lifetime1 or 1
- local Lifetime2 = Table.Lifetime2 or 1.5
- local Parent = Table.Parent or Torso
- local Emit = Table.Emit or 100
- local Offset = Table.Offset or 360
- local Acel = Table.Acel or VT(0,0,0)
- local Enabled = Table.Enabled or false
- PRTCL.Parent = Parent
- PRTCL.Size = NumberSequence.new(Size1,Size2)
- PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
- PRTCL.Speed = NumberRange.new(Speed)
- PRTCL.VelocitySpread = Offset
- PRTCL.Drag = Drag
- PRTCL.Acceleration = Acel
- if Enabled == false then
- PRTCL:Emit(Emit)
- Debris:AddItem(PRTCL,Lifetime2)
- else
- PRTCL.Enabled = true
- end
- return PRTCL
- end
- local Handle = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.6,0.2),false)
- local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.5,0.2),false)
- MakeForm(Part,"Wedge")
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.3,0.2),false)
- MakeForm(Part,"Wedge")
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.3,0.3,0.3),false)
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.3,0.5,0.5),false)
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.4,0.4,0.4),false)
- MakeForm(Part,"Cyl")
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
- for i = 1, 8 do
- local Piece = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Eye", VT(0,0.35,0.41),false)
- CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
- end
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Eye", VT(0.38,0.41,0.38),false)
- MakeForm(Part,"Cyl")
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.37,0.5,0.37),false)
- MakeForm(Part,"Ball")
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.7,0.4),false)
- MakeForm(Part,"Wedge")
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.3,0.4,0.2),false)
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.35,0.35,0.35),false)
- MakeForm(Part,"Cyl")
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.5,0.1,0.5),false)
- MakeForm(Part,"Cyl")
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.5,0.1,0.45),false)
- MakeForm(Part,"Cyl")
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.5,0.2),false)
- MakeForm(Part,"Wedge")
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
- local LASTPART = Handle
- for i = 1, 10 do
- if LASTPART == Handle then
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.1,0.2,0),false)
- LASTPART = Part
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
- else
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.1,0.05,0),false)
- CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
- LASTPART = Part
- end
- end
- local Barrel = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.15,2,0.15),false)
- MakeForm(Barrel,"Cyl")
- CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.25,1,0.25),false)
- MakeForm(Part,"Cyl")
- CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0,0.1,0.2),false)
- MakeForm(Part,"Wedge")
- CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
- local Hole = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Eye", VT(0.125,0,0.125),false)
- MakeForm(Hole,"Cyl")
- CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0,0,0),false)
- local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
- CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
- local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0.5, "Light gray", "Eye", VT(0,0,0),false)
- local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
- CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
- coroutine.resume(coroutine.create(function()
- while wait() do
- GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
- GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
- end
- end))
- ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
- --ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 0.2, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.7, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
- for _, c in pairs(Weapon:GetDescendants()) do
- if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
- c.Material = "Glass"
- c.Color = C3(0,0,0)
- elseif c.ClassName == "Part" and c.Name == "Eye" then
- c.Color = C3(0,0,0)
- c.Material = "Neon"
- end
- end
- Weapon.Parent = Character
- for _, c in pairs(Weapon:GetChildren()) do
- if c.ClassName == "Part" then
- c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
- end
- end
- local BODY = {}
- for _, c in pairs(Character:GetDescendants()) do
- if c:IsA("BasePart") and c.Name ~= "Handle" then
- if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
- c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
- end
- table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
- elseif c:IsA("JointInstance") then
- table.insert(BODY,{c,c.Parent,nil,nil,nil})
- end
- end
- for e = 1, #BODY do
- if BODY[e] ~= nil then
- local STUFF = BODY[e]
- local PART = STUFF[1]
- local PARENT = STUFF[2]
- local MATERIAL = STUFF[3]
- local COLOR = STUFF[4]
- local TRANSPARENCY = STUFF[5]
- if PART.ClassName == "Part" and PART ~= RootPart then
- PART.Material = MATERIAL
- PART.Color = COLOR
- PART.Transparency = TRANSPARENCY
- end
- PART.AncestryChanged:Connect(function()
- PART.Parent = PARENT
- end)
- end
- end
- Humanoid.Died:connect(function()
- Humanoid.Parent = nil
- Humanoid.MaxHealth = "inf"
- Humanoid.Health = "inf"
- refit()
- Humanoid.Parent = Character
- CreateSound("907330011", Head, 10, 1.2)
- end)
- local LASTPART = Head
- for i = 1, 24 do
- local MATH = (1-(i/30))
- if LASTPART == Head then
- local Aura = Instance.new('ParticleEmitter')
- Aura.Name = "Aura"
- Aura.Texture = "rbxassetid://"
- Aura.Parent = Horn
- Aura.LightEmission = 0.8
- Aura.Transparency = NumberSequence.new(0,0.6,1)
- Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
- Aura.Size = NumberSequence.new(0.3,0.2,0.1)
- Aura.LockedToPart = true
- Aura.Lifetime = NumberRange.new(2)
- Aura.Rate = 25
- Aura.Speed = NumberRange.new(0.1)
- Aura.EmissionDirection = "Top"
- else
- local Aura = Instance.new('ParticleEmitter')
- Aura.Name = "Aura"
- Aura.Texture = "rbxassetid://"
- Aura.Parent = Horn
- Aura.LightEmission = 0.8
- Aura.Transparency = NumberSequence.new(0,0.6,1)
- Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
- Aura.Size = NumberSequence.new(0.3,0.2,0.1)
- Aura.LockedToPart = true
- Aura.Lifetime = NumberRange.new(2)
- Aura.Rate = 25
- Aura.Speed = NumberRange.new(0.1)
- Aura.EmissionDirection = "Top"
- end
- end
- local LASTPART = Head
- for i = 1, 24 do
- local MATH = (1-(i/30))
- if LASTPART == Head then
- local Aura = Instance.new('ParticleEmitter')
- Aura.Name = "Aura"
- Aura.Texture = "rbxassetid://"
- Aura.LightEmission = 0.8
- Aura.Transparency = NumberSequence.new(0,0.6,1)
- Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
- Aura.Size = NumberSequence.new(0.3,0.2,0.1)
- Aura.LockedToPart = true
- Aura.Lifetime = NumberRange.new(2)
- Aura.Rate = 25
- Aura.Speed = NumberRange.new(0.1)
- Aura.EmissionDirection = "Top"
- else
- Aura.Name = "Aura"
- Aura.Texture = "rbxassetid://"
- Aura.LightEmission = 0.8
- Aura.Transparency = NumberSequence.new(0,0.6,1)
- Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
- Aura.Size = NumberSequence.new(0.3,0.2,0.1)
- Aura.LockedToPart = true
- Aura.Lifetime = NumberRange.new(2)
- Aura.Rate = 25
- Aura.Speed = NumberRange.new(0.1)
- Aura.EmissionDirection = "Top"
- end
- end
- local LASTPART = Head
- for i = 1, 8 do
- local MATH = (1-(i/14))
- if LASTPART == Head then
- local Aura = Instance.new('ParticleEmitter')
- Aura.Name = "Aura"
- Aura.Texture = "rbxassetid://"
- Aura.LightEmission = 0.8
- Aura.Transparency = NumberSequence.new(0,0.6,1)
- Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
- Aura.Size = NumberSequence.new(0.3,0.2,0.1)
- Aura.LockedToPart = true
- Aura.Lifetime = NumberRange.new(2)
- Aura.Rate = 25
- Aura.Speed = NumberRange.new(0.1)
- Aura.EmissionDirection = "Top"
- else
- local Aura = Instance.new('ParticleEmitter')
- Aura.Name = "Aura"
- Aura.Texture = "rbxassetid://"
- Aura.Parent = Horn
- Aura.LightEmission = 0.8
- Aura.Transparency = NumberSequence.new(0,0.6,1)
- Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
- Aura.Size = NumberSequence.new(0.3,0.2,0.1)
- Aura.LockedToPart = true
- Aura.Lifetime = NumberRange.new(2)
- Aura.Rate = 25
- Aura.Speed = NumberRange.new(0.1)
- Aura.EmissionDirection = "Top"
- end
- end
- local LASTPART = Head
- for i = 1, 8 do
- local MATH = (1-(i/14))
- if LASTPART == Head then
- local Aura = Instance.new('ParticleEmitter')
- Aura.Name = "Aura"
- Aura.Texture = "rbxassetid://"
- Aura.Parent = Horn
- Aura.LightEmission = 0.8
- Aura.Transparency = NumberSequence.new(0,0.6,1)
- Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
- Aura.Size = NumberSequence.new(0.3,0.2,0.1)
- Aura.LockedToPart = true
- Aura.Lifetime = NumberRange.new(2)
- Aura.Rate = 25
- Aura.Speed = NumberRange.new(0.1)
- Aura.EmissionDirection = "Top"
- else
- local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Detail", VT(0.25*MATH,0.15,0.25*MATH),false)
- CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(10), RAD(-3), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
- LASTPART = Horn
- Horn.Color = C3(1-((i*4-4)/255),1-((i*6-6)/255),0/255)
- local Aura = Instance.new('ParticleEmitter')
- Aura.Name = "Aura"
- Aura.Texture = "rbxassetid://"
- Aura.Parent = Horn
- Aura.LightEmission = 0.8
- Aura.Transparency = NumberSequence.new(0,0.6,1)
- Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
- Aura.Size = NumberSequence.new(0.3,0.2,0.1)
- Aura.LockedToPart = true
- Aura.Lifetime = NumberRange.new(2)
- Aura.Rate = 25
- Aura.Speed = NumberRange.new(0.1)
- Aura.EmissionDirection = "Top"
- end
- end
- local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(1.05,0.06,1.05)*SIZE,false)
- CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
- local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0.5,0.1,0.5)*SIZE,false)
- CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
- MakeForm(PRT,"Cyl")
- local PRT = CreatePart(3, Weapon, "Neon", 0, 0, "Mid gray", "Watch", VT(0.45,0.11,0.45)*SIZE,false)
- CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
- MakeForm(PRT,"Cyl")
- PRT.Color = C3(255/255, 255/255, 0/255)
- local RING = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0.055,0.15,0.055)*SIZE,false)
- CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RING, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
- MakeForm(RING,"Cyl")
- RING.Color = C3(0,0,0)
- for i = 1, 12 do
- local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0,0.15,0)*SIZE,false)
- PRT.Color = C3(0,0,0)
- local MSH = IT("BlockMesh",PRT)
- MSH.Scale = VT(0.6,1,1)
- CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD((360/12)*i), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -0.2*SIZE))
- end
- local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0,0.15,0.15)*SIZE,false)
- PRT.Color = C3(0,0,0)
- local MSH = IT("BlockMesh",PRT)
- MSH.Scale = VT(0.4,1,1)
- local WATCH1 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -0.075*SIZE))
- local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0,0.15,0.15/1.5)*SIZE,false)
- PRT.Color = C3(0,0,0)
- local MSH = IT("BlockMesh",PRT)
- MSH.Scale = VT(0.4,1,1)
- local WATCH2 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -(0.075/1.5)*SIZE))
- coroutine.resume(coroutine.create(function()
- while true do
- Swait()
- CLOCKLOOP = CLOCKLOOP - 1*CLOCKSPEED
- WATCH1.C0 = Clerp(WATCH1.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5), RAD(0)), 1 / Animation_Speed)
- WATCH2.C0 = Clerp(WATCH2.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5/2), RAD(0)), 1 / Animation_Speed)
- if CLOCKLOOP <= -150 then
- if VALUE1 == false then
- CLOCKLOOP = 0
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = RING.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(255, 255, 0), SoundID = 743521450, SoundPitch = 1.2, SoundVolume = 2})
- local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
- ApplyAoE(HITPOS,10,15,45,75,true)
- WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(15,2,15), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(255, 255, 0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 4})
- WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(12,3,12), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(255, 255, 0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 4})
- if CLOCKTARGET ~= nil then
- CLOCKTARGET.Health = CLOCKTARGET.Health - 20
- if CLOCKTARGET.Torso ~= nil then
- CLOCKTARGET.Torso.CFrame = CLOCKTARGET.Torso.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
- end
- if CLOCKTARGET.Health == 0 then
- CLOCKTARGET = nil
- end
- end
- end
- end
- end
- end))
- for _, c in pairs(Weapon:GetChildren()) do
- if c.ClassName == "Part" then
- c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
- end
- end
- Neck.Name = "Weld"
- RootJoint.Name = "Weld"
- RightShoulder.Name = "Weld"
- LeftShoulder.Name = "Weld"
- RightHip.Name = "Weld"
- LeftHip.Name = "Weld"
- local BODY = {}
- for _, c in pairs(Character:GetDescendants()) do
- if c:IsA("BasePart") and c.Name ~= "Handle" then
- if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
- c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
- end
- table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
- elseif c:IsA("JointInstance") then
- table.insert(BODY,{c,c.Parent,nil,nil,nil})
- end
- end
- for e = 1, #BODY do
- if BODY[e] ~= nil then
- local STUFF = BODY[e]
- local PART = STUFF[1]
- local PARENT = STUFF[2]
- local MATERIAL = STUFF[3]
- local COLOR = STUFF[4]
- local TRANSPARENCY = STUFF[5]
- if PART.ClassName == "Part" and PART ~= RootPart then
- PART.Material = MATERIAL
- PART.Color = COLOR
- PART.Transparency = TRANSPARENCY
- end
- PART.AncestryChanged:Connect(function()
- PART.Parent = PARENT
- end)
- end
- end
- function refit()
- Character.Parent = workspace
- for e = 1, #BODY do
- if BODY[e] ~= nil then
- local STUFF = BODY[e]
- local PART = STUFF[1]
- local PARENT = STUFF[2]
- local MATERIAL = STUFF[3]
- local COLOR = STUFF[4]
- local TRANSPARENCY = STUFF[5]
- if PART.ClassName == "Part" and PART ~= RootPart then
- PART.Material = MATERIAL
- PART.Color = COLOR
- PART.Transparency = TRANSPARENCY
- end
- if PART.Parent ~= PARENT then
- Humanoid:remove()
- PART.Parent = PARENT
- Humanoid = IT("Humanoid",Character)
- end
- end
- end
- end
- local SKILLTEXTCOLOR = C3(255/255, 255/255, 0/255)
- local SKILLFONT = "Fantasy"
- local SKILLTEXTSIZE = 7
- Weapon.Parent = Character
- Humanoid.Parent = Character
- Humanoid.Died:connect(function()
- Humanoid.Parent = nil
- Humanoid.MaxHealth = "inf"
- Humanoid.Health = "inf"
- refit()
- Humanoid.Parent = Character
- CreateSound("907330011", Head, 10, 1.2)
- end)
- local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
- local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
- local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
- local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
- local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
- local SKILL7FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.85, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 7 Frame")
- local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.100, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
- local SKILL9FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.475, 0, 0.100, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 9 Frame")
- local SKILL10FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.225, 0, 0.100, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 10 Frame")
- local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Time Spikes", SKILLTEXTCOLOR, SKILLTEXTSIZE-1, SKILLFONT, 0, 2, 0, "Text 1")
- local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Time Stop", SKILLTEXTCOLOR, SKILLTEXTSIZE-1, SKILLFONT, 0, 2, 0, "Text 2")
- local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Space's Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
- local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Time Shot", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 4")
- local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Red Star", SKILLTEXTCOLOR, SKILLTEXTSIZE+1, SKILLFONT, 0, 2, 0, "Text 5")
- local SKILL7TEXT = CreateLabel(SKILL7FRAME, "[R] Time Blast", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 7")
- local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[F] Ultimate Blast", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 6")
- local SKILL9TEXT = CreateLabel(SKILL9FRAME, "[Q] Warp", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 9")
- local SKILL10TEXT = CreateLabel(SKILL10FRAME, "[E] God Mode", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 10")
- function printbye(Name)
- local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
- warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
- end
- workspace.ChildAdded:connect(function(instance)
- for BANISH = 1, #TOBANISH do
- if TOBANISH[BANISH] ~= nil then
- if instance.Name == TOBANISH[BANISH] then
- coroutine.resume(coroutine.create(function()
- printbye(instance.Name)
- instance:ClearAllChildren()
- Debris:AddItem(instance,0.0005)
- end))
- end
- end
- end
- end)
- --//=================================\\
- --|| DAMAGING
- --\\=================================//
- function Kill(Foe)
- if Foe then
- coroutine.resume(coroutine.create(function()
- --if game.Players:FindFirstChild(Foe.Name) then
- table.insert(TOBANISH,Foe.Name)
- printbye(Foe.Name)
- --end
- Foe.Archivable = true
- local CLONE = Foe:Clone()
- Foe:Destroy()
- CLONE.Parent = Effects
- CLONE:BreakJoints()
- local MATERIALS = {"Glass","Neon"}
- for _, c in pairs(CLONE:GetDescendants()) do
- if c:IsA("BasePart") then
- if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
- CreateSound(340722848, c, 10, 1, false)
- end
- c.Anchored = true
- c.Transparency = c.Transparency + 0.2
- c.Material = MATERIALS[MRANDOM(1,2)]
- c.Color = C3(0,0,0)
- if c.ClassName == "MeshPart" then
- c.TextureID = ""
- end
- if c:FindFirstChildOfClass("SpecialMesh") then
- c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
- end
- if c:FindFirstChildOfClass("Decal") then
- c:FindFirstChildOfClass("Decal"):remove()
- end
- c.Name = "Banished"
- c.CanCollide = false
- else
- c:remove()
- end
- end
- local A = false
- for i = 1, 35 do
- if A == false then
- A = true
- elseif A == true then
- A = false
- end
- for _, c in pairs(CLONE:GetDescendants()) do
- if c:IsA("BasePart") then
- c.Anchored = true
- c.Material = MATERIALS[MRANDOM(1,2)]
- c.Transparency = c.Transparency + 0.8/35
- if A == false then
- c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
- elseif A == true then
- c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
- end
- end
- end
- Swait()
- end
- CLONE:remove()
- end))
- end
- end
- local asd = Instance.new("ParticleEmitter")
- asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
- asd.LightEmission = .1
- asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
- aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
- bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
- asd.Transparency = bbb
- asd.Size = aaa
- asd.ZOffset = .9
- asd.Acceleration = Vector3.new(0, -15, 0)
- asd.LockedToPart = false
- asd.EmissionDirection = "Back"
- asd.Lifetime = NumberRange.new(1, 2)
- asd.Rotation = NumberRange.new(-100, 100)
- asd.RotSpeed = NumberRange.new(-100, 100)
- asd.Speed = NumberRange.new(10)
- asd.Enabled = false
- asd.VelocitySpread = 999
- function getbloody(victim,amount)
- local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
- PART.CFrame = victim.CFrame
- local HITPLAYERSOUNDS = {"356551938","264486467"}
- Debris:AddItem(PART,5)
- CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
- CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
- CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
- local prtcl = asd:Clone()
- prtcl.Parent = PART
- prtcl:Emit(amount*10)
- end
- function Banish(Char)
- local NewCharacter = Instance.new("Model",Effects)
- NewCharacter.Name = "Ow im ded ;-;"
- for _, c in pairs(Char:GetDescendants()) do
- if c:IsA("BasePart") and c.Transparency == 0 then
- if c.Parent == Char then
- getbloody(c,5)
- end
- c:BreakJoints()
- c.Material = "Glass"
- c.Color = C3(0.5,0,0)
- c.CanCollide = true
- c.Transparency = 0.3
- if c:FindFirstChildOfClass("SpecialMesh") then
- c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
- end
- if c.Name == "Head" then
- c:ClearAllChildren()
- c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
- end
- if c.ClassName == "MeshPart" then
- c.TextureID = ""
- end
- if c:FindFirstChildOfClass("BodyPosition") then
- c:FindFirstChildOfClass("BodyPosition"):remove()
- end
- if c:FindFirstChildOfClass("ParticleEmitter") then
- c:FindFirstChildOfClass("ParticleEmitter"):remove()
- end
- c.Parent = NewCharacter
- c.Name = "DeadPart"
- c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
- c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
- end
- end
- Char:remove()
- Debris:AddItem(NewCharacter,5)
- end
- function ApplyAoE(POSITION,RANGE,ISBANISH)
- local CHILDREN = workspace:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD.ClassName == "Model" and CHILD ~= Character then
- local HUM = CHILD:FindFirstChildOfClass("Humanoid")
- if HUM then
- local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
- if TORSO then
- if (TORSO.Position - POSITION).Magnitude <= RANGE then
- if ISBANISH == true then
- Banish(CHILD)
- else
- if ISBANISH == "Gravity" then
- HUM.PlatformStand = true
- if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
- local grav = Instance.new("BodyPosition",TORSO)
- grav.D = 15
- grav.P = 20000
- grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
- grav.position = TORSO.Position
- grav.Name = "V3BanishForce"..Player.Name
- else
- TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
- TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
- end
- else
- HUM.PlatformStand = false
- end
- end
- elseif ISBANISH == "Gravity" then
- if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
- TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
- HUM.PlatformStand = false
- end
- end
- end
- end
- end
- end
- end
- function ApplyKill(POSITION,RANGE,BRUTAL)
- local CHILDREN = workspace:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD.ClassName == "Model" and CHILD ~= Character then
- local HUM = CHILD:FindFirstChildOfClass("Humanoid")
- if HUM then
- local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
- if TORSO then
- if (TORSO.Position - POSITION).Magnitude <= RANGE then
- if BRUTAL == true then
- Banish(CHILD)
- else
- CHILD:BreakJoints()
- end
- end
- end
- end
- end
- end
- end
- function ApplyDamage(Humanoid,Damage)
- Damage = Damage * DAMAGEMULTIPLIER
- if Humanoid.Health ~= 0 then
- Humanoid.Health = Humanoid.Health - Damage
- end
- end
- function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL,OPTION)
- local CHILDREN = workspace:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD.ClassName == "Model" and CHILD ~= Character then
- local HUM = CHILD:FindFirstChildOfClass("Humanoid")
- if HUM then
- local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
- if TORSO then
- if (TORSO.Position - POSITION).Magnitude <= RANGE then
- if INSTAKILL == true then
- CHILD:BreakJoints()
- if OPTION ~= nil then
- Kill(CHILD,OPTION)
- end
- else
- local DMG = MRANDOM(MINDMG,MAXDMG)
- ApplyDamage(HUM,DMG)
- end
- if FLING ~= 0 then
- for _, c in pairs(CHILD:GetChildren()) do
- if c:IsA("BasePart") then
- local bv = Instance.new("BodyVelocity")
- bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
- bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
- bv.Parent = c
- Debris:AddItem(bv,0.05)
- end
- end
- end
- end
- end
- end
- end
- end
- end
- function Kill(Victim,Fire)
- coroutine.resume(coroutine.create(function()
- local NIL = script.TotalNil:Clone()
- NIL.Parent = Victim
- NIL.Disabled = false
- if Fire ~= true then
- Victim:BreakJoints()
- for _, c in pairs(Victim:GetChildren()) do
- if c:IsA("BasePart") then
- c.Anchored = true
- end
- end
- for _, c in pairs(Victim:GetChildren()) do
- if c:IsA("BasePart") then
- Shatter(c)
- end
- end
- else
- Victim:BreakJoints()
- local FIRES = {}
- for _, e in pairs(Victim:GetDescendants()) do
- if e:IsA("BasePart") and e.Name ~= "HumanoidRootPart" and e.Parent.ClassName ~= "Folder" then
- e.Transparency = 1
- e:ClearAllChildren()
- local FIRE = script.HellFire:Clone()
- FIRE.Parent = e
- FIRE.Enabled = true
- table.insert(FIRES,FIRE)
- elseif e.ClassName == "Decal" then
- e:remove()
- end
- end
- for i = 1, 50 do
- Victim:BreakJoints()
- wait()
- end
- for i = 1, #FIRES do
- FIRES[i].Enabled = false
- end
- wait(1.1)
- Victim:remove()
- end
- end))
- end
- --//=================================\\
- --|| ATTACK FUNCTIONS AND STUFF
- --\\=================================//
- function Kill(Foe)
- if Foe then
- coroutine.resume(coroutine.create(function()
- --if game.Players:FindFirstChild(Foe.Name) then
- table.insert(TOBANISH,Foe.Name)
- printbye(Foe.Name)
- --end
- Foe.Archivable = true
- local CLONE = Foe:Clone()
- Foe:Destroy()
- CLONE.Parent = Effects
- CLONE:BreakJoints()
- local MATERIALS = {"Glass","Neon"}
- for _, c in pairs(CLONE:GetDescendants()) do
- if c:IsA("BasePart") then
- if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
- CreateSound(340722848, c, 10, 1, false)
- end
- c.Anchored = true
- c.Transparency = c.Transparency + 0.2
- c.Material = MATERIALS[MRANDOM(1,2)]
- c.Color = C3(0,0,0)
- if c.ClassName == "MeshPart" then
- c.TextureID = ""
- end
- if c:FindFirstChildOfClass("SpecialMesh") then
- c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
- end
- if c:FindFirstChildOfClass("Decal") then
- c:FindFirstChildOfClass("Decal"):remove()
- end
- c.Name = "Banished"
- c.CanCollide = false
- else
- c:remove()
- end
- end
- local A = false
- for i = 1, 35 do
- if A == false then
- A = true
- elseif A == true then
- A = false
- end
- for _, c in pairs(CLONE:GetDescendants()) do
- if c:IsA("BasePart") then
- c.Anchored = true
- c.Material = MATERIALS[MRANDOM(1,2)]
- c.Transparency = c.Transparency + 0.8/35
- if A == false then
- c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
- elseif A == true then
- c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
- end
- end
- end
- Swait()
- end
- CLONE:remove()
- end))
- end
- end
- function Madness()
- ATTACK = true
- Rooted = false
- local GYRO = IT("BodyGyro",RootPart)
- GYRO.D = 750
- GYRO.P = 20000
- GYRO.MaxTorque = VT(0,40000000,0)
- local LOCKED = true
- local SHOT = false
- coroutine.resume(coroutine.create(function()
- for i=0, 1, 0.1 / Animation_Speed do
- GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- LOCKED = false
- SHOT = true
- repeat
- GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- until HOLD == false and SHOT == false
- for i=0, 0.3, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- GYRO:remove()
- ATTACK = false
- Rooted = false
- end))
- repeat wait() until LOCKED == false
- repeat
- SHOT = true
- wait(0.2)
- SHOT = false
- local BULLET = Lightning({Material = "Glass", FadeIn = true, Color = C3(0,0,0), Start = Hole.CFrame*CF(0, 1, 0.045).p, End = Mouse.Hit.p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
- local HIT = BULLET.Hit
- local HITPOS = BULLET.End
- if HIT then
- if HIT.Parent:FindFirstChildOfClass("Humanoid") then
- Kill(HIT.Parent)
- end
- end
- WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 2, SoundVolume = 1})
- WACKYEFFECT({Time = 15, EffectType = "Skull", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 2})
- WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(1,1.2,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 145080998, SoundPitch = 1, SoundVolume = 2})
- WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(2,1,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 145080998, SoundPitch = 1, SoundVolume = 2})
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
- until HOLD == false
- end
- function Banisher_Bullet()
- ATTACK = true
- Rooted = false
- for i=0, 0.4, 0.1 / Animation_Speed do
- Swait()
- turnto(Mouse.Hit.p)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- end
- repeat
- for i=0, 0.2, 0.1 / Animation_Speed do
- Swait()
- turnto(Mouse.Hit.p)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- end
- local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
- SpawnTrail(Hole.Position,POS)
- if HIT ~= nil then
- if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
- Banish(HIT.Parent)
- end
- end
- WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
- WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
- WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
- for i=0, 0.3, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
- end
- until KEYHOLD == false
- ATTACK = false
- Rooted = false
- end
- function AttackTemplate()
- ATTACK = true
- Rooted = false
- for i=0, 1, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- end
- ATTACK = false
- Rooted = false
- end
- function HI()
- ATTACK = true
- Rooted = false
- local LOOP = 0
- for i=0, 0.1, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- for i=0, 3, 0.1 / Animation_Speed do
- Swait()
- LOOP = LOOP + 1
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.8, 0.4) * ANGLES(RAD(170), RAD(0), RAD(-25 - 25 * SIN(LOOP / 5))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- for i=0, 0.1, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- ATTACK = false
- Rooted = false
- end
- function Mercy()
- ATTACK = true
- Rooted = true
- local SPOTS = {}
- for i = 1, 15 do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 0.1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Maroon".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
- for i=0, 0.5, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(65 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-65 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character)
- table.insert(SPOTS,HITPOS)
- CreateSound(145080998, Hole, 2, 1, false)
- Lightning({Material = "Neon", FadeIn = false, Color = C3(1,0,0), Start = Hole.CFrame*CF(0, 1, 0.045).p, End = Hole.CFrame*CF(0, 1000, 0.045).p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
- coroutine.resume(coroutine.create(function()
- local POS = Mouse.Hit.p
- local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,0,0))
- MakeForm(RAY,"Cyl")
- local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,0,0))
- MakeForm(SPHERE,"Ball")
- local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Really black", "Strike", VT(0,0,0))
- MakeForm(SHIELD,"Ball")
- SHIELD.CFrame = CF(POS)
- RAY.CFrame = CF(POS)
- SPHERE.CFrame = CF(POS)
- CreateSound(440145570, SPHERE, 10, 0.8, false)
- CreateSound(415700134, SPHERE, 10, 0.8, false)
- for i = 1, 200 do
- Swait()
- WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(SPHERE.Size.X*1.2,5+(i),SPHERE.Size.X*1.2), Transparency = 0, Transparency2 = 1, CFrame = SPHERE.CFrame*ANGLES(RAD(0), RAD(i), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(SPHERE.Size.X*2,5+(i),SPHERE.Size.X*2), Transparency = 0, Transparency2 = 1, CFrame = SPHERE.CFrame*ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
- RAY.Size = RAY.Size + VT(0.05,0,0.05)
- SPHERE.Size = SPHERE.Size + VT(0.4,0.4,0.4)
- SHIELD.Size = SPHERE.Size + VT(0.5,0.5,0.5)
- ApplyKill(SPHERE.Position,SPHERE.Size.X/2,true)
- end
- for i = 1, 45 do
- Swait()
- RAY.Transparency = RAY.Transparency + 1/45
- SPHERE.Transparency = RAY.Transparency
- SHIELD.Transparency = SPHERE.Transparency + 1/45
- end
- RAY:remove()
- SHIELD:remove()
- SPHERE:remove()
- end))
- ATTACK = false
- Rooted = false
- end
- function Warp()
- for e = 1, #BODY do
- if BODY[e] ~= nil then
- local STUFF = BODY[e]
- local PART = STUFF[1]
- if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
- local PRT = PART:Clone()
- PRT.Anchored = true
- PRT.CanCollide = false
- PRT.Material = "Neon"
- PRT.Color = C3(0,0,0)
- PRT.Name = "WarpEffect"
- PRT.Parent = Effects
- PRT.CFrame = PART.CFrame
- PRT:BreakJoints()
- if PRT:FindFirstChildOfClass("Sound") then
- PRT:FindFirstChildOfClass("Sound"):remove()
- end
- if PRT:FindFirstChildOfClass("Decal") then
- PRT:FindFirstChildOfClass("Decal"):remove()
- end
- coroutine.resume(coroutine.create(function()
- for i = 1, 100 do
- Swait()
- PRT.Transparency = PRT.Transparency + 1/100
- end
- PRT:remove()
- end))
- end
- end
- end
- CreateSound(217767125, Torso, 10, 1)
- local POS = RootPart.Orientation
- RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
- RootPart.Orientation = POS
- RootJoint.Parent = RootPart
- WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Eyes.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
- ATTACK = false
- Rooted = false
- end
- function killnearest(position,range,maxstrength,BRUTAL,RANGE)
- for i,v in ipairs(workspace:GetChildren()) do
- local body = v:GetChildren()
- for part = 1, #body do
- if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
- if(body[part].Position - position).Magnitude < range then
- if v.ClassName == "Model" then
- v:BreakJoints()
- end
- --table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
- local bv = Instance.new("BodyVelocity")
- bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
- bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
- bv.Parent = body[part]
- Debris:AddItem(bv,0.2)
- end
- end
- end
- if v.ClassName == "Part" then
- if v.Anchored == false and (v.Position - position).Magnitude < range then
- --table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
- v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
- end
- end
- end
- end
- function Darkness()
- ATTACK = true
- Rooted = true
- local GYRO = IT("BodyGyro",RootPart)
- GYRO.D = 100
- GYRO.P = 2000
- GYRO.MaxTorque = VT(0,4000000,0)
- GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
- CreateSound("429459101", RightArm, 10, 0.8)
- for i=0, 3.5, 0.1 / Animation_Speed do
- Swait()
- GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,10,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.75 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- GYRO:remove()
- for i=0, 0.15, 0.1 / Animation_Speed do
- Swait()
- GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,10,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.75 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- local BOMBSPOTS = {}
- for i = 1, 25 do
- local SPOT = CreatePart(3, Effects, "Neon", 0, 0, "Relly black", "Blade", VT(8,1,8))
- SPOT.Color = SKILLTEXTCOLOR
- SPOT.CFrame = RootPart.CFrame*CF((MRANDOM(-15,15)/40)*i,-5,-i*5)
- table.insert(BOMBSPOTS,SPOT)
- MakeForm(SPOT,"Cyl2")
- end
- for i=0, 0.2, 0.1 / Animation_Speed do
- Swait()
- WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.75 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- ATTACK = false
- Rooted = false
- coroutine.resume(coroutine.create(function()
- Swait(3)
- for i = 1, #BOMBSPOTS do
- if BOMBSPOTS[i] ~= nil then
- local E = BOMBSPOTS[i]
- coroutine.resume(coroutine.create(function()
- local BLADE = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Relly black", "Blade", VT(0,0,0))
- BLADE.Color = SKILLTEXTCOLOR
- CreateMesh("SpecialMesh", BLADE, "FileMesh", "93108071", "", VT(0.6,1,0.4)*3, VT(0,0,0))
- CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], BLADE, 4, 0.6)
- BLADE.CFrame = E.CFrame*CF(0,-3,0)*ANGLES(RAD(MRANDOM(-15,15)),RAD(90),RAD(MRANDOM(-15,15)))
- for i = 1, 10 do
- Swait()
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.5,0.5,0.5), Size2 = VT(0,50,0), Transparency = 0, Transparency2 = 1, CFrame = CF(BLADE.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
- killnearest(BLADE.Position,6,80)
- BLADE.CFrame = BLADE.CFrame*CF(0,0.3,0)
- BLADE.Transparency = BLADE.Transparency - 0.1
- end
- Swait(45)
- for i = 1, 100 do
- Swait()
- BLADE.Transparency = BLADE.Transparency + 0.01
- E.Transparency = E.Transparency + 0.01
- end
- BLADE:remove()
- E:remove()
- end))
- end
- end
- end))
- end
- function Death()
- if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
- local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
- local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
- if TORSO and HUM.Health > 0 then
- ATTACK = true
- Rooted = true
- local GYRO = IT("BodyGyro",RootPart)
- GYRO.D = 175
- GYRO.P = 20000
- GYRO.MaxTorque = VT(0,40000,0)
- for i=0, 1, 0.1 / Animation_Speed do
- Swait()
- GYRO.cframe = CF(RootPart.Position,TORSO.Position)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(50)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-50)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- end
- WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
- WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
- local MAGIC = ParticleEmitter({Speed = 5, Drag = 3, Size1 = 1.7, Size2 = 0, Lifetime1 = 1, Lifetime2 = 3, Parent = TORSO, Emit = 100, Offset = 360, Enabled = true})
- MAGIC.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(1,0)})
- local grav = Instance.new("BodyPosition",TORSO)
- grav.D = 1500
- grav.P = 20000
- grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
- grav.position = TORSO.Position+VT(0,15,0)
- Debris:AddItem(grav,10)
- Debris:AddItem(MAGIC,10)
- CreateSound(429459101, Torso, 7, 1, false)
- CreateSound(429459101, TORSO, 7, 1, false)
- GYRO:remove()
- ATTACK = false
- Rooted = false
- end
- end
- end
- function TakeOnMe()
- Speed = 5
- local MEME = CreateSound(288703954, Effects, 2, 1, false)
- ATTACK = true
- Rooted = false
- local DANCE = true
- local KEY = Mouse.KeyDown:connect(function(NEWKEY)
- if NEWKEY == "p" then
- DANCE = false
- end
- end)
- while true do
- for i = 1, 15 do
- Swait()
- MEME.Parent = Effects
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.4+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, 0, -1) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- if DANCE == false then
- break
- end
- for i = 1, 15 do
- Swait()
- MEME.Parent = Effects
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.4+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(10)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- end
- KEY:Disconnect()
- MEME:remove()
- Speed = 25
- ATTACK = false
- Rooted = false
- end
- function TimeStop ()
- local HITFLOOR,HITPOS = Raycast(RootPart.CFrame*CF(0,0,-6.5).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
- CHOICE = 6
- CreateSound(1193182658, Character, 5, 1, false)
- back = CreateSound(1841228386, Character, 9999, 1, false)
- local killsky = Instance.new('Sky', game:GetService'Lighting')
- killsky.SkyboxBk = "rbxassetid://1013852"
- killsky.SkyboxDn = "rbxassetid://1013853"
- killsky.SkyboxFt = "rbxassetid://1013850"
- killsky.SkyboxLf = "rbxassetid://1013851"
- killsky.SkyboxRt = "rbxassetid://1013849"
- killsky.SkyboxUp = "rbxassetid://1013854"
- killsky.StarCount = 0
- killsky.SunAngularSize = 0
- killsky.MoonAngularSize = 0
- killsky.MoonTextureId = ""
- killsky.CelestialBodiesShown = false
- game.Lighting.FogColor = Color3.new(1,1,0)
- game.Lighting.FogEnd = 1400
- if HITFLOOR ~= nil then
- ATTACK = false
- Rooted = false
- local RINGSPIN = true
- local CONSTRUCTING = true
- local RING = CreatePart(3, Effects, "Neon", 0, 1, "New Yeller", "Ring", VT(0,0,0))
- RING.Color = C3(0,0,0)
- MakeForm(RING,"Cyl")
- RING.CFrame = CF(HITPOS)
- coroutine.resume(coroutine.create(function()
- repeat
- Swait()
- RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
- until CONSTRUCTING == false
- repeat
- Swait()
- RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
- until RINGSPIN == false
- for i = 1, 25 do
- Swait()
- RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
- RING.Size = RING.Size - VT(0.15,0,0.15)
- --DECAL.Transparency = DECAL.Transparency + 1/25
- RING.Transparency = RING.Transparency + 1/25
- end
- RING:remove()
- end))
- for i = 1, 15 do
- Swait()
- RING.Size = RING.Size + VT(0,0,0)
- RING.Transparency = RING.Transparency - 1/15
- end
- end
- local RANDOMEFFECT = MRANDOM(1)
- local BASE = CreatePart(3, Character, "Neon", 0, 0, "New Yeller", "Black", VT(2,1.8,2))
- BASE.Color = C3(0,0,0)
- BASE.Transparency = 1
- BASE.CFrame = CF(HITPOS+VT(0,-8,0),VT(RootPart.Position.X,HITPOS.Y-8,RootPart.Position.Z))
- if RANDOMEFFECT == 1 then
- local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "New Yeller", "Field", VT(0.3,0.3,0.3))
- FIELD.CFrame = BASE.CFrame
- MakeForm(FIELD,"Ball")
- for i = 1, 50 do
- Swait()
- FIELD.Size = VT(0,0,0)
- FIELD.CFrame = FIELD.CFrame * CF(0,0.75-(i/45),0)
- end
- end
- wait(0.2)
- local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "New Yeller", "Field", VT(0.3,0.3,0.3))
- FIELD.CFrame = BASE.CFrame
- local LOOP = CreateSound(1393698948, Character, 0, 1, true)
- coroutine.resume(coroutine.create(function()
- for i = 1, 75 do
- Swait()
- LOOP.Volume = LOOP.Volume + 10/75
- LOOP.Parent = FIELD
- local CHILDREN = workspace:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
- local HUM = CHILD:FindFirstChildOfClass("Humanoid")
- if HUM then
- local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
- if TORSO then
- if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
- HUM.Health = HUM.Health - 0
- TORSO.Velocity = VT(0,5,0)
- HUM.PlatformStand = true
- if TORSO.RotVelocity.Magnitude < 15 then
- TORSO.Anchored = true
- end
- end
- end
- end
- end
- end
- FIELD.Size = FIELD.Size + VT(90,90,90)
- FIELD.Transparency = FIELD.Transparency + 0.8/75
- end
- for i = 1, 500 do
- Swait()
- LOOP.Parent = FIELD
- local CHILDREN = workspace:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
- local HUM = CHILD:FindFirstChildOfClass("Humanoid")
- if HUM then
- local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
- if TORSO then
- if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
- TORSO.Velocity = VT(0,5,0)
- HUM.Health = HUM.Health - 0
- HUM.PlatformStand = true
- if TORSO.RotVelocity.Magnitude < 15 then
- TORSO.Anchored = true
- end
- end
- end
- end
- end
- end
- end
- wait (20)
- back:Remove()
- CreateSound(1538466750, Character, 99999, 1, false)
- killsky:Remove()
- game.Lighting.FogEnd = 90000000
- wait (5)
- CHOICE = MRANDOM (1,5)
- for i = 1, 25 do
- Swait()
- LOOP.Volume = LOOP.Volume + 10/25
- LOOP.Parent = FIELD
- local CHILDREN = workspace:GetDescendants()
- for index, CHILD in pairs(CHILDREN) do
- if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
- local HUM = CHILD:FindFirstChildOfClass("Humanoid")
- if HUM then
- local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
- if TORSO then
- if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/1.8 then
- TORSO.Velocity = VT(0,5,0)
- HUM.Health = HUM.Health - 0
- HUM.PlatformStand = false
- if TORSO.RotVelocity.Magnitude < 15 then
- TORSO.Anchored = false
- end
- end
- end
- end
- end
- FIELD.Size = FIELD.Size - VT(3,3,3)
- FIELD.Transparency = FIELD.Transparency + 0.2/25
- end
- end
- end))
- FIELD:Remove()
- ATTACK = false
- Rooted = false
- end
- function FingerMagic()
- ATTACK = true
- Rooted = false
- for i=0, 0.1, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- for i=0, 1, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(0 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 7.5 * SIN(SINE / 12))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.15 + 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(160), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 1, SoundVolume = 1})
- for i = 1, 5 do
- WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(1,1,1), Size2 = VT(0,7,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 2, SoundVolume = 1})
- end
- CreateSound(217767125, LeftArm, 10, 1, false)
- coroutine.resume(coroutine.create(function()
- local EXPLODED = false
- for i = 1, 3 do
- coroutine.resume(coroutine.create(function()
- local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 15, Character)
- if HITFLOOR then
- local CFRAME = CF(HITPOS) * ANGLES(RAD(0), RAD((360/3)*i), RAD(0))
- for i = 1, 35 do
- wait()
- for _, c in pairs(workspace:GetChildren()) do
- if EXPLODED == false and c.ClassName == "Model" and c:FindFirstChildOfClass("Humanoid") and c ~= Character then
- local HUM = c:FindFirstChildOfClass("Humanoid")
- local TORSO = c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
- if TORSO and HUM.Health > 0 then
- if (TORSO.Position - CFRAME.p).Magnitude < 10 then
- EXPLODED = true
- coroutine.resume(coroutine.create(function()
- for i = 1, 15 do
- Kill(CFRAME*CF(0,10,0).p,30+(i*4),0,0,-35,false)
- wait(0.2)
- WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(15+(i*2),5,15+(i*2)), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
- WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(15,15,15)+VT(i*2,i*2,i*2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 1, SoundVolume = 1})
- WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(12,12,12)+VT(i*2,i*2,i*2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.7,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 1})
- end
- WACKYEFFECT({Time = 50, EffectType = "Block", Size = VT(15,15,15)+VT(i*2,i*2,i*2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 1, SoundVolume = 1})
- wait(1)
- WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(100,100,100)*5, Transparency = 0.4, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.3,0,0), SoundID = 461105534, SoundPitch = 1, SoundVolume = 10})
- local PART = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
- PART.CFrame = CFRAME*CF(0,10,0)
- Debris:AddItem(PART,10)
- local PARTICLES = script.Explode:Clone()
- PARTICLES.Parent = PART
- PARTICLES:Emit(500)
- Kill(CFRAME*CF(0,10,0).p,45*2,0,0,350,true)
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(90,90,90)*2, Transparency = 0.8, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 3})
- WACKYEFFECT({EffectType = "Ring", Size = VT(00,0.01)/20, Size2 = VT(35,35,0.01), Transparency = 0.7, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0)*ANGLES(RAD(0), RAD(90), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- WACKYEFFECT({EffectType = "Ring", Size = VT(00,0.01)/20, Size2 = VT(35,35,0.01), Transparency = 0.7, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0)*ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- end))
- end
- end
- end
- end
- if EXPLODED == true then
- break
- end
- CFRAME = CFRAME * ANGLES(RAD(0), RAD(10), RAD(0)) * CF(0,0,-3)
- WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(10,15,10), Size2 = VT(0,35,0), Transparency = 1, Transparency2 = 0.9, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
- WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(15,15,15), Size2 = VT(0,25,0), Transparency = 1, Transparency2 = 0.6, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Maroon".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
- end
- end
- end))
- end
- end))
- for i=0, 1, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(0 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 7.5 * SIN(SINE / 12))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15 + 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(170), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- ATTACK = false
- Rooted = false
- end
- function PainlessRain()
- ATTACK = true
- Rooted = true
- local SPOTS = {}
- local BULLETS = 0
- repeat
- BULLETS = BULLETS + 1
- for i = 1, 15 do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 0.1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- until KEYHOLD == false
- for i = 1, BULLETS do
- for i=0, 0.5, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(65 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-65 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character)
- table.insert(SPOTS,HITPOS)
- for i=0, 0.35, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(65 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-65 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- end
- coroutine.resume(coroutine.create(function()
- for i = 1, #SPOTS do
- wait(0.1)
- coroutine.resume(coroutine.create(function()
- local SPOT = SPOTS[i]
- local BOLT = Lightning({Material = "Neon", FadeIn = true, Color = C3(1,0,0), Start = SPOT+VT(0,150,0), End = SPOT, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 125, Thicken = true})
- local POSITION = BOLT.Pos
- ApplyAoE(POSITION,75/2,0,0,350,true)
- WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(50,150,50), Transparency = 0.3, Transparency2 = 1, CFrame = CF(POSITION), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 3})
- WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(15,0,15), Size2 = VT(75,5,75), Transparency = 0, Transparency2 = 1, CFrame = CF(POSITION), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = 165970126, SoundPitch = 1, SoundVolume = 4})
- WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(15,0,15), Size2 = VT(35,15,35), Transparency = 0, Transparency2 = 1, CFrame = CF(POSITION), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
- end))
- end
- end))
- ATTACK = false
- Rooted = false
- end
- function Noclip()
- ATTACK = true
- Rooted = true
- UNANCHOR = false
- RootPart.Anchored = true
- local CLIPPING = true
- local MOVEMENT = nil
- CreateSound(96098241, Torso, 3, MRANDOM(9,12)/10, false)
- for i = 1, 50 do
- Swait()
- EXTRATRANS = EXTRATRANS + 0.5/50
- RootPart.CFrame = RootPart.CFrame * CF(0,(1-(i/50))/4.3,0)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- local AURA = CreateSound(1393698948, Torso, 3, 1, true)
- local KEY = Mouse.KeyDown:connect(function(NEWKEY)
- if NEWKEY == "w" then
- MOVEMENT = "Forward"
- repeat
- Swait()
- RootPart.CFrame = RootPart.CFrame * CF(0,0,-0.2)
- until KEYHOLD == false
- elseif NEWKEY == "s" then
- MOVEMENT = "Backwards"
- repeat
- Swait()
- RootPart.CFrame = RootPart.CFrame * CF(0,0,0.2)
- until KEYHOLD == false
- elseif NEWKEY == "a" then
- MOVEMENT = "Strafe"
- repeat
- Swait()
- RootPart.CFrame = RootPart.CFrame * CF(0.2,0,0)
- until KEYHOLD == false
- elseif NEWKEY == "d" then
- MOVEMENT = "Strafe"
- repeat
- Swait()
- RootPart.CFrame = RootPart.CFrame * CF(-0.2,0,0)
- until KEYHOLD == false
- elseif NEWKEY == "e" then
- CLIPPING = false
- end
- MOVEMENT = nil
- end)
- local LOOP = 0
- repeat
- Swait()
- AURA.Parent = Torso
- LOOP = LOOP + 1
- if LOOP >= 15 then
- LOOP = 0
- WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(15,1,15), Transparency = 0.7, Transparency2 = 1, CFrame = CF(RootPart.CFrame*CF(0,-3.5,0).p), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
- end
- if MOVEMENT == nil then
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- elseif MOVEMENT == "Forward" then
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- elseif MOVEMENT == "Backwards" then
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- elseif MOVEMENT == "Strafe" then
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(2), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- until CLIPPING == false
- KEY:Disconnect()
- coroutine.resume(coroutine.create(function()
- for i = 1, 20 do
- Swait()
- AURA.Volume = AURA.Volume - 3/20
- end
- AURA:remove()
- end))
- CreateSound(814168787, Torso, 1, MRANDOM(9,12)/10, false)
- for i = 1, 50 do
- Swait()
- EXTRATRANS = EXTRATRANS - 0.5/50
- RootPart.CFrame = RootPart.CFrame * CF(0,-(1-(i/50))/4.3,0)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
- end
- EXTRATRANS = 0
- UNANCHOR = true
- ATTACK = false
- Rooted = false
- end
- --//=================================\\
- --|| ASSIGN THINGS TO KEYS
- --\\=================================//
- function MouseDown(Mouse)
- HOLD = true
- if ATTACK == false then
- end
- end
- function MouseUp(Mouse)
- HOLD = false
- end
- function KeyDown(Key)
- KEYHOLD = true
- if Key == "q" and ATTACK == false then
- Warp()
- end
- if Key == "b" and ATTACK == false then
- TimeStop()
- end
- if Key == "v" and ATTACK == false then
- Madness()
- end
- if Key == "x" and ATTACK == false then
- Mercy()
- end
- if Key == "t" and ATTACK == false then
- HI()
- end
- if Key == "f" and ATTACK == false then
- FingerMagic()
- end
- if Key == "r" and ATTACK == false then
- PainlessRain()
- end
- if Key == "z" and ATTACK == false then
- Darkness()
- end
- if Key == "c" and ATTACK == false then
- Banisher_Bullet()
- end
- if Key == "e" and ATTACK == false then
- Noclip()
- end
- if Key == "p" and ATTACK == false then
- TakeOnMe()
- end
- end
- function KeyUp(Key)
- KEYHOLD = false
- end
- Mouse.Button1Down:connect(function(NEWKEY)
- MouseDown(NEWKEY)
- end)
- Mouse.Button1Up:connect(function(NEWKEY)
- MouseUp(NEWKEY)
- end)
- Mouse.KeyDown:connect(function(NEWKEY)
- KeyDown(NEWKEY)
- end)
- Mouse.KeyUp:connect(function(NEWKEY)
- KeyUp(NEWKEY)
- end)
- --//=================================\\
- --\\=================================//
- function unanchor()
- if UNANCHOR == true then
- RootPart.Anchored = false
- end
- g = Character:GetChildren()
- for i = 1, #g do
- if g[i].ClassName == "Part" and g[i] ~= RootPart then
- g[i].Anchored = false
- end
- end
- g = Weapon:GetChildren()
- for i = 1, #g do
- if g[i].ClassName == "Part" then
- g[i].Anchored = false
- end
- end
- end
- --//=================================\\
- --|| WRAP THE WHOLE SCRIPT UP
- --\\=================================//
- Humanoid.Changed:connect(function(Jump)
- if Jump == "Jump" and (Disable_Jump == true) then
- Humanoid.Jump = false
- end
- end)
- while true do
- Swait()
- refit()
- script.Parent = WEAPONGUI
- for _,v in next, Humanoid:GetPlayingAnimationTracks() do
- v:Stop();
- end
- ANIMATE.Parent = nil
- SINE = SINE + CHANGE*1.5
- local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
- local TORSOVERTICALVELOCITY = RootPart.Velocity.y
- local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
- local WALKSPEEDVALUE = 10 / (Humanoid.WalkSpeed / 16)
- if ANIM == "Walk" and TORSOVELOCITY > 1 then
- RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0 * COS(SINE / (WALKSPEEDVALUE / 2)) * SIZE) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
- Neck.C1 = Clerp(Neck.C1, CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
- elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
- RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- Neck.C1 = Clerp(Neck.C1, CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- end
- if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
- ANIM = "Jump"
- if ATTACK == false then
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
- end
- elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
- ANIM = "Fall"
- if ATTACK == false then
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / Animation_Speed)
- end
- elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
- ANIM = "Idle"
- if ATTACK == false then
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.5 * COS(SINE / 12)) * ANGLES(RAD(0 - 3 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75*SIZE, 0.5*SIZE, -1*SIZE) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1*SIZE, 0.2*SIZE, -0.5*SIZE) * ANGLES(RAD(25), RAD(0), RAD(85)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE - 0.05*SIZE * COS(SINE / 12), -0.5*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -0.8*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- end
- elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
- ANIM = "Walk"
- if ATTACK == false then
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.5 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(-55 + 2.5 * SIN(SINE / WALKSPEEDVALUE))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(55 - 2.5 * SIN(SINE / WALKSPEEDVALUE))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE - 0.05*SIZE * COS(SINE / 12), -0.5*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -0.8*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- end
- end
- unanchor()
- Humanoid.MaxHealth = "inf"
- Humanoid.Health = "inf"
- if Rooted == false then
- Disable_Jump = false
- Humanoid.WalkSpeed = Speed
- elseif Rooted == true then
- Disable_Jump = true
- Humanoid.WalkSpeed = 0
- end
- for _, c in pairs(Character:GetChildren()) do
- if c.ClassName == "Part" and c.Name ~= "Detail" then
- c.Material = "Fabric"
- if c:FindFirstChildOfClass("ParticleEmitter") then
- c:FindFirstChildOfClass("ParticleEmitter"):remove()
- end
- if c ~= Head then
- c.Color = C3(0,0,0)
- else
- c.Color = C3(0,0,0)
- end
- if c == Head then
- if c:FindFirstChild("face") then
- c.face:remove()
- end
- end
- elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
- c:remove()
- elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
- c:remove()
- end
- end
- sick.SoundId = "rbxassetid://"..bored[CHOICE]
- sick.Looped = true
- sick.Pitch = 1
- sick.Volume = 999999
- sick.Parent = Character
- sick:Resume()
- --sick.Playing = false
- Humanoid.Name = "Master of Time = "..Player.Name
- end
- --//=================================\\
- --\\=================================//
- --//====================================================\\--
- --|| END OF SCRIPT
- --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement