This is my first post. I want to create stairs and ramps which are viewed from the side and can raise the character if they walk across them. Here are some examples from FF6. If you guys could give any advice or tips I will be very grateful. Thanks!
How Do I Create Stairs Effect (Side View)
● ARCHIVED · READ-ONLY
-
-
I've moved this thread to MV Support. Thank you.
MV Tutorials is for ones you've written yourself. -
I've never done stairs before, but I suppose it's not entirely impossible with event script.
I don't have a stairs graphic, so bare with me on this animated GIF example.

Event on every step a parallel process. It's just a lightweight boolean so don't worry about a ton of processes.
PHP:if($gamePlayer._realX === $gameMap._events[this._eventId]._x && $gamePlayer._realY === $gameMap._events[this._eventId]._y){ var dir = $gamePlayer._direction; if(Input.isPressed("up")||Input.isPressed("right")){ $gamePlayer._through = true; $gamePlayer._direction = 6; $gamePlayer.moveDiagonally(6,8); } if(Input.isPressed("down")||Input.isPressed("left")){ $gamePlayer._through = true; $gamePlayer._direction = 4; $gamePlayer.moveDiagonally(4,2); } $gamePlayer._through = false; }
The top and bottom step are different because you don't want to keep going up/down.
PHP:if($gamePlayer._realX === $gameMap._events[this._eventId]._x && $gamePlayer._realY === $gameMap._events[this._eventId]._y){ var dir = $gamePlayer._direction; if(Input.isPressed("up")||Input.isPressed("right")){ $gamePlayer._through = true; $gamePlayer._direction = 6; $gamePlayer.moveDiagonally(6,8); } // if(Input.isPressed("down")||Input.isPressed("left")){ // bottom step has this line removed // $gamePlayer._through = true; $gamePlayer._direction = 4; $gamePlayer.moveDiagonally(4,2); // } $gamePlayer._through = false; }
PHP:if($gamePlayer._realX === $gameMap._events[this._eventId]._x && $gamePlayer._realY === $gameMap._events[this._eventId]._y){ var dir = $gamePlayer._direction; // if(Input.isPressed("up")||Input.isPressed("right")){ // top step has this line removed // $gamePlayer._through = true; $gamePlayer._direction = 6; $gamePlayer.moveDiagonally(6,8); // } if(Input.isPressed("down")||Input.isPressed("left")){ $gamePlayer._through = true; $gamePlayer._direction = 4; $gamePlayer.moveDiagonally(4,2); } $gamePlayer._through = false; } -
do you want the movement to be automatic (if the player steps on one end of the stairs, he moves to the other end automatically) or manual (the player goes diagonally by pressing left/right)?
The first case can be evented, but the second case will require a plugin. -
I can probably make my event script into a plugin, if you want one?
It takes direction keys and goes up and down on direction key press just like a plugin as is. -
I've never done stairs before, but I suppose it's not entirely impossible with event script.
I don't have a stairs graphic, so bare with me on this animated GIF example.

Event on every step a parallel process. It's just a lightweight boolean so don't worry about a ton of processes.
PHP:if($gamePlayer._realX === $gameMap._events[this._eventId]._x && $gamePlayer._realY === $gameMap._events[this._eventId]._y){ var dir = $gamePlayer._direction; if(Input.isPressed("up")||Input.isPressed("right")){ $gamePlayer._through = true; $gamePlayer._direction = 6; $gamePlayer.moveDiagonally(6,8); } if(Input.isPressed("down")||Input.isPressed("left")){ $gamePlayer._through = true; $gamePlayer._direction = 4; $gamePlayer.moveDiagonally(4,2); } $gamePlayer._through = false; }
The top and bottom step are different because you don't want to keep going up/down.
PHP:if($gamePlayer._realX === $gameMap._events[this._eventId]._x && $gamePlayer._realY === $gameMap._events[this._eventId]._y){ var dir = $gamePlayer._direction; if(Input.isPressed("up")||Input.isPressed("right")){ $gamePlayer._through = true; $gamePlayer._direction = 6; $gamePlayer.moveDiagonally(6,8); } // if(Input.isPressed("down")||Input.isPressed("left")){ // bottom step has this line removed // $gamePlayer._through = true; $gamePlayer._direction = 4; $gamePlayer.moveDiagonally(4,2); // } $gamePlayer._through = false; }
PHP:if($gamePlayer._realX === $gameMap._events[this._eventId]._x && $gamePlayer._realY === $gameMap._events[this._eventId]._y){ var dir = $gamePlayer._direction; // if(Input.isPressed("up")||Input.isPressed("right")){ // top step has this line removed // $gamePlayer._through = true; $gamePlayer._direction = 6; $gamePlayer.moveDiagonally(6,8); // } if(Input.isPressed("down")||Input.isPressed("left")){ $gamePlayer._through = true; $gamePlayer._direction = 4; $gamePlayer.moveDiagonally(4,2); } $gamePlayer._through = false; }
Holy cow this worked perfectly, you are a genius! I appreciate you spending time to help me with this, it's exactly what I was trying to do. Thanks a bunch! -
SpoilerI've never done stairs before, but I suppose it's not entirely impossible with event script.
I don't have a stairs graphic, so bare with me on this animated GIF example.

Event on every step a parallel process. It's just a lightweight boolean so don't worry about a ton of processes.
PHP:if($gamePlayer._realX === $gameMap._events[this._eventId]._x && $gamePlayer._realY === $gameMap._events[this._eventId]._y){ var dir = $gamePlayer._direction; if(Input.isPressed("up")||Input.isPressed("right")){ $gamePlayer._through = true; $gamePlayer._direction = 6; $gamePlayer.moveDiagonally(6,8); } if(Input.isPressed("down")||Input.isPressed("left")){ $gamePlayer._through = true; $gamePlayer._direction = 4; $gamePlayer.moveDiagonally(4,2); } $gamePlayer._through = false; }
The top and bottom step are different because you don't want to keep going up/down.
PHP:if($gamePlayer._realX === $gameMap._events[this._eventId]._x && $gamePlayer._realY === $gameMap._events[this._eventId]._y){ var dir = $gamePlayer._direction; if(Input.isPressed("up")||Input.isPressed("right")){ $gamePlayer._through = true; $gamePlayer._direction = 6; $gamePlayer.moveDiagonally(6,8); } // if(Input.isPressed("down")||Input.isPressed("left")){ // bottom step has this line removed // $gamePlayer._through = true; $gamePlayer._direction = 4; $gamePlayer.moveDiagonally(4,2); // } $gamePlayer._through = false; }
PHP:if($gamePlayer._realX === $gameMap._events[this._eventId]._x && $gamePlayer._realY === $gameMap._events[this._eventId]._y){ var dir = $gamePlayer._direction; // if(Input.isPressed("up")||Input.isPressed("right")){ // top step has this line removed // $gamePlayer._through = true; $gamePlayer._direction = 6; $gamePlayer.moveDiagonally(6,8); // } if(Input.isPressed("down")||Input.isPressed("left")){ $gamePlayer._through = true; $gamePlayer._direction = 4; $gamePlayer.moveDiagonally(4,2); } $gamePlayer._through = false; }
Hi,
I'm really sorry for the necropost, but this script seems to be the only one working for sideway stairs in MV. I would make a new thread about the issue but the last ones created on the topic had no replies, thus I'm thinking this might be the solution.
I'm trying to edit the scripts given in this message to be able to look up and down instead of moving up and down when, you guessed right, up and down are pressed. It seems to be a simple edit but I wouldn't know how to code it, could someone please help me? -
you should still make a new thread of your own. Just provide a link to this one if necessary.
-
[necro]4rc4n3[/necro]