cette fonction permet de rammasser tous les objet de qualite superieure ou egale a la qualite defini par "QualiteItem" dans settings.ini (merci à Savage44 pour l'idee du context). puis une fois en ville il verifie les stat par rapport a celle programmées dans setings_item.ini pour savoir s'il doit les vendre ou les mettre au coffre. l'analyse complet d'un sac rempli d'objet jaune prend entre 3 et 7 secondes suivant le nombre de stat a analyser.
@++ Taz,
changelog :
patch 1.0.6a : mettre a jour la variable gamblance voir spoiler ci dessous
1.1.3 : correction d'un decalage mineure de 2 / 3 points entre le dps calculé et le vrai DPS de l'arme dans certains cas. (merci Metooyoo pour tes logs) ajout d'un gui de configuration pour le settings_item.ini (lancer gui_item.au3)
1.1.2 : correction mineure
1.1.1 : ajout d'une seconde grab list pour grab en fonction du type d'item pour les legendaire
1.1.0 : ajout d'une securité supplementaire pour les grab le settings_item.ini est de nouveau compatible avec les inconditionnel du notepad (pour ceux ayant la 1.0.9, juste le fichier toolkit_item.au3 à changé et le settigns_item.ini si vous utilisé.....notepad )
1.0.9 : amelioration vitesse SNO
1.0.8 : mise a jour pour bot 6.0.1 ajout d'une grab list pour grab en fonction du type d'item (exemple : rammasser que les casque et pas les brassards) ajout des "OU" dans les "ET" (merci titeuf pour l'idée) le fichier de log va dans le sous-repertoire "Stats" du bot, plus besoin de le creer amelioration de la lisibilité du fichier de log reduction du temps d'analyse des stats des objets le settings_item.ini dans cette version est la derniere version de Plpp (merci Plpp)
voici les stats que vous pouvez analysées :
Spoiler
"Strength" : force "Vitality" : vitaliré "Intelligence" : intelligence "Dexterity" : dexterité "ResistAll" : Bonus a tous les resistance "GF" : Bonus decouverte d'or "MF" : Bonus decouverte objet magique "HealthBonus" : bonus point de vie "AttackSpeedBonus" : bonus vitesse d'attaque "AttackSpeedTotal" : vitesse d'attaque finale (bonus compris) "ArmorBonus" : bonus d'armure "ArmorTotal" : armure totale (bonus compris) "CritChance" : bonus chance de coup critique "CritDamage" : bonus dommage coup critique "Socket" : nombre de chasse "Indestructible" : item indestructible "BlockChance" : chance de blocage de base du bouclier "BlockBonus" : bonus de blocage du bouclier "BlockTotal" : blocage tootal du bouclier (bonus compris) "RegenBySecond" : bonus point de vie par seconde "RegenByHit" : bonus point de vie par coup "RegenByKill" : bonus point de vie par tué "DamageMin" : Degat mini de l'arme "DamageMax" : Degat maxi de l'arme "DamageAve" : Degat moyen de l'arme "DPS" : Degat par seconde de l'arme "StealHealth" : Vol de vie "MoveSpeed" : % bonus a la vitesse de deplacement
Modification du type des constantes suivantes dans Constant.au3 :
Spoiler
Global $gameBalance = 0x1884F98
global $Atrib_Armor_Item[2] = [0x030,"float"] global $Atrib_Armor_Bonus_Item[2] = [0x031,"float"] global $Atrib_Armor_Item_Percent[2] = [0x032,"float"] global $Atrib_Armor_Item_SubTotal[2] = [0x033,"float"] global $Atrib_Armor_Item_Total[2] = [0x034,"float"] global $Atrib_Resistance_All[2] = [0x063,"float"] global $Atrib_Hitpoints_Regen_Per_Second[2] = [0x080,"float"] global $Atrib_Movement_Scalar[2] = [0x096,"float"] global $Atrib_Attacks_Per_Second_Item[2] = [0x0AB,"float"] global $Atrib_Attacks_Per_Second_Item_Percent[2] = [0x0AC,"float"] global $Atrib_Attacks_Per_Second_Item_Subtotal[2] = [0x0AD,"float"] global $Atrib_Attacks_Per_Second_Item_Bonus[2] = [0x0AE,"float"] global $Atrib_Attacks_Per_Second_Item_Total[2] = [0x0AF,"float"] global $Atrib_Attacks_Per_Second_Percent[2] = [0x0B3,"float"] global $Atrib_Damage_Weapon_Max_Total_All[2] = [0x0C4,"float"] global $Atrib_Damage_Weapon_Min_Total_All[2] = [0x0CA,"float"] global $Atrib_Damage_Weapon_Average_Total_All[2] = [0x0CD,"float"] global $Atrib_Crit_Percent_Bonus_Capped[2] = [0x0D7,"float"] global $Atrib_Crit_Damage_Percent[2] = [0x0DA,"float"] global $Atrib_Block_Chance_Bonus_Item[2] = [0x0E3,"float"] global $Atrib_Block_Chance_Item[2] = [0x0E4,"float"] global $Atrib_Block_Chance_Item_Total[2] = [0x0E5,"float"] global $Atrib_Block_Amount_Item_Min[2] = [0x0EA,"float"] global $Atrib_Block_Amount_Item_Delta[2] = [0x0EB,"float"] global $Atrib_Block_Amount_Item_Bonus[2] = [0x0EC,"float"] global $Atrib_Steal_Health_Percent[2] = [0x11E,"float"] global $Atrib_Hitpoints_On_Hit[2] = [0x123,"float"] global $Atrib_Hitpoints_On_Kill[2] = [0x124,"float"] global $Atrib_CrowdControl_Reduction[2] = [0x226,"float"] global $Atrib_Strength_Item[2] = [0x33A,"float"] global $Atrib_Dexterity_Item[2] = [0x33B,"float"] global $Atrib_intelligence_Item[2] = [0x33C,"float"] global $Atrib_Vitality_Item[2] = [0x33D,"float"] global $Atrib_Item_Indestructible[2] = [0x340,"int"]
modification main.au3 :
Spoiler
dans la section Include au debut du fichier rajouter ces 2 lignes : #include "lib\settings_item.au3" #include "toolkit_item.au3"
juste avant la fonction DoRun() mettre :
LoadingSNOExtended()
dans la fonction Botting() remplacer :
_log('Filter Backpack')
$Items = FilterBackpack()
par :
if isDeclared("item_check_activated") then
if $item_check_activated = "true" then
_log('Filter BackpackAdvanced')
$Items = FilterBackpackAdvanced()
else
_log('Filter Backpack')
$Items = FilterBackpack()
endif
else
_log('Filter Backpack')
$Items = FilterBackpack()
endif
modification toolkit.au3 :
Spoiler
dans la fonction Attack()
remplacer :
$itemDestination = CheckItem($item[0], $item[1])
par :
if isDeclared("item_check_activated") then
if $item_check_activated = "true" then
$itemDestination = CheckItemAdvanced($item[0], $item[1], "LOOT")
else
$itemDestination = CheckItem($item[0], $item[1])
endif
else
$itemDestination = CheckItem($item[0], $item[1])
endif
ajout des nouveaux fichiers (dans le zip joint) :
Spoiler
*ajouter fichier settings_item.au3 dans le repertoire lib du bot *ajouter fichier Toolkit_item.au3, settings_item.ini, gui_item.au3 dans le repertoire racine du bot
comme vous pouvez le voir, tous se passe dans des fichier separés,le bot original n'etant pas touché cela permet de faire tourner le bot de maniere normal en desactivant la fonction dans le fichier settings_item.ini.
explication du fichier settings_item.ini (general):
Spoiler
check_activated= (true ou false : permet d'activer ou non le filtrage des statistique) check_stat_on_legendary= (true ou false : permet d'activer ou non le filtrage des statistique sur les legendaire) check_item_rare_name= (true ou false : permet d'activer ou non le filtrage du type item rare lors du ramassage) check_ListRareToGrab= (liste des type item rare a grab ex: Amulet_|Axe_|BarbBelt_|Belt_|Boots_) check_item_legendary_name= (true ou false : permet d'activer ou non le filtrage du type item legendaire lors du ramassage) check_ListLegendaryToGrab= (liste des type item legendaire a grab ex: Amulet_|Axe_|BarbBelt_|Belt_|Boots_)
Si la liste de grab est activé, le bot ne rammassera que les item du type ecrit dans cette liste. Si jamais il tombe sur un item dont il ne reconnait pas le type il le grabera par sécurité.
Liste des type item dans le fichier ini (par defaut il grab tous les objets)
la liste de valeur est presente mais n'est pas encore utilisée.
explication du fichier settings_item.ini (check):
Spoiler
[weapon family check] --> nom de la famille d'objet Check_Item_Weapon=true --> activation du filtrage sur l'objet Check_Item_Weapon_Stat_Name=Strength --> stat a filtrer Check_Item_Weapon_Stat_Value=55 --> valeur mini de la stat a filtrer
evidemment il est possible de filtrer plusieurs stat en meme temps en les separant par "|" ("et") , par des "-" ("OU" dans les "ET") et par ";" ("ou" General) :
[weapon family check] Check_Item_Weapon=true Check_Item_Weapon_Stat_Name=Intelligence-Vitality|Socket;Intelligence Check_Item_Weapon_Stat_Value=170-100|1;300
cet example filtrera toutes les armes ayant : (((Intelligence >= 170) OU (Vitalité >=100)) ET une chasse mini) OU (Intelligence >= 300) et plus clairement :
SOIT : Intelligence >= 170 ET une chasse mini SOIT : Vitalité >=100 ET une chasse mini SOIT : Intelligence >= 300
Un systeme de filtre est disponible (ce n'est qu'une memoire pour eviter de retaper plusieur les meme filtres, n'est pas gerer comme une stat a part entiere):
deifnition des filtres dans [item filtre]: Check_Item_Filtre1_Name=StealHealth;Strength Check_Item_Filtre1_Value=0;100
exemple utilisation des filtres : [weapon family check] Check_Item_Weapon=true Check_Item_Weapon_Stat_Name=Filtre1;Intelligence Check_Item_Weapon_Stat_Value=Filtre1;110
attention : utiliser toujours des valeur entiere pour les valeur de stat , et toujours avoir de stat a filtrer que de valeurs. Les mot clé pour filtrer les stat sont dans le 1er spoiler.
le classement des objet est trié par un arbre de famille, ou le parent a toujours raison sur l'enfant. je m'explique (exemple sur les armes avec juste les nom des categorie) : [weapon family check] --> filtrera toutes les armes independamment de leur type [weapon1H family check] --> filtrera tous les armes 1 main independamment de leur type [weapon1H check] --> filtrera tous les armes 1 main en fonction de leur type [weapon2H family check] --> filtrera tous les armes 2 mains independamment de leur type [weapon2H check] --> filtrera tous les armes 2 mains en fonction de leur type
Si le parent est activé (ex : [weapon family check]) , ce sera lui qui filtrera meme si un des enfant (ex: [weapon1H family check]) est aussi activé avec d'autres stats, c'est les stats du parent qui serviront au filtrage.
bon ben voila, j'espere avoir ete assez clair. J'ai essayé de tester un maximum de type d'objet en jeu, mais je suis pas cresus , alors j'ai acheter quasiment 1 objet de chaque type courant.
dans le sous repertoire stats, vous trouver un log specifique au check d'item. si jamais vous voyer des ligne du genre :
==> Item unknow , unknow , unknow : not filtered
merci de me poster un extrait du log_item, je les inclurai au check.
evidemment c'est une fonction beta alors attention
je suis en train de faire une fonction qui utilisera le ilvl et les stat de l'arme. j'ai commencer a jouer avec la function "IterateBackpackExtendedWithLvl" et ca se presente bien. avant de continuer plus profondement , j'aimerais savoir si hormis le temps d'analyse qui est d'1 a 2 secondes par objet, il peut y avoir des probleme a utiliser cette fonction ?
@++
Salut. J'ai moi-même adapté cette fonction que j'utilise et je comptais bientôt poster un tuto pour la proposer aux autres. Cependant si tu es déja prêt vas-y avant moi. A l'époque j'avais testé de ramasser tous les objets jaunes pour pouvoir chopper aussi les armures, mais la méthode était trop lourde du coup je suis resté sur les armes puisque une simple liste suffit.
Je n'ai constaté aucun pb avec, au contraire. Et le gain de temps est même appréciable puisque les objets sont ensuite triés via les filtres qu'on a appliqué.
Salut. J'ai moi-même adapté cette fonction que j'utilise et je comptais bientôt poster un tuto pour la proposer aux autres. Cependant si tu es déja prêt vas-y avant moi. A l'époque j'avais testé de ramasser tous les objets jaunes pour pouvoir chopper aussi les armures, mais la méthode était trop lourde du coup je suis resté sur les armes puisque une simple liste suffit.
Je n'ai constaté aucun pb avec, au contraire. Et le gain de temps est même appréciable puisque les objets sont ensuite triés via les filtres qu'on a appliqué.
Bon courage.
bon j'arrive a recupere le ilvl, l'armure et quelque autres petite chose par contre j'ai un problem pour la force, la vitalite, l'intell et le all resist.
je trouve des valeurs bizarre qui ne correspondent pas au stat de l'objet. si quelqu'un a une idée ?
eempel de valeurs :
force =1127415808 (sur item +179 ) vita =1119223808 (sur item +81 ) inte = 0 (sur item +91 ) all resist =1117126656 (sur item +75 )
plpp je pense que tu dois etre plus avancé que moi alors hesite pas a post ton tuto j'y trouverai peut etre une nouvelle inspiration, parce que là, le cerveau est en ebullition.
tiens, vais allez manger pour me requinquer, je n'ai pas vu le temps passé.
« Errare humanum est, perseverare diabolicum » Un probleme de configuration du bot ? d'utilisation du bot ? --> FAQ
ben il y a un truc alors , parce que c'est ce qu'il y a dans la fonction MapItemWithLvl, IterateActorAtribs avec les $Attrib correspondant. a moins qu'il y ai un probleme dans les ofset ?
« Errare humanum est, perseverare diabolicum » Un probleme de configuration du bot ? d'utilisation du bot ? --> FAQ
Là je t'avoue que je sais pas faudra que je regarde mais pour ma part j'effectue le filtrage au niveau de filterbackpack pas avant. Je filtre avec extended juste le ilvl.
Mais j'ai pas vraiment reessayé de check les main stats depuis la 1.0.5 faut dire. Normalement les offsets sont à jour jregarderai ça.
plpp trouvé pour la vitalité , le truc tout con en faite, il y a une erreur dans la function MapItemWithLvl l'index +12 existe 2 fois de suite et l'index +14 n'existe pas:
Dis-moi, n'as-tu pas de problème avec la détection des légendaires avec cette fonction ? Le tableau me renvoie des valeurs vides.
Ce n'est pas forcément un problème puisque ce sont les seuls items à qui ça le fait, et du coup je sais que ce sont des légendaires. Et je ne souhaite pas spécialement trier les légendaires. Mais tout de même je trouve ça intrigant, peut-être est-ce un truc tout bête qui me passe sous le nez ^^.
ilevel
force
vitalite
intelligence
dexterite
bonus toute resistance
gold find
magic find
bonus vie
vitesse attaque de base
bonus % vitesse attaque
% chance de blocage
% bonus chance de blocage
degat mini/maxi bloqué
armure
bonus d'armure
reduction effet de control
% chance coup critique
% degat coup critique
nombre de chasse
indestructible
si jamais quelqu'un connait les variables me manque trois stats importante :
bonus regene de point de vie par seconde
bonus point de vie par coup
bonus % de degat de l'arme
par hasard plpp, les utiliserai tu ?
merci
« Errare humanum est, perseverare diabolicum » Un probleme de configuration du bot ? d'utilisation du bot ? --> FAQ
Petite question d'un néophyte en la matière : est-il possible de récupérer le dps d'une arme / les bonus de dégâts élémentaires ?
Dans tous les cas, même si il te manque des encore des infos, il y a déjà de quoi filtrer les pièces d'armures donc GG
Et une autre question pour la route, car je suis impatient et trèèèès intéressé par cette fonction : pour quand prévois-tu de nous présenter tes recherches?
Petite question d'un néophyte en la matière : est-il possible de récupérer le dps d'une arme / les bonus de dégâts élémentaires ?
Dans tous les cas, même si il te manque des encore des infos, il y a déjà de quoi filtrer les pièces d'armures donc GG
Et une autre question pour la route, car je suis impatient et trèèèès intéressé par cette fonction : pour quand prévois-tu de nous présenter tes recherches?
Merci en tout cas pour ce gros boulot !
rooo j'ai oublié de verifié le DPS de l'arme, je l'ajoute.
Et concernant le delai je prefere ne pas m'avancer, mais pour info je suis en phase de test sur mon bot
« Errare humanum est, perseverare diabolicum » Un probleme de configuration du bot ? d'utilisation du bot ? --> FAQ