Aller au contenu


Photo

[Bot] D3 Ros Bot V8.2I


  • Ce sujet est fermé Ce sujet est fermé
1036 réponses à ce sujet

#441 gmsMath

gmsMath

    Fragger

  • Membres
  • 981 messages
  • Location :Paris
  • Hobbies :Voyages, Moto, calembour hilarant et gms temple :)

Posté 11 March 2014 - 22:59

Thank you Lorenco !

I'm testing some changes i'll submit that to the developpers :)
--Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.

#442 sebas1234

sebas1234

    Débutant lvl 1

  • Membres
  • 35 messages

Posté 11 March 2014 - 23:14

que veux dire ceci

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 WhoIAm

WhoIAm

    Débutant lvl 2

  • Membres
  • 48 messages
  • Location :Underwater !
  • Hobbies :Pourrir la vie de mes collègues !

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é :D

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.0

Ajoutez é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.
Quelques liens utiles à lire avant de poser une question : ;)

Ce post vous à aidé? Pensez au [+]


#444 lorenco

lorenco

    Débutant lvl 2

  • Membres
  • 55 messages

Posté 11 March 2014 - 23:33

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


#445 lorenco

lorenco

    Débutant lvl 2

  • Membres
  • 55 messages

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.au3

Global $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 line


_log("Average dps: " & $dps)

let's do
$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 tortortue

tortortue

    Débutant lvl 2

  • Membres
  • 51 messages

Posté 11 March 2014 - 23:39

Bonsoir a tous, Voila je viens de DL le dernier Bot et au lancement du D3ROS BOT V8.2c.exe il me fait play, m'ouvre et ferme ma fenetre d'inventaire et apres il fait plus rien, il choisit pas zones
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 WhoIAm

WhoIAm

    Débutant lvl 2

  • Membres
  • 48 messages
  • Location :Underwater !
  • Hobbies :Pourrir la vie de mes collègues !

Posté 11 March 2014 - 23:42

@ lorenco & gmsMath : Va falloir sortir une release toute propre de la fonction à jour et nous publier ça ;)

@ tortortue : Tu as pensé à commenté (ajouter un ";" devant la ligne) la ligne SequenceFile de l'acte 3 (acte par défault) ?
Quelques liens utiles à lire avant de poser une question : ;)

Ce post vous à aidé? Pensez au [+]


#448 gmsMath

gmsMath

    Fragger

  • Membres
  • 981 messages
  • Location :Paris
  • Hobbies :Voyages, Moto, calembour hilarant et gms temple :)

Posté 11 March 2014 - 23:44

Oups :) post à supprimer
--Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.

#449 Euclide_

Euclide_

    YOOOOOOOOOOO

  • Admin Gms
  • 8923 messages
  • Location :France
  • Trade : Mediator

Posté 12 March 2014 - 00:24

Pas encore compatible avec la version 2.0.3 de diablo.
Don't expect it before 12h. We are going to bed now (late here).

#450 lorenco

lorenco

    Débutant lvl 2

  • Membres
  • 55 messages

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   ;==>ClickOnStashTab



And 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   ;==>KillMob

StatsDisplay() 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 killjulien

killjulien

    Newbie lvl 4

  • Membres
  • 33 messages

Posté 12 March 2014 - 10:18

Dans la MAJ qui va venir, les corrections pour les coffres, les puits de guérisons, les potions, etc.. Seront inclues ? :rolleyes:

#452 Taarva

Taarva

    Hard Gamer

  • Membres
  • 416 messages
  • Location :Belgique

Posté 12 March 2014 - 10:41

Hier, plantage du bot sur le livre de cain act 1sur mon host...!
Le plus gag, c'est que sur la VM pas de plantage sur le même act et classe de perso et build...?

#453 TheCat31

TheCat31

    Jeux de mains Jeux de vilains

  • Membre Senior
  • 2828 messages
  • Location :Citoyen du Monde :)
  • Hobbies :Je ne comprends pas ce mot.

Posté 12 March 2014 - 10:44

Taarva, même souci sur l'acte1, depuis la nouvelle version du Bot, ça bloque tous les 8runs
!!! Think before you bot !!!- Comment ça marche le Boting : Installation et Configuration du BoT- Une Question? la réponse : [Faq] Questions Fréquemment Posées- Pensez à ne pas quoter le dernier message, cela devient illisible, un "@nom : blabla" est plus lisible. :)Lycos on GMS Temple

Image IPB Tendre vers l'Excellence!Si un commentaire vous est utile, pensez à cliquer le bouton (+)


#454 Taarva

Taarva

    Hard Gamer

  • Membres
  • 416 messages
  • Location :Belgique

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 hanzimmer

hanzimmer

    Gamer lvl 2

  • Membres
  • 185 messages

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 bpms

bpms

    Newbie lvl 3

  • Membres
  • 21 messages

Posté 12 March 2014 - 11:33

bonjour

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 hanzimmer

hanzimmer

    Gamer lvl 2

  • Membres
  • 185 messages

Posté 12 March 2014 - 11:39

Quête épée brisée ou tu pop au temple englouti, tu parles a alaric, ensuite tu vas au bois putride tu cherches les cryptes royales, à droite de la carte.Dés que tu entres, tu as un pts de sauvegarde.

#458 bpms

bpms

    Newbie lvl 3

  • Membres
  • 21 messages

Posté 12 March 2014 - 11:46

impec merci beaucoup hanzimmer

#459 dart18

dart18

    Débutant lvl 1

  • Membres
  • 43 messages

Posté 12 March 2014 - 12:51

hanzimmer pour champ de malheur ses quel quete que je prend ??

#460 hanzimmer

hanzimmer

    Gamer lvl 2

  • Membres
  • 185 messages

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.