Event-driven trigger + recording system for FFXIV

Related tags

GUI event-trigger
Overview

Triggevent

Fully event driven trigger + overlay system for FFXIV.

Makes triggers easier to develop and test.

Allows triggers to have custom configuration GUIs and overlays.

For the technical explanation of why I made this, see Why.

How to Download/Install

READ THIS: See Installation

Short version: Install Overlayplugin in your ACT, then start OverlayPlugin WSServer from within ACT.

Features

General

Easy access to combtants and events data

Overview

Makes it easier to create and test reliable, extensible overlays and triggers

Jail Plugin

Multi Target DoT Tracker

Dot Tracker

It even combines multiple targets with the same DoT + similar duration into one row.

CD Tracker

CD Tracker

Shows remaining cooldown and active time.

Replay Support

You can import a previous session, or an ACT log. You can even force-on overlays to see what your overlays would have looked like at that point.

To open a replay, simple run triggevent-import.exe instead of triggevent.exe, and then choose a file.

Replay

Future Features

See Feature Ideas for what I plan to implement down the line.

Comments
  • Customised timelines dont work properly

    Customised timelines dont work properly

    Hi ive been trying to edit timelines to show my mitigation but the timelines dont show reliably and sometimes just stop midfight

    here's the triggevent log and act log triggevent.log Network_26606_20220927.log

    opened by ligmalominsa 8
  • Cooldown Tracker Extension

    Cooldown Tracker Extension

    Recently came across this and actually like the cooldown tracker, especially for charged actions. Since the cooldown list seems to be missing a few sets of actions, would it be possible to add those manually in future?

    Additionally, I was wondering if it would be considered to add sound files to play as alternative to TTS callouts for DoT/Cooldown tracker callouts. I'd love to swap from other trackers to this since due to the visuals, but would prefer sounds over TTS.

    SR

    opened by shinyrukii 7
  • Selectively enable TTS for fights/callouts

    Selectively enable TTS for fights/callouts

    Right now TTS is enabled globally, and then callouts can be disabled individually. If I want TTS for only one mechanic in a fight, I currently need to enable TTS globally and then disable all other callouts one by one, including any additional fights for which I might use triggevent. It would be nice if there was an option to disable individual TTS callouts by default so that they could be selectively enabled instead.

    opened by RoarkGit 6
  • Timeline customization should support job-specific timelines

    Timeline customization should support job-specific timelines

    I like the ease of use of timeline customization. It is slightly lacking if someone raids on multiple jobs, however. For example, if I raid as a tank I might want to include my own mitigations in the timeline, and if I raid as a healer I might want to put big cooldowns or group mits on the timeline. Having both on one timeline leads to clutter.

    opened by RoarkGit 6
  • LICENSE

    LICENSE

    If you are including cactbot files directly into event-trigger, then it is at least redistributing cactbot if not also a derivative work, and thus is not being licensed properly. https://github.com/quisquous/cactbot/blob/main/LICENSE

    opened by quisquous 4
  • Is it possible to change the text cardinal, intercardinal on triggers?

    Is it possible to change the text cardinal, intercardinal on triggers?

    I'm a user from korea and I'm using callout triggers by changing the callout text to korean. Changing the Arena Position text function is very useful(like changing it to 1,2,3,4,A,B,C,D). But I can not change some values like cardinal, intercardinal on P8S 1P. Is there a way to change these text?

    enhancement 
    opened by dambyul 4
  • Timelines only work in English

    Timelines only work in English

    Im not sure if i have done anything wrong with it but im a little bit confsued.

    I testet this app and it looks like it runs even with WSS. it connects fine. HP and stuff will be shown correctly but if i start a fight like e12s the timeline will not be shown infight.

    if i i enable "show pre pull" it will be shown, but it dont runs. (lines stand still and show nothing)

    i have startet act and trigg as admin and normal and mixed. nothing helps.

    Edit: maybe it doesnt support any other language then english? because i use a german client

    bug 
    opened by Lusaca87 4
  • Passing Regex Capturing Groups to TTS

    Passing Regex Capturing Groups to TTS

    Hi, I was recreating some triggers in Triggevent and noticed that several which attempted to pass regex capturing groups to the TTS were not working as expected. I know that this could likely be worked around with groovy (or maybe some different syntax?) but thought I would request this as a feature. My reasoning for this is that Triggevent allows for legacy ACT triggers to be imported into Easy Triggers but doesn't appear to support this functionality that legacy triggers do by default.

    As an example of what I mean, a legacy ACT trigger with the following setup will say "Pull in 15" when a 15 seconds countdown (/cd 15) is started ingame:

    Regex: Battle commencing in (?<time>\d+) seconds! TTS: Pull in ${time}

    Apologies in advance if this is already possible and thanks for the great plugin.

    enhancement 
    opened by natyusha 3
  • using automarker in easy triggers or somewhere else

    using automarker in easy triggers or somewhere else

    Hello, I'm using this addon when doing DSR. I want to make triggers that can use automarkers (like in jail plugin). is there a way that I can use automarkers in some other triggers?

    Thank you!

    opened by dambyul 3
  • Skip to next matching log line

    Skip to next matching log line

    Could you implement a feature that skips to (or x before) a log line matching a trigger or matching a regex?

    That would be super helpful to watch combatants change and determine timings.

    opened by amki 3
  • Triggerevent won't start

    Triggerevent won't start

    Followed the installation instructions like I did before but now I am getting the follwoing error

    You should report this as a bug and include log files in C:\Users\Shanur Islam\AppData\Roaming\triggevent as well as this error message.

    You can also try moving/renaming the properties files in that directory to see if this error is being caused by a problem with your settings.

    java.lang.NoSuchMethodError: 'gg.xp.xivsupport.persistence.PropertiesFilePersistenceProvider gg.xp.xivsupport.persistence.PropertiesFilePersistenceProvider.inUserDataFolder(java.lang.String)' at gg.xp.xivsupport.sys.XivMain.masterInit(XivMain.java:125) at gg.xp.xivsupport.gui.GuiMain.lambda$main$0(GuiMain.java:129) at gg.xp.xivsupport.gui.util.CatchFatalError.run(CatchFatalError.java:22) at gg.xp.xivsupport.gui.GuiMain.main(GuiMain.java:125) at gg.xp.xivsupport.gui.GuiLaunch.main(GuiLaunch.java:8)

    Can't even start treggerevent triggevent.log

    opened by AlkaidG 2
  • Feature: Split tabs onto new windows

    Feature: Split tabs onto new windows

    Two separate features here:

    1. Ability to split a tab off from the main window into a secondary window.
    2. Ability to open another "copy" of certain tabs. Should be doable with events and such.
    opened by xpdota 1
  • No groovy support for Java 18+

    No groovy support for Java 18+

    Java SE 19 installed triggevent-upd executed ACt with the new overlay is updated Dalamund + telesto installed (not sure if it is needed for this)

    has been working for the last few weeks.

    Appears to be throwing an error when entities like topaz stone spawn. tried master and combined-updates branches

    let me know if I need to gather any other info.

    bug 
    opened by nil2share 6
  • Extended uptime exaflares

    Extended uptime exaflares

    Customizable uptime exaflares. Probably will not merge until me or someone else has time to test extensively.

    Current uptime exaflares is the prefer-south strat, where you always dodge into the south exaflare first unless it is impossible to maintain uptime, at which point it will tell you to plant in the safe exaflare instead. This PR gives you a customizable priority list, allowing you to pick your own preferences in terms of which movement it will call out if there is more than one possible solution (e.g. you can prioritize NW and NE plants over S non-plant).

    opened by xpdota 0
Releases(v1.0-8)
  • v1.0-8(Sep 13, 2022)

  • v1.0-7(Jul 22, 2022)

  • v1.0-act(Apr 19, 2022)

    REMINDER: RUN THE UPDATER AFTER INSTALLING

    These downloads are only posted when there is an update to the updater/launcher itself.

    There is now an ACT plugin available which will automatically start Triggevent when you start ACT.

    To use it, simply add Triggevent_Stub.dll to your ACT plugins list. Make sure it is further down in the list than OverlayPlugin. It updates through the same updater as the rest of the program. In fact, you don't even need to re-download it, just run the updater, and the file should appear in your existing installation.

    REMINDER: RUN THE UPDATER AFTER INSTALLING

    Source code(tar.gz)
    Source code(zip)
    triggevent-win-byoj.zip(47.32 MB)
    triggevent-win.zip(176.38 MB)
  • v1.0-6(Mar 18, 2022)

    Tweaked some things in the launcher to hopefully reduce false positives overly sensitive anti-viruses.

    Technical Details

    The false positives appear to come from overzealous machine learning matching. On Windows's built-in AV, this is easy to see - the hit will have "ml" at the end of it: image What this means is that it isn't a concrete match, but rather, the machine learning is just making an educated guess. Unfortunately, these guesses are often wrong.

    The exe files contain almost no code - they are generated by launch4j, and merely check if you have a usable Java install (or the bundled one) and then launch it. The updater is the only executable that contains more than that - it has a single jar file bundled into the exe.

    Source code(tar.gz)
    Source code(zip)
    triggevent-win-byoj.zip(45.39 MB)
    triggevent-win.zip(174.45 MB)
  • v1.0-5(Mar 6, 2022)

    The updater ~~is now sentient~~ can update itself now, so you shouldn't need to ever download anything manually again, not even launcher updates. This update can be applied via the existing version of the updater. Going forward, you should avoid running the updater manually, and instead always run it through the Advanced > Updates tab, as this is the only way to update the updater itself.

    However, attached is a fresh copy of the whole thing just in case an update broke your updater at any point.

    Source code(tar.gz)
    Source code(zip)
    triggevent-win-byoj.zip(49.85 MB)
    triggevent-win.zip(178.91 MB)
  • v1.0-4(Mar 3, 2022)

  • v1.0-3(Jan 13, 2022)

    This updated launcher allows you to customize the JVM command line to tune memory settings and other things that can only be set before startup. The defaults have also been tweaked a bit. This is the only part that requires you to update the launcher.

    image

    There is also a toggle to garbage collect on wipe (enabled by default) which should also help with memory issues. Finally, the "Dump Heap" button will perform a heap dump, which you can attach when reporting issues regarding memory usage:

    image

    If you have not had memory issues, you probably don't need to download this. The updater will continue to work normally. I also put in some memory-related fixes and optimizations, so those issues may be fixed anyway.

    Source code(tar.gz)
    Source code(zip)
    triggevent-win-byoj.zip(39.42 MB)
    triggevent-win.zip(168.48 MB)
  • v1.0-2(Jan 5, 2022)

  • v1.0(Dec 25, 2021)

    Finally, an actual release!

    There's not that much new, but there's an updater now. Close the program, then run triggevent-upd.exe. After you run it once, it will make a new file called update.properties, with a single property, branch. You can change this to any branch on this project. By default it is 'stable', giving you releases that should be stable. You can also use 'alpha', which will be roughly like how it was before, or 'master' if you want things as soon as they are merged (things might break). The updater doubles as an integrity check for everything except the launcher/updater itself, so it will also repair any corrupted or missing files (and deleting any extraneous files in the deps/ folder - make a 'user' folder if you have extra jars you want to add).

    This should be the last time you'll need to download something manually from this page - unless there's something major I have to change in the updater itself,

    I have also added a few more cooldowns.

    If you enjoy using this, please share it with some friends! Simply spreading the word is the best way you can support me, as there is not a great place to share new projects like this.

    Source code(tar.gz)
    Source code(zip)
    triggevent-win-byoj.zip(39.27 MB)
    triggevent-win.zip(168.32 MB)
  • alpha-10(Dec 22, 2021)

  • alpha-9(Dec 21, 2021)

  • alpha-7(Dec 20, 2021)

    Huge release!

    Replay Support

    image

    You can open a previous session (if you have the "save to disk" option enabled), or an ACT log file. You can even force-enable overlays to see what they would have looked like. Note that currently, the replay mode does not have persistent settings.

    CD Tracker

    There are two CD overlays, one for personal and one for party. They have separate tabs to pick which cooldowns you want tracked in each one. The personal CD tracker will only track abilities/buffs cast by you, while the party version is filtered to party members.

    image

    It displays green for "Ready", red for recharging, or blue for active. When the buff is still active, the remaining duration is displayed.

    Party overlay

    There is also a party overlay. It is fairly incomplete, so it isn't quite ready to replace the in-game party UI.

    image

    When viewing a replay, it will even show unresolved damage as a red bar (seen here on the WAR).

    Unfortunately, there isn't a rewind yet - the replay can only go forward, but it's a start. To advance through the replay, enter a number of events to replay at a time in the box at the top of the window, then click "Advance".

    Overlay Management

    Finally, there is an actual tab for managing overlays:

    image

    At the top, there are options are to show/hide all overlays, enter edit mode to allow you to drag overlays around (drag the border, not the contents, or mousewheel on the border to change scale), and adjust the opacity of each overlay.

    Source code(tar.gz)
    Source code(zip)
    triggevent-win-byoj.zip(39.04 MB)
    triggevent-win.zip(168.10 MB)
  • alpha-6(Dec 12, 2021)

  • alpha-5(Dec 7, 2021)

    Support for SGE and RPR.

    I think DoTs are updated but might be missing some. Haven't bothered much with CDs. DoTs is now DoTs and self-buffs, as I've added WAR and SAM self-buffs to it (i.e. it's for all things you'd want 100% uptime on instead of just dots).

    As usual, there are two zips you can download - the larger one has an appropriate Java version bundled, the smaller one will direct you to the download page if you do not have one installed already.

    Source code(tar.gz)
    Source code(zip)
    triggevent-win-byoj.zip(34.31 MB)
    triggevent-win.zip(168.74 MB)
  • alpha-4(Dec 2, 2021)

    Fixed issues affecting on-disk event storage. Just a bugfix.

    You can help out by submitting replays. To do so, just do the following:

    image

    Then, restart the app or restart ACT.

    The session files are in %appdata%\triggevent\sessions. Each session has a folder, with session.oos.gz inside of it. Just upload this along with any comments you might have (things not working, triggers you'd like to see, etc).

    These files are like ACT logs, but not quite the same. They contain everything from the ACT websocket, including combatants and zone info.

    Source code(tar.gz)
    Source code(zip)
    triggevent-win-byoj.zip(31.77 MB)
    triggevent-win.zip(166.20 MB)
  • alpha-3(Dec 1, 2021)

    Overlay support is now pretty good.

    As before, use '/e c:overlay:show' to show, '/e c:overlay:edit' to move them around by dragging the pink borders, AND now you can use the scroll wheel to make each individual overlay larger or smaller.

    There is a cooldown tracker (much like the dot tracker), but I need to add the rest of the cooldowns to it, and also associate buff IDs to ability IDs (this is done server-side, there is no quick list of these).

    While the buff is active, it shows a blue bar and counts down the remaining duration:

    image

    After the buff expires, it shows a red bar with the remaining cooldown time:

    image

    Finally, when it is ready again, you see a green bar:

    image

    I have also added the high-res icons for abilities and buffs.

    There is also some beginning of support for adding third-party triggers and such. You can throw them in the deps/ folder for now if you have any (or want to make your own);

    image

    If you are developing, you'll notice the entire package structure has changed. The launcher now has its own 'launcher' module, and the builtin non-essential triggers are in the 'triggers' module.

    Source code(tar.gz)
    Source code(zip)
    triggevent-win-byoj.zip(31.77 MB)
    triggevent-win.zip(166.20 MB)
  • alpha-2(Nov 22, 2021)

    Lots of new stuff

    There are now two release files: triggevent-win.zip, which includes a suitable Java version to get you up and running quickly, and the -byoj version which will send you to the download page if a suitable Java version isn't already installed.

    This requires ACT and OverlayPlugin. You will need to enable OverlayPlugin websocket (ACT -> Plugins -> OverlayPlugin WSServer -> Stream/Local Overlay -> Click Start button).

    To check if it's working, do /e c:tts in-game.

    There's not much here yet, but the UI is a lot better than before. There's also support for custom GUIs, both for plugin configuration, and in-game overlays. You can check out the jail plugin and dot timer plugins as examples, under the "Plugin Settings" tab. The in-game overlay support is off by default, but you can use these commands to try it out:

    /e c:overlay:show
    /e c:overlay:edit (lets you drag around and click)
    /e c:overlay:lock (stop editing, click-through enabled)
    /e c:overlay:setallopacity 0.6 (make overlay semi-transparent)
    /e c:overlay:hide ("edit" takes precedence, so lock before hiding)
    

    This certainly won't be replacing trigg/cact any time soon, but at least you no longer have to deal with flaky jail plugins anymore.

    image

    image

    Source code(tar.gz)
    Source code(zip)
    triggevent-win-byoj.zip(17.88 MB)
    triggevent-win.zip(152.31 MB)
Owner
null
Reactive JavaFX Event Handling

ReactorFX This lightweight convenience library allows for simple integration between Project Reactor and JavaFX. ReactorFX provides fluent factories t

Jake 33 Dec 30, 2022
Reactive event streams, observable values and more for JavaFX.

ReactFX ReactFX is an exploration of (functional) reactive programming techniques for JavaFX. These techniques usually result in more concise code, le

Tomas Mikula 360 Dec 28, 2022
Composable event handlers and skin scaffolding for JavaFX controls.

This project is no longer being maintained. See this issue for more details. WellBehavedFX This project provides a better mechanism for defining and o

null 52 Oct 9, 2022
This app displays the perceived strength of a single earthquake event based on the DYFI indicator.

This app displays the perceived strength of a single earthquake event based on the DYFI indicator. Used in a Udacity course in the Android Basics Nanodegree.

Ezaz Ahammad 1 Jan 23, 2022
The open Transportation Control System

openTCS Homepage: https://www.opentcs.org/ Changelog: changelog.adoc openTCS (short for open Transportation Control System) is a free platform for con

openTCS 158 Jan 8, 2023
Lobby System Template for a multiplayer java game, with chat and other features, using JavaFX and socket TCP (will be extended to UDP).

JavaFX-MultiplayerLobbySystem JavaFX lobby system for multiplayer games with chat, ready toggle and kick buttons, using socket TCP by default. Demo Cr

Michele Righi 7 May 8, 2022
InstallRepos - Install GitHub Repository on any Operating System (Linux, MacOS or Windows).

Install Repos Install GitHub Repository on any Operating System (Linux, MacOS or Windows). Requires Java JRE 17.0.0.1 or later. Repository Includes: s

Tushar Chaurasia 2 Apr 21, 2022
A hotel management system desktop application, built with java SWT/Swing

A hotel management system desktop application, built with java SWT/Swing, with tabs to manage bookings, rooms, customers, payments, cancellations, hotel inventory orders, catering and a plan to visualize all the reservations for the month.

null 1 Jan 12, 2022
Automated door opening system w/GUIs programmed in Java and Arduino

The Automated Door Opening System is a major project created in both Java and Arduino for a first year Engineering course. This project is an iteration of my MATLAB version of this project.

Crasher1225 3 Jan 28, 2022
Evgeniy Khyst 54 Dec 28, 2022
Powerful event-bus optimized for high throughput in multi-threaded applications. Features: Sync and Async event publication, weak/strong references, event filtering, annotation driven

MBassador MBassador is a light-weight, high-performance event bus implementing the publish subscribe pattern. It is designed for ease of use and aims

Benjamin Diedrichsen 930 Jan 6, 2023
PostgreSQL is the world's most advanced open source database. Also, PostgreSQL is suitable for Event Sourcing. This repository provides a sample of event sourced system that uses PostgreSQL as event store.

Event Sourcing with PostgreSQL Introduction Example Domain Event Sourcing and CQRS 101 State-Oriented Persistence Event Sourcing CQRS Advantages of CQ

Evgeniy Khyst 146 Dec 20, 2022
EventStoreDB is the database for Event Sourcing. This repository provides a sample of event sourced system that uses EventStoreDB as event store.

Event Sourcing with EventStoreDB Introduction Example Domain Event Sourcing and CQRS 101 State-Oriented Persistence Event Sourcing CQRS Advantages of

Evgeniy Khyst 53 Dec 15, 2022
Microservices project with CQRS, Event sourcing and Event-driven design.

for more details about the project, please check the attached pdf document "Walkthrough_SpringBoot_Microservices_Project" To Run the project : downloa

null 2 Jan 31, 2022
Detect if the system is recording, mirroring, or using AirPlay to stream the contents of the screen.

react-native-is-screen-captured-ios Detect if the system is recording, mirroring, or using AirPlay to stream the contents of the screen. https://devel

Dylan 20 Dec 30, 2022
An example on how to build a configurable widget to trigger external searches along with Liferay search to Elasticsearch.

Liferay External Searches An example on how to build a configurable widget to trigger external searches along with Liferay search to Elasticsearch. Ge

Louis-Guillaume Durand 4 Oct 25, 2021
Netty project - an event-driven asynchronous network application framework

Netty Project Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol serv

The Netty Project 30.5k Jan 3, 2023
http-kit is a minimalist, event-driven, high-performance Clojure HTTP server/client library with WebSocket and asynchronous support

HTTP Kit A simple, high-performance event-driven HTTP client+server for Clojure CHANGELOG | API | current Break Version: [http-kit "2.5.3"] ; Publish

HTTP Client/Server for Clojure 2.3k Dec 31, 2022
Joyce is a highly scalable event-driven Cloud Native Data Hub.

Joyce Component docker latest version Build Import Gateway sourcesense/joyce-import-gateway Joyce Kafka Connect sourcesense/joyce-kafka-connect Mongod

Sourcesense 37 Oct 6, 2022
Microhttp - a fast, scalable, event-driven, self-contained Java web server

Microhttp is a fast, scalable, event-driven, self-contained Java web server that is small enough for a programmer to understand and reason about.

Elliot Barlas 450 Dec 23, 2022