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.
Hotfix for a mis-index in the heartbeat method of the server that caused an error loop when manually disconnecting a client while having a GUI with buttons and multiple clients connected.
**Note: This is a FULL update, meaning you will need to replace your client AND host-side versions.
Changes:
-Triggering system has been entirely rewritten. Before we used FileSystemWatcher, but it was way too slow and wasn't seeking updates properly. We now have a custom method that seeks the last 25 lines every 5 milliseconds, seeing 5k lines a second. This should substantially reduce the amount of whiffs on triggers, if not eliminate them entirely.
-You can now modify the keypress speed of triggers via the interval textbox client-side. This variable should automatically append to every trigger that already exists, but if you find you're having issues launching client-side, try making a backup of your triggers file, then adding:
To the end of every trigger and relaunching. You should not have to do this, but if you run in to issues this will fix them.interval:Interval: 0
Bug Fixes:
-Fixed a bug with the triggering system that caused it to nearly always fail when doing anything.
-Fixed a bug where client general settings weren't loading or saving properly.
-Fixed a bug where the event triggers path box wouldn't be visible until re-toggled when it loaded in enabled server-side.
-Fixed a bug where the wait field in the client-side new trigger window would take more than just numbers.
-Fixed a bug where throwing a semi-colon without a command after it in a button using ibt would throw an indexing exception.
Thanks to @tehfeer for helping me debug trigger issues. If you have any questions, concerns or issues don't hesitate to contact me.
**NOTE: This is NOT a FULL update, you should only have to replace the exe on your HOST-SIDE.
Bug Fixes:
-Fixed a bug where keymaps were detecting an empty data structure as a key pressed.
-Fixed a bug where some deprecated keybind logic was preventing keybinds from firing.
-Fixed a bug where trying to fire keymap related keybinds without a process set would cause the keybind to fail.
-Fixed a bug where assigning a keybind to the broadcasting function would cause the server to start and stop rapidly.
As always, let me know if you have any issues!
**Note: This is a FULL update, meaning you will need to replace your client AND host-side versions.
What's New:
-You can now use the /ibt command to target specific clients within a command. Any command not prefaced with /ibt will be sent to every client in the target handle(s), commands prefaced with /ibt will ONLY be sent to that specific client.
Example: /tar Ionis ; /pause 10 ; /ibt Druid /cast ReptileSpellGemHere ; /ibt Shaman /cast ChampionSpellGemHere (works just like /bct, minus the second / on the command)
This is useful for when you only need one specific client within a command line to do something, this way you won't have to make individual buttons for every single thing! You can just use in-line command targeting! As well, the clients don't have to be within the target handles, they just need to be connected!
-New window: Process Controller! You can use this to manipulate multiple processes at once! This is specifically for users of Parsec and other RDC programs. You can now easily tab to, set and launch these programs all from IonBC!
-All server, toolbar & hotbar actions are now fully mappable via the new Keymapping Window! Gone are the days of having to actually press the start button!
-Buttons can now be quick duplicated while a hotbar is unlocked by holding either CTRL key then clicking & dragging on a button! This will make an exact copy of the button for easy editing.
-New autosaving functionality! You can toggle autosaving on & off via the options screen! Set the minutes to however often you want to save and forget about it! Splash screens can be toggled on and off while autosaving.
-Doing hotbar related actions now shows visual feedback about that action via a splash screen.
Changes:
-The Server Window's design has been completely overhauled, interaction related stuff and options related stuff are now separated in to their respective tab groups!
-Added a timestamp to server/client debug messages to make it more clear when things happened.
-Comboboxes now alphabetize themselves!
-General settings has been migrated to the new settings folder, this should not impact any existing general files and migration should happen automatically. If you run in to issues try deleting your general file, but you shouldn't have to.
-/keypress, keybinds & broadcasting now recognizes function (F1-F12), home, delete, insert, pageup, pagedown, end, scroll lock and pause keys!
-Buttons with event triggers now have an associated checkbox attached to them. This checkbox can be toggled on or off to toggle that specific trigger on and off as opposed to having to disable ALL triggers.
-Buttons now dynamically dodge collision upon creation, they will attempt to find an open spot within the hotbar and then place themselves there. New buttons are highlighted with a red border to help identify where they've been put if you've got a crazy loaded hotbar, this border changes back to the default color once the button has been recognized in some way.
-You can now toggle dynamic collision detection for buttons! This interpolates buttons to a position within the hotbar that is free based on the closest side you tried to overlap.
-Buttons will now remain inside the bounds of the window when resizing and automatically interpolate to the proper direction based on where/how you're resizing the window.
-Resetting the hotbar now organizes all hotbuttons as opposed to stacking them!
-You can now edit buttons while hotbars are unlocked!
-While toggle GUI on window change is enabled, you can toggle whether or not you want to send a keypress for turning the in-game camera on & off. This is to alleviate any inconvenience with the camera shifting during button manipulation.
-You can now set the interval of buttons (in the Advanced section) to a range (ex. 05-10)! If an interval is a range, the speed at which we press each individual key(s)/click(s) is then randomly chosen to be something within that range. This allows for actions to seem more human-like, if you're worried about that sort of thing.
Bug Fixes:
-Fixed a bug where the Server Window would sometimes hang when there was an egregious amount of button IDs to validate.
-Fixed a bug where getting the mouse position of a client via the Create Button controls would return a false relay message client-side.
-Fixed many duplicate messages when sending commands.
-Fixed a bug where alt-tabbing would cause keys to artifact in a data structure causing keybinds to fail.
-Fixed a bug where if a keybind would open a window it would sometimes artifact keys causing keybinds to fail.
-Fixed a bug where keybinds weren't strict enough and would fire even if the full keybind wasn't pressed.
-Fixed a bug where saving over a unloaded profile with a currently loaded hotbar would cause the currently loaded hotbar to be saved over instead.
-Fixed a bug where you could add spaces in fields that only took numbers.
-Fixed a bug where profiles could potentially crash when saving if a reference to the toolbar wasn't properly set.
-Fixed a bug where relevant windows weren't disabling keybinds for the duration of their existence.
-Fixed a bug where clicking the M1 or M2 buttons in the Create Button window wasn't properly setting focus back to the content textbox.
-Fixed a bug where the Delete GUI warning window wasn't displaying the proper text.
-Fixed a bug where seconds were not being properly set for repeaters after saving an edited button with repeater disabled.
-Fixed a bug where the mouse hook would hang around even after closing the last hotbar.
-Fixed a bug where the server wasn't properly saving whether or not the return warning menu was set to show or not.
Update Vid:
I'd like to give a big shoutout to @tehfeer, @Wrightsvillain and everyone else who contributed to the community feedback used for this update as well as a very special thanks to @bobthebuilder who helped me track down and debug an exorbitant amount of bugs and features! Y'all have been a great help in the progression of IonBC and I look forward to seeing what y'all do with the new features.
All features in this update were requested by the community, if you have any suggestions, questions, concerns, or problems with IonBC please do not hesitate to contact me! Documentation will be updated soon, thanks again for the support! Enjoy!
-If the Client window is foreground, it will now reject received commands and relay a message asking to tab in to the associated application. This will not effect commands sent to windows outside of the client window, if it does contact me immediately.
-Fixed a bug where toggling the client-side triggers on and off without changing the path from it's default would cause an NRE to be hit when checking whether or not events can be raised.
-Fixed a bug where the client would still try and relay/process the server suddenly disconnecting as a key command.
-Quick hotfix to some issues with software like Parsec, when using these applications be sure to check the Toggle GUI on Window Change checkbox in the Server window & set the process to eqgame!
What's New:
-You can now set triggers to ignore social channels, to do this you need to check the "Ignore Socials?" checkbox when creating a host or client-side trigger. This allows the trigger to be more dynamic and avoids griefing folks from triggering your toons actions via a tell or say.
-The reading system for the profiles is now improved, the old system has been deprecated but this should not affect any existing profiles.
-You can now export buttons that are otherwise unsaved to any GUI or profile.
Bug Fixes & Changes:
-The toolbar no longer disables the end-user from adding elements while it is unlocked.
-Fixed a bug where the Wait variable wasn't being properly displayed when editing a client-side trigger.
-Fixed a bug where the Wait variable wasn't being properly loaded upon opening the Client Window when the Event Triggers checkbox was not checked by default.
-Fixed a bug where disabling event triggers wouldn't actually disable event triggers.
-Fixed a bug where the selection check for the exporter listviews wasn't being ignored when we clear the selection causing faux focus on the elements.
-Fixed a bug where previews weren't being properly reset for trigger information on the host-side within the Load Window and Export Window.
-Fixed a bug where editing a button while it was enabled as a repeater would cause it to duplicate the asynchronous timer associated to it upon closing the editing window.
-Fixed a bug where the search fields in the Load Window and Export Window weren't properly reloading unsaved buttons upon being cleared.
As always, if you have any issues, please contact me.
What's New:
-You can now load buttons that are not yet saved using the Load Button menu! This makes duplicating buttons that you haven't yet saved to a hotbar or GUI much, much easier.
Bug Fixes:
-Fixed a bug where opening hotbars from the Server Window wasn't working due to an improper value for the 'Wait' varaible.
-Fixed a bug where loading hotbars from a hotbar wasn't working due to an improper value for the 'Wait' variable.
-Fixed a bug where sometimes buttons wouldn't be able to be properly loaded via Load Button due to a indexing error.
-Fixed a bug where sometimes the exporter wouldn't preview buttons properly due to an indexing error.
As always, if there are any issues please let me know!
What's New:
-Client & Host now have event triggering! You can toggle this on and off in their associated windows. Event triggering allows you to set up pre-determined triggers to look for which are pulled directly from your log file via a reverse seek to end so it's instantaneous and your log size is irrelevant! Clients can now automatically do X action when X thing happens in-game and Host side can automatically have a button trigger in the exact same way!
-Event Triggers checkboxes & associated fields added to Client & Host window.
-Trigger on event? checkbox & associated fields added to the "Advanced" section of the Add Button window.
-Client now has 2 new windows, Triggers & Add Triggers, associated with the new trigger system.
Bug Fixes:
-Fixed a bug where host-side triggers fired multiple times.
-Fixed a bug where our OnLogChanged method was being called too many times.
-Fixed a bug where the Client would throw a Out Of Bounds exception for updating our relay message element due to there being no visual children on the element yet.
-Fixed a bug where the MainWindow wouldn't close after validation.
-Fixed a bug where the version notifier sometimes wasn't properly formatted.
Update Video:
Documentation will be updated accordingly, thanks guys!