Readme
Readme
.html - AC Tool FAQ ============================================================================= Thanks everyone for helping me get this out the door. So many people contributed the ideas and all I did was wrap them up inside an EXE. My thanks and I hope you enjoy our efforts. CONTENTS * Release Notes * Contributions * History * Liability * Development Stuff * Bug/Enhancement Submission ============================================================================= RELEASE NOTES Well here is a couple of passes at this utility since the betas. Just read over this document before before installing and running this utility. That's it... Enjoy! - When reporting bugs and enhancements please include the completed report sheet at the bottom of this doc. - The source code to this program is available on my webpage. - If you have any problems with AC Tool, do the following: 1. Read the Help! 2. Read the FAQ! 3. Go to the AC Tool message board at http://wwww.cameroncole.net/actool.html and post your question on the board ----------------------------------------------------------------------------CONTRBUTIONS I have resisted asking for contributions since I wanted the ability to drop AC Tool whenever it became inconvinient. Well that just isn't going to happen. I will be keeping this website and forums indefinately. With that in mind, I have decided to ask for PayPal donations. Many of you have already been kind enough to place money in my PayPal account without being prompted and it has been much appreciated. You DO NOT have to contribute anything in order to use AC Tool. This isn't a requirement and I will NEVER charge for the product so don't feel obligated. If however you want to support AC Tool, you can send me whatever amount you feel is fair. My paypal account is [email protected] and that is where contributions should be sent. Thanks, Cameron. ----------------------------------------------------------------------------HISTORY 5.4.0 - 07/12/2006
- This is the IPA Alpha 8 release recompiled which is an update to get Decal working with AC Tool - Two new variables created {MMFName} and {MMFSize} which contains the name and size of the AC Tool Memory Mapped File - New Asheron's Call command called UstSalvage which salvages the UST 5.3.0 - 03/29/2005 - Removed _killmsg decal variable because it did nothing - wObject X, Y reversed - Attempted to fix the blank internal bitmap from OBJLOADWINDOW 5.2.2 - 02/13/2005 - Fixed an access violation when compiling a CASE statement in a complex macro 5.2.1 - 02/13/2005 - Fixed a bug with Decal Datasets not working - Fixed a bug with the OBJLoadWindow. Problem is I slowed it down so only use it if you are performing a lot of scans or need a static canvas to do color testing - AC Tool now accepts a /TITLE:XXX parameter which allows you to change the name of the AC Tool task. By using this, renaming the EXE and using an EXE compression program like UPX it may be possible to defeat certain game protections 5.2.0 - 02/12/2005 - MoveFile, CopyFile and DeleteFile now accept wildcards - CopyFile now accepts an optional third param (TRUE or FALSE) for overwriting - Fixed a bug with CopyFile where it would not accept a directory as the Copy To parameter - New command for faster OBJECT processing. Calling OBJLOADWINDOW takes a snapshot of the desktop or active window. All OBJECT processing is then done against that object until OBJRELEASE is called. OBJLOADWINDOW // Stores the desktop for processing OBJLOADWINDOW TRUE // Stores the active window for processing OBJRELEASE // reverts back to the old object processing logic NOTE: This command also affect LoadRGB - Calling OBJLOADFILE loads a bitmap from a file for all OBJECT processing. This is done against that bitmap until OBJRELEASE is called. OBJLOADFILE c:\your.bmp // Loads a bitmap for processing OBJRELEASE // reverts back to the old object processing logic NOTE: This command also affect LoadRGB - Calling OBJRELEASE returns processing from an OBJLOADFILE or an OBJLOADWINDOW to normal. OBJLOADFILE c:\your.bmp // Loads a bitmap for processing OBJRELEASE // reverts back to the old object processing logic
NOTE: This command also affect LoadRGB - Horizontal scroll bar on the editor now shows up whenver needed - Added the following lists which contains the names of datasets, constructs, lists, etc. RuntimeTypeList RuntimeTypeDataset RuntimeTypeForm RuntimeTypeFile RuntimeTypeProcedure RuntimeTypeEvent RuntimeTypeFunction RuntimeTypeObject RuntimeTypewObject - Added RuntimeTypeConst internal dataset which contains constants and their value - Fixed an access violation that occured on some machines - Updated the help file with all the new commands - New AC Tool versioning structure. 5.2.0 and future versions translates into Year.Month.Release count that month. 5.1.0 - 02/11/2005 - MoveFile command added that moves a file from one location to another. This command can also be used to rename files. MoveFile c:\1.txt, c:\2.txt, FALSE // will not replace 2.txt MoveFile c:\1.txt, c:\2.txt, TRUE // will replace 2.txt MoveFile c:\1.txt, c:\test, TRUE // will move to another directory - DirCreate creates a new directory DirCreate C:\ACToolTest - DirList lists the contents of a directory into a list DirList ListName, C:\*.* // adds all files DirList ListName, C:\*. // adds only files without an extension - DirDelete deletes a directory and all its contents DirDelete C:\ACToolTest - DirSize returns the size in bytes of a directory and all its contents DirSize constant = C:\ACToolTest - New DISKINDRIVE keyword added to the IF statement if DISKINDRIVE A SayPaste We have a Disk! end - FileSize returns the size in bytes of a file FileSize constant = C:\test.txt
- FileAttrList returns a list of file attributes in a list. Attributes are : Directory,ReadOnly,SystemFile,Volume ID,Archive,AnyFile,Hidden FileAttrList YourList, c:\test.txt - FileAttrSet sets the attributes for a file. Send an integer into the command to set the Attribute. Here is the attribute matrix: 1 2 4 8 16 32 64 71 Read-only files Hidden files System files Volume ID Directory files Archive files Symbolic link Any file
FileAttrList c:\test.txt, 3 //makes the file readonly and hidden - Fixed the AC Tool Beautify function to work with the CASE statement - Fixed the inserting of a CASE statement from the Commands and Macros list - CASE $I WHEN 0 DOSOMETHING END did not work. - Updated the help file with all the new commands 5.0.0 - 02/10/2005: - RegExMatch keyword added to IF statement. Uses the new regular expression parser to match a regular expression against a constant if <<\d{3}-\d{4}>> regexmatch 123-4561 SendText 13, yes else SendText 13, no end NOTE: Expressions must be encapsulated in compound brackets <<Your Expression>>. See Regular Expressions under help for more information - RegExSplit command added. Uses the new regular expression parser to split a constant into a list constructs lst=List end constants i=0 end RegExSplit lst, <<a>>, that is a great feature ListCount lst, i loop $i SendText 13, lst[{loopno}] end NOTE: Expressions must be encapsulated in compound brackets <<Your Expression>>. See Regular Expressions under help for
more information - RegExReplace command added. Uses the new regular expression parser to search and replace items in a constant constants i= end RegExReplace i = <<(.*) \+ (.*) \->>, did + not - work, $$1 SendText 13, $i NOTE: Expressions must be encapsulated in compound brackets <<Your Expression>>. See Regular Expressions under help for more information - New CASE conditional structure added. The case statement may provide a readable alternative to deeply nested if conditionals constants i=1 y=1 end CASE WHEN $i = 0 SendText 13, i is 0 WHEN $y = 0 SendText 13, y is 0 and i is not 0 ELSE SendText 13, I don't know what y or i is END // alternate usage CASE $i WHEN 0 SendText 13, i is 0 WHEN 1 SendText 13, i is 1 ELSE SendText 13, I don't know what i is END - Updated the help file to be current with all commands. It isn't perfect, but it should be mostly up-to-date 4.6.2 - 09/02/2004: - Added code to resolve problems on Win95 machines erroring when starting a macro 4.6.1 - 08/27/2004: - Added ALT and CONTROL parameters to LeftMouseClick, RightMouseClick, LeftMouseDown, LeftMouseUp, RightMouseDown and RightMouseUp - LoadDecal datasets commands have been fixed 4.6 - 08/23/2004: - Inverted the {IRCState} so that it properly reflected the current
state - Several enhancements to cdsEdit: - Save Filtered Records saves the current visible records as a seperate dataset - Added a View Layout menu option to see the CDS design - Added a menu option to add a new field - New tool to Rebuild Data File which simply cleans the dataset - Query mode now selects an entire row - The Data Bar no longer show Edit, Post, Cancel when in the query mode - Added new hex commands called HexToDec and DecToHex HexToDec x = AA // x = 170 DecToHex z = 200 // z = C8 - Added and internal dataset DSACTIVEWINDOWS that contains and ID and NAME field for every visible window in MS Windows DSFirst DSActiveWindows SayPaste DSActiveWindows[Name] - ReloadDSWindow command resets the DSACTIVEWINDOWS dataset - New command called RebootSystem that allows the user to reboot, shutdown and logoff windows. RebootSystem SHUTDOWN // Exit windows and powers down RebootSystem LOGOFF // Logs user off, but leaves windows running RebootSystem // Exit windows and restarts - {MouseX} and {MouseY} return the current position of the mouse on the screen - New spell casting command called CastSpellRoot which uses Triane's SPELLX.CDS to cast spells. CastSpellRoot SpellRoot, SpellLevel(1-7) CastSpellRoot Strength Self, 4 - New command WriteRegistryEx works just like WriteRegistry except takes one additional type parameter at the beginning. This type allows users to write into the registry as INTEGER, FLOAT, STRING, or BOOLEAN WriteRegistryEx WriteRegistryEx WriteRegistryEx WriteRegistryEx STRING,CURRENT_USER,ACTool\Test,String,Cam BOOLEAN,CURRENT_USER,ACTool\Test,Bool,True FLOAT,CURRENT_USER,ACTool\Test,Float,12.5 INTEGER,CURRENT_USER,ACTool\Test,Int,5
- New command called FindModuleBaseAddr used to find the base address of a DLL. Very untested! Built for FFXiMain.dll FindModuleBaseAddr Const = ModuleName - ExecProgram now accepts a third parameter for storing standard out. ExecProgram EXEName, Params, StdOutFile ExecProgram cmd.exe, vol c:, c:\test.txt By using the additional StdOutFile param the application will run
the EXE in console mode. - Thanks to the Wabbit, huge upgrades in the wObject system and some new features in the forms system. These include: - Labels can now have varying sizes (es=Extra Short, s=Short, m=Medium, l=Long, el=Extra Long) Form LabelName=Label:size:Label Text End - BLACK added as a wObject parameter. Without it black pixels will not be included in the wObject - SAVEBMP parameter added which will save the object area as a bitmap - USEOBJECT allows the user to immediately include the wObject in the usable objects list for reference wObject TestObject // Adjust the below settings. XCoord = // Coord for X axis. YCoord = // Coord for Y axis. XSize = // Size of the object, along the X axis. YSize = // Size of the object, along the Y axis. MinRed = 0 // Minimum value for Red. MaxRed = 255 // Maximum value for Red. MinGreen = 0 // Minimum value for Green. MaxGreen = 255 // Maximum value for Green. MinBlue = 0 // Minimum value for Blue. MaxBlue = 255 // Maximum value for Blue. Sample = // All = Every Pixel, Half = Every Other Pixel . FileName = . // The following are not required settings. // So they do not need to be included in the list // In other words, if you do not wish to use them. // You can completely delete the following options. Black = // Include true black pixels? Yes, No SaveBMP = // Save a BMP of the object? Yes, No UseObject = // After getting the object, do you want to u se it? Yes, No // // // // End NOTE: if you use the UseObject option. The new object will not be saved to file. But, it is immediately available for use, from with in this same script/macro file. // Name of file to place the object definition
- The keyword BOF now highlights properly in the editor - Two new setting in AC Tool Preferences on the Global HotKeys tab allows users to turn off F2 in AC and Global Keys - Fixed a bug when parsing list names with underscores - Ipa fixed Type and Workmanship in the Vendor list and dataset 4.5.11 - 06/23/2004: - Fixed a bug when executing a MousePos against non-Asheron's Call windows that could generate a memlocs.xml not found error - Fixed a problem with the BELL command and .WAV files playing twice
- Corrected the SPELLS.CDS so that casting Summon Primary Portal I would reference the correct ID 4.5.10 - 06/10/2004: - You can find a new Dataset Primer under the help menu. Thanks to Triane - Fixed StrTrim. No longer returns empty strings when it shouldn't - Several commands were using an incorrectly set internal variable and could produce strange results. These commands include: BELL, all mouse click commands, FTPDIRTYPE, RESETEVERYPROC, and CHECKCOMPS - IRCStart will now restart a closed IRC Connection - Prebuilt AC Tool Macros can now be optionally installed 4.5.9 - 05/22/2004: - Updated the SPELL.CDS which includes all spells in Asheron's Call as of the May 2004 release - Removed some unnecessary debug information from the companion 4.5.8 - 05/22/2004: - Fixed a stack overflow when recieving errors and Decal not loaded. This sometimes caused AC Tool to just drop out of memory. - StrTrim was including command data in the trim rather than trimming what was asked of it. - New command called KeyASCII that will send keystrokes to the active window based on the numerical ASCII character equivilant. KeyASCII 64 //Sends an @ sign - Fixed a bug when trying to send @, ^, and ~ as keystrokes. The system would treat a @@ as an @ sign followed by an alt key rather than a single @. - New {IRCState} and {IRCConnect} variables have been added added. {IRCState} contains the last state of the AC Tool IRC Client. Valid states are: Notconnected, Resolving, Connecting, Connected, Registering, Ready, Aborting, Disconnecting {IRCConnect} contains either TRUE/FALSE depending on the state of the AC Tool IRC Client. - Added a new event called IRCState. This new event is flagged to run whenever the state of the AC Tool IRC Client changes. procedure IRC on IRCState saypaste IRC State Change: {IRCSTATE} end while 1 = 1 saypaste IRC State: {IRCSTATE} Delay 5000 Processmessages end - lstIRC is an internal list that can be accessed for loading and saving the AC Tool IRC Client Log SayPaste lstIRC[1] // Will paste the first line from the log
- IRCFind allows the user to search the AC Tool IRC Client log for a specific value. The first parameter is the constant that will contain the line the value was found. The second parameter is the position you wish to start the search in the log and the last paramter is what you are searching for. IRCFind myconst, 1, join SayPaste lstIRC[$myconst] - Several corrections made to the wObject command 4.5.7 - 04/26/2004: - Fixed _idDefenseBonus variable - Added new ID variables, _idMissileDefBonus and _idMagicDefBonus - Added new command DropItem, to drop an item from inventory without requiring keystrokes - Added new command LoadDecalCharStats. This loads 2 new built-in datasets based on the Decal character stats filter: Dataset DSCharAttrib ATTRIBID Attribute ID NAME Attribute Name (i.e. Strength, Endurance etc) CURRENT Current BASE attribute value EXPSPENT Amount of experience spent in attribute CREATION Value at character creation EFFECTIVE Current effective attribute value (taking into account buffs/debuffs) Dataset DSCharSkill SKILLID Skill ID NAME Sword) BONUS EXPSPENT INCREMENT SHORTNAME BASE s and increment Current = Base + Bonus + Increment (Redundant field, can be derived) EFFECTIVE Current effective skill value (taking into account buffs/debuffs) TRAININGTYPE 3 = Specialized, 2 = Trained, 1 = Untrained, 0 = Unusable CURRENT - Cleanup of various Companion internals, to use Decal Character Stats Filter functionality Companion no longer replicates the work of CharStats to maintain the SpellBook and the current Enchantments affecting base attributes. 4.5.6 - 04/16/2004: - Updated the companion to work with the April Decal patches - Added some logic to force disconnects when using HTTPGet - Added some additional debug logic to track down color object Bonus points from character creation (5 for trained, 10 for spec'ed) Amount of experience spent in skill Number of times skill has been incremented Shortened version of skill name (comes from Decal, just passing it along) Base value of skill before addition of bonu
failures - Fixed a problem with KeyDown and {XXX} keystrokes - Put a lot of error checking around the DSDelete command to identify and/or hopefully correct the "Operation not applicable" error - Upgraded to the latest PlusMemo so hopefully the strange beautify problems that have been reported will now be fixed 4.5.5 - 02/27/2004: - Decal World Filter (and ImpFilter) are still not functioning correctly for tinkered items. This issue was caused by the January Asheron's Call patch. When an item is tinkered successfully, the post-tinker item can not be located in inventory by ACTool Select commands or LoadDecalInventory - Expanded the width of the built in FORMs - Thanks to The Wabbit for this contribution: A new type of Object called the wObject (Wabbit Object) allows a user to define an object parameters. Then use CreateObject to save the wObject output which is an object definition to a file. This will allow macro authors to build self calibrating macros. Usage: wObject Test // Adjust the below settings. XCoord = 5 // Coord for X axis. YCoord = 25 // Coord for Y axis. XSize = 20 // Size of the object, along the X axis. YSize = 20 // Size of the object, along the Y axis. MinRed = 0 // Minimum value for Red. MaxRed = 255 // Maximum value for Red. MinGrean = 0 // Minimum value for Green. MaxGreen = 255 // Maximum value for Green. MinBlue = 0 // Minimum value for Blue. MaxBlue = 255 // Maximum value for Blue. Sample = Half // All = Every Pixel, Half = Every Other Pixel FileName = c:\test.obj // Filename for the object definition End CreateObject Test - Revised a few sections of this document to be more up-to-date - Fixed a bug in the Beautify logic that would sometimes overwrite parts of a macro when there were too many END statements - New FORM type called LABEL allows you to insert a text only - SetMemoryEx and ReadMemoryEx work like SetMemory and ReadMemory with one exception. They accept a type for reading and writing. Types: LongWord, Word, ShortInt, SmallInt, LongInt, Int64, Byte, Real48, Single, Double, extended, comp. Usage: ReadMemory $Const = 005D7718, LongWord SetMemory 005D7718, 32, LongWord - Users can now define a Global Hotkey to Start/Pause/Resume/Stop a macro. Go into Macro/Preferences and enter the keystrokes for AC Tool to watch for - You can now turn on/off certain edit messages in the
Macro/Prefrences under the Debug tab - Moved several Asheron's Call specific options under the menu Macro/Asheron's Call 1 Settings - Added the cdsEdit tool to the Tools menu 4.5.4 - 02/20/2004: - EquipEX relies on the cursor pointer and busys state rather than the a plugin message which when merging items may not work - HTTPGet downloads a webpage and loads into a list. Do not add the http:// in front of website you wish to download. Usage: HTTPGet MyList, www.cameroncole.com - All keystrokes in Windows are now captured into {GlobalKeys}. The format is the decimal value of the character preceeded by @-alt, ^-ctrl, ~-shift if applicable and followed by a comma. Each time a key is pressed {GlobalKeyCount} increments by 1. - ClearGlobalKeys resets the {GlobalKeys} and {GlobalKeyCount }special variables. The command has no paramters - CDSEdit 2.0 now ships with AC Tool including an Advanced Query Mode and a dataset export to just about any known format 4.5.3 - 02/18/2004: - Corrected another problem when editing a macro with comments. An index out of bounds error would appear when deleting lines. 4.5.2 - 02/18/2004: - Scroll bars should now update properly when opening files after startup - Correct a problem when editing macros that would return a list index error - Fixed a bug in the include file logic that was not properly reporting the path and name of missing include files. - Dataset fields and constructs can now be the result of the compute 4.5.1 - 02/14/2004: - CastSpellEx and WaitforCursor are now functioning correctly - Companion reports correct version to chat window on login - VendorID command returns GUID of currently open vendor in {PluginResult} (Zero if no vendor is open) 4.5 - 02/08/2004: - Converted AC Tool source code to Delphi 7 - MouseClickDelay allows the user to select a millisecond delay between right and left mouse clicks. Usage: MouseClickDelay 100 - The SHIFT keyword can now be used in front of RIGHTMOUSEUP, RIGHTMOUSEDOWN, LEFTMOUSEUP, and LEFTMOUSEDOWN. This keyword depresses the SHIFT key before or after the UP/DOWN mouse action 4.4.16 - 12/10/2004:
- TradeAddItem. If you are in trade mode with another player, adds an item (name or GUID) to your side of the trade window - LoadDecalTrade. Loads a built-in dataset named 'DSTrade' with the contents of the left-hand-side of the trade window. Fields in the DSTrade dataset are: GUID (Integer) NAME (String) COUNT (Integer) VALUE (Integer) USESLEFT (Integer) TOTALUSES (Integer) TYPE (Integer) WORKMANSHIP (Float) - Built-in dataset DSWorld contains a field named 'WORKMANSHIP' - Built-in dataset DSInventory contains a field named 'WORKMANSHIP' - DirectGroupTell. Sends an @tell to a group directly, without requiring use of Say/SayPaste commands. 'Groups' are Fellowship (@f), Co-vassal (@c), Patron-to-Vassal (@v), Vassal-to-Patron (@p), Allegiance broadcast (@a) and Follower-to-Monarch (@m) Usage: DirectGroupTell @f, Message to fellowship - ExamineItem. Adds an item to Decal's ID queue for identification without requiring use of the Examine keystroke. Results are returned in the _id* variables. Note, if you have another plugin running that performs background ID's (eg BS/2 or ElTank), you will get unexpected results because the ID queue is shared. Usage: ExamineItem Copper Heavy Crossbow - LoadDecalWorldEx. An extended version of LoadDecalWorld that takes 2 additional filtering parameters. Currently only NAME and TYPE are supported filters. Others may be added if requested. Usage: LoadDecalWorldEx FilterBy, FilterValue, [optional DISTANCE] // Load DSWorld with only 'Player' type objects (Player = type 24) LoadDecalWorldEx TYPE, 24 // Load DSWorld with items containing 'Olthoi' in their name, // and get distance to each LoadDecalWorldEx NAME, Olthoi*, DISTANCE - LoadDecalEnchantment. Loads a dataset (DSEnchantment) with all the active spells currently on your character. the dataset contains 4 fields: SPELLNAME, SPELLID, LAYER, TIMEREMAINING - DirectEmote. Sends emote text without requiring use of Say/SayPaste Usage: DirectEmote mourns the burning of another platinum scarab - UseFociSpell. A 'foci' spell is the built in spell on a casting device (eg the Brilliance spell on a Focusing Stone). This command allows the spell to be cast on a named item or GUID. Usage: UseFociSpell Focusing Stone, PlayerName
- SetIdleTimeout. Accepts 1 parameter, which is the number of seconds elapsed before your client logs you out. - DirectTell. Sends an @tell to another player directly, without requiring use of Say/SayPaste commands. Usage: DirectTell PlayerName, MessageText - DirectChat. Sends text to local chat without requiring use of Say/SayPas te commands - UstAddItem. Moves a named item or GUID to the UST window. You must open the UST first. Usage: UstAddItem ItemName - SetCombatState. Toggles combat mode without requiring a keystroke. Valid parameters are 1 (Peace) 2 (Melee Combat) 3 (Missile Combat) 4 (Spellcast Combat). Constants for these are in Companion.inc in the Macros folder. Usage: SetCombatState 4 // enter spellcasting combat mode - ToggleAutoRun. Sets auto run mode on or off. Usage: ToggleAutoRun Off|On 4.4.15 - 08/17/2003: - Attempted a fix for _xptotal errors on high level characters - DESC on the DSINDEXADD command is now optional - Added ErrorProcedure and ErrorFile as informational variables in the "On Error" procedures - Fixed several problems with LoadDecalText 4.4.14 - 08/12/2003: - Expanded all the internal text caches to 5000 lines from 500 lines - LoadDecalText retrieves a dataset of all the text sent to the client in various forms. The Type field (Chat, Tell, Message, Server) seperates the various messages. An optional parameter CLEAR can be used to automatically empty the cached text. In all other respects, this command works like the other LoadDecalXXXX commands - Fixed a problem with constants rounding when over 8 digits - Adding DESC as an optional last parameter on DSIndexAdd will sort the dataset descending rather than ascending - Pressing Control-M in AC Tool will create a MousePos entry of the current mouse coords. You can find the same option under the Tools menu called Quick Mouse Position - EOF, BOF, FILEEXISTS, and SHOWFORM no longer cause a runtime error in the syntax checker - KeyRate sets the delay between keypresses and the key up/down. The default KeyRate is 2 milliseconds or KeyRate 2 - DSCopy copies DATASET1 to DATASET2 including all fields, indexes, and data - IRCSTART starts up IRC while in the macro - The IRC :actcmd should now support {actcmdparam} - Made some adjustments to the Move Vendor to hopefully squelch the problems when using it with standard Move functions
- New variable added called _fellowrecruit that gets populated with the user name of the person trying to recruit you 4.4.13 - 06/04/2003: - Fixed a problem with SetConst and the + 4.4.12 - 06/03/2003: - Fixed a bug when using multiple when conditions in the same macro - Issueing the new RESTART command in a macro causes the macro to stop immediately just like hitting the stop button and starts the macro up again just like hitting the start button - SHOWMESSAGE command added. The command displays a custom message box to the user and returns an integer that represents the button you pressed. ShowMessage Constant = Type, Buttons, MessageText ShowMessage MyConst = Warning, OK:CANCEL, Here is an OK and Cancel Valid Types are: Warning, Error, Information, Confirmation Valid Buttons are: OK, CANCEL, ABORT, RETRY, IGNORE, YES, NO, ALL, NOTOALL, YESTOALL - Both SHOWMESSAGE and SHOWFORM now switch back to AC Tool to prompt the user and then automatically switch back to the program you were in when the command was executed 4.4.11 - 06/02/2003: - Fixed another bug with the new IF/WHEN check. {} variables now work - LoadDecalVendor function loads the built in DSVendor dataset with the entire contents of the selected vendor's inventory. The SLOT field contains the drop down on which the item exists LoadDecalVendor DSFirst DSVendor Sendtext 13, DSVendor[Name] 4.4.10 - 05/31/2003: - Fixed a bug with the new IF/WHEN check - MailSend now accepts an optional constant parameter. If MailSend succeeds, the constant will contain 'Mail Sent Successfully'. Otherwise it will contain any errors generated by the MailSend - Made several spacing fixes to the constant parser. Creating a CRLF constant should now work properly - When a macro aborts, debug information is written to a debug directory. You can also cause this to happen manually by calling ExportDebug in your macro. If you call it manually, all the static Decal variables are also dumped 4.4.9 - 05/29/2003: - Rerelease of 4.4.8 with the proper installation files 4.4.8 - 05/28/2003: - Fixed the AC Tool .mac files not associating with AC Tool - On Error procedures now report the correct error message always
- Fixed another problem when using functions inside of commands with commas - Packslots now returns 0 in {PluginResultAdd} if the Pack has no slots - IF and Procedure When must now have a constant, variable, or function or they generate an error. This is to cut down on missing $ in front of constants - In the save and open file dialogs, *.INC is a default extension now. - Bug fix was made for the crash in the trade window - The pack count should now be correct when using a Foci. If you try to use a Foci pack, No Pack will be returned - A comma fix was made to certain commands like VendorSelect. 10,000 should no longer look like 10, 000 in those commands 4.4.7 - 05/13/2003: - The combobox control on the form can no longer take free form text - Fixed the bug with dataset variables - Fixed the indention of a Form in Beautify Macro - FormSave FORMNAME, FILENAME saves the contents of a form to a file - FormLoad FORMNAME, FILENAME loads the contents of a form from a file. The $Result variable gets set to True if there was data to load and False if there was not - Moved some items around in the treeview. Some commands were in the wrong group 4.4.6 - 05/12/2003: - Fix was made to the north/south east/west location function. The coords should now report correctly everywhere - Other peoples equip actions will no longer add to your equip list - Sometimes when using functions an "Invalid format" error would be created. This is now fixed - StrPad now appends N spaces to the end of a constant rather than truncating the constant to N length - Fixed the thousands seperator on FormatNumber - Form functionality has been added into AC Tool. Here is the layout: Form FormName, FormCaption FieldName=EditBox:FieldLabel:DefaultValue FieldName=CheckBox:FieldLabel:True/False FieldName=Combobox:FieldLabel:Comma Seperated List end an example of how to use a form Form Test, This is my test ed1=EditBox:Edit 1:Test ed2=CheckBox:Check 1:True ed3=Combobox:Combo 1:Item 1, Item 2, Item 3, Item 4 end if ShowForm Test SendText 13, Test[ed1] Test[ed2] Test[ed3] else Sendtext 13, no go end - {PluginResultAdd} on the CountMine function now contains either the count returned or 0
4.4.5 - 05/08/2003: - INC/DEC problems have been fixed - Fixed some strange numerical problems with referencing some constants - DSSaveFilter command added that saves a dataset's filtered records only. DSSaveFilter DATASET, FILENAME - StackItem will attempt to stack item 1 with item 2. This command could have other uses as well StackItem ITEM1, ITEM2 Note: ITEM1 will always be from your inventory. ITEM2 is from the world. So you could try to stack something on a player. Be careful! - Put in some code to handle non '.' decimal regional settings 4.4.4 - 05/07/2003: - Strange decimal problems should be corrected - Constants can now be stacked on one line constants Var1, Var2, Var3=9 VarA, VarB=12 VarZ=0 end 4.4.3 - 05/07/2003: - Compute negative numbers should now work - Compute with text constants or variables treats the constants or variables as zero - Set and SetConst keywords are now both acceptable and both do the same thing - Added System Information to the Help Menu 4.4.2 - 05/06/2003: - Fixed a bug with the SpellInBook spell limit - Failure to initialize a constant then using it in a compute should be fixed - Cannot Evaluate Errors should now give more useful debug information 4.4.1 - 05/06/2003: - You no longer have to save a macro in order to run it - Auto indent feature turned on in the editor - A few fixes were made to StrProper - Fixed the Procedure List in the editor to work with include files - ListAdd should now work with single commas in the added string - Fixed several bugs with the compute statement - Overall macro performance increase - IsWindow now accepts PID and caption wildcards - {ACTVersion} returns the version of AC Tool - Trimmed the results of FormatFloat - You can now change the Nick for IRC on the IRC Tab - CastSpellTimeout added as a command
Packslots should now count the main pack correctly SpellInBook should work with more than 1500 spells now _myid now returns a value Double commas in the last param of SendText should no longer be required, but still should work - MoveAllItemVendor and MoveAllItem should now wait until it is finished before continuing on in AC Tool - Splash screen was not showing the version correctly - Removed the Beta keyword from the install 4.4 - 04/28/2003: - Packslots on the mainpack returning -1 fixed - _tradeaddGUID is a new variable that returns the GUID of last item added to the trade window. Wait for this variable to be populated before checking the other _tradeXXXX variables - MoveAllItemVendor is a new command that moves all of a named item to a vendor's sell window. MoveAllItemVendor ITEM, VENDOR - Fixed a bug when passing no params to a procedure with a USING keyword - Relaxed the comma restriction on the last token of a command for several commands including SendText. So this is now valid: SendText 13, This, Is, A, Test - Recursion Stop check now occurs at 5000 rather - CastSpell and CastSpellEx now pull up the same selecting them from the Command Treeview - The Spell List when selected from the menu now to the clipboard when a user presses OK - FormatDateTime function added into the system. than 500 wizard when copies the spell name Example:
FormatDateTime work = 12/20/2002 11:51pm, m/d/yy h:n Mask Settings: c - Displays the date using the format given by the ShortDateFormat global variable, followed by the time using the format given by the LongTimeFormat global variable. The time is not displayed if the date-time value indicates midnight precisely d - Displays the day as a number without a leading zero (1-31) dd - Displays the day as a number with a leading zero (01-31) ddd - Displays the day as an abbreviation (Sun-Sat) using the strings given by the ShortDayNames global variable dddd - Displays the day as a full name (Sunday-Saturday) using the strings given by the LongDayNames global variable ddddd - Displays the date using the format given by the ShortDateForma t global variable dddddd - Displays the date using the format given by the LongDateForma t global variable e - Displays the year in the current period/era as a number without a leading zero (Japanese, Korean and Taiwanese locales only) ee - Displays the year in the current period/era as a number with a leading zero (Japanese, Korean and Taiwanese locales only) m - Displays the month as a number without a leading zero (1-12).
If the m specifier immediately follows an h or hh specifier, the minute rather than the month is displayed mm - Displays the month as a number with a leading zero (01-12). If the mm specifier immediately follows an h or hh specifier, the minute rather than the month is displayed mmm - Displays the month as an abbreviation (Jan-Dec) using the string s given by the ShortMonthNames global variable mmmm - Displays the month as a full name (January-December) using the strings given by the LongMonthNames global variable yy - Displays the year as a two-digit number (00-99) yyyy - Displays the year as a four-digit number (0000-9999) h - Displays the hour without a leading zero (0-23) hh - Displays the hour with a leading zero (00-23) n - Displays the minute without a leading zero (0-59) nn - Displays the minute with a leading zero (00-59) s - Displays the second without a leading zero (0-59) ss - Displays the second with a leading zero (00-59) z - Displays the millisecond without a leading zero (0-999) zzz - Displays the millisecond with a leading zero (000-999) t - Displays the time using the format given by the ShortTimeFormat global variable tt - Displays the time using the format given by the LongTimeFormat global variable am/pm - Uses the 12-hour clock for the preceding h or hh specifier, an d displays 'am' for any hour before noon, and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case, and the result is displayed accordingly a/p - Uses the 12-hour clock for the preceding h or hh specifier, and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly ampm - Uses the 12-hour clock for the preceding h or hh specifier, and displays the contents of the TimeAMString global variable for any ho ur before noon, and the contents of the TimePMString global variable fo r any hour after noon / - Displays the date separator character given by the DateSeparator global variable : - Displays the time separator character given by the TimeSeparator global variable 'xx'/"xx" - Characters enclosed in single or double quotes are display ed as-is, and do not affect formatting. - {now} variable added that returns the current date and time in the mm/dd/yyyy hh:nn:ss:zzz format 4.3.14 Beta - 03/19/2003: - StrReplace now accepts an empty last character - MoveItem and MoveAllItem now accept the slot property correctly - Added new command named SpellInBook that checks to see if you have learned a specific spell. Accepts either a Spell ID or a Spell Name. Returns SPELL NOT FOUND if it is not in your book - Three new companion variables have been added:
_optstretchui - is Stretch UI on or off _optignoretrade - is the ignore trade requests on or off _optallowothergive - can other players give you items - Fixed another problem parsing constants in the procedure using clause - IgnoreBracketErrors comamnds will turn on/off bracket checking. IgnoreBracketErrors on IgnoreBracketErrors off - StrProper function added that attempts to smartly upper and lowercase words in a string. It isn't perfect and may not do exactly what you want, but it is a fairly powerful function if used properly StrProper NewText = some of this will be uppercased - Include file paths can now be added to AC Tool under the menu item Editor/Preferences. The order of the path entries is the same order that AC Tool will search the paths
4.3.13 Beta - 02/07/2003: - Window List is now accessible from the menu - StrTrim now only uses one parameter like in the help - Values in a constant no longer automatically trim as before so StrPad now works properly 4.3.12 Beta - 02/07/2003: - StrLen fixed - StrTrim fixed - SetActiveWindow now accepts the PID rather than the windows handle - SetActiveWindow with no parameters pops up the window list for selection - Passing double commas as parameters in the call statement should now work - Fixed a bug in ClearPluginVar - An updated version of spells.cds has been included with this release - The open Window List now contains the Process ID along with the window name 4.3.11 Beta - 02/07/2003: - LoadRGB fixed - If you are not using Decal, AC Tool no longer complains about it - Find/Replace no longer hides the highlighted text when activated 4.3.10 Beta - 02/06/2003: - FindText and FindNextText can once again search on empty strings - Couple fixes to the new include data in the error box - Bug with Inc/Dec not working has been fixed 4.3.9 Beta - 02/05/2003: - StrPos fixed - StrWord fixed
StrNumber fixed IsObject fixed Filename of the open macro now displays in the AC Tool title Fixed a bug where cdsedit would generate an error when loading a dataset from the command line - You can now see the module (include file) and line number when an error is generated in the error message dialog - When you want to use a comma (,) in a command, you will need to either put it in a constant or use a double comma (,,) - The AC Tool and CDSEdit title and caption show the name of the macro or dataset you have loaded 4.3.8 Beta - 02/03/2003: - FileExists now highlights properly in the editor - MousePos accepts single constant parameters again - Even more of that code clean up in this release - Host of new FTP commands. Here they are in an example FTPOpen someplace.com, user, password FTPTransferType BINARY // BINARY is the default FTPDirType BRIEF // BRIEF is the default FTPChdir somedir FTPDir dir FTPDownload dir[1], c:\test.jpg FTPUpload c:\test.jpg, sameole.jpg FTPClose - Local USING constants can now be set so you don't have to define them globally - Several DELAY bugs were found and fixed - You can now search for a window in SetActiveWindow by the handle id and the name instead of just the name - SetActiveWindow is MUCH faster - Complete rewrite of the windows switching and handling code 4.3.7 Beta - 01/29/2003: - Removed some display code that showed up whenever you ID'd an item - Another attempt at fixing the USING constants on a procedure - Case statement removed due to some huge holes that could not be filled or fixed easily - Empty parameters passed into a procedure via the USING phrase should now work properly - StringToList was not working properly when the string started with the delimeter - The AC Tool command treeview is now placed inside of commands.xml for easier modification - DSFindKey has been added for searching in the index. You must use DSIndexAdd and DSIndex in order for DSFindKey to work. However if you do, it is MUCH faster than DSLocate on large datasets DSIndexAdd MyDS, IndexName, FirstField DSIndex MyDS, IndexName DSFindKey MyDS, LookingForThisText if EOF MyDS SendText 13, Could not find string else SendText 13, Found String end
- WaitForCursor and CastSpellEx now test the BusyState and the cursor state of the AC Client rather than just the cursor state - The clean up of the code has begun. Some commonly used functions may not work due to moving items around in the source. I do my best to test these moves, but bugs can and will be missed 4.3.6 Beta - 01/22/2003: - FindNextText will now return TEXT NOT FOUND if you go past the end of a search rather than UNKNOWN ERROR. It will also maintain its position rather than requiring a FindText reset - {ActCmdParam} is now working properly - _idspellids and _idspelltypes are now comma seperated lists. They no longer add as numbers to produce one number - CommandText pauses AC Tool and waits for the user to enter text into the Chat bar in AC. After the user presses the ENTER key, AC Tool resumes and _commandtext contains the text the user entered - StrWord and StrNumber now put the correct command in the editor when the are double clicked from the tree view - _burden should report properly now. No guarantees since it relies on some suspect Decal Character Filter code - FileExists should now work properly - New version of CDSEdit.exe that fixes the load a dataset from a command line - Fixed a problem where procedures would sometimes not find constants from the using clause - New case statement. Here is an example Case $Const when 1 or 2 SendText 13, SendText 13, SendText 13, when 4 to 8 SendText 13, else SendText 13, end
Const is either 1 or Const is 2 or Const is 9 Const is between 4 and 8 I don't know what const is!
- ReadMemory/SetMemory should work now - MoveItem and MoveAllItem should be MUCH more reliable. Even pack full problems should be fixed 4.3.5 Beta - 01/05/2003: - Removed a bug in AC Tool that created an invalid c:\decal.xml file - StrPos with onle one parameter now searches for a space - Bell followed by a wav file name will play the wav file - {ActCmdParam} variable has been added. This variable contains any text keyed in past the /ActCmd CommandName. Will be blank if nothing other than /ActCmd and the Command Name - LoadRGB sets {RGBRed}, {RGBBlue}, and {RGBGreen} with the pixel colors at an X, Y position - Ipa's updated UMP.HTML file included in the UMP add on 4.3.4 Release - 11/25/2002: - GetAttrib and GetSkill when selecting from the tree view were popping the IsColor screen rather than entering the sample code
- Fixed a nasty little bug with using the same constant in multiple lines of code (StrReplace problem) - After running a macro, AC Tool would lose the status help on the Decal variables in the treeview - When using the File MRU menu if you have made changes to your macro, it will ask you to save those changes before opening the selected macro - Only the first AC Tool opened will interface with Decal from now on. If you load more than one AC Tool, subsequent AC Tool instances will display a black box in upper right corner stating No Decal Interface - PackSlots now gives the correct value - LeftMouseClick and RightMouseClick now take the optional Shift param which causes a shift-click to happen - Delay and Keydown are now much more precise - ActiveWindowCheck ON/OFF turns on or off the error message generated by SetActiveWindow when a window is not present - Fixed a problem when using {PluginResult} and _XXX variables - _VendorDropDown should now be working properly - VendorDropDown has been fixed as well - Fixed a display bug when using Unequip - The following _idXXX variables have been added. They are the raw values from the Decal messaging system so some of the items may need a little math to use. _idSpellIDs and _idSpellTypes is a comma delimited list of spells and their associated type (0 innate 128 active). Here is the list: _idvalue, _idarmor, _idskilllevel, _idlockpick, _idhealing, _idusesmax, _idusescurrent, _idspellcraft, _idmanaremaining, _idmanamax, _idmanacost, _idlorereq, _idrankreq, _idskillreq, _idskillreqid, _idwieldreqtype, _idwieldreqid, _idwieldreq, _idtinkercount, _idspellids, _idspelltypes, _idracereq - Ifs inside of Loops were causing some strangeness. Fixed the error message that was displaying as well. - _VendorValue was listed twice 4.3.3 Release - 11/12/2002: - Numerous help file updates - Cleaned up the code so the source can be released to the general public - Removed the debug messages from the F2 key 4.3 Release Canidate 16 - 11/07/2002: - Added several new _idXXXX variables. They are _idLockOpen, _idLockClose, _idManaRate, _idManaEfficiency, _idManaModifier - Fixed the F2 Start/Stop/Pause/Resume issues - When a constant is initialized with {NULL}, it now works properly - Updated the help file to include the new commands - New version of incUI.mac included with this release 4.3 Release Canidate 15 - 11/02/2002: - A serious long term bug with naming constants using characters other than A-Z, 0-9 and _ was found and fixed. Constants can now only have those characters in them and they cannot begin with a number - Let the flaming begin... new character variables on identify _idcharlevel, _idcharcurhealth, _idcharmaxhealth, _idcharstrength,
_idcharendurance, _idcharquickness, _idcharcoordination, _idcharfocus, _idcharself, _idcharcurstamina, _idcharmaxstamina, _idcharcurmana, _idcharmaxmana, _idcharrank, _idcharfollowers, _idcharspecies, _idcharloyalty, _idcharleadership, _idcharPK, _idchargender, _idcharrace, _idcharclass, _idcharfellowship, _idcharmonarch, _idcharpatron - _ChatMessage and _ChatMessageColor are now set to the last item in the chat window - FindText, FindTextNext, FindTextClear now support the MESSAGE keyword. MESSAGE logs all items entering the chat area - New incUI.mac included with this release that renames a lot of constants with a - in them to have a _ in them. You may need to Search and Replace your XXXX-Dn and XXXX-Up constants with XXXX_Dn and XXXX_Up. 4.3 Release Canidate 14 - 10/31/2002: - Compute can now use constants passed into procedures with the USING command. There may still be some funkiness to work out - Fixed an unreported bug with using Compute and text based constants - Using ListToString with a space should now work correctly - Better error checking and reporting in the preparser - Strange problem using commands without parameters should be fixed - ACTCMD works with IRC now. Works just like the /ACTCMD command only use :ACTCMD - Changed burden to use the character filter code rather than my homegrown math - Attempted a fix to the inventory search problem 4.3 Release Canidate 13 - 10/29/2002: - Fixed Access Violation when using space with StringToList - Another performance boost that should really kick macros into high gear. Should now be faster than 4.1.X and MUCH faster in larger macros 4.3 Release Canidate 12 - 10/28/2002: - AsciiOrdinal can now accept blank or space without blowing up the macro - A constant ending in a period (.) no longer picks the period up as part of the constant name - Several commands were broken (CastSpell being on of them) after the last performance enhancement. Should be fixed now - On Error procedure added for trapping the errors generated by AC Tool. There are also new variables called ErrorLine, ErrorMessage, and ErrorHandled. ErrorLine is the text of the line that generated the error. ErrorMessage is the message error text. ErrorHandled is either True or False (False by default). Setting it to True means that the error will not pop a message box and continue on processing. False will perform your code, but will pop the AC Tool error message when it is done with your procedure. Any errors in the On Error procedure will always pop a message box and not perform the code in On Error. ProcessMessages is not needed for this command to work. Here is some example code to work with: procedure ACToolError on Error SendText 13, Error in line $ErrorLine SendText 13, Error Message: $ErrorMessage SetConst ErrorHandled = True
end SetConst NoConstDefined = This is going to generate an error! - StrWord picks the word or number out of a string by offset and sets the specified constant. StrNumber does the same thing only it searches for numbers only. constants Temp=0 end StrWord Temp = These are some words, 3 SendText $Temp // Should see the word "some" displayed StrNumber Temp = These 12 are some 9.87 words, 2 SendText $Temp // Should see the number "9.87" displayed Fixed a bug with Blade Arc VII not being recognized by name StrPos should now work properly when searching for commas Single quote marks in the DSLocate statement now work properly IRC settings now save whenever you exit AC Tool New IRCCMD for sending actual IRC commands to the IRC session. You must be familiar with IRC commands since this has no error checking on it. It will send exactly what you tell it - Some of the error messages generated by AC Tool didn't help diagnose the actual problem. Several error messages have been changed to reflect the true nature of the problem - Fixed some annoying tab problems when in test mode 4.3 Release Canidate 11 - 10/25/2002: Fixed a problem setting the font in the editor Fixed a problem with macros not running Fixed a problem with End statements followed by text (End If) no longer working - Blank searches using FindText in Tell, Server, and Chat should find the first entry. The same is true for FindNextText - Reset the Decal check to 2.4.0.0 since all versions of Decal 2.4.0.0 and higher report as 2.4.0.0. You still need at least 2.4.1.3 to get the proper character amounts
4.3 Release Canidate 10 - 10/24/2002: - _manamana and _manaitem now get set to 0 and the item name on items that do not have a mana bar - Attempted another fix of the F2 key press resuming a macro - Made some adjustments to the internal datasets to prevent the Out of Memory errors being reported. Side effect is constant values cannot be larger than 4092 - Procedure's USING constants are no longer always uppercased. The case is stored the same way it is passed in - AC Tool 2.4.1.3 is now the minimum required Decal to run AC Tool - When the companion plugin was a different version than AC Tool an error was not being created - Fixed a bug trying to parse constant values with a _ in them - Another series of performance enhancements have been made - AsciiOrdinal function added that turns a single character into its ASCII numeric value - incUI.mac version 1.09 now included with the install
- DSSave will now save as an XML file if you use a .XML extension on the save file. The same is true for DSLoad. DSLoad will only recognize a very specialized XML format 4.3 Release Canidate 9 - 10/10/2002: - Problem with _distance timing out rather than returning an error immediately - Fixed an error statement when using LoadDecalWorld without the DISTANCE parameter - Constant values were being truncated - Extra comma at the end of _mononline has been removed - Your name will no longer appear in _mononline - Fixed a bug in PackSlots not returning a proper value - Fixed a couple of F2 Start/Stop/Pause/Resume bugs 4.3 Release Canidate 8 - 10/06/2002: - Fixed the problems Filtering datasets - Double clicking on PackSlots now enters PackSlots rather than Packslot - Pressing F2 once pauses and resumes in AC. Pressing F2 twice stops the macro - Restored the max health/stamina/mana code I used rather than Decal - LoadDecalWorld now accepts the DISTANCE parameter. This will fill in the distance field with the appropriate value - Generated more beta keys inside the EXE - _inflictXXXX variables were not clearing using ClearPluginVar - Fixed a problem with USING and defining constants causing funkiness setting and using variables - Switched internal Constant list to a dataset for a further increase in performance. The more complicated the macro the faster it should run with this change - Double clicking the spells window now clicks the OK button automatically - _monsize was reporting one higher than was actually in the monarchy - DSDelete function added for deleting records out of a dataset - Fixed a number of bugs in DSLocate 4.3 Release Canidate 7 - 10/03/2002: - Made a performance adjustment to _distance - _distance now sets {PluginResultAdd} with text problems retrieving the distance - Enhanced MoveItem commands to be more stable - _chattext and _chatname now return the correct - SetActiveWindow can now do partial window name character must be an * for a partial search to SetActiveWindow notepad* This would find a window called Untitled - Notepad - _monfollowers and _mylevel now report the correct information - When exiting AC Tool with a macro running, it now allows you to press cancel and continue macroing - When creating a New Macro, AC Tool now allows you to press cancel which will cancel the new and take you back to your currently loaded macro - Fixed a problem with spaces in the compute statement and also
increase the performance of the compute statement significantly - _insertXXXX commands should now work when given an item. _InsertInvItem _InsertInvDest _InsertInvSlot _InsertInvKind GUID of the item Destination pack GUID Always 0 Kind of move (2=Container, 3=Wielder)
- Fixed some of the problems with the enchantment commands not reporting the highest or latest spells - New event that automatically fires when you detect a timeout has been written call ON TIMEOUT. Whenever the plugin fails to respond to a command this event fires automatically. ProcessMessages is not needed. procedure TheTimeout on Timeout saypaste Timeout has been achieved! end - _FellowName, _FellowLeader, and _FellowCount have been added. Note that _FellowLeader is the GUID of the player not the name - LoadDecalMonarch now works and is properly syntax highlighted - _idBurden variable added that is the burden of an item - Major overhaul on the About screen 4.3 Release Canidate 6 - 09/21/2002: - LoadDecalWorld function loads the built in DSWorld dataset with the entire contents of the Decal world filter LoadDecalWorld DSFirst DSWorld Sendtext 13, DSWorld[Name] - LoadDecalInventory function loads the built in DSInventory dataset with the entire contents of your character inventory LoadDecalInventory DSFirst DSInventory Sendtext 13, DSInventory[Name] - LoadDecalMonarch function loads the built in DSMonarch dataset with the all the allegiance information transmitted to the client LoadDecalMonarch DSFirst DSMonarch Sendtext 13, DSMonarch[Name] - New damage Decal variables which contains amount, source, and type of damage you inflict on your opponent: _inflictdamageamount, _inflictdamagesource, _inflictdamagetype - _inflictmeleeevade added which is a 1 if you were evaded and a zero if you were not evaded - The following variables get populated whenever you ID an item: _idMaterialType - Material Type _idWorkmanship - Workmanship _idWorkmanshipDiv - If not zero divide and round into Workmanship _idInscription - Inscription _idInscriptionAuthor - Inscription Author (name only)
_idDamageType - Damage Type _idSpeed - Weapon Speed _idSkill - Skill Required _idDamage - Maximum Damage _idDamageRange - Range of Damage (use to determine minimum damage) _idDamageBonus - Damage Bonus _idRange - Range of weapon (zero unless it is a ranged weapon) _idDefenseBonus - Defense Bonus _idAttackBonus - Attack Bonus - The following variables get populated whenver an item is moved or added into your inventory: _InsertInvItem _InsertInvDest _InsertInvSlot _InsertInvKind GUID of the item Destination pack GUID Pack slot Kind of move (0=Normal, 1=Container Move, 2=Foci)
- _Distance was access violating when the Decal World Filter lost track of an item in the world. Errors are now reported in {PluginResult} - The new debug mode "/actdebug on" was turning the plugin debug mode on as well - The PROCEDURE EVERY statement can now accept a constant properly - Widend all the internal loop variables to be a 64bit integer for those people who like to run macros for long periods of time - Improved the performance of the IF statement - ListFind now syntax highlights properly - Fixed _failure when casting spells - Fixed a variety of strangeness with all the new performance code 4.3 Release Canidate 5 - 09/17/2002: Fixed a crash of the companion that would happen on some systems Enchanced the Companion.log and CompanionError.log messages You can now view the startup splash screen under the help menu Added a bunch of debugging to the _distance variable
4.3 Release Canidate 4 - 09/16/2002: - ON ACTSTOP procedures were not being called - Fixed the mail example in the README.TXT to be compatible with 4.3 and up. - Renamed the ON ACTSTOP to ON STOP. - PackSlots should now be a recognized command - Mouse memory writes no longer occur unless the window name is Asheron's Call - Removed the Decal memory check if the window is not Asheron's Call - ListAssign assigns the contents of one list to another ListAssign ListFrom, ListTo - Double clicking on Equip, Equipped, and Enchantment should now write the proper syntax into the current macro - The letters 'TO' in a constant no longer creates an Invalid Format error in the loop command - FaceHeading companion function added that will face the heading entered. FaceHeading 90
- Fixed various bugs with the Enchantment command - Much improved error descriptions when errors occur in the Decal Plugin - Added _lastattacker and _lastattackerguid variables - _ChatName, _ChatText, and _ServerText were not being cleared using the ClearPluginVar command - IF BOF/EOF now work properly with datasets - Procedures can now accept parameters with the USING phrase procedure TestMe USING Var1, Var2, Var3 SendText 13, $Var1 $Var2 $Var3 end Call TestMe Cam, Is, Cool - A new keyword was added called {NULL} that returns a blank string when used in SetConst, IF, WHILE and passing parameters to procedures. SetConst Test = {NULL} - Fixed a problem with loops not working properly when they were nested - Added a version check between AC Tool and the AC Tool Companion - Improved command processing performance significantly - Added a minimum Decal Version check to AC Tool - Fixed multiple error messages popping up after the first error should have stopped the macro - Decal guys changed the clean MEMLOCS.XML format so I upgraded the parser to handle a wider variety of file funkiness along with fixing a handful of memory location reads. - Added some new command line parameters and documented the ones that were already there. Type actool.exe /? for the full list - Corrected some entries in the FAQ 4.3 Release Canidate 3 - 08/17/2002: - Fixed a bug where the first procedure was being called in some instances rather than the correct procedure. - /actdebug plugin command changed to /actdbgplg - You can now debug and step a macro while in AC. Type /actdebug on turns on echo of commands into AC. Type /actstep if you want to progress one single line. Type /actdebug off to turn debugging off. DebugMode On/Off commands do the same thing in a macro. Here is some sample code: DebugMode On SetConst SomeConst = 12 SendText 3, $SomeConst DebugMode Off - GetSkillEx and GetAttribEx use the new Decal methods for getting the effective skill and attribute values - Enchantment command added for getting information about enchantments on your character. Count, Time, Layer, Adjustment, and Affected paramenters return the information requested Enchantment Count Enchantment SpellID/SpellName Time // Returns time remaining Enchantment SpellID/SpellName Adjustment // Spells numeric effect
Changed _getmaxXXXX to use the Decal versions of the numbers Changed _myvitae to use the Decal version Made some code improvements to the internal Spell Name to ID function PackSlots function returns the number of open slots in a pack
4.3 Release Canidate 2 - 08/14/2002: - DistanceEx is now in the command list and syntax highlights - Fixed the CastSpell and CastSpellEx second parameter not selecting the proper item - Fixed a bug in the DistanceEx commands - Loop command expanded to accept the following syntax: loop Constant = 5 to 10 // also use $Constant = $x to $y SayPaste $Constant end - Upgraded to the latest Decal Com interface - New Debug Window added to help in debugging problems in macros. Contains the constants and their values as well as the procedure you are in and the order they were called 4.3 Release Canidate 1 - 08/08/2002: - Fixed some of the companion error messages to report the correct message number - Added additional debug information into the companion - Fixed another bug with VendorDropDown - Control, Shift, and Alt special keys (@,^,~) now work only when they are the first keys in a sequence. // This no longer sends an Alt Keys [email protected] // This still sends an Alt Keys @A - Fixed a bug when the WindowChange procedure was empty and created AC Tool would think it was never entered - Redid the Object Mapper so it works much better - Added the Tools menu and moved IRC Server, Universal Mouse Positions, and Spell List underneath the menu - Object Mapper is now available from the Tools menu - {ActiveWindow} was not always working properly - Fixed an access violation in _vendorselected - /actvendor command in AC dumps the vendors inventory to a comma seperated value (CSV) file - Updated the About Box look and fixed a couple of display bugs - DistanceEx function added which uses the Distance2D calculation in Decal. This function accepts two object names/guids DistanceEx Self, Brown Rabbit - Added _selectedx, _selectedy, _selectedz, and _selectedlandblock variables to give the selected items location 4.3 Beta 4 - 08/07/2002: - WaitForCursor is now in the command list and syntax highlights
- Added a new function called StrRight which copies from the right side of a string - Cleaned up the tree by adding three new groups called File, List, and Dataset. Also enhanced the images. - StrCopy no longer reads part of the actual command if you copy longer than the string - _ChatText and _ChatName were added. They contain the last chat text and user name that was displayed on the client - VendorDropDown should now return the dropdown box of the item in {PluginResult} - CopyFile command added to allow a user to copy disk files CopyFile $From, $To - AsciiChar function added. This allows a user to load a constant with a decimal ascii value. //This is a tab AsciiChar SomeConst, 9 - Some spacing problems in the new functions has been fixed - New macro added called spellload.mac which loads the SPELLS.CDS from a tab seperated value (tsv) file. This file is included with the release - Updated the spell.cds file so spell names should sync with this version 4.3 Beta 3 - 07/13/2002: - Several functions were not accepting parameters properly. KeyDown and CastSpell amoung them. - Invalid constants in the | delay now report an error - When using FindText with the TELL log, the names should return in {PluginResultAdd} - WaitForCursor command added in. Waits until the cursor changes to a normal pointer or the CastSpellTimeout variable is met (default is 5 seconds) - CastSpell should now be Decal independant again - Added in functions. Here is some sample code: function TestMe Result = 'Hello' end SendText 13, $TestMe 4.3 Beta 2 - 06/14/2002: CastSpell with targets should now work F2 Pause/Resume should now work SetActiveWindow Asheron's Call on new macros should display properly ClearPluginVar should now work with all memory variables _Vendordropdown = 0 when no vendor selected item Inc/Dec not working without $ in front of const CastSpellEx command added in. Waits until the cursor changes to a normal pointer or the CastSpellTimeout variable is met (default is 5 seconds)
4.3 Beta 1 - 05/25/2002: - Distance command added for getting the distance in yards to a
world object - Updated all the Decal Objects so they would be compatible with the upcoming betas - SelectNearest followed by a full or partial object name will select the object of that name closest to your character. An optional second parameter can be used to limit the distance. This parmeter is in relative yards/meters - _PointerState returns the state of the mouse pointer in AC. It will contain None, Idle, Busy, Using, Dragging, or Unknown - XX where XX is the number read from memory - _ChatStat returns True if you are in chat mode and False if not - Fixed a bug with multiple comment delimeters on the same line - Program now reads memory addresses from Decal's memlocs.xml rather than waiting on me to update the program - Added in EMail capability: Sets the Sets the Sets the Sets the Sets the Sets the Sets the Sends an Sets the Sets the Sets the Blind Carbon Copy of a message: MAILBCC [email protected] body of a message: MAILBODY SOMETEXT Carbon Copy of a message: MAILCC [email protected] From address of a message: MAILFROM [email protected] SMTP Host: MAILHOST mail.someplace.com SMTP Password if it is required: MAILPASSWORD PASSWORD SMTP Port: MAILPORT SOMENUMBER email message: MAILSEND Subject of a message: MAILSUBJECT SOMESUBJECT Recepients of a message: MAILTO [email protected] SMTP User ID if it is required: MAILUSERID USERID
Sample Macro: MAILBODY This is a test body MAILFROM [email protected] MAILTO [email protected] MAILSUBJECT Test Post MAILCC [email protected] MAILBCC [email protected] MAILHOST mail.someserver.com MAILSEND SendText 13, Mail Sent! - Added in new ClientDataSet functions Filter a dataset's contents: DSFilter DATASET, FILTER Load a dataset from a file: DSLoad DATASET, FILENAME Save a dataset to a file: DSSave DATASET FILENAME Go to the first record: DSFirst DATASET Go to the last record: DSLast DATASET Go to the next record sets DATASET.EOF: DSNext DATASET Go to the previous record sets DATASET.BOF: DSPrior DATASET Sets the datasets Index: DSIndex DATASET INDEXNAME Add an index on a field or fields: DSIndexAdd DATASET INDEXNAME, FIELD S Delete an index: DSIndexDelete DATASET INDEXNAME Locate a record in a dataset: DSLocate DATASET FIELDNAME, FIELDVALUE Puts the dataset in edit mode: DSEdit DATASET Inserts a record into the dataset: DSInsert DATASET Appends a record to the end of the dataset: DSAppend DATASET Cancel a pending append/insert/edit: DSCancel DATASET Post a pending append/insert/edit: DSPost DATASET Empty a datasets contents: DSEmpty DATASET Returns the record count for a dataset: DSCount DATASET CONSTANT
Returns the current record number: DSRecNo DATASET CONSTANT Goes to the record offest: DSGotoRec DATASET RECNO dataset Test Fld1=String 30 Fld2=Integer Fld3=Float Fld4=DateTime end IF EOF DATASET IF BOF DATASET SetConst DATASET[FIELDNAME] = 'Hello world!' SendText 13, DATASET[FIELDNAME] DSFilter Test, 'Fld1 = ''Hello''' Filter Parameters: < Less than > Greater than >= Greater than or equal to <= Less than or equal to = Equal to <> Not equal to AND Tests two statements are both True NOT Tests that the following statement is not True OR Tests that at least one of two statements is True + Adds numbers, concatenates strings, - Subtracts numbers * Multiplies two numbers / Divides two numbers * wildcard for partial comparisons - Turn on/off the Companion with /ACTCOMP OFF and /ACTCOMP ON - AC Tool install now includes CDSEDIT.EXE which is designed to view or edit saved datasets - Fixed Inc and Dec not recognizing constants properly - Keydown should now work with all keys - Added better error handling/logging in the Plugin command - CastSpell timeout settable - CastSpell sets {PluginResult} to TIMEOUT when the the function has timed out - Added a check for SPELL.CDS when loading - You can now add a macro path behind ACTOOL.EXE to load a macro - Adding the -start parameter to the exec line for AC Tool starts either the macro specified on load or the macro you had loaded last ACTOOL.EXE -start C:\PROGRAM FILES\ACTOOL\MYMACRO.MAC - You can now have both 4.1 and 4.3 plugins installed on the same machine. You should still not run them at the same time however - VendorDropDown command added that will tell you the drop down of an item by name or guid - _VendorDropDown variable added that shows which drop down the item that is selected - Much improved performance for certain Companion variables - Improved overall performance of the Companion - Equipped function added for testing if an item is equipped or not
- Unequip variable added that names the last item that was unequipped - Procedures can no longer be defined with the same names as constants or other procedures - A stability change was made to MoveItem and MoveAllItem - GetScreen has been removed as a command from the system - Bug with using sec/min in CastSpellDelay fixed - Big upgrade to the Spell List. Should be MUCH faster and easier to use. - Improved error logging in the Companion - IF SPELLEXISTS now works with names and numbers - /actmouse copies MOUSEPOS and the current mouse positions to the clipboard - _mylevel added as a variable - CastSpell can now accept a name or guid as a target - You can now configure F2 to start/stop or start/pause using the Macro/Decal F2 Pause Macro Menu option - You can now all AC Tool errors into Decal using the Macro/Send Macro Errors to Decal Menu option - http://something is no longer consider a commented line even though it still displays as a comment line - An event now fires when a macro is stopped procedure Stop on ACTStop // Do something end - ListFind command added for finding the offset of partial text in a list - FileExists command has been added to AC Tool if FileExists readme.txt SendText 13, It Exists! end - StringToList for converting a string into a list StringToList List, String, Delimeter - ListToString for converting a list into a string ListToString List, String, Delimeter - inc/dec statements now work with lists - Added new variables for determining damage type and location. Also added the types to the INCCOMPANION.MAC file. - DelayUntil function added DelayUntil _mymana > 100 - Added in functions. Here is some sample code: function TestMe SetConst Result = 'Hello' end SendText 13, $TestMe 4.1.6 Release - 05/15/2002: - Updated the memory addresses for CastSpell and Mouse Movement
4.1.5 Release - 04/11/2002: - New portal spells added to the AC Tool spellbook - A Companion.log file is now generated everytime you log a character into AC 4.1.4 Release - 04/09/2002: - Updated the memory addresses for CastSpell and Mouse Movement 4.1.3 Release - 03/13/2002: - Updated the memory addresses for CastSpell and Mouse Movement 4.1.2 Release - 02/15/2002: - Fixed the newly created Shift KeyDown bug - UpperCase and LowerCase string functions added - Multiple items were not adding to the money and value trade variables - _LastDeath should be working now - CastSpell is working again - Max stats should now be accurate when you have vitae - Max mana reduces when The focusing stone is equipped - Install should overwrite Companion now - More corrections to the help files - Test logging with SendText much better - Added Spell List to the Help menu and it now shows the spell index - Updated the mouse memory addresses with this release 4.1.1 Release - 02/12/2002: - Keydown with shift/alt/control keys should work properly now - Several instances of using constants with lists was not working - FindText commands now load {PluginResultAdd} with the sender name - /actguid displays a selected item's guid and loads it into the clipboard - MoveAllItem now takes an optional final parameter PACKNO. Add this parm on and it will only move items from this pack - Fixed several problems with _trader variables. Should be working now - Made several corrections to the help file 4.1 Release - 02/10/2002: - Psi's Universal Mouse Position (UMP) included with this release. Check it out under the help menu - Pasting into the find window via Ctrl-V has been fixed - Constants were not being reported as undefined when they should have been. Use $$ to get a $ in a string ($$100 prints $100) - Added new function ListIndex for searching through a list 4.1 Beta RC11 - 02/09/2002: - Companion was not loading from a stupid last minute change 4.1 Beta RC10 - 02/08/2002: More fixes to the MoveAllItem and MoveItem commands Attempted to stabilize the plugin even further Updated incUI.mac to version 1.05
- Fixed a bug when defining constructs with spacing (test = list) - Using constants to reference lists was not working in SetConst - Whenever items were moved around in inventory, an error was generated in companionerror.log and caused other odd problems - Using plugin commands could cause macros to stop processing basic commands (keys, delay, etc.) 4.1 Beta RC9 - 02/05/2002: - MoveAllItem now takes an optional final parameter called ALLPACKS. Add this parm on and it will not check the destination pack when moving - MoveAllItem should be more effecient and consistant now - MoveItem will not return until the item is moved - You can now reference lists as a constant ($testlist[1]) - Better error logging in OnNetEcho - Minor help file updates have been done - A few more attempts to stabilize the Companion and World Filters were made 4.1 Beta RC8 - 02/02/2002: - ActCmd procedures may now be called using Call - _myvitae, _mymaxhealth, _mymaxmana, _mymaxstamina not syntax highlighting - SetMinComp statement could not use a constant for a component name - ListCount could not use a constant for a list name - New command that allows the internal counter for an EVERY procedure to be reset has been created. ResetEveryProc PROCEDURE - MoveAllItem now only moves items that are not in the destination pack - MoveAllItem does not return until it is done moving items - MoveAllItem should be more consistant now - Fixed the {PluginResult} sometimes being 0 when it shouldn't - _vendorselected, _vendorguid, _vendorvalue, _vendorcount variables added to the Companion - VendorSelect selects vendor items by name - VendorOffset selects vendor items by offset 4.1 Beta RC7 - 01/31/2002: Screwed up and released the wrong plugin in RC6 New /act commands should no longer give the "this is not a command" Slightly better error logging in the Companion Fixed some of the Companion Log data when in test mode
4.1 Beta RC6 - 01/30/2002: - SetMinComp N, Type (powder, talisman, taper, scarab, herb, all) Type is optional and assumes all if you do not enter it - New function called MoveAllItem works like MoveItem except it moves all items of the same or partial name - Fixed the spelling error with Cobalt in the component functions - More help file updates including the colors available with SendText - Found a novelty in Windows. GetTickCount is terrible for timing loops. It was throwing the Delay statements off by 0.4 seconds in some cases. For you Window programmers, use TimeGetTime for accurate timing - Better CheckComp SplitPea message - Made some adjustments to select and selectmine - Companion should be MUCH more stable now - /actcmd can now accept text parameters ex: /actcmd ilikecam
- Made some source code changes to prepare the source code to release at the same time as release of AC Tool 4.1 (2-10-2002 currently) 4.1 Beta RC5 - 01/27/2002: - GetComp and GetMinComp were pulling up the Resolution window when being selected from the Command TreeView - SelectNext was added as a keyword and into the help - Even more cleanup changes to the help file - CheckComps SplitPea didn't have a necessary delay after a split - Few more changes to stabilize the plugin and attempt to solve the AVs when exiting AC - Combat state in CheckComps Splitpea is only checked when there is a component that needs splitting - CountMine not counting some items that did not stack - Corrected Lapis Lazuli in the component functions - CheckComps SplitPea now returns "Need PEANAME" or "Need Hyssop Pea" - New event type added. You can now type /actcmd n (n = some number) and run a specific procedure inside of AC Tool procedure TestMe on ActCmd 1 saypaste Hello! end while 1 = 1 ProcessMessages Delay 200 end - You can now use Item IDs in the UseItem, MoveItem, and HaveItem commands - Added a new commmand called SendText. SendText sends colored messages into AC and does not show them to other players or use the text line in AC to convey the messages. Works like "saypaste /think" SendText 12, Test SendText Message - /actinv dumps your inventory to a comma seperated file called INVENTORY.CSV in the AC directory (not the AC Tool directory) - MoveItem works! MoveItem ItemName, PackNo, Slot, Stack MoveItem Focusing Stone, 1, 0, 1 - SelectMine can now use PACKX SelectMine Pack1 SelectMine Pack2 4.1 Beta RC4 - 01/26/2002: Fixed an application error when updating memory addresses ClearPluginVar is no longer case sensitive Compares of empty variables in IF statements should always work now Added a new menu option under the Help menu to download the latest mouse memory coordinates - CountMine returns a total count of all items in inventory including multiple stacks. Returns NOT FOUND if the item wasn't in inventory - SelectNext selects the next item from a Select or SelectMine - Starting AC, Decal, and AC Tool in a certain order produced a crash.
This should be fixed. - CheckComps Splitpea was not working for most components - Changed the Max Comp statements to Min Comp statements (GetMaxComp is not GetMinComp, etc.) - The Companion Comp statements have been documented in the help - A few more updates to the help file have been done 4.1 Beta RC3 - 01/23/2002: - Added the -nospell parameter for faster AC Tool loading. You will no longer get the spell list when you select CastSpell from the Command Tree if you use these parameter - Added a fix to lesson the odd 0 returns from the Companion when calling HaveItem (didn't eliminate) - ListDelete function was deleting incorrect entries - Made a few changes to the plugin to hopefully eliminate the AV that is occuring on several computers when exiting AC - CastSpell should work with the January patch - Included a new version of incUI.mac and incNav.mac - GetComp now includes the Peas - CheckComp SplitPea now verifies there is a pea to split or {PluginResult} will contain a "NEED PEA" value - CheckComp tests the CombatState to make sure you are not in a combat mode. If you are, it returns "IN A COMBAT MODE" - Slightly faster CastSpell function 4.1 Beta RC2 - 01/20/2002: Fixed the EXIT error message when aborting a macro Fixed negative numbers not comparing properly I think I finally fixed _targetXXXX (pain in the arse BTW) I found a nasty Decal Filters bug and created a work around to solve possible problems with Select and SelectMine - Several help file changes - UseItem XXXX, Self should work now Beta RC1 - 01/19/2002: IF EOF should now be working "Attempted" a fix on the _targetname and _targethealth Fixed various problems running macros via /actstart and F2 You can no longer use the EXIT statement outside of a Procedure MacE in the CastSpell form has been proper cased to Mace Corrected the Beta 7 Release Notes for FindNextText and FindTextClear Corrected the help examples for FindText, FindNextText, FindTextClear Corrected several mis-statements in the Help and include files for the Decal Companion - Various minor help file corrections - Fixed a few bugs with the syntax highlighting - "Attempted" to fix CastSpellDelay Beta 7 - 01/17/2002: COMPANION.INC now includes the Constants..End statements Updated the help file to include Companion Help Updated the IF help to reflect the new Companion function SpellExist Updated the contents section of the help to display the new commands Fixed several bugs and mis-statements in the help file Companion variables are now syntax highlighted and load the Companion help when F1 is pressed
4.1 -
4.1 -
- {EOF} still works, but added in IF EOF LISTNAME functionality - StrReplace function added. Allows the macro to replace a value with another value within a constant StrReplace $Test = Cam is not cool, is not, is Say $Test - CastSpellDelay command is an attempt to delay until you are ready for another action. By setting this to something other than 0, a CastSpell will wait until _spellready becomes 1 and wait the amount specified by the command CastSpellDelay 200 CastSpell Strength Other I Say I should be ready to cast another spell CastSpell Strength Other II - FindText now works. It uses two parameters. The first is the log to check (CHAT, SERVER, TELL) and the second is what you are searching for. It returns either TEXT NOT FOUND or the full text line you were searching for. FindText TELL, open portal - Added FindNextText to find any text since the last time FindText or FindNextText was called. Uses the same params as FindText. FindNextText TELL, open portal - Added FindTextClear to clear out all the accumulated text in the list Requires only one param which is the log to clear (CHAT, SERVER, TEXT). FindTextClear TELL 4.1 _selectedGUID should return the ID of the object currently selected SelectGUID command allows you to select items based on their IDs Fixed several problems with setting the color and fonts for the editor Attempted a fix to the _myvitae variable... let me know Beta 6 - 01/17/2002: Logic added to insure constructs exist before they are used ListClear function added for clearing lists LoopNo should now always report the correct loop count Added ArcSin and ArcCos funtions the Compute statement Constants inside of list [] works now Read and Write registry were not always reading and writing properly Clicking New Macro now prompts you to save changes before starting a new macro Updated the _CombatState to reflect properly in the status bar The ' was being sent as the " key StrCopy now works properly with CONSTANTS Companion knows when AC Tool Starts and Stops. F2 key reflects this You can no longer load a macro via the Companion if the current macro isn't saved Attempted a fix with PluginResult returning zero when it shouldn't _MyVitae should return the proper amount now Fixed _xp variables not returning the correct information _heading now reports in degrees Plugin should send commands faster now
- Select command should work properly now 4.1 Beta 5 - 01/13/2002: UseItem was not passing parameters to the Companion properly Improved plugin logging added to the Test Log SetConst now allows you to concat strings with the + seperator SetConst Test = This + + is + + a + + cool + + feature + ! Double pluses add a space between constants - GetAttrib and GetSkill brought up the MOUSEPOS selection screen when picked from the Treeview - WriteRegistry was not showing up as a keyword - Rearranged the Misc Commands in the Treeview. Created a new group named Companion Commands that contains the Companion commands - SaveScreen allows you to save the screen to a file - Fixed a parser problem with Companion variables in the Compute - ListDelete was removing the wrong item - Updated the help file with all the new 4.1 syntax - Includes the latest version of the plugin - Beta 5 4.1 Beta 4 - 01/13/2002: - When starting a New macro AC Tool didn't check to see if the macro loaded needed to be saved first - Fixed the IRC command and IRC logging - Some of the Status Bar help was reporting incorrectly - Added in the following List Functions: ListAdd LIST, DATA ListDelete LIST, INDEX ListCount LIST, CONSTANT ListSortOn LIST ListSortOff LIST ListLoad LIST, FILENAME ListSave LIST, FILENAME Constructs ListName=List End ListAdd ListName, Test1 SayPaste ListName[1] - Added in the following file funtions: FileOpen FILE, FILENAME FileClose FILE, FILENAME FileAppend FILE FileRewrite FILE FileReset FILE FileRead FILE, CONSTANT FileWrite FILE, CONSTANT {EOF} Constants Test=NoData end Opens a file Closes a file Prepares a file for appending text Empties a file and appends text Prepares a file for reading Reads a line of a file into a CONSTANT Writes a CONSTANT into a file End of File marker from last FileRead Add a data item to a list Deletes a data item from a list The list count is loaded into a constant Sorts a list alphabetically Turns off the alphabetical sort Load a list from file Save a list to file
Constructs file1=File file2=File end FileOpen file1, c:\old.txt FileOpen file2, c:\new.txt FileReset file1 FileAppend file2 while 1=1 FileRead file1, Test FileWrite file2, $Test Say $Test if {EOF} = True Break end end FileClose file1 FileClose file2 - Companion variables were sometimes losing the last character and returning an invalid constant - Updated the install to include the Companion version 3.2 - The FAQ has been updated to the 4 syntax with some other extras 4.1 Beta 3 - 01/08/2002: - Fixed a bug when NOT FOUND was returned in Plugin Result it hosed the Plugin until you logged out and back in - Added HasItem into the treeview - Fixed a bug where the MousePos screenshots were not always displaying - Eliminated the conflict between incUI.mac and Companion.inc. COMBAT in Companion.inc was changed to INCOMBAT. 4.1 Beta 2 - 01/07/2002: Finished adding in all the commands and variables to the Treeview Changed {Loop No} to {LoopNo}. Both are now valid Removed the location variables. You must use the Companion variables Updated the PLUGINBRIDGE.XML file to include all the new variables Changed the name of PLUGINBRIDGE.XML to COMPANION.XML AC Tool now displays limited help in the status bar when the mouse hovers over a Companion variable in the treeview Install now correctly reflects the name of the AC Tool Decal Plugin. It says AC Tool Companion Changed tabstops in editor to go in 2 characters rather than 8 When in Test Mode, you are now prompted for the plugin values Significantly better logging in the test log for plugin data Double clicking on functions in the Treeview inserts more useful commands and parameters in the editor for certain commands Parameters are now being sent to the Companion the way they are entered Status bar was not updating properly when the time changed GetAtrib function added for fetching character attributes Variables with the "_" now work properly Problem with constants being replaced twice in IF statements causing performace problems
- When in test mode and being prompted for a plugin variable, pressing cancel now stops the macro - The install now deletes the original AC Tool Plugin - Removed the Capture Keystrokes functionality since the new plugin supports it better and on all platforms - LOCKPICK changed to LOCKPICK_SKILL inside COMPANION.INC 4.1 Beta 1 - 01/06/2002: StrCopy was returning strings in uppercase Contains keyword searching was case sensitive Editor no longer allows characters to be entered into the memo when running $ParamX constants now work properly when not numbers Popup resolution window when selecting MOUSEPOS now works incUI.mac version 1.01 included with this version Included version 12 (now known as 1.0.0.0) of the AC Tool Decal Companion with this release {Hour}, {Minute}, {Second}, {Day}, {Month}, {Year} variables have been added ReadMemory/SetMemory functions added allowing users to read and write DWord values from a running process. Examples: ReadMemory $Const = 005D7718 SetMemory 005D7718, 32 - ReadRegistry/WriteRegistry functions have been added allowing macros to read and write string values from the registry. Example: ReadRegistry $Const = CURRENT_USER, Microsoft\Internet Explorer\TypedURLs,url1 WriteRegistry CURRENT_USER,Microsoft\Internet Explorer\TypedURLs, url1,www.onlinegamegimp.com nt - MoveItem moves an item to a certain location: MoveItem Item, Pack, Slot, Stack (0 or 1) - SpellExists keyword added for detecting if a spell exists: if SpellExists Item Mastery Self I CastSpell Item Mastery Self I end - Substantially better error trapping when program exceptions are encountered - StrPad function to pad a string with spaces was added - StrTrim function to trim a string of beginning and ending spaces was Include files can now have include files AC Tool now registers the .mac extension for itself. Fixed a bug with the incUI.mac menu settings just got reset On certain machines, sending keys didn't work properly (I slowed down the key presses) Added in SayPaste function for a much faster Say Command GetClipBoard, SetClipBoard, PasteClipBoard functions added for clipboard management Fixed a bug with the EXIT statement causing an infinite loop CastSpell allows the user to cast a spell: CastSpell Item Mastery Self I UseItem allows the user to use a specific item: UseItem Alembic, Compone
added - Selecting CastSpell from the Commands and Macros Tree pulls up a list of spells - Due to more front end loading, created a pretty splash screen - Select keyword added for selecting specific items: Select Alembic - SelectMine keyword added for selecting specific items in inventory: SelectMine Alembic - GetSkill keyword added for returning skill values: GetSkill $SkillAxe - HaveItem keyword added for detecting if an item exists in inventory: HaveItem Alembic Realgar if {PluginResult} = OK UseItem Alembic Realgar end - FindText keyword searches the full text buffer: if FindText Cameron is cool SayPaste Cam is the man end - Multiple Plugin Variables were not always working - Successful memory address update message added - Opening default macro on startup now sets the current directory to the directory where the macro is located - Fixed a problem with AC Tool being associated with .mac 4.03 Release - 12/16/2001: - Adding Delays after some commands (MousePos X, Y | 100) was not working properly - Left some debug code in that was creating a c:\test.mac file - Using constants in the EVERY statements was not working properly 4.02 Release - 12/16/2001: - Fixed a bug with Continue statments inside of IF statements - Bookmarks are now removable by clicking the gutter while on the bookmarked line (actually fixed in 4.01) - Updated the install to use version 10 of the plugin 4.01 Release - 12/15/2001: - Fixed a problem with the (* *) blocking comments - Using the Sec/Min keyword was not working in Every statements - Added new graphics to menu/tree - Added help graphics to menu/tree - Added URL links to the menu - Start/Stop menu items didn't disable when macro was done, fixed - Fixed icon not showing - Can now pull up context help while in the treeview
4.0 Release - 12/14/2001: - Fixed a stupid bug when including INCUI.MAC automatically - Added the backup files on overwrite option into the install 4.0 Beta RC3 - 12/11/2001: - Optimization in RC2 broke INC and DEC - Major optimization done to the compute statement. Macros using it should notice a 20 x performance increase - Macro now checks to see if incui.mac is used before automatically adding it to the macro - Actually put the updated help file in the install rather than just changing it 4.0 Beta RC2 - 12/11/2001: Extra logging of the loc data has been fixed Increased overall performance when replacing constants and variables AND/OR statements added to the syntax color coding WindowWidth was not being properly handled in the COMPUTE statement Updated incUI.mac to Version 1 Beta 7 Fixed SetPluginVar not setting the value in the registry properly Fixed a couple of bizarre problems with SetConst After invoking the SetConst input form, the extra edit box remained Corrected the help file and SetPluginVar example A check was added for multiple constants of the same name
4.0 Beta RC1 - 12/10/2001: - Updated incUI.mac to the latest version - AC Tool Decal Plugin now installs properly 4.0 Beta 13 - 12/10/2001: ElapsedMSec and Loop No were not being used properly in the Compute Contains keyword was required to be uppercase. Fixed Say is a little faster now
4.0 Beta 12 - 12/09/2001: - Added the ability to set the printer font under the Editor menu - Fixed a nasty bug with the SetConst function 4.0 Beta 11 - 12/09/2001: - Ipa's UI independant macro now included with AC Tool... Really! - Fixed a newly created bug in Constants. They were not being replaced in most situations - Increased the performance of several of the internal functions - Problem with IF statements have variables with "and"/"or" in their text - Improved SetActiveWindow logic when a macro doesn't contain the command word - When starting a new macro, SetActiveWindow is automatically added into the macro for users 4.0 Beta 10 - 12/08/2001: - Ipa's UI independant macro now included with AC Tool
- Ipa's UI independant macro accessible from the Macro Menu for automatic inclusion into a macro - Removed all the other resolution specific items from the menus - Added new variables called {WindowHeight}, {WindowWidth}, {WindowTop} and {WindowLeft} - Fixed the {} variables not working the the Compute statement - New variables added into the registry under ACTool for developers - Plugin Variables moved to ACTool\Plugin in the registry - SetPluginVar command added so users can initialize plugin variables - Yet another attempt at fixing the printing was done - Updated the About AC Tool display - Help system now contains a list of Standard Constants that are included in the resolution macros - 3rd Party programs can now Pause and Resume AC Tool via messages - Updated the install to optionally install the ACTool Decal Plugin without running through another install - Moved Procedure List under the Search menu - Added Object and Constant List. They work like Procedure List - Procedure, Object, and Constant List search through Include files 4.0 Beta 9 - 11/30/2001: The spacing problem with COMPUTE statements has been fixed Plugin variables can now be used inside the COMPUTE statement Using SETCONST with = and , characters was causing strange problems Made another attempt at fixing the Printing Problem. Let me know what if it still doesn't work - The install optionally installs OnceBitten's/Rick Van Prim's AC Tool Plugin
4.0 Beta 8 - 11/15/2001: - Fixed a bug when hitting the Pause and then Stopping the macro. The Pause/Resume functionality would be lost - Added the ON WindowChange keyword for procedures. Whenever, an AC Tool command is issued and the active window has changed from the previous SetActiveWindow this event is called. ProcessMessages has no effect on this event. If this event is not coded, the default behavoir is to stop the macro. Example: Procedure NewActiveWindow On WindowChange // without a Stop in this procedure, you will continue running End - Several corrections to the help system were added - The @/Alt keystroke has been added to the Treeview under Shift/Control Characters 4.0 Beta 7 - 11/14/2001: - Inc/Dec statements now work properly when the user puts the $ in front of the constant - Inc/Dec statements now stop the macro and report an error if the constant cannot be found - Float or Real Numbers are now -8 power of ten precision also known as rounded to 8 decimal places - Control-L now pulls up a procedure list for quick navigation - GetScreen is no longer needed and used for backward compatibilty and saving the bitmap when turned on in Test Mode
4.0 Beta 6 - 11/13/2001: - While and Loop statments were not being properly executed. Problem should be fixed now - {Loop No} was not working properly in certain loop circumstances - Attempted fix for Preview and Print functions in AC Tool 4.0 Beta 5 - 11/02/2001: - You can now run macros in test mode... Oops! - A new function ClearPluginVar has been added. It allows you to clear the contents of an AC Tool Plugin Variable - If you don't specify a Window at the top of your macro with SetActiveWindow, it defaults to Asheron's Call - Now checks the macro prior to a version 4 conversion. If it detects certain keywords in the macro, it asks to make sure you want to perform the conversion - Cut/Copy/Paste/Delete/Select All keyboard shortcuts should now work on all the edit controls rather than always the Macro editor - Updated the help on the negative Coordinates for MousePos 4.0 Beta 4 - 11/01/2001: - When you get a compile error it highlights and takes you to the line - Fixed a bug with removing the AC Tool registry key on startup - Further sped up the SAY command and other keyboard commands - Now only asks to save when a change has occured since the last time you saved - Access Violation when moving mouse over the new AddOn items in the Commands and Macros Treeview - Underscores in procedure names now work properly - Added back in the Screen Constants menu options - Removed MOUSELOC and added the negative offset functionality to MOUSEPOS - Added to new special variables. {ScreenHeight} and {ScreenWidth} are the height and width of the current window - Removed the automatic window selection and pre 4 macro conversion now adds the SetActiveWindow at the top of the macro - Fixed multiple SetActiveWindow statements in a macro not working properly - Procedures can no longer begin with an underscore (_) 4.0 Beta 3 - 10/30/2001: - The | Delay behind commands was not working correctly for certain commands (keys, say, and a few others) - A new boolean evaluator has been added called CONTAINS. This allows you to test if some text exists in a variable or constant. Example: constants Name=Cameron end procedure TestName when $Name contains meron say Meron is here! end if $Name contains Cam say Cam is here! end
- EVERY was not being syntax highlighted in the editor - You can now press the Test Mode indicator on the Toolbar to activate Test Mode - Cleaned up the logging command to make it more effecient - KEYDOWN command allows the user to press and hold a keydown for a specified amount of time. Example: KeyDown {SPACE} 500 - It was possible to have Procedure and If statements without corresponding End statements - Removed the Repeat command since it was a poor version of the new KeyDown function - IRC functions should work properly now - Added the ability to specify macros to run via AC Tool Decal Addon - Added the new functions StrPos, StrLen, and StrCopy. See online help for description and examples. - Updated the help to reflect the new commands and fixed a few typos - Fixed several macros that come with AC Tool that were improperly formatted. 4.0 Beta 2 - 10/29/2001: - Fixed the pre 4 macro converter to convert objects properly - Fixed the pre 4 macro converter to [ENDIF] statements properly - Fixed the pre 4 macro converter to [ENDCOLOR] statements properly - Using Object code no longer reports "Too many end statements" - You can now use variables inside Procedure Every/When statements 4.0 Beta Release - 10/28/2001: Copy Text will work in all the edit controls Move command bar to right now works properly Procedures can no longer be nested within other statements The syntax for AC Tool has been changed. Here is a small sample of the changes: [ISRED] x, y [ELSE] [ENDCOLOR] IsRed x, y Else End :loop while x < 1 :end loop while x < 1 end ` // Enter combat mode Keys ` //Enter combat mode [SETCONST] x = 1 SetConst x = 1 [COMPUTE] x = $y + 5 Compute x = $y + 5 A full conversion is provided under the Macro menu
- Comprehensive documentation for every command is now included with AC Tool - You can now add the WHEN statement after procedures. For excample, Procedure IsAlive When $X = 5 // Some code goes here End Procedure These procedures will be checked whenever ProcessMessage is called. - Users may now comment out several lines of code at a time with the (* *) block statements - New variable has been added for checking the active window if {ActiveWindow} = Asheron's Call // do some code here end - New statements have been added for manipulating the active windows IsWindow Asheron's Call // Checks to see if their is a window SetActiveWindow Asheron's Call // Brings the window to foreground - You will now be prompted to Save your changes before overwriting a macro - Ported source code to Delphi 6 - Keystrokes inside of AC should be working for Win9X and WimME users - Fixed a bug with testing decimal placed numbers. This should work correctly now - Several new error messages should make debugging your macros much easier now - AC Tool now searches the Macros directory when including files 3.2 Release - 08/13/2001: - ISBLACK and ISGREY can no longer both return true - Users reporting a password to install AC Tool should no longer have the problem - The registration message for PlusMemo when running AC Tool is gone - Fixed the install so that it no longer forces the install to "C:\PROGRAM FILES\AC TOOL" - ISRED/ISBLUE/ISGREEN cannot be true when ISBLACK/ISWHITE is true. - New menu option under Macro - Test Mode named Run AC with Color Test Log. This option logs the success and failure (more importantly why it failed) of objects and other color test commands. - You no longer need "~" in order to type uppercase characters on certain special characters. - The {HEADING} now works with the SETCONST/SAY properly - Adding in | (pipe symbol) followed by N milliseconds on a command line will cause a delay of N milliseconds after the command runs. For example, "[SAY] Cam is Cool! |5000" will say Cam is Cool! followed by a 5 second delay. - A new macro setting named [COMMANDDELAY] allows a user to specify an N millisecond delay between the next command processed - You can now type in /stm for /startmacro - Adding the keyword EVERY N, behind the name of a procedure will cause that procedure to be run every N milliseconds - You no longer need to key in the amount of times to run /stm. The number of times to run is now optional. Syntax:
Runs test 5 times Runs test 1 time Starts the currently loaded macro and runs it once Runs the currently loaded macro 5 times
- Under certain scenarios, saving the previous settings when exiting AC Tool wasn't working properly. This should be fixed now - Multiple objects using the '|' to seperate them should now work properly - The Object Primer is now included with AC Tool compliments of Sauron. You can find it under the help menu. I haven't had time to clean this up from the MS DOC format it was supplied in yet. - Cleaned up the Object Mapper. Should be easier to use now. Also, added in the ability to click on the pasted screen to get the coords. 3.1 Release - 07/12/2001: - [IF] checks can now be numeric or string. Strings must be wrapped with " characters if the word "and" or "or" are inside the string. Examples: [IF] $Field1 = 1 or $Field2 = "Me and cam" [IF] $Field1 = 1 or $Field2 = I like cam - Test mode is working again - {Loop No} in the :LOOP WHILE is fixed - The :LOOP WHILE code should be working properly now - Added in a new variable called {heading} which reports the ch aracters current heading. Users will also have to change this in the the memory address screen after some AC patches - Changed [ISWHITE] to return true if all RGB values are higher than 220 - Changed [ISBLACK] to return true if all RGB values are lower than 50 - Changed [ISGREY] to return true if the RGB values are within 10 of each other and between 50 and 220 - Objects can be generated with | symbols between the coordinates for shortening. It does this now by default. The old object format should work fine also. - Moved around some items on the menu. If you can't find what you are looking for, post a message on the message boards. - Fixed the right click paste command - Added in a user-definable object variance using the [OBJVAR] command. You simply key in the amount of color variance both positive and negative you would like when your objects run. 3.0 Beta 15 - Clear test log button broke - fixed - Clicking on macro commands in listbox, now shows help inside the statusbar - Added [EXPANDCHAT] - maximized your chat window, great to use when starting up a macro after you've logged in - Resolution (for use in picking coords from graphic) is now autodetected - Added Word Wrap option - Added {niceloc} which reports your coordinates in same format as you see inside AC's map window - Fixed problem with Dagle's fizzle includes not working - Added DEFAULT button for memory addresses (I hate making a typo, then hosing my whole program, LOL)
Selecting whole line did not enable Copy/Paste menu - fixed Modified memory addresses default to match April 2001's patch Lengthened DRAGTO delay a bit Pause button didn't disable - fixed Standard Constants menu now saves after exiting app Added Skip Memory Writes which won't write mouse coords to AC memory if you're using Win2k - Now shows LoopNumber, and LineNumber the script is running. Great for you windowed mode folks! 3.0 Beta 14 - Added program parameters - Added Standard Template Library for resolutions. No more :include 800x600, etc. Just type the variable and it'll automatically be included. - Added command [DoubleClick] - Added command [MouseIDItem] - Added command [RandomTurn] - Added command [DragTo] X,Y - Added new key: {KEYPAD .} - Added Use Bold Syntax option - Added No Syntax Highlighting option - Added ability to perform multiple IF statements on single line - Added :LOOP WHILE (multiple evaluations...) - Window list was showing hidden windows - fixed - If/Then had a problem with "<>" and ">=" - fixed - SendSingleKey was forcing Shifted chars - fixed - Double clicking on window in winlist now presses OK - Added various graphics to buttons - Added Cancel option when closing program, to allow user to change their mind - New editor interface - Added bookmarks, add, remove all or goto next - New gutter shows line numbers, adds bookmark when clicked - Syntax highlighting changed - Configurable syntax colors - Cut/Copy/Paste/Delete enabled/disabled based upon changes - Added statusbar showing active line/colum, chars selected, and clock - Added Print and Print preview - Added Export to HTML (with color highlights) - Added redo - Added mouse wheel support - Move command bar, or hide it - Added some begin and end update handlers to avoid flickering - Added warning before clearing all text, since that's not undoable :) - Added ability to specify 2sec or 2min in your Delay statements 3.0 Beta 13 - 03/23/2001: - {SPACE} was added to the functions of AC Tool - The memory location for coordinates in the game is now user configurable. Go to the menu option Memory Addresses to edit. An encoded file is generated named MEMLOC.DAT. This file may be given to other users. - Users can now specify the window that AC Tool will send its keystokes and mouse click commands. Go to the menu option Memory Addresses to edit. Also includes a Window List for finding the right AC Window - Added the 1280x1024 resolution
- You no longer need "~" in order to type uppercase characters. Simply key in "Test!" and that is what will appear. "~test~1" will still be backwards compatible. 3.0 Beta 12 - 02/28/2001: - Corrected [BREAK]/[CONTINUE] not skipping past nested loops when [BREAK] not in an [IF] - Fixed the version dates 3.0 Beta 11 - 02/28/2001: - Corrected a few more [IF] [ELSE]/[BREAK] [EXIT] statement problems - Can no longer call [CONTINUE] or [BREAK] outside a Loop 3.0 Beta 10 - 02/25/2001: - Nested [IF], [ISCOLOR], [GETCOLOR], and [ISOBJECT] type statements were causing strange branching to occur 3.0 Beta 9 - 02/25/2001: - [ELSE] statements were not being recognized properly 3.0 Beta 8 - 02/25/2001: - [END] statement recognition is no longer case sensitive - Characters "," and "=" in constant statements no longer trip up [SETCONST] - You may now terminate [ISCOLOR], [GETCOLOR], [ISOBJECT], and [IF] statements with just [END] if you like - Fixed the [BREAK], [CONTINUE], [EXIT] functions to work properly - {ElapsedMSec} is a new variable in the system. It returns the number of milliseconds AC Tool has been running 3.0 Beta 7 - 02/24/2001: - Fixed the LOCATION commands not being recognized unless in all lower case letters - Removed the [DELAY_KEYS] command and a couple of unused hidden commands - [TIMESTAMP] now retuns seconds and milliseconds - Cleaned up the code to make it a little easier to work with. This is worth mentioning since I probably broke somethings during the clean up - Enhanced the runtime performance of AC Tool. Looping should be MUCH faster now - Fixed yet another lockup inside of AC Tool - Fixed two more access violations - Better Test Mode reporting has been added - Fixed some commands that only worked if keyed in uppercase - An error in the processing of nested loops caused [IF] commands to work incorrectly - [STOP] command was added. When AC Tool reaches this command, AC Tool stops running - Occasional incorrect display of the [DELAY] when adding it from the "Commands and Macros" listbox - [EXIT] command should be working properly now - Coordinates no longer double each time you go into the Object Mapper - /StartMacro X Filename should work correctly now (except on Win2k) - Attempt was made to fix the black screen in the Object Mapper
- The Object Mapper was truncating one pixel in the display - /* no longer freaks out the editor display 3.0 Beta 6 - 02/19/2001: - Added some new [ISCOLOR] routines that should be more stable. Try the [ISRED] and see if it works for you - Replace All had a bug where it would Replace forever if the replacing text was the same as the finding text. I did a cheesy fix, but it should work - Constants starting with Procedure no longer freak out AC Tool - [BREAK], [CONTINUE], [EXIT] no longer bomp out [IF] statements including [ISCOLOR], [GETCOLOR], etc. - Added a checkbox for performance logging. Leaving this off REALLY speeds up looping 3.0 Beta 5 - 02/17/2001: - Only change - Location variables {North}, {South}, {East}, {West}, {LocationBlock}. I will leave it up to you guys to figure out how to use them. I will tell you that turning on Logging in AC will produce a TON of location text. 3.0 Beta 4 - 02/17/2001: - Start macros inside of AC really working now - Start button not turning to the Stop button when complete has been fixed - Test Mode staying checked after attempting to uncheck it has been fixed - Select All is now working properly - [ISCOLOR] and [GETCOLOR] no longer do an AC screen capture automatically. You now must call [GETSCREEN] in order to load the screen for color checks. This will allow much better and faster scanning of a bitmap - Cleaned up the object mapper code to make it a little more user friendly - Added Height and Width to the object mapper 3.0 Beta 3 - 02/17/2001: - Constants can now have any character that isn't a-z, A-Z or 0-9 after them and still be recognized - [IRC] command has been added. Works like the [SAY] command only it sends the text out to the IRC if enabled - Ability to run AC with the output going to the IRC channel has been enabled - Test mode now reports mouse movement correctly. Was showing X, X rather than X, Y - Start Macros Inside AC Should now be working. Illiminated the ACTOOLHOOK.DLL - Non-Numeric constants inside of a macro no longer cause the COMPUTE to fail - The Beta version is now displayed on the Taskbar and inside the About screen - A significantly better editor has been added. You can now set bookmarks (Ctrl-Shift-1..9, Ctrl-1..9), muli-undo with Ctrl-Z, smart tabs (indent by two, highlight press tab), syntax highlighting (some comments may not highlight properly), and lots more. Enjoy! - Windows 2000 "Stack Overflow" when pasting into the script editor has been fixed
- A new command [EXIT] jumps out of a procedure immediately - Fixed the :LOADFILE and :DELETEFILE not functioning properly in an [IF] statement - You can now nest up to 500 levels deep in if statements - Infinite recursion bug has been fixed - Redid the Object Mapper to make it a little easier to use. By including a coordinates file (1024x768.mac), you can zoom in on the exact coordinates and map them. - Start Macros Inside AC no longer eats up memory tons of memory while AC is running - Plugged a couple of memory leaks - You can now use constants inside of [ISCOLOR] commands - The Test Tab is always visible now. When selecting a Test Mode a label appears in the upper right - Beautify Macro now enables the save button - [TIMESTAMP] XXXXX now records on the Test Tab as well - New [GETCOLOR] (GetRed, GetBlue, GetGreen) have been added. This allows you to test the color of the pixel at a specific location. 3.0 Beta 2 - 02/14/2001: Fixed the font sizing not working properly Changed around the Macro menu to make it a little easier to navigate Corrected the text on the menu option "Start macros inside AC" You can now do real math via the [COMPUTE] statement. You will be able to the following commands (see CONSTANT.MAC for format): Accepted operators: + , - , * , / , ^ , MOD, DIV (MOD and DIV implicitly perform a trunc on their operands) The following functions are supported; it doesn't matter if you use lower or upper case: COS, SIN, SINH, COSH, TAN, COTAN, ARCTAN, ARG, EXP, LN, LOG10, LOG2, LOGN, SQRT, SQR, POWER, INTPOWER, MIN, MAX, ABS, TRUNC, INT, CEIL, FLOOR, HEAV (heav(x) is =1 for x>0 and =0 for x<=0), SIGN (sign(x) is 1 for x>1, 0 for x=0, -1 for x<0), ZERO (zero(x) is 0 for x=0, 1 for x<>0), PH (ph(x) = x - 2*pi*round(x/2/pi)) RND (rnd(x) = int(x) * Random) RANDOM (random(X) = Random; the argument X is not used) 3.0 Beta 1 - 02/14/2001: Macro memo can now edit macro files up to 2 gigabytes (in theory) Added an Abort to the Test Mode with [ISCOLOR] prompt Added milliseconds to the macro time Keyboard capture commands now work in Windows 2000. IRC Client has been added. You can access it from the Advanced Options|IRC menu option. This is a first pass just to see if everything works properly. Additional functionality will be added later. Currently, :STARTMACRO, :STOPMACRO, :STATUSTOOL, :PAUSEMACRO, and :RESUMEMACRO are supported - Another lock up was found and fixed inside of AC Tool - A new test mode was added that obsoletes the Commands and Keystrokes log. Instead, use "Test inside AC" under the test modes. This runs the macro in AC as usual, but also logs the keys to the Test Log tab just
like the other Test Modes. Careful not to run macros overnight in this mode since it really eats up memory. Use it for testing and debugging macros only - Hex Addresses for the mouse positioning are now editable. This allows me to distribute future patches without recompiling AC Tool in case the mouse coordinates are incorrect. Go to the menu option MOUSE_POS memory addresses to edit these. An encoded file is generated named MEMLOC.DAT. This file may be given to other users. - Object files have been added to AC Tool in order to identify an object by color. Please see the included OBJECT.MAC macro for an example of how this function works 2.5 Beta 6 - 02/12/2001: - STUPID... STUPID... STUPID... I made a stupid mistake on the color test in a recent release. It should be working now. - :Loops inside of :Loop 0 were actually running. This should no longer occur - A new test mode was added for asking if the [ISCOLOR] should be true or false (very cool for debugging) - Fixed the problem with running in Test Mode then turning it off and it staying in Test Mode - Save Bitmaps from Color Commands menu option now logs the results of the color test under the Test tab 2.5 Beta 5 - 02/12/2001: :Call inside an [IF] statement now works correctly Unterminated [IF] and [ENDIF] statements now give an error Several strange access violations have been cleared up Another locking problem was found and fixed Additional changes to the testing code to make it even easier to test macros Beta 4 - 02/11/2001: Revamped the test mode to work MUCH better than before Three new color commands [ISBLACK], [ISWHITE] and [ISGREY] [ISRED]/[ISBLUE]/[ISGREEN] no longer return true if pixel color is black, white, or grey When selecting Test Mode it was checking the wrong menu option Cleaned up the FAQ and added several new topics Fixed a bug on 95 machines not restoring the previous settings Pressing ENTER in the Commands and Macros listbox will produce the correct AC Tool syntax just like the double click Substantially better RTF cut and paste code has been added for copying macros from message boards
2.5 -
2.5 Beta 3 - 02/11/2001: - Fixed the problem with the Start/Stop button not working properly - [ENDCOLOR] was not stopping the [ISCOLOR] commands and was sending the letters to the macro - Moved "Test Only" to the Macro|Test Mode menu - Added in a new menu option for debugging the [ISCOLOR] commands. Under the Macro|Test Mode menu a new option exists called "Save Bitmaps from Color Commands". This new option saves the AC screen to a file
2.5 -
Beta 2 - 02/10/2001: Fixed the About screen to point to the included FAQ Added included FAQ link onto the Help menu Double clicking on [DELAY] allows users to key in minutes, seconds, and milliseconds Fixed hotkey conflict with the Start button and the Search menu You no longer have to forward define procedures Validation of constants was added to [SETCONST] :LOADFILE XXXXXX allows you to add an include file when the macro is running. This check is done as the macro runs rather than when you start the macro. If the file :LOADFILE cannot find the file, the macro continues on without stopping or warning. [SETCONST] can now look like this [SETCONST] X = 1 :Loop 0 now skips the loop completely Fixed the program so that after a paste it will not beautify Users now have a choice about font size "if" inside a constant definition now works properly Fixed bug with AC Tool using enormous amounts of memory Test mode no longer actually moves or clicks the mouse Test mode no longer delays on the [DELAY] command Added in the [CONTINUE] command. This allows a user to continue onto the next loop iteration. For example: :Loop 9 [IF] {Loop No} = 5 [CONTINUE] [ENDIF] {Loop No} :End Loop Output = 12346789 Notice the 5 is missing
- Added in the [BREAK] command. This allows a user to break out of a loop. For example: :Loop 10 [IF] {Loop No} = 5 [BREAK] [ENDIF] {Loop No} :End Loop Output = 1234 Notice the 56789 is missing - New commands: [IsRed], [IsBlue], [IsGreen]. Follow each command with the X and Y coordindates for the corresponding point on the screen. Here is an Example: [ISRED] 10, 10 [SAY] we have more red than blue or green [ELSE] [SAY] we do not have more red than blue or green [ENDCOLOR] Each of the commands returns true if the selected pixel is closer to that color. In the above example, if the pixel at 10, 10 is more red than blue or green it will return true and tell us we have more red than blue or green.
2.5 Beta 1 - 01/19/2001: - Users can no select the black text white background under the Macro menu - Moved Start Macros inside of AC under the Advanced Options for Experts menu - Added in better Cut and Paste capability - [SETCONST], [INC], [DEC] no longer interrupt the [IF] command - Sizing of controls is now corrected on startup - Changed color of all the edit boxes to yellow on navy - Added in the [IF] capability. Just double click on the [IF] command for the syntax - Made the main AC Tool form resizable - Changed the font of macros to Courier so the text would line up better - Added a spliter bar to the main form between the macro and commands - The last macro you were working on will now be reloaded when you start AC Tool. Thanks to David Smith for the code - AC Tool now restarts with the same size as when you closed it - Setting the value of one const to another now works correctly - You can use constants in the :Loop command now - [REPEAT] command now works with the extended keys - Implemented the [MOUSE_LOC] function. Allows users to key in coords from the corners of the screen. For example, [MOUSE_LOC] 10, 10 goes 10 pixels from the top left. [MOUSE_LOC] -10, -10 goes 10 pixels from the lower right - [INC], [DEC] commands have been added to increase, decrease the value of a constant by 1 2.4 Release - 12/15/2000: - Thanks to Cyphersnow for the fix to the MOUSE_POS command. AC Tool now works with AC December patch 2.3 Release - 11/07/2000: Fix to the Win 95/98 Macro problem thanks to The One Added in the ability to Find and Replace inside the macro Additional refinement of the mouse movements Pause/Break key now suspends macros inside AC when Start Macros Inside AC is turned on Removed the "dummy panel" at the top so that users would have more room to see commands and space Vamped up the about screen - Image by Manix... nice job Changed all instances of AC Toolbox to AC Tool Users may now enter procedures inside AC Tool Fixed some display issues with entering the [SAY] command Added the [RESOLUTION] command which determines what resolution you used to enter the mouse coords Added the ability to set your resolution for AC. This automatically scales the mouse commands in AC Form sizing of AC Tool is now much improved The application ICON is now AC Tool instead of AC Toolbox Fixed some procedure loading problems Added constants to AC Tool [SETCONST] now allows you to set the value of a constant on the fly [INCLUDE] FileName will insert a text file into the macro. This text file can include procedures, constants, etc.
2.2 Release - 10/07/2000: - Users may now type /PAUSEMACRO inside AC to suspend execution of a macro - Users may now click on the Pause button to suspend execution of a macro - Users may now type /RESUMEMACRO inside AC to resume a suspended macro - Users may now click on the Resume button to resume a suspended macro - Added in the [SAY] command to facilitate typing messages to other users - Added in the [PAUSE] command to allow users to pause scripts at predetermined points in a macro - Users may now type /SAYAGAIN inside AC to repeat the last [SAY] command - Further cleaned up the interface and organized the commands in the Command and Macros list. - Hopefully, fixed the "Unable to Insert Line" error - Logging of Keystrokes and Commands is no longer turned on by default - Performance tab now shows hours/minutes/seconds instead of seconds - Added in the [TIMESTAMP] command that adds in the date/time into the log on the performance tab. Format is "[TIMESTAMP] XXXXXXX" - Cut and Paste from the message board should always paste in correctly now - Moved Clear from the File menu to the Macro menu - Added in a Beautify Macro menu option under the Macro menu. Selecting this menu option causes the macro to be reformatted - Fixed the repeat command to actually do a number of seconds instead of a number of iterations - Performance tab now tells you when AC exited and a macro was running 2.1 Release - 09/08/2000: Typing text in the chat window now works properly Hopefully, fixed all of the other keyboard problems in AC Tool You can now put strings of text on one line rather than one character at a time Added edit menu options to facilitate cut, copy, paste, and undo Rewrote the keyboard handler to be more effective when using movement keys. Basically, "W" key should move you forward like pressing the key in the game manually. Added in MOUSE_POS for users on Windows 2000 who can use this function. I would HIGHLY recommend that you set your Windows desktop resolution to the same used by Asheron's Call making mouse position easier Added in a DELAY_KEYS command for setting the amount of time to wait after each line of keystrokes. This also is in milliseconds Removed the quick key for exit since it conflicted with the cut Fixed bug with the :Loop that caused it to send :Loop as keystrokes Certain scenarios with the :Loop would cause AC Tool to behave strangely {Loop No} now works and counts properly Added in the BELL command. This command allows users to sound out a tone through the PC Speaker as well as windows standard beeps Text now inserts where the cursor is rather than append to the end of the macro By selecting the Menu option Macro|Start Macros inside AC, users can type '/STARTMACRO X FILENAME' where X is the number of times to run the macro. The macro will the execute X number of times. The FILENAME specifies a saved macro in the same directory as AC Tool. FILENAME is an optional parameter.
"/STARTMACRO 2 DEFAULT.MAC" will run the macro DEFAULT 2 times - By selecting the Menu option Macro|Start Macros inside AC, users can type '/STOPMACRO'. The macro will stop execution after the command is entered - If a user did not include a space after a command (For example, [DELAY]1000), AC Tool would send it as keystrokes rather than run the command - KEYDOWN/KEYUP logic only worked in certain scenarios. Changed the functionality of the command. Now users have to select REPEAT with the keystroke, space, and the time to run. For example, "[REPEAT] {BACK} 2000" will move backwards for 2 seconds - In order to better use the MOUSE_POS, I added in images for the proper resolutions. This will allow you to position your mouse much easier - Added in a new tab that shows the amount of time each loop takes. This tab also shows total run time of the macro - Added several new menu options to make editing macros easier 2.0 Release - 08/16/2000: Added in the ability to use the /, *, -, and + on the keypad Added a tab to show the messages being sent AC Released the source on the web for the general public When trying to exit the software, it would not let you if the macro was running. This is now fixed. - Corrected the version numbers throughout the program
1.4 Release - 07/17/2000: - Exposed the mouse down and mouse up events seperately - [KEYDOWN] X now allows users to run the key until [KEYUP] command is sent. For Example: [KEYDOWN] A [Delay] 5000 [KEYUP] This will hit the key A as many times as it can for 5 seconds - Fixed the keys on the numeric keypads. On some keyboards, they were not working properly. 1.3 Release - 02/24/2000: Fixed the indenting of loops Nested loops were not working correctly Added in a new var called {Loop No} which sends a keystroke for the number of the loop. For example: :Loop 5 {Loop No} [Delay] 1000 :End Loop This code sends 1 (Second Delay), 2 (Second Delay), 3 (Second Delay), etc. - Removed several case sensitive checks in the code - Added scroll bars to the macro edit portion of the program 1.2 Release - 02/17/2000:
- Better way of commenting code in the program. Example: "[LeftClick] //Left Click Code" - Fixed the ~, ^, @, { characters by themself. They were running shift, control, menu, and special keys instead of the character - Fixed {XXXX} command. It was doing the command then the keys to the command - The loop command was looping one extra time - Cleaned up the list and added spacing to make it look a little better - Fixed the New Macro button and menu option. Now works properly 1.1 Release - 02/10/2000: - Couple of minor bugs fixed - Added in the loop functionality... Really helped the program a lot! 1.0 Release - 02/10/2000: - Initial release for public ----------------------------------------------------------------------------LIABILITY We try to keep our software as bug-free as possible. But it's a general rule (Murphy's), that no software ever is error free, and the number of errors increases with the complexity of the program. That's why we cannot guarantee that this software will run in every environment, on any Windows compatible machine, together with any other application, without producing errors. Any liability for damage of any sort is hereby denied. In any case, the liability is limited to the registration fee which of course there is none. Please test this program with non-critical data. We cannot guarantee the safety of your data. Especially new operating systems like Windows XP. Any description of bugs will be accepted, but we cannot guarantee that we will be able to correct them. Special Note: This is almost verbatim the liability statement in Window's Commander. For this reason (and the fact it rocks!) I am including credit and the authors web site. http://www.ghisler.com ----------------------------------------------------------------------------DEVELOPMENT STUFF This program was written in Delphi 7.0 ( 1983, 2004 by Borland) Delphi is the greatest visual Windows development environment ever created (shameless plug)! This is a BIG thanks to David Smith - Who progressed this project further than any A.K.A. OnceBitten other person. He spent a great deal of time developing and supporting this product when I needed a break most. Both the Beta 14 and 15 releases are solely his doing. Not to mention the foundations of the Delphi version of the Companion. The Decal Team - The Decal Team made the Companion easy to write. Without Decal and the World Filters, none of the Decal goodness would have been done. - Spends countless hours on the message board helping out, has been an invaluable beta tester, and has picked up the source and made some great additions.
Ipa
AC Tool would have out lived its usefulness if not for Ipa. Special Thank You Paoda Psi Rick Van Prim The Wabbit Triane - For writing a much improved Object Mapper and helping out with the Betas - For building the UMP now included with AC Tool - Writing the AC Tool Decal Plugin and supporting such a large undertaking. He has definately earned a spot in this file. - Created the wObject and CreateObject commands. As well as several upgrades to the form object. Wonderful additions to AC Tool for sure. - Created the Dataset Primer document and provided the SPELLX.CDS which is the base for CastSpellRoot. Also helps out on the forums a great deal.
Thanks to Cyphersnow
- Cyphersnow made the necessary code changes to get MOUSE_POS to work with the 2000 December patch. Glutious Magimus - Started the FAQ on my message board. Without his involvement, I would have been driven crazy long ago with questions. Jeremy - For giving me some Delphi source code and some REALLY excellent ideas. MacroMaid - MacroMaid created some great additions to the FAQ for the newbies. Madar al-Aziz - Spend a lot of time writing many of the better macros for AC Tool. Manix - Created the previous AC Tool splash image. Russ China - Russ found the heading variable and did the testing for Beta 3.1. He also spends a lot of time contributing to the message boards. I am very happy to include his name here. Sauron - Wrote the object primer now included with the help system. Sauron is also one of the big helpers on the message boards to boot. Hats off. The One - Want to know how I got the mouse moves working in Windows 95/98? I didn't! The One did. Thank you very much.
----------------------------------------------------------------------------BUG/ENHANCEMENT SUBMISSION ------------------------------- Cut Here --------------------------------AC Tool Bug/Enhancement Report Your Name : Email Address : Program Version : 5 Bug or Enhancement?: Detailed explanation of the bug/enhancement:
Can it be reproduced and if so how (please attach macro with the email)?:
------------------------------- Cut Here --------------------------------Please send all reports to [email protected]. Thanks Cameron. --------------------------------- End File ----------------------------------