Miniature Polar Bear Bot

12/20/2014 10:46 strecky#1
[Only registered and activated users can see links. Click Here To Register...]

Farms the Wintersday quest The Strength of Snow for the elusive Miniature Polar Bear and event items.
Profitability: ~8k + 6e / hour (calculated on officially confirmed MPB droprate of 0.02%)
The GW client consumes 0-1% CPU and 8 MB RAM only using corresponding options.
Optimized for multiaccount and nonstop runtime.

Requirements
Assassin or Monk recommended; other classes will have a significantly higher fail rate.
Kamadan
EotN (AddOn only, no progress required at all)
For monks recommended: +20% enchantment weapon
Tip: You can create a lvl3 monk in Nightfall in no more than 5 minutes which will be ready for the bot right away. Due to the environment effect Yuletide you do not need any certain level, build, armor or weapons.
12/20/2014 21:35 AimHunter#2
i only can start 1 bot :/
12/20/2014 21:58 geneticcleans#3
Yes, same problem,
how can we do?
12/20/2014 22:14 mamour16#4
yep the problème bot
12/20/2014 22:16 AimHunter#5
i got a good bot but it dont pick up candy cane
12/21/2014 05:28 }{ME}{#6
Doesn't pick up any drops but otherwise ok. Sits next to gate during fights.
12/21/2014 06:40 AimHunter#7
he pick up the drops from the chest
12/22/2014 06:57 AimHunter#8
okay dont need any help now i write my bot that he pick up everything :)
12/22/2014 13:24 phat34#9
Post the part of your changed code AimHunter !
12/22/2014 13:29 AimHunter#10
why should i do that?
its a hard work to write this bot with my other bots (keiran/dragonmoos/bones/and WoC)
12/22/2014 13:53 Neon™#11
Quote:
Originally Posted by phat34 View Post
Post the part of your changed code AimHunter !
picking up everything requires only some lines of code which can be done in ~2min
12/23/2014 00:21 phat34#12
2mins... lol.... it took me about 30 mins to sort it out and get it straight...

oh yeah... mine fails less , rezones after getting quest reward, works on all classes... and picks up the shards after the battle before opening chest... will release closer to Christmas Day for everyone that's nice!
12/23/2014 16:29 imkeaz#13
Hey
How can you start more than 1 bot please for Gw Multi Launch
12/23/2014 18:52 Tamina22300#14
No problems with this bot, i've got Polar yesterday :)
12/24/2014 00:38 pycache#15
Quote:
Originally Posted by phat34 View Post
2mins... lol.... it took me about 30 mins to sort it out and get it straight...

oh yeah... mine fails less , rezones after getting quest reward, works on all classes... and picks up the shards after the battle before opening chest... will release closer to Christmas Day for everyone that's nice!
To make it pick up everything?

Func pickuploot()
Local $lme
Local $lblockedtimer
Local $lblockedcount = 0
Local $litemexists = True
For $i = 1 To getmaxagents()
$lme = getagentbyid(-2)
If DllStructGetData($lme, "HP") <= 0 Then Return -1
$lagent = getagentbyid($i)
If NOT getismovable($lagent) Then ContinueLoop
If NOT getcanpickup($lagent) Then ContinueLoop
$litem = getitembyagentid($i)
If canpickup($litem) Then
Do
pickupitem($litem)
Sleep(getping())
Do
Sleep(100)
$lme = getagentbyid(-2)
Until DllStructGetData($lme, "MoveX") == 0 AND DllStructGetData($lme, "MoveY") == 0
$lblockedtimer = TimerInit()
Do
Sleep(3)
$litemexists = IsDllStruct(getagentbyid($i))
Until NOT $litemexists OR TimerDiff($lblockedtimer) > Random(5000, 7500, 1)
If $litemexists Then $lblockedcount += 1
Until NOT $litemexists OR $lblockedcount > 5
EndIf
Next
EndFunc

Func pickupitem($aitem)
Local $lagentid
If IsDllStruct($aitem) = 0 Then
$lagentid = $aitem
ElseIf DllStructGetSize($aitem) < 400 Then
$lagentid = DllStructGetData($aitem, "AgentID")
Else
$lagentid = DllStructGetData($aitem, "ID")
EndIf
Return sendpacket(12, 56, $lagentid, 0)
EndFunc

Func getcanpickup($aagent)
If IsDllStruct($aagent) = 0 Then $aagent = getagentbyid($aagent)
If getassignedtome($aagent) OR DllStructGetData($aagent, "Owner") = 0 Then
Return True
Else
Return False
EndIf
EndFunc

//this is or something equal is what you should already have

Func canpickup($aitem)
;previous code
return True
EndFunc

//insert return True into the first line of canpickup.


In case there is no pickup function at all: insert one (as above for example) and let it run after each fight/checkpoint. Fuck runtime anyway, it's a bot that executes 1000 times faster than the game reacts.

Dat 30 mins of work?