Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- v2.0 Credit To KillerDarkness0105 For Animation Help. ~~Horrible_NightMare~~
- --[[
- - In This Version:
- - Party Text and Extras Added.
- - Can now say what personality you want by text.
- - roll action implemented.
- --]]--
- --[[
- - Bugs you might experience:
- - No movement when spawning. (Just reset if this happens)
- - Pressing shift while in agile or brave mode resets speed.(not much of a bug but a notice not to do it)
- --]]--
- --[[
- - {todo}
- - Climb (Getting up walls near edges).
- - Aerodynamic controls.
- - Wallrun
- --]]--
- print([[DID stands for Dissociative Identity Disorder (Multiple Personality Disorder) which i have
- thats why i've made this script.
- Its something i've had to deal with practically my whole life its not bad its just its hard to deal with,
- noadays people think its weird to have this sort of thing but imo its pretty cool one side of me gets a break
- while the other doesn't its pretty obvious im practically some random person you don't know but you see have to
- atleast feel some type of way when someone has a disorder plus they are REALLY hard to deal with even so it doesn't matter
- i just wanted to give an explantion on why i would act a why and not.
- Enjoy the script i guess. Sorry for bad grammar and or spelling]])
- warn("Say Agile with correct spelling for Agile personality")
- warn("Say Brave for Brave personality")
- warn("Say Shy for Shy personality")
- warn("Find other things by looking into the script")
- function clerp(c1,c2,al)
- local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
- local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
- for i,v in pairs(com1) do
- com1[i] = v+(com2[i]-v)*al
- end
- return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
- end
- local max_sprint_time = 250
- local sprint_time = 250
- local rolling = false
- plr = game:service'Players'.LocalPlayer
- char = plr.Character
- mouse = plr:GetMouse()
- humanoid = char:findFirstChild("Humanoid")
- torso = char:findFirstChild("Torso")
- head = char.Head
- ra = char:findFirstChild("Right Arm")
- la = char:findFirstChild("Left Arm")
- rl = char:findFirstChild("Right Leg")
- ll = char:findFirstChild("Left Leg")
- rs = torso:findFirstChild("Right Shoulder")
- ls = torso:findFirstChild("Left Shoulder")
- rh = torso:findFirstChild("Right Hip")
- lh = torso:findFirstChild("Left Hip")
- neck = torso:findFirstChild("Neck")
- rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint")
- anim = char:findFirstChild("Animate")
- rootpart = char:findFirstChild("HumanoidRootPart")
- camera = workspace.CurrentCamera
- divingnotallowed = false
- CV="Lime Green"
- Player = game.Players.LocalPlayer
- Character = Player.Character
- local txt = Instance.new("BillboardGui", Character)
- txt.Adornee = Character .Head
- txt.Name = "_status"
- txt.Size = UDim2.new(2, 0, 1.2, 0)
- txt.StudsOffset = Vector3.new(-9, 8, 0)
- local text = Instance.new("TextLabel", txt)
- text.Size = UDim2.new(10, 0, 7, 0)
- text.FontSize = "Size24"
- text.TextScaled = true
- text.TextTransparency = 0
- text.BackgroundTransparency = 1
- text.TextTransparency = 0
- text.TextStrokeTransparency = 0
- text.Font = "Highway"
- text.TextStrokeColor3 = Color3.new(math.random(),math.random(),math.random())
- v=Instance.new("Part")
- v.Name = "ColorBrick"
- v.Parent=Player.Character
- v.FormFactor="Symmetric"
- v.Anchored=true
- v.CanCollide=false
- v.BottomSurface="Smooth"
- v.TopSurface="Smooth"
- v.Size=Vector3.new(10,5,3)
- v.Transparency=1
- v.CFrame=Character.Torso.CFrame
- v.BrickColor=BrickColor.new(CV)
- v.Transparency=1
- text.TextColor3 = Color3.new(math.random(),math.random(),math.random())
- v.Shape="Block"
- text.Text = "The Partyer With DID"
- -----------------------------------------
- vt = Vector3.new
- bc = BrickColor.new
- local Effect = Instance.new("Part",game.Lighting)
- Effect.BrickColor = bc("Deep orange")
- Effect.Transparency = 1
- Effect.Anchored = true
- Effect.CanCollide = false
- Effect.Material = "Neon"
- Effect.Shape = "Ball"
- Effect.Size = vt(5,5,5)
- local fire1 = Instance.new("Fire",Effect)
- fire1.Name = "Fire"
- fire1.Heat = 0
- fire1.Size = 30
- fire1.SecondaryColor = bc("Really black").Color
- fire1.Color = bc("Deep orange").Color
- local fire2 = Instance.new("Fire",Effect)
- fire2.Name = "Fire2"
- fire2.Heat = 0
- fire2.Size = 25
- fire2.SecondaryColor = bc("Really black").Color
- fire2.Color = bc("Neon orange").Color
- function Explode(rad,par)
- local expart = Instance.new("Part",script.Parent)
- local expart2 = Instance.new("Part",script.Parent)
- local snd = Instance.new("Sound",expart)
- snd.SoundId = "rbxassetid://258057783"
- snd.Volume = 2.5
- local partMesh = Instance.new("SpecialMesh",expart)
- partMesh.MeshType = "Sphere"
- local partMesh2 = Instance.new("SpecialMesh",expart2)
- partMesh2.MeshType = "Sphere"
- local expld = Instance.new("Explosion", script.Parent)
- expld.BlastRadius = rad
- expld.Position = par.Position
- partMesh.Scale = vt(rad,rad,rad)
- expart.Size = vt(1,1,1)*1.5
- expart.Transparency = 0.5
- expart.Anchored = true
- expart.Material = "Neon"
- expart.BrickColor = bc("Deep orange")
- expart.CFrame = par.CFrame
- partMesh2.Scale = vt(rad,rad,rad)
- expart2.Size = vt(1.15,1.15,1.15)*1.5
- expart2.Transparency = 0.5
- expart2.Anchored = true
- expart2.Material = "Neon"
- expart2.BrickColor = bc("Bright orange")
- expart2.CFrame = par.CFrame
- snd:Play()
- for i = 0, 100 do
- expart.Transparency = expart.Transparency + 0.005
- partMesh.Scale = partMesh.Scale + vt(0.25,0.25,0.25)
- expart.CFrame = expart.CFrame
- expart2.Transparency = expart.Transparency + 0.005
- partMesh2.Scale = partMesh2.Scale + vt(0.25,0.25,0.25)
- expart2.CFrame = expart.CFrame
- wait(0)
- end
- snd.Parent = nil
- expart.Parent = nil
- expart2.Parent = nil
- expld.Parent = nil
- end
- function Explode2(rad,par)
- local expart = Instance.new("Part",script.Parent)
- local expart2 = Instance.new("Part",script.Parent)
- local snd = Instance.new("Sound",expart)
- snd.SoundId = "rbxassetid://165969964"
- snd.Volume = 3
- local partMesh = Instance.new("SpecialMesh",expart)
- partMesh.MeshType = "Sphere"
- local partMesh2 = Instance.new("SpecialMesh",expart2)
- partMesh2.MeshType = "Sphere"
- local expld = Instance.new("Explosion", script.Parent)
- expld.BlastRadius = rad
- expld.Position = par.Position
- partMesh.Scale = vt(rad,rad,rad)
- expart.Size = vt(1,1,1)*1.5
- expart.Transparency = 0.5
- expart.Anchored = true
- expart.Material = "Neon"
- expart.BrickColor = bc("Deep orange")
- expart.CFrame = par.CFrame
- partMesh2.Scale = vt(rad,rad,rad)
- expart2.Size = vt(1.15,1.15,1.15)*1.5
- expart2.Transparency = 0.5
- expart2.Anchored = true
- expart2.Material = "Neon"
- expart2.BrickColor = bc("Bright orange")
- expart2.CFrame = par.CFrame
- snd:Play()
- for i = 0, 100 do
- expart.Transparency = expart.Transparency + 0.005
- partMesh.Scale = partMesh.Scale + vt(0.25,0.25,0.25)
- expart.CFrame = expart.CFrame
- expart2.Transparency = expart.Transparency + 0.005
- partMesh2.Scale = partMesh2.Scale + vt(0.25,0.25,0.25)
- expart2.CFrame = expart.CFrame
- wait(0)
- end
- snd.Parent = nil
- expart.Parent = nil
- expart2.Parent = nil
- expld.Parent = nil
- end
- mouse.KeyDown:connect(function(k)
- k = k:lower()
- if k == "e" then
- local spart = Effect:Clone()
- spart.Parent = game.Players.LocalPlayer.Character
- spart.Transparency = 0
- spart.Anchored = false
- spart.Position = game.Players.LocalPlayer.Character.Torso.Position + game.Players.LocalPlayer.Character.Torso.CFrame.lookVector*0
- spart.Position = spart.Position + vt(0,100,0)
- spart.Velocity = game.Players.LocalPlayer.Character.Torso.CFrame.lookVector*150
- wait(1)
- spart.Transparency = 1
- spart.Fire2:Destroy()
- spart.Fire:Destroy()
- Explode2(75,spart)
- spart:Destroy()
- end
- end)
- Parts={}
- function GetDiscoColor(hue)
- local section = hue % 1 * 3
- local secondary = 0.5 * math.pi * (section % 1)
- if section < 1 then
- return Vector3.new(1, 1 - math.cos(secondary), 1 - math.sin(secondary))
- elseif section < 2 then
- return Vector3.new(1 - math.sin(secondary), 1, 1 - math.cos(secondary))
- else
- return Vector3.new(1 - math.cos(secondary), 1 - math.sin(secondary), 1)
- end
- end
- Part = function(x,y,z,color,tr,cc,an,parent)
- local p = Instance.new('Part',parent or Weapon)
- p.formFactor = 'Custom'
- p.Size = Vector3.new(x,y,z)
- p.BrickColor = BrickColor.new(color)
- p.CanCollide = cc
- p.Transparency = tr
- p.Anchored = an
- p.TopSurface,p.BottomSurface = 0,0
- p:BreakJoints''
- table.insert(Parts,p)
- return p
- end
- Weld = function(p0,p1)
- local w = Instance.new('Motor',p0)
- w.Part0 = p0
- w.Part1 = p1
- return w
- end
- Mesh = function(par,num,x,y,z)
- local msh = 0
- if num == 1 then
- msh = Instance.new("SpecialMesh",par)
- msh.MeshId='rbxasset://fonts/torso.mesh'
- msh.TextureId='rbxasset://25701026'
- end
- if num == 2 then
- msh = Instance.new("SpecialMesh",par)
- msh.MeshId='rbxasset://fonts/head.mesh'
- msh.TextureId='rbxassetid://25701026'
- end
- msh.Scale = Vector3.new(x,y,z)
- return msh
- end
- plr=game.Players.LocalPlayer
- char=plr.Character
- for _,v in pairs(char:GetChildren()) do
- if v.ClassName=="Part" then
- v.Transparency=1
- elseif v.ClassName=="Hat" then
- v.Handle.Mesh.TextureId='rbxassetid://25701026'
- table.insert(Parts,v.Handle)
- end
- end
- t=Part(1,1,1,'',0,false,false,char)
- Mesh(t,1,1,1,1)
- Weld(char.Torso,t)
- a=Part(1,1,1,'',0,false,false,char)
- Mesh(a,1,.5,1,1)
- Weld(char['Right Arm'],a)
- a=Part(1,1,1,'',0,false,false,char)
- Mesh(a,1,.5,1,1)
- Weld(char['Left Arm'],a)
- l=Part(1,1,1,'',0,false,false,char)
- Mesh(l,1,.5,1,1)
- Weld(char['Right Leg'],l)
- l=Part(1,1,1,'',0,false,false,char)
- Mesh(l,1,.5,1,1)
- Weld(char['Left Leg'],l)
- h=Part(1,1,1,'',0,false,false,char)
- Mesh(h,2,1,1,1)
- Weld(char.Head,h)
- spawn(function()
- while(coroutine.yield())do
- for i=1,#Parts do
- Parts[i].Mesh.VertexColor=GetDiscoColor(tick()*.5)--vertex 4 lyfe
- end
- end;
- end);
- do --Gui
- plrgui = game:service'Players'.LocalPlayer:findFirstChild("PlayerGui")
- function cmsg(text)
- coroutine.wrap(function()
- if plrgui then
- local gui = Instance.new("ScreenGui", plrgui)
- local label = Instance.new("TextLabel", gui)
- label.Text = tostring(text)
- label.BackgroundTransparency = 1
- label.FontSize = "Size24"
- label.Size = UDim2.new(1, 0, 0.5, 0)
- label.Position = UDim2.new(0, 0, 0.5, 0)
- label.TextColor3 = Color3.new(1,1,1)
- label.TextStrokeTransparency = 0.75
- for i = 1, 0, -0.25 do
- label.TextTransparency = i
- wait()
- end
- game:service'Debris':AddItem(gui, 2)
- end
- end)()
- end
- local statusgui = Instance.new("ScreenGui", plrgui)
- local frame = Instance.new("Frame", statusgui)
- frame.Size = UDim2.new(.55, 0, 0, 40)
- frame.Position = UDim2.new(.225, 0, .84, 0)
- frame.BackgroundColor3 = Color3.new()
- frame.BorderSizePixel = 0
- frame.BackgroundTransparency = 0.25
- frame.Style = 2
- local frame2 = Instance.new("Frame", frame)
- frame2.Size = UDim2.new(.45, 0, 0, 10)
- frame2.Position = UDim2.new(.025, 0, 0, 15)
- frame2.BackgroundColor3 = Color3.new(1,1,1)
- frame2.BorderSizePixel = 0
- frame2.ZIndex = 2
- frame2.ClipsDescendants = true
- game:service'RunService'.Stepped:connect(function()
- frame2.Size = UDim2.new(.45*humanoid.Health/humanoid.MaxHealth, 0, 0, 10)
- end)
- local frame2_1 = Instance.new("Frame", frame)
- frame2_1.Size = UDim2.new(.45, 0, 0, 10)
- frame2_1.Position = UDim2.new(.025, 0, 0, 15)
- frame2_1.BackgroundColor3 = Color3.new(.5,.5,.5)
- frame2_1.BorderSizePixel = 0
- local frame2_2 = Instance.new("TextLabel", frame)
- frame2_2.Size = UDim2.new(.45, 0, 0, 15)
- frame2_2.Position = UDim2.new(.025, 0, 0, 0)
- frame2_2.ZIndex = 2
- frame2_2.BackgroundTransparency = 1
- frame2_2.Text = "Health"
- frame2_2.Font = "SourceSansBold"
- frame2_2.TextXAlignment = "Left"
- frame2_2.TextScaled = true
- frame2_2.TextColor3 = Color3.new(1,1,1)
- local frame3 = Instance.new("Frame", frame)
- frame3.Size = UDim2.new(.45, 0, 0, 10)
- game:service'RunService'.Stepped:connect(function()
- frame3.Size = UDim2.new(.45*sprint_time/250, 0, 0, 10)
- end)
- frame3.Position = UDim2.new(.525, 0, 0, 15)
- frame3.BackgroundColor3 = Color3.new(1,1,1)
- frame3.BorderSizePixel = 0
- frame3.ZIndex = 2
- local frame3_1 = Instance.new("Frame", frame)
- frame3_1.Size = UDim2.new(.45, 0, 0, 10)
- frame3_1.Position = UDim2.new(.525, 0, 0, 15)
- frame3_1.BackgroundColor3 = Color3.new(.5,.5,.5)
- frame3_1.BorderSizePixel = 0
- local frame3_2 = Instance.new("TextLabel", frame)
- frame3_2.Size = UDim2.new(.45, 0, 0, 15)
- frame3_2.Position = UDim2.new(.525, 0, 0, 0)
- frame3_2.ZIndex = 2
- frame3_2.BackgroundTransparency = 1
- frame3_2.Text = "Stamina"
- frame3_2.Font = "SourceSansBold"
- frame3_2.TextXAlignment = "Left"
- frame3_2.TextScaled = true
- frame3_2.TextColor3 = Color3.new(1,1,1)
- game:service'StarterGui':SetCoreGuiEnabled(1, false)
- end
- do --the animating
- if anim then
- anim:Destroy()
- end
- local rm = Instance.new("Motor", torso)
- rm.C0 = CFrame.new(1.5, 0.5, 0)
- rm.C1 = CFrame.new(0, 0.5, 0)
- rm.Part0 = torso
- rm.Part1 = ra
- rm.Name = "Right Shoulder"
- local lm = Instance.new("Motor", torso)
- lm.C0 = CFrame.new(-1.5, 0.5, 0)
- lm.C1 = CFrame.new(0, 0.5, 0)
- lm.Part0 = torso
- lm.Part1 = la
- lm.Name = "Left Shoulder"
- local rlegm = Instance.new("Motor", torso)
- rlegm.C0 = CFrame.new(0.5, -1, 0)
- rlegm.C1 = CFrame.new(0, 1, 0)
- rlegm.Part0 = torso
- rlegm.Part1 = rl
- rlegm.Name = "Right Hip"
- local llegm = Instance.new("Motor", torso)
- llegm.C0 = CFrame.new(-0.5, -1, 0)
- llegm.C1 = CFrame.new(0, 1, 0)
- llegm.Part0 = torso
- llegm.Part1 = ll
- llegm.Name = "Left Hip"
- neck.C0 = CFrame.new(0, 1, 0)
- neck.C1 = CFrame.new(0, -0.5, 0)
- rj.C0 = CFrame.new(0, -1, 0)
- rj.C1 = CFrame.new(0, -1, 0)
- local speed = 0.3
- local angle = 0
- local sitting = false
- local anglespeed = 1
- local action = "None"
- local lastaction = "None"
- local jumptime = 0
- rsc0 = rm.C0
- lsc0 = lm.C0
- llc0 = llegm.C0
- rlc0 = rlegm.C0
- neckc0 = neck.C0
- rootc0 = rj.C0
- Personality = "None"
- --[[
- Brave,Shy,Agile
- ]]
- BodyVelo = Instance.new("BodyVelocity", nil)
- BodyVelo.maxForce = Vector3.new(1,1,1)*math.huge
- BodyGyro = Instance.new("BodyGyro", nil)
- BodyGyro.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge
- ControllerService = game:GetService("ControllerService")
- Controllers = ControllerService:GetChildren()[1]
- humanoid.Swimming:connect(function(speed)
- if speed > 0 then
- action = "Swimming"
- BodyGyro.Parent = torso
- else
- action = "None"
- end
- end)
- humanoid.Climbing:connect(function(speed)
- if speed > 4 then
- action = "Climbing"
- BodyGyro.Parent = torso
- BodyGyro.maxTorque = Vector3.new(0, 4e+005, 0)*math.huge
- humanoid.WalkSpeed = 8
- else
- BodyGyro.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge
- humanoid.WalkSpeed = 16
- action = "None"
- end
- end)
- humanoid.Changed:connect(function()
- if action ~= "None" or ctrl then
- humanoid.Jump = false
- end
- end)
- local sprinting = false
- local jump2 = false
- lastjump = 0
- thisjumpused = false
- mouse.KeyDown:connect(function(k)
- if died then return end
- if string.byte(k) == 48 then
- if ctrl then return end
- if sprint_time <= 30 then return end
- if action == "Sliding" then return end
- humanoid.WalkSpeed = 28
- sprinting = true
- for camerazoom = camera.FieldOfView, 75, 1 do
- camera.FieldOfView = camerazoom
- wait()
- end
- camera.FieldOfView = 75
- end
- if string.byte(k) == 52 then
- if action == "None" then
- if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 2 then
- action = "Sliding"
- end
- end
- end
- if string.byte(k) == 32 then
- if divingnotallowed then return end
- if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 20 then
- if not thisjumpused then
- lastjump = tick()
- thisjumpused = true
- else
- if (tick()-lastjump) < .5 then
- action = "Diving"
- diving = true
- end
- lastjump = 0
- thisjumpused = false
- end
- end
- end
- if string.byte(k) == 50 then
- ctrl = not ctrl
- if ctrl then
- humanoid.WalkSpeed = 8
- else
- humanoid.WalkSpeed = 16
- end
- end
- end)
- mouse.KeyUp:connect(function(k)
- if died then return end
- if string.byte(k) == 52 then
- action = "None"
- Controllers.Parent = ControllerService
- if ctrl then
- humanoid.WalkSpeed = 8
- else
- humanoid.WalkSpeed = 16
- end
- if sprinting then
- humanoid.WalkSpeed = 28
- end
- end
- if string.byte(k) == 48 then
- if ctrl then return end
- if action == "Sliding" then return end
- if action == "Jumping" then
- repeat wait() until rayHit == true
- end
- sprinting = false
- humanoid.WalkSpeed = 16
- for camerazoom = camera.FieldOfView, 70, -1 do
- camera.FieldOfView = camerazoom
- wait()
- end
- camera.FieldOfView = 70
- end
- end)
- game:service'RunService'.Stepped:connect(function()
- if ctrl or action == "Sliding" then
- rootpart.CanCollide = false
- end
- end)
- function Ragdoll()
- died = true
- wait(1/60)
- if torso then
- torso.CFrame = torso.CFrame * CFrame.new(0, 5, 0)
- local Head = char:FindFirstChild("Head")
- if Head then
- local Neck = Instance.new("Weld")
- Neck.Name = "Neck"
- Neck.Part0 = torso
- Neck.Part1 = Head
- Neck.C0 = CFrame.new(0, 1.5, 0)
- Neck.C1 = CFrame.new()
- Neck.Parent = torso
- end
- local Limb = char:FindFirstChild("Right Arm")
- if Limb then
- Limb.CFrame = torso.CFrame * CFrame.new(1.5, 0, 0)
- local Joint = Instance.new("Glue")
- Joint.Name = "RightShoulder"
- Joint.Part0 = torso
- Joint.Part1 = Limb
- Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- Joint.Parent = torso
- local B = Instance.new("Part")
- B.TopSurface = 0
- B.BottomSurface = 0
- B.formFactor = "Symmetric"
- B.Size = Vector3.new(1, 1, 1)
- B.Transparency = 1
- B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
- B.Parent = char
- B.CanCollide = false
- local W = Instance.new("Weld")
- W.Part0 = Limb
- W.Part1 = B
- W.C0 = CFrame.new(0, -0.5, 0)
- W.Parent = Limb
- end
- local Limb = char:FindFirstChild("Left Arm")
- if Limb then
- Limb.CFrame = torso.CFrame * CFrame.new(-1.5, 0, 0)
- local Joint = Instance.new("Glue")
- Joint.Name = "LeftShoulder"
- Joint.Part0 = torso
- Joint.Part1 = Limb
- Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- Joint.Parent = torso
- local B = Instance.new("Part")
- B.TopSurface = 0
- B.BottomSurface = 0
- B.formFactor = "Symmetric"
- B.Size = Vector3.new(1, 1, 1)
- B.Transparency = 1
- B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
- B.Parent = char
- B.CanCollide = false
- local W = Instance.new("Weld")
- W.Part0 = Limb
- W.Part1 = B
- W.C0 = CFrame.new(0, -0.5, 0)
- W.Parent = Limb
- end
- local Limb = char:FindFirstChild("Right Leg")
- if Limb then
- Limb.CFrame = torso.CFrame * CFrame.new(0.5, -2, 0)
- local Joint = Instance.new("Glue")
- Joint.Name = "RightHip"
- Joint.Part0 = torso
- Joint.Part1 = Limb
- Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- Joint.Parent = torso
- local B = Instance.new("Part")
- B.TopSurface = 0
- B.BottomSurface = 0
- B.formFactor = "Symmetric"
- B.Size = Vector3.new(1, 1, 1)
- B.Transparency = 1
- B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
- B.Parent = char
- B.CanCollide = false
- local W = Instance.new("Weld")
- W.Part0 = Limb
- W.Part1 = B
- W.C0 = CFrame.new(0, -0.5, 0)
- W.Parent = Limb
- end
- local Limb = char:FindFirstChild("Left Leg")
- if Limb then
- Limb.CFrame = torso.CFrame * CFrame.new(-0.5, -2, 0)
- local Joint = Instance.new("Glue")
- Joint.Name = "LeftHip"
- Joint.Part0 = torso
- Joint.Part1 = Limb
- Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- Joint.Parent = torso
- local B = Instance.new("Part")
- B.TopSurface = 0
- B.BottomSurface = 0
- B.formFactor = "Symmetric"
- B.Size = Vector3.new(1, 1, 1)
- B.Transparency = 1
- B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
- B.Parent = char
- B.CanCollide = false
- local W = Instance.new("Weld")
- W.Part0 = Limb
- W.Part1 = B
- W.C0 = CFrame.new(0, -0.5, 0)
- W.Parent = Limb
- end
- rm:Destroy()
- lm:Destroy()
- llegm:Destroy()
- rlegm:Destroy()
- end
- end
- music = Instance.new("Sound",torso)
- music.Volume = 50
- music.Looped = true
- music.SoundId = "http://www.roblox.com/asset/?id=293965978"
- music2 = Instance.new("Sound",torso)
- music2.Volume = 50
- music2.Looped = true
- music2.SoundId = "http://www.roblox.com/asset/?id=414264200"
- music3 = Instance.new("Sound",torso)
- music3.Volume = 50
- music3.Looped = true
- music3.SoundId = "http://www.roblox.com/asset/?id=289006549"
- music4 = Instance.new("Sound",torso)
- music4.Volume = 50
- music4.Looped = true
- music4.SoundId = "http://www.roblox.com/asset/?id=225970267"
- music5 = Instance.new("Sound",torso)
- music5.Volume = 50
- music5.Looped = true
- music5.SoundId = "http://www.roblox.com/asset/?id=536915629"
- Enraged = Instance.new("Sound",torso)
- Enraged.Volume = 50
- Enraged.Looped = true
- Enraged.SoundId = "http://www.roblox.com/asset/?id=269426237"
- local plr = game.Players.LocalPlayer
- local chr = plr.Character
- local mouse = plr:GetMouse()
- local chara = Player.Character
- local hand1 = Instance.new("Part",Character)
- hand1.Name = "Hand1"
- hand1.Size = Vector3.new(.8,.8,.8)
- hand1.Transparency = 1
- hand1.Position = chara["Left Arm"].Position
- local hand1weld = Instance.new("Weld",hand1)
- hand1weld.Part0 = chara["Left Arm"]
- hand1weld.Part1 = hand1
- hand1weld.C0 = CFrame.new(0,-1,0)
- local hand2 = hand1:Clone()
- hand2.Name = "Hand2"
- hand2.Parent = chara
- hand2.Position = chara["Right Arm"].Position
- local hand2weld = Instance.new("Weld",hand2)
- hand2weld.Part0 = chara["Right Arm"]
- hand2weld.Part1 = hand2
- hand2weld.C0 = CFrame.new(0,-1,0)
- color3colour = {BrickColor.new("Really red").Color,BrickColor.new("Neon orange").Color,BrickColor.new("New yeller").Color,BrickColor.new("Lime green").Color,BrickColor.new("Really blue").Color,BrickColor.new("Alder").Color}
- breekcolour = {BrickColor.new("Really red"),BrickColor.new("Neon orange"),BrickColor.new("New yeller"),BrickColor.new("Lime green"),BrickColor.new("Really blue"),BrickColor.new("Alder")}
- firecolour = {ColorSequenceKeypoint.new(0,BrickColor.new("Really red").Color),ColorSequenceKeypoint.new(.05,BrickColor.new("Neon orange").Color),ColorSequenceKeypoint.new(.1,BrickColor.new("New yeller").Color),ColorSequenceKeypoint.new(.15,BrickColor.new("Lime green").Color),ColorSequenceKeypoint.new(.2,BrickColor.new("Really blue").Color),ColorSequenceKeypoint.new(.25,BrickColor.new("Alder").Color),ColorSequenceKeypoint.new(1,BrickColor.new("Alder").Color)}
- barcolour = {ColorSequenceKeypoint.new(0,BrickColor.new("Really red").Color),ColorSequenceKeypoint.new(.2,BrickColor.new("Neon orange").Color),ColorSequenceKeypoint.new(.4,BrickColor.new("New yeller").Color),ColorSequenceKeypoint.new(.6,BrickColor.new("Lime green").Color),ColorSequenceKeypoint.new(.8,BrickColor.new("Really blue").Color),ColorSequenceKeypoint.new(1,BrickColor.new("Alder").Color)}
- normallife = {NumberSequenceKeypoint.new(0,0),NumberSequenceKeypoint.new(1,1)}
- extendlife = {NumberSequenceKeypoint.new(0,0),NumberSequenceKeypoint.new(0.8,0),NumberSequenceKeypoint.new(1,1)}
- function createrainbow(color,part,texture,size,trans,life,face,speed,accel,velsp,lock,name)
- local fira = Instance.new("ParticleEmitter",part)
- fira.Name = name
- fira.Color = ColorSequence.new(color)
- fira.Size = size
- fira.Texture = texture
- fira.Transparency = trans
- fira.Lifetime = life
- fira.EmissionDirection = face
- fira.Rate = 100000000
- fira.RotSpeed = NumberRange.new(100)
- fira.Speed = speed
- fira.VelocitySpread = velsp
- fira.Acceleration = accel
- fira.LightEmission = 1
- fira.LockedToPart = lock
- end
- handfire1 = createrainbow(firecolour,hand1,"rbxasset://textures/particles/smoke_main.dds",NumberSequence.new({NumberSequenceKeypoint.new(0,.4),NumberSequenceKeypoint.new(1,0)}),NumberSequence.new(extendlife),NumberRange.new(1),"Left",NumberRange.new(1),Vector3.new(0,2,0),0,false,"FireEffect")
- handfire2 = createrainbow(firecolour,hand2,"rbxasset://textures/particles/smoke_main.dds",NumberSequence.new({NumberSequenceKeypoint.new(0,.4),NumberSequenceKeypoint.new(1,0)}),NumberSequence.new(extendlife),NumberRange.new(1),"Right",NumberRange.new(1),Vector3.new(0,2,0),0,false,"FireEffect")
- createrainbow(barcolour,orbuur,"rbxasset://textures/particles/smoke_main.dds",NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.8,1),NumberSequenceKeypoint.new(1,0)}),NumberSequence.new(extendlife),NumberRange.new(1),"Front",NumberRange.new(0),Vector3.new(0,0,0),0,false,"OrbEffect")
- local spelleffect = Instance.new("ParticleEmitter",Character.Torso)
- spelleffect.Texture = "http://www.roblox.com/asset/?id=679657454"
- spelleffect.Speed = NumberRange.new(0)
- spelleffect.LightEmission = 1
- spelleffect.Transparency = NumberSequence.new(normallife)
- spelleffect.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0),NumberSequenceKeypoint.new(1,10)})
- spelleffect.Rate = 0.001
- spelleffect.Rotation = NumberRange.new(0,359)
- spelleffect.RotSpeed = NumberRange.new(100)
- spelleffect.Lifetime = NumberRange.new(1)
- createrainbow(barcolour,hand2,"rbxasset://textures/particles/smoke_main.dds",NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(1,0)}),NumberSequence.new(normallife),NumberRange.new(1),"Front",NumberRange.new(10),Vector3.new(0,0,0),1000,true,"PowerEffect")
- powereffect = hand2.PowerEffect
- powereffect.Enabled = false
- Void = nil
- VoidParts = {}
- Equipped = false
- Counter = 1
- function RayCast(Position, Direction, MaxDistance, IgnoreList)
- return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position, Direction.unit * (MaxDistance or 999.999)), IgnoreList)
- end
- Player = Player
- Character = chara
- Humanoid = Character:FindFirstChild("Humanoid")
- Torso = Character:FindFirstChild("Torso")
- if not Player or not Humanoid or Humanoid.Health == 0 or not chara.Torso then
- return
- end
- Equipped = true
- Void = Instance.new("Model")
- Void.Name = "Void"
- Angle = 0
- for i = 1, 1 do
- local VoidPart = Instance.new("Part")
- VoidPart.Name = "VoidPart"
- VoidPart.Transparency = 1
- VoidPart.BrickColor = BrickColor.new("Really black")
- VoidPart.Material = Enum.Material.Plastic
- VoidPart.Shape = Enum.PartType.Block
- VoidPart.FormFactor = Enum.FormFactor.Custom
- VoidPart.TopSurface = Enum.SurfaceType.Smooth
- VoidPart.BottomSurface = Enum.SurfaceType.Smooth
- VoidPart.Anchored = true
- VoidPart.CanCollide = false
- VoidPart.Locked = true
- VoidPart.Size = Vector3.new(10, 0.2, 10)
- fiyer = createrainbow(firecolour,VoidPart,"http://www.roblox.com/asset/?id=224413104",NumberSequence.new({NumberSequenceKeypoint.new(0,.4),NumberSequenceKeypoint.new(1,0)}),NumberSequence.new({NumberSequenceKeypoint.new(0,0),NumberSequenceKeypoint.new(0.99,0),NumberSequenceKeypoint.new(1,1)}),NumberRange.new(10),"Top",NumberRange.new(2),Vector3.new(0,2,0),0,false,"FireEffect")
- VoidPart.FireEffect.Rate = 10
- local BlockMesh = Instance.new("BlockMesh")
- BlockMesh.Scale = Vector3.new(1.5,1,1.5)
- BlockMesh.Parent = VoidPart
- VoidPart.Parent = Void
- local Star = Instance.new("Decal", VoidPart)
- Star.Texture = "http://www.roblox.com/asset/?id=131735627"
- Star.Face = "Top"
- local Light = Instance.new("PointLight", VoidPart)
- Light.Color = Color3.new(1,1,1)
- Light.Brightness = 100
- Light.Range = 10
- table.insert(VoidParts, VoidPart)
- end
- spawn(function()
- while Equipped and Humanoid.Parent and Humanoid.Health > 0 and chara do
- if Angle == 360 then
- Angle = 0
- end
- Angle = Angle + .05
- Counter = Counter + 1
- if Counter == 7 then
- Counter = 1
- end
- Void.VoidPart.Decal.Color3 = color3colour[Counter]
- Void.VoidPart.PointLight.Color = color3colour[Counter]
- local parentPos = chara.Torso.CFrame
- local Hit, EndPosition = RayCast(chara.Torso.Position, Vector3.new(0, -1, 0), (chara.Torso.Size.Y * 6.5), {Character})
- if Hit then
- if not Void.Parent then
- Void.Parent = Character
- end
- for i, v in pairs(VoidParts) do
- v.CFrame = CFrame.new(chara.Torso.Position.X, EndPosition.Y, chara.Torso.Position.Z) * CFrame.Angles(0, (Angle + i), 0)
- end
- else
- Void.Parent = nil
- end
- wait()
- end
- end)
- dabbing=Instance.new('Sound', plr.Character.Torso)
- dabbing.Volume = 5
- dabbing.Pitch = 0.7
- dabbing.SoundId = 'rbxassetid://437235476'
- function stopAnimations()
- for _,v in pairs(game.Players.LocalPlayer.Character.Humanoid:GetPlayingAnimationTracks()) do
- v:Stop()
- end
- end
- plr.Chatted:connect(function(msg)
- if action == "None" then
- if msg == "Agile" then
- Personality = "Agile"
- music:Play()
- music2:Stop()
- music3:Stop()
- music4:Stop()
- music5:Stop()
- max_sprint_time = 500
- sprint_time = 500
- humanoid.WalkSpeed = 100
- humanoid.JumpPower = 50
- end
- if msg == "roll" then
- action = "Rolling"
- end
- if msg == "Brave" then
- Personality = "Brave"
- music2:Play()
- music:Stop()
- music3:Stop()
- music4:Stop()
- music5:Stop()
- max_sprint_time = math.huge
- sprint_time = math.huge
- humanoid.JumpPower = 150
- humanoid.WalkSpeed = 100
- end
- if msg == "ff" then
- ff.Visible = true
- end
- if msg == "Shy" then
- Personality = "Shy"
- music3:Play()
- music2:Stop()
- music:Stop()
- music4:Stop()
- music5:Stop()
- max_sprint_time = 250
- sprint_time = 250
- humanoid.JumpPower = 150
- humanoid.WalkSpeed = 16
- end
- if msg == "/e hushchild" or msg == "/emote hushchild" then
- action = "Dancing"
- end
- if msg == "dance" or msg == "/emote dance" then
- action = "Dancing2"
- music4:Play()
- music3:Stop()
- music2:Stop()
- music:Stop()
- music5:Stop()
- end
- if msg == "dance2" or msg == "/emote dance2" then
- action = "Dancing3"
- music5:Play()
- music4:Stop()
- music3:Stop()
- music2:Stop()
- music:Stop()
- end
- end
- if msg == "ragdoll/" then
- Ragdoll()
- end
- end)
- ff = Instance.new("ForceField",char)
- ff.Visible = false
- if Humanoid.Health <=50 then
- music5:Stop()
- music4:Stop()
- music3:Stop()
- music2:Stop()
- music:Stop()
- Enraged:Play()
- humanoid.WalkSpeed = 500
- text.text = "Enraged"
- end
- humanoid.Jumping:connect(function()
- if died then return end
- if action == "Diving" or diving then return end
- action = "Jumping"
- Controllers.Parent = nil
- end)
- humanoid.Died:connect(function()
- died = true
- deathpos = torso.Position
- WorkModel = Instance.new("Model", workspace)
- WorkModel.Name = " "
- wait(1/60)
- humanoid.Parent = nil
- if torso then
- local Head = char:FindFirstChild("Head")
- if Head then
- local Neck = Instance.new("Weld")
- Neck.Name = "Neck"
- Neck.Part0 = torso
- Neck.Part1 = Head
- Neck.C0 = CFrame.new(0, 1.5, 0)
- Neck.C1 = CFrame.new()
- Neck.Parent = torso
- end
- local Limb = char:FindFirstChild("Right Arm")
- if Limb then
- Limb.CFrame = torso.CFrame * CFrame.new(1.5, 0, 0)
- local Joint = Instance.new("Glue")
- Joint.Name = "RightShoulder"
- Joint.Part0 = torso
- Joint.Part1 = Limb
- Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- Joint.Parent = torso
- local B = Instance.new("Part")
- B.TopSurface = 0
- B.BottomSurface = 0
- B.formFactor = "Symmetric"
- B.Size = Vector3.new(1, 1, 1)
- B.Transparency = 1
- B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
- B.Parent = char
- B.CanCollide = false
- local W = Instance.new("Weld")
- W.Part0 = Limb
- W.Part1 = B
- W.C0 = CFrame.new(0, -0.5, 0)
- W.Parent = Limb
- end
- local Limb = char:FindFirstChild("Left Arm")
- if Limb then
- Limb.CFrame = torso.CFrame * CFrame.new(-1.5, 0, 0)
- local Joint = Instance.new("Glue")
- Joint.Name = "LeftShoulder"
- Joint.Part0 = torso
- Joint.Part1 = Limb
- Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- Joint.Parent = torso
- local B = Instance.new("Part")
- B.TopSurface = 0
- B.BottomSurface = 0
- B.formFactor = "Symmetric"
- B.Size = Vector3.new(1, 1, 1)
- B.Transparency = 1
- B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
- B.Parent = char
- B.CanCollide = false
- local W = Instance.new("Weld")
- W.Part0 = Limb
- W.Part1 = B
- W.C0 = CFrame.new(0, -0.5, 0)
- W.Parent = Limb
- end
- local Limb = char:FindFirstChild("Right Leg")
- if Limb then
- Limb.CFrame = torso.CFrame * CFrame.new(0.5, -2, 0)
- local Joint = Instance.new("Glue")
- Joint.Name = "RightHip"
- Joint.Part0 = torso
- Joint.Part1 = Limb
- Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- Joint.Parent = torso
- local B = Instance.new("Part")
- B.TopSurface = 0
- B.BottomSurface = 0
- B.formFactor = "Symmetric"
- B.Size = Vector3.new(1, 1, 1)
- B.Transparency = 1
- B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
- B.Parent = char
- B.CanCollide = false
- local W = Instance.new("Weld")
- W.Part0 = Limb
- W.Part1 = B
- W.C0 = CFrame.new(0, -0.5, 0)
- W.Parent = Limb
- end
- local Limb = char:FindFirstChild("Left Leg")
- if Limb then
- Limb.CFrame = torso.CFrame * CFrame.new(-0.5, -2, 0)
- local Joint = Instance.new("Glue")
- Joint.Name = "LeftHip"
- Joint.Part0 = torso
- Joint.Part1 = Limb
- Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- Joint.Parent = torso
- local B = Instance.new("Part")
- B.TopSurface = 0
- B.BottomSurface = 0
- B.formFactor = "Symmetric"
- B.Size = Vector3.new(1, 1, 1)
- B.Transparency = 1
- B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
- B.Parent = char
- B.CanCollide = false
- local W = Instance.new("Weld")
- W.Part0 = Limb
- W.Part1 = B
- W.C0 = CFrame.new(0, -0.5, 0)
- W.Parent = Limb
- end
- for blood = 0, 6 do
- local blood = Instance.new("Part", workspace)
- blood.BrickColor = BrickColor.Red()
- blood.FormFactor = "Custom"
- blood.Size = Vector3.new(.2,.2,.2)
- blood.Anchored = true
- blood.TopSurface = "Smooth"
- blood.BackSurface = "Smooth"
- local bloodmesh = Instance.new("CylinderMesh", blood)
- bloodmesh.Scale = Vector3.new(3, 0, 3)
- local rayzb = Ray.new(torso.Position, Vector3.new(0, -50, 0) + Vector3.new(math.random(-6, 6), 0, math.random(-6, 6)))
- local hitzb, hitposb = workspace:findPartOnRay(rayzb, char)
- if hitzb then
- blood.CFrame = CFrame.new(hitposb.x,hitposb.y,hitposb.z)
- blood.CFrame = blood.CFrame * CFrame.new(0, .05, 0)
- coroutine.wrap(function()
- for cframe = 0, math.random(16, 34) do
- bloodmesh.Scale = bloodmesh.Scale + Vector3.new(.45, 0, .45)
- wait()
- end
- end)()
- else
- blood:Destroy()
- end
- end
- local BP = Instance.new("BodyPosition", torso)
- BP.maxForce = Vector3.new(1,1,1)/0
- BP.position = deathpos
- for i,v in pairs(char:children()) do
- if v:IsA("Part") then v.Parent = WorkModel end
- end
- wait(.3)
- BP:Destroy()
- end
- end)
- coroutine.wrap(function()
- while wait() do
- if divingnotallowed then
- wait(.35)
- divingnotallowed = false
- end
- end
- end)()
- local debounce = false
- local tool = false
- local dancing1 = false
- while game:service'RunService'.Stepped:wait() do
- if died then Controllers.Parent = ControllerService return end
- angle = (angle % 100) + anglespeed/10
- mvmnt = math.pi * math.sin(math.pi*2/100*(angle*20))
- local rscf = rsc0
- local lscf = lsc0
- local rlcf = rlc0
- local llcf = llc0
- local rjcf = rootc0
- local ncf = neckc0
- local rayz = Ray.new(rootpart.Position, Vector3.new(0, -3.95, 0))
- local hitz, enz = workspace:findPartOnRay(rayz, char)
- local rayz1 = Ray.new(rootpart.Position, Vector3.new(-.5, -3.95, 0))
- local hitz1, enz1 = workspace:findPartOnRay(rayz1, char)
- local rayz2 = Ray.new(rootpart.Position, Vector3.new(.5, -3.95, 0))
- local hitz2, enz2 = workspace:findPartOnRay(rayz2, char)
- local rayz3 = Ray.new(rootpart.Position, Vector3.new(0, -3.95, -.5))
- local hitz3, enz3 = workspace:findPartOnRay(rayz3, char)
- local rayz4 = Ray.new(rootpart.Position, Vector3.new(0, -3.95, .5))
- local hitz4, enz4 = workspace:findPartOnRay(rayz4, char)
- if hitz or hitz1 or hitz2 or hitz3 or hitz4 and rayHit == false then
- rayHit = true
- Controllers.Parent = ControllerService
- end
- if diving then
- action = "Diving"
- end
- for i,object in pairs(char:children()) do
- if object:IsA("Tool") then
- if not wldunknown then
- wldunknown = Instance.new("Weld", rarm)
- wldunknown.Name = "RightGrip"
- wldunknown.Part0 = rarm
- if object:findFirstChild("Handle") then
- wldunknown.Part1 = object:findFirstChild("Handle")
- end
- end
- tool = true
- if not debounce then
- for x,value in pairs(object:children()) do
- if value:IsA("StringValue") and value.Name == "toolanim" and value.Value == "Slash" then
- debounce = true
- coroutine.wrap(function()
- slashing = true
- wait(.25)
- slashing = false
- debounce = false
- end)()
- value:Destroy()
- end
- end
- end
- elseif not object:IsA("Tool") then
- if tool then
- pcall(function()
- wldunknown:Destroy()
- wldunknown:Destroy()
- end)
- end
- tool = false
- end
- end
- if action == "Diving" then
- anglespeed = 4
- speed = 0.175
- BodyGyro.Parent = nil
- Controllers.Parent = nil
- diving = true
- ncf = neckc0 * CFrame.Angles(-math.rad(30) - math.rad(torso.Velocity.y)*1.2, 0, 0)
- rjcf = rootc0 * CFrame.Angles(-math.rad(155), 0, 0)
- rscf = rsc0 * CFrame.Angles(math.pi-math.rad(25), 0, 0)
- lscf = lsc0 * CFrame.Angles(math.pi-math.rad(25), 0, 0)
- rlcf = rlc0 * CFrame.Angles(0, 0, 0)
- llcf = llc0 * CFrame.Angles(0, 0, 0)
- if hitz and hitz1 and hitz2 and hitz3 and hitz4 then
- action = "Rolling"
- diving = false
- end
- elseif action == "Rolling" then
- anglespeed = 3
- speed = 0.2
- BodyGyro.Parent = nil
- Controllers.Parent = nil
- for roll = 165, 360, 30 do
- BodyVelo.Parent = torso
- BodyVelo.velocity = rootpart.CFrame.lookVector * 50
- Controllers.Parent = nil
- ncf = neckc0 * CFrame.Angles(-math.pi/1.85, 0, 0)
- rjcf = rootc0 * CFrame.new(0, -1.8, 0) * CFrame.Angles(-math.rad(roll), 0, 0)
- rscf = rsc0 * CFrame.Angles(math.pi/2.5, 0, -math.rad(30))
- lscf = lsc0 * CFrame.Angles(math.pi/2.5, 0, math.rad(30))
- rlcf = rlc0 * CFrame.new(0, .6, -.75) * CFrame.Angles(-math.pi/2.5, 0, 0)
- llcf = llc0 * CFrame.new(0, .6, -.75) * CFrame.Angles(-math.pi/2.5, 0, 0)
- rm.C0 = clerp(rm.C0,rscf,speed)
- lm.C0 = clerp(lm.C0,lscf,speed)
- rj.C0 = clerp(rj.C0,rjcf,speed)
- neck.C0 = clerp(neck.C0,ncf,speed)
- rlegm.C0 = clerp(rlegm.C0,rlcf,speed)
- llegm.C0 = clerp(llegm.C0,llcf,speed)
- wait()
- end
- BodyVelo.Parent = nil
- action = "None"
- Controllers.Parent = ControllerService
- divingnotallowed = true
- elseif action == "Dancing" then
- if not dancing1 == true then
- dancing1 = true
- if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 2 then action = "None" end
- anglespeed = 4
- speed = 0.3
- BodyGyro.Parent = nil
- for waiting = 0, 35, 1 do
- if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 2 then action = "None" return end
- local angle = (angle % 100) + anglespeed/10
- ncf = neckc0 * CFrame.Angles(math.pi/24.85, 0, 0)
- rjcf = rootc0 * CFrame.Angles(0, math.rad(45), 0)
- rscf = rsc0 * CFrame.Angles(math.pi/2.5+math.sin(waiting)*.5, 0, math.rad(2))
- lscf = lsc0 * CFrame.Angles(math.pi/2.5+math.sin(waiting)*.5, 0, -math.rad(2))
- rlcf = rlc0 * CFrame.Angles(math.pi/18, 0, math.rad(5))
- llcf = llc0 * CFrame.Angles(-math.pi/14, 0, -math.rad(5))
- rm.C0 = clerp(rm.C0,rscf,speed)
- lm.C0 = clerp(lm.C0,lscf,speed)
- rj.C0 = clerp(rj.C0,rjcf,speed)
- neck.C0 = clerp(neck.C0,ncf,speed)
- rlegm.C0 = clerp(rlegm.C0,rlcf,speed)
- llegm.C0 = clerp(llegm.C0,llcf,speed)
- wait()
- end
- for waiting = 0, 35, 1 do
- if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 2 then action = "None" return end
- local angle = (angle % 100) + anglespeed/10
- ncf = neckc0 * CFrame.Angles(math.pi/24.85, 0, 0)
- rjcf = rootc0 * CFrame.Angles(0, -math.rad(45), 0)
- rscf = rsc0 * CFrame.Angles(math.pi/2.5+math.sin(waiting)*.5, 0, math.rad(2))
- lscf = lsc0 * CFrame.Angles(math.pi/2.5+math.sin(waiting)*.5, 0, -math.rad(2))
- rlcf = rlc0 * CFrame.Angles(math.pi/18, 0, math.rad(5))
- llcf = llc0 * CFrame.Angles(-math.pi/14, 0, -math.rad(5))
- rm.C0 = clerp(rm.C0,rscf,speed)
- lm.C0 = clerp(lm.C0,lscf,speed)
- rj.C0 = clerp(rj.C0,rjcf,speed)
- neck.C0 = clerp(neck.C0,ncf,speed)
- rlegm.C0 = clerp(rlegm.C0,rlcf,speed)
- llegm.C0 = clerp(llegm.C0,llcf,speed)
- wait()
- end
- for jumping = 0, 5, 1 do
- if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 2 then action = "None" return end
- local angle = (angle % 100) + anglespeed/10
- ncf = neckc0 * CFrame.Angles(math.pi/24.85, 0, 0)
- rjcf = rootc0 *CFrame.new(0, 2, 0) * CFrame.Angles(0, 0, 0)
- rscf = rsc0 * CFrame.Angles(math.pi/1, 0, -math.rad(10))
- lscf = lsc0 * CFrame.Angles(math.pi/1, 0, math.rad(10))
- rlcf = rlc0 * CFrame.new(0, .25, -.15) * CFrame.Angles(-math.pi/22, 0, -math.rad(5))
- llcf = llc0 * CFrame.Angles(math.pi/22, 0, -math.rad(5))
- rm.C0 = clerp(rm.C0,rscf,speed)
- lm.C0 = clerp(lm.C0,lscf,speed)
- rj.C0 = clerp(rj.C0,rjcf,speed)
- neck.C0 = clerp(neck.C0,ncf,speed)
- rlegm.C0 = clerp(rlegm.C0,rlcf,speed)
- llegm.C0 = clerp(llegm.C0,llcf,speed)
- wait()
- end
- dancing1 = false
- end
- elseif action == "Dancing2" then
- if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 2 then
- camera.CameraType = 5
- action = "None"
- end
- anglespeed = 1
- speed = 0.2
- BodyGyro.Parent = nil
- camera.CameraType = 6
- camera:SetRoll(math.sin(angle)*.1)
- ncf = neckc0 * CFrame.Angles(math.pi/24.85, 0, 0)
- rjcf = rootc0 * CFrame.new(0, 0.75 + -math.abs(math.sin(angle)), 0) * CFrame.Angles(0, 0, math.sin(angle)*.1)
- rscf = rsc0 * CFrame.Angles(math.pi-math.abs(math.sin(angle))*.5, 0, math.rad(2))
- lscf = lsc0 * CFrame.Angles(math.pi-math.abs(math.sin(angle))*.5, 0, -math.rad(2))
- rlcf = rlc0 * CFrame.Angles(math.sin(angle)*.25, 0, math.rad(5))
- llcf = llc0 * CFrame.Angles(-math.sin(angle)*.25, 0, -math.rad(5))
- if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 2 then
- camera.CameraType = 5
- end
- elseif action == "Dancing3" then
- if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 2 then action = "None" end
- anglespeed = .9
- BodyGyro.Parent = nil
- speed = 0.2
- ncf = neckc0 * CFrame.Angles(0, 0, 0)
- rjcf = rootc0 * CFrame.Angles(math.pi, angle*3.6/2, 0)
- rscf = rsc0 * CFrame.Angles(math.sin(angle)*.5, 0, math.rad(65))
- lscf = lsc0 * CFrame.Angles(math.sin(angle)*.5, 0, -math.rad(65))
- rlcf = rlc0 * CFrame.Angles(math.sin(angle)*.25, 0, math.rad(15))
- llcf = llc0 * CFrame.Angles(-math.sin(angle)*.25, 0, -math.rad(15))
- elseif action == "Jumping" then
- if diving then action = "Diving" end
- anglespeed = 1
- speed = 0.175
- BodyGyro.Parent = nil
- rayHit = false
- for waiting = 0, 8 do
- rjcf = rootc0 * CFrame.Angles(0, 0, 0)
- rscf = rsc0 * CFrame.Angles(-math.pi/10, 0, 0)
- lscf = lsc0 * CFrame.Angles(-math.pi/10, 0, 0)
- rlcf = rlc0 * CFrame.new(0, 0.7, -0.5) * CFrame.Angles(-math.pi/14, 0, 0)
- llcf = llc0 * CFrame.Angles(-math.pi/20, 0, 0)
- rm.C0 = clerp(rm.C0,rscf,speed)
- lm.C0 = clerp(lm.C0,lscf,speed)
- rj.C0 = clerp(rj.C0,rjcf,speed)
- neck.C0 = clerp(neck.C0,ncf,speed)
- rlegm.C0 = clerp(rlegm.C0,rlcf,speed)
- llegm.C0 = clerp(llegm.C0,llcf,speed)
- wait()
- end
- action = "None"
- elseif action == "Climbing" then
- anglespeed = 4
- speed = 0.1
- BodyGyro.cframe = torso.CFrame
- ncf = neckc0 * CFrame.Angles(math.pi/3, 0, 0)
- rjcf = rootc0
- rscf = rsc0 * CFrame.new(0, -0.2 + -mvmnt*0.2, 0.45) * CFrame.Angles(math.pi/1.5, 0, -math.abs(mvmnt)*0.025)
- lscf = lsc0 * CFrame.new(0, -0.2 + mvmnt*0.2, 0.45) * CFrame.Angles(math.pi/1.5, 0, math.abs(mvmnt)*0.025)
- rlcf = rlc0 * CFrame.new(0, 0.3 + mvmnt*0.2, 0) * CFrame.Angles(math.pi/14, 0, 0)
- llcf = llc0 * CFrame.new(0, 0.3 + -mvmnt*0.2, 0) * CFrame.Angles(math.pi/14, 0, 0)
- elseif action == "Sliding" then
- Controllers.Parent = nil
- BodyGyro.Parent = nil
- speed = 0.1
- humanoid.WalkSpeed = humanoid.WalkSpeed - 0.4
- ncf = neckc0 * CFrame.Angles(-math.pi/7, 0, 0)
- rjcf = rootc0 * CFrame.new(0, -1.5, 0) * CFrame.Angles(math.pi/2.35, math.rad(10), 0)
- rscf = rsc0 * CFrame.Angles(-math.pi/2.5, 0, math.rad(5))
- lscf = lsc0 * CFrame.Angles(-math.pi/1.25, 0, -math.rad(5))
- rlcf = rlc0 * CFrame.Angles(-math.pi/25.5, 0, -math.rad(10))
- llcf = llc0 * CFrame.new(0, .3, -.35) * CFrame.Angles(-math.pi/24.5, 0, 0)
- if humanoid.WalkSpeed <= 1 then
- action = "None"
- if ctrl then
- humanoid.WalkSpeed = 8
- elseif not ctrl then
- humanoid.WalkSpeed = 16
- end
- if sprinting then
- humanoid.WalkSpeed = 28
- end
- Controllers.Parent = ControllerService
- end
- elseif action == "Swimming" then
- anglespeed = 1/6
- speed = 0.1
- local rotpos = Vector3.new(camera.CoordinateFrame.x, camera.CoordinateFrame.y, camera.CoordinateFrame.z)
- BodyGyro.cframe = CFrame.new(torso.Position,rotpos) * CFrame.Angles(math.pi/2.7, math.pi, 0)
- ncf = neckc0 * CFrame.Angles(math.pi/2.7, 0, 0)
- rjcf = rootc0
- rscf = rsc0 * CFrame.Angles(math.pi, 0, math.abs(mvmnt)*0.25)
- lscf = lsc0 * CFrame.Angles(math.pi, 0, -math.abs(mvmnt)*0.25)
- rlcf = rlc0 * CFrame.new(0, 0.3-math.abs(mvmnt)*0.075, 0) * CFrame.Angles(-math.sin(angle)*0.25, 0, 0)
- llcf = llc0 * CFrame.new(0, 0.3-math.abs(-mvmnt)*0.075, 0) * CFrame.Angles(math.sin(angle)*0.25, 0, 0)
- elseif not hitz and not hitz1 and not hitz2 and not hitz3 and not hitz4 then
- if action == "None" then
- rayHit = false
- BodyGyro.Parent = nil
- Controllers.Parent = nil
- speed = 0.1
- anglespeed = 1/2
- rjcf = rootc0 * CFrame.Angles(math.pi/18, 0, 0)
- rscf = rsc0 * CFrame.Angles(0, 0, math.rad(165))
- lscf = lsc0 * CFrame.Angles(0, 0, -math.rad(165))
- rlcf = rlc0 * CFrame.new(0, 0.4, -0.3) * CFrame.Angles(-math.pi/14, 0, 0)
- llcf = llc0 * CFrame.Angles(-math.pi/20, 0, 0)
- end
- elseif humanoid.Sit then
- speed = 0.1
- ncf = neckc0 * CFrame.Angles(0, 0, 0)
- rjcf = rootc0 * CFrame.new(0, -.2, 0)
- rscf = rsc0 * CFrame.Angles(math.pi/2, 0, math.rad(5))
- lscf = lsc0 * CFrame.Angles(math.pi/2, 0, -math.rad(5))
- rlcf = rlc0 * CFrame.Angles(math.pi/2, 0, math.rad(7.5))
- llcf = llc0 * CFrame.Angles(math.pi/2, 0, -math.rad(7.5))
- elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude <= 2 then
- if action == "None" then
- BodyGyro.Parent = nil
- speed = 0.3
- anglespeed = .15
- if ctrl then
- ncf = neckc0 * CFrame.Angles(math.sin(angle)*0.075, 0, 0)
- rjcf = rootc0 * CFrame.new(0, -1.25, 0)
- rscf = rsc0 * CFrame.Angles(-math.pi/24+math.sin(-angle)*0.05, 0, math.rad(5))
- lscf = lsc0 * CFrame.Angles(-math.pi/24+math.sin(-angle)*0.05, 0, -math.rad(5))
- rlcf = rlc0 * CFrame.new(0, 1.25, -.85) * CFrame.Angles(0, 0, math.rad(2.5))
- llcf = llc0 * CFrame.new(0, -.25, -.45) * CFrame.Angles(-math.pi/2, 0, -math.rad(2.5))
- else
- if Personality == "Agile" then
- ncf = neckc0 * CFrame.Angles(math.sin(angle)*0.075, 0, 0)
- rjcf = rootc0
- rscf = rsc0 * CFrame.Angles(-math.pi/24+math.sin(-angle)*0.05, 0, math.rad(5))
- lscf = lsc0 * CFrame.Angles(-math.pi/24+math.sin(-angle)*0.05, 0, -math.rad(5))
- rlcf = rlc0 * CFrame.Angles(-math.rad(2.5), 0, math.rad(2.5))
- llcf = llc0 * CFrame.Angles(math.rad(4.5), 0, -math.rad(2.5))
- elseif Personality == "Shy" then
- ncf = neckc0 * CFrame.Angles(-math.rad(10)+math.sin(angle)*0.075, 0, 0)
- rjcf = rootc0 * CFrame.Angles(0, math.rad(10), 0)
- rscf = rsc0 * CFrame.Angles(math.sin(-angle)*0.1, 0, -math.rad(2.5))
- lscf = lsc0 * CFrame.Angles(math.sin(-angle)*0.1, 0, math.rad(2.5))
- rlcf = rlc0 * CFrame.Angles(-math.rad(2.5), 0, 0)
- llcf = llc0 * CFrame.Angles(math.rad(4.5), 0, 0)
- elseif Personality == "Brave" then
- ncf = neckc0 * CFrame.Angles(math.sin(angle)*0.075, 0, 0)
- rjcf = rootc0 * CFrame.new(0, -0.2, 0)
- rscf = rsc0 * CFrame.Angles(-math.pi/24+math.sin(-angle)*0.05, 0, math.rad(5))
- lscf = lsc0 * CFrame.Angles(-math.pi/24+math.sin(-angle)*0.05, 0, -math.rad(5))
- rlcf = rlc0 * CFrame.Angles(-math.rad(15), 0, math.rad(2.5))
- llcf = llc0 * CFrame.Angles(math.rad(15), 0, -math.rad(2.5))
- end
- end
- if is_running then
- coroutine.wrap(function()
- is_running = false
- for camerazoom = camera.FieldOfView, 70, -1 do
- camera.FieldOfView = camerazoom
- wait()
- end
- camera.FieldOfView = 70
- end)()
- end
- if sprint_time <= 125 and not ctrl then
- ncf = neckc0 * CFrame.Angles(0, 0, 0)
- rjcf = rootc0 * CFrame.new(0, -1.9, 0) * CFrame.Angles(math.rad(10), 0, 0)
- rscf = rsc0 * CFrame.Angles(-math.rad(10), 0, math.rad(5))
- lscf = lsc0 * CFrame.Angles(-math.rad(10), 0, -math.rad(5))
- rlcf = rlc0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.pi/2-math.rad(10), 0, math.rad(5.5))
- llcf = llc0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.pi/2-math.rad(10), 0, -math.rad(5.5))
- end
- if tool then
- if Personality == "Shy" then
- rscf = rsc0 * CFrame.Angles(camera.CoordinateFrame.lookVector.y+math.pi/2, 0, math.rad(10))
- else
- rscf = rsc0 * CFrame.Angles(camera.CoordinateFrame.lookVector.y+math.pi/2, 0, 0)
- end
- end
- if slashing then
- rscf = rsc0 * CFrame.Angles(0, 0, 0)
- end
- end
- elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude <= 20 then
- if action == "None" then
- BodyGyro.Parent = nil
- speed = 0.2
- anglespeed = 4
- if ctrl then
- ncf = neckc0 * CFrame.Angles(math.pi/5, 0, 0)
- rjcf = rootc0 * CFrame.new(0, -.55, 0) * CFrame.Angles(-math.pi/5, 0, 0)
- rscf = rsc0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.pi/12, 0, math.rad(2))
- lscf = lsc0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.pi/12, 0, -math.rad(2))
- llcf = llc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(math.pi/5 - math.sin(angle)*.45, 0, 0)
- rlcf = rlcf * CFrame.new(0, .5, -.65) * CFrame.Angles(math.pi/5 + math.sin(angle)*.45, 0, 0)
- elseif not ctrl then
- ncf = neckc0 * CFrame.Angles(0, 0, 0)
- rjcf = rootc0
- rscf = rsc0 * CFrame.Angles(math.sin(angle)*1.3, 0, 0)
- lscf = lsc0 * CFrame.Angles(math.sin(-angle)*1.3, 0, 0)
- rlcf = rlc0 * CFrame.Angles(math.sin(-angle)*1, 0, math.rad(.5))
- llcf = llc0 * CFrame.Angles(math.sin(angle)*1, 0, -math.rad(.5))
- end
- if is_running then
- coroutine.wrap(function()
- is_running = false
- for camerazoom = camera.FieldOfView, 70, -1 do
- camera.FieldOfView = camerazoom
- wait()
- end
- camera.FieldOfView = 70
- end)()
- end
- if tool then
- rscf = rsc0 * CFrame.Angles(camera.CoordinateFrame.lookVector.y+math.pi/2, 0, 0)
- end
- if slashing then
- rscf = rsc0 * CFrame.Angles(0, 0, 0)
- end
- end
- elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 20 then
- if action == "Dancing" then action = "None" end
- if action == "None" then
- BodyGyro.Parent = nil
- if sprint_time > 1 then
- sprint_time = sprint_time - .5
- else
- humanoid.WalkSpeed = 16
- cmsg("No stamina left!")
- end
- speed = 0.3
- anglespeed = 5
- ncf = neckc0 * CFrame.Angles(0, 0, 0)
- rjcf = rootc0 * CFrame.new(0, math.abs(mvmnt*.1), 0) * CFrame.Angles(-math.pi/12, math.sin(angle)*.1, 0)
- rscf = rsc0 * CFrame.Angles(math.sin(angle)*2, 0, -math.sin(angle)*0.15 + math.rad(.5))
- lscf = lsc0 * CFrame.Angles(math.sin(-angle)*2, 0, -math.sin(angle)*0.15 + -math.rad(.5))
- rlcf = rlc0 * CFrame.Angles(math.sin(-angle)*1.8, 0, math.rad(.5))
- llcf = llc0 * CFrame.Angles(math.sin(angle)*1.8, 0, -math.rad(.5))
- is_running = true
- if tool then
- rscf = rsc0 * CFrame.Angles(-math.pi/2.75, 0, 0)
- end
- end
- end
- if action == "None" and Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude <= 2 then
- if sprint_time >= max_sprint_time-.8 then sprint_time = max_sprint_time else
- sprint_time = sprint_time + .5
- end
- elseif action == "None" and Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude <= 20 then
- if sprint_time >= max_sprint_time-.9 then sprint_time = max_sprint_time else
- sprint_time = sprint_time + .25
- end
- elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 150 then
- if action == "Dancing" then action = "None" end
- if action == "None" then
- BodyGyro.Parent = nil
- if sprint_time > 30 then
- sprint_time = sprint_time - 2
- else
- humanoid.WalkSpeed = 28
- cmsg("TOO HOT!")
- end
- local expl = Instance.new("Part", workspace)
- expl.Size = Vector3.new(0.2, 2, 0.2)
- expl.Anchored = true
- expl.Transparency = 0.25
- expl.TopSurface = 0
- expl.BottomSurface = 0
- expl.Locked = true
- expl.CanCollide = false
- Instance.new("PointLight", expl).Color = expl.BrickColor.Color
- expl.CFrame = torso.CFrame * CFrame.new(0, -2, 0) * CFrame.Angles(math.pi/math.random(1, 8),math.pi/math.random(1, 8),math.pi/math.random(1, 8))
- expl.BrickColor = BrickColor.new("Bright orange")
- local mesh = Instance.new("SpecialMesh", expl)
- mesh.MeshType = "Sphere"
- coroutine.wrap(function()
- for _ = 0, 15 do
- mesh.Scale = mesh.Scale + Vector3.new(.15, .15, .15)
- expl.Transparency = expl.Transparency + 0.075
- wait()
- end
- expl:Destroy()
- end)()
- speed = 0.3
- anglespeed = 7
- ncf = neckc0 * CFrame.Angles(0, 0, 0)
- rjcf = rootc0 * CFrame.Angles(-math.pi/12, math.sin(angle)*.1, 0)
- rscf = rsc0 * CFrame.Angles(math.sin(angle)*2, 0, -math.sin(angle)*0.15 + math.rad(.5))
- lscf = lsc0 * CFrame.Angles(math.sin(-angle)*2, 0, -math.sin(angle)*0.15 + -math.rad(.5))
- rlcf = rlc0 * CFrame.Angles(math.sin(-angle)*1.8, 0, math.rad(.5))
- llcf = llc0 * CFrame.Angles(math.sin(angle)*1.8, 0, -math.rad(.5))
- is_running = true
- if tool then
- rscf = rsc0 * CFrame.Angles(-math.pi/2.75, 0, 0)
- end
- end
- end
- if action == "None" and Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude <= 2 then
- if sprint_time >= max_sprint_time-.8 then sprint_time = 250 else
- sprint_time = sprint_time + .15
- end
- elseif action == "None" and Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude <= 20 then
- if sprint_time >= max_sprint_time-.9 then sprint_time = 250 else
- sprint_time = sprint_time + .05
- end
- end
- neck.C0 = clerp(neck.C0,ncf,speed)
- rm.C0 = clerp(rm.C0,rscf,speed)
- lm.C0 = clerp(lm.C0,lscf,speed)
- rj.C0 = clerp(rj.C0,rjcf,speed)
- neck.C0 = clerp(neck.C0,ncf,speed)
- rlegm.C0 = clerp(rlegm.C0,rlcf,speed)
- llegm.C0 = clerp(llegm.C0,llcf,speed)
- lastaction = action
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment