you will have to write your own z_top() function that matches your instance position. Likely the issue is that you are overlapping the slope when checking its height and it is too tall at that point to walk up it.
frothzon
Creator of
Recent community posts
I see what the issue is, when we are calling z_top() it is not referencing the "other" object correctly and is checking against itself. I will modify the code so this cannot happen. It is weird that it is not occuring in the example project -- so it must be a bug caused by instance creation order. [UPDATE: I uploaded new versions of the source code that should resolve the issue -- I was able to import only the scripts from the YYMPS to replace the old ones and was able to validate it works]
are you trying to push a block up a ramp? "_player.position.z_height = lerp(_z1, _z2, _ds)" is going to change the collission cross section of the player. If you want I can extend the tutorial this weekend for pushable blocks. Just let me know what you are looking for and I can try to address it specifically.
do it like this (make sure you delete path when done with it):
var path_array = ap_grid_path_array(obj_tester.grid, x, y, mouse_x, mouse_y);
path = path_add();
for(var i = 0; i < array_length(path_array); i++){
var point = path_array[i];
path_add_point(path, point[0], point[1], 1);
}
path_start(path, 3, path_action_stop, 0);
You might want to make z step equal to the absolute value of speed + 1 (speed on x/y axis only). Then, the further (i.e. faster) you step into the slope, the higher the step the player can take. Keep in mind that this could allow the player to climb on anything if their speed exceeds the height of the object.






























