Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --reanim by myworld
- --Converted By Deyer :P
- game.Players.LocalPlayer.Character["Hat1"].Handle.Mesh:Destroy()
- game.Players.LocalPlayer.Character["Pal Hair"].Handle.Mesh:Destroy() --Pink Hair
- game.Players.LocalPlayer.Character["Pink Hair"].Handle.Mesh:Destroy()
- game.Players.LocalPlayer.Character["Kate Hair"].Handle.Mesh:Destroy() --LavanderHair
- game.Players.LocalPlayer.Character["LavanderHair"].Handle.Mesh:Destroy()
- game.Players.LocalPlayer.Character["Robloxclassicred"].Handle.Mesh:Destroy()
- --VarietyShades02
- --TennisBall
- local c = game.Players.LocalPlayer.Character
- for i, v in pairs({"Right Arm", "Left Arm"}) do
- local arm = c[v]
- arm.Parent = nil
- arm.Transparency = 1
- arm.Parent = c
- end
- local c = game.Players.LocalPlayer.Character
- for i, v in pairs({"Right Leg", "Left Leg"}) do
- local Leg = c[v]
- Leg.Parent = nil
- Leg.Transparency = 1
- Leg.Parent = c
- end
- local v3_net, v3_808 = Vector3.new(0, 25.1, 0), Vector3.new(8, 0, 8)
- local function getNetlessVelocity(realPartVelocity)
- local mag = realPartVelocity.Magnitude
- if mag > 1 then
- local unit = realPartVelocity.Unit
- if (unit.Y > 0.25) or (unit.Y < -0.75) then
- return unit * (25.1 / unit.Y)
- end
- end
- return v3_net + realPartVelocity * v3_808
- end
- local simradius = "shp" --simulation radius (net bypass) method
- --simulation radius (net bypass) method
- --"shp" - sethiddenproperty
- --"ssr" - setsimulationradius
- --false - disable
- local antiragdoll = true --removes hingeConstraints and ballSocketConstraints from your character
- local newanimate = false --disables the animate script and enables after reanimation
- local discharscripts = true --disables all localScripts parented to your character before reanimation
- local R15toR6 = true --tries to convert your character to r6 if its r15
- local hatcollide = true --makes hats cancollide (only method 0)
- local humState16 = true --enables collisions for limbs before the humanoid dies (using hum:ChangeState)
- local addtools = false --puts all tools from backpack to character and lets you hold them after reanimation
- local hedafterneck = false --disable aligns for head and enable after neck is removed
- local loadtime = game:GetService("Players").RespawnTime + 0.5 --anti respawn delay
- local method = 0 --reanimation method
- --methods:
- --0 - breakJoints (takes [loadtime] seconds to laod)
- --1 - limbs
- --2 - limbs + anti respawn
- --3 - limbs + breakJoints after [loadtime] seconds
- --4 - remove humanoid + breakJoints
- --5 - remove humanoid + limbs
- local alignmode = 3 --AlignPosition mode
- --modes:
- --1 - AlignPosition rigidity enabled true
- --2 - 2 AlignPositions rigidity enabled both true and false
- --3 - AlignPosition rigidity enabled false
- healthHide = healthHide and ((method == 0) or (method == 2) or (method == 000)) and gp(c, "Head", "BasePart")
- local lp = game:GetService("Players").LocalPlayer
- local rs = game:GetService("RunService")
- local stepped = rs.Stepped
- local heartbeat = rs.Heartbeat
- local renderstepped = rs.RenderStepped
- local sg = game:GetService("StarterGui")
- local ws = game:GetService("Workspace")
- local cf = CFrame.new
- local v3 = Vector3.new
- local v3_0 = v3(0, 0, 0)
- local inf = math.huge
- local c = lp.Character
- if not (c and c.Parent) then
- return
- end
- c.Destroying:Connect(function()
- c = nil
- end)
- local function gp(parent, name, className)
- if typeof(parent) == "Instance" then
- for i, v in pairs(parent:GetChildren()) do
- if (v.Name == name) and v:IsA(className) then
- return v
- end
- end
- end
- return nil
- end
- local function align(Part0, Part1)
- Part0.CustomPhysicalProperties = PhysicalProperties.new(0.0001, 0.0001, 0.0001, 0.0001, 0.0001)
- local att0 = Instance.new("Attachment", Part0)
- att0.Orientation = v3_0
- att0.Position = v3_0
- att0.Name = "att0_" .. Part0.Name
- local att1 = Instance.new("Attachment", Part1)
- att1.Orientation = v3_0
- att1.Position = v3_0
- att1.Name = "att1_" .. Part1.Name
- if (alignmode == 1) or (alignmode == 2) then
- local ape = Instance.new("AlignPosition", att0)
- ape.ApplyAtCenterOfMass = false
- ape.MaxForce = inf
- ape.MaxVelocity = inf
- ape.ReactionForceEnabled = false
- ape.Responsiveness = 200
- ape.Attachment1 = att1
- ape.Attachment0 = att0
- ape.Name = "AlignPositionRtrue"
- ape.RigidityEnabled = true
- end
- if (alignmode == 2) or (alignmode == 3) then
- local apd = Instance.new("AlignPosition", att0)
- apd.ApplyAtCenterOfMass = false
- apd.MaxForce = inf
- apd.MaxVelocity = inf
- apd.ReactionForceEnabled = false
- apd.Responsiveness = 200
- apd.Attachment1 = att1
- apd.Attachment0 = att0
- apd.Name = "AlignPositionRfalse"
- apd.RigidityEnabled = false
- end
- local ao = Instance.new("AlignOrientation", att0)
- ao.MaxAngularVelocity = inf
- ao.MaxTorque = inf
- ao.PrimaryAxisOnly = false
- ao.ReactionTorqueEnabled = false
- ao.Responsiveness = 200
- ao.Attachment1 = att1
- ao.Attachment0 = att0
- ao.RigidityEnabled = false
- if type(getNetlessVelocity) == "function" then
- local realVelocity = v3_0
- local steppedcon = stepped:Connect(function()
- Part0.Velocity = realVelocity
- end)
- local heartbeatcon = heartbeat:Connect(function()
- realVelocity = Part0.Velocity
- Part0.Velocity = getNetlessVelocity(realVelocity)
- end)
- Part0.Destroying:Connect(function()
- Part0 = nil
- steppedcon:Disconnect()
- heartbeatcon:Disconnect()
- end)
- end
- end
- local function respawnrequest()
- local ccfr = ws.CurrentCamera.CFrame
- local c = lp.Character
- lp.Character = nil
- lp.Character = c
- local con = nil
- con = ws.CurrentCamera.Changed:Connect(function(prop)
- if (prop ~= "Parent") and (prop ~= "CFrame") then
- return
- end
- ws.CurrentCamera.CFrame = ccfr
- con:Disconnect()
- end)
- end
- local destroyhum = (method == 4) or (method == 5)
- local breakjoints = (method == 0) or (method == 4)
- local antirespawn = (method == 0) or (method == 2) or (method == 3)
- hatcollide = hatcollide and (method == 0)
- addtools = addtools and gp(lp, "Backpack", "Backpack")
- local fenv = getfenv()
- local shp = fenv.sethiddenproperty or fenv.set_hidden_property or fenv.set_hidden_prop or fenv.sethiddenprop
- local ssr = fenv.setsimulationradius or fenv.set_simulation_radius or fenv.set_sim_radius or fenv.setsimradius or fenv.set_simulation_rad or fenv.setsimulationrad
- if shp and (simradius == "shp") then
- spawn(function()
- while c and heartbeat:Wait() do
- shp(lp, "SimulationRadius", inf)
- end
- end)
- elseif ssr and (simradius == "ssr") then
- spawn(function()
- while c and heartbeat:Wait() do
- ssr(inf)
- end
- end)
- end
- antiragdoll = antiragdoll and function(v)
- if v:IsA("HingeConstraint") or v:IsA("BallSocketConstraint") then
- v.Parent = nil
- end
- end
- if antiragdoll then
- for i, v in pairs(c:GetDescendants()) do
- antiragdoll(v)
- end
- c.DescendantAdded:Connect(antiragdoll)
- end
- if antirespawn then
- respawnrequest()
- end
- if method == 0 then
- wait(loadtime)
- if not c then
- return
- end
- end
- if discharscripts then
- for i, v in pairs(c:GetChildren()) do
- if v:IsA("LocalScript") then
- v.Disabled = true
- end
- end
- elseif newanimate then
- local animate = gp(c, "Animate", "LocalScript")
- if animate and (not animate.Disabled) then
- animate.Disabled = true
- else
- newanimate = false
- end
- end
- if addtools then
- for i, v in pairs(addtools:GetChildren()) do
- if v:IsA("Tool") then
- v.Parent = c
- end
- end
- end
- pcall(function()
- settings().Physics.AllowSleep = false
- settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled
- end)
- local OLDscripts = {}
- for i, v in pairs(c:GetDescendants()) do
- if v.ClassName == "Script" then
- table.insert(OLDscripts, v)
- end
- end
- local scriptNames = {}
- for i, v in pairs(c:GetDescendants()) do
- if v:IsA("BasePart") then
- local newName = tostring(i)
- local exists = true
- while exists do
- exists = false
- for i, v in pairs(OLDscripts) do
- if v.Name == newName then
- exists = true
- end
- end
- if exists then
- newName = newName .. "_"
- end
- end
- table.insert(scriptNames, newName)
- Instance.new("Script", v).Name = newName
- end
- end
- c.Archivable = true
- local hum = c:FindFirstChildOfClass("Humanoid")
- if hum then
- for i, v in pairs(hum:GetPlayingAnimationTracks()) do
- v:Stop()
- end
- end
- local cl = c:Clone()
- if hum and humState16 then
- hum:ChangeState(Enum.HumanoidStateType.Physics)
- if destroyhum then
- wait(1.6)
- end
- end
- if hum and hum.Parent and destroyhum then
- hum:Destroy()
- end
- if not c then
- return
- end
- local head = gp(c, "Head", "BasePart")
- local torso = gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart")
- local root = gp(c, "HumanoidRootPart", "BasePart")
- if hatcollide and c:FindFirstChildOfClass("Accessory") then
- local anything = c:FindFirstChildOfClass("BodyColors") or gp(c, "Health", "Script")
- if not (torso and root and anything) then
- return
- end
- torso:Destroy()
- root:Destroy()
- if shp then
- for i,v in pairs(c:GetChildren()) do
- if v:IsA("Accessory") then
- shp(v, "BackendAccoutrementState", 0)
- end
- end
- end
- anything:Destroy()
- if head then
- head:Destroy()
- end
- end
- for i, v in pairs(cl:GetDescendants()) do
- if v:IsA("BasePart") then
- v.Transparency = 1
- v.Anchored = false
- end
- end
- local model = Instance.new("Model", c)
- model.Name = model.ClassName
- model.Destroying:Connect(function()
- model = nil
- end)
- for i, v in pairs(c:GetChildren()) do
- if v ~= model then
- if addtools and v:IsA("Tool") then
- for i1, v1 in pairs(v:GetDescendants()) do
- if v1 and v1.Parent and v1:IsA("BasePart") then
- local bv = Instance.new("BodyVelocity", v1)
- bv.Velocity = v3_0
- bv.MaxForce = v3(1000, 1000, 1000)
- bv.P = 1250
- bv.Name = "bv_" .. v.Name
- end
- end
- end
- v.Parent = model
- end
- end
- if breakjoints then
- model:BreakJoints()
- else
- if head and torso then
- for i, v in pairs(model:GetDescendants()) do
- if v:IsA("Weld") or v:IsA("Snap") or v:IsA("Glue") or v:IsA("Motor") or v:IsA("Motor6D") then
- local save = false
- if (v.Part0 == torso) and (v.Part1 == head) then
- save = true
- end
- if (v.Part0 == head) and (v.Part1 == torso) then
- save = true
- end
- if save then
- if hedafterneck then
- hedafterneck = v
- end
- else
- v:Destroy()
- end
- end
- end
- end
- if method == 3 then
- spawn(function()
- wait(loadtime)
- if model then
- model:BreakJoints()
- end
- end)
- end
- end
- cl.Parent = c
- for i, v in pairs(cl:GetChildren()) do
- v.Parent = c
- end
- cl:Destroy()
- local modelDes = {}
- for i, v in pairs(model:GetDescendants()) do
- if v:IsA("BasePart") then
- i = tostring(i)
- v.Destroying:Connect(function()
- modelDes[i] = nil
- end)
- modelDes[i] = v
- end
- end
- local modelcolcon = nil
- local function modelcolf()
- if model then
- for i, v in pairs(modelDes) do
- v.CanCollide = false
- end
- else
- modelcolcon:Disconnect()
- end
- end
- modelcolcon = stepped:Connect(modelcolf)
- modelcolf()
- for i, scr in pairs(model:GetDescendants()) do
- if (scr.ClassName == "Script") and table.find(scriptNames, scr.Name) then
- local Part0 = scr.Parent
- if Part0:IsA("BasePart") then
- for i1, scr1 in pairs(c:GetDescendants()) do
- if (scr1.ClassName == "Script") and (scr1.Name == scr.Name) and (not scr1:IsDescendantOf(model)) then
- local Part1 = scr1.Parent
- if (Part1.ClassName == Part0.ClassName) and (Part1.Name == Part0.Name) then
- align(Part0, Part1)
- break
- end
- end
- end
- end
- end
- end
- if (typeof(hedafterneck) == "Instance") and head then
- local aligns = {}
- local con = nil
- con = hedafterneck.Changed:Connect(function(prop)
- if (prop == "Parent") and not hedafterneck.Parent then
- con:Disconnect()
- for i, v in pairs(aligns) do
- v.Enabled = true
- end
- end
- end)
- for i, v in pairs(head:GetDescendants()) do
- if v:IsA("AlignPosition") or v:IsA("AlignOrientation") then
- i = tostring(i)
- aligns[i] = v
- v.Destroying:Connect(function()
- aligns[i] = nil
- end)
- v.Enabled = false
- end
- end
- end
- for i, v in pairs(c:GetDescendants()) do
- if v and v.Parent then
- if v.ClassName == "Script" then
- if table.find(scriptNames, v.Name) then
- v:Destroy()
- end
- elseif not v:IsDescendantOf(model) then
- if v:IsA("Decal") then
- v.Transparency = 1
- elseif v:IsA("ForceField") then
- v.Visible = false
- elseif v:IsA("Sound") then
- v.Playing = false
- elseif v:IsA("BillboardGui") or v:IsA("SurfaceGui") or v:IsA("ParticleEmitter") or v:IsA("Fire") or v:IsA("Smoke") or v:IsA("Sparkles") then
- v.Enabled = false
- end
- end
- end
- end
- if newanimate then
- local animate = gp(c, "Animate", "LocalScript")
- if animate then
- animate.Disabled = false
- end
- end
- if addtools then
- for i, v in pairs(c:GetChildren()) do
- if v:IsA("Tool") then
- v.Parent = addtools
- end
- end
- end
- local hum0 = model:FindFirstChildOfClass("Humanoid")
- if hum0 then
- hum0.Destroying:Connect(function()
- hum0 = nil
- end)
- end
- local hum1 = c:FindFirstChildOfClass("Humanoid")
- if hum1 then
- hum1.Destroying:Connect(function()
- hum1 = nil
- end)
- end
- if hum1 then
- ws.CurrentCamera.CameraSubject = hum1
- local camSubCon = nil
- local function camSubFunc()
- camSubCon:Disconnect()
- if c and hum1 then
- ws.CurrentCamera.CameraSubject = hum1
- end
- end
- camSubCon = renderstepped:Connect(camSubFunc)
- if hum0 then
- hum0.Changed:Connect(function(prop)
- if hum1 and (prop == "Jump") then
- hum1.Jump = hum0.Jump
- end
- end)
- else
- respawnrequest()
- end
- end
- local rb = Instance.new("BindableEvent", c)
- rb.Event:Connect(function()
- rb:Destroy()
- sg:SetCore("ResetButtonCallback", true)
- if destroyhum then
- c:BreakJoints()
- return
- end
- if hum0 and (hum0.Health > 0) then
- model:BreakJoints()
- hum0.Health = 0
- end
- if antirespawn then
- respawnrequest()
- end
- end)
- sg:SetCore("ResetButtonCallback", rb)
- spawn(function()
- while c do
- if hum0 and hum1 then
- hum1.Jump = hum0.Jump
- end
- wait()
- end
- sg:SetCore("ResetButtonCallback", true)
- end)
- R15toR6 = R15toR6 and hum1 and (hum1.RigType == Enum.HumanoidRigType.R15)
- if R15toR6 then
- local part = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "UpperTorso", "BasePart") or gp(c, "LowerTorso", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart")
- if part then
- local cfr = part.CFrame
- local R6parts = {
- head = {
- Name = "Head",
- Size = v3(2, 1, 1),
- R15 = {
- Head = 0
- }
- },
- torso = {
- Name = "Torso",
- Size = v3(2, 2, 1),
- R15 = {
- UpperTorso = 0.2,
- LowerTorso = -100
- }
- },
- root = {
- Name = "HumanoidRootPart",
- Size = v3(2, 2, 1),
- R15 = {
- HumanoidRootPart = 0
- }
- },
- leftArm = {
- Name = "Left Arm",
- Size = v3(1, 2, 1),
- R15 = {
- LeftHand = -0.73,
- LeftLowerArm = -0.2,
- LeftUpperArm = 0.4
- }
- },
- rightArm = {
- Name = "Right Arm",
- Size = v3(1, 2, 1),
- R15 = {
- RightHand = -0.73,
- RightLowerArm = -0.2,
- RightUpperArm = 0.4
- }
- },
- leftLeg = {
- Name = "Left Leg",
- Size = v3(1, 2, 1),
- R15 = {
- LeftFoot = -0.73,
- LeftLowerLeg = -0.15,
- LeftUpperLeg = 0.6
- }
- },
- rightLeg = {
- Name = "Right Leg",
- Size = v3(1, 2, 1),
- R15 = {
- RightFoot = -0.73,
- RightLowerLeg = -0.15,
- RightUpperLeg = 0.6
- }
- }
- }
- for i, v in pairs(c:GetChildren()) do
- if v:IsA("BasePart") then
- for i1, v1 in pairs(v:GetChildren()) do
- if v1:IsA("Motor6D") then
- v1.Part0 = nil
- end
- end
- end
- end
- part.Archivable = true
- for i, v in pairs(R6parts) do
- local part = part:Clone()
- part:ClearAllChildren()
- part.Name = v.Name
- part.Size = v.Size
- part.CFrame = cfr
- part.Anchored = false
- part.Transparency = 1
- part.CanCollide = false
- for i1, v1 in pairs(v.R15) do
- local R15part = gp(c, i1, "BasePart")
- local att = gp(R15part, "att1_" .. i1, "Attachment")
- if R15part then
- local weld = Instance.new("Weld", R15part)
- weld.Name = "Weld_" .. i1
- weld.Part0 = part
- weld.Part1 = R15part
- weld.C0 = cf(0, v1, 0)
- weld.C1 = cf(0, 0, 0)
- R15part.Massless = true
- R15part.Name = "R15_" .. i1
- R15part.Parent = part
- if att then
- att.Parent = part
- att.Position = v3(0, v1, 0)
- end
- end
- end
- part.Parent = c
- R6parts[i] = part
- end
- local R6joints = {
- neck = {
- Parent = R6parts.torso,
- Name = "Neck",
- Part0 = R6parts.torso,
- Part1 = R6parts.head,
- C0 = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
- C1 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
- },
- rootJoint = {
- Parent = R6parts.root,
- Name = "RootJoint" ,
- Part0 = R6parts.root,
- Part1 = R6parts.torso,
- C0 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
- C1 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
- },
- rightShoulder = {
- Parent = R6parts.torso,
- Name = "Right Shoulder",
- Part0 = R6parts.torso,
- Part1 = R6parts.rightArm,
- C0 = cf(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
- C1 = cf(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- },
- leftShoulder = {
- Parent = R6parts.torso,
- Name = "Left Shoulder",
- Part0 = R6parts.torso,
- Part1 = R6parts.leftArm,
- C0 = cf(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
- C1 = cf(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- },
- rightHip = {
- Parent = R6parts.torso,
- Name = "Right Hip",
- Part0 = R6parts.torso,
- Part1 = R6parts.rightLeg,
- C0 = cf(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
- C1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
- },
- leftHip = {
- Parent = R6parts.torso,
- Name = "Left Hip" ,
- Part0 = R6parts.torso,
- Part1 = R6parts.leftLeg,
- C0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
- C1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- }
- }
- for i, v in pairs(R6joints) do
- local joint = Instance.new("Motor6D")
- for prop, val in pairs(v) do
- joint[prop] = val
- end
- R6joints[i] = joint
- end
- hum1.RigType = Enum.HumanoidRigType.R6
- hum1.HipHeight = 0
- end
- end
- --find rig joints
- local function fakemotor()
- return {C0=cf(), C1=cf()}
- end
- local torso = gp(c, "Torso", "BasePart")
- local root = gp(c, "HumanoidRootPart", "BasePart")
- local neck = gp(torso, "Neck", "Motor6D")
- neck = neck or fakemotor()
- local rootJoint = gp(root, "RootJoint", "Motor6D")
- rootJoint = rootJoint or fakemotor()
- local leftShoulder = gp(torso, "Left Shoulder", "Motor6D")
- leftShoulder = leftShoulder or fakemotor()
- local rightShoulder = gp(torso, "Right Shoulder", "Motor6D")
- rightShoulder = rightShoulder or fakemotor()
- local leftHip = gp(torso, "Left Hip", "Motor6D")
- leftHip = leftHip or fakemotor()
- local rightHip = gp(torso, "Right Hip", "Motor6D")
- rightHip = rightHip or fakemotor()
- --120 fps
- local fps = 0
- local event = Instance.new("BindableEvent", c)
- event.Name = "120 fps"
- local floor = math.floor
- fps = 1 / fps
- local tf = 0
- local con = nil
- con = game:GetService("RunService").RenderStepped:Connect(function(s)
- if not c then
- con:Disconnect()
- return
- end
- --tf += s
- if tf >= fps then
- for i=1, floor(tf / fps) do
- event:Fire(c)
- end
- tf = 0
- end
- end)
- local event = event.Event
- local hedrot = v3(0, 5, 0)
- local uis = game:GetService("UserInputService")
- local function isPressed(key)
- return (not uis:GetFocusedTextBox()) and uis:IsKeyDown(Enum.KeyCode[key])
- end
- local biggesthandle = nil
- for i, v in pairs(c:GetChildren()) do
- if v:IsA("Accessory") then
- local handle = gp(v, "Handle", "BasePart")
- if biggesthandle then
- if biggesthandle.Size.Magnitude < handle.Size.Magnitude then
- biggesthandle = handle
- end
- else
- biggesthandle = gp(v, "Handle", "BasePart")
- end
- end
- end
- if not biggesthandle then
- return
- end
- local handle1 = gp(gp(model, biggesthandle.Parent.Name, "Accessory"), "Handle", "BasePart")
- if not handle1 then
- return
- end
- handle1.Destroying:Connect(function()
- handle1 = nil
- end)
- biggesthandle.Destroying:Connect(function()
- biggesthandle = nil
- end)
- biggesthandle:BreakJoints()
- biggesthandle.Anchored = true
- for i, v in pairs(handle1:GetDescendants()) do
- if v:IsA("AlignOrientation") then
- v.Enabled = false
- end
- end
- local mouse = lp:GetMouse()
- local fling = false
- mouse.Button1Down:Connect(function()
- fling = true
- end)
- mouse.Button1Up:Connect(function()
- fling = false
- end)
- local function doForSignal(signal, vel)
- spawn(function()
- while signal:Wait() and c and handle1 and biggesthandle do
- if fling and mouse.Target then
- biggesthandle.Position = mouse.Hit.Position
- end
- handle1.RotVelocity = vel
- end
- end)
- end
- doForSignal(stepped, v3(100, 100, 100))
- doForSignal(renderstepped, v3(100, 100, 100))
- doForSignal(heartbeat, v3(20000, 20000, 20000)) --https://web.roblox.com/catalog/63690008/Pal-Hair
- local lp = game:GetService("Players").LocalPlayer
- local rs = game:GetService("RunService")
- local stepped = rs.Stepped
- local heartbeat = rs.Heartbeat
- local renderstepped = rs.RenderStepped
- local sg = game:GetService("StarterGui")
- local ws = game:GetService("Workspace")
- local cf = CFrame.new
- local v3 = Vector3.new
- local v3_0 = Vector3.zero
- local inf = math.huge
- local cplayer = lp.Character
- local v3 = Vector3.new
- local function gp(parent, name, className)
- if typeof(parent) == "Instance" then
- for i, v in pairs(parent:GetChildren()) do
- if (v.Name == name) and v:IsA(className) then
- return v
- end
- end
- end
- return nil
- end
- local hat2 = gp(cplayer, "Hat1", "Accessory")
- local handle2 = gp(hat2, "Handle", "BasePart")
- local att2 = gp(handle2, "att1_Handle", "Attachment")
- att2.Parent = cplayer["Torso"]
- att2.Position = Vector3.new(0.5, -0, 0)
- att2.Rotation = Vector3.new(90, 0, 0)
- local hat2 = gp(cplayer, "Pal Hair", "Accessory")
- local handle2 = gp(hat2, "Handle", "BasePart")
- local att2 = gp(handle2, "att1_Handle", "Attachment")
- att2.Parent = cplayer["Torso"]
- att2.Position = Vector3.new(-0.5, -0, 0)
- att2.Rotation = Vector3.new(90, 0, 0)
- local hat2 = gp(cplayer, "Pink Hair", "Accessory")
- local handle2 = gp(hat2, "Handle", "BasePart")
- local att2 = gp(handle2, "att1_Handle", "Attachment")
- att2.Parent = cplayer["Left Arm"]
- att2.Position = Vector3.new(0, -0, 0)
- att2.Rotation = Vector3.new(90, 0, 0)
- local hat2 = gp(cplayer, "Kate Hair", "Accessory")
- local handle2 = gp(hat2, "Handle", "BasePart")
- local att2 = gp(handle2, "att1_Handle", "Attachment")
- att2.Parent = cplayer["Right Arm"]
- att2.Position = Vector3.new(-0, -0, 0)
- att2.Rotation = Vector3.new(90, 0, 0) --LavanderHair
- local hat2 = gp(cplayer, "LavanderHair", "Accessory")
- local handle2 = gp(hat2, "Handle", "BasePart")
- local att2 = gp(handle2, "att1_Handle", "Attachment")
- att2.Parent = cplayer["Right Leg"]
- att2.Position = Vector3.new(0, 0, 0) --Robloxclassicred
- att2.Rotation = Vector3.new(90, 0, 0)
- local hat2 = gp(cplayer, "Robloxclassicred", "Accessory")
- local handle2 = gp(hat2, "Handle", "BasePart")
- local att2 = gp(handle2, "att1_Handle", "Attachment")
- att2.Parent = cplayer["Left Leg"]
- att2.Position = Vector3.new(-0, 0, 0)
- att2.Rotation = Vector3.new(90, 0, 0)
- wait(0.2)
- local Player, Character, Mouse = game:service("Players").LocalPlayer, game:GetService("Players").LocalPlayer.Character, game:GetService("Players").LocalPlayer:GetMouse();
- local Torso = Character:FindFirstChild("Torso")
- local rootPart = Character:FindFirstChild("HumanoidRootPart")
- local Humanoid = Character:FindFirstChild("Humanoid")
- local Head = Character:FindFirstChild("Head")
- local Right_Arm = Character:FindFirstChild("Right Arm")
- local Left_Arm = Character:FindFirstChild("Left Arm")
- local Right_Leg = Character:FindFirstChild("Right Leg")
- local Left_Leg = Character:FindFirstChild("Left Leg")
- local Right_Shoulder = Torso:FindFirstChild("Right Shoulder")
- local Left_Shoulder = Torso:FindFirstChild("Left Shoulder")
- local Right_Hip = Torso:FindFirstChild("Right Hip")
- local Left_Hip = Torso:FindFirstChild("Left Hip")
- local Neck = Torso:FindFirstChild("Neck")
- local rootPart = Character:FindFirstChild("HumanoidRootPart")
- local rootJoint = rootPart:FindFirstChild("RootJoint")
- local CurrentIdle = "Idling1"
- local Degree = 0.0175438596491228
- local canremove = false
- local debounce = false
- local UIService=game:GetService'UserInputService'
- _G.SongName = math.random(1,9025232)
- local Hood = Instance.new("Part",Head)
- Hood.Name = "Hood"
- Hood.Shape = Enum.PartType.Ball
- Hood.CanCollide = false
- Hood.BrickColor = BrickColor.new("Medium stone grey")
- Hood.Transparency = 0
- Hood.Material = "Grass"
- Hood.Size = Vector3.new(0.1, 0.1, 0.1)
- Hood.TopSurface = Enum.SurfaceType.Smooth
- Hood.BottomSurface = Enum.SurfaceType.Smooth
- local Weld = Instance.new("Weld", Hood)
- Weld.Part0 = Head
- Weld.Part1 = Hood
- Weld.C1 = CFrame.new(0,0,0.6)
- HoodMesh = Instance.new("FileMesh",Hood)
- HoodMesh.MeshId = "http://www.roblox.com/asset/?id=13520910"
- HoodMesh.TextureId = "http://www.roblox.com/asset/?id=1772096775"
- HoodMesh.Scale = Vector3.new(1,1,1)
- local Hair = Instance.new("Part",Head)
- Hair.Name = "Hair"
- Hair.Shape = Enum.PartType.Ball
- Hair.CanCollide = false
- Hair.BrickColor = BrickColor.new("Really black")
- Hair.Transparency = 0
- Hair.Material = "Grass"
- Hair.Size = Vector3.new(0.1, 0.1, 0.1)
- Hair.TopSurface = Enum.SurfaceType.Smooth
- Hair.BottomSurface = Enum.SurfaceType.Smooth
- local Weld = Instance.new("Weld", Hair)
- Weld.Part0 = Head
- Weld.Part1 = Hair
- Weld.C1 = CFrame.new(0,-0.5,0)
- HairMesh = Instance.new("FileMesh",Hair)
- HairMesh.MeshId = "http://www.roblox.com/asset/?id=15730710"
- HairMesh.TextureId = "http://www.roblox.com/asset/?id=13332337"
- HairMesh.Scale = Vector3.new(1.1,1.1,1.1)
- lit = Instance.new("PointLight",Torso)
- lit.Brightness = 0
- lit.Range = 3
- lit.Color = Color3.fromRGB(180, 128, 255)
- sin = math.sin
- Right_Leg.FormFactor = "Custom";
- Left_Leg.FormFactor = "Custom";
- rootPart.Archivable = true;
- rootJoint.Archivable = true;
- c_new = CFrame.new;
- c_angles = CFrame.Angles;
- i_new = Instance.new
- Humanoid:ClearAllChildren();
- local isAttacking = false
- local isSprinting = false
- local Animations = false
- local Angle = 0
- local Axis = 0
- local angleSpeed = 1
- local axisSpeed = angleSpeed
- local currentAnim
- local levetatingheight = 3
- local WalkType = "Ground"
- function Sound(parent,loop,vol,id)
- local s = Instance.new('Sound',parent)
- s.Looped = loop
- s.Volume = vol
- s.MaxDistance=200
- s.EmitterSize=20
- s.SoundId = 'rbxassetid://'..tostring(id)
- s:Play()
- if loop == false then
- wait(s.TimeLength)
- s:Destroy()
- end
- end
- Sound(rootPart,true,1,708003712)
- newWeld = function(wp0, wp1, wc0x, wc0y, wc0z)
- wld = Instance.new("Weld", wp1)
- wld.Part0 = wp0
- wld.Part1 = wp1
- wld.C0 = CFrame.new(wc0x, wc0y, wc0z)
- return wld
- end
- function noOutline(part)
- part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
- end
- local function Part(Name,Color, Material, Transparency,Shape, Size, CFrame,CanCollide,Anchored,parent)
- local partie = i_new("Part",parent)
- partie.Name=Name
- partie.BrickColor = BrickColor.new(Color)
- partie.Material = Material
- partie.Shape = Shape
- partie.Transparency = Transparency
- partie.Size = Size
- partie.CFrame = CFrame
- partie.CanCollide = CanCollide
- partie.Anchored = Anchored
- return partie
- end
- function swait(num)
- if num == 0 or num == nil then
- game:GetService("RunService").Stepped:wait(0)
- else
- for i = 0, num do
- game:GetService("RunService").Stepped:wait(0)
- end
- end
- end
- function mesh(Mesh, part, meshtype, meshid, offset, scale)
- local mesh = i_new(Mesh)
- mesh.Parent = part
- if Mesh == "SpecialMesh" then
- mesh.MeshType = meshtype
- mesh.MeshId = meshid
- end
- mesh.Offset = offset
- mesh.Scale = scale
- return mesh
- end
- mouse = Player:GetMouse()
- transform = false
- debounce = false
- coughing = false
- Debris = game:GetService("Debris")
- local Particle = Instance.new("ParticleEmitter",nil)
- Particle.Enabled = false
- Particle.LightEmission = 0.2
- Particle.Rate = 150
- Particle.ZOffset = 1
- Particle.Rotation = NumberRange.new(-180, 180)
- local RINGFIRE = {}
- function ParticleEmitter(Table)
- local PRTCL = Particle:Clone()
- local Color1 = Table.Color1 or Color3.new(1,1,1)
- local Color2 = Table.Color2 or Color3.new(1,1,1)
- 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 Vector3.new(0,0,0)
- local Enabled = Table.Enabled or false
- local Texture = Table.Texture or "281983280"
- local RotS = Table.RotSpeed or NumberRange.new(-15, 15)
- local Trans1 = Table.Transparency1 or 0
- local Trans2 = Table.Transparency2 or 0
- PRTCL.Parent = Parent
- PRTCL.RotSpeed = RotS
- PRTCL.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,Trans1),NumberSequenceKeypoint.new(1,Trans2)})
- PRTCL.Texture = "http://www.roblox.com/asset/?id="..Texture
- PRTCL.Color = ColorSequence.new(Color1,Color2)
- 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 EYE1 = Instance.new("Attachment",Head)
- EYE1.Position = (Vector3.new(0.4, 0.5, -1.195)/2)
- local EYE2 = Instance.new("Attachment",Head)
- EYE2.Position = (Vector3.new(-0.4, 0.5, -1.195)/2)
- local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 0.2, Acel = Vector3.new(2,0.5,0.6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 0.15, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1.4, Parent = EYE1, Emit = 100, Offset = 360, Enabled = true, Color1 = Color3.fromRGB(180, 128, 255), Color2 = Color3.new(0,0,0), Texture = "1523916715"})
- PRTCL.LockedToPart = true
- PRTCL.Rate = 185
- PRTCL.ZOffset = 0.1
- PRTCL.LightEmission = 1
- PRTCL.Enabled = false
- table.insert(RINGFIRE,PRTCL)
- local PRTCL2 = ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 0.2, Acel = Vector3.new(-2,0.5,0.6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 0.15, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1.4, Parent = EYE2, Emit = 100, Offset = 360, Enabled = true, Color1 = Color3.fromRGB(180, 128, 255), Color2 = Color3.new(0,0,0), Texture = "1523916715"})
- PRTCL2.LockedToPart = true
- PRTCL2.Rate = 185
- PRTCL2.ZOffset = 0.1
- PRTCL2.LightEmission = 1
- PRTCL2.Enabled = false
- table.insert(RINGFIRE,PRTCL2)
- talking = false
- mouse.KeyDown:connect(function(key)
- if key == "e" and transform == false and debounce == false and talking == false then
- debounce = true
- talking = true
- SOU = Instance.new("Sound")
- SOU.Parent = Character.Torso
- SOU.SoundId = "rbxassetid://1384757081"
- SOU.Volume = 15
- SOU.Looped = false
- SOU.Pitch = 1
- SOU.TimePosition = 4.5
- SOU:Play()
- wait(1.5)
- talking = false
- HairMesh.TextureId = "http://www.roblox.com/asset/?id=101678162"
- Character['Body Colors'].HeadColor=BrickColor.new('Really black')
- Character['Body Colors'].TorsoColor=BrickColor.new('Really black')
- Character['Body Colors'].RightArmColor=BrickColor.new('Really black')
- Character['Body Colors'].LeftArmColor=BrickColor.new('Really black')
- Character['Body Colors'].RightLegColor=BrickColor.new('Really black')
- Character['Body Colors'].LeftLegColor=BrickColor.new('Really black')
- shirt.ShirtTemplate = "rbxassetid://767866442"
- pants.PantsTemplate = "rbxassetid://842364401"
- coroutine.wrap(function()
- wait(7)
- for i = 1,100 do
- Hair.Transparency = Hair.Transparency + 0.01
- wait()
- end
- end)()
- DP = Instance.new("Sound")
- DP.Parent = Character.Torso
- DP.SoundId = "rbxassetid://244502094"
- DP.Volume = 10
- DP.Looped = true
- DP.Pitch = 1
- DP:Play()
- q=Instance.new('ParticleEmitter',Head)
- q.Rate = 500
- q.Speed = NumberRange.new(7)
- q.VelocitySpread = 0
- q.EmissionDirection = "Front"
- q.Lifetime = NumberRange.new(0.1,1)
- q.Texture = 'rbxassetid://164417280'
- q.Acceleration = Vector3.new(0,-50,0)
- q.Size = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.5, 0.1), NumberSequenceKeypoint.new(1, 0.01, 0.01)})
- q.RotSpeed = NumberRange.new(-180, 180)
- q.Rotation = NumberRange.new(-360, 360)
- q.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.2, 0), NumberSequenceKeypoint.new(0.8, 0), NumberSequenceKeypoint.new(1, 1)})
- coughing = true
- wait(10) --28 is the original but it's too long
- DP:Stop()
- q.Enabled = false
- coughing = false
- SOU:Stop()
- wait(1)
- talking = true
- PRTCL2.Enabled = true
- PRTCL.Enabled = true
- HoodMesh.MeshId = "http://www.roblox.com/asset/?id=13520257"
- HoodMesh.TextureId = "http://www.roblox.com/asset/?id=558227098"
- Head.face.Texture = "rbxassetid://256293532"
- Head.face.Color3 = Color3.new(0,0,0)
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://858697889"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- wait(2)
- talking = false
- PRTCL2.Enabled = false
- PRTCL.Enabled = false
- q:Destroy()
- transform = true
- end end)
- mouse.KeyDown:connect(function(key)
- if key == "v" and transform == true and PRTCL.Enabled == false and talking == false then
- talking = true
- lit.Brightness = 1
- PRTCL2.Enabled = true
- PRTCL.Enabled = true
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://398631872"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S.TimePosition = 2
- S:Play()
- wait(14)
- PRTCL2.Enabled = false
- PRTCL.Enabled = false
- lit.Brightness = 0
- talking = false
- end end)
- laughing = false
- mouse.KeyDown:connect(function(key)
- if key == "r" and transform == true and PRTCL.Enabled == false and talking == false then
- talking = true
- lit.Brightness = 1
- PRTCL2.Enabled = true
- PRTCL.Enabled = true
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://177359995"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- wait(3.35)
- PRTCL2.Enabled = false
- PRTCL.Enabled = false
- lit.Brightness = 0
- talking = false
- end end)
- mouse.KeyDown:connect(function(key)
- if key == "t" and transform == true and PRTCL.Enabled == false and talking == false then
- talking = true
- PRTCL2.Enabled = true
- PRTCL.Enabled = true
- lit.Brightness = 1
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://858697889"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- wait(3.8)
- PRTCL2.Enabled = false
- PRTCL.Enabled = false
- lit.Brightness = 0
- talking = false
- end end)
- mouse.KeyDown:connect(function(key)
- if key == "y" and transform == true then
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://708003498"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- end end)
- mouse.KeyDown:connect(function(key)
- if key == "r" and transform == false and talking == false then
- talking = true
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://155074440"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S.TimePosition = 0.4
- S:Play()
- wait(6)
- talking = false
- end end)
- mouse.KeyDown:connect(function(key)
- if key == "t" and transform == false and talking == false then
- talking = true
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://494478995"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- wait(5.04)
- talking = false
- end end)
- q1=Instance.new('ParticleEmitter',Head)
- q1.Rate = 500
- q1.Speed = NumberRange.new(7)
- q1.VelocitySpread = 0
- q1.EmissionDirection = "Front"
- q1.Lifetime = NumberRange.new(0.1,1)
- q1.Texture = 'rbxassetid://164417280'
- q1.Acceleration = Vector3.new(0,-50,0)
- q1.Size = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.5, 0.1), NumberSequenceKeypoint.new(1, 0.01, 0.01)})
- q1.RotSpeed = NumberRange.new(-180, 180)
- q1.Rotation = NumberRange.new(-360, 360)
- q1.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.2, 0), NumberSequenceKeypoint.new(0.8, 0), NumberSequenceKeypoint.new(1, 1)})
- q1.Enabled = false
- mouse.KeyDown:connect(function(key)
- if key == "f" and transform == true then
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://176850421"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- end end)
- toggle = false
- mouse.KeyDown:connect(function(key)
- if key == "f" and transform == false and talking == false then
- talking = true
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://1765588386"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- wait(18.5)
- talking = false
- end end)
- mouse.KeyDown:connect(function(key)
- if key == "j" and transform == false and talking == false then
- talking = true
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://936161138"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- wait(24.73)
- talking = false
- end end)
- mouse.KeyDown:connect(function(key)
- if key == "k" and transform == false and talking == false then
- talking = true
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://936159847"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- wait(27.22)
- talking = false
- end end)
- mouse.KeyDown:connect(function(key)
- if key == "l" and transform == false and talking == false then
- talking = true
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://936162120"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- wait(25.3)
- talking = false
- end end)
- mouse.KeyDown:connect(function(key)
- if transform == true then
- if key == "x" then
- if coughing == false then
- coughing = true
- HoodMesh.MeshId = "http://www.roblox.com/asset/?id=13520910"
- HoodMesh.TextureId = "http://www.roblox.com/asset/?id=1772096775"
- q1.Enabled = true
- ZZ = Instance.new("Sound")
- ZZ.Parent = Character.Torso
- ZZ.SoundId = "rbxassetid://244502094"
- ZZ.Volume = 10
- ZZ.Looped = true
- ZZ.Pitch = 1
- ZZ:Play()
- ZZ2 = Instance.new("Sound")
- ZZ2.Parent = Character.Torso
- ZZ2.SoundId = "rbxassetid://300046017"
- ZZ2.Volume = 2
- ZZ2.Looped = true
- ZZ2.Pitch = 1
- ZZ2:Play()
- elseif coughing == true then
- coughing = false
- HoodMesh.MeshId = "http://www.roblox.com/asset/?id=13520257"
- HoodMesh.TextureId = "http://www.roblox.com/asset/?id=558227098"
- ZZ:Destroy()
- ZZ2:Destroy()
- q1.Enabled = false
- end
- end
- end
- end)
- mouse.KeyDown:connect(function(key)
- if key == "m" and talking == false then
- talking = true
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://1766163151"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- wait(2.38)
- talking = false
- end end)
- mouse.KeyDown:connect(function(key)
- if key == "n" and talking == false then
- talking = true
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://1766162663"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- wait(4.13)
- talking = false
- end end)
- function findCloseHumanoid(centre, distance)
- local tab = {}
- for _, child in pairs(game.Workspace:GetChildren()) do
- if child:findFirstChild("Humanoid") and child:findFirstChild("Humanoid") ~= Humanoid and child:findFirstChild("Torso") then
- local vtors = child.Torso
- local mag = math.abs((vtors.Position - centre).magnitude)
- if distance >= mag then
- table.insert(tab, child.Humanoid)
- end
- end
- end
- return tab
- end
- --The Damage Has Been Deleted!
- Character.Torso.Touched:connect(onTouch)
- function rayCast(Pos, Dir, Max, Ignore) -- Origin Position, Direction, MaxDistance, IgnoreDescendants
- return game:GetService("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
- 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 = math.acos(cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((1-t)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = 1-t
- finishInterp = t
- end
- else
- if (1+cosTheta) > 0.0001 then
- local theta = math.acos(-cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((t-1)*theta)*invSinTheta
- finishInterp = math.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
- swait()
- LA_Weld = newWeld(Torso, Left_Arm, -1.5, 0.5, 0)
- Left_Arm.Weld.C1 = CFrame.new(0, 0.5, 0)
- RA_Weld = newWeld(Torso, Right_Arm, 1.5, 0.5, 0)
- Right_Arm.Weld.C1 = CFrame.new(0, 0.5, 0)
- LL_Weld = newWeld(Torso, Left_Leg, -0.5, -1, 0)
- Left_Leg.Weld.C1 = CFrame.new(0, 1, 0) -- Left_Leg.Weld.C1 = CFrame.new(0, 1, 0.15)
- RL_Weld = newWeld(Torso, Right_Leg, 0.5, -1, 0)
- Right_Leg.Weld.C1 = CFrame.new(0, 1, 0) -- Right_Leg.Weld.C1 = CFrame.new(0, 1, 0.15)
- Torso_Weld = newWeld(rootPart, Torso, 0, -1, 0)
- Torso.Weld.C1 = CFrame.new(0, -1, 0)
- Head_Weld = newWeld(Torso, Head, 0, 1.5, 0)
- for i,v in pairs(Character:GetChildren()) do
- if v:IsA('Accoutrement') or v:IsA('Shirt') or v:IsA('Pants') then
- v:Destroy()
- end
- end
- Head.face.Texture = "rbxassetid://141728515"
- Head.face.Color3 = Color3.new(0,0,0)
- shirt = Instance.new("Shirt",Character)
- pants = Instance.new("Pants",Character)
- wait()
- shirt.ShirtTemplate = "rbxassetid://120471954"
- pants.PantsTemplate = "rbxassetid://120471978"
- Character['Body Colors'].HeadColor=BrickColor.new('Linen')
- Character['Body Colors'].TorsoColor=BrickColor.new('Linen')
- Character['Body Colors'].RightArmColor=BrickColor.new('Linen')
- Character['Body Colors'].LeftArmColor=BrickColor.new('Linen')
- Character['Body Colors'].RightLegColor=BrickColor.new('Linen')
- Character['Body Colors'].LeftLegColor=BrickColor.new('Linen')
- Humanoid.DisplayDistanceType='None'
- sine = 0
- change = 1
- sprint=false
- local punches={
- a=false,
- b=false,
- c=false
- }
- UIService.InputBegan:connect(function(Input,GUIProcessed)
- if not GUIProcessed and Input.UserInputType==Enum.UserInputType.MouseButton1 then
- if punches.a==false then
- punches.a=true wait(.4) punches.a=false
- else
- punches.a=true
- print('a ',punches.a)
- if punches.b==false then
- punches.b=true wait(.4) punches.b=false
- else
- punches.b=true
- print('b ',punches.b)
- if punches.c==false then
- punches.c=true wait(.4) punches.c=false
- else
- punches.c=true
- print('c ',punches.c)
- print('a ',punches.a,'b ',punches.b,'c ',punches.c)
- end
- end
- end
- elseif not GUIProcessed and Input.KeyCode==Enum.KeyCode.LeftShift and transform == true then
- sprint=true
- end
- end)
- UIService.InputEnded:connect(function(Input,GUIProcessed)
- if not GUIProcessed and Input.KeyCode==Enum.KeyCode.LeftShift then
- sprint=false
- end
- end)
- Humanoid.Died:connect(function()
- q.Enabled = true
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://891043624"
- S.Volume = 10
- S.Looped = false
- S.Pitch = 1
- S:Play()
- S = Instance.new("Sound")
- S.Parent = Character.Torso
- S.SoundId = "rbxassetid://429400881"
- S.Volume = 5
- S.Looped = false
- S.Pitch = 1
- S:Play()
- end)
- game:GetService("RunService").RenderStepped:connect(function()
- Angle = (Angle % 100) + angleSpeed/10
- Axis = (Axis % 100) + axisSpeed/10
- walkingMagnitude = Vector3.new(rootPart.Velocity.X, 0, rootPart.Velocity.Z).magnitude
- jumpVel = Torso.Velocity.Y
- sine = change + sine
- if(Humanoid.Jump) and jumpVel > 1 then
- currentAnim = "Jumping"
- elseif walkingMagnitude < 2 then
- currentAnim = "Idling"
- elseif isSprinting == true then
- currentAnim = "Sprinting"
- elseif walkingMagnitude > 2 then
- currentAnim = "Walking"
- elseif isAttacking == true then
- currentAnim = "Attacking"
- end
- if currentAnim == "Jumping" and Animations == false then
- angleSpeed = 2
- axisSpeed = 2
- RA_Weld.C0 = clerp(RA_Weld.C0, c_new(1.5, 0.5, 0) * c_angles(math.rad(0), math.rad(0), math.rad(0)), 0.15)
- LA_Weld.C0 = clerp(LA_Weld.C0, c_new(-1.5, 0.5, 0) * c_angles(math.rad(0), math.rad(0), math.rad(0)), 0.15)
- LL_Weld.C0 = clerp(LL_Weld.C0, c_new(-0.5, -1, 0) * c_angles(math.rad(0), math.rad(0), math.rad(0)), 0.15)
- RL_Weld.C0 = clerp(RL_Weld.C0, c_new(0.5, -1, 0) * c_angles(math.rad(0), math.rad(0), math.rad(0)), 0.15)
- Torso_Weld.C0 = clerp(Torso_Weld.C0, c_new(0, -1, 0) * c_angles(math.rad(0), math.rad(0), math.rad(0)), 0.15)
- Head_Weld.C0 = clerp(Head_Weld.C0, c_new(0, 1.5, 0) * c_angles(math.rad(0), math.rad(0), math.rad(0)), 0.15)
- elseif currentAnim == "Idling" and Animations == false then
- if coughing == false and talking == false then
- angleSpeed = 1
- axisSpeed = 1
- change = 0.5
- RA_Weld.C0 = clerp(RA_Weld.C0, c_new(1.5, 0.5, 0) * c_angles(math.rad(0), -math.sin((rootPart.RotVelocity.X/10))/-2, math.sin((-rootPart.RotVelocity.Y/10))/-2), 0.15)
- LA_Weld.C0 = clerp(LA_Weld.C0, c_new(-1.5, 0.5, 0) * c_angles(math.rad(0), math.sin((rootPart.RotVelocity.X/10))/2, -math.sin((-rootPart.RotVelocity.Y/10))/2), 0.15)
- LL_Weld.C0 = clerp(LL_Weld.C0, c_new(-0.5, -1, 0) * c_angles(math.rad(0), -math.sin((rootPart.RotVelocity.X/10))/-2, math.sin((-rootPart.RotVelocity.Y/10))/-2), 0.15)
- RL_Weld.C0 = clerp(RL_Weld.C0, c_new(0.5, -1, 0) * c_angles(math.rad(0), math.sin((rootPart.RotVelocity.X/10))/2, -math.sin((-rootPart.RotVelocity.Y/10))/2), 0.15)
- Torso_Weld.C0 = clerp(Torso_Weld.C0, c_new(0, -1, 0) * c_angles(math.rad(0), math.rad(0), math.sin((rootPart.RotVelocity.Y/30))/2), 0.15)
- Head_Weld.C0 = clerp(Head_Weld.C0, c_new(0, 1.5, 0) * c_angles(math.rad(0), math.sin((rootPart.RotVelocity.Y/2.5))/2, math.rad(0)), 0.15)
- elseif coughing == true then
- RA_Weld.C0 = clerp(RA_Weld.C0, c_new(1, 0.5, -0.1) * c_angles(math.rad(150), -math.sin((rootPart.RotVelocity.X/10))/-2, math.rad(-55)), 0.15)
- LA_Weld.C0 = clerp(LA_Weld.C0, c_new(-1, 0.5, -0.1) * c_angles(math.rad(150), math.sin((rootPart.RotVelocity.X/10))/2, math.rad(55)), 0.15)
- LL_Weld.C0 = clerp(LL_Weld.C0, c_new(-0.5, -1, 0) * c_angles(math.rad(0), -math.sin((rootPart.RotVelocity.X/10))/-2, math.sin((-rootPart.RotVelocity.Y/10))/-2), 0.15)
- RL_Weld.C0 = clerp(RL_Weld.C0, c_new(0.5, -1, 0) * c_angles(math.rad(0), math.sin((rootPart.RotVelocity.X/10))/2, -math.sin((-rootPart.RotVelocity.Y/10))/2), 0.15)
- Torso_Weld.C0 = clerp(Torso_Weld.C0, c_new(0, -1, 0) * c_angles(math.rad(0), math.rad(0), math.sin((rootPart.RotVelocity.Y/30))/2), 0.15)
- Head_Weld.C0 = clerp(Head_Weld.C0, c_new(0, 1.4, 0.5) * c_angles(math.rad(45), math.sin((rootPart.RotVelocity.Y/2.5))/2, math.rad(0)), 0.15)
- elseif talking == true and coughing == false then
- RA_Weld.C0 = clerp(RA_Weld.C0, c_new(1.5, 0.5, 0) * c_angles(math.rad(0), -math.sin((rootPart.RotVelocity.X/10))/-2, math.sin((-rootPart.RotVelocity.Y/10))/-2), 0.15)
- LA_Weld.C0 = clerp(LA_Weld.C0, c_new(-1.5, 0.5, 0) * c_angles(math.rad(0), math.sin((rootPart.RotVelocity.X/10))/2, -math.sin((-rootPart.RotVelocity.Y/10))/2), 0.15)
- LL_Weld.C0 = clerp(LL_Weld.C0, c_new(-0.5, -1, 0) * c_angles(math.rad(0), -math.sin((rootPart.RotVelocity.X/10))/-2, math.sin((-rootPart.RotVelocity.Y/10))/-2), 0.15)
- RL_Weld.C0 = clerp(RL_Weld.C0, c_new(0.5, -1, 0) * c_angles(math.rad(0), math.sin((rootPart.RotVelocity.X/10))/2, -math.sin((-rootPart.RotVelocity.Y/10))/2), 0.15)
- Torso_Weld.C0 = clerp(Torso_Weld.C0, c_new(0, -1, 0) * c_angles(math.rad(0), math.rad(0), math.sin((rootPart.RotVelocity.Y/30))/2), 0.15)
- Head_Weld.C0 = clerp(Head_Weld.C0, c_new(0, 1.5, 0) * c_angles(-math.sin(sine/1.5)/20, math.sin((rootPart.RotVelocity.Y/2.5))/2, math.rad(0)), 0.15)
- end
- elseif currentAnim == "Walking" and Animations == false then
- if sprint==false then
- if coughing == false and talking == false then
- angleSpeed = 1
- axisSpeed = 1
- Humanoid.WalkSpeed = 10
- RA_Weld.C0 = clerp(RA_Weld.C0, c_new(1.5, 0.5, 0) * c_angles(-math.sin(sine/4)/8, -math.sin((rootPart.RotVelocity.Y/10))/2,math.rad(5)), 0.15)
- LA_Weld.C0 = clerp(LA_Weld.C0, c_new(-1.5, 0.5, 0) * c_angles(math.sin(sine/4)/8, math.sin((rootPart.RotVelocity.Y/10))/2,math.rad(-5)), 0.15)
- LL_Weld.C0 = clerp(LL_Weld.C0, c_new(-0.5, -1, 0) * c_angles(math.sin(sine/4)/3, math.sin((rootPart.RotVelocity.Y/10))/2, -math.sin((rootPart.RotVelocity.Y/10))/2), 0.15)
- RL_Weld.C0 = clerp(RL_Weld.C0, c_new(0.5, -1, 0) * c_angles(-math.sin(sine/4)/3, -math.sin((rootPart.RotVelocity.Y/10))/2, math.sin((-rootPart.RotVelocity.Y/10))/2), 0.15)
- Torso_Weld.C0 = clerp(Torso_Weld.C0, c_new(0, -1, 0) * c_angles(math.rad(0), math.rad(0), math.sin((rootPart.RotVelocity.Y/30))/2), 0.15)
- Head_Weld.C0 = clerp(Head_Weld.C0, c_new(0, 1.5, 0) * c_angles(math.rad(0), math.sin((rootPart.RotVelocity.Y/2.5))/2, math.rad(0)), 0.15)
- elseif coughing == true then
- Humanoid.WalkSpeed = 3
- RA_Weld.C0 = clerp(RA_Weld.C0, c_new(1.2, 0.6, -0.1) * c_angles(math.rad(90), -math.sin((rootPart.RotVelocity.X/10))/-2, math.rad(-60)), 0.15)
- LA_Weld.C0 = clerp(LA_Weld.C0, c_new(-1.2, 0.6, -0.1) * c_angles(math.rad(90), math.sin((rootPart.RotVelocity.X/10))/2, math.rad(60)), 0.15)
- LL_Weld.C0 = clerp(LL_Weld.C0, c_new(-0.5, -1, 0) * c_angles(math.sin(sine/4)/3, math.sin((rootPart.RotVelocity.Y/10))/2, -math.sin((rootPart.RotVelocity.Y/10))/2), 0.05)
- RL_Weld.C0 = clerp(RL_Weld.C0, c_new(0.5, -1, 0) * c_angles(-math.sin(sine/4)/3, -math.sin((rootPart.RotVelocity.Y/10))/2, math.sin((-rootPart.RotVelocity.Y/10))/2), 0.05)
- Torso_Weld.C0 = clerp(Torso_Weld.C0, c_new(0, -1, 0) * c_angles(math.rad(0), math.rad(0), math.sin((rootPart.RotVelocity.Y/30))/2), 0.15)
- Head_Weld.C0 = clerp(Head_Weld.C0, c_new(0, 1.4, -0.5) * c_angles(math.rad(-45), math.sin((rootPart.RotVelocity.Y/2.5))/2, math.rad(0)), 0.15)
- elseif coughing == false and talking == true then
- Humanoid.WalkSpeed = 10
- RA_Weld.C0 = clerp(RA_Weld.C0, c_new(1.5, 0.5, 0) * c_angles(-math.sin(sine/4)/8, -math.sin((rootPart.RotVelocity.Y/10))/2,math.rad(5)), 0.15)
- LA_Weld.C0 = clerp(LA_Weld.C0, c_new(-1.5, 0.5, 0) * c_angles(math.sin(sine/4)/8, math.sin((rootPart.RotVelocity.Y/10))/2,math.rad(-5)), 0.15)
- LL_Weld.C0 = clerp(LL_Weld.C0, c_new(-0.5, -1, 0) * c_angles(math.sin(sine/4)/3, math.sin((rootPart.RotVelocity.Y/10))/2, -math.sin((rootPart.RotVelocity.Y/10))/2), 0.15)
- RL_Weld.C0 = clerp(RL_Weld.C0, c_new(0.5, -1, 0) * c_angles(-math.sin(sine/4)/3, -math.sin((rootPart.RotVelocity.Y/10))/2, math.sin((-rootPart.RotVelocity.Y/10))/2), 0.15)
- Torso_Weld.C0 = clerp(Torso_Weld.C0, c_new(0, -1, 0) * c_angles(math.rad(0), math.rad(0), math.sin((rootPart.RotVelocity.Y/30))/2), 0.15)
- Head_Weld.C0 = clerp(Head_Weld.C0, c_new(0, 1.5, 0) * c_angles(-math.sin(sine/1.5)/20, math.sin((rootPart.RotVelocity.Y/2.5))/2, math.rad(0)), 0.15)
- end
- else
- if coughing == false and talking == false then
- angleSpeed = 10
- axisSpeed = 10
- Humanoid.WalkSpeed = 20
- RA_Weld.C0 = clerp(RA_Weld.C0, c_new(1.5, 0.55, -0.2) * c_angles(math.rad(90),-math.sin((rootPart.RotVelocity.X/80))/-2, math.sin((rootPart.RotVelocity.Y/2.5))/-2), 0.15)
- LA_Weld.C0 = clerp(LA_Weld.C0, c_new(-1.5, 0.5, 0) * c_angles(math.rad(0),math.rad(0),math.rad(0)), 0.15)
- LL_Weld.C0 = clerp(LL_Weld.C0, c_new(-0.5, -1, 0) * c_angles(math.sin(sine/4)/2, math.sin((rootPart.RotVelocity.Y/10))/1, -math.sin((rootPart.RotVelocity.Y/10))/1), 0.4)
- RL_Weld.C0 = clerp(RL_Weld.C0, c_new(0.5, -1, 0) * c_angles(-math.sin(sine/4)/2, -math.sin((rootPart.RotVelocity.Y/10))/1, math.sin((-rootPart.RotVelocity.Y/10))/1), 0.4)
- Torso_Weld.C0 = clerp(Torso_Weld.C0, c_new(0, -1, 0) * c_angles(math.rad(0), math.rad(0), math.sin((rootPart.RotVelocity.Y/30))/2), 0.15)
- Head_Weld.C0 = clerp(Head_Weld.C0, c_new(-0.1, 1.5, 0) * c_angles(math.rad(0), math.sin((rootPart.RotVelocity.Y/2.5))/2, math.rad(10)), 0.15)
- elseif coughing == true then
- Humanoid.WalkSpeed = 8
- RA_Weld.C0 = clerp(RA_Weld.C0, c_new(1.5, 0.55, 0) * c_angles(math.rad(-10), -math.sin((rootPart.RotVelocity.X/80))/2, math.sin((rootPart.RotVelocity.Y/2.5))/2), 0.15)
- LA_Weld.C0 = clerp(LA_Weld.C0, c_new(-1, 0.9, -0.1) * c_angles(math.rad(100), math.rad(50), math.rad(50)), 0.15)
- LL_Weld.C0 = clerp(LL_Weld.C0, c_new(-0.5, -1, 0) * c_angles(math.sin(sine/4)/2, math.sin((rootPart.RotVelocity.Y/10))/1, -math.sin((rootPart.RotVelocity.Y/10))/1), 0.1)
- RL_Weld.C0 = clerp(RL_Weld.C0, c_new(0.5, -1, 0) * c_angles(-math.sin(sine/4)/2, -math.sin((rootPart.RotVelocity.Y/10))/1, math.sin((-rootPart.RotVelocity.Y/10))/1), 0.1)
- Torso_Weld.C0 = clerp(Torso_Weld.C0, c_new(0, -1, 0) * c_angles(math.rad(0), math.rad(0), math.sin((rootPart.RotVelocity.Y/30))/2), 0.15)
- Head_Weld.C0 = clerp(Head_Weld.C0, c_new(-0.1, 1.5, -0.2) * c_angles(math.rad(-30), math.sin((rootPart.RotVelocity.Y/2.5))/2, math.rad(10)), 0.15)
- elseif coughing == false and talking == true then
- Humanoid.WalkSpeed = 20
- RA_Weld.C0 = clerp(RA_Weld.C0, c_new(1.5, 0.55, -0.2) * c_angles(math.rad(90),-math.sin((rootPart.RotVelocity.X/80))/-2, math.sin((rootPart.RotVelocity.Y/2.5))/-2), 0.15)
- LA_Weld.C0 = clerp(LA_Weld.C0, c_new(-1.5, 0.5, 0) * c_angles(math.rad(0),math.rad(0),math.rad(0)), 0.15)
- LL_Weld.C0 = clerp(LL_Weld.C0, c_new(-0.5, -1, 0) * c_angles(math.sin(sine/4)/2, math.sin((rootPart.RotVelocity.Y/10))/1, -math.sin((rootPart.RotVelocity.Y/10))/1), 0.4)
- RL_Weld.C0 = clerp(RL_Weld.C0, c_new(0.5, -1, 0) * c_angles(-math.sin(sine/4)/2, -math.sin((rootPart.RotVelocity.Y/10))/1, math.sin((-rootPart.RotVelocity.Y/10))/1), 0.4)
- Torso_Weld.C0 = clerp(Torso_Weld.C0, c_new(0, -1, 0) * c_angles(math.rad(0), math.rad(0), math.sin((rootPart.RotVelocity.Y/30))/2), 0.15)
- Head_Weld.C0 = clerp(Head_Weld.C0, c_new(-0.1, 1.5, 0) * c_angles(-math.sin(sine/1.5)/20, math.sin((rootPart.RotVelocity.Y/2.5))/2, math.rad(10)), 0.15)
- end
- end
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement