Authors: Vawser
This tutorial will explain how to add new interactable points to AC6 maps. These are places where the player can use the F key to start a 'connection' and after the connection is complete, something may occur. In vanilla, these are normally the ACCESS points that you interact with.
You will need the following tools:
Load the map you want to add the interaction point to.
To create a interaction point, you will need to create a new Enemy map object with these attributes:
Note, if the NpcParam row you used has the row 9994847 SpEffect already added within it, you can ignore the EMEVD instruction regarding it.
Assuming you have followed the previous instructions correctly, you should now see the interaction marker in-game.
You will likely want to tweak how the point is displayed, depending on what you are using it with. The key component here is the ActionButtonParam row, which determines how the marker appears and can be interacted with.
Fields of note;
You now have an interactable point, but now you need to add the logic that is executed after it is used. This is fairly simple. Load the EMEVD file for the map you have placed the interactable point in in DarkScript.
In the Event 0 function, place the following:
InitializeEvent(0, 3000, 0);
This will call the event with the ID of 3000, which we will create shortly.
Below the rest of the code, place the following:
Event(3000, Default, function() {
IfEnemyActionButton(MAIN, 0, 0, 275);
// Your own logic here
});
This will wait until the enemy map object with the Entity ID of 275 has been interacted with. This entity ID should be the same as the one you used early when setting up the enemy.
Note, the interaction script requires the 9994847 SpEffect to be present on the interaction map object for the interaction ESD script to work. By default the dummy marker NpcParam rows have this, but if you don't want to always allow usage of the interaction map object, for example if you want it to unlock after a specific point, you can add the SpEffect yourself in EMEVD, allowing you to control when the interaction point appears.
It would look like this:
SetSpEffect(275, 9994847);
This tutorial covers the basic implementation details for adding in a new interaction point. However, the full extent of what you can do is much more, and is up to you to discover.