--------------------------------- -----SO BASICALLY I'M MONKEY----- --------------------------------- --This script is made by mrfunnylaughs4. local plr = owner local char = plr.Character local hum = char:FindFirstChildOfClass("Humanoid") local idleanim = Instance.new("Animation") idleanim.Name = "Roblox Idle Animation" idleanim.AnimationId = "http://www.roblox.com/asset/?id=180435571" local idleanimplay = hum:LoadAnimation(idleanim) idleanimplay:Play() wait(0.1) if char:FindFirstChild("Animate") then char.Animate:Destroy() end local remote = Instance.new("RemoteEvent", char) remote.Name = "ReplicationEvent" local client = NLS([==[ local mouse = game:GetService("Players").LocalPlayer:GetMouse() local remote = game:GetService("Players").LocalPlayer.Character:WaitForChild("ReplicationEvent") spawn(function() while game:GetService("RunService").Heartbeat:Wait() do remote = game:GetService("Players").LocalPlayer.Character:WaitForChild("ReplicationEvent") end end) game:GetService("UserInputService").InputBegan:Connect(function(input, isTyping) if isTyping == false and input.UserInputType == Enum.UserInputType.Keyboard then remote:FireServer(1, input.KeyCode) end end) mouse.Button1Down:Connect(function() remote:FireServer(2) end) remote.OnClientEvent:Connect(function() game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position, Vector3.new(mouse.Hit.Position.X, game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position.Y, mouse.Hit.Position.Z)) end) ]==], char) local crabrave = Instance.new("Sound", char.Torso) local RS = char.Torso["Right Shoulder"] local LS = char.Torso["Left Shoulder"] local RH = char.Torso["Right Hip"] local LH = char.Torso["Left Hip"] local rootj = char.HumanoidRootPart.RootJoint local throwbutton = false local throw = false local normalanim = true local attackd = false local animpose = "Idle" local timepos = 0 local sine = 0 local RSnor = RS.C0 local LSnor = LS.C0 local RHnor = RH.C0 local LHnor = LH.C0 local rootjnor = rootj.C0 --------------------------------- --------------Set up------------- --------------------------------- local sur = Instance.new("BillboardGui", char.Head) sur.Name = "Billboard" sur.Adornee = char.Head sur.Size = UDim2.new(10, 0, 5, 0) sur.StudsOffset = Vector3.new(0, 5, 0) local text = Instance.new("TextLabel", sur) text.Text = "a nostalgic cat" text.Size = UDim2.new(1, 0, 1, 0) text.TextScaled = true text.BackgroundTransparency = 1 text.Font = Enum.Font.SourceSansLight text.TextColor3 = Color3.new(1, 1, 1) text.TextStrokeTransparency = 0 --------------------------------- -------------Attacks------------- --------------------------------- remote.OnServerEvent:Connect(function(Player, number, key) if number == 1 and plr.Name == Player.Name and attackd == false then if key == Enum.KeyCode.Z then sine = 0 attackd = true normalanim = false hum.WalkSpeed = 0 hum.JumpPower = 0 for i = 1, 15 do game:GetService("RunService").Heartbeat:Wait() rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(1.2, 0, 0) + Vector3.new(0, -1.6, 0), 0.15) RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(0, 0, 1.1) + Vector3.new(0, 0, -0.3), 0.15) LS.C0 = LS.C0:Lerp(LSnor, 0.15) RH.C0 = RH.C0:Lerp(RHnor, 0.15) LH.C0 = LH.C0:Lerp(LHnor, 0.15) end for i = 1, 20 do game:GetService("RunService").Heartbeat:Wait() LS.C0 = LS.C0 * CFrame.Angles(0, 0, -0.06) + Vector3.new(0, 0, -0.03) end local banpart = Instance.new("Part", char) banpart.Size = Vector3.new(1, 1, 1) banpart.CanCollide = false local mesh = Instance.new("SpecialMesh", banpart) mesh.MeshType = "FileMesh" mesh.MeshId = "rbxassetid://147831825" mesh.TextureId = "rbxassetid://103895520" mesh.Scale = Vector3.new(1.8, 1.8, 1.8) local weld = Instance.new("Weld", banpart) weld.Part0 = char["Left Arm"] weld.Part1 = banpart weld.C1 = CFrame.new(0, 1, 0) for i = 1, 20 do game:GetService("RunService").Heartbeat:Wait() rootj.C0 = rootj.C0:Lerp(rootjnor, 0.15) RS.C0 = RS.C0:Lerp(RSnor, 0.15) LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(0, 0, -4), 0.15) RH.C0 = RH.C0:Lerp(RHnor, 0.15) LH.C0 = LH.C0:Lerp(LHnor, 0.15) end throwbutton = true throw = true repeat game:GetService("RunService").Heartbeat:Wait() remote:FireClient(plr) until throw == false for i = 1, 15 do game:GetService("RunService").Heartbeat:Wait() LS.C0 = LS.C0:Lerp(LS.C0 * CFrame.Angles(0, 0, 0.01), i) end banpart.Parent = workspace weld:Destroy() banpart.CanCollide = true banpart.Velocity = char.HumanoidRootPart.CFrame.LookVector * 60 local start = LS.C0 for i = 1, 0, -1 / 15 do game:GetService("RunService").Heartbeat:Wait() LS.C0 = LSnor:Lerp(start, i * i) end normalanim = true attackd = false hum.WalkSpeed = 16 hum.JumpPower = 50 banpart.Touched:Connect(function(hit) if hit.Parent and game:GetService("Players"):FindFirstChild(hit.Parent.Name) then local character = hit.Parent character:FindFirstChildOfClass("Humanoid").Sit = true local s = Instance.new("Sound", character.Head) s.SoundId = "rbxassetid://12221967" s.Volume = 1 s:Play() end end) spawn(function() wait(15) if banpart.Parent == workspace then banpart:Destroy() end end) end if key == Enum.KeyCode.X then attackd = true local bpart = Instance.new("Part", workspace) bpart.Size = Vector3.new(2.4, 3.5, 2.4) bpart.Locked = true bpart.CFrame = char.HumanoidRootPart.CFrame * CFrame.new(0, 0, -2) bpart.Velocity = Vector3.new(0, 50, 0) + char.HumanoidRootPart.CFrame.LookVector * 50 local mesh = Instance.new("SpecialMesh", bpart) mesh.MeshType = "FileMesh" mesh.MeshId = "http://www.roblox.com/asset/?id=11563093" mesh.Scale = Vector3.new(2.1, 2.1, 2.1) mesh.TextureId = "http://www.roblox.com/asset/?id=11563076" local update = 0.4 while update > 0.1 do local sound = Instance.new("Sound", bpart) sound.SoundId = "rbxasset://sounds\\clickfast.wav" sound.Volume = 5 sound:Play() wait(update) update = update * 0.9 end for i = 1, 50 do local banpart = Instance.new("Part", workspace) banpart.Size = Vector3.new(1, 1, 1) banpart.CanCollide = true banpart.CFrame = bpart.CFrame local bCFrame = CFrame.new(0, 0, 0) local bVel = Vector3.new(0, 0, 0) local mesh = Instance.new("SpecialMesh", banpart) mesh.MeshType = "FileMesh" mesh.MeshId = "rbxassetid://95358536" mesh.TextureId = "rbxassetid://113709807" mesh.Scale = Vector3.new(1, 1, 1) local weld = Instance.new("Weld", banpart) weld.Part0 = bpart weld.Part1 = banpart spawn(function() wait(1) banpart.Touched:Connect(function(hit) if hit.Parent and game:GetService("Players"):FindFirstChild(hit.Parent.Name) then local character = hit.Parent character:FindFirstChildOfClass("Humanoid").Sit = true local s = Instance.new("Sound", character.Head) s.SoundId = "rbxassetid://12221967" s.Volume = 1 s:Play() end end) end) end local explosion = Instance.new("Explosion", bpart) explosion.Position = bpart.Position local sound2 = Instance.new("Sound", bpart) sound2.SoundId = "rbxasset://sounds\\Rocket shot.wav" sound2.Volume = 5 sound2:Play() bpart.CanCollide = false attackd = false end if key == Enum.KeyCode.C then sine = 0 attackd = true normalanim = false hum.WalkSpeed = 0 hum.JumpPower = 0 for i = 1, 20 do game:GetService("RunService").Heartbeat:Wait() rootj.C0 = rootj.C0:Lerp(rootjnor, 0.15) RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(0, 0, 4), 0.15) LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(0, 0, -4), 0.15) RH.C0 = RH.C0:Lerp(RHnor, 0.15) LH.C0 = LH.C0:Lerp(LHnor, 0.15) end local tpart = Instance.new("Part", char) tpart.Size = Vector3.new(5.523, 6.19, 22.966) tpart.Anchored = true tpart.BrickColor = BrickColor.new("Pine Cone") tpart.Material = "Wood" tpart.CanCollide = false tpart.CFrame = char["Right Arm"].CFrame * CFrame.Angles(math.pi, -math.pi / 2, 0) * CFrame.new(0, 4, 1) local mesh = Instance.new("SpecialMesh", tpart) mesh.MeshType = "FileMesh" mesh.MeshId = "rbxassetid://1760841786" wait(0.5) for i = 1, 15 do game:GetService("RunService").Heartbeat:Wait() RS.C0 = RS.C0:Lerp(RS.C0 * CFrame.Angles(0, 0, -0.01), i) LS.C0 = LS.C0:Lerp(LS.C0 * CFrame.Angles(0, 0, 0.01), i) RH.C0 = RH.C0:Lerp(RHnor, 0.15) LH.C0 = LH.C0:Lerp(LHnor, 0.15) tpart.CFrame = char["Right Arm"].CFrame * CFrame.Angles(math.pi, -math.pi / 2, 0) * CFrame.new(0, 4, 1) end tpart.Anchored = false tpart.Velocity = char.HumanoidRootPart.CFrame.LookVector * 100 tpart.CanCollide = true tpart.Parent = workspace spawn(function() wait(0.3) tpart.Touched:Connect(function(hit) if hit.Size.X + hit.Size.Y + hit.Size.Z < 1000 then hit:BreakJoints() hit.Anchored = false hit.Velocity = tpart.Velocity end end) end) for i = 1, 20 do game:GetService("RunService").Heartbeat:Wait() rootj.C0 = rootj.C0:Lerp(rootjnor, 0.15) RS.C0 = RS.C0:Lerp(RSnor, 0.15) LS.C0 = LS.C0:Lerp(LSnor, 0.15) RH.C0 = RH.C0:Lerp(RHnor, 0.15) LH.C0 = LH.C0:Lerp(LHnor, 0.15) end attackd = false normalanim = true hum.WalkSpeed = 16 hum.JumpPower = 50 end elseif Player.Name == plr.Name and number == 2 and throw == true and throwbutton == true then throwbutton = false throw = false end end) --------------------------------- -----------Wrapping up----------- --------------------------------- while game:GetService("RunService").Heartbeat:Wait() do if normalanim then sine = sine + 1 end if crabrave.Parent == char.Torso then crabrave.SoundId = "rbxassetid://860317713" crabrave.Playing = true crabrave.Volume = 1 crabrave.Looped = true timepos = crabrave.TimePosition else crabrave = Instance.new("Sound", char.Torso) crabrave.TimePosition = timepos end if remote.Parent == char then remote.Name = "ReplicationEvent" else remote = Instance.new("RemoteEvent", char) end local touchfloor = workspace:FindPartOnRay(Ray.new(char.HumanoidRootPart.CFrame.Position, ((CFrame.new(char.HumanoidRootPart.Position, char.HumanoidRootPart.Position - Vector3.new(0, 1, 0))).LookVector).Unit * 4), char) if char.HumanoidRootPart.Velocity.Magnitude > 1 and touchfloor then animpose = "Walking" elseif char.HumanoidRootPart.Velocity.Y > 0.5 and touchfloor == nil then animpose = "Jumping" elseif char.HumanoidRootPart.Velocity.Y < 0.5 and touchfloor == nil then animpose = "Falling" else animpose = "Idle" end if animpose == "Idle" and normalanim then RS.C0 = RSnor * CFrame.Angles(0, 0, 1 + math.sin(sine / 5)) LS.C0 = LSnor * CFrame.Angles(0, 0, -1 + math.sin(sine / 5)) RH.C0 = RH.C0:Lerp(RHnor, 0.1) - Vector3.new(0, rootj.C0.Position.Y / 10, 0) LH.C0 = LH.C0:Lerp(LHnor, 0.1) - Vector3.new(0, rootj.C0.Position.Y / 10, 0) rootj.C0 = rootjnor * CFrame.new(math.sin(sine / 10) / 2, 0, math.sin(sine / 5) / 2) elseif animpose == "Walking" and normalanim then RS.C0 = RSnor * CFrame.Angles(0, 0, 1 + math.sin(sine / 5)) LS.C0 = LSnor * CFrame.Angles(0, 0, -1 + math.sin(sine / 5)) RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(0, 0, math.sin(sine / 10)), 0.1) - Vector3.new(0, rootj.C0.Position.Y / 10, 0) LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, math.sin(sine / 10)), 0.1) - Vector3.new(0, rootj.C0.Position.Y / 10, 0) rootj.C0 = rootjnor * CFrame.new(math.sin(sine / 10) / 2, 0, math.sin(sine / 5) / 2) elseif animpose == "Jumping" and normalanim then rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(-0.5, 0, 0), 0.15) RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.3, 0, 0), 0.15) LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.3, 0, 0), 0.15) RH.C0 = RH.C0:Lerp(RHnor, 0.15) LH.C0 = LH.C0:Lerp(LHnor, 0.15) elseif animpose == "Falling" and normalanim then rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(0.5, 0, 0), 0.15) RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.6, 0, 0), 0.15) LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.6, 0, 0), 0.15) RH.C0 = RH.C0:Lerp(RHnor, 0.15) LH.C0 = LH.C0:Lerp(LHnor, 0.15) end end