Hm, lemme give you some advice... if you promise you don't kiss me
Giving us the project instead of the code is cool, however that means I can't check out the code as I don't have RMXP (still, providing a project in a case like this is kinda awesome...). That leaves me with testing the project, and of course I found some things you might want to fix... here's a snapshot:
That of course isn't a direct snapshot, but a stitched-together one of multiple screens. You can easily see how the distance between the character's feet and the bottom of the stairs tile differs in each step, which is either due to a silly y-adjustment of the player, or because you chose a silly height for the stairs tile. A quick checkup of the tileset tells me that you did a good job on the last part, meaning you messed up the actual code.
That's not really a problem, though, as you should go back to that one either way :grin: That is because your characters aren't taking steps, but more like get lifted up to a certain y level and then travel horizonally. What you need instead is either a straight diagonal movement (move them 1px up for 2px they travel horizontally) or have that first-up-then-ahead-movement done for each step (which would look hyper-cool and hasn't been done before, I think... and it's quite easy to figure out :p ). Personally, I'd like to fiddle with this on my own if I were you, so I just leave you with this for now - just post again if you need help on it
Last but not least, there's a flaw in your script design... the functionality of travelling diagonally is cool, but you limit the player's movements here - you can't walk straight north or south anymore when on the steps. I personally don't see the reason for that, as it shouldn't be any problem whatsoever...
As for bug checking, I'd check what the y-coordinates (tile-wise) are for the respective instances... I can imagine problems with that if you rape their y-values like that, and it might cause incompatibilities with other scripts.
Keep up the good work!