Vanquish Bot

05/08/2024 15:21 TheKuM1Ko#1
WARNING: THE BOT IS CURRENTLY IN ALPHA PHASE, IT WILL ENTER BETA PHASE WHEN ALL AREAS ARE MAPPED

JymRaynerd and I are creating a bot that can autonomously vanquish all areas of the game, allowing for title maxing without any effort or daily farming of Zaishen quests.

As mentioned above, the bot is in alpha phase, and we are working on all the features, coming up with new ideas and potential additions every day.


UPDATED 11/06/2024

Future feature priorities:

Map all areas -> For anyone who wants to collaborate, add pykebongiorno on Discord or comment on this post with your Discord name.
Rework the MoveAndAggroVQ function -> Currently, if the group dies, the bot gets stuck at the resurrection shrine. We are considering various solutions. If anyone has good programming knowledge and wants to help, we would appreciate it.
Implement a reverse MoveAndAggroVQ function -> If the vanquish is not complete, the bot will retrace all arrays in reverse. (DONE)
Improve the GUI -> Currently, the number of runs is displayed, but it is unnecessary information. The new GUI will show the killed/missing/total mobs.
Add all currently non-functional features -> use legio stone, bu, conset.

If you want to help us, start using the zones marked in yellow and report any errors to us. If at the end of the VQ some mobs are missing, use the toolbox or botdev to report the coordinates of the missing group.
05/09/2024 00:09 t7tcrusher#2
Looks very promising, nice layout also, will test it out soon :)
05/09/2024 00:40 TheKuM1Ko#3
Quote:
Originally Posted by t7tcrusher View Post
Looks very promising, nice layout also, will test it out soon :)
Ty! I had this idea looking at your followbot + this bot will be fun.
as regards the layout, I would like to implement dynamic backgrounds like you did but I still have to study carefully how to do it!
05/09/2024 04:08 Melychou#4
Hello TheKuM1Ko, thank you for your work; I love the clarity of the GUI. I tested a vanquish on Boreas Seabed, the bot is very efficient to clean the areas.

However, the first time I tried vanquish, it ended up without cleaning the whole map then tp back. It might be interesting to have a function to allow or disallow the bot to teleport after the job has been done, so we can complete manually if we were not paying attention at the bot :) So I tried again paying closer attention.

There's a pop of omni that hasn't been killed, as well as a group with the boss "Milodestus the Wrangler". I've taken screenshots to show exactly where they are on the map, but being new I can't publish them here. Maybe I can send them to you somewhere else if you're interested.

Also, I tried to disable "donate" but it doesn't worked.

I tried to vanquish on Maishang Hills, but my game crashed two time in a row at the same spot, just before engaging the first pack of mobs.
05/09/2024 08:20 TheKuM1Ko#5
Quote:
Originally Posted by Melychou View Post
Hello TheKuM1Ko, thank you for your work; I love the clarity of the GUI. I tested a vanquish on Boreas Seabed, the bot is very efficient to clean the areas.

However, the first time I tried vanquish, it ended up without cleaning the whole map then tp back. It might be interesting to have a function to allow or disallow the bot to teleport after the job has been done, so we can complete manually if we were not paying attention at the bot :) So I tried again paying closer attention.

There's a pop of omni that hasn't been killed, as well as a group with the boss "Milodestus the Wrangler". I've taken screenshots to show exactly where they are on the map, but being new I can't publish them here. Maybe I can send them to you somewhere else if you're interested.

Also, I tried to disable "donate" but it doesn't worked.

I tried to vanquish on Maishang Hills, but my game crashed two time in a row at the same spot, just before engaging the first pack of mobs.
Hey thank you for testing and for taking screens!
Add me on discord: pykebongiorno.
05/09/2024 08:37 t7tcrusher#6
Quote:
Originally Posted by TheKuM1Ko View Post
Ty! I had this idea looking at your followbot + this bot will be fun.
as regards the layout, I would like to implement dynamic backgrounds like you did but I still have to study carefully how to do it!
Use whatever you can take from the followbot.
If you experience problems let me know :)
05/10/2024 07:50 Hiking Corey#7
I will be glad to test this extensively as I need Legendary Vanquisher on my main and vanquishing is the last thing I'd bother with.
05/11/2024 03:46 Scythe X#8
I have actually been waiting to do Vanquish title forever, so ill check this out. Thank you for your contributions!

I am in the midst of writing a Running/taxi bot that will variously seek players in different popular maps that require running service, and form a party with them, accept any trades they may give, and just taxi people places. My projects aren't really seeming to be out of profit, but boredom... I enjoy seeing actually useful things like what you seem to have here, so thank you again.
05/11/2024 20:51 JimRaynerd#9
Hey I've been in touch with OP and am contributing to the project. I'm new to this and have no exp so my implementation of things might be hacky/wrong. Feedback is appreciated.
Please make sure to run the available maps and give feedback on if they are run properly. Be aware that the bot will reset the run on it's own so keep an eye on it in case mobs are missed.

Update notes for version 11/05/2024:

Changes:
-Fixed the GUI, now only a single radio button can be selected. Atm please only select the maps that are done, otherwise it'll crash because of missing variables.
-Added two maps, Perdition Rock and Witman's Folly (marked in blue).
-Added a .txt with some notes about builds. Witman's has extra coords which should get full carto on the map.
-Started changing the variable names to reflect the full map names.
-Added the file structure for all maps and started adding the .au3 map template.
-Fixed the Maishang Hills exit.

Issues:
-Proph maps are notorious for patrols so you might have to do a manual pass at the end.
-Running Luxon map vanqs while in a Kurzick guild (or if you have more Kurzick than Luxon faction), the bot will not take the priest buff (different dialog tree).

To do:
-Complete all maps
-Prevent bot the leave the map and reset the vq after all the coords are done. This way players can come in and do a manual cleanup if needed and get carto spots.
-Allow players to save a 4-6-8 man team so you load the right team for the right map
-Change loot rules so it picks up everything on each map (long term this could be set to specific rarities)
-Clean up code. Right now it uses a really high number of variables, I wonder if using an array would make it easier.
-Clarify current actions by adding a checkpoint indicator for identifying problematic coords easier?
-add options for caravan maps (especially prophecies)
05/11/2024 21:05 Mrjambix#10
Quote:
Originally Posted by JimRaynerd View Post
Hey I've been in touch with OP and am contributing to the project. I'm new to this and have no exp so my implementation of things might be hacky/wrong. Feedback is appreciated.
Please make sure to run the available maps and give feedback on if they are run properly. Be aware that the bot will reset the run on it's own so keep an eye on it in case mobs are missed.

Update notes for version 11/05/2024:

Changes:
-Fixed the GUI, now only a single radio button can be selected. Atm please only select the maps that are done, otherwise it'll crash because of missing variables.
-Added two maps, Perdition Rock and Witman's Folly (marked in blue).
-Added a .txt with some notes about builds. Witman's has extra coords which should get full carto on the map.
-Started changing the variable names to reflect the full map names.
-Added the file structure for all maps and started adding the .au3 map template.
-Fixed the Maishang Hills exit.

Issues:
-Proph maps are notorious for patrols so you might have to do a manual pass at the end.
-Running Luxon map vanqs while in a Kurzick guild (or if you have more Kurzick than Luxon faction), the bot will not take the priest buff (different dialog tree).

To do:
-Complete all maps
-Prevent bot the leave the map and reset the vq after all the coords are done. This way players can come in and do a manual cleanup if needed and get carto spots.
-Allow players to save a 4-6-8 man team so you load the right team for the right map
-Change loot rules so it picks up everything on each map (long term this could be set to specific rarities)
-Clean up code. Right now it uses a really high number of variables, I wonder if using an array would make it easier.
-Clarify current actions by adding a checkpoint indicator for identifying problematic coords easier?
-add options for caravan maps (especially prophecies)
Luxon but have more kurzick points dialog
Code:
If GetKurzickFaction() > GetLuxonFaction() Then
    Dialog(0x81)
    Sleep(1000)
    Dialog(0x2)
    Sleep(1000)
    Dialog(0x84)
	Sleep(1000)
	Dialog(0x86)
	Sleep(1000)
Else
    Dialog(0x85)
    Sleep(1000)
    Dialog(0x86)
    Sleep(1000)
EndIf
Kurzick but got more luxon points dialog
Code:
If GetLuxonFaction() > GetKurzickFaction() Then
    Dialog(0x81)
    Sleep(1000)
    Dialog(0x2)
    Sleep(1000)
    Dialog(0x84)
	Sleep(1000)
	Dialog(0x86)
	Sleep(1000)
Else
    Dialog(0x85)
    Sleep(1000)
    Dialog(0x86)
    Sleep(1000)
EndIf
05/11/2024 21:39 JimRaynerd#11
Quote:
Originally Posted by Mrjambix View Post
Luxon but have more kurzick points dialog
Code:
If GetKurzickFaction() > GetLuxonFaction() Then
    Dialog(0x81)
    Sleep(1000)
    Dialog(0x2)
    Sleep(1000)
    Dialog(0x84)
	Sleep(1000)
	Dialog(0x86)
	Sleep(1000)
Else
    Dialog(0x85)
    Sleep(1000)
    Dialog(0x86)
    Sleep(1000)
EndIf
Kurzick but got more luxon points dialog
Code:
If GetLuxonFaction() > GetKurzickFaction() Then
    Dialog(0x81)
    Sleep(1000)
    Dialog(0x2)
    Sleep(1000)
    Dialog(0x84)
	Sleep(1000)
	Dialog(0x86)
	Sleep(1000)
Else
    Dialog(0x85)
    Sleep(1000)
    Dialog(0x86)
    Sleep(1000)
EndIf
Yeah I found out about that through another bot, was gonna import them at some point. I wonder though if that's detectable somehow since those options aren't meant to be visible to the player?
05/11/2024 21:43 Mrjambix#12
Quote:
Originally Posted by JimRaynerd View Post
Yeah I found out about that through another bot, was gonna import them at some point. I wonder though if that's detectable somehow since those options aren't meant to be visible to the player?
those options are visible to the players... I wouldn't give you the options to bypass the checks. These options are only for if your points are higher than the faction controlling it, not if you want kurz but it's being control by lux.
05/11/2024 22:05 JimRaynerd#13
Quote:
Originally Posted by Mrjambix View Post
those options are visible to the players... I wouldn't give you the options to bypass the checks. These options are only for if your points are higher than the faction controlling it, not if you want kurz but it's being control by lux.
Yeah sry glossed over your code, yours has a proper check. The other bot didn't have that and made it look super sus, giving you access to "hidden dialog options"
05/13/2024 03:12 Melychou#14
Quote:
Originally Posted by JimRaynerd View Post
-Prevent bot the leave the map and reset the vq after all the coords are done. This way players can come in and do a manual cleanup if needed and get carto spots.
Hi Jim, thanks for your contribution :)

A solution given to me by OP that may help is to change the number at the end of this function, which is visible at the end of each map file.

Code:
If  $DeadOnTheRun = 1 then RndSlp(15000)

    Until CheckArea(-8686.33 ,-5612.6,1000)

    If $DeadOnTheRun = 0 Then CurrentAction("Waiting to get reward")
    If $DeadOnTheRun = 0 Then Sleep(3000)
You can change the 3000 on whatever you want.
3000 = 3 seconds

That it would be interesting to integrate an option on the GUI to be able to manually choose the waiting time before the bot TP back to outpost: 1, 5, 10, 30 mins for ex to have a little leeway.
05/13/2024 13:36 TheKuM1Ko#15
Quote:
Originally Posted by Melychou View Post
Hi Jim, thanks for your contribution :)

A solution given to me by OP that may help is to change the number at the end of this function, which is visible at the end of each map file.

Code:
If  $DeadOnTheRun = 1 then RndSlp(15000)

    Until CheckArea(-8686.33 ,-5612.6,1000)

    If $DeadOnTheRun = 0 Then CurrentAction("Waiting to get reward")
    If $DeadOnTheRun = 0 Then Sleep(3000)
You can change the 3000 on whatever you want.
3000 = 3 seconds

That it would be interesting to integrate an option on the GUI to be able to manually choose the waiting time before the bot TP back to outpost: 1, 5, 10, 30 mins for ex to have a little leeway.
Y this is a simple solution but on the definitive version we will integrate a func to check if the area is vanquished or need to redo the coords.

Atm we are all full on taking the coords on the various zones, for this reason we are looking for people to help us mapping the areas.