I can't explain, but I've been modifying the vaettir v4.1 by gigi with fixes here and there.
Enjoy
Hi Folks,
Thought I'd share my updates to the Vaettir bot, credit to the creator gigi and PinkMusen for working on this.
There's a few things I had initially noticed when using this bot, the one that struck me the most however was the fact the bot was trying to cast skills like Shroud, Way of Perf, Channeling and Arcane Echo while Shadow Form was nearing expiration. This would ultimately end up in the bot dying, either en route or during the kill sequence.
If you are planning to use this for farming items, remove the semicolon on line 578 -> ;PickUpLoot()
This is an excerpt from the StayAlive function;
Code:
If IsRecharged($shroud) Then
If $lSpellCastCount > 0 And DllStructGetData(GetEffect($SKILL_ID_SHROUD), "SkillID") == 0 Then
UseSkillEx($shroud)
ElseIf DllStructGetData($lMe, "HP") < 0.6 Then
UseSkillEx($shroud)
ElseIf $lAdjCount > 20 Then
UseSkillEx($shroud)
EndIf
EndIf
Evidently the code doesn't care if Shadow Form is expiring, it will just cycle through all the maintained skills and try and cast Shadow Form in-between.
The simplest solution to this is to add a condition based on the remaining skill duration of Shadow Form, such as if Shadow Form is near expiration, don't bother casting the other maintenance skills.
Unfortunately functions like GetEffectTimeRemaining appear to be broken (I'm guessing we just need to update those headers.) so I went down a simpler route and made use of a timer.
I've declared a global timer $timer in the head section and whenever Shadow Form is cast the timer is reinitialised
Code:
Func UseSF($lProximityCount)
If IsRecharged($sf) And $lProximityCount > 0 Then
UseSkillEx($paradox)
UseSkillEx($sf)
$timer = TimerInit()
EndIf
EndFunc
We can then estimate a point where we wouldn't want to cast maintenance skills, I've gone with a very conservative 15 seconds.
Example
Code:
If IsRecharged($shroud) And TimerDiff($timer) < 15000 Then
If $lSpellCastCount > 0 And DllStructGetData(GetEffect($SKILL_ID_SHROUD), "SkillID") == 0 Then
UseSkillEx($shroud)
ElseIf DllStructGetData($lMe, "HP") < 0.6 Then
UseSkillEx($shroud)
ElseIf $lAdjCount > 20 Then
UseSkillEx($shroud)
EndIf
EndIf
Akin to the above, I was also bothered by the pre-kill sequence, it would just walk to the final position and start casting Arcane Echo followed by Wastrels.
Instead I've dialled in a do until loop which waits for SF to be cast
Code:
;Out("Blocking enemies in spot")
MoveAggroing(12920, -17032, 30)
MoveAggroing(12847, -17136, 30)
MoveAggroing(12720, -17222, 30)
WaitFor(300)
MoveAggroing(12617, -17273, 30)
WaitFor(300)
MoveAggroing(12518, -17305, 20)
WaitFor(300)
MoveAggroing(12445, -17327, 10)
;Avoids a rare-ish occurence where the bot starts the kill sequence just before SF runs out. Most noticeable on non assassin primary professions.
Out("Waiting for Shadow Form")
Local $lDeadlock_2 = TimerInit()
$sfTime = TimerDiff($timer)
Out($sfTime)
Do
WaitFor(100)
If GetIsDead(-2) = 1 Then Return
Until (TimerDiff($timer)) < $sfTime Or (TimerDiff($lDeadlock_2) > 20000)
UseSF(True)
Out("Shadow Form casted")
Kill()
I left this running over night on my Mesmer, woke up to 155 runs and 1 fail. Pretty happy with it considering it got me Legendary Survivor without breaking a sweat.
I'm going to take a stab and say the one death was related to the Wastrels spam in the Kill() function, it also does not care if SF is near expiration.
Skills & Equipment For Mesmers
Skills: OQdUAQROqPP8Id2BkAiAvpLBTAA
Domination 9+1+1
Fast Casting 8+1
Full Blessed, 3 Attunement Runes
Anniversary Shield with "Like A Rolling Stone"
Peace
Second test results 195:0
Version 0.3 [Current]
- Updated GUI to include additional options plus statistics
- Storage option implemented, functions retrofitted from the ChestBot
- Disable looting option for survivor only/ or point farming
- Fixed the initialize function, it no longer freezes when a client isn't detected.
- Tweaked the safety net before the kill sequence a little more lenient, it will skip the pause timer if SF has been cast within the last 10 seconds.
- General tidy up the code and function names
Skills & Equipment For Mesmers
Skills: OQdUAQROqPP8Id2BkAiAvpLBTAA
Domination 9+1+1
Fast Casting 8+1
Full Blessed, 3 Attunement Runes
no need to credit gigi - as he had nothing to do with the original vaettir bot and just edited it for use with his now unsupported and not working api that made even more of a mess of the communities multiple api - 1000 versions needing sorting issues... at least he pushed the idea to increase speed, and save memory by using pointers, but; with the way things have changed with processor speeds and over the abundance of memory resources available, this matters even less now - - - just saying
-thanxs for the file deroni93*
no need to credit gigi - as he had nothing to do with the original vaettir bot and just edited it for use with his now unsupported and not working api that made even more of a mess of the communities multiple api - 1000 versions needing sorting issues... at least he pushed the idea to increase speed, and save memory by using pointers, but; with the way things have changed with processor speeds and over the abundance of memory resources available, this matters even less now - - - just saying
-thanxs for the file deroni93*
Fair enough, I'm never sure who made the originals.
The code was not too bad to begin with, it just seems like the small and plentiful chances of failure could break the bot after hours and hours of playing.
Out of interest, what other API's are available? I'm only aware of GWCA++ which I have yet to explore.
is there any other modification to the eficiency of the farm you've implemented other than the sf security? i have my own version so i am implementing the sf fix manually
is there any other modification to the eficiency of the farm you've implemented other than the sf security? i have my own version so i am implementing the sf fix manually
If you are planning to use this for farming items, remove the semicolon on line 578 -> ;PickUpLoot()
Hi Folks,
Thought I'd share my updates to the Vaettir bot, credit to the creator gigi and PinkMusen for working on this.
There's a few things I had initially noticed when using this bot, the one that struck me the most however was the fact the bot was trying to cast skills like Shroud, Way of Perf, Channeling and Arcane Echo while Shadow Form was nearing expiration. This would ultimately end up in the bot dying, either en route or during the kill sequence.
This is an excerpt from the StayAlive function;
Code:
If IsRecharged($shroud) Then
If $lSpellCastCount > 0 And DllStructGetData(GetEffect($SKILL_ID_SHROUD), "SkillID") == 0 Then
UseSkillEx($shroud)
ElseIf DllStructGetData($lMe, "HP") < 0.6 Then
UseSkillEx($shroud)
ElseIf $lAdjCount > 20 Then
UseSkillEx($shroud)
EndIf
EndIf
Evidently the code doesn't care if Shadow Form is expiring, it will just cycle through all the maintained skills and try and cast Shadow Form in-between.
The simplest solution to this is to add a condition based on the remaining skill duration of Shadow Form, such as if Shadow Form is near expiration, don't bother casting the other maintenance skills.
Unfortunately functions like GetEffectTimeRemaining appear to be broken (I'm guessing we just need to update those headers.) so I went down a simpler route and made use of a timer.
I've declared a global timer $timer in the head section and whenever Shadow Form is cast the timer is reinitialised
Code:
Func UseSF($lProximityCount)
If IsRecharged($sf) And $lProximityCount > 0 Then
UseSkillEx($paradox)
UseSkillEx($sf)
$timer = TimerInit()
EndIf
EndFunc
We can then estimate a point where we wouldn't want to cast maintenance skills, I've gone with a very conservative 15 seconds.
Example
Code:
If IsRecharged($shroud) And TimerDiff($timer) < 15000 Then
If $lSpellCastCount > 0 And DllStructGetData(GetEffect($SKILL_ID_SHROUD), "SkillID") == 0 Then
UseSkillEx($shroud)
ElseIf DllStructGetData($lMe, "HP") < 0.6 Then
UseSkillEx($shroud)
ElseIf $lAdjCount > 20 Then
UseSkillEx($shroud)
EndIf
EndIf
Akin to the above, I was also bothered by the pre-kill sequence, it would just walk to the final position and start casting Arcane Echo followed by Wastrels.
Instead I've dialled in a do until loop which waits for SF to be cast
Code:
;Out("Blocking enemies in spot")
MoveAggroing(12920, -17032, 30)
MoveAggroing(12847, -17136, 30)
MoveAggroing(12720, -17222, 30)
WaitFor(300)
MoveAggroing(12617, -17273, 30)
WaitFor(300)
MoveAggroing(12518, -17305, 20)
WaitFor(300)
MoveAggroing(12445, -17327, 10)
;Avoids a rare-ish occurence where the bot starts the kill sequence just before SF runs out. Most noticeable on non assassin primary professions.
Out("Waiting for Shadow Form")
Local $lDeadlock_2 = TimerInit()
$sfTime = TimerDiff($timer)
Out($sfTime)
Do
WaitFor(100)
If GetIsDead(-2) = 1 Then Return
Until (TimerDiff($timer)) < $sfTime Or (TimerDiff($lDeadlock_2) > 20000)
UseSF(True)
Out("Shadow Form casted")
Kill()
I left this running over night on my Mesmer, woke up to 155 runs and 1 fail. Pretty happy with it considering it got me Legendary Survivor without breaking a sweat.
I'm going to take a stab and say the one death was related to the Wastrels spam in the Kill() function, it also does not care if SF is near expiration.
Skills & Equipment For Mesmers
Skills: OQdUAQROqPP8Id2BkAiAvpLBTAA
Domination 9+1+1
Fast Casting 8+1
Full Blessed, 3 Attunement Runes
Anniversary Shield with "Like A Rolling Stone"
Peace
Second test results 195:0
Any chance it can be edited so the bot stores gold unids etc. in storage?
Any chance it can be edited so the bot stores gold unids etc. in storage?
I can make that work, in fact I've just stapled on the gold storing function from the ChestBot, it looks cleaner.
I'll have a play and update the bot if it all looks good
Edit:
I'm considering adding a loot option for whites/blues + salvaging
Version 0.3 is now up, if someone wouldn't mind could they give it a go and post some results. I won't be able to test this properly until the weekend.
Version 0.3 is now up, if someone wouldn't mind could they give it a go and post some results. I won't be able to test this properly until the weekend.
I'll give it a go and edit my post here after a day.
edit:
50 x 5
100% no fails. the ui looks clean. even stores glacials after a stack. beautiful work thank you for the update! i am going to look into adding the festival drops (6/27) to the UI and maybe getting the gross platinum to reflect all gold received from selling to merch too.
Yes it should work even better with an Assassin as long as you use the same skill-bar (and in the same order). The only thing I didn't do was scale the timings based on attribute points, so it may be overly conservative with casting Shadow Form.
I must admit I haven't used this bot for anything other than rep farming + survivor on my Mesmer, once I get around to using this for profit I may add some more advanced features i.e. salvaging whites and stones.
I can make that work, in fact I've just stapled on the gold storing function from the ChestBot, it looks cleaner.
I'll have a play and update the bot if it all looks good
Edit:
I'm considering adding a loot option for whites/blues + salvaging
Version 0.3 is now up, if someone wouldn't mind could they give it a go and post some results. I won't be able to test this properly until the weekend.
I went OwVUI4h5vPO8Id2BkAiAvpLBTAA for sin. Used +1+3 in shadow arts so it hits 12. Only done around 20 runs on 0.3 but no fails. got the 20 enchant spear w +5 energy, and +10AR to earth shield.
[Buying] Vaettir Bot, LDoA bot 06/25/2017 - Guild Wars Trading - 2 Replies Hello e*pvpers!
I would like to buy good vaettir bot which have :
*mode for identify golds or store golds in depo,
* salvage white,blue and purple items, lodestones and store materials in depo after full iventory etc,
* salvage after run in Bjora Marches and after he go to farm more.
* pick only black and white dye
* pick event items
* selling items to merchant (golds )
WTS Vaettir Bot [Vbot] 07/14/2011 - Guild Wars Trading - 40 Replies English
hello guys :D
Here I would like to sell my self-made Vaettir Bot (Vbot)
The bot is very safe , stable and I offer a good support.
As Payment I accept Ectos and Paypal.
The price is 30 ectos for the bot +1 charcter.
If you want to run this bot on more than 1 charcter then you have to pay 10 ectos extra for every char.
For example: You want to run 4 charcters. Then you have to pay 30 ectos for the bot+1char and 30ectos extra (10 for every char)
Vaettir Bot...NEED HELP beim coden 11/22/2008 - General Coding - 1 Replies Skillung ist:
1. Glyphe der Schnelligkeit
2.Tödliches Paradoxon
3.Schattenform
4.Ich bin Unaufhaltbar
8.Rückkehr
Der bot startet vor den bjora sümpfen
Gegenstandanvisieren liegt auf "ö"
und Gegenstand ablegen auf "b"