Actiona, recherche d'image

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

diasflac

Membre
Jun 8, 2013
28
2
909
39
Bonjour à tous, je viens vers vous car je butte depuis quelques jours, en gros, mon bot tourne sous actiona, lance des combats, les termines et valide.

Mais il y a un mais, lorsque la ligne de vue est obstruée, la détection ne permet pas de choisir quelle cible le bot vise. J ai réussi a contourner le problème en partie, en reconnaissant les mobs qui ne peuvent être ciblé, mais du coup ma sélection alterne entre 2 cible uniquement et se retrouve par moment bloquée à ne cibler que les unités hors d'atteinte...

J'ai tenter la détection d'image multiple, se qui me donne non plus une coordonnée mais 3 pour 3 mob de cette manière :

Ligne de script 109 : "[
Point {x: 658, y: 364},
Point {x: 1237, y: 200},
Point {x: 979, y: 200}
]" n'est pas une position valide.

Malheureusement, c'est la ou je butte, je n'arrive pas à faire comme un cheminement, ou un clic par position, je ne sais pas encore exploiter ses données en manière groupées.

Tout comme la la suite, j aimerais comprendre comment mesurer une distance entre 2 positions, cela me permettrai de cibler les cibles proches en priorité.

Pourriez vous m'aider ?
 

Salopette

Membre
Sep 20, 2017
31
2
434
34
Discord
MST
Hello
J'en suis moins avancé que toi. je ne peux pas t'aider mais je suis curieux de savoir comment tu lances un combat : avec le recherche image ? impossible chez moi sur 1.29 de trouver le moindre monstre, même en prenant plusieurs images avec le jeu en high et non transparent..
pour suivre ton probleme
 

diasflac

Membre
Jun 8, 2013
28
2
909
39
Oui j'utilise la recherche d'image, avec les 4 orientations des mob évidemment pour ne pas attendre leur positionnement, par contre je le fait avec la version 3.9.4, car la 3.10 ne trouve aucune image en mode correlation efficience. Je pense que ton soucis vient de la ^^.

J'ai trouver une autre méthode pour les cases non -ciblable d'ailleurs au passage, mais il n’empêche que j aimerai apprendre a mesurer des distance malgré tout pour imaginer des procédure de déplacement en combat.
 

fredy123

Membre actif
Jan 16, 2011
354
22
934
Discord
Fredy123#4251
Bonjour à vous,

Pour la version 3.10 d'Actiona, utilisez comme type de recherche la 'Squared Difference'. La confiance à ajuster selon votre image, effectuez des testes pour déterminer quel valeur est la plus adaptée et les autres paramètres mettre 1.

Vous aurez alors un reconnaissance d'image plus que satisfaisante.

Bonne journée
 

Salopette

Membre
Sep 20, 2017
31
2
434
34
Discord
MST
Merci @fredy123 ca marche au top !
une idée pour réaliser une tempo "aléatoire" qui pourrait faire une fourchette de 15 à 45 sec pour passer incognito ?
 

diasflac

Membre
Jun 8, 2013
28
2
909
39
Dans une fonction code, j utilise ceci pour creer des tempos différentes pour que mes bot rejoignent pas en meme temps :

var NomDeVarIci = Math.floor(Math.random() * 10);

ca creer une variable chiffre qui varie entre 1 et 10

je te laisse imaginer la suite pour adapter a ton style, par contre j ignore comment commencer a 15 ^^
 
  • Like
Reactions: Salopette

fredy123

Membre actif
Jan 16, 2011
354
22
934
Discord
Fredy123#4251
Bonjour @Salopette,

Voilà une autre solution pour toi :
JavaScript:
var nombre = Algorithms.randomInteger(15,45);

Bonne journée
 
  • Like
Reactions: Salopette and diasflac

Salopette

Membre
Sep 20, 2017
31
2
434
34
Discord
MST
Bonjour,
Merci pour vos aides, j’ai réussi.
Bon je suis content du résultat, je vais m’attaquer à la partie combat monocible ce soir.
La logique que j’imagine :
  • Recherche image pour savoir si on est en combat : couleur d’une case passe en noire avec le mode tactique (ou peut être la barre de temps du tour de combat ?).
  • Recherche image du cercle rouge autour du mob (histoire de pouvoir faire ça avec tous les mobs). Incrémentation de la variable poscombat.
  • Clique sur le raccourci sort 1.
  • Clique sur la variable poscombat.
  • Tempo de 5 sec.
  • Recherche image pour savoir si tjrs en combat.
  • Si tjrs combat : go étape 2. Sinon go étape déplacement (or scope ici)
Mon perso ne bougera pas, ne pourra taper un seul monstre (sinon même soucis que @diasflac ) à la fois et à condition qu’il vienne au càc.
Ça suffirait pour répondre à mon besoin pour le moment.
Vous en pensez quoi ?
Belle journée,
 
  • Like
Reactions: diasflac

diasflac

Membre
Jun 8, 2013
28
2
909
39
Je trouve que c est un excellent début, j ai aussi commencer comme ça, toujours avoir une procédure de vérification, penser a l'inverse dans la recherche d'image pour un script optimisé ( résultat vers condition ).

La tu as déjà de quoi faire un mode combat auto sur une seule carte =)
 

Salopette

Membre
Sep 20, 2017
31
2
434
34
Discord
MST
Merci pour les infos les combats tournent.
Sauf que contre IA fuyarde ca marche pas.
Ton idée de mesurer la distance entre mon perso et le mob permettrai de faire avancer mon perso. Peut-etre que la trajectoire suffit ?

Sinon question pratique, j'aimerai "compiler" mes lignes dans une fonction. Typiquement un code niveau 1 qui ferait référence à des sous-codes niveau 2 "combat", "retour banque", "farm" etc etc

Ça évitera de devoir redéfinir les sorties de mes trouver images lorsque je change une ligne et ca évitera un code de 35 lignes dur à maintenir.

Vous savez comment utiliser les fonctions ?
 

Salopette

Membre
Sep 20, 2017
31
2
434
34
Discord
MST
Hello les gars je remonte ce fil car j'ai un soucis
plutot que de renvoyer à des lignes mes recherches images, qu'il faut modifier au moindre ajouts d'actions, j'aimerai lier mes recherches images direct à une action précise ou ne plus faire évoluer les numéros des lignes, vous savez comment je pourrais faire svp ?
Cela permettrait des faires des copier/coller d'actions facile.
 

diasflac

Membre
Jun 8, 2013
28
2
909
39
Tu devrais utiliser les procédures, c'est hyper efficace pour créer des bloc de fonction, attention à ne pas oublier de mettre une fin de procédure d'ailleurs pour que le script ne plante pas, une fois fait, par exemple une procédure appelée soins, avec contrôle des PV via le coeur central, si l image ou le pixel n'est pas oui dans une procédure de controle, aller vers la procédure soins, se qui fait que tu n'auras aucun retour a la ligne
 

valchimiiste

Membre
May 2, 2020
37
12
29
28
Salut. Je me permet de commenter ce petit fil pour partager mon expérience.

J'ai commencé a coder des bots combats avec Actionaz comme toi et j'ai rencontré pas mal de difficultés auxquelles tu es confronté toi meme. Je me permet quelques remarques:

1- Abandonne Actiona . J'ai fais un projet d'environ 3000 instructions dans Actiona, mélangés a de nombreux codes javascript, de pres de 2000 lignes au total. Mais sur le long terme, c'est pas viable. Actionaz, bug, crash , le forum Jmgr actionaz est tenu par UN seul mec dirait on (D'ailleurs j'en profite pour remercier françois ) et tu vas galérer a faire des choses que tu pourrais faire beaucoup mieux ailleurs. Par exemple en Python . J'ai refais tout mon projet en Python et il est bien plus optimisé désormais.

2 - Si tu maintiens Actionaz,je te suggère TRES TRES fortement de faire ce qui a été suggéré par diasflac et d'utiliser les procédures. Ce sont des outils puissants d'Actionaz qui ont l'avantage colossal par rapport aux fonctions de modifier les valeurs des variables directement et qu'elles soient utilisables par le reste de ton code. N'hésite pas a littéralement faire une procédure pour chaque étape de ton code. Il te suffit ensuite de faire des calls de Procédure successifs en fonction des situations plutot que de copier/coller des insctructions un peu partout.

3 - Pour la recherche d'image, quelque chose a été dit , et a juste titre, sur les cutoffs de détection et les méthodes. Les méthodes de détection ne se valent pas, ni en terme de rapidité, ni en terme de performance. Overall, la squared différence ou la squared différence normée ( bien que je sois pas sure que cette dernière soit sur Actionaz ) sont très efficace dans Dofus et particulièrment pour trouver de petits éléments. La difficulté ensuite est de trouver un cutoff a la fois sensible et spécifique. Cutoff trop faible = trop de faux positifs, trop élevé, trop de faux négatifs. Et des fois c'est variable en fonction des situations. Moi ce que je fais c'est que je fais une boucle de ce style :

-
Code:
cutoff = 1
imageTrouvée = False

Tant que ImageTrouvée est Faux ET cutoff > 0.90
    FindImage("imageATrouver.PNG" avec cutoff)
   
    si ImageTrouvée
        Faire quelque Chose
        break
    Sinon
        cutoff = cutoff - 0.01

Ca permet de chercher avec un cutoff de plus en plus petit et d'éviter des faux positifs ou quoi ...

4 - Ensuite tu peux persévérer et optimiser ton code et faire qu'a terme il soit bien plus "intelligent" . Je te laisse regarder ce petit gif d'un de mes bots en combat.
Vid 20200925 wa0000 hZk3Ta3z cbQo



Les possibilités sont multiples et nombreuses a condition de s'en donner les moyens. Bonne chance dans la suite de ton projet
 
  • Like
Reactions: kiyoshi666, Salopette, diasflac and 1 other person

PL-dof_kamas

Membre
Oct 20, 2020
18
1
124
29
Salut. Je me permet de commenter ce petit fil pour partager mon expérience.

J'ai commencé a coder des bots combats avec Actionaz comme toi et j'ai rencontré pas mal de difficultés auxquelles tu es confronté toi meme. Je me permet quelques remarques:

1- Abandonne Actiona . J'ai fais un projet d'environ 3000 instructions dans Actiona, mélangés a de nombreux codes javascript, de pres de 2000 lignes au total. Mais sur le long terme, c'est pas viable. Actionaz, bug, crash , le forum Jmgr actionaz est tenu par UN seul mec dirait on (D'ailleurs j'en profite pour remercier françois ) et tu vas galérer a faire des choses que tu pourrais faire beaucoup mieux ailleurs. Par exemple en Python . J'ai refais tout mon projet en Python et il est bien plus optimisé désormais.

2 - Si tu maintiens Actionaz,je te suggère TRES TRES fortement de faire ce qui a été suggéré par diasflac et d'utiliser les procédures. Ce sont des outils puissants d'Actionaz qui ont l'avantage colossal par rapport aux fonctions de modifier les valeurs des variables directement et qu'elles soient utilisables par le reste de ton code. N'hésite pas a littéralement faire une procédure pour chaque étape de ton code. Il te suffit ensuite de faire des calls de Procédure successifs en fonction des situations plutot que de copier/coller des insctructions un peu partout.

3 - Pour la recherche d'image, quelque chose a été dit , et a juste titre, sur les cutoffs de détection et les méthodes. Les méthodes de détection ne se valent pas, ni en terme de rapidité, ni en terme de performance. Overall, la squared différence ou la squared différence normée ( bien que je sois pas sure que cette dernière soit sur Actionaz ) sont très efficace dans Dofus et particulièrment pour trouver de petits éléments. La difficulté ensuite est de trouver un cutoff a la fois sensible et spécifique. Cutoff trop faible = trop de faux positifs, trop élevé, trop de faux négatifs. Et des fois c'est variable en fonction des situations. Moi ce que je fais c'est que je fais une boucle de ce style :

-
Code:
cutoff = 1
imageTrouvée = False

Tant que ImageTrouvée est Faux ET cutoff > 0.90
    FindImage("imageATrouver.PNG" avec cutoff)
  
    si ImageTrouvée
        Faire quelque Chose
        break
    Sinon
        cutoff = cutoff - 0.01

Ca permet de chercher avec un cutoff de plus en plus petit et d'éviter des faux positifs ou quoi ...

4 - Ensuite tu peux persévérer et optimiser ton code et faire qu'a terme il soit bien plus "intelligent" . Je te laisse regarder ce petit gif d'un de mes bots en combat.
View attachment 35166


Les possibilités sont multiples et nombreuses a condition de s'en donner les moyens. Bonne chance dans la suite de ton projet
Merci pour ce partage !
 
  • Like
Reactions: valchimiiste

diasflac

Membre
Jun 8, 2013
28
2
909
39
Je plussoie valchimiiste , actiona bride très vite mais permet de faire le taff a petite échelle, mon bot combat sur le mono par exemple ne c est toujours pas fait remarquer, il est lent, ne sais pas cibler des mob avec des attaques globales, mais ça me va, je ne cherche pas a farm des million de kama, juste à monter mon lvl quand je suis au taff ou farm une ressource particulière.

Mon post n apporte rien, sauf mon petit plaisir d'avoir réussi à faire un bot sans aucune connaissance en codage, juste par déduction, et voir ton gif faire une recherche de case valchimiiste stimule ma curiosité sur une méthode similaire avec actiona ^^

Le petit code en java d'ailleurs est méga interessant niveau compréhension, je ne connaissais pas la fonction cutoff =)
 

valchimiiste

Membre
May 2, 2020
37
12
29
28
Mon post n apporte rien, sauf mon petit plaisir d'avoir réussi à faire un bot sans aucune connaissance en codage, juste par déduction, et voir ton gif faire une recherche de case valchimiiste stimule ma curiosité sur une méthode similaire avec actiona ^^

Le petit code en java d'ailleurs est méga interessant niveau compréhension, je ne connaissais pas la fonction cutoff =)


Si ça peut te motiver a aller plus loin, je faisais la meme chose avec Actionaz. La c'est un gif de la chose en Python , mais avec Actionaz ca se déroulait pareil. Ceci dit pour faire ça tu auras necessairement besoin de connaissance en Javascript et si tu n'as aucune connaissance ca risque d'etre compliqué. J'ai moi meme appris le Javascript simplement pour mon bot actionaz, puis le python pour mon bot en Python. Avec beaucoup de temps et de la motivation on comprend vite les grands principes pour les appliquer a sa situation singulière.

Pour ce qui est du cutoff ce n'est pas une fonction. C'est une variable qui correspond a la valeur que tu entres dans Actionaz pour la "confiance". En gros une confiance de 100% indique qu'il y a 100% de chance que l'image trouvée soit l'image cherchée, et ce, au pixel près. Très fiable donc mais trop rigide si la situation change. Le pseudocode que j'ai envoyé est juste un ensemble d'étape, pas du code a proprement parler, qui en gros permet de faire une itération afin de diminuer petit a petit le cutoff pour prendre le niveau de confiance le plus élevé possible mais quand meme au dessus d'un certain seuil.

Cette méthode peut s'avérer particulièrement utile quand on détecte des choses qui se ressemblent mais avec de légères nuances ( Un bouton de l'interface activé ou désactivé , Un personnage orienté a Droite ou a Gauche) . Bref je t'encourage a aller de l'avant. QUelque soit le langage ou l'outil, la réflexion permet souvent de faire beaucoup.

Cordialement
 
  • Like
Reactions: diasflac

diasflac

Membre
Jun 8, 2013
28
2
909
39
Je n'ai pas le besoin de faire plus ^^, j aime juste l'idée de pouvoir réussir a le faire en cherchant, mais le temps que je m'y mette, d'autre loisir m'auront sauter dessus et comme le confinement est terminé, je pense juste profité de se que j'ai a ma disposition. Merci au passage a Freddy123 aussi pour les conseils qu'il m'a donné sans pour autant amener de solution =) Si un jour j'ai des questions, je reviendrais sur se fil !
 

shupey

Membre
May 25, 2019
38
2
209
29
Discord
Smain #2773
hey salut j'ai juste une petite question sur Actiona, comment je fais pour trouver une image (sur mon bureau par exemple) et faire un clique sur l'image que je recherche ?
 

RoyRoyRoy

Membre
Dec 28, 2020
52
7
9
23
Discord
Buisness#8685
Dans ta recherche d'image,tu met la photo que tu veux que actionna trouve,dans position tu écrit Trouver,par exemple,ensuite tu créer un clic de souris,avec la position variable(la petite flèche verte) Trouver,et voila,si actionna trouve l'image,ca va cliquer dessus.
Post automatically merged:
Edit: La 3 eme photo est la première a paramétrer.

Autre astuce mieux a mon gout,Tu change L'ID de l'action clic,tu la renomme en Trouver aussi, et dans si trouvé,aller a la ligne trouver.je ne sais pas si c'est clair,c'est assez compliqué d'expliquer.
 

Attachments

  • Screenshot_1.png
    Screenshot_1.png
    26.3 KB · Views: 227
  • Screenshot_2.png
    Screenshot_2.png
    16.4 KB · Views: 233
  • Screenshot_3.png
    Screenshot_3.png
    30.8 KB · Views: 224
Last edited:

mielpops

Membre
Nov 30, 2010
6
0
911
Hello

Je suis en pleine élaboration d'un script comme vu plus haut : combat mono compte sur 1 map

Chose simple ?

Je galère en peu, j'aimerai déjà que mon bot puisse lancer un combat avec recherche d'image ou de pixel ..

J'ai suivi vos indications pour les recherches d'images mais le bot ne fait rien ..


Merci
 

RoyRoyRoy

Membre
Dec 28, 2020
52
7
9
23
Discord
Buisness#8685
Tu peux m'ajouter sur Discord Buisness#8685 pour de l'aide si tu veux
 

fauconfurtif

Nouveau membre
Oct 12, 2020
2
0
71
33
Bonjour tout le monde,

Je me pose une question :
est ce que vous savez si actiona permet de faire une recherche de couleur pixel à l'écran sans avoir a lui donner de coordonnées d'un pixel précis a analysé.

En gros :
> scan l'écran
> recherche pixel de couleur définie
> si couleur trouvée = une action

Cette fonction est disponible de base sur le logiciel jibit macro recorder alors peut être que sur actiona avec la fonction "code" puis un certain code cette fonction est réalisable ?

Salutations
 

kiyoshi666

Membre
Sep 23, 2019
53
6
129
30
Bonjour à tous, je viens vers vous car je butte depuis quelques jours, en gros, mon bot tourne sous actiona, lance des combats, les termines et valide.

Mais il y a un mais, lorsque la ligne de vue est obstruée, la détection ne permet pas de choisir quelle cible le bot vise. J ai réussi a contourner le problème en partie, en reconnaissant les mobs qui ne peuvent être ciblé, mais du coup ma sélection alterne entre 2 cible uniquement et se retrouve par moment bloquée à ne cibler que les unités hors d'atteinte...

J'ai tenter la détection d'image multiple, se qui me donne non plus une coordonnée mais 3 pour 3 mob de cette manière :

Ligne de script 109 : "[
Point {x: 658, y: 364},
Point {x: 1237, y: 200},
Point {x: 979, y: 200}
]" n'est pas une position valide.

Malheureusement, c'est la ou je butte, je n'arrive pas à faire comme un cheminement, ou un clic par position, je ne sais pas encore exploiter ses données en manière groupées.

Tout comme la la suite, j aimerais comprendre comment mesurer une distance entre 2 positions, cela me permettrai de cibler les cibles proches en priorité.

Pourriez vous m'aider ?

Si tu veut vraiment rester sur actionaz ce qui peut se comprendre, là tu fait :
la détection d'image multipl

tu obtiens donc un tableau de valeurs ou arrays peut importe le nom en javascript du style :
Ligne de script 109 : "
[
Point {x: 658, y: 364},
Point {x: 1237, y: 200},
Point {x: 979, y: 200}
]
"

Et si tu veut récupérer la position 1 par exemple il faut alors faire :
data[0] qui te donneras : Point {x: 658, y: 364}

Là en l'occurence tu veut peut être tout testé donc faire une boucle passant en revue chaque élément de ton tableau de valeur et appeler des fonctions ou autres dans la boucle :
data = [
Point {x: 658, y: 364},
Point {x: 1237, y: 200},
Point {x: 979, y: 200}
]
fLen = data.length;


for (i = 0; i < fLen; i++) {

}

Là a l'interieur de la bouclde data va valloir data[0] à la premiere itération puis data[1] etc...

Après en sois actionaz c'est pas mal car tu as la recherche d'image, et certaines chose qui sont assez puissante d'implémenter de base dedans et utilisable sans avoir a coder limite mais ça reste quand même très vite bordélique de faire des projets actionaz. J'en avais fait un aussi de bot rétro dessus, je me déplacer en lisant un fichier .txt et récolter des ressources avec ceci dit le code était long et adapté a un perso sans pouvoir le scalé a N etc... Projet donc totalement arrêté car même si pas détecter il resté vraiment pas ouf mine de rien.

Pour la personne qui a commencé a bosser en python sur son bot je t'es envoyé un MP mais tu peut me répondre ici. Quelle librairies tu utilises sous python pour la reconnaissance d'image, et arrive tu a faire de la reconnaissance d'image a l'intérieur d'une fenetre ou simuler des cliques souris dans une fenetre sans mobiliser la souris? Je commence aussi python mais pour d'autre sujet mais ça m'intéresserais d'en savoir plus sur les méthodesou libs que tu utilises

Post automatically merged:

Bonjour tout le monde,

Je me pose une question :
est ce que vous savez si actiona permet de faire une recherche de couleur pixel à l'écran sans avoir a lui donner de coordonnées d'un pixel précis a analysé.

En gros :
> scan l'écran
> recherche pixel de couleur définie
> si couleur trouvée = une action

Cette fonction est disponible de base sur le logiciel jibit macro recorder alors peut être que sur actiona avec la fonction "code" puis un certain code cette fonction est réalisable ?

Salutations
Oui tu peut, sur actionaz tu peut le faire et tu peut aussi scan une image sur un écran avec un coefficient de confiance via des méthodes de corrélation pour vérifier si a l'intérieur d'une image il y a ton image référence (exemple : si tu cherche un frene par exemple)
Post automatically merged:

Je plussoie valchimiiste , actiona bride très vite mais permet de faire le taff a petite échelle, mon bot combat sur le mono par exemple ne c est toujours pas fait remarquer, il est lent, ne sais pas cibler des mob avec des attaques globales, mais ça me va, je ne cherche pas a farm des million de kama, juste à monter mon lvl quand je suis au taff ou farm une ressource particulière.

Mon post n apporte rien, sauf mon petit plaisir d'avoir réussi à faire un bot sans aucune connaissance en codage, juste par déduction, et voir ton gif faire une recherche de case valchimiiste stimule ma curiosité sur une méthode similaire avec actiona ^^

Le petit code en java d'ailleurs est méga interessant niveau compréhension, je ne connaissais pas la fonction cutoff =)
Après pour un bot combat sous actionaz où si tu as des soucis pour des idées d'algorithmes je serais toi je partirai sur un osamodas pour invoquer des tofus chaque tour ou bouftou, ou des classes genre sadida fourbe dont tu sais très bien quelle seras exactement le tour que tu feras t1 puis toujours passer les tours. Ou sacrieur qui joue CAC full dissolution...
C'est sans doute ce qu'il y a de plus facile a faire. Si tu pars sur du cra / enu je pense que cela va vite devenir compliqué de trouver des lignes de vue.
Post automatically merged:

Merci pour les infos les combats tournent.
Sauf que contre IA fuyarde ca marche pas.
Ton idée de mesurer la distance entre mon perso et le mob permettrai de faire avancer mon perso. Peut-etre que la trajectoire suffit ?

Sinon question pratique, j'aimerai "compiler" mes lignes dans une fonction. Typiquement un code niveau 1 qui ferait référence à des sous-codes niveau 2 "combat", "retour banque", "farm" etc etc

Ça évitera de devoir redéfinir les sorties de mes trouver images lorsque je change une ligne et ca évitera un code de 35 lignes dur à maintenir.

Vous savez comment utiliser les fonctions ?
Si tu reste dans actionaz tu peut faire cela avec Procedure :
pour chaque fonction :
tu vas devoir faire :
Début de procédure
Code
Fin de procédure

Puis pour faire un appel ce seras assez simple : Tu as une fonction dans actionaz => Appel procédure

Je pense que oui typiquement tu peut surement faire assez simplement ce que tu veut faire qui résume un peu la logique des trajets simple des différents bots avec des fonction :
Move_Combat
Move_Only
Move_Recolte
Move_Banque
...

Tu peut imaginer des procédures ou fonctions pour chaque chose que tu veut faire, en revanche les variables qui sont créer dans la procédure ne sont pas accessible en dehors des procédure, sauf exception si la variable est déjà initialiser en dehors de la procédure. C'est a savoir notamment si tu souhaite récupérer la position X, Y pour un clique autre part.

Les procédures se trouve tout en bas. A noter que tu peut aussi lire facilement un .txt pour récupérer des infos genre un txt du genre :
recolte:droite <= ligne 1
combat:gauche
...


A l'aide de la partie : Données
Lire un fichier texte > puis fenetre Avancé lire suivant une variable que tu auras toi même définis
Genre i
et faire une boucle sur cela avec dans la parie Interne : Boucle

Donc tu seras en mesure d'avancer dans ton fichier .txt récupérer l'information de la ligne et apres tu peut simplement utiliser un split en javascript :
var elem = data.split(':');
Donc la dans élément tu auras un tableau :
elem = ['recolte','droite'] <= sur la ligne 1

Donc là tu pourras faire un test sur la variable :
elem[0] via Condition de variable dans actionaz et si c'est recolte appeler la fonction recolte par exemple et une fois finis completement agir sur
elem[1] (en utilisant une boucle) et la condition de variable pour aller map de droite

Tu peut aussi faire une fonction appeler régulierement qui vérifie quand l'affichage passe au noir ou prendre les couleurs de pixels de N pixels avant de partir a droite et quand tu pars a droite tester les coulers des pixels pres selectionner et si un change c'est que tu as changé de map...

Tu peut imaginé a peu près tout et n'importe quoi faut juste bien mettre en forme les idées par contre ce que tu pourras pas faire c'est de l'OCR reconnaissance de texte pour récupérer les coordonnées de la map par exemple avec actionaz car je crois pas que tu puisses utiliser des libs externe tu seras donc bloquer a un moment donné même si tu peut faire des appels cmd via actionaz et donc potentiellement te demerder en appelant du python pour certain truc.

Sinon pour les bugs actionaz j'en ai jamais eu en revanche il faut faire attention car cela peut fermer via une erreur donc il y a des points critiques ou que vous pensez sujet a problème il faudras créer des Exceptions permettant de continuer le code via une autre fonction ou une autre ligne désigné par un label dans le code etc... Car de base en cas de paramètre incorrect donnée a une fonction actionaz stop l'execution, de même pour une erreur de code qui arriveras en cas de bug ou autre. Surtout que si délai écouler actionaz passe a la prochaine action de base et ligne. Donc admettons qu'il ne trouve pas un élément et donc que tu ne récupere pas de position alors il va aller ligne d'après puis tenter de clique sur une variable pas créer donc bug donc stopper l'application. Il faut donc faire très attention par moment;
 
Last edited:
  • Like
Reactions: RoyRoyRoy

fata69

Nouveau membre
Jan 24, 2022
1
0
1
29
Bonjour je sais que ce tuto est ancien mais j’aurai aimé comprendre un peu mieux comment fonctionne la recherche d’image, je m’amuse a essayer d’apprendre à « coder » un bot sur Actiona pour DOFUS.

Après l’introduction, voici mon problème, la reconnaissance d’image me sert à detecter lorsque je met en vente des objets la « Quantité », nous avons 3 possibilité, Quantité 100, Quantité 10, Quantité 1, mais lorsque j’ai 30 ressources a vendre, la recherche d’image de la quantité 100 est détectée…



(j’ai organisé ma recherche d’image de la manière suivante :

« si quantité 100 alors action suivante sinon ligne xx »

ligne xx : « si quantité 10 alors action suivante sinon ligne yy »

Ligne yy: « si quantité 1 alors action suivante sinon fin de code »



Comment faire pour que ma recherche d’image soit plus précise ? Et prenne la bonne image?

Cordialement, sauvez moiiii
 

Sniikerz

Nouveau Marchand
Jan 5, 2017
46
2
439
Hello!

Je cherche un "expert" Actiona pour discuter d'un projet de bot sur un jeu codé en Javascript sur en ligne (environnement Canvas). L'idée serait de faire des déplacements entre différentes "Maps" et de se rendre sur un élément en particulier s'il est disponible et de passer à la map suivante => Même process qu'un bot récolte sur dofus.

J'aimerai avoir quelques conseils avant de me lancer, merci de m'ajouter à ce discord : BlackWeria#4696

à bientot
 

imaaaa

Nouveau membre
Sep 8, 2023
2
0
1
27
Discord
annec3845
Hello
J'en suis moins avancé que toi. je ne peux pas t'aider mais je suis curieux de savoir comment tu lances un combat : avec le recherche image ? impossible chez moi sur 1.29 de trouver le moindre monstre, même en prenant plusieurs images avec le jeu en high et non transparent..
pour suivre ton probleme
J'ai le meme probleme que toi. maintenant que j'arrive a détecter les images enregistrés, mon bot ne veut pas cliquer. Enfin si, il lance la séquence de lancement de combat, de selection de sort et de lancement du sort. Il termine la boucle en relançant la recherche d'image. Cependant le curseur de souris refuse de bouger comme s'il n'était pas détecté.
 

zakS2000

Membre
Aug 4, 2011
48
2
909
31
Hello tout l'monde, je m'incruste dans cette conversation xD. J'aurais besoin d'un pro pour terminer mon script actiona pour du farm monomap