Yeah sure ... i just wanted to show off ... and i'm know as a totally untrustfully Person. It's all a lie
since that was not a proof it is a lie until you have a real argument. if you show me how a bot is door glitching faster then a human you get my respect. please dont use arguments and not something like ''oh its obviously a lie'' thats now how you can discuss about things. Feel free to pm that we dont spam this channel.
Yeah sure ... i just wanted to show off ... and i'm know as a totally untrustfully Person. It's all a lie
That sounds very nice! Good Work! In the past you did good work for all of us!
Unbelievable that you wrote such a complex bot! I trust you every single word!
Congratulation!
I recently returned to GW and looked into getting some of the bots I used back in the day to work again. Most of it is easy to update, but somehow I can't seem to get the salvaging function back to work (used it as part of vaettir and moss farmer among others). Identifying items in bags works great but I will get a fatal GW crash whenever it starts trying to salvage with the normal salvage kit. Perhaps someone with deeper knowledge could take a look and give me a hint.
Func _EVT_SF_SalvageAll() ;->Verwertet alles im Inventar wieder
Local $lBags
Local $lSlots
Local $lItem
$EVT_STATUS = "Start Salvaging everything"
For $lBags = 1 To 4
For $lSlots = 1 To DllStructGetData(GetBag($lBags), 'slots')
$lItem = GetItemBySlot($lBags, $lSlots)
If Not _EVT_KF_CanSalvage($lItem) Then
ContinueLoop
EndIf
If Not _EVT_SF_SalvageIt($lItem) Then
Return False
EndIf
Next
Next
Return True
EndFunc ;==>_EVT_SF_SalvageAll
Func _EVT_SF_SalvageIt($aItem) ;->Verwertet angegebenes Item Struct wieder
Local $lR
Local $lModelID
Local $lSlot
Local $lBag
Local $lDingTimer
Local $lIdent
If _EVT_KF_CheckDead() Then
Return $RETURN_ERROR_DIED
EndIf
If _EVT_SF_CountFreeBagSlots() = 0 Then
$EVT_STATUS_FREESPACE = False
Return $RETURN_ERROR_FAILEDTOSALVAGE
EndIf
If _EVT_SF_CountSalvageKit() = 0 Then
$EVT_STATUS_SALVKIT = False
Return $RETURN_ERROR_FAILEDTOSALVAGE
EndIf
If _EVT_SF_CountIDKit() = 0 Then
$EVT_STATUS_IDENKIT = False
Return $RETURN_ERROR_FAILEDTOSALVAGE
EndIf
$lModelID = DllStructGetData($aItem, 'ID')
$aItem = _NF_GETITEM($lModelID)
$lSlot = DllStructGetData($aItem, 'Slot') + 1
$lBag = _NF_FindBag($lModelID, $lSlot)
$aItem = GetItemBySlot($lBag, $lSlot)
IdentifyItem($aItem)
IdentifyBag($lBag)
$dingTimer = TimerInit()
Do
Sleep(GetPing() + 10)
$aItem = GetItemBySlot($lBag, $lSlot)
$lIdent = GetIsIDed($aItem)
;~ _StatusMsg($ident)
Until $lIdent = True Or TimerDiff($dingTimer) > 60000
If TimerDiff($dingTimer) > 60000 Then
Return False
EndIf
If $EVT_STATUS_SALVKIT Then
$aItem = GetItemBySlot($lBag, $lSlot)
$r = GetRarity($aItem)
_StartNormSalvage($aItem)
If $r = $EVT_RARITY_Purple Or $r = $EVT_RARITY_Gold Then
Sleep(GetPing() + Random(150, 250))
If _EVT_KF_CheckDead() Then
If Not GetIsDead(-2) Then
_EVT_NF_SENDKEY("{Enter}")
DropItem(GetItemBySlot($lBag, $lSlot))
Return False
EndIf
Else
_EVT_NF_SENDKEY('{ENTER}')
EndIf
EndIf
If _EVT_KF_CheckDead() Then
Return False
EndIf
$lDingTimer = TimerInit()
Do
If Not Sleep(10) Then
Return False
EndIf
$aItem = GetItemBySlot($lBag, $lSlot)
$exitst = DllStructGetData($aItem, 'Type')
Until $exitst = 0 Or $exitst = 11 Or TimerDiff($lDingTimer) > 60000
If _EVT_KF_CheckDead() Then
Return False
EndIf
If Not Sleep(Random(50, 70)) Then
Return False
EndIf
Return True
EndIf
Return True
EndFunc ;==>_EVT_SF_SalvageIt
;~ Description: Starts a salvaging session of an item with a normal salvage kit
Func _StartNormSalvage($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 = _FindNormSalvageKit()
If $lSalvageKit = 0 Then Return
DllStructSetData($mSalvage, 2, $lItemID)
DllStructSetData($mSalvage, 3, $lSalvageKit)
DllStructSetData($mSalvage, 4, $lSalvageSessionID[1])
Enqueue($mSalvagePtr, 16)
EndFunc ;==>_StartNormSalvage
I obviously updated the GWA2 with everything regarding salvaging as mentioned in here:
I recently returned to GW and looked into getting some of the bots I used back in the day to work again. Most of it is easy to update, but somehow I can't seem to get the salvaging function back to work (used it as part of vaettir and moss farmer among others). Identifying items in bags works great but I will get a fatal GW crash whenever it starts trying to salvage with the normal salvage kit. Perhaps someone with deeper knowledge could take a look and give me a hint.
Func _EVT_SF_SalvageAll() ;->Verwertet alles im Inventar wieder
Local $lBags
Local $lSlots
Local $lItem
$EVT_STATUS = "Start Salvaging everything"
For $lBags = 1 To 4
For $lSlots = 1 To DllStructGetData(GetBag($lBags), 'slots')
$lItem = GetItemBySlot($lBags, $lSlots)
If Not _EVT_KF_CanSalvage($lItem) Then
ContinueLoop
EndIf
If Not _EVT_SF_SalvageIt($lItem) Then
Return False
EndIf
Next
Next
Return True
EndFunc ;==>_EVT_SF_SalvageAll
Func _EVT_SF_SalvageIt($aItem) ;->Verwertet angegebenes Item Struct wieder
Local $lR
Local $lModelID
Local $lSlot
Local $lBag
Local $lDingTimer
Local $lIdent
If _EVT_KF_CheckDead() Then
Return $RETURN_ERROR_DIED
EndIf
If _EVT_SF_CountFreeBagSlots() = 0 Then
$EVT_STATUS_FREESPACE = False
Return $RETURN_ERROR_FAILEDTOSALVAGE
EndIf
If _EVT_SF_CountSalvageKit() = 0 Then
$EVT_STATUS_SALVKIT = False
Return $RETURN_ERROR_FAILEDTOSALVAGE
EndIf
If _EVT_SF_CountIDKit() = 0 Then
$EVT_STATUS_IDENKIT = False
Return $RETURN_ERROR_FAILEDTOSALVAGE
EndIf
$lModelID = DllStructGetData($aItem, 'ID')
$aItem = _NF_GETITEM($lModelID)
$lSlot = DllStructGetData($aItem, 'Slot') + 1
$lBag = _NF_FindBag($lModelID, $lSlot)
$aItem = GetItemBySlot($lBag, $lSlot)
IdentifyItem($aItem)
IdentifyBag($lBag)
$dingTimer = TimerInit()
Do
Sleep(GetPing() + 10)
$aItem = GetItemBySlot($lBag, $lSlot)
$lIdent = GetIsIDed($aItem)
;~ _StatusMsg($ident)
Until $lIdent = True Or TimerDiff($dingTimer) > 60000
If TimerDiff($dingTimer) > 60000 Then
Return False
EndIf
If $EVT_STATUS_SALVKIT Then
$aItem = GetItemBySlot($lBag, $lSlot)
$r = GetRarity($aItem)
_StartNormSalvage($aItem)
If $r = $EVT_RARITY_Purple Or $r = $EVT_RARITY_Gold Then
Sleep(GetPing() + Random(150, 250))
If _EVT_KF_CheckDead() Then
If Not GetIsDead(-2) Then
_EVT_NF_SENDKEY("{Enter}")
DropItem(GetItemBySlot($lBag, $lSlot))
Return False
EndIf
Else
_EVT_NF_SENDKEY('{ENTER}')
EndIf
EndIf
If _EVT_KF_CheckDead() Then
Return False
EndIf
$lDingTimer = TimerInit()
Do
If Not Sleep(10) Then
Return False
EndIf
$aItem = GetItemBySlot($lBag, $lSlot)
$exitst = DllStructGetData($aItem, 'Type')
Until $exitst = 0 Or $exitst = 11 Or TimerDiff($lDingTimer) > 60000
If _EVT_KF_CheckDead() Then
Return False
EndIf
If Not Sleep(Random(50, 70)) Then
Return False
EndIf
Return True
EndIf
Return True
EndFunc ;==>_EVT_SF_SalvageIt
;~ Description: Starts a salvaging session of an item with a normal salvage kit
Func _StartNormSalvage($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 = _FindNormSalvageKit()
If $lSalvageKit = 0 Then Return
DllStructSetData($mSalvage, 2, $lItemID)
DllStructSetData($mSalvage, 3, $lSalvageKit)
DllStructSetData($mSalvage, 4, $lSalvageSessionID[1])
Enqueue($mSalvagePtr, 16)
EndFunc ;==>_StartNormSalvage
I obviously updated the GWA2 with everything regarding salvaging as mentioned in here:
I'm greatful for any help!
Latest Update which broke salvage was in december 2020 - you updated to june 2020 - so your headers and your addpattern are wrong. Fixes regarding this had been published around 24th december in this post
Some people probably know me as Taverne from GR forum/discord. I wrote a bot api based on GWCA++ and started to write several bots with it.
I don't think this topic is the best place, but here is the recycling function I use in my bots.
I will eventually post other snippets, either on this topic or in a dedicated one.
Do you have enough carac pts ? I notice the same behavior on other lvl 20 bot when my toon haven't done the carac pts quests.
the load template from gwa2 is fcked up anyway - even with max attributes and all classes available the load template sometimes just doesn't return true aka. finishes so the bot gets stucked there
it is easier to load skills 1 by 1 and set attributes according to what you need
you can not get it thats the thing about private bots.. if you write one yourself you can keep it private or make it public right or sell it. Someone out there has a private bot that farms gemstones for arms.. thats nothing surprising isnt it? alot of people have private bots for everything out there.
Just curious can whirling be used to farm all four gemstones? I thought it was limited.
Anyone have a working Boreas Seabed Chest Running Bot where items are stored, One i got crashes when items are being sold to merchant and no store option.
Hello guys, i updated Dust farm rit bot and i post it here.
Changed some dup functions and changed some no gwa2 functions.
After a long time im able to repair some bots, and im proud of myself. ^^
I post it because some of you good people updated and posted some old bots for me. Thx guys.
Im no creator of this bot, i just updated it. All credits go to creator of this bot. It picks dust, shadowy remains, event items and dyes. He stores dust after every 5th run. If you wanna make him to pick up gold items, just add some item id-s.
As mentioned in the post you are refering to - yes the script is working - i updated it so the thread autor doesn't get Cash for other peoples work
--> Please make sure to give Logicdoor a "Thanks" on that post - he is the creator of that bot I only updated it. He is also a very helpfull member of the community
Best regards,
Ash
Btw. using/working with the bots is not hard but it is no talent which comes natuarlly so if you want to learn stuff read here and there on this forum and try yourself -> nearly everything gets explained here and there are always people willing to help
just make sure you don't ask the same stuff tons of times without searching if your point already got answered
Hey Ash,
I went through your post history and used the search function without being able to find the updated version of the froggy bot you posted. Could you link it perhaps?