Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Karma
- -- Made By ItzPartapika
- -- Conversion Template by DARKENER!PIKA#1127 (ItzPartapika)
- --[[
- Credits to:
- Shackluster = {
- Animation Related Stuff
- }
- Inspiration:
- The hate from other people because of
- how I skid off of other people. This is
- my first attempt at making my own script.
- Let's see how it goes, eh?
- --]]
- local Player = game.Players:FindFirstChild(script.Parent.Parent.Name)
- local LocalScript = script.LocalScript:Clone();
- LocalScript.Parent = Player.Character;
- script.LocalScript:Destroy()
- local Mouse,mouse,UserInputService,ContextActionService
- do
- local GUID = {}
- do
- GUID.IDs = {};
- function GUID:new(len)
- local id;
- if(not len)then
- id = (tostring(function() end))
- id = id:gsub("function: ","")
- else
- local function genID(len)
- local newID = ""
- for i = 1,len do
- newID = newID..string.char(math.random(48,90))
- end
- return newID
- end
- repeat id = genID(len) until not GUID.IDs[id]
- local oid = id;
- id = {Trash=function() GUID.IDs[oid]=nil; end;Get=function() return oid; end}
- GUID.IDs[oid]=true;
- end
- return id
- end
- end
- local AHB = Instance.new("BindableEvent")
- local FPS = 30
- local TimeFrame = 0
- local LastFrame = tick()
- local Frame = 1/FPS
- game:service'RunService'.Heartbeat:connect(function(s,p)
- TimeFrame = TimeFrame + s
- if(TimeFrame >= Frame)then
- for i = 1,math.floor(TimeFrame/Frame) do
- AHB:Fire()
- end
- LastFrame=tick()
- TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame)
- end
- end)
- local function Swait(dur)
- if(dur == 0 or typeof(dur) ~= 'number')then
- AHB.Event:wait()
- else
- for i = 1, dur*FPS do
- AHB.Event:wait()
- end
- end
- end
- local loudnesses={}
- script.Parent = Player.Character
- local CoAS = {Actions={}}
- local Event = Instance.new("RemoteEvent")
- Event.Name = "UserInputEvent"
- Event.Parent = Player.Character
- local Func = Instance.new("RemoteFunction")
- Func.Name = "GetClientProperty"
- Func.Parent = Player.Character
- local fakeEvent = function()
- local t = {_fakeEvent=true,Waited={}}
- t.Connect = function(self,f)
- local ft={Disconnected=false;disconnect=function(s) s.Disconnected=true end}
- ft.Disconnect=ft.disconnect
- ft.Func=function(...)
- for id,_ in next, t.Waited do
- t.Waited[id] = true
- end
- return f(...)
- end;
- self.Function=ft;
- return ft;
- end
- t.connect = t.Connect
- t.Wait = function()
- local guid = GUID:new(25)
- local waitingId = guid:Get()
- t.Waited[waitingId]=false
- repeat Swait() until t.Waited[waitingId]==true
- t.Waited[waitingId]=nil;
- guid:Trash()
- end
- t.wait = t.Wait
- return t
- end
- local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
- local UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
- function CoAS:BindAction(name,fun,touch,...)
- CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
- end
- function CoAS:UnbindAction(name)
- CoAS.Actions[name] = nil
- end
- local function te(self,ev,...)
- local t = self[ev]
- if t and t._fakeEvent and t.Function and t.Function.Func and not t.Function.Disconnected then
- t.Function.Func(...)
- elseif t and t._fakeEvent and t.Function and t.Function.Func and t.Function.Disconnected then
- self[ev].Function=nil
- end
- end
- m.TrigEvent = te
- UsIS.TrigEvent = te
- Event.OnServerEvent:Connect(function(plr,io)
- if plr~=Player then return end
- if io.Mouse then
- m.Target = io.Target
- m.Hit = io.Hit
- elseif io.KeyEvent then
- m:TrigEvent('Key'..io.KeyEvent,io.Key)
- elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
- if io.UserInputState == Enum.UserInputState.Begin then
- m:TrigEvent("Button1Down")
- else
- m:TrigEvent("Button1Up")
- end
- end
- if(not io.KeyEvent and not io.Mouse)then
- for n,t in pairs(CoAS.Actions) do
- for _,k in pairs(t.Keys) do
- if k==io.KeyCode then
- t.Function(t.Name,io.UserInputState,io)
- end
- end
- end
- if io.UserInputState == Enum.UserInputState.Begin then
- UsIS:TrigEvent("InputBegan",io,false)
- else
- UsIS:TrigEvent("InputEnded",io,false)
- end
- end
- end)
- Func.OnServerInvoke = function(plr,inst,play)
- if plr~=Player then return end
- if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
- loudnesses[inst]=play
- end
- end
- function GetClientProperty(inst,prop)
- if(prop == 'PlaybackLoudness' and loudnesses[inst])then
- return loudnesses[inst]
- elseif(prop == 'PlaybackLoudness')then
- return Func:InvokeClient(Player,'RegSound',inst)
- end
- return Func:InvokeClient(Player,inst,prop)
- end
- Mouse, mouse, UserInputService, ContextActionService = m, m, UsIS, CoAS
- end
- repeat
- wait()
- until Player.Character ~= nil
- local Character = Player.Character
- -- Shortcut Variables
- IT = Instance.new
- CF = CFrame.new
- VT = Vector3.new
- RAD = math.rad
- C3 = Color3.new
- UD2 = UDim2.new
- BRICKC = BrickColor.new
- BRICKCRNDM = BrickColor.Random
- 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
- -- Object Variables
- 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"]
- local TimePos = 0
- local SongObj = Instance.new("Sound")
- local Effects = IT("Model", Character)
- Effects.Name = "Effects"
- local Delete = IT("Model",Character)
- Delete.Name = "ToBeDeletedFolder"
- -- Useful Variables
- local MODES = {
- "THE LOST";
- "INSANE";
- "LIMIT";
- }
- local UnneccessarySounds = {
- "Climbing";
- "Died";
- "FreeFalling";
- "GettingUp";
- "Jumping";
- "Landing";
- "Running";
- "Splash";
- "Swimming";
- }
- local CURRENTMOK = MODES[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 ANIM = "Idle"
- local ATTACK = false
- local HOLD = false
- local Rooted = false
- local Disable_Jump = false
- local SINE = 0
- local KEYHOLD = false
- local WALKINGANIM = false
- local WALK = 0
- -- Customization
- Speed = 8
- Animation_Speed = 3
- Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
- CHANGE = 2 / Animation_Speed
- Player_Size = 1
- -- Sazerenos' Artificial Heartbeat
- ArtificialHB = IT("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)
- -- Animation Related
- 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 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 CF(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
- --// Functions \\--
- function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
- return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
- 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
- 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
- function CreateSphere(BONUSSPEED,TYPE,pos,scale,VALUE,VALUE2,VALUE3,color)
- local TYPE = TYPE
- local SPHEREPART = IT("Part", Character)
- SPHEREPART.Anchored = true
- SPHEREPART.BrickColor = color
- SPHEREPART.CanCollide = false
- SPHEREPART.FormFactor = 3
- SPHEREPART.Name = "Ring"
- SPHEREPART.Material = "Neon"
- SPHEREPART.Size = Vector3.new(1, 1, 1)
- SPHEREPART.Transparency = 0
- SPHEREPART.TopSurface = 0
- SPHEREPART.BottomSurface = 0
- SPHEREPART.CFrame = pos
- local SPHEREPARTMESH = IT("SpecialMesh", SPHEREPART)
- SPHEREPARTMESH.MeshType = "Sphere"
- SPHEREPARTMESH.Scale = scale
- local SCALER2 = 1
- local SCALER2b = 1
- local SCALER2c = 1
- if TYPE == "Add" then
- SCALER2 = 1 * VALUE
- SCALER2b = 1 * VALUE2
- SCALER2c = 1 * VALUE3
- elseif TYPE == "Divide" then
- SCALER2 = 1 / VALUE
- SCALER2b = 1 / VALUE2
- SCALER2c = 1 / VALUE3
- end
- coroutine.resume(coroutine.create(function()
- for i = 0, 10 / BONUSSPEED, 0.1 do
- Swait()
- if TYPE == "Add" then
- SCALER2 = SCALER2 - 0.01 * VALUE / BONUSSPEED
- SCALER2b = SCALER2b - 0.01 * VALUE / BONUSSPEED
- SCALER2c = SCALER2c - 0.01 * VALUE / BONUSSPEED
- elseif TYPE == "Divide" then
- SCALER2 = SCALER2 - 0.01 / VALUE * BONUSSPEED
- SCALER2b = SCALER2b - 0.01 / VALUE * BONUSSPEED
- SCALER2c = SCALER2c - 0.01 / VALUE * BONUSSPEED
- end
- SPHEREPART.Transparency = SPHEREPART.Transparency + 0.01 * BONUSSPEED
- SPHEREPARTMESH.Scale = SPHEREPARTMESH.Scale + VT(SCALER2 * BONUSSPEED, SCALER2b * BONUSSPEED, SCALER2c * BONUSSPEED)
- end
- SPHEREPART:Destroy()
- end))
- end
- function CreateSound(ID, VOLUME, PITCH, LOOPED)
- local SOUND = IT("Sound", Head)
- SOUND.SoundId = "rbxassetid://" .. tostring(ID)
- SOUND.Volume = VOLUME
- SOUND.PlaybackSpeed = PITCH
- if(LOOPED ~= nil)then
- SOUND.Looped = LOOPED
- else
- SOUND.Looped = false
- end
- SOUND:Play()
- coroutine.resume(coroutine.create(function()
- repeat
- Swait()
- until SOUND.Playing == false
- Swait(2)
- SOUND:Remove()
- end))
- return SOUND
- end
- --// Chat Functions \\--
- function DramaticText(TEXT)
- for i,v in pairs(game:GetService("Players"):GetPlayers()) do
- coroutine.resume(coroutine.create(function()
- if v.PlayerGui:FindFirstChild("DramaticUi") ~= nil then
- v.PlayerGui:FindFirstChild("DramaticUi"):Destroy()
- end
- -- Instances:
- local DramaticUi = IT("ScreenGui")
- local TextFrame = IT("TextLabel")
- --Properties:
- DramaticUi.Name = "DramaticUi"
- DramaticUi.Parent = v.PlayerGui
- DramaticUi.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
- TextFrame.Name = "TextFrame"
- TextFrame.Parent = DramaticUi
- TextFrame.BackgroundColor3 = Color3.new(1, 1, 1)
- TextFrame.BackgroundTransparency = 1
- TextFrame.BorderColor3 = Color3.new(1, 1, 1)
- TextFrame.BorderSizePixel = 0
- TextFrame.Position = UDim2.new(0, 0, 0.400334984, 0)
- TextFrame.Size = UDim2.new(1, 0, 0, 119)
- TextFrame.Font = Enum.Font.Code
- TextFrame.Text = ""
- TextFrame.TextColor3 = Color3.new(1, 1, 1)
- TextFrame.TextScaled = true
- TextFrame.TextStrokeTransparency = 0
- TextFrame.TextWrapped = true
- coroutine.resume(coroutine.create(function()
- while true do
- Swait()
- TextFrame.TextColor3 = BRICKCRNDM().Color
- TextFrame.TextStrokeColor3 = BRICKCRNDM().Color
- end
- end))
- coroutine.resume(coroutine.create(function()
- for i = 1, string.len(TEXT),1 do
- TextFrame.Text = string.sub(TEXT, 1, i)
- Swait()
- end
- end))
- return DramaticUi
- end))
- end
- end
- --// Name Tag Creation \\--
- local FONTS = {
- Enum.Font.Antique,
- Enum.Font.Arcade,
- Enum.Font.Arial,
- Enum.Font.ArialBold,
- Enum.Font.Bodoni,
- Enum.Font.Cartoon,
- Enum.Font.Code,
- Enum.Font.Fantasy,
- Enum.Font.Garamond,
- Enum.Font.Highway,
- Enum.Font.Legacy,
- Enum.Font.SciFi,
- Enum.Font.SourceSans,
- Enum.Font.SourceSansBold,
- Enum.Font.SourceSansItalic,
- Enum.Font.SourceSansLight,
- Enum.Font.SourceSansSemibold
- }
- script:WaitForChild("NameTag")
- local BBG = script.NameTag:Clone()
- BBG:WaitForChild("DesiredName")
- BBG.Parent = Character
- BBG.Adornee = Head
- BBG.Enabled = true
- local ModeTag = BBG.DesiredName
- --// Quick Functions \\--
- function IdleArmAnimHandler()
- if(CURRENTMOK == MODES[1])then
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(MRANDOM(10, 50)), RAD(0), RAD(MRANDOM(-20, 20))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- elseif(CURRENTMOK == MODES[2])then
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.2, 0) * ANGLES(RAD(MRANDOM(160, 200)), RAD(0), RAD(-MRANDOM(5, 45))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- elseif(CURRENTMOK == MODES[3])then
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.2, 0) * ANGLES(RAD(MRANDOM(160, 200)), RAD(0), RAD(-MRANDOM(5, 45))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- end
- if(CURRENTMOK ~= MODES[3])then
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.2, 0) * ANGLES(RAD(MRANDOM(160, 200)), RAD(0), RAD(MRANDOM(5, 45))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- else
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(MRANDOM(10, 50)), RAD(0), RAD(MRANDOM(-20, 20))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- end
- end
- --// Damaging \\--
- function SeizureDeath(Foe)
- if Foe then
- coroutine.resume(coroutine.create(function()
- Foe.Archivable = true
- local CLONE = Foe:Clone()
- Foe:Destroy()
- CLONE.Parent = Effects
- CLONE:BreakJoints()
- for _, c in pairs(CLONE:GetDescendants()) do
- if c:IsA("BasePart") then
- c.Anchored = true
- c.Transparency = c.Transparency + 0.2
- c.Material = "Neon"
- c.Color = BRICKCRNDM().Color
- 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 = "Seizured"
- c.CanCollide = false
- else
- c:remove()
- end
- end
- for i = 1, 35 do
- for _, c in pairs(CLONE:GetDescendants()) do
- if c:IsA("BasePart") then
- c.Anchored = true
- c.Transparency = c.Transparency + 0.8/35
- end
- end
- Swait()
- end
- CLONE:remove()
- end))
- end
- end
- function SEIZURENEAREST(POS,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 - POS).Magnitude < RANGE then
- if v:FindFirstChildOfClass("Humanoid") then
- SeizureDeath(v)
- if game.Players:FindFirstChild(v.Name) then
- local Value = IT("BoolValue",Delete)
- Value.Name = v.Name
- end
- end
- end
- end
- end
- end
- end
- --// Moves, Attacks, etc.. \\--
- function Heartless()
- ATTACK = true
- Rooted = true
- CreateSound("363808674", 10, 1.3, false)
- for i = 0, 1.2, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.1, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-30), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-15, 25) - 2.5 * SIN(SINE / 12)), RAD(MRANDOM(-15, 25)), RAD(MRANDOM(-15, 25))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-30), 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(-30), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- end
- CreateSound("429400881", 10, 1, false)
- local Laugh = CreateSound("300208779", 10, 1, false)
- DramaticText([[
- i think..
- I NEED MAKE IT
- HURTER THAN IT.
- ]])
- local hart = CreatePart(3, Character, Enum.Material.Granite, 0, 0, BrickColor.new'Crimson', "Heart", VT(1, 1, 1), false)
- local hartM = IT("SpecialMesh")
- hartM.MeshId = ""
- hartM.TextureId = ""
- hartM.Scale = VT(1,1,1)
- hartM.Offset = VT(0,0,0)
- hartM.MeshType = Enum.MeshType.Sphere
- hartM.Parent = hart
- local Weld = CreateWeldOrSnapOrMotor("Weld", hart, hart, RightArm, CF(0, 1, 0), CF(0, 0, 0))
- repeat
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.1, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(30), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-15, 25) - 2.5 * SIN(SINE / 12)), RAD(MRANDOM(-15, 25)), RAD(MRANDOM(-15, 25))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(80), RAD(-30), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(30), 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(30), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- hart.BrickColor = BRICKCRNDM()
- until Laugh.Playing == false
- for i,v in pairs(game:GetService("Players"):GetPlayers()) do
- coroutine.resume(coroutine.create(function()
- if v.PlayerGui:FindFirstChild("DramaticUi") ~= nil then
- v.PlayerGui:FindFirstChild("DramaticUi"):Destroy()
- end
- end))
- end
- CreateSound("649634100", 10, 0.8, false)
- hart:Destroy()
- ATTACK = false
- Rooted = false
- end
- function Hilarious()
- ATTACK = true
- Rooted = true
- SongObj.TimePosition = 0;
- TimePos = 0;
- repeat Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.1, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(30), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-15, 25) - 2.5 * SIN(SINE / 12)), RAD(MRANDOM(-15, 25)), RAD(MRANDOM(-15, 25))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(MRANDOM(10, 50)), RAD(0), RAD(MRANDOM(-20, 20))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(MRANDOM(10, 50)), RAD(0), RAD(MRANDOM(-20, 20))) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(30), 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(30), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- until SongObj.TimePosition >= 12.45
- DramaticText([[
- I see...
- You never changes..
- ]])
- repeat Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.05 * COS(SINE / 30)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.1 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 2.5 * SIN(SINE / 30)), RAD(0), RAD(0)), 0.1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 - 0.1 * COS(SINE / 30), -0.5) * ANGLES(RAD(170), RAD(0), RAD(-40)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 - 0.1 * COS(SINE / 30), -0.5) * ANGLES(RAD(170), RAD(0), RAD(40)) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5 - 0.025 * COS(SINE / 30), -0.5) * ANGLES(RAD(15), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 - 0.025 * COS(SINE / 30), -0.5) * ANGLES(RAD(15), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.1 / Animation_Speed)
- until SongObj.TimePosition >= 14.09
- for i,v in pairs(game:GetService("Players"):GetPlayers()) do
- coroutine.resume(coroutine.create(function()
- if v.PlayerGui:FindFirstChild("DramaticUi") ~= nil then
- v.PlayerGui:FindFirstChild("DramaticUi"):Destroy()
- end
- end))
- end
- Rooted = false
- ATTACK = false
- end
- function SimmerDown()
- ATTACK = true
- Rooted = true
- local hart = CreatePart(3, Character, Enum.Material.Granite, 0, 0, BRICKC("Mid gray"), "Heart", VT(1, 1, 1), false)
- local hartM = IT("SpecialMesh")
- hartM.MeshId = ""
- hartM.TextureId = ""
- hartM.Scale = VT(1,1,1)
- hartM.Offset = VT(0,0,0)
- hartM.MeshType = Enum.MeshType.Sphere
- hartM.Parent = hart
- local Weld = CreateWeldOrSnapOrMotor("Weld", hart, hart, RightArm, CF(0, 1, 0), CF(0, 0, 0))
- for i = 0, 1.2, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.1, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(30), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-15, 25) - 2.5 * SIN(SINE / 12)), RAD(MRANDOM(-15, 25)), RAD(MRANDOM(-15, 25))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(80), RAD(-30), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(30), 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(30), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- end
- DramaticText([[
- I see...
- you never
- changes..
- ]])
- CreateSound("649634100", 10, 0.8, false)
- CreateSound("363808674", 10, 0.95, false)
- for i = 0, 3.6, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.1, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-30), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-15, 25) - 2.5 * SIN(SINE / 12)), RAD(MRANDOM(-15, 25)), RAD(MRANDOM(-15, 25))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-30), 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(-30), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- end
- for i,v in pairs(game:GetService("Players"):GetPlayers()) do
- coroutine.resume(coroutine.create(function()
- if v.PlayerGui:FindFirstChild("DramaticUi") ~= nil then
- v.PlayerGui:FindFirstChild("DramaticUi"):Destroy()
- end
- end))
- end
- hart:Destroy()
- ATTACK = false
- Rooted = false
- end
- function TripleModeSwitch()
- if(CURRENTMOK == MODES[1])then
- Heartless()
- CURRENTMOK = MODES[2]
- elseif(CURRENTMOK == MODES[2])then
- CURRENTMOK = MODES[3]
- SongObj.Pitch = 0.7
- Hilarious()
- elseif(CURRENTMOK == MODES[3])then
- SimmerDown()
- CURRENTMOK = MODES[1]
- end
- end
- function FatalExplosion()
- ATTACK = true
- Rooted = true
- local ENDGROUNDFX = CreateSound("1596527310", 10, 1, false)
- local CHATFUNC = DramaticText("T I M E T O B E G O N E")
- repeat
- CreateSphere(8, "Add", RightArm.CFrame * CF(0, -1, 0) * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360))), VT(0.01, 0.01, 0.01), -0.001, 0.1, -0.001, BRICKCRNDM(), BRICKCRNDM().Color)
- CreateSphere(8, "Add", RightArm.CFrame * CF(0, -1, 0) * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360))), VT(0.01, 0.01, 0.01), 0.007, 0.007, 0.007, BRICKCRNDM(), BRICKCRNDM().Color)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(-15)), 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.5, 0.5, 0.3) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-12)) * ANGLES(RAD(-25), RAD(0), 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(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-35)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(5)), 1 / Animation_Speed)
- Swait()
- until ENDGROUNDFX.Playing == false
- for i,v in pairs(game:GetService("Players"):GetPlayers()) do
- coroutine.resume(coroutine.create(function()
- if v.PlayerGui:FindFirstChild("DramaticUi") ~= nil then
- v.PlayerGui:FindFirstChild("DramaticUi"):Destroy()
- end
- end))
- end
- local SIZEEARN = 0
- local CHARGEFX = CreateSound("489657591", 10, 1, false)
- CreateSound("1208650519", 10, 1, false)
- repeat
- SIZEEARN = SIZEEARN + 0.1
- if SongObj ~= nil then
- SongObj.Volume = math.max(SongObj.Volume -0.005, 1)
- SongObj.Pitch = math.max(SongObj.Pitch -0.001, .1)
- end
- CreateSphere(8, "Add", RightArm.CFrame * CF(0, -1, 0) * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360))), VT(0.01, 0.01, 0.01), -0.001, 0.1 * SIZEEARN, -0.001, BRICKCRNDM(), BRICKCRNDM().Color)
- CreateSphere(8, "Add", RightArm.CFrame * CF(0, -1, 0) * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360))), VT(0.01, 0.01, 0.01), 0.007 * SIZEEARN, 0.007 * SIZEEARN, 0.007 * SIZEEARN, BRICKCRNDM(), BRICKCRNDM().Color)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / 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.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-12)) * ANGLES(RAD(-25), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
- Swait()
- until CHARGEFX.Playing == false
- for i = 0, 2 do
- CreateSound("1177785010", 10, 1, false)
- CreateSound("533636230", 10, 0.75, false)
- CreateSound("419447292", 5, 1, false)
- CreateSound("421328847", 5, 1, false)
- end
- SEIZURENEAREST(Torso.Position, 99999999999999)
- Rooted = false
- ATTACK = false
- end
- function Taunt()
- ATTACK = true
- Rooted = true
- local Laugh = CreateSound("300208779", 10, 1, false)
- DramaticText("N E V E R C O M E B A C K .")
- repeat
- for i = 0, 0.6, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * 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(MRANDOM(-15, 25) - 2.5 * SIN(SINE / 12)), RAD(MRANDOM(-15, 25)), RAD(MRANDOM(-15, 25))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.2 * COS(SINE / 2), 0) * ANGLES(RAD(180), RAD(0), RAD(25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -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.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- end
- for i = 0, 0.6, 0.1 / Animation_Speed do
- Swait()
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * 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(MRANDOM(-15, 25) - 2.5 * SIN(SINE / 12)), RAD(MRANDOM(-15, 25)), RAD(MRANDOM(-15, 25))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.2 * COS(SINE / 2), 0) * ANGLES(RAD(180), RAD(0), RAD(25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -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.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- end
- until Laugh.Playing == false
- for i,v in pairs(game:GetService("Players"):GetPlayers()) do
- coroutine.resume(coroutine.create(function()
- if v.PlayerGui:FindFirstChild("DramaticUi") ~= nil then
- v.PlayerGui:FindFirstChild("DramaticUi"):Destroy()
- end
- end))
- end
- ATTACK = false
- Rooted = false
- end
- --// Assigning to Keys \\--
- Mouse.KeyDown:Connect(function(KEY)
- KEYHOLD = true
- if ATTACK == false then
- if KEY == "q" then
- TripleModeSwitch()
- end
- if KEY == "t" then
- Taunt()
- end
- if KEY == "z" then
- FatalExplosion()
- end
- end
- end)
- Mouse.KeyUp:Connect(function(KEY)
- KEYHOLD = false
- end)
- --// Changed, etc.. \\--
- Humanoid.Changed:connect(function(Jump)
- if Jump == "Jump" and (Disable_Jump == true) then
- Humanoid.Jump = false
- end
- end)
- --// Cam Moves With The Player's Head \\--
- local focusScript = script["FocusCam"]:Clone()
- focusScript.Parent = Backpack
- focusScript.FocusOn.Value = Head
- focusScript.Disabled = false
- --// Animations \\--
- coroutine.resume(coroutine.create(function()
- while true do
- Swait()
- SINE = SINE + CHANGE
- Humanoid:ClearAllChildren()
- if Character:FindFirstChild("Animate") ~= nil then
- Character.Animate:Remove()
- end
- local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
- local TORSOVERTICALVELOCITY = RootPart.Velocity.y
- local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
- local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
- local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
- if ANIM == "Walk" and TORSOVELOCITY > 1 then
- RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
- Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_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)
- RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(25 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
- LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(25 * COS(SINE / WALKSPEEDVALUE))), 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 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * 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, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
- end
- elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
- ANIM = "Fall"
- if ATTACK == false then
- RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
- end
- elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
- ANIM = "Idle"
- if ATTACK == false then
- CHANGE = 2 / Animation_Speed
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.1, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(30), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-15, 25) - 2.5 * SIN(SINE / 12)), RAD(MRANDOM(-15, 25)), RAD(MRANDOM(-15, 25))), 1 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(30), 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(30), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- IdleArmAnimHandler()
- end
- elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
- ANIM = "Walk"
- WALK = WALK + 1 / Animation_Speed
- if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
- WALK = 0
- if WALKINGANIM == true then
- WALKINGANIM = false
- elseif WALKINGANIM == false then
- WALKINGANIM = true
- end
- end
- --RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
- --LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
- if ATTACK == false then
- CHANGE = (1.5 / Animation_Speed)
- RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
- Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-15, 25) - 2.5 * SIN(SINE / 12)), RAD(MRANDOM(-15, 25)), RAD(MRANDOM(-15, 25))), 1 / Animation_Speed)
- RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.35 / Animation_Speed)
- LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
- RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
- LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
- end
- end
- Humanoid.MaxHealth = "inf"
- Humanoid.Health = "inf"
- if (BBG and ModeTag) then
- ModeTag.Text = CURRENTMOK
- ModeTag.Font = FONTS[MRANDOM(1, #FONTS)]
- ModeTag.Rotation = -3 + (1 * COS(SINE / 3))
- if(CURRENTMOK == MODES[1])then
- local COLOR1 = MRANDOM(1, 255) / 255
- local COLOR2 = MRANDOM(1, 255) / 255
- ModeTag.TextColor3 = C3(COLOR1, COLOR1, COLOR1)
- ModeTag.TextStrokeColor3 = C3(COLOR2, COLOR2, COLOR2)
- elseif(CURRENTMOK == MODES[2])then
- ModeTag.TextColor3 = BRICKCRNDM().Color
- ModeTag.TextStrokeColor3 = BRICKCRNDM().Color
- elseif(CURRENTMOK == MODES[3])then
- local COLOR = MRANDOM(1, 255) / 255
- ModeTag.TextColor3 = C3(COLOR, COLOR, COLOR)
- ModeTag.TextStrokeColor3 = BRICKCRNDM().Color
- end
- end
- if Rooted == false then
- Disable_Jump = false
- Humanoid.WalkSpeed = Speed
- elseif Rooted == true then
- Disable_Jump = true
- Humanoid.WalkSpeed = 0
- end
- for _, d in pairs(Character:GetDescendants()) do
- if (d:IsA("Sound")) then
- coroutine.resume(coroutine.create(function()
- for _, value in pairs(UnneccessarySounds) do
- if (d.Name == value) then
- d:remove()
- end
- end
- end))
- end
- end
- if SongObj == nil then
- SongObj = Instance.new("Sound")
- SongObj.Parent = Character
- SongObj.TimePosition = TimePos
- end
- if SongObj ~= nil then
- if(CURRENTMOK == MODES[1])then
- if(not ATTACK)then
- SongObj.Pitch = 0.95
- end
- SongObj.SoundId = "rbxassetid://836718931"
- elseif(CURRENTMOK == MODES[2])then
- if(not ATTACK)then
- SongObj.Pitch = 1
- end
- SongObj.SoundId = "rbxassetid://1661470812"
- elseif(CURRENTMOK == MODES[3])then
- if(not ATTACK)then
- SongObj.Pitch = 0.7
- end
- SongObj.SoundId = "rbxassetid://1329165680"
- end
- SongObj.Parent = Character
- SongObj.Name = CURRENTMOK
- TimePos = SongObj.TimePosition
- if ATTACK == false then
- SongObj.Volume = 2
- SongObj.Playing = true
- end
- end
- end
- end))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement