Jump to content
TheeWARIO

Slowing Movement Speed over tiles?

Recommended Posts

Like what the title says, I'm trying to make certain tiles (picking and choosing which one) slow the movement speed of the sprite.

 

But everything I try doesn’t seem to work (pretty much I was shadow boxing).

So what are the steps I need to do to make certain tiles the sprite steps on slow his movement speed?

And of course once he walks off the tile his speed goes back to normal.

Edited by TheeWARIO

Share this post


Link to post
Share on other sites

Have you tried making a common event that basically does the following?:

 

Varaible 1 == players X

Variable 2 == players Y

get location info for Variable 3 (region ID/ Tileset ID) : variable 1, variable 2.

Conditional branch : if variable 3 == (region ID / Tileset ID)

Set move Route : player (decrease move speed)

         Otherwise

Set move route : player (set move speed back to normal).

 

 

 

I've never tried to adjust the players move speed before, so I'm not sure if "set move route" accomplishes this or not.

Share this post


Link to post
Share on other sites

Have you tried making a common event that basically does the following?:

 

Varaible 1 == players X

Variable 2 == players Y

get location info for Variable 3 (region ID/ Tileset ID) : variable 1, variable 2.

Conditional branch : if variable 3 == (region ID / Tileset ID)

Set move Route : player (decrease move speed)

         Otherwise

Set move route : player (set move speed back to normal).

 

 

 

I've never tried to adjust the players move speed before, so I'm not sure if "set move route" accomplishes this or not.

 

yes I have been messing with the events infact that was the only thing I could think of using. The events are where I been trying anything I could think of or what it offers. The problem is I'm not sure I'm setting it up right. Everything I have tried has failed -_-  but more so as I think I'm not setting it right. I have only been playing RPG Maker ace for a month or so.

 

'''''Varaible 1 == players X

Variable 2 == players Y

get location info for Variable 3 (region ID/ Tileset ID) : variable 1, variable 2.

Conditional branch : if variable 3 == (region ID / Tileset ID)'''''''

 

@_@ you are flying over my head with the hole varaibles xy 123, region ID, tileset ID, do you have a video to show & explain it?

 

''''Set move Route : player (decrease move speed)'''''

 

Yes I did find the move Rout and messed around with decreaseing the move speed on it but it still didn't work or again I'm not setting something right.

Edited by TheeWARIO

Share this post


Link to post
Share on other sites

StrayBalloon, Conditional Branches don't check for Region ID.

 

One way to work it is to set Move Route events changing speed set to Below Characters/Player Touch around the affected terrain.  Line the inside edge with the slow down route, and the outside edge with the route returning speed to normal.
This is an extremely clumsy method, especially if you have large areas to cover.  There has to be a better way even without turning to scripting.

Edited by Pryde

Share this post


Link to post
Share on other sites

StrayBalloon, Conditional Branches don't check for Region ID.

 

One way to work it is to set Move Route events changing speed set to Below Characters/Player Touch around the affected terrain.  Line the inside edge with the slow down route, and the outside edge with the route returning speed to normal.

This is an extremely clumsy method, especially if you have large areas to cover.  There has to be a better way even without turning to scripting.

 

well after 20minutes of "loading loading loading" I can finally reply (at parents house with internet soo slow it can make me cry).

 

I did what you said, I even made a new blank map to make sure nothing would get in the way (just in case).

 

So I made an event on a tile and "set Move Route events changing speed", "Below Characters", and "Player Touch" pressed ok copied and paste it to make about 10 squares to test it on.

 

First try.....nothing -_- ....nothing changed so a sitteth & pondered on what I was doing wrong. Reading and rereading the post which I had copied over to a notepad.

 

So I tried something a little different (which is most likely a noob mistake to began with); When I would "set the Move Route speed" I always did so on the lower left side of the "Edit Event" in the small box called "Autonomous Movement" for it says Move Route right below Type/Fixed well that was not the right "Move Route" I needed to change.

 

I never had anything on the right side of Edit Event in the big white box called "Contents" and this was the problem. For me to set to movement speed I need it to say so in the "Contents" by either double clicking the white space or right clicking the @> ; then the "Event Commands" shows up, from there I set move route pressed ok copy & paste about 10 of them, went to test it and it worked!!!

 

Thanks for all the help everyone problem has been solved and I'm good to go (fooooor nooow "SE devil1"---> Mwahahahaha)

 

BUT as you said: "This is an extremely clumsy method, especially if you have large areas to cover. There has to be a better way even without turning to scripting."

Edited by TheeWARIO

Share this post


Link to post
Share on other sites

Here's a tip that will save you a lot of hairpulling later.  In Move Route, even in the Autonomous box (I think) above the command box is a little drop-down menu cued by an arrow.  This will let you select which event on that map that you're Routing.  When you have things like cutscenes with multiple characters, this lets you control the movements of all characters from a single event rather then trying to break it up between each character's event, which is sure to cause problems.  :)

Share this post


Link to post
Share on other sites

Here's a tip that will save you a lot of hairpulling later.  In Move Route, even in the Autonomous box (I think) above the command box is a little drop-down menu cued by an arrow.  This will let you select which event on that map that you're Routing.  When you have things like cutscenes with multiple characters, this lets you control the movements of all characters from a single event rather then trying to break it up between each character's event, which is sure to cause problems.   :)

 

so far everything worked great the only thing I have noticed is that there is a slight......not sure how to explain but a kinda glitch/spike everytime I would walk over or even near any of them.

Edited by TheeWARIO

Share this post


Link to post
Share on other sites

StrayBalloon, Conditional Branches don't check for Region ID.

 

 

It's not a feature that you can check a box for, but it can be done.

 

The command "get location info" will accept other variables as coordinates (X,Y) and then create yet another variable which will be the value of the respective ID. So through this process you create a variable that can be used to check for the region or tile ID's.

 

Here's an example using:

Variable 1 as players X

Variable 2 as players Y

Variable 7 as Region ID

And the Region ID that will cause the slow effect is 1.

 

So it all boils down to a conditional statement that asks, "does variable 7 equal 1?"

post-53178-0-66981600-1429545932_thumb.png

Share this post


Link to post
Share on other sites

 

 

It's not a feature that you can check a box for, but it can be done.

 

The command "get location info" will accept other variables as coordinates (X,Y) and then create yet another variable which will be the value of the respective ID. So through this process you create a variable that can be used to check for the region or tile ID's.

 

Here's an example using:

Variable 1 as players X

Variable 2 as players Y

Variable 7 as Region ID

And the Region ID that will cause the slow effect is 1.

 

So it all boils down to a conditional statement that asks, "does variable 7 equal 1?"

 

 

I will be sure to try this out and see how it works.

Edited by TheeWARIO

Share this post


Link to post
Share on other sites

 

 

 

It's not a feature that you can check a box for, but it can be done.

 

The command "get location info" will accept other variables as coordinates (X,Y) and then create yet another variable which will be the value of the respective ID. So through this process you create a variable that can be used to check for the region or tile ID's.

 

Here's an example using:

Variable 1 as players X

Variable 2 as players Y

Variable 7 as Region ID

And the Region ID that will cause the slow effect is 1.

 

So it all boils down to a conditional statement that asks, "does variable 7 equal 1?"

 

 

I will be sure to try this out and see how it works.

 

 

The advantage to doing it this way would be if you have numerous things that will slow the player down, you don't have to create an event for every single instance it could occur on a map. Just mark the areas with a region ID number and have the common event do its thing.

 

But if you wanted to use the other method that Pryde is guiding you on, I think I might know what your hiccup is. When the actor steps on a "player touch" or "event touch" triggering event, all other commands and inputs stop until the triggered event has finished running it's commands. This will cause the player to abruptly stop moving, and then continue onwards at the specified speed (faster or slower).

 

"Parallel process" will run a string of commands without stopping anything that's happening in game. But you have to set up the running command in such a way that it doesn't cause lag in the game because it will run these commands over and over without end (unless Erase Event is part of the running commands).

 

So you'd have to create a parallel process that would beget another parallel process that would then change the actors movement speed. But because I'm too lazy to recreate this process for you I'm just gonna use call scripts to combine the functionality of a "player touch" or "event touch" event with a "parallel process" event.

 

Start by making a conditional branch, go to the fourth tab and check "script" as your conditional check. Copy and paste the following inside the script field:

 

$game_map.events[@event_id].x == $game_player.x && $game_map.events[@event_id].y == $game_player.y

 

The script is asking the question, "is the player standing on me?" So you can adjust the players speed to whatever you want when the condition is true, and it should be lag free.

post-53178-0-05401300-1429559645_thumb.png

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×