Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---------------------------------
- -----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 = "SO BASICALLY IM MONKEY"
- 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://28937301"
- mesh.TextureId = "rbxassetid://28937670"
- mesh.Scale = Vector3.new(0.8, 0.8, 0.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://28976727"
- s.Volume = 10
- 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=29873142"
- mesh.Scale = Vector3.new(1.1, 1.1, 1.1)
- mesh.TextureId = "http://www.roblox.com/asset/?id=31082268"
- 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://28937301"
- mesh.TextureId = "rbxassetid://28937670"
- mesh.Scale = Vector3.new(0.8, 0.8, 0.8)
- 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://28976727"
- s.Volume = 10
- s:Play()
- end
- end)
- end)
- spawn(function()
- while wait() do
- if banpart.Parent ~= workspace then
- banpart = Instance.new("Part", workspace)
- banpart.Size = Vector3.new(1, 1, 1)
- banpart.CanCollide = true
- mesh = Instance.new("SpecialMesh", banpart)
- mesh.MeshType = "FileMesh"
- mesh.MeshId = "rbxassetid://28937301"
- mesh.TextureId = "rbxassetid://28937670"
- mesh.Scale = Vector3.new(0.8, 0.8, 0.8)
- banpart.CFrame = bCFrame
- banpart.Velocity = bVel
- 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://28976727"
- s.Volume = 10
- s:Play()
- end
- end)
- else
- bCFrame = banpart.CFrame
- bVel = banpart.Velocity
- 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://1609256184"
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement