Gw Temp

Menu

Tutorial - 'Custom Movement' by GameMaster

An item about RPGMaker 2000 posted on

Blurb

Tired of moving in the same, boring way? Well, time to solve the problem!! Read up!

Body

et's face it; sometimes the standard movement controls just don't work... What do you do when you need to accomplish this? Why, make custom movement controls!!!

If you're making a really good ABS, you'll need to know how to do this.

So, what's so great about this? You must be saying you know how to do this and bla, bla, bla...
But is it fully compatible with everything else? What happens if you needed an enemy A.I? The way most make custom movement systems would never allow such things!
So this tutorial is for beginners and advanced users alike!

---To begin:
Go into the terrain tab in your database. You'll need to have at least 2. Each will have a name: 1=Unblocked, 2=Blocked.
Next, to the chipset tab. Using whatever chipset you want to use for the platform, mark every tile with the terrain numbers just created above. How? Click on the terrain button, then click on one of the terrains, then click on the tile, boom! It's now that kind of terrain.

Now, create a template map

-First Event-
Create one event, make this event an autostart, stick inside this event one command, break loop. THAT'S IT! Nothing else. What does this do? It stops your movement from happening, but continues everything else. Don't ask me why this works...

-Movement-
Now, make the next event. Call this event Movement, set it to a parallel process.
Okay, at the top, put label #1. Then, put wait 0.0 seconds.

Here, you put a fork, if a switch (hero moving) is ON, jump to label #1, end of the fork. Also note, if you had like a menu, put the same thing just that if the menu switch was on, or maybe it's an ABS, do the same except with the switch hero hit. What these do is make sure you can't move when you are hit and stuff like that.

Next, put an input process, check everything you want, but leave the wait until button pressed unchecked.

Now, a fork, if the variable input equals the button you want to for whatever movement... Inside the fork, enter what you wish from below...

-Moving any direction:
Memorize Hero Position into variables Hero X, Hero Y, and Map ID.
Change Variable:
--Hero X + 1 if moving right
--Hero X - 1 if moving left
--Hero Y + 1 if moving down
--Hero Y - 1 if moving up
--(For diagonal, change both variables)
Then, store terrain ID into a variable called Terrain ID.
A fork, if that variable is 1:
Move Event: Hero: Hero Moving Switch On, Move in the direction, Hero Moving Switch Off. Don't forget to check the ignore if can't be moved! End of the fork...
Jump to label # 1.

-Strafing
Do you want strafing? Do the EXACT same above, except for one different, the move event...
Do this instead:
Move Event: Hero: Hero Moving Switch On, Lock Facing, Move in the direction, Unlock facing, Hero Moving Switch Off.

-Turning
Going to the max eh? Yes, you can turn to! If you have a certain button just face a direction, all you have to put in the fork is this:
Move Event: Hero: Hero Moving Switch On, Face direction, Hero Moving Switch Off.
Jump to label #1.

Turning right is easy too! Just instead of the face direction, put turn 90* right or left, you can even have a turn around button!


And there you have it! Don’t let it stop there! You can program tons of other types of movement too!!!