Aller au contenu


Photo

[Fonction] Recylage Pour D3 Ros Bot V8.2A


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

#1 Zoellingam

Zoellingam

    Débutant lvl 2

  • Membres
  • 56 messages

Posté 07 March 2014 - 21:24

Bonsoir,

A la place d'aller au vendeur, de vendre les objets qu'on a dans l'inventaire et de faire réparer le stuff, je vous proposes cette modification qui permet de recyler les objets (sauf les legendaires), et de réparer son stuff via le Blacksmith.


Tout d'abord, chercher dans la fonction Func StashAndRepair() la ligne suivante :
Repair()

Et ajouter juste avant :
If StringLower($Recycle) = "true" Then
		Return Recycle($items)
	Endif

Tout à la fin du fichier toolkit.au3, ajouter cette fonction :
Func Recycle($aItems, $iBlacksmithTryLimit = 4)

	GetAct()
	If $Act = 1 Then MoveToPos(2965.33325195313, 2822.7978515625, 24.0453224182129,1,25)
	;Taking care about blocking act1

	Local $iBlacksmithTry = 0

	While Not(_checkSalvageopen())
		InteractByActorName("PT_Blacksmith_RepairShortcut")
		Sleep(Random(400, 600))

		Switch $iBlacksmithTry
			Case $iBlacksmithTryLimit
				_log('Failed to open salvage after ' & $iBlacksmithTry & ' try')
				WinSetOnTop("[CLASS:D3 Main Window Class]", "", 0)
				MsgBox(0, "Impossible d'ouvrir le Forgeron :", "SVP, veuillez reporter ce problème sur le forum. Erreur : v001 ")
				Terminate()
				ExitLoop
			Case Else
				_log('Attempt to open salvage... (try: ' & $iBlacksmithTry+1 & ')')
				$iBlacksmithTry = $iBlacksmithTry + 1
		EndSwitch
	Wend

	;Réparation du stuff
	ClickUI("Root.NormalLayer.vendor_dialog_mainPage.tab_3")
	Sleep(100)
	ClickUI("Root.NormalLayer.vendor_dialog_mainPage.repair_dialog.RepairEquipped")
	Sleep(100)
	;;;

	Local $ToTrash = _ArrayFindAll($aItems, "Trash", 0, 0, 0, 1, 2)

	If Not @Error Then
		ClickUI("Root.NormalLayer.vendor_dialog_mainPage.tab_2")
		Sleep(100)
		ClickUI("Root.NormalLayer.vendor_dialog_mainPage.salvage_dialog.salvage_button")

		CheckWindowD3Size()

		For $i = 0 To UBound($ToTrash) - 1
			InventoryMove($aItems[$ToTrash[$i]][0], $aItems[$ToTrash[$i]][1])
			Sleep(Random(100, 500))
			$ItemToSell = $ItemToSell + 1
			MouseClick('left')
			Sleep(Random(100, 200))
		Next

	EndIf

	Sleep(Random(100, 200))
	Send("{SPACE}")
	Sleep(Random(100, 200))

	Return True;
EndFunc   ;==>StashAndRepair

Func _checkSalvageOpen()
    Local $checkSalvageOpenlookfor = "Root.NormalLayer.vendor_dialog_mainPage.salvage_dialog.salvage_button"
    Return fastcheckuiitemvisible($checkSalvageOpenlookfor, 1, 629)
EndFunc   ;==>_checkSalvageopen OK


Maintenant, dans le fichier lib/settings.au3, chercher la ligne :
Global $Unidentified = "false"

Et ajouter juste après :
Global $Recycle = "false"

Toujours dans le même fichier (lib/settings.au3), chercher la ligne :
IniWrite($profilFile, "Run info", "Unidentified", $Unidentified)

Et ajouter juste après :
IniWrite($profilFile, "Run info", "Recycle", $Recycle)

Puis, une troisième fois dans ce fichier, chercher la ligne :
$Unidentified = IniRead($profilFile, "Run info", "Unidentified", $Unidentified)

Et ajouter a la suite :
$Recycle = IniRead($profilFile, "Run info", "Recycle", $Recycle)



Voilà, maintenant dernière petite chose. Chercher la ligne suivante dans settings.ini :
Unidentified=false

Et ajouter juste après
Recycle=true



Si jamais vous trouvez des problèmes avec cette fonction, vous pouvez la désactiver en mettant Recycle=false dans le settings.ini.

Si jamais problème il y a, j'aimerai beaucoup que vous puissiez le poster sur ce sujet afin que je puisse corriger et éditer.
  • Euclide_, gms-mat, Cracoucas et 2 autres aiment ceci

#2 kickbar

kickbar

    Devlopette

  • Membre
  • 539 messages
  • Hobbies :Informatiques, jeux vidéo, botting !!!! ;D

Posté 08 March 2014 - 02:47

Merci bien pour cette fonction :)

Global $Unidentified = "false"

Je conseille de ne plus jamais passer cette variable sur true (je pense enlever la fonction d'ici peu)
Pour ta fonction de recyclage je pense aller un peu plus loin, et définir un niveau de qualité pour le ramassage du recyclage.
ex : Je ramasse tout les blancs et ou bleu puis je les recycles tous

ps: pas trop le temps pour implémenter cette fonction dans l’immédiat, mais elle sera mise dans les futurs version du bot lorsque ce dernier sera plus stable

#3 bilabou

bilabou

    Hard Gamer

  • Membres
  • 330 messages
  • Hobbies :Echecs, sports de combat

Posté 08 March 2014 - 03:11

la fonction existe déjà ici, à améliorer pour recycler les blancs ?

kickbar t'as vu la modif de morice pour identifié ou non le légendaire ?

#4 wess7610

wess7610

    Newbie lvl 3

  • Membres
  • 21 messages

Posté 08 March 2014 - 03:40

Merci beaucoup je viens d'enchainer une vingtaine de runs COTA, les objets sont bien recyclé et les réparations se passent bien.

Le bot passe enfin uniquement par le forgeron :)

Je n'ai hélas pas ramasser de légendaire, donc je ne peux faire aucun retour les concernant.

Pour le moment je n'ai constaté aucun bug.

Encore merci pour votre travail et la rapidité pour résoudre un problème.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Edit : Je viens de relancer une session, après quelques runs mon bot a bien recycler ses items, au run suivant il est allé mettre les composants dans la coffre (j'ai regardé mon bot à ce moment là) et il est partie en direction du vendeur (surement pour réparer car mon inventaire était vide) et paf erreur V001, bot bloqué devant la maison de Decker Cain.

Y a t-il un moyen même si c'est radical pour supprimer dans les lignes de commandes des fichiers l'accès au vendeur pour ne permettre l'accès qu'au forgeron en ville. J'ai conscience que ça a du prendre du temps pour l'inclure dans le bot.

J'ai énormément joué sur le PTR et depuis la MAJ 2.0, j'ai remarqué avec mon clan ainsi que ma friend-list que le vendeur n’avait plus aucune utilité, la seule utilité qui lui reste c'est les achats des potions et des teintures.

Comme l'HV va être supprimé, maintenant les composants doivent être soit lootés soit obtenus par le recyclage des loots. Le forgeron est devenu indispensable comme PNJ comparé au vendeur. La revente des loot ne rapportent quasiment plus rien (prix de revente divisé par 2-3 et 10x moins de loots qu'avant). Et à RoS, les rifts etc... rapporteront énormément de PO.

Si c'est possible de pouvoir le faire où est ce que dois aller pour modifier les fichiers et que dois je modifier? Merci d'avance.

#5 Zoellingam

Zoellingam

    Débutant lvl 2

  • Membres
  • 56 messages

Posté 08 March 2014 - 07:10

Merci bien pour cette fonction :)

Global $Unidentified = "false"

Je conseille de ne plus jamais passer cette variable sur true (je pense enlever la fonction d'ici peu)
Pour ta fonction de recyclage je pense aller un peu plus loin, et définir un niveau de qualité pour le ramassage du recyclage.
ex : Je ramasse tout les blancs et ou bleu puis je les recycles tous

ps: pas trop le temps pour implémenter cette fonction dans l’immédiat, mais elle sera mise dans les futurs version du bot lorsque ce dernier sera plus stable


Ahaha je vais finir par croire que tu prends plaisir à réfuter tout mes partages :P

Ps: Je n'ai jamais eut aucun problème avec ce paramètre. (Global $Unidentified = "true") Peut-être peux-tu m'en dire plus ?

#6 taavnoos

taavnoos

    Fragger débutant

  • Membres
  • 693 messages

Posté 08 March 2014 - 14:56

sa fonctionne bien mais une grablist pour ramasser les blancs sa existe?

#7 Taarva

Taarva

    Hard Gamer

  • Membres
  • 416 messages
  • Location :Belgique

Posté 08 March 2014 - 15:38

Perso aucune utilité de ramasser les blancs, tu vas looter max debris très vite, sur deux jours j'en ai loote presque 800 sur le run de base.

#8 moriced3

moriced3

    Hard Gamer

  • Membres
  • 418 messages
  • Hobbies :Informatique
    Père de famille
    Sculture

Posté 08 March 2014 - 19:46

@Zoellingam a True ''d'origine'' tu n'applique plus le filtre sur les objets.
Dans la version précédente du bot les membres sen servait pour faire de l'unid leg , anneau ....

A+
Pour Participé A D3ROS-Automatisation

MoriceD3

MERCI AUX DÉVELOPPEURS

BOT #1 |Barbare SC 290 Unbuff| Build Thunderstrike ModifierBOT #2 |Féticheur SC 190 Unbuff| Build Double Pluie

Image IPB= Merci Image IPBImage IPB


#9 WhoIAm

WhoIAm

    Débutant lvl 2

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

Posté 08 March 2014 - 21:18

sa fonctionne bien mais une grablist pour ramasser les blancs sa existe?

Up? ;)
Quelques liens utiles à lire avant de poser une question : ;)

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


#10 Zoellingam

Zoellingam

    Débutant lvl 2

  • Membres
  • 56 messages

Posté 08 March 2014 - 22:07

@Zoellingam a True ''d'origine'' tu n'applique plus le filtre sur les objets.
Dans la version précédente du bot les membres sen servait pour faire de l'unid leg , anneau ....

A+


Ah, c'est peut être la raison pour laquelle je n'ai jamais eut de problème avec, ma grablist ne comporte que les materiaux de craft.

De la manière dont Kickbar a dit de ne jamais passer cette variable à true, j'ai cru à un réel problème.

#11 WhoIAm

WhoIAm

    Débutant lvl 2

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

Posté 09 March 2014 - 00:10

J'ai un soucis concernant cette fonction.
Je ramasse bien tous les items (blanc, bleu, jaune, leg) mais il sont tous stocké dans le coffre et il ne va jamais voir le forgeron... :(
Pour permettre le ramassage de tout les items, j'ai joué sur le qualityitem du settings.ini en le mettant à 1. Le problème peut-il venir de là ?

EDIT: J'utilise la 8.2b

Mon settings.ini :

Spoiler


Ma grablist :

Spoiler


Mon settings.au3 :

Spoiler

Spoiler

Spoiler

Quelques liens utiles à lire avant de poser une question : ;)

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


#12 moriced3

moriced3

    Hard Gamer

  • Membres
  • 418 messages
  • Hobbies :Informatique
    Père de famille
    Sculture

Posté 09 March 2014 - 00:38

salut

ne touche pas a qualityitem dans settings.ini ces pour ça qu'il stock tout.
je te propose plustot ceci dans ta grablist tu as:
weapon1h[q:6][ilvl:60](fweapon)
Amulet_[q:6][ilvl:60](famu)
Ring_[q:6][ilvl:60](fring)
Gloves_[q:6][ilvl:60](fgloves)
Bracers_[q:6][ilvl:60](fbracers)
Helm_[q:6][ilvl:60](fhelm)

change plutôt la qualité ici [q:6] et tu pourait aussi mettre un plus bas level [ilvl:60]
comme sa il va tout ramasser Ex:: Gloves_[q:1][ilvl:58](fgloves)
La Il va ramasser les gang de qualité 1 et + de lv 58 et +,le reste ces filterbackpack() qui va le faire,
elle va filtrer ton item selon les critère demander dans (fgloves),si elle ne passe pas. ces trash ou recycler dans ton cas.

bon j'ai pas tester, a tester :lol: ,Mais sa devrait faire si je me souviens bien de mémoire.Pour la fonction je les pas tester non plus.

A+
Pour Participé A D3ROS-Automatisation

MoriceD3

MERCI AUX DÉVELOPPEURS

BOT #1 |Barbare SC 290 Unbuff| Build Thunderstrike ModifierBOT #2 |Féticheur SC 190 Unbuff| Build Double Pluie

Image IPB= Merci Image IPBImage IPB


#13 WhoIAm

WhoIAm

    Débutant lvl 2

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

Posté 09 March 2014 - 00:49

Merci morice3d je test de suite et donne un retour soon ;)
Quelques liens utiles à lire avant de poser une question : ;)

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


#14 WhoIAm

WhoIAm

    Débutant lvl 2

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

Posté 09 March 2014 - 01:07

Retex : Ta solution ne fonctionne pas morice3d :(
Je pense que cela viens du fait que nous avons les stats directement sur les items au sol et il ne loot que ceux qui rentre dans le filtre de la grablist

Grablist testé : (j'utilise une condition impossible à satisfaire pour assurer que les items soit rejeté par le filtrage)

Spoiler


Extrait de la sortie console :

Spoiler

Quelques liens utiles à lire avant de poser une question : ;)

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


#15 moriced3

moriced3

    Hard Gamer

  • Membres
  • 418 messages
  • Hobbies :Informatique
    Père de famille
    Sculture

Posté 09 March 2014 - 01:26

Hum c'est nouveau ça?surement du que les items ne sont plus unid,je vais regarder ça de plus prêt.
Pour Participé A D3ROS-Automatisation

MoriceD3

MERCI AUX DÉVELOPPEURS

BOT #1 |Barbare SC 290 Unbuff| Build Thunderstrike ModifierBOT #2 |Féticheur SC 190 Unbuff| Build Double Pluie

Image IPB= Merci Image IPBImage IPB


#16 WhoIAm

WhoIAm

    Débutant lvl 2

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

Posté 09 March 2014 - 01:32

Merci à toi pour le coup de main :)
Quelques liens utiles à lire avant de poser une question : ;)

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


#17 moriced3

moriced3

    Hard Gamer

  • Membres
  • 418 messages
  • Hobbies :Informatique
    Père de famille
    Sculture

Posté 09 March 2014 - 03:29

RE :)

Bon j'ai regarder dans le code et effectivement les développeurs on ajouter le filtre sur l'item par terre,
donc s'il ne passe pas filtre on ramasse pas.(la raison pourquoi le bot ne ramasse pas grand chose, pas mauvais parcontre mais sa cause problème ici)

Vous pouvez faire ceci

Dans toolkit.au3 chercher Func CheckItem($_GUID, $_NAME, $_MODE = 0)
Cet partis ci
Spoiler

Peut Devenir
Spoiler


Donc avec cette modification

-si dans le settings.ini Recycle = true on applique plus le filtre sur les item par terre,donc on les ramasse selon la qualité [q:6] et le level [ilvl:60] et le bot appliquera le filtre selon les critère contenu dans ex: (fgloves) en exécutant la fonction stashandrepair() si bien sur Unidentified = false dans le settings.ini

-si dans le settings.ini Recycle = false comme avant on applique le filtre sur les items par terre, donc si passe pas filtre on ramasse pas.

Pour explication comment faire une grablist pour tout ramasser Post 12#

@Zoellingam si tu veut mettre a jour dans ton premier post aucun problème :D je vais tester ta fonction et te faire un retour.

A+


Edit--Ici on parle du bot originel,

si vous utiliser ma modification pour ne pas identifier le légendaire, si Unidentified = false ou true le filtre est appliquer dans les 2 cas

Modifié par moriced3, 09 March 2014 - 03:47.

  • traxor62 aime ceci
Pour Participé A D3ROS-Automatisation

MoriceD3

MERCI AUX DÉVELOPPEURS

BOT #1 |Barbare SC 290 Unbuff| Build Thunderstrike ModifierBOT #2 |Féticheur SC 190 Unbuff| Build Double Pluie

Image IPB= Merci Image IPBImage IPB


#18 snow_boy

snow_boy

    Gamer lvl 2

  • Membres
  • 199 messages

Posté 09 March 2014 - 08:53

Salut, Merci pour cette fonction, mais juste un problème dans l'acte 1, il se bloque à tous les coups sur le coffre "effet personnel" du forgeron puis au bout de quelque seconde repart faire le run ! Peux etre un Movetopost a ajouter pour l'acte 1 ?
  • LeNoob01 aime ceci
".... Celui qui donne le sommeil à ceux qui ne peuvent pas dormir ...." "... Si vous venez à poser un jour le petit doigt sur moi, c'est que je vous en aurai donné la permission."Image IPB

#19 Zoellingam

Zoellingam

    Débutant lvl 2

  • Membres
  • 56 messages

Posté 09 March 2014 - 08:55

Salut, Merci pour cette fonction, mais juste un problème dans l'acte 1, il se bloque à tous les coups sur le coffre "effet personnel" du forgeron puis au bout de quelque seconde repart faire le run ! Peux etre un Movetopost a ajouter pour l'acte 1 ?


Aucun problème pour moi dans l'acte 1, après 24h de botting. Peux-tu m'en dire plus ?

#20 snow_boy

snow_boy

    Gamer lvl 2

  • Membres
  • 199 messages

Posté 09 March 2014 - 09:01

Il va d'abord stocker ses affaires dans le coffre puis se déplace et essaie de cliquer sur l'enclume (recycler) mais il est bloqué par le coffre "effet personnel du forgeron" il n'arrive donc pas à atteindre l'enclume.
  • LeNoob01 aime ceci
".... Celui qui donne le sommeil à ceux qui ne peuvent pas dormir ...." "... Si vous venez à poser un jour le petit doigt sur moi, c'est que je vous en aurai donné la permission."Image IPB