• Hey! Register here to create your account, engage with the community, and talk about what is new!

guys how should i make a climbing system

Pixlii

Active member
Joined
May 20, 2021
Messages
43
Reaction score
3
okay so i'm making CELESTE and i need to make a climbing system similar to how it's done ingame. how do you (as the community) advise i do this? i've tried disabling gravity and detecting when they move forwards/backwards, but that seems extremely convoluted and i wanna try something different.
 

grobulae

Moderator
Moderator
Joined
Sep 6, 2020
Messages
117
Reaction score
24
If you can pull it off, forwards/backwards movement to go up and down is hands down the best and most intuitive solution you could do, gameplay wise at least

but assuming you're looking for a simpler solution, it might end up being easier to replace the mechanic with something similar, but not 1:1? IE: slowly falling downwards passively, and being able to drag yourself up a little with an input?
 

Pixlii

Active member
Joined
May 20, 2021
Messages
43
Reaction score
3
If you can pull it off, forwards/backwards movement to go up and down is hands down the best and most intuitive solution you could do, gameplay wise at least
i do really want to create a system like that, but i'm not sure how to do it. i think the biggest problem arises in detecting forwards and backwards movement, as Player Event: Walk does not work as it only detects when the block that you're standing on changes, and i'm struggling to find another way to detect movement at all. riding entities are technically a viable solution but i know for a fact that those are both really janky and have severe input lag, which is undesirable but if it comes down to it i might have to
 

CheaterTim

Member
Overlord
Joined
Mar 11, 2022
Messages
38
Reaction score
6
what you mean by "check if the location changed"?

have a wait at the very start of the loop, at the end of your loop set a variable to the current location of the player
after the wait but before setting that variable check if the player location is different to the one in the variable, if it is, you know that between that tick the location of the player changed
 

PhoenixFire18

Forum adept
Overlord
Joined
Oct 28, 2020
Messages
179
Reaction score
30
have a wait at the very start of the loop, at the end of your loop set a variable to the current location of the player
after the wait but before setting that variable check if the player location is different to the one in the variable, if it is, you know that between that tick the location of the player changed
Don’t trust a cheater
 

Pixlii

Active member
Joined
May 20, 2021
Messages
43
Reaction score
3
have a wait at the very start of the loop, at the end of your loop set a variable to the current location of the player
after the wait but before setting that variable check if the player location is different to the one in the variable, if it is, you know that between that tick the location of the player changed
i actually tried that, for some reason it didn't work. at first i realized it was because of the up/down movement that happened when you climbed, but when i tried to patch that (by setting the variable to have the same y-value as your location), it didn't work. any suggestions?
 
Top Bottom