[Update] XenoBot Apophis 14.5.22 [10.38 - 10.41, Preview Client 10.41]
This update not only adds Preview 10.41 compatibility, but it marks a huge milestone in XenoBot's history: the release of XenoBot Apophis.
Quote:
Originally Posted by
Spectrus
What is it?
Apophis is the first release under a new release system. This system will have 'code names' for every major release. Every minor release will be designated by a date. So for example, if Apophis were released today, and tomorrow received an update, it would be something similar to Xenobot Apophis (2014.05.27). This version number is more clear to users, and it's easier for them to know if they are up to date. To be clear, Apophis is not a new bot, it is still Xenobot.
Main features?
Probably the biggest change to Xenobot in Apophis is that the Injector.exe has been replaced by something called XenoSuite. XenoSuite can be set to run when you start your computer, it can be set to auto inject Xenobot, and it can be set to auto patch clients for MC. It also features a Monitor tab which shows vital information from all open clients (health, mana, cavebot settings, stamina, etc.) The UI is still similar to the old Injector.
Another is version agnosticism, meaning the same version of the bot should be able to be used on any version of Tibia since it's release (and I think the intention is to work backwards and make older clients compatible also.)
This quote from @Spectrus gives a good overview of what Apophis is, but I'm sure you're all wondering what it can do. There have been hundreds of changes to the core of the program, multiple feature additions, and many improvements. The update, overall, took 266 individual coding sessions, touched over 14,000 lines of code, and took 5 months of development and testing. The dedicated XenoBot staff, plus a select subset of XenoBot users, were a huge help in accomplishing this. The results of this hard work can not be captured in one changelog but, nonetheless, this thread still boasts the most extensive changelog in XenoBot history:
Code:
XenoBot Apophis global release!
Added a 10-day free trial for XenoBot.
Changed compilation to Visual Studio 2010.
Re-coded the injector, now called XenoSuite, from scratch; it is much better now.
Auto Inject.
Auto MC.
Auto Update.
Version Agnosticism (all old versions will be preserved and functional).
Runs on start-up.
Added XenoMonitor, which allows you to easily monitor all of your characters from XenoSuite.
Re-coded the verification system, making it much more friendly to users.
Added a built-in rune/spell shooter to Targeting.
The old shooter (in Targeting) has been removed. Scripts which used this feature will be automatically converted upon load.
There are four attacks types:
Absolute Spell (UE, exori, vis hur, ebeam, etc)
Targeted Spell (exori vis, exori hur, etc)
Area Rune (avalanche, GFB, etc)
Targeted Rune (icicle, SD, etc)
There are two attack reasons:
Danger Level (based on priority set for the monsters in targeting)
Name (based on creature names)
If Stuck
Creature Count (includes all creatures)
Each attack reason has parameters such as:
Creature Count
Creature Health
Creature Distance
Mana Cost (in percent)
*There is no limit to the amount of spells that can be used.
*Waves and beams are supported
Added a "Lure Mode" to the Walker.
There are 4 waypoints used by the Lurer:
Start Lure / SLure - will turn Lure Mode on.
Lure Walk 1 / LWalk1 - will walk to the waypoint, attempting to keep the closest creature within 1 SQM.
Lure Walk 3 / LWalk3 - will walk to the waypoint, attempting to keep the closest creature within 3 SQM.
End Lure / ELure - will turn Lure Mode off.
When Lure Mode is on, only the Walker is allowed to move around. Targeting will still attack creatures, but the Walker will take over how it walks.
So, for example, if your script is:
SLure
Stand (x, y, z by demon)
LWalk3 (x, y, z by the lure spot)
ELure
XenoBot will stand near the demon, attack it, walk back to the lure spot while keeping 3 sqm distance, and then resume Targeting normally.
On the other hand, if you would like to rush up some stairs into a corner, you could do something like this:
SLure
Stand (x, y, z on the stairs)
Stand (x, y, z in the corner)
wait(1000)
ELure
This would run to the corner and wait 1 second before resuming the Targeting and Looter. It would attack on the way to the corner, however.
Added "item-blacklisting", which will automatically detect when you are out of potions/runes and refrain from spamming them.
Both the Healer and the Shooter use this functionality.
This will stop the spamming of "sorry not possible" when you run out of potions or have the wrong ones set in the healer.
This will also keep the Shooter from trying to GFB when you've run out, allowing it to advance to the next spell.
Added Reach Depot to the Walker.
Added Browse Field looting to the Looter.
Browse Field will be used when a body falls on a hole, ladder, or has other items placed on top of it. It will work with many stacked bodies as well.
Fixed every known Special Area bug. They work like a charm now.
Added Skinning, Fishing, and Dusting to the Looter.
Added Reconnect (Rcnct) to Tools.
Will not reconnect upon death, use of training statue, or log out.
Has issues reconnecting after server save.
Re-coded the XenoScript engine, providing a number of advantages.
The Scripter window is much larger.
One-liner crashes are fixed.
All known event-based crashes are fixed.
Events are far more efficient, but truncate old events if the queue grows above 100.
The memory[leak] footprint is now minimal.
Scripts now have much faster interoperability with the client.
The Scripter now allows you to have sub-directories within the Scripts folder.
Re-coded Diagnostic Information, providing a much more useful interface.
The performance has been highly increased, giving a much less noticable hit to FPS.
The memory usage and stack level of all Lua scripts are now shown.
The ugly grid has been replaced with a very smooth outlining of blocking entities.
Special area tiles are now shown, with descriptions.
Added "tile-blacklisting", causing the Pathfinder to detect and evade invisible creatures and house doors.
Added Walker.IsStuck() and Walker.IsLuring() to the Scripter.
Added a Private Message proxy to the Scripter.
Added Self.Ping() to the Scripter.
Added Prismatic Ring to all ring functions in the Scripter.
Improved Self.OpenDepot() to use Browse Field (thanks to Syntax).
Added Container:UseItemWithContainerItem(spotfrom, contto, spotto) to the Scripter.
Added many new Item functions to the Scripter
Item.isWalkable(id)
Item.isFurniture(id)
Item.isField(id)
Item.GetWeight(id)
Item.GetValue(id)
Item.GetCost(id)
Added Examples button to the Scripter, which will show script examples.
Added Tutorial button to the out-of-game window, which will show an XenoBot tutorial (thanks to Furpan).
Fixed a bug causing XenoBot not to recognize unicode characters in paths; computer user names can now contain special characters.
Fixed hundreds of bugs related to performance and memory usage.
Fixed Self.PrivateMessage() in the Scripter, it will no longer debug.
Fixed many crashes and debugs (including the one with boats and teleports).
Fixed injection crashes.
Fixed the IPChanger, it is no enabled again.
Fixed dozens of small UI bugs.
Improved Eat Food to no longer eat from protection zones.
Improved Targeting to no longer attack from protection zones.
Improved Auto-Mount to no longer mount when invisible.
Fixed the Exp HUD; it will no longer overflow into the negative on high level characters.
Improved the Player Attack alarm to include an optinal alert for yellow PvP boxes.
Fixed a bug causing Walker Stuck not to trigger in certain cases.
Improved automatic recovery to only cast when more than 100 health is missing.
Improved many small things in the PathFinder.
lua code:--Private Message Proxy Example
function pmProxy(proxy, speaker, level, text)
print(speaker .. " [" .. level .. "]: " .. text)
end
PrivateMessageProxy.OnReceive("pmProxy", pmProxy)
There are many more features, which have been committed to publicly, that I'm currently working on.
Known issues
- The "News" tab in XenoSuite doesn't load.
- MC starts failing after the computer has been running for a long time.
Install XenoBot Apophis 14.5.28 using setup.msi.
If you have issues running Apophis, try installing this and this.
Testers who were running the BETA version of Apophis are encouraged to uninstall it before using this build!