-
Notifications
You must be signed in to change notification settings - Fork 60
Triggernometry Support for Paisley Park
This page will teach you how to place dynamic waymarks in encounters using Triggernometry. You still need to figure out how you're calculating these positions on your own, but this will teach you how to get them to place in game.
- ACT with FFXIV plugin support.
- Latest Triggernometry Plugin
- Paisley Park
To ensure you can get up and running, you need to have Paisley Park running. Under the settings section, you should see the Port
field, along with buttons for Start
and Stop
and a checkbox. The port field defaults to 1337
, this is for the HTTP server that's created by Paisley Park. You normally shouldn't need to change this unless something else on your computer is using this port. If the port is already in use, just change it to another number.
To start the server, just click on the Start
button. If for any reason you wish to stop the server, click on the Stop
button. To allow the server to start each time you load up Paisley Park, just enable the checkbox.
I'm going to create a basic trigger example to get you started. It's up to you to take this information and create your own triggers from it.
First, create a new trigger in Triggernometry by clicking Add
and then Trigger
.
Next, you'll want to give your trigger a name. For this example, I'm using "Test". You'll also need a Regular Expression
which is how the trigger will fire. In this case, I've typed "You wave." which means whenever I use the wave emote, my trigger will fire.
Now, we can add a new action by clicking on the Add action
button. This will bring up a window with different action types to select from. We want to select Generic JSON operation
to send our waymark data to Paisley Park. There are only two fields here that are necessary: Endpoint URL
and the Payload to send
fields.
For the Endpoint URL
, we want to specify Paisley Park's host. To do that, we just need to type http://localhost:1337/place
. The localhost
part means that this is running on your computer. The 1337
part is the port we specified in Paisley Park. If you are using a different port, make sure you reflect that here in the URL. The last part is /place
which is just the path for placing waymarks. Currently, this is the only endpoint, but more may be added in the future.
Now for the payload. This is where things might get a little confusing if you're not familiar with JSON. To put it simply, JSON is just a way of expressing data. We need to send data about what waymarks we want to send to Paisley Park so they can be placed in game. To learn a little more about the presets and JSON, you can visit the wiki page here.
{
"A":{"X":-94.0994644,"Y":8.0,"Z":-49.0615,"ID":0,"Active":true},
"B":{"X":-95.66961,"Y":8.0,"Z":-46.9789124,"ID":1,"Active":true},
"D":{"X":-92.63963,"Y":7.999999,"Z":-51.27273,"ID":3,"Active":true}
}
Here is an example JSON payload for placing down the waymarks "A", "B" and "D" (created in The Goblet). I've spaced it out a bit so you can better understand it. A good starting point if you don't know how to create your own JSON object from scratch, is to export a preset and to modify it from there. You don't need to send "MapID" or "Name". Each of the waymarks is separated by a comma as you can see here.
It's important to note that you do not need to send each waymark when sending a payload like this. If you only want to update the positions for "A", "B" and "D" like I did, you only need to specify them. Similarly, if you want to turn off waymarks, you can also send something like this:
{ "C": { "Active": false } }
This will turn "C" waymark off entirely.
Now, we can click Test action
or go ahead and click Add
and Save Changes
to finish creating the trigger. Now, when you wave in game, you'll place down some waymarks!
As you can see, placing waymarks with Triggernometry is easy! For users who understand how to create complex triggers, this should be a breeze for you. If you'd like to see new functionality for Paisley Park's HTTP requests, please feel free to create a new Issue and explain what you'd like to see.