This program absolutely freeware, is distributed "as is", that is you use it at own risk!
And I, as the author, do not carry any responsibility for consequences connected to use of this program on your computer.

Added a variables to specify the offset of mouse clicks and commands 'move', and variables to specify the offset returned coordinates of commands 'findimage' and 'findcolor': 'clickoffsetx', 'clickoffsety', 'findoffsetx', 'findoffsety'.

Added 4 independent timers: 'timer1', 'timer2', 'timer3', 'timer4'.

Fixed the output value of the variable after the assignment in the command 'set', while the 'set logging commands'.

Fixed script editor reaction to pressing "Tab".

Fixed renaming of his window when you turn on the checkbox "Show running scripts on the taskbar."

Added a newline of character with the code #13, when the result of the plugin is assigned to the array.

Added the ability to return from the plugin string of unlimited length.

Added a function that returns the address of the array in the memory and its dimension "set $s arrayaddress (%a) // $s = 12341578 1 1".

Added command to set hot keys to start and pause the current script. The key is specified in braces. Modifiers before the brackets '~' - shift, '^' - ctrl, '@' - alt. Hotkeys are set globally, as if it was done through a standard form of editing. If such a hotkey already assigned to something, the new appointed, but will be disabled before turning off the current.

Added a few reserved variables: (READ ONLY)
'loghandle' - the handle of the log window, or '0' if it does not exist;
'logautoopen' - checkbox from the settings "Automatically open the log", can be '0' or '1';
'messagesoutputto' - where output messages:
2 - ToMessageBox;
4 - ToHint;
8 - Dev/null;
if enabled "ToLog", then all +1.

Fixed the reading 'prompt pos_x' and 'promptpos_y'.

Fixed return values from the plugin while running multiple plug-ins.

Added command to output text to a file 'write ()'. The file is always appended if it already exists. Substrings '\n' and '\r' are replaced with the characters with codes 13 and 10 respectively.

Fixed a bug in 'is_real' function. Returns '1' when sending a comma ','.

Changed the way to install the keyboard layout in the 'SetLayout' command.

Added the ability to specify the name of the functions of the plug-ins, parameters and the way in the RMB menu in the pilot. To do this, they need to specify in the plugin, when setting the function name: "InitStruct.FunctionNames[3] := 'Function4|path\path2\name_in_UOPilot (a lot of parameters)';".

Move the commands loading, reloading and unloading of plugins to the plugins menu.

Fixed an exception in the command 'get clipboard'.

Fixed broken wheel mouse commands. Some parameters have not been determined.

Added a help from Wikipedia site. He is called on "F1" on the operator in a script or at the top of the RBM menu in a script. Is displayed on the new tab on the form of help. Downloads page directly to the Wiki, stores in the folder "Help", next to the pilot. If there is no folder "Help" next to the pilot , the unpacks archive version.

Made highlighting of variables arrays with the color of the respective operators.

Fixed an unplanned output in the log of the out-of-date error message.

To the formatting added formatting routines from ":marks" to "return" that are at the same nesting level.

The command 'repeat'. Fixed the entrance to the loop when the specified number of iterations <= 0.

Fixed the error "-4" in the command 'findimage', which occur if the coordinate and the path to the file is not separated by a space.

Corrected the function read memory of the client.

Disabled the display of variable values on the form parameters of the character, if you disable tracking the progress of the script execution. Thus, the speed of the active script close to the script execution rate in inactive tabs.

Added command line switch that changes the working folder of the UOPilot. "UoPilot.exe /hC:\Temp\".

Added the function of storing part of the screen area 'GetImage (StartX StartY EndX EndY [type|handle] [abs])'. Returns a string in the form "address in memory|Width|Height|string length in bytes/", or an error code.

Added function to delete stored part of the screen area 'DeleteImage (address)'. Returns "0" or "1", or an error code.

Remade 'findimage' function. As a type of search takes the address from the 'GetImage' function. Coordinates in a function 'findimage' are relative to the part of the screen, stored in a function 'GetImage', but return relatively anchored windows\screen.

Disabled by default "Return mouse after clicks."

Removed 'findcolor' from the UOPilot thread, now it is less retarding the UOPilot.

Fixed the function 'findwindow'. Nothing found when pressing the keys "Alt + Tab".

Remade the command 'Exec' as 'ExecAndWait'. Now the variable 'errorlevel' contains the PID of the running process.

Added the ability to set reserved variables to read from client memory. The name of the variable and the chain address is defined in the configuration file, in section "[CustomVariables]" in the format "name=address,type of the read data;add value,type of the read data;".

Added description of changes the "nightly builds" in built-in help in the UOPilot.

Added the function of loading the image from file 'LoadImage (filename)'. Returns a string in the form "the memory Address|Width|Height|Length of the string in bytes/" or the error code.

In the function 'findimage' added the ability to search images loaded into memory by specifying the address in memory instead of a file path.

Added assigning an array string the value in the format '3|7/3|8/4|7/4|8/'.

Added the function of saving the image to the file 'SaveImage (Address filename)'. Supported formats are ".bmp", ".jpg", ".png" (determined by extension).

Fixed an error in parsing the color range string specified in 'findcolor', when extra spaces around the "-" led to a misunderstanding.

Corrected calculations with negative numbers.

Corrected the assignment of string variables in parallel scripts, when the script index is specified by a variable.

Fixed the command 'sort_array', which was broken after 2.38.

After executing the command 'Exec', the variable 'errorlevel' contains the PID of the running process or the error code.

Fixed a bug in the command 'set %arr findwindow (caption)', which occurs when there are characters '|' and '/' in the found "caption".

Fixed 'break' when using nested 'switch'.

Added a simple search to the Wiki form.

Corrected the error that occurs when there is no space before the bracket in the command 'prompt'.

Added the ability to click on links from the Wiki help. Open in the browser.

Fixed an error that occurs when there is no space before the parenthesis after the command name.

Fixed the '#result' parameter in the 'get windowpos' command.

Corrected the size and color of the font "by default" in the command 'hint'.

If the value in the 'writemem' command is enclosed in quotation marks, the quotes are removed.

Added the ability to "Save settings as ..." and "Load settings ...".

Added reading of the contents of the buckpack for the UO client version 2.0.3, using the 'set% arr backpack' function. Saves the array with the columns "ID", "itemType", "count", "color", "posX", "posY".

Made a keystroke by its code in the commands 'send*' and 'sendex*'. Codes are specified as parameters in curly brackets. When specifying several keys, spaces between parentheses are required. "send {49} {112}".

Fixed 'return' in 'for' and 'repeat' from the double 'gosub'.

Added the output of the error of running the Lua script and several lines of code around the specified line.

All the pilot variables that were available from Lua (17 pieces) in Lua are now functions. Those that are available for change (9 pieces), as a parameter, take a new value, return the old value (including 'workwindow ()').

I fixed the checkbox "Show remaining time of waiting".

When the script is paused, the current 'wait' command is aborted.

During the delays in the script, the timer on the character parameters panel continues to be updated.

Added the function of setting the priority of a process 'SetProcessPriority ([[handle|PID] priority=0])'. If successful, returns "0", otherwise an error code. If the handle is not specified, sets the Uopilot's priority. As a 'priority' uses the same values that returns 'GetProcessPriority'.

In test mode, added the function to set the CPU cores mask for the specified process 'SetProcessAffinityMask ([[handle|PID] mask=0])'. If successful, returns "0", otherwise an error code. If the handle is not specified, sets the Uopilot's priority. As 'mask' the "0" is indicated - all cores, or the sum of the following values:
1 = CPU 0;
2 = CPU 1;
4 = CPU 2;
8 = CPU 3;
etc...
build 13

Fixed the error of the first message output from Lua script when the log was never opened.

The arrays returned by the 'findimage' and 'findcolor' functions in Lua are now numeric.

Fixed 'findwindow' when used from a Lua script. If nothing is found, then returns "nil", rather than an empty table. When called without parameters, returns the data of the active window.

The handle returned by the 'findwindow' function in Lua is now a number.

The size of the message that is displayed in the log is now increased to 1k.
build 15

The 'get clipboard' command clears the receiving array.

Removed converting of variables in the resulting clipboard when using the command 'get clipboard %array'.

Fixed 'clipboard' in Lua.
'clipboard(text)' - one parameter, setting;
'string = clipboard()' - without parameters, getting as one line;
'array = clipboard(0,"string","word")' - more than one parameter, split into an array by words, or by lines, or by words and by lines.

Corrected the transfer of large integers from Lua. Should no longer be output in exponential form.

Fixed bug in commands 'set hotkeystart' and 'set hotkeypause'.

Added color search in the loaded area to the 'findcolor' function.

Added a check for image capturing by handle, when pressing Ctrl+A to bind the script to the working window. It is enabled by ticking "Check image capture by handle", located next to the "F" button on the form of the script.
If the image cannot be received, or a black square is returned, the parent handle is taken and checked again until the image is received.
As a result of the check, the log displays a chain of checked handles and the title of the window required to correctly determine the color, or an error message.

Checkbox "Check image capture by handle" moved to the settings \ miscellaneous. Enabled by default.

Added a function to search for values in memory 'findmemory (count value type %result accuracy workwindow)'.
Returns the number of items found, or an error code.
Options:
count - limit quantity, -1 - all;
value - required value. if the string is not solid, use quotation marks;
type - the type of the previous argument, as well as in the commands read / write to memory;
%result - the receiving array;
accuracy - accuracy of finding a sequence of values;
workwindow - handle of the working window;
In 64-bit processes, only the first 32 bits are scanned.

Corrected updating the 'workwindow' variable by pressing Ctrl + A.

Fixed the 'getwindow ()' function in Lua, now returns a number.

The handle returned by the 'findwindow' function in Lua is now a number. (completed)

Removed double brackets when inserting commands into the Lua script from the drop-down menu, the cursor is set behind the brackets.

Added commas in brackets, when inserting commands into the Lua script from the drop-down menu.

Removed the type of variables when inserting commands into the Lua script from the drop-down menu.

Slightly changed the algorithm of inserting commands into the script from the drop-down menu. Required parameters are not removed.

Redid the syntax highlighting in the editor. Added the ability to change the category of existing keywords and add new ones. The list of words is specified in the section "[Highlighter]" in the configuration file of the Uopilot in the parameters ending with" List " (will appear when saving settings).
Example: "RW EndScript List=end_script,konec_skripta".

Redid the algorithm for commenting lines, in connection with the previous paragraph. Theoretically should work.

Corrected the return of the error code by the 'findimage' and 'findcolor' functions in Lua, if the parameters are incorrectly specified.

In the 'findimage' command fixed the search of the saved image in the loaded area. Demanded the size of the area larger than it should be.

Remade Lua functions 'findimage' and 'findcolor' to the new syntax, all parameters are passed one by one, separated by commas.
The file path and color set are transferred as a string in the table (in curly brackets). Receiving array withdrawn from circulation.
According to the Lua syntax, in the path it is necessary to double the backslash character "c:\\", or specify the path in double brackets [[c:\]].
The functions return an array (table) of the elements found and an error code.
Example:--'arr, err = findimage(10, 20, 1020, 810, {"C:\\tmp\\image.bmp"}, 2)'
--'arr, err = findcolor(10, 20, 1040, 810, {"r(255)"}, 2, -1, "abs")'

Fixed an exception that occurs when restarting Lua scripts.

Added "*.lua" in the default mask, in the open\save scripts dialogs.

Corrected checkbox "Add spaces", slightly altered the algorithm.

Fixed 'dir' in Lua. If nothing is found, then returns "nil", rather than an empty table.

added Lua commands in the Wiki help, which is called by "F1" or drop-down menu on the operator in the script. What help to show, Lua or normal, is determined by the previous comment.

In "Download All from Wiki" added downloading Lua command.

Fixed an exception when using 'send' without parameters.

Removed the looping of a lonely Lua script without the end of the script sign "--endlua".

Added editor "Syntax highlighting" in the "Settings" menu.

Fixed the error "EConvertError '^xx'", where "xx" is the number of the script, sometimes arising during the execution of procedures.

Fixed assignment of 'workwindow' in procedures. The assignment worked only on the calling script.

Removed a piece of debug information forgotten recently in the 'findcolor'.

In the script editor, disabled the hot key for deleting the current line, and for the Redo function it's changed to Ctrl+Y.

Fixed the minimum size of the captured image in the 'getimage' command when working on the handle.

Fixed an exception when working on the handle in the 'getimage' command, when the initial coordinates were greater than the final ones.

Removed a reminder that the working window is not specified, when starting the script on a hot key.

Lua comments added to syntax highlighting "--".

Added restore icons in tray when restarting the explorer.

Slightly corrected the display of Lua error messages, now it reports what kind of exception it was.

Turned off the generation of the exception "division by 0" and the exception "during erroneous operations" (otherwise it does not work), for compatibility with Lua.

Hid the UO tab in the settings, fixed the exception associated with it.