Register for your free account! | Forgot your password?

You last visited: Today at 07:14

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



BotsHub

Discussion on BotsHub within the GW Exploits, Hacks, Bots, Tools & Macros forum part of the Guild Wars category.

Reply
 
Old 12/03/2025, 15:02   #181
 
elite*gold: 0
Join Date: Jul 2017
Posts: 8
Received Thanks: 0
Hi Kronos,

Here you have a better code

Func CreateValuableModsByWeaponTypeMap()
Local $ID_Type_Axe = 2
Local $ID_Type_Bow = 5
Local $ID_Type_Offhand = 12
Local $ID_Type_Hammer = 15
Local $ID_Type_Wand = 22
Local $ID_Type_Shield = 24
Local $ID_Type_Staff = 26
Local $ID_Type_Sword = 27
Local $ID_Type_Dagger = 32
Local $ID_Type_Scythe = 35
Local $ID_Type_Spear = 36

Local $tickedInscriptions = GetComponentsTickedCheckboxes('Inscriptions')
;Local $tickedMods = GetComponentsTickedCheckboxes('Mods')

Local $tickedAxe = GetComponentsTickedCheckboxes('Axe')
Local $tickedBow = GetComponentsTickedCheckboxes('Bow')
Local $tickedDagger = GetComponentsTickedCheckboxes('Dagger')
Local $tickedFocus = GetComponentsTickedCheckboxes('Suffix - Core')
Local $tickedHammer = GetComponentsTickedCheckboxes('Hammer')
Local $tickedScythe = GetComponentsTickedCheckboxes('Scythe')
Local $tickedShield = GetComponentsTickedCheckboxes('Shield')
Local $tickedSpear = GetComponentsTickedCheckboxes('Spear')
Local $tickedStaff = GetComponentsTickedCheckboxes('Staff')
Local $tickedSword = GetComponentsTickedCheckboxes('Sword')
Local $tickedWand = GetComponentsTickedCheckboxes('Wand')


Local $Incriptions_Structs_Array[UBound($tickedInscriptions)]
For $i = 0 To UBound($tickedInscriptions) - 1
Local $varName = $tickedInscriptions[$i]
$varname = StringRegExpReplace($varname,"\(.*?\)","")
Local $pos = StringInStr($varname, ".", 0, -1)
$varname = StringMid($varname, $pos +1)
If StringRight($varname, 1) = " " Then
$varname = StringTrimRight($varname, 1)
EndIf
$varName = 'STRUCT_INSCRIPTION_' & StringUpper(StringReplace($varname, " ", "_"))
$Incriptions_Structs_Array[$i] = Eval($varName)
Next

Local $Axe_Mods_Array = Extract_Mods_Struct($tickedAxe)
Local $Bow_Mods_Array = Extract_Mods_Struct($tickedBow)
Local $Dagger_Mods_Array = Extract_Mods_Struct($tickedDagger)
Local $Focus_Mods_Array = Extract_Mods_Struct($tickedFocus)
Local $Hammer_Mods_Array = Extract_Mods_Struct($tickedHammer)
Local $Scythe_Mods_Array = Extract_Mods_Struct($tickedScythe)
Local $Shield_Mods_Array = Extract_Mods_Struct($tickedShield)
Local $Spear_Mods_Array = Extract_Mods_Struct($tickedSpear)
Local $Staff_Mods_Array = Extract_Mods_Struct($tickedStaff)
Local $Sword_Mods_Array = Extract_Mods_Struct($tickedSword)
Local $Wand_Mods_Array = Extract_Mods_Struct($tickedWand)

_ArrayAdd($Axe_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Bow_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Dagger_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Focus_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Hammer_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Scythe_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Shield_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Spear_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Staff_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Sword_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Wand_Mods_Array, $Incriptions_Structs_Array)


Local Const $All_Weapons_Array = [$ID_Type_Shield, $ID_Type_Offhand, $ID_Type_Wand, $ID_Type_Staff, $ID_Type_Bow, $ID_Type_Axe, $ID_Type_Hammer, $ID_Type_Sword, $ID_Type_Dagger, $ID_Type_Scythe, $ID_Type_Spear]
Local Const $All_Weapons_Mods_Array = [$Shield_Mods_Array, $Focus_Mods_Array, $Wand_Mods_Array, $Staff_Mods_Array, $Bow_Mods_Array, $Axe_Mods_Array, $Hammer_Mods_Array, _
$Sword_Mods_Array, $Dagger_Mods_Array, $Scythe_Mods_Array, $Spear_Mods_Array]
Local Const $Valuable_Incriptions_and_mods_Structs_Array[] = MapFromArrays($All_Weapons_Array, $All_Weapons_Mods_Array)
Return $Valuable_Incriptions_and_mods_Structs_Array
EndFunc

Func Extract_Mods_Struct($index)
Local $Mods_Array [UBound($index)]
For $i = 0 To UBound($index) - 1
Local $varName = $index[$i]
$varName = StringRegExpReplace($varName,"\(.*?\)","") ;Take out everyth¡ng inside ()

If StringInStr(StringUpper($varName), "VAMPIRIC") Then
If StringInStr($varName, "bow") Or StringInStr($varName, "hammer") Then
$varName = StringRegExpReplace(StringUpper($varName),"VAMPIRI C","vampiric_5")
Else
$varName = StringRegExpReplace(StringUpper($varName),"VAMPIRI C","vampiric_3")
EndIf
EndIf

If StringInStr(StringUpper($varName), "MASTERY") Then
If StringInStr($varName, "axe") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","AXE_MASTERY")
ElseIf StringInStr($varName, "bow") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","MARKSMANSHIP_MASTERY")
ElseIf StringInStr($varName, "dagger") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","DAGGER_MASTERY")
ElseIf StringInStr($varName, "hammer") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","HAMMER_MASTERY")
ElseIf StringInStr($varName, "scythe") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","SCYTHE_MASTERY")
ElseIf StringInStr($varName, "spear") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","SPEAR_MASTERY")
ElseIf StringInStr($varName, "sword") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","SWORDMANSHIP_MASTERY")
ElseIf StringInStr($varName, "staff") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","STAFF_MASTERY")
EndIf
EndIf
Local $pos = StringInStr($varName, ".", 0, -1);Search position of last .
$varName = StringMid($varName, $pos +1);Delete everything before the last .

If StringRight($varName, 1) = " " Then ;Take out any space at the end
$varName = StringTrimRight($varName, 1)
EndIf
$varName = 'STRUCT_MOD_' & StringUpper(StringReplace($varName, " ", "_"));Set everything in uppercase
Info("Varname: " & $varName)
$Mods_Array [$i] = Eval($varName)
Next
Return $Mods_Array
EndFunc

I checked that all the mods and inscriptions got transalated. Now I need to test if they work when going to Merchant.

I see that for Staff they are a lot of masteries as they do not need to be aligned with the main attribute. It's an improvement to do on the GUI and then codify that

Hi Kronos,

Here you have a better code

Func CreateValuableModsByWeaponTypeMap()
Local $ID_Type_Axe = 2
Local $ID_Type_Bow = 5
Local $ID_Type_Offhand = 12
Local $ID_Type_Hammer = 15
Local $ID_Type_Wand = 22
Local $ID_Type_Shield = 24
Local $ID_Type_Staff = 26
Local $ID_Type_Sword = 27
Local $ID_Type_Dagger = 32
Local $ID_Type_Scythe = 35
Local $ID_Type_Spear = 36

Local $tickedInscriptions = GetComponentsTickedCheckboxes('Inscriptions')
;Local $tickedMods = GetComponentsTickedCheckboxes('Mods')

Local $tickedAxe = GetComponentsTickedCheckboxes('Axe')
Local $tickedBow = GetComponentsTickedCheckboxes('Bow')
Local $tickedDagger = GetComponentsTickedCheckboxes('Dagger')
Local $tickedFocus = GetComponentsTickedCheckboxes('Suffix - Core')
Local $tickedHammer = GetComponentsTickedCheckboxes('Hammer')
Local $tickedScythe = GetComponentsTickedCheckboxes('Scythe')
Local $tickedShield = GetComponentsTickedCheckboxes('Shield')
Local $tickedSpear = GetComponentsTickedCheckboxes('Spear')
Local $tickedStaff = GetComponentsTickedCheckboxes('Staff')
Local $tickedSword = GetComponentsTickedCheckboxes('Sword')
Local $tickedWand = GetComponentsTickedCheckboxes('Wand')


Local $Incriptions_Structs_Array[UBound($tickedInscriptions)]
For $i = 0 To UBound($tickedInscriptions) - 1
Local $varName = $tickedInscriptions[$i]
$varname = StringRegExpReplace($varname,"\(.*?\)","")
Local $pos = StringInStr($varname, ".", 0, -1)
$varname = StringMid($varname, $pos +1)
If StringRight($varname, 1) = " " Then
$varname = StringTrimRight($varname, 1)
EndIf
$varName = 'STRUCT_INSCRIPTION_' & StringUpper(StringReplace($varname, " ", "_"))
$Incriptions_Structs_Array[$i] = Eval($varName)
Next

Local $Axe_Mods_Array = Extract_Mods_Struct($tickedAxe)
Local $Bow_Mods_Array = Extract_Mods_Struct($tickedBow)
Local $Dagger_Mods_Array = Extract_Mods_Struct($tickedDagger)
Local $Focus_Mods_Array = Extract_Mods_Struct($tickedFocus)
Local $Hammer_Mods_Array = Extract_Mods_Struct($tickedHammer)
Local $Scythe_Mods_Array = Extract_Mods_Struct($tickedScythe)
Local $Shield_Mods_Array = Extract_Mods_Struct($tickedShield)
Local $Spear_Mods_Array = Extract_Mods_Struct($tickedSpear)
Local $Staff_Mods_Array = Extract_Mods_Struct($tickedStaff)
Local $Sword_Mods_Array = Extract_Mods_Struct($tickedSword)
Local $Wand_Mods_Array = Extract_Mods_Struct($tickedWand)

_ArrayAdd($Axe_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Bow_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Dagger_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Focus_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Hammer_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Scythe_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Shield_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Spear_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Staff_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Sword_Mods_Array, $Incriptions_Structs_Array)
_ArrayAdd($Wand_Mods_Array, $Incriptions_Structs_Array)


Local Const $All_Weapons_Array = [$ID_Type_Shield, $ID_Type_Offhand, $ID_Type_Wand, $ID_Type_Staff, $ID_Type_Bow, $ID_Type_Axe, $ID_Type_Hammer, $ID_Type_Sword, $ID_Type_Dagger, $ID_Type_Scythe, $ID_Type_Spear]
Local Const $All_Weapons_Mods_Array = [$Shield_Mods_Array, $Focus_Mods_Array, $Wand_Mods_Array, $Staff_Mods_Array, $Bow_Mods_Array, $Axe_Mods_Array, $Hammer_Mods_Array, _
$Sword_Mods_Array, $Dagger_Mods_Array, $Scythe_Mods_Array, $Spear_Mods_Array]
Local Const $Valuable_Incriptions_and_mods_Structs_Array[] = MapFromArrays($All_Weapons_Array, $All_Weapons_Mods_Array)
Return $Valuable_Incriptions_and_mods_Structs_Array
EndFunc

Func Extract_Mods_Struct($index)
Local $Mods_Array [UBound($index)]
For $i = 0 To UBound($index) - 1
Local $varName = $index[$i]
$varName = StringRegExpReplace($varName,"\(.*?\)","") ;Take out everyth¡ng inside ()

If StringInStr(StringUpper($varName), "VAMPIRIC") Then
If StringInStr($varName, "bow") Or StringInStr($varName, "hammer") Then
$varName = StringRegExpReplace(StringUpper($varName),"VAMPIRI C","vampiric_5")
Else
$varName = StringRegExpReplace(StringUpper($varName),"VAMPIRI C","vampiric_3")
EndIf
EndIf

If StringInStr(StringUpper($varName), "MASTERY") Then
If StringInStr($varName, "axe") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","AXE_MASTERY")
ElseIf StringInStr($varName, "bow") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","MARKSMANSHIP_MASTERY")
ElseIf StringInStr($varName, "dagger") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","DAGGER_MASTERY")
ElseIf StringInStr($varName, "hammer") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","HAMMER_MASTERY")
ElseIf StringInStr($varName, "scythe") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","SCYTHE_MASTERY")
ElseIf StringInStr($varName, "spear") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","SPEAR_MASTERY")
ElseIf StringInStr($varName, "sword") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","SWORDMANSHIP_MASTERY")
ElseIf StringInStr($varName, "staff") Then
$varName = StringRegExpReplace(StringUpper($varName),"MASTERY ","STAFF_MASTERY")
EndIf
EndIf
Local $pos = StringInStr($varName, ".", 0, -1);Search position of last .
$varName = StringMid($varName, $pos +1);Delete everything before the last .

If StringRight($varName, 1) = " " Then ;Take out any space at the end
$varName = StringTrimRight($varName, 1)
EndIf
$varName = 'STRUCT_MOD_' & StringUpper(StringReplace($varName, " ", "_"));Set everything in uppercase
$Mods_Array [$i] = Eval($varName)
Next
Return $Mods_Array
EndFunc

I see that for Staffs the are different Mastery suffixes as they do not need to be aligned with main attribute. This is something to improve on GUI and the codificated on Sctruct

Also please add me as contributor so I can upload the heroes stuff and this, so you can work on improve it. At the moment I cannot do a pull request as it says I'm not contributor
pepe botika is offline  
Old 12/03/2025, 23:49   #182
 
Kronos8's Avatar
 
elite*gold: 0
Join Date: Apr 2021
Posts: 59
Received Thanks: 66
/!\ Due to recent update, all bots are broken (that include toolbox, autoit, python bots ...) /!\
Enjoy that timeout by playing the game the way it is supposed to !

Hey @, thanks for your work
Unfortunately due to GW update, it will have to wait a little bit before I try it out.
Kronos8 is offline  
Thanks
1 User
Old 12/05/2025, 14:52   #183
 
elite*gold: 0
Join Date: Aug 2010
Posts: 13
Received Thanks: 0
How hard would it be to add a pre-searing charr shrine/northlands clear?

EDIT: Obv once its back and running
Spartanzz is offline  
Old 12/06/2025, 01:22   #184
 
Kronos8's Avatar
 
elite*gold: 0
Join Date: Apr 2021
Posts: 59
Received Thanks: 66
@ it's probably not very complicated to write though not sure how difficult it is to make it survive against charrs
Kronos8 is offline  
Old 12/09/2025, 19:44   #185
 
elite*gold: 0
Join Date: Jul 2008
Posts: 28
Received Thanks: 1
Hi, Kronos.

Thank you so much for the awesome bot. Since the reforge update was recent. I am inquiring on whether your bot will be updated to be usable again.
eternalzx is offline  
Old 12/09/2025, 22:37   #186
 
elite*gold: 0
Join Date: Jul 2025
Posts: 2
Received Thanks: 0
Hello, I installed the latest version of AutoIt.
I downloaded the bot’s ZIP file.
I launched AutoIt3.
But when I run, for example, the Lightbringer farm, here is what it says:

22:33:03 - GW Bot Hub 1.0
22:33:06 - Initializing...
22:33:06 - Starting...
22:33:07 - Balancing character's gold level
22:33:07 - Balancing character's gold
22:33:07 - Not enough gold in chest, get some.
22:33:07 - Inventory full, pausing.
22:33:07 - Starting run 1
22:33:07 - Setting up farm
22:33:07 - Travelling to Remains of Sahlahja (outpost)

And nothing happens after that.
assanka is offline  
Old 12/10/2025, 21:59   #187
 
elite*gold: 0
Join Date: Aug 2016
Posts: 35
Received Thanks: 6
Quote:
Originally Posted by assanka View Post
Hello, I installed the latest version of AutoIt.
I downloaded the bot’s ZIP file.
I launched AutoIt3.
But when I run, for example, the Lightbringer farm, here is what it says:

22:33:03 - GW Bot Hub 1.0
22:33:06 - Initializing...
22:33:06 - Starting...
22:33:07 - Balancing character's gold level
22:33:07 - Balancing character's gold
22:33:07 - Not enough gold in chest, get some.
22:33:07 - Inventory full, pausing.
22:33:07 - Starting run 1
22:33:07 - Setting up farm
22:33:07 - Travelling to Remains of Sahlahja (outpost)

And nothing happens after that.
Since the GW Reforged update bots have not been updated yet.
uK Cooki3 is offline  
Old 12/15/2025, 23:35   #188
 
elite*gold: 0
Join Date: Jul 2022
Posts: 10
Received Thanks: 1
ayyyeee papi can we get a working version
Tabula Assault is offline  
Old 12/20/2025, 00:47   #189
 
Kronos8's Avatar
 
elite*gold: 0
Join Date: Apr 2021
Posts: 59
Received Thanks: 66
Hello, bot has been fixed.
Please report if there are still some things failing.
Only one I am aware of right now is material merchant selling/buying.
Cheers
Kronos8 is offline  
Thanks
4 Users
Old 12/20/2025, 09:35   #190
 
elite*gold: 0
Join Date: Dec 2020
Posts: 20
Received Thanks: 0
Is an update to the bot planned to work on Reforged?

Quote:
Originally Posted by Kronos8 View Post
Hello, bot has been fixed.
Please report if there are still some things failing.
Only one I am aware of right now is material merchant selling/buying.
Cheers


Do you have a download link?
Edit: I have found

Quote:
Originally Posted by Kronos8 View Post
Hello, bot has been fixed.
Please report if there are still some things failing.
Only one I am aware of right now is material merchant selling/buying.
Cheers

Which option should I select to store the gold in the chest and have the bot restart automatically?
benj3913 is offline  
Old 12/20/2025, 19:28   #191
 
elite*gold: 0
Join Date: Nov 2018
Posts: 1
Received Thanks: 0
Awesome update, thanks again!

Looks like we are having issues teleporting to eye of the north to sell/empty bags. For me this happens when using the Kurzick bot. I saw that there was a material trader issue, unsure if its linked.
Jaggz691 is offline  
Old 12/20/2025, 20:05   #192
 
elite*gold: 0
Join Date: Jan 2023
Posts: 4
Received Thanks: 0
Post

Quote:
Originally Posted by Kronos8 View Post
Hello, bot has been fixed.
Please report if there are still some things failing.
Only one I am aware of right now is material merchant selling/buying.
Cheers
Nice work! I'm going to try it out today. Cheers
Dlasmith921 is offline  
Old 12/20/2025, 20:10   #193
 
elite*gold: 0
Join Date: Jan 2024
Posts: 4
Received Thanks: 0
any idea when there wil be a pre searing LDoA bot added? apperantly MMOmarket sells em but only for 3 months which is insane
Jorisk is offline  
Old 12/20/2025, 20:53   #194
 
elite*gold: 0
Join Date: Dec 2009
Posts: 50
Received Thanks: 3
is there any working Tut Bot?
pgpavel is offline  
Old 12/21/2025, 13:15   #195
 
elite*gold: 0
Join Date: Dec 2020
Posts: 20
Received Thanks: 0
Does a bot exist for farming chests in the snowball fight?
benj3913 is offline  
Reply

Tags
bot, botshub, farm, guild wars, hub

« Dervish Raptor Bot | - »



All times are GMT +1. The time now is 07:17.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.