Modern MMORPG Locomotion System

Add New Actions

This is a short guide on how to add new actions/montages in MMLS. The most important thing to remember is the “Actions Blocked” boolean which is the master variable used to block other actions. It should be set to True for the duration of the montage/action.

Part 1

Check for Actions Blocked

1. Create a new event event running on server (reliable)

2. Get the “Actions Blocked” variable from the MovementComponent and set it to True if it is false currently.

Part 2

Get your montage

Shown here is the setup to get the weapon montages for MMLSE. Basically we check if the character has a weapon in hands and play either the weapon or unarmed montages (lower branch).
 
If you have your own inventory system you can replace the (Get CurrentHeldWeapon) with your master weapon blueprint. The “DummyWeapon” is MMLSE-only stuff for the dual-wield system.
 
As an example let’s say our action is picking up a flower. We would have our montages for picking up the flower with nothing in the hands(lower branch), and our montages for picking up our flower with a weapon in the hands.
 
The montage variables are added in the master weapon blueprints. The unarmed montages can be added anywhere. They are currently in the WeaponComponent.

 

Part 3

Before playing the montage

1. Unblock actions if the montage is not valid.

2. Stop turn in place if needed. Usually for a upperbody attack/action we stop full body turns.

 

Part 4

Multicast the montage and unblock actions when the montage is completed

You can also place this on the On Blend Out node instead of On Completed.

Example

To test our item pickup example

1) Create a new blueprint actor

2)Click “Add Component”, add a static mesh(just to see something in-game)

3) Add a box collision about twice the size of the item

4) Add setup shown

Here we call our new event on the server when the character steps on the item with the BoxBeginOverlap event. This will trigger the item pick-up montage.