Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

[Quest] Help With Wall Jump?

Asked by 6 years ago
Edited 6 years ago

how can i make it so when player is near at top of a brick/part he can grab at top, tried to search on how to do it for so long but only way i can do is to make a another invisible part called grab or something but it will make the game laggy?

local UIS = game:GetService("UserInputService")
local Player = game.Players.LocalPlayer
local enabled = true
leg = 1
repeat wait() until Player.Character ~= nil
repeat wait() until Player.Character.Humanoid ~= nil
GonnaBeAWallJump = false
local Ignore = Player.Character

on = false

UIS.InputBegan:connect(function(input, gameProcessedEvent)
    if game.Players.LocalPlayer.Character:findFirstChild("Running") then return end   
    if game.Players.LocalPlayer.Character.Humanoid.Health < 25 then return end 
    if game.Players.LocalPlayer.Character.Humanoid.Jump == true and enabled == true then
        if input.KeyCode == Enum.KeyCode.Space and not gameProcessedEvent then
            enabled = false
            local ray = Ray.new(Player.Character.HumanoidRootPart.CFrame.p, Player.Character.HumanoidRootPart.CFrame.lookVector * 2,5,Player.Character)
            hit, pos, thes = game.Workspace:FindPartOnRay(ray, Ignore)
            if hit and hit.Parent ~= Player.Character and hit.ClassName ~= "Tool" and hit.Anchored and hit.CanCollide and hit.Transparency ~=  1 and not hit:findFirstChild("NoClimb") and hit.Name ~= "Water" then
                --print(hit.Name)
                --print(pos)
                --print(thes)
                local walljumpanim = Player.Character.Humanoid:LoadAnimation(script:FindFirstChild("walljumpanim"))
                walljumpanim:Play()
                dir = Player.Character.HumanoidRootPart.CFrame*CFrame.Angles(math.rad(-240),0,0)
                Player.Character.Torso.Velocity = Vector3.new(Player.Character.Torso.Velocity.X, 50, Player.Character.Torso.Velocity.Z)

                wait(.1)
            elseif hit.Name == "Grab" and on == false then
                --print(hit.Name)
                --print(pos)
                --print(thes)
                on = true
                local walljumpanim = Player.Character.Humanoid:LoadAnimation(script:FindFirstChild("grabattop"))
                walljumpanim:Play()
                --dir = Player.Character.HumanoidRootPart.CFrame*CFrame.Angles(math.rad(-120),0,0)
                Player.Character.Torso.Anchored = true

                wait(.1)
            end
            enabled = true
        end
        end
        if input.KeyCode == Enum.KeyCode.Space and not gameProcessedEvent and on == true then
            on = false
Player.Character.Anchored = false
wait(.01)
            Player.Character.Torso.Velocity = Vector3.new(Player.Character.Torso.Velocity.X, 85, Player.Character.Torso.Velocity.Z)
        end
end)




1
idk that looks very long for a parkour script TheluaBanana 946 — 6y
1
ok seeing as nobody has yet to help u ill try to figure out an answer TheluaBanana 946 — 6y

Answer this question