Problème touver image

Vous voulez de l'aide ? Postez ici :)
Post Reply
Royaliste
Posts: 1
Joined: 13 Oct 2012, 11:38

Problème touver image

Post by Royaliste »

Bonjour, je veux faire un bot dofus, je pense savoir le faire entièrement, mais un problème majeur susbiste.

Je veux que le bot reconnaisse les coordonnés des maps, pour ensuite éxecuter le script de coupage de bois de cette map. Pour cela, je fais une impression écran, je rogne l'image pour avoir les coordonnés, mais après, je sais pas quoi faire....
Je voudrais que sa face sa en gros :
-Si les coordonnés sont bons, éxécuter srcipt de cette map
-Si les coordonnés sont faux, passer ligne d'après pour en chercher d'autres, et au final, il trouvera les bons coordonnés.


Merci

Royaliste
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

Re: Problème touver image

Post by Jmgr »

Cette question a été résolue sur le Site du Zéro via message privé, voici quelques éléments de réponse :
L'action Trouver image permet de rechercher une image sur l'écran. Il faut pour cela avoir une image à chercher, en général découpée à partir d'une capture d'écran générée avant l'exécution du script.

Si tu dois récupérer l'image à chercher de manière dynamique alors c'est plus compliqué : il te faudra utiliser du "Code", c'est-à-dire du Javascript pour aller récupérer l'image à chercher. (il te faudra tout de même connaître ses coordonnées)
Pour récupérer une capture d'écran en code : http://wiki.actionaz.org/doku.php?id=f [...] akescreenshot
Pour rechercher une image en code : http://wiki.actionaz.org/doku.php?id=e [...] #findsubimage
Quand tu dis "exécuter un programme", tu veux dire démarrer un autre logiciel, ou bien une suite d'actions avec Actionaz ? Dans le premier cas tu peux utiliser l'action Commande ou Commande détachée. Dans le second cas je te conseilles d'utiliser les trois actions "Procédure" qui vont te permettre de grouper des actions ensemble et de les appeler en temps voulu.

L'action Trouver image est actuellement assez mal conçue, je dois l'admettre... Pour l'instant le seul moyen de savoir que l'image n'a pas été trouvée est d'utiliser l'exception "Impossible de trouver l'image" et de choisir "Aller à une ligne". Comme ça si l'image n'est pas trouvée tu peux sauter à la ligne qui va tester l'image suivante. Si l'image est trouvée alors l'action suivante est exécutée.
*
Pour générer un nom unique tu peux utiliser un hash md5 :

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actionaz" version="3.4.2" scriptVersion="1.0.0" os="GNU/Linux"/>
    <actions>
        <action name="ActionVariable" version="1.0.0"/>
        <action name="ActionMessageBox" version="1.0.0"/>
        <action name="ActionGoto" version="1.0.0"/>
    </actions>
    <parameters/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionVariable">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <parameter name="colorValue">
                <subParameter name="value" code="0">::</subParameter>
            </parameter>
            <parameter name="variable">
                <subParameter name="value" code="0">input</subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">integer</subParameter>
            </parameter>
            <parameter name="value">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
            <parameter name="positionValue">
                <subParameter name="value" code="0">:</subParameter>
            </parameter>
        </action>
        <action name="ActionMessageBox">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="windowIcon">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="message">
                <subParameter name="value" code="1">++input;
Algorithms.md5(input);</subParameter>
            </parameter>
            <parameter name="title">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="textMode">
                <subParameter name="value" code="0">automatic</subParameter>
            </parameter>
            <parameter name="ifYes">
                <subParameter name="line" code="0"></subParameter>
                <subParameter name="action" code="0">do_nothing</subParameter>
            </parameter>
            <parameter name="customIcon">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="icon">
                <subParameter name="value" code="0">none</subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">ok</subParameter>
            </parameter>
            <parameter name="ifNo">
                <subParameter name="line" code="0"></subParameter>
                <subParameter name="action" code="0">do_nothing</subParameter>
            </parameter>
        </action>
        <action name="ActionGoto">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="line">
                <subParameter name="value" code="0">2</subParameter>
            </parameter>
        </action>
    </script>
</scriptfile>
"My software never has bugs. It just develops random features."
Post Reply