(Don't blame me for typos! :))
CHANGELOG v1.3
It is now possible to add a trigger action body to triggers created through the scriptManager inside scripts.
A message indicating which script file is being loaded will now be printed to the main text window.
Messages will now be printed to the general channel when scriptreload is starting and ending.
Script files that lack the SCRIPT_NAME variable will now show a debug message to the general channel when they fail to load.
A new MacroManager (macroManager variable) can be used through the beanshell scripts to assign and unassign macros. An example script (macro.bcs) has been added in the help section that shows to to use the macroManager variable.
The keybind actions to navigate between tabs are changed to "/switchtab forward" and "/switchtab back". When your client gets updated you will still have the old bindings and the tab key (or whatever keys you have assigned) might not work. You will need to rebind the key with the correct action or restore the default keybindings.
Two new keybind actions are now available to switch between the internal frames of the client. "/switchframe forward" and "/switchframe back".
CTRL+TAB is default binded to "/switchtab forward" and CTRL+SHIFT+TAB is default binded to "/switchframe forward".
The keybinding listener frame has been recoded slightly and now triggers on "released" key rather than "pressed". This way it is easier to record combinations. A bug has also been fixed with the key events from the tab key so that it should work to use the tab key now in any kind of combinations.
SHIFT+ENTER key combination should now function the same as a simple ENTER keystroke from the commandline.
Two new example scripts (prots.bcs and rounds.bcs) have been added.
It is now possible to create standalone commandline objects through the settings menu. (Functionality of these might be improved in the future).
If there are network problems so that the ping response for the network monitor at the statusbar takes longer than 5 seconds to receive the label will be updated with a red "Warning..." sign.
The match hiliting has been revamped some and should now function a little better. (The multi-color hilite bug should be fixed among other things.)
A new WARNING message has been added to the /scriptreload feature and the scripting guide in the help menu. This message is hopefully making people aware of the powerful features included in the BeanShell scripting and what harm it may cause to use non-trusted scripts that are written with malicious intent.
WARNING! Never load or install scripts that you do not trust completely. You should preferably never install anything that you have not created yourself. Malicious scripts written by bad people may act as viruses, trojans or spyware. Malicious scripts may cause damage to your computer, your economy or your health! USE IT AT YOUR OWN RISK! Also make sure you read the EULA once again before you start using scripts.
Entered commands are now sent directly to the "last_command" channel. If you wish to echo commands into a frame you can add that channel to a tab window.
The script editor now includes a label that shows which current file that is being edited. The file changes when you "open" or "save as".
A new "reload file" button has been added to the script editor. This button only reloads the current file that is being edited and not every script file (as with /scriptreload). Now you don't need to wait for reloading every script just to edit something simple inside a single file.
The reload script feature is now using an own thread for loading scripts. It should then not block the client UI or text windows.
A new "delete" button has been added to the script editor. When used it deletetess the current file that is being edited from disk. (The text in the editor still remains intact however).
A new variable has been added for scripts called "directory". This points to a Java File object that represents the directory that the script is loaded from. A new example script "file.bcs" has been added that shows how to access files in the script directory. For larger scripts that may include files such as images or other data should preferably be created inside their own directory and be distributed in a .zip file. Then you simply have to unzip the file into the scripts directory. This way scripts that require their own images and data files are easier to maintain. (Scripts are loaded from the script directory recursively so you can have as many sub folders as you like with scripts).
A new interface has been added called BatWindow. This is an interface for the internal windows that can be created inside the client desktop. A new method in the "clientGUI" has also been added called "createBatWindow(name, x, y, width, height)". This creates a new window in the desktop. (Notice that you have to call setVisible(true) on the window to actually make it visible). The first tab in the window gets the "name" as tabname and is created with an empty panel. When you create your own panels and want to add them to the window you should remove the first empty panel. (Look at the BatWindow interface in the javadoc for more information about what methods you can call on the windows).
A new example script called "mapframe.bcs" has been added in the help menu. This script shows how you can create an own BatWindow and populate it with tabs and panels. The panels in this example scripts are drawing the map images from the bat.org site. (Check the script for more information).
A new example script called "fileloading.bcs" has been added in the help menu. This script shows how you can load text and images from files.
The code for cliking on URLs and opening a webbrowser has been changed. (It should fix the old IndexOutOfBounds exception that was poppping up for certain URLs.)
When hovering the mouse pointer over a http:// link a tooltip will show the full URL.