Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --https://github.com/Mokiros/roblox-FE-compatibility
- if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
- local Player,Mouse,mouse,UserInputService,ContextActionService = owner
- local RealPlayer = Player
- do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
- ---------------------------------
- -----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 big dum"
- 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