I'm testing some changes i'll submit that to the developpers
[Bot] D3 Ros Bot V8.2I
#441
Posté 11 March 2014 - 22:59
I'm testing some changes i'll submit that to the developpers
#442
Posté 11 March 2014 - 23:14
line 7823 file c/user/user destop d3ros bot v8.2v bla bla bal
error varriable use without being declared
et j'ai reéinstaler sa fait tjrs sa
#443
Posté 11 March 2014 - 23:29
[...]
J'ai remarqué un autre soucis hier soir et ce matin à nouveau :
Lors du clique sur le bouton 'Jouer' dans le menu, il clique de temps en temps sur 'Paramètre de la partie' et du coup le bot reste figé sur cette fenêtre.
J'ai l'impression que ce soucis viens d'un lag de la VM au moment du déplacement de la souris.
Pourrais-t-on rajouter, dans le settings.ini pour être facultatif, une variable de tempo entre le move et le clique sur jouer ?
Je me suis auto-fixé
J'ai ajouté un timer juste avant le ClickUI dans la fonction _resumegame() du toolkit.au3 :
Func _resumegame()
_log("Resume Game")
Sleep(Random(500, 1000, 1))
If $Try_ResumeGame > 2 Then
Local $wait_aftertoomanytry = Random(($Try_ResumeGame * 2) * 60000, ($Try_ResumeGame * 2) * 120000, 1)
_log("Sleep after too many _resumegame -> " & $wait_aftertoomanytry)
Sleep($wait_aftertoomanytry)
EndIf
_log("Déclenchement d'un timer pour compenser les latences/lags : " & $timer_resumegame)
Sleep($timer_resumegame)[/b]
ClickUI("Root.NormalLayer.BattleNetCampaign_main.LayoutRoot.Menu.PlayGameButton")
$Try_ResumeGame += 1
Sleep(7000)
EndFunc ;==>_resumegame 2.0Ajoutez également la variable à votre fichier settings.au3 :
; Timer pour éviter le lag avant le clique sur le bouton 'Jouer' (en ms) Global $timer_resumegame = 3000 Global $Skill1[11] Global $Skill2[11] [...]
Je suis peut-être le seul à avoir ce soucis mais bon, si ça peut aider à l'occasion...
Je ferais un update avec l'ajout dans le settings.ini de la valeur, ce qui en rend la configuration plus aisée.
- Diablo III - Section 'Builds & Stratégies'
- Topic du Bot ROS 8.2x
- La FAQ !!
- Un tutoriel pour découvrir l'AutoIt - Attention ! Lien vers site extérieur (OpenClassroom - Ex-SdZ) !
Ce post vous à aidé? Pensez au [+]
#444
Posté 11 March 2014 - 23:33
Func ClickOnStashTab($num)
If $num > 3 Or $num < 1 Then
_log("ERROR Impossible to open this tab from stash")
$num = 1
EndIf
If $num = 1 Then
ClickUI("Root.NormalLayer.stash_dialog_mainPage.tab_1")
ElseIf $num = 2 Then
ClickUI("Root.NormalLayer.stash_dialog_mainPage.tab_2")
Else
ClickUI("Root.NormalLayer.stash_dialog_mainPage.tab_3")
EndIf
EndFunc ;==>ClickOnStashTab
#445
Posté 11 March 2014 - 23:36
Thank you Lorenco !
With this function we'll have one line for each Mobs killed right ?
What do you think about this :
First make a global array in main.au3Global $AverageDps[2]
Then initialise the variables$AverageDps[0]=0 // Average DPS $AverageDps[1]=1 // Number of Mobs Killed
in tollkit.au3 in the KillMob function
after the linelet's do
_log("Average dps: " & $dps)$AverageDps[1]=( $AverageDps[1] + $dps ) / $AverageDps[2] $AverageDps[2]+=1
at the end of the run we could add in the Debug Message the value in $AverageDps[0]
Ok i'm too excited about it i'll try
That's exactly what i was thinking about
#446
Posté 11 March 2014 - 23:39
J'ai seulement mit
SequenceFile=[CMD]safeportstart()|act1_Crypt
une erreur de ma part, j'ai rien touché au config initial a part ca sur le ;
Merci d'avance
#447
Posté 11 March 2014 - 23:42
@ tortortue : Tu as pensé à commenté (ajouter un ";" devant la ligne) la ligne SequenceFile de l'acte 3 (acte par défault) ?
- Diablo III - Section 'Builds & Stratégies'
- Topic du Bot ROS 8.2x
- La FAQ !!
- Un tutoriel pour découvrir l'AutoIt - Attention ! Lien vers site extérieur (OpenClassroom - Ex-SdZ) !
Ce post vous à aidé? Pensez au [+]
#448
Posté 11 March 2014 - 23:44
#449
Posté 12 March 2014 - 00:24
Don't expect it before 12h. We are going to bed now (late here).
#450
Posté 12 March 2014 - 00:35
If faut corriger le fonction ClickOnStashTab()Func ClickOnStashTab($num) If $num > 3 Or $num < 1 Then _log("ERROR Impossible to open this tab from stash") $num = 1 EndIf If $num = 1 Then ClickUI("Root.NormalLayer.stash_dialog_mainPage.tab_1") ElseIf $num = 2 Then ClickUI("Root.NormalLayer.stash_dialog_mainPage.tab_2") Else ClickUI("Root.NormalLayer.stash_dialog_mainPage.tab_3") EndIf EndFunc ;==>ClickOnStashTab
Actually, as said KickBar i assume the code should be this one :Func ClickOnStashTab($num) If $num > 3 Or $num < 1 Then _log("ERROR Impossible to open this tab from stash") $num = 1 EndIf If $num = 1 Then ClickUI("Root.NormalLayer.stash_dialog_mainPage.tab_2") ElseIf $num = 2 Then ClickUI("Root.NormalLayer.stash_dialog_mainPage.tab_3") Else ClickUI("Root.NormalLayer.stash_dialog_mainPage.tab_1") EndIf EndFunc ;==>ClickOnStashTab
I don't know what he said but the code you are providing is not right for me.
ClickOnStashTab($num) goes with a number in the variable. Why not just fit it with the right stash number.
And if we are talking about correct programming it should look like this.
Func ClickOnStashTab($num)
If Not IsNumber($num) Then Return SetError(1, 0, 0)
If $num > 3 Or $num < 1 Then
_log("ERROR Impossible to open this tab from stash")
Return SetError(2, 0, 0)
EndIf
ClickUI("Root.NormalLayer.stash_dialog_mainPage.tab_" & $num)
EndFunc ;==>ClickOnStashTabAnd here is a clear solution of the calculation:
in the settings.au3 add the followings
Global $DPSprefix = "K" Global $AverageDPSperRun = 0 Global $AverageDPS = 0 Global $MobsKillCount = 0
in the toolkit.au3 these changes
KillMob() function
Func KillMob($Name, $offset, $Guid, $test_iterateallobjectslist2)
$return = True
$begin = TimerInit()
Dim $pos = UpdateObjectsPos($offset)
$Coords = FromD3toScreenCoords($pos[0], $pos[1], $pos[2])
MouseMove($Coords[0], $Coords[1], 3)
$elite = DetectElite($Guid)
;loop the attack until the mob is dead
_log("Attacking : " & $Name & "; Type : " & $elite);
Local $maxhipi = Round(IterateActorAtribs($Guid, $Atrib_Hitpoints_Cur))
Local $timerinit = TimerInit()
Local $timetokill
Local $dps
_log("Targets hp: " & $maxhipi)
While IterateActorAtribs($Guid, $Atrib_Hitpoints_Cur) > 0
;_log(IterateActorAtribs($Guid, $Atrib_Hitpoints_Cur))
$myposs_aff = GetCurrentPos()
If _playerdead_revive() Then
$return = False
ExitLoop
EndIf
Dim $pos = UpdateObjectsPos($offset)
If $gestion_affixe = "true" Then maffmove($myposs_aff[0], $myposs_aff[1], $myposs_aff[2], $pos[0], $pos[1])
For $a = 0 To UBound($test_iterateallobjectslist2) - 1
$CurrentACD = GetACDOffsetByACDGUID($test_iterateallobjectslist2[$a][0]); ###########
$CurrentIdAttrib = _memoryread($CurrentACD + 0x120, $d3, "ptr"); ###########
If GetAttribute($CurrentIdAttrib, $Atrib_Hitpoints_Cur) > 0 Then
Dim $dist_maj = UpdateObjectsPos($test_iterateallobjectslist2[$a][8])
$test_iterateallobjectslist2[$a][9] = $dist_maj[3]
Else
$test_iterateallobjectslist2[$a][9] = 10000
EndIf
Next
_ArraySort($test_iterateallobjectslist2, 0, 0, 0, 9)
$dist_verif = GetDistance($test_iterateallobjectslist2[0][2], $test_iterateallobjectslist2[0][3], $test_iterateallobjectslist2[0][4])
Dim $pos = UpdateObjectsPos($offset)
If $pos[3] > $dist_verif + 5 Then ExitLoop
;if getDistance($pos[0], $pos[1], $pos[2])>20 and IterateFilterZone(30,1) then exitloop
$Coords = FromD3toScreenCoords($pos[0], $pos[1], $pos[2])
MouseMove($Coords[0], $Coords[1], 3)
GestSpellcast($pos[3], 1, $elite, $Guid, $offset)
If TimerDiff($begin) > $a_time Then
$killtimeout += 1
; after this time, the mob should be dead, otherwise he is probly unkillable
$return = False
ExitLoop
EndIf
WEnd
If Not IsNumber(IterateActorAtribs($Guid, $Atrib_Hitpoints_Cur)) Then
_log(IterateActorAtribs($Guid, $Atrib_Hitpoints_Cur)) ; return false, you can even comment out this line
Else
If IterateActorAtribs($Guid, $Atrib_Hitpoints_Cur) > 0 Then
$maxhipi = $maxhipi - IterateActorAtribs($Guid, $Atrib_Hitpoints_Cur)
EndIf
EndIf
$timetokill = Round(TimerDiff($timerinit) / 1000, 2)
$dps = Round($maxhipi / $timetokill)
_log("Average dps: " & $dps)
$AverageDPS += $dps
$MobsKillCount += 1
Return $return
EndFunc ;==>KillMobStatsDisplay() function
If $Totalruns = 1 Then $AverageDPSperRun = 0 Else $AverageDPSperRun = Round($AverageDPS / $MobsKillCount) If StringLen(Round($AverageDPSperRun)) > 6 Then $AverageDPSperRun = Round($AverageDPSperRun / 1000000, 2) $DPSprefix = "M" Else $DPSprefix = "K" EndIf EndIf ;the debug message for tooltip $DebugMessage = $DebugMessage & "DPS Moyen par run : " & $AverageDPSperRun & $DPSprefix
And it is done
- Euclide_, djeof, gmsMath et 1 autre aiment ceci
#451
Posté 12 March 2014 - 10:18
#452
Posté 12 March 2014 - 10:41
Le plus gag, c'est que sur la VM pas de plantage sur le même act et classe de perso et build...?
#453
Posté 12 March 2014 - 10:44
Tendre vers l'Excellence!Si un commentaire vous est utile, pensez à cliquer le bouton (+)
#454
Posté 12 March 2014 - 10:51
Taarva, même souci sur l'acte1, depuis la nouvelle version du Bot, ça bloque tous les 8runs
Bizarre ...
Sur mon host j'ai quand même fait 3, 5B d'xp avant le blocage et sur la VM, j'en étais à plus de 5, 5B et pas de blocage.
Lesdifférences sont la difficulté entre l'host ( T 3 )et la VM( T 1) et le temps de run.
Host 1.30 min et VM 2-3 min ( perso en mousse sur la vm).
#455
Posté 12 March 2014 - 11:12
Taarva, même souci sur l'acte1, depuis la nouvelle version du Bot, ça bloque tous les 8runs
J' ai pas trop eu de problème sur l' acte 1 en version C pour ma part.Hier soir encore 3heures de run crypte, et pas de soucis.
J' ai cependant remarqué que les serveurs avaient énormément de mal , j' étais rarement à moins de 150 , 200 de ping, et c' est ce qui peut faire bloquer ou planter le bot.
#456
Posté 12 March 2014 - 11:33
petite question le run act1 crypte je doit prendre quelle quette et je suppose que je doit aussi prendre un check point comme pour l'act 3 ?
#457
Posté 12 March 2014 - 11:39
#458
Posté 12 March 2014 - 11:46
#459
Posté 12 March 2014 - 12:51
#460
Posté 12 March 2014 - 13:02
hanzimmer pour champ de malheur ses quel quete que je prend ??
Aucunes idée, je ne sais même pas si cette séquence est fonctionnelle.Je n' ai test que l' acte 3, et les cryptes.
Cependant je pense que le val plaintif est beaucoup plus rentable depuis la mise à jour, que les champs du malheurs , map devenu obsolète pour ma part.


Ce sujet est fermé



