Code:
v14.11.19.xxx
Added XenoMonitor to XenoSuite
XenoMonitor allows you to view details about the characters you're currently botting at http://monitor.xenobot.net
If you're using a script that supports logout functionality, you can remotely log your characters out from XenoMonitor
Improved Diagnostic Information.
Nearby waypoints (+5 and -5 of current) will be drawn
Paths being followed by the bot will be highlighted (green for Walker, pink for Targeting, purple for Looter, grey for Scripter)
Corpses will have their estimated loot values printed above them
And a ton of other peices of information.
Fixed a bug that caused IPC scripts to sometimes freeze the client when they were killed.
Improved the Walker's pathing system to continually check for and take faster routes, even if it is already walking.
Improved the Pathfinder's accuracy when calculating long, off-screen paths.
Optimized Walker.Goto(), it will be much faster with large waypoint sets now.
Improved Ignore Unlisted in the looter, it will be much more accurate.
Improved the Looter to prioritize bodies that are worth more gold over bodies that are closer.
Added Loot First if Over X Gold. Bodies worth over X gold will be looted before the bot finishes killing creatures.
Added Ignore Bodies Under X Gold. Bodies worth less than X gold will be completely ignored.
Added the Target When Luring option to Dynamic Lure, allowing you to configure if creatures will be targeted while luring or not.
Added the Until option to Dynamic Lure, allowing you to stop attacking a mob once a set amount of creatures are remaining.
Note: so if the lure is on 5 creatures and until is at 2, you will kill 3 creatures and then start luring again
Added Path Through Ranged Creatures to the Pathfinding options, it will let the walker approach ranged creatures that may be blocking it's path
Added Quick DC. Saying 'exiva"d~"' in-game will trigger a quick re-connect, causing all creatures to drop aggro on you.
Modified Reconnect, it wont try to connect after SS now as to avoid IP ban (this is temporary, until a proper fix is found).
Added Visuals window
All visual-based tools from the Tools window will now show here.
Added the Small BPs option to the Visuals window, which will force all backpacks to open with only one row visible
Added the EZ MWalls option to the Visuals window. It will make magic walls easier to see.
Modified Show Diagnostic Information, it is in the new Visuals window.
Fixed Magic Wall Timers to show definite times on OT servers.
Fixed a bug that caused the Looter to use the wrong item IDs when multiple items shared the same name.
Fixed a bug that caused the Looter to get stuck if it ran out of cascading backpacks.
If an item comes up when there's no more room and no more cascading backpacks for it, it will be skipped.
Fixed a bug that caused the Keep Distance algorithm to move where it can't shoot a target.
Added a confirmation dialog to the Clear Waypoints action.
Added a Reload Scripts button to the Scripter. It will reload all running scripts.
Added Hotkeys class to the Scripter.
Notes:
This class allows you to bind hotkeys to scripts
Valid key codes:
Hotkeys.F1, Hotkeys.F2, Hotkeys.F3, Hotkeys.F4, Hotkeys.F5, Hotkeys.F6, Hotkeys.F7, Hotkeys.F8,
Hotkeys.F9, Hotkeys.F10, Hotkeys.F11, Hotkeys.F12, Hotkeys.PAGEUP, Hotkeys.PAGEDOWN, Hotkeys.INSERT,
Hotkeys.DELETE, Hotkeys.END, Hotkeys.HOME
Added Hotkeys.Register to the Scripter
Notes:
This will allow the script to see events for the given key code
Parameters:
key - the key code to register
Return value:
True if key registers, false if it fails (failure will happen if it is already registered or if it is an invalid key)
Added Hotkeys.Unregister to the Scripter
Notes:
This will cause the script to stop seeing events for the given key code
Parameters:
key - the key code to unregister
Return value:
True if key unregisters, false if it fails (failure will happen if it is not registered or if it is an invalid key)
Added Hotkeys.AddPressHandler to the Scripter
Notes:
This will add a key press event handler for all registered hotkeys
Multiple handlers can exist
Handler prototype should be (key, controlDown, shiftDown), where key is the key code
Parameters:
handler - the function to use as a handler
Return value:
nil
Added Hotkeys.AddReleaseHandler to the Scripter
Notes:
This will add a key release event handler for all registered hotkeys
Multiple handlers can exist
Handler prototype should be (key, controlDown, shiftDown), where key is the key code
Parameters:
handler - the function to use as a handler
Return value:
nil
Added VStand and HStand Waypoints to the Walker
These stands will work like regular stands, with some exceptions:
VStand will try to stand at loc.y-1 if loc is blocked, and loc.y+1 if loc and loc.y-1 are blocked.
HStand will try to stand at loc.x-1 if loc is blocked, and loc.x+1 if loc and loc.x-1 are blocked.
These stands will not use mapclick. Even if mapclick is turned on, they will use arrow keys.
These stands will not go up or down stairs, ramps, ladders, etc.
Added LOGOUT_COMMAND event to the Scripter.
Notes:
Register it using registerEventListener(), just like any other event.
If this event is registered, XenoMonitor will show a "Logout" button beneath the character. This event will get fired shortly after that button is pressed.
Callback Params:
x, y, z (they're strings, you will need to convert to integer)
Added SNAPBACK_RECEIVED event to the Scripter.
Notes: register it using registerEventListener(), just like any other event.
Callback Params: x, y, z (they're strings, you will need to convert to integer)
Added HUD.GetMainWindowDimensions to the Scripter
Notes: This already existed, but was not documented.
Paramaters: none
Returns:
a table describing the dimensions of the screen
Added HUD.GetContainerDimensions() to the Scripter
Paramaters: none
Returns:
a table describing the dimensions of all open containers
Added Walker.IsEnabled, Targeting.IsEnabled, and Looter.IsEnabled to the Scripter
Paramaters: none
Returns:
true or false depending on if the component is enabled or not
Added XenoBot.IsPaused to the Scripter
Paramaters: none
Returns:
true if XenoBot is paused, false if not
Added XenoBot.GetUsername() to the Scripter
Notes: This already existed, but was not documented.
Paramaters: none
Returns:
current username
Added XenoBot.IsInRealTibia() to the Scripter
Paramaters: none
Returns:
True if in real Tibia, false if in Open Tibia
Added XenoBot.ShowDiagnostics() to the Scripter
Notes: turns on Diagnostic Information HUD
Added XenoBot.HideDiagnostics() to the Scripter
Notes: turns off Diagnostic Information HUD
Added HUD:Destroy() to the Scripter
Notes: This will completely destroy a HUD object. You shouldn't ever re-use it afterwards.
Paramaters: none
Returns:
Not important