Func Farm()
If Not $WeAreDead Then CurrentAction("Nightmare Group 1/3")
If Not $WeAreDead Then Engage()
If Not $WeAreDead Then CollectObject()
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then CurrentAction("Nightmare Group 2/3")
If Not $WeAreDead Then Engage()
If Not $WeAreDead Then CollectObject()
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead then CurrentAction("Recharging Life-Energy-Skills")
local $timertobethebest = TimerInit()
If Not $WeAreDead then
Do
Sleep(200)
$me2 = GetAgentByID(-2)
Until (DllStructGetData($me2, 'EnergyPercent') = .7 And DllStructGetData($me2, 'HP') = .8) or TimerDiff($timertobethebest) > 15000
EndIf
If Not $WeAreDead then MoveTo(7321, -3438)
If Not $WeAreDead Then CurrentAction("Nightmare Group 3/3")
If Not $WeAreDead Then Engage()
If Not $WeAreDead Then CollectObject()
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then $enemy = "Nightmares"
If Not $WeAreDead Then AggroMoveToEx(10338, -5940, $enemy)
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then $enemy = "Nightmares"
If Not $WeAreDead Then AggroMoveToEx(12720, -5286, $enemy)
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then $enemy = "Nightmares"
If Not $WeAreDead Then AggroMoveToEx(12588, -818, $enemy)
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then $enemy = "Nightmares"
If Not $WeAreDead Then AggroMoveToEx(12432, 1077, $enemy)
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then $enemy = "Nightmares"
If Not $WeAreDead Then AggroMoveToEx(10303, 980, $enemy)
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then $enemy = "Nightmares"
If Not $WeAreDead Then AggroMoveToEx(9720, 2245, $enemy)
AdlibUnRegister("CheckDeath")
AdlibUnRegister("HealYourself")
CurrentAction("End Of Run")
EndFunc
Func CollectObject()
Sleep(800)
If Not $WeAreDead Then CurrentAction("Pickup Loot")
PickupLoot()
;PickupLoot() ;Need to edit Canpickup list and create checkbox for: pickup all = PickupItems
CheckIfInventoryIsFull()
If Not $WeAreDead Then CurrentAction("Recharging")
Do
local $NearestAgent = GetNearestEnemyToAgent(-2)
$distance = [MENTION=368499]Extended[/MENTION]
If $distance < 1020 Then
Fight2()
CollectObject()
EndIf
If Not $WeAreDead Then RndSlp(500)
Until (DllStructGetData(GetAgentByID(-2), 'EnergyPercent') >= 0.9 OR $WeAreDead)
UseSkillEx(8,0)
UseSkillEx(7,0)
EndFunc;==>CollectObject
Func CanPickUp($aItem)
Local $lModelID = DllStructGetData(($aItem), 'ModelId')
Local $aExtraID = DllStructGetData($aItem, 'ExtraId')
Local $lRarity = GetRarity($aItem)
Local $Requirement = GetItemReq($aItem)
If ($lModelID == 2511) Then
If (GetGoldCharacter() < 99000) Then
Return True ; gold coins (only pick if character has less than 99k in inventory)
Else
Return False
EndIf
ElseIf ($lModelID == $ITEM_ID_Dyes) Then ; if dye
If (($aExtraID == $ITEM_ExtraID_BlackDye) Or ($aExtraID == $ITEM_ExtraID_WhiteDye)) Then ; only pick white and black ones
Return True
EndIf
ElseIf ($lRarity == $RARITY_Gold) Then ; gold items
$GoldsCount = $GoldsCount + 1
GUICtrlSetData($GUI_Golds,$GoldsCount)
Return True
ElseIf ($lRarity == $RARITY_Purple) Then ; purple items
Return True
ElseIf ($lRarity == $RARITY_Blue) Then ; blue items
Return True
ElseIf ($lRarity == $RARITY_White) Then ; White items
Return True
Else
Return False
EndIf
EndFunc
Func PickupItems($iItems = -1, $fMaxDistance = 1012)
Local $aItemID, $lNearestDistance, $lDistance
$tDeadlock = TimerInit()
Do
$aItem = GetNearestItemToAgent(-2)
$lDistance = [MENTION=368499]Extended[/MENTION]
$aItemID = DllStructGetData($aItem, 'ID')
If $aItemID = 0 Or $lDistance > $fMaxDistance Or TimerDiff($tDeadlock) > 30000 Then ExitLoop
PickUpItem($aItem)
$tDeadlock2 = TimerInit()
Do
Sleep(500)
If TimerDiff($tDeadlock2) > 5000 Then ContinueLoop 2
Until DllStructGetData(GetAgentById($aItemID), 'ID') == 0
$iItems_Picked += 1
;UpdateStatus("Picked total " & $iItems_Picked & " items")
Until $iItems_Picked = $iItems
Return $iItems_Picked
EndFunc ;==>PickupItems
Func Farm()
If Not $WeAreDead Then CurrentAction("Nightmare Group 1/3")
If Not $WeAreDead Then Engage()
If Not $WeAreDead Then CollectObject()
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then CurrentAction("Nightmare Group 2/3")
If Not $WeAreDead Then Engage()
If Not $WeAreDead Then CollectObject()
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead then CurrentAction("Recharging Life-Energy-Skills")
local $timertobethebest = TimerInit()
If Not $WeAreDead then
Do
Sleep(200)
$me2 = GetAgentByID(-2)
Until (DllStructGetData($me2, 'EnergyPercent') = .7 And DllStructGetData($me2, 'HP') = .8) or TimerDiff($timertobethebest) > 15000
EndIf
If Not $WeAreDead then MoveTo(7321, -3438)
If Not $WeAreDead Then CurrentAction("Nightmare Group 3/3")
If Not $WeAreDead Then Engage()
If Not $WeAreDead Then CollectObject()
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then $enemy = "Nightmares"
If Not $WeAreDead Then AggroMoveToEx(10338, -5940, $enemy)
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then $enemy = "Nightmares"
If Not $WeAreDead Then AggroMoveToEx(12720, -5286, $enemy)
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then $enemy = "Nightmares"
If Not $WeAreDead Then AggroMoveToEx(12588, -818, $enemy)
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then $enemy = "Nightmares"
If Not $WeAreDead Then AggroMoveToEx(12432, 1077, $enemy)
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then $enemy = "Nightmares"
If Not $WeAreDead Then AggroMoveToEx(10303, 980, $enemy)
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then $enemy = "Nightmares"
If Not $WeAreDead Then AggroMoveToEx(9720, 2245, $enemy)
AdlibUnRegister("CheckDeath")
AdlibUnRegister("HealYourself")
CurrentAction("End Of Run")
EndFunc
Func CollectObject()
Sleep(800)
If Not $WeAreDead Then CurrentAction("Pickup Loot")
PickupLoot()
;PickupLoot() ;Need to edit Canpickup list and create checkbox for: pickup all = PickupItems
CheckIfInventoryIsFull()
If Not $WeAreDead Then CurrentAction("Recharging")
Do
local $NearestAgent = GetNearestEnemyToAgent(-2)
$distance = [MENTION=368499]Extended[/MENTION]
If $distance < 1020 Then
Fight2()
CollectObject()
EndIf
If Not $WeAreDead Then RndSlp(500)
Until (DllStructGetData(GetAgentByID(-2), 'EnergyPercent') >= 0.9 OR $WeAreDead)
UseSkillEx(8,0)
UseSkillEx(7,0)
EndFunc;==>CollectObject
Func CanPickUp($aItem)
Local $lModelID = DllStructGetData(($aItem), 'ModelId')
Local $aExtraID = DllStructGetData($aItem, 'ExtraId')
Local $lRarity = GetRarity($aItem)
Local $Requirement = GetItemReq($aItem)
If ($lModelID == 2511) Then
If (GetGoldCharacter() < 99000) Then
Return True ; gold coins (only pick if character has less than 99k in inventory)
Else
Return False
EndIf
ElseIf ($lModelID == $ITEM_ID_Dyes) Then ; if dye
If (($aExtraID == $ITEM_ExtraID_BlackDye) Or ($aExtraID == $ITEM_ExtraID_WhiteDye)) Then ; only pick white and black ones
Return True
EndIf
ElseIf ($lRarity == $RARITY_Gold) Then ; gold items
$GoldsCount = $GoldsCount + 1
GUICtrlSetData($GUI_Golds,$GoldsCount)
Return True
ElseIf ($lRarity == $RARITY_Purple) Then ; purple items
Return True
ElseIf ($lRarity == $RARITY_Blue) Then ; blue items
Return True
ElseIf ($lRarity == $RARITY_White) Then ; White items
Return True
Else
Return False
EndIf
EndFunc
Func PickupItems($iItems = -1, $fMaxDistance = 1012)
Local $aItemID, $lNearestDistance, $lDistance
$tDeadlock = TimerInit()
Do
$aItem = GetNearestItemToAgent(-2)
$lDistance = [MENTION=368499]Extended[/MENTION]
$aItemID = DllStructGetData($aItem, 'ID')
If $aItemID = 0 Or $lDistance > $fMaxDistance Or TimerDiff($tDeadlock) > 30000 Then ExitLoop
PickUpItem($aItem)
$tDeadlock2 = TimerInit()
Do
Sleep(500)
If TimerDiff($tDeadlock2) > 5000 Then ContinueLoop 2
Until DllStructGetData(GetAgentById($aItemID), 'ID') == 0
$iItems_Picked += 1
;UpdateStatus("Picked total " & $iItems_Picked & " items")
Until $iItems_Picked = $iItems
Return $iItems_Picked
EndFunc ;==>PickupItems
you will need to give more information. Whats happening ingame, what is the output of ur console, etc
Also you have the function "PickupLoot()" in your "CollectObject()" which is def. not the function you have declared beneath.
So in ur code you re not calling the "PickupItems" a single time.
I guess that makes it easier. Ingame it feels like the step gets skipped or the bot doesn't find an item to pick up i am not sure what is the case - i played around with some pickupfunctions from working bots this might be the reason the ones in the code posted don't match
I guess that makes it easier. Ingame it feels like the step gets skipped or the bot doesn't find an item to pick up i am not sure what is the case - i played around with some pickupfunctions from working bots this might be the reason the ones in the code posted don't match
i can help you but i wont digg into the stuff for you, you gotta have to find the mistake and i can answer ur question
I am pretty sure the mistake has to be within one of these 3 func - the thing is the bot doesn't seem to even start picking stuff up - from my point of view the bot should pick up any item in the area dropped but he moves straight on to the next groupe:
Code:
Func Farm()
If Not $WeAreDead Then CurrentAction("Nightmare Group 1/3")
If Not $WeAreDead Then Engage()
If Not $WeAreDead Then CollectObject()
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then CurrentAction("Nightmare Group 2/3")
If Not $WeAreDead Then Engage()
If Not $WeAreDead Then CollectObject()
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead then CurrentAction("Recharging Life-Energy-Skills")
local $timertobethebest = TimerInit()
If Not $WeAreDead then
Do
Sleep(200)
$me2 = GetAgentByID(-2)
Until (DllStructGetData($me2, 'EnergyPercent') = .7 And DllStructGetData($me2, 'HP') = .8) or TimerDiff($timertobethebest) > 15000
;--> shortend the part of the farm func cause the mistake comes up in the "CollectObject-Line"
Func CollectObject()
Sleep(800)
If Not $WeAreDead Then CurrentAction("Pickup Loot")
PickupItems()
;PickupLoot() ;Need to edit Canpickup list and create checkbox for: pickup all = PickupItems
CheckIfInventoryIsFull()
If Not $WeAreDead Then CurrentAction("Recharging")
Do
local $NearestAgent = GetNearestEnemyToAgent(-2)
$distance = [MENTION=368499]Extended[/MENTION]
If $distance < 1020 Then
Fight2()
CollectObject()
EndIf
If Not $WeAreDead Then RndSlp(500)
Until (DllStructGetData(GetAgentByID(-2), 'EnergyPercent') >= 0.9 OR $WeAreDead)
UseSkillEx(8,0)
UseSkillEx(7,0)
EndFunc
Func PickupItems($iItems = -1, $fMaxDistance = 1012)
Local $aItemID, $lNearestDistance, $lDistance
$tDeadlock = TimerInit()
Do
$aItem = GetNearestItemToAgent(-2)
$lDistance = [MENTION=368499]Extended[/MENTION]
$aItemID = DllStructGetData($aItem, 'ID')
If $aItemID = 0 Or $lDistance > $fMaxDistance Or TimerDiff($tDeadlock) > 30000 Then ExitLoop
PickUpItem($aItem)
$tDeadlock2 = TimerInit()
Do
Sleep(500)
If TimerDiff($tDeadlock2) > 5000 Then ContinueLoop 2
Until DllStructGetData(GetAgentById($aItemID), 'ID') == 0
$iItems_Picked += 1
;UpdateStatus("Picked total " & $iItems_Picked & " items")
Until $iItems_Picked = $iItems
Return $iItems_Picked
EndFunc
I am pretty sure the mistake has to be within one of these 3 func - the thing is the bot doesn't seem to even start picking stuff up - from my point of view the bot should pick up any item in the area dropped but he moves straight on to the next groupe:
Code:
Func Farm()
If Not $WeAreDead Then CurrentAction("Nightmare Group 1/3")
If Not $WeAreDead Then Engage()
If Not $WeAreDead Then CollectObject()
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead Then CurrentAction("Nightmare Group 2/3")
If Not $WeAreDead Then Engage()
If Not $WeAreDead Then CollectObject()
If CheckIfInventoryIsFull() and Not $WeAreDead then $WeAreDead = True
If Not $WeAreDead then CurrentAction("Recharging Life-Energy-Skills")
local $timertobethebest = TimerInit()
If Not $WeAreDead then
Do
Sleep(200)
$me2 = GetAgentByID(-2)
Until (DllStructGetData($me2, 'EnergyPercent') = .7 And DllStructGetData($me2, 'HP') = .8) or TimerDiff($timertobethebest) > 15000
;--> shortend the part of the farm func cause the mistake comes up in the "CollectObject-Line"
Func CollectObject()
Sleep(800)
If Not $WeAreDead Then CurrentAction("Pickup Loot")
PickupItems()
;PickupLoot() ;Need to edit Canpickup list and create checkbox for: pickup all = PickupItems
CheckIfInventoryIsFull()
If Not $WeAreDead Then CurrentAction("Recharging")
Do
local $NearestAgent = GetNearestEnemyToAgent(-2)
$distance = [MENTION=368499]Extended[/MENTION]
If $distance < 1020 Then
Fight2()
CollectObject()
EndIf
If Not $WeAreDead Then RndSlp(500)
Until (DllStructGetData(GetAgentByID(-2), 'EnergyPercent') >= 0.9 OR $WeAreDead)
UseSkillEx(8,0)
UseSkillEx(7,0)
EndFunc
Func PickupItems($iItems = -1, $fMaxDistance = 1012)
Local $aItemID, $lNearestDistance, $lDistance
$tDeadlock = TimerInit()
Do
$aItem = GetNearestItemToAgent(-2)
$lDistance = [MENTION=368499]Extended[/MENTION]
$aItemID = DllStructGetData($aItem, 'ID')
If $aItemID = 0 Or $lDistance > $fMaxDistance Or TimerDiff($tDeadlock) > 30000 Then ExitLoop
PickUpItem($aItem)
$tDeadlock2 = TimerInit()
Do
Sleep(500)
If TimerDiff($tDeadlock2) > 5000 Then ContinueLoop 2
Until DllStructGetData(GetAgentById($aItemID), 'ID') == 0
$iItems_Picked += 1
;UpdateStatus("Picked total " & $iItems_Picked & " items")
Until $iItems_Picked = $iItems
Return $iItems_Picked
EndFunc
because The pickuploot func do not exist... it's on CommonFunctionEx.au3 but it's disable
Enable the func or copy on main script.
But "pickuploot" is not used within these func or ?
and all others are activ I think
Code:
Func CollectObject()
Sleep(800)
If Not $WeAreDead Then CurrentAction("Pickup Loot")
PickupLoot() ;<---- HERE
;PickupLoot() ;Need to edit Canpickup list and create checkbox for: pickup all = PickupItems
CheckIfInventoryIsFull()
If Not $WeAreDead Then CurrentAction("Recharging")
Do
local $NearestAgent = GetNearestEnemyToAgent(-2)
$distance = [MENTION=368499]Extended[/MENTION]
If $distance < 1020 Then
Fight2()
CollectObject()
EndIf
If Not $WeAreDead Then RndSlp(500)
Until (DllStructGetData(GetAgentByID(-2), 'EnergyPercent') >= 0.9 OR $WeAreDead)
UseSkillEx(8,0)
UseSkillEx(7,0)
EndFunc ;==>CollectObject
Plz, you have all you need here...
- grab a GWA2 api updated on this thread or update on your own with
- grab a bot you want and replace the old GWA2 by the new one (maybe you will need to disable some duplicated function between the main script and the new GWA2.
- Done
Plz, you have all you need here...
- grab a GWA2 api updated on this thread or update on your own with
- grab a bot you want and replace the old GWA2 by the new one (maybe you will need to disable some duplicated function between the main script and the new GWA2.
- Done
Agreed but not always true some older bots have functions that dont exist and so on but pretty easy to figure out. I can post an updated rit feather bot I guess with no gwa2 lol
Agreed but not always true some older bots have functions that dont exist and so on but pretty easy to figure out. I can post an updated rit feather bot I guess with no gwa2 lol
When i talking about "old", i'm talking about the 2019 list on my siq... not so old
[GWA2] How to chase after updated header values? 11/14/2024 - GW Bots - 11 Replies Hi all,
First post, but have been following the tips all over this forum for about 6 months since I started writing my own bots.
Recently the server headers changed, and although it looks like the community have pulled through and released a new version of GWA2 to reflect it, there are other headers that I'm using, that aren't in the vanilla GWA2 code.
SendPacket(0x14, 0x6F, $lItemID, $lQuantity, $lBagID, $aSlot - 1)
The above command would have previously told GW to move $lQuantity...
Leader/followbot - Updated with new GWA2/headers (functional) 07/21/2019 - GW Exploits, Hacks, Bots, Tools & Macros - 29 Replies EDIT: Updated 6/16/18
Hey all,
I updated the follow/leader bot with the new headers (I think there were a few that I didn't bother updating, since the script doesn't seem to use them anywhere). I haven't done extensive testing, but it's working for me so far. Please let me know if you get any errors/crashes, and I'll attempt to fix them.
Enjoy!
GWA2 A/mo Vaettir Bot; Need Help!! 02/19/2012 - GW Bots - 1 Replies http://www.elitepvpers.com/forum/gw-exploits-hacks -bots-tools-macros/1568881-gwa-vaettir-mo-farm-bot .html
ENGLISH:
I can't seem to get this to work. I've spent 3-4 hours, read the entire thread here, tried to search for a detailed guide on how to get this to work but it's not.
What I've done was: Downloaded the 2 files shown in the Original Post... "GWA2 A_Mo Vaettirs Farm by bl4ck3lit3.zip"
Extracted it to desktop
Ran GW.EXE as admin.
Set-up assassin with appropriate gear and...