Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Fix an if in an event template
Switch to init.lua pattern
In case you edit the event code in VS code, the button will disable the event, re-load the script and re-enable.
- events should now actually disable when you disable them
- added /mlem binding incase /lem conflicts with something. /lem binding is still there
- Added an "edit in vs code" button to the event viewer, because why not. If you don't have vs code installed, idk what it will do. It just executes "code /path/to/event.lua".
- Updated event export to make sure it doesn't export the (not currently in use) event.load.characters field.
- Add more templates / samples - mostly just simple ports of common reacts like primal bandolier swaps, icebound avatar duck, clicking jboots, clicking shield of the immaculate.
- Add support for defining an
on_load
function for events, in case you want something to happen when an event loads for the first time. This may be more useful once dynamic load options are being used. For example, mem'ing a bane or cure spell when zoning into Shei mission where the event loaded dynamically based on the zone name.- Begin to add but not yet use implementation for dynamic load options for events
- Fix events enabling by default if no settings exist yet
- Refactor some stuff
- Add template selection in event editor to fill in event code from some samples. Don't really have many samples yet, but hopefully in the future...
- Addlem/library.lua
with a bunch of helper functions that may or may not be useful when writing event code. Include it by addinglocal library = require('lem.library')
to your event.
- Includes things like casting spells, using AAs, using items, using discs, checking if any of the same are ready or not, nav'ing, targeting, etc.
- Event configurations can be exported from the event viewer or right click menu in event list. The configuration will be copied to clipboard to be pasted elsewhere.
- Event configurations can be imported from the Import section on the left.
Events are exported and imported as base64 encoded strings (they will look like blobs of letters/numbers). For example, pasting the following into Import will add the atensilence event (which is also already included):
INI:cmV0dXJuIHsKIGNvZGUgPSAiYkc5allXd2diWEVnUFNCeVpYRjFhWEpsS0NkdGNTY3BDZ3BzYjJOaGJDQnRlVjlqYkdGemN5QTlJRzF4TGxSTVR5NU5aUzVEYkdGemN5NVRhRzl5ZEU1aGJXVW9LUW9LYkc5allXd2djR0YxYzJWZlkyMWtjeUE5SUNnbkx5VnpJRzF2WkdVZ01Ec2dMMjF4Y0NCdmJqc2dMM1IzYVhOMElHOW1aanNnTDNScGJXVmtJRFVnTDJGbWIyeHNiM2NnYjJabU95QXZibUYySUhOMGIzQTdJQzkwWVhKblpYUWdZMnhsWVhJbktUcG1iM0p0WVhRb2JYbGZZMnhoYzNNcENteHZZMkZzSUhKMWJsOWhkMkY1WDJOdFpDQTlJQ2N2ZEdsdFpXUWdNVEFnTDI1aGRpQnNiMk40ZVhvZ01USXlNaTQyTnlBdE5EZ3VPVGNnTWpNMkxqUXhKd3BzYjJOaGJDQnlaWE4xYldWZlkyMWtjeUE5SUNnbkwzUnBiV1ZrSURFMU1DQXZKWE1nYlc5a1pTQXlPeUF2ZEdsdFpXUWdNVFV3SUM5dGNYQWdiMlptT3lBdmRHbHRaV1FnTVRVd0lDOTBkMmx6ZENCdmJpY3BPbVp2Y20xaGRDaHRlVjlqYkdGemN5a0tDbXh2WTJGc0lHWjFiR3hmWTIxa0lEMGdLQ2N2YlhWc2RHbHNhVzVsSURzZ0pYTTdJQ1Z6T3lBbGN6c25LVHBtYjNKdFlYUW9jR0YxYzJWZlkyMWtjeXdnY25WdVgyRjNZWGxmWTIxa0xDQnlaWE4xYldWZlkyMWtjeWtLQ214dlkyRnNJR1oxYm1OMGFXOXVJR1YyWlc1MFgyaGhibVJzWlhJb2JHbHVaU3dnZEdGeVoyVjBLUW9nSUNBZ2FXWWdibTkwSUcxeExsUk1UeTVhYjI1bExsTm9iM0owVG1GdFpTZ3BJRDA5SUNkMlpYaDBhR0ZzZEhkdlgyMXBjM05wYjI0bklIUm9aVzRnY21WMGRYSnVJR1Z1WkFvS0lDQWdJR3h2WTJGc0lHbGZZVzFmYldFZ1BTQnRjUzVVVEU4dVIzSnZkWEF1VFdWdFltVnlLREFwTGsxaGFXNUJjM05wYzNRb0tRb2dJQ0FnYkc5allXd2diWGxmYm1GdFpTQTlJRzF4TGxSTVR5NU5aUzVEYkdWaGJrNWhiV1VvS1FvZ0lDQWdiRzlqWVd3Z2JXRmZibUZ0WlNBOUlHMXhMbFJNVHk1SGNtOTFjQzVOWVdsdVFYTnphWE4wTGtOc1pXRnVUbUZ0WlNncENnb2dJQ0FnYVdZZ2RHRnlaMlYwSUQwOUlHMTVYMjVoYldVZ1lXNWtJRzV2ZENCcFgyRnRYMjFoSUhSb1pXNEtJQ0FnSUNBZ0lDQnRjUzVqYldRb1puVnNiRjlqYldRcENpQWdJQ0JsYkhObGFXWWdkR0Z5WjJWMElEMDlJRzFoWDI1aGJXVWdZVzVrSUc1dmRDQnBYMkZ0WDIxaElIUm9aVzRLSUNBZ0lDQWdJQ0J0Y1M1amJXUW9ablZzYkY5amJXUXBDaUFnSUNCbGJtUUtaVzVrQ2dweVpYUjFjbTRnWlhabGJuUmZhR0Z1Wkd4bGNnPT0iLAogY2F0ZWdvcnkgPSAiVG9MIiwKIHR5cGUgPSAiZXZlbnRzIiwKIG5hbWUgPSAiYXRlbnNpbGVuY2UiLAogcGF0dGVybiA9ICIjKiNBdGVuIEhhIFJhIHBvaW50cyBhdCAjMSMgd2l0aCBvbmUgYXJtIyojIiwKfQ==
For anyone who has used weakauras in WoW, its meant to look similar to that, just copy/paste the string to import.
Protect calls to user defined condition and action functions so that the main script stays running in case a broken event is enabled.
If the condition function fails to run, the first message will be displayed: Failed to invoke condition for event: {name}
If the action function fails to run, the second message will be displayed: Failed to invoke action for event: {name}
Some things I may consider if broken events are too common and spammy:
- Automatically disable event if it gets so many errors
- Throttle printing out the errors
This only applies to condition event functions (the react-like ones), as events are called separately by MQ and will already be caught.
Don't just the macroquest2 folder name in my folders!
Moved lem/settings.lua to lem/settings.default.lua so that updates don't overwrite modified settings. lem/settings.default.lua includes sample events and categories, just rename it to use them.
- Added Categories for grouping events
- Categories can be created in the Categories section and then assigned when adding/editing events
- Display message when event code fails to load
- Checkbox for enable/disable now displayed in events table
- Added filtering to events list
- Only save character specific settings when enabling/disabling an event, instead of all settings
- Save event now checks for what changed before deciding whether to save full settings