Register for your free account! | Forgot your password?

You last visited: Today at 22:28

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

Advertisement



Updated GWA2

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

Reply
 
Old 02/21/2020, 10:44   #46
 
elite*gold: 0
Join Date: May 2010
Posts: 100
Received Thanks: 16
possible that Func TargetNearestEnemy()
Return PerformAction(0x93, 0x1E)
EndFunc ;==>TargetNearestEnemy

is broken ?
iTeX- is offline  
Old 02/21/2020, 16:15   #47
 
elite*gold: 0
Join Date: Dec 2018
Posts: 6
Received Thanks: 0
Hey did any1 manage to fix the "StartSalvage" function? Any help is appriciated.
;~ Description: Starts a salvaging session of an item.
Func StartSalvage($aItem)
Local $lOffset[4] = [0, 0x18, 0x2C, 0x690]
Local $lSalvageSessionID = MemoryReadPtr($mBasePointer, $lOffset)

If IsDllStruct($aItem) = 0 Then
Local $lItemID = $aItem
Else
Local $lItemID = DllStructGetData($aItem, 'ID')
EndIf

Local $lSalvageKit = FindSalvageKit()
If $lSalvageKit = 0 Then Return

DllStructSetData($mSalvage, 2, $lItemID)
DllStructSetData($mSalvage, 3, FindSalvageKit())
DllStructSetData($mSalvage, 4, $lSalvageSessionID[1])

Enqueue($mSalvagePtr, 16)
EndFunc ;==>StartSalvage
ewrt is offline  
Old 02/22/2020, 02:28   #48
 
sadusten's Avatar
 
elite*gold: 0
Join Date: Aug 2015
Posts: 52
Received Thanks: 8
Quote:
Originally Posted by iTeX- View Post
possible that Func TargetNearestEnemy()
Return PerformAction(0x93, 0x1E)
EndFunc ;==>TargetNearestEnemy

is broken ?
Shouldn't be, i was using it today and worked fine for me
sadusten is offline  
Old 02/22/2020, 02:29   #49
 
elite*gold: 0
Join Date: Jul 2019
Posts: 103
Received Thanks: 83
Quote:
Originally Posted by ewrt View Post
Hey did any1 manage to fix the "StartSalvage" function? Any help is appriciated.
;~ Description: Starts a salvaging session of an item.
Func StartSalvage($aItem)
Local $lOffset[4] = [0, 0x18, 0x2C, 0x690]
Local $lSalvageSessionID = MemoryReadPtr($mBasePointer, $lOffset)

If IsDllStruct($aItem) = 0 Then
Local $lItemID = $aItem
Else
Local $lItemID = DllStructGetData($aItem, 'ID')
EndIf

Local $lSalvageKit = FindSalvageKit()
If $lSalvageKit = 0 Then Return

DllStructSetData($mSalvage, 2, $lItemID)
DllStructSetData($mSalvage, 3, FindSalvageKit())
DllStructSetData($mSalvage, 4, $lSalvageSessionID[1])

Enqueue($mSalvagePtr, 16)
EndFunc ;==>StartSalvage
Both salvage patterns are broken and the asm is commented out if you look in the gwa2 file. Those will need to be updated for that to work.
list comprehension is offline  
Old 02/22/2020, 03:25   #50
 
Zvend's Avatar
 
elite*gold: 143
Join Date: Oct 2011
Posts: 72
Received Thanks: 31
Quote:
Originally Posted by list comprehension View Post
Both salvage patterns are broken and the asm is commented out if you look in the gwa2 file. Those will need to be updated for that to work.
It will require a lot of assembly know how. Start with the xdbg or IDA to RE.
CheatEngine is also a nice add on.
Zvend is offline  
Old 02/22/2020, 20:15   #51
 
Zvend's Avatar
 
elite*gold: 143
Join Date: Oct 2011
Posts: 72
Received Thanks: 31
Quote:
Originally Posted by CoderAndy View Post
i'm saying again for all the ppl that trying to run old scripts with the new api: GWA2 isn't fully updated and it doesn't work 100%, thats why i asked phat what it needs to be fixed and here is the list again:
probably much more like
rendering
perform action iirc
on-skill event
on-chat event

Basicly almost everything that require ASM in autoit.
Zvend is offline  
Old 02/28/2020, 13:46   #52
 
elite*gold: 0
Join Date: Sep 2017
Posts: 11
Received Thanks: 5
The rendering works as expected for me, the process uses considerably less resources. It's just that some functions, seem to not be as reliable when the rendering is disabled. At least TargetNearest (All PerformAction functions?) is affected.
havochavoc2 is offline  
Old 02/28/2020, 14:10   #53
 
Restia Ashdoll's Avatar
 
elite*gold: 0
Join Date: Apr 2016
Posts: 313
Received Thanks: 166
mind sharing the updated gwa2 for those who are to stupid to update themself like me?
if i could see once how to update them like before and after i might be able to do it myself next time xD

at least i tried
Restia Ashdoll is offline  
Old 02/28/2020, 20:41   #54
 
sadusten's Avatar
 
elite*gold: 0
Join Date: Aug 2015
Posts: 52
Received Thanks: 8
Quote:
Originally Posted by Restia Ashdoll View Post
PickupLoot Func seems to not work here for me
Pretty sure i used the right header. Could you post your pickup and canpickup functions?
sadusten is offline  
Old 02/28/2020, 20:46   #55
 
Restia Ashdoll's Avatar
 
elite*gold: 0
Join Date: Apr 2016
Posts: 313
Received Thanks: 166
Quote:
Originally Posted by sadusten View Post
Pretty sure i used the right header. Could you post your pickup and canpickup functions?
i just deleted my comment because i am retarded pickuploot func was missing edit it in and works now perfectly fine sry ma bad XD as i said i am a nooby

for people who need it this should work doe:

Func PickUpLoot()
Local $lAgent
Local $aitem
Local $lDeadlock
For $i = 1 To GetMaxAgents()
If GetIsDead(-2) Then Return
$lAgent = GetAgentByID($i)
If DllStructGetData($lAgent, 'Type') <> 0x400 Then ContinueLoop
$aitem = GetItemByAgentID($i)
If CanPickUp($aitem) Then
PickUpItem($aitem)
$lDeadlock = TimerInit()
While GetAgentExists($i)
Sleep(100)
If GetIsDead(-2) Then Return
If TimerDiff($lDeadlock) > 10000 Then ExitLoop
WEnd
EndIf
Next
EndFunc
Restia Ashdoll is offline  
Old 02/28/2020, 20:48   #56
 
sadusten's Avatar
 
elite*gold: 0
Join Date: Aug 2015
Posts: 52
Received Thanks: 8
Quote:
Originally Posted by Restia Ashdoll View Post
i just deleted my comment because i am retarded pickuploot func was missing edit it in and works now perfectly fine sry ma bad XD as i said i am a nooby
haha no worries, glad it works
sadusten is offline  
Thanks
1 User
Old 02/29/2020, 01:27   #57
 
Zvend's Avatar
 
elite*gold: 143
Join Date: Oct 2011
Posts: 72
Received Thanks: 31
You guys should really start working together. Create a git, get some control, remove unnecessary functions, get more structure inside. That "API" is such a mess...

you can split the api into a few files to get more structure.. uff

Or get lost from autoit and start working on sth better, like c++ e.g.
You already have an open source up to date api which needs some extensions but its already better than this :S ^^
Zvend is offline  
Old 02/29/2020, 01:39   #58
 
sadusten's Avatar
 
elite*gold: 0
Join Date: Aug 2015
Posts: 52
Received Thanks: 8
Quote:
Originally Posted by Zvend View Post
You guys should really start working together. Create a git, get some control, remove unnecessary functions, get more structure inside. That "API" is such a mess...

you can split the api into a few files to get more structure.. uff

Or get lost from autoit and start working on sth better, like c++ e.g.
You already have an open source up to date api which needs some extensions but its already better than this :S ^^
That's very true, been quite claustrofobic over the years, i said to myself to start learning c++ and other languages but never did
sadusten is offline  
Old 03/02/2020, 16:49   #59
 
Restia Ashdoll's Avatar
 
elite*gold: 0
Join Date: Apr 2016
Posts: 313
Received Thanks: 166
Working on old dust farmer anyone having an idea why the loot doesn't get collected at all?
Here the functions used:



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 = @
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 = @

$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
Restia Ashdoll is offline  
Old 03/02/2020, 16:54   #60
 
Zvend's Avatar
 
elite*gold: 143
Join Date: Oct 2011
Posts: 72
Received Thanks: 31
Quote:
Originally Posted by Restia Ashdoll View Post
Working on old dust farmer anyone having an idea why the loot doesn't get collected at all?
Here the functions used:
Please use the [.CODE][./CODE] tags next time.

this is horrible
Zvend is offline  
Reply


Similar Threads Similar Threads
[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...



All times are GMT +1. The time now is 22:28.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.