PixelColor, soucis.

Postez ici si vous avez des difficultés a comprendre une commande, ou a créer une macro.
SPOOT
Messages : 6
Enregistré le : 26 janv. 2015, 13:39

PixelColor, soucis.

Message par SPOOT » 26 janv. 2015, 14:18

Bonjour/Bonsoir,

Tout d'abord merci de m'accueillir au sein du forum de SuperMacro qui j'espère aura les réponses à mes questions ou plutôt à mes problèmes.

Je requière donc votre aide pour l'aide d'un macro plutôt basique mais me posant un soucis assez important.
Je joue donc à un jeu par navigateur ou je cherche à y crée un macro effectuant certaine action à ma place.

En clair, j’attends essentiellement de mon macro via la fonction PixelColor que j'ai télécharger (je préfère le préciser) trouve certaine image sur ma carte de jeu et clique dessus lorsqu'il les voies ou qu'ils continue sa recherche si ils ne trouve pas. Pour que vous compreniez mieux voila à quoi cela doit ressembler :

Image
Ceci s'avère être la mini-carte du jeu ou s’effectueront les déplacements pour une meilleur optimisation des déplacements à travers la carte.

Et voici la page de jeu ou l'avatar qui ici est un vaisseau spatial doit collecter des boites à travers cette carte : Image
Vous y verrez en bas à droite la mini-carte pour les déplacements, le cube de couleur s'avère être la boite à collecter automatiquement.

Pour cela j'ai essayé de nombreuse combinaison plutôt loupé jusqu'à présent puisque le logiciel m'informe qu'une erreur est survenu dans mes codage.

Concernant les déplacements sur la mini-carte ne sachant pas les faire de façon aléatoire ils sont déjà prédéfini pour suivre une sens de rotation précis de cette façon :

Image

Concernant le PixelColor, la ou tous bloque j'ai essayé un codage de ce genre :

Image

Bien évidement mon résultat finalement doit pouvoir accueillir les deux programme dans la même macro.
Si le pixel est trouvé, mon vaisseau clique dessus pour le collecté puis continu à chercher.
Si le pixel n'est pas trouvé, mon vaisseau continu la recherche.

PS : Pourquoi ne pas utilisé la fonction "Trouve Image" ? Tous simplement parce que cette image s'avère être un GIF au format .SWF
La fonction ne reconnais donc pas cette image.

Merci de votre futur aide, à plus tard.

Avatar du membre
Feitan
Site Admin
Messages : 301
Enregistré le : 11 avr. 2014, 15:15

Re: PixelColor, soucis.

Message par Feitan » 26 janv. 2015, 15:50

Salut Spoot, je crois que tu as mal compris comment la fonction Pixel color fonctionne en fait.

En "Position X" et "Position Y" il faut que tu mette des coordonnées (comme dans Move Mouse).

Sinon le reste est bien et ne devrait pas te poser de problème.

Tiens nous au courant en cas de problème.

SPOOT
Messages : 6
Enregistré le : 26 janv. 2015, 13:39

Re: PixelColor, soucis.

Message par SPOOT » 26 janv. 2015, 16:07

Salut Feitan,

Le soucis est que les boites apparaissent de façon aléatoire sur la carte de jeu ne me permettant pas de définir des coordonnés précise. Elles ne se situent malheureusement pour moi jamais 2 fois d'affilé au même endroit.
Du coup, les coordonnées à inscrire son tel à mettre au hasard ?

Avatar du membre
Feitan
Site Admin
Messages : 301
Enregistré le : 11 avr. 2014, 15:15

Re: PixelColor, soucis.

Message par Feitan » 26 janv. 2015, 17:55

C'est carrément plus compliqué là.
En fait tu pourrais faire un balayage de l'écran pixel par pixel mais c'est long (sur un écran en 1920*1080 il y a 2 073 600 pixels et si tu vérifie une position toutes les ms ça te prends environ 20 minutes (même si du coup tu as une chance de trouver le pixel avant).

J'ai pas retesté de balayage d'écran depuis un moment et c'est pas super niveau résultats (dans mes souvenirs). En plus il y a la probabilité que tu tombe sur le même pixel mais ailleurs (même si la probabilité est faible).
Du coup tout dépend de ce que tu recherche en vitesse d’exécution.

Après tu peut aussi faire un balayage dans ta zone de jeu uniquement et ainsi réduire considérablement le temps d' exécution.

SPOOT
Messages : 6
Enregistré le : 26 janv. 2015, 13:39

Re: PixelColor, soucis.

Message par SPOOT » 26 janv. 2015, 20:21

En vitesse d’exécution je ne demande pas la vitesse d’un rafale mais je n'en suis pas loin.
La collecte d'une boite ce fait par un un clique, le vaisseau ce déplace dessus et elle est aussitôt transféré. Ce qui prend le plus de temps sur cette manœuvre et le temps de déplacement du vaisseau vers cette boite et non la récolte en elle même. Après je veut bien que tu m'explique comment faire un balayage de zone voir si je peu y trouver mon bonheur. Autant essayer, sinon tant pis pour moi.

Avatar du membre
Feitan
Site Admin
Messages : 301
Enregistré le : 11 avr. 2014, 15:15

Re: PixelColor, soucis.

Message par Feitan » 27 janv. 2015, 02:10

Donc je te montre la méthode générale, après tu peux l'utiliser dans pour des zones plus réduites.

En gros sur un écran 1920*1080 si on fait un balayage en <X> puis en <Y> on va déclarer deux variables X et Y que l'on va incrémenter au fur et à mesure.

Ça donnera un code comme ça :

Code : Tout sélectionner

Variable	<X>;0;Numerique;
Variable	<Y>;0;Numerique;
Label	<Remise à zéro X>
Calcul évolué	<X>=0
Label	<Boucle>
Calcul évolué	<X>=<X>+1
Examine	<X>;<>;1920;
Goto	<Boucle>
Calcul évolué	<Y>=<Y>+1
Examine	<Y>;=;1080;
Quitter	
Goto	<Remise à zéro X>
En gros tu déclare tes variables.
Ensuite tu crée un moyen de remettre X à zéro quand tu arrive en bout de ligne.
Tu augmente la valeur de X de 1 à chaque tour de boucle pour faire le balayage.
Lorsque X=1920 tu es au bout de ton écran donc tu reviens au début en <X> et tu augmente la valeur de <Y> de 1

Tu vérifie quand même au cas ou que Y n'ait pas atteint sa valeur max (1080), auquel cas tu quitte le programme.

Voilà j'espère qu'il n'y a pas d'erreurs, il se fait tard.
Pense à mettre le temps entre chaque commande de 0 millisecondes dans "Macro" puis "Options" afin de gagner du temps sur ta macro.

Avatar du membre
Onissius
Messages : 745
Enregistré le : 11 avr. 2014, 22:47
Localisation : Lyon (France)
Contact :

Re: PixelColor, soucis.

Message par Onissius » 27 janv. 2015, 10:41

N'oublie pas non plus que si tu cherche une image de 10x10, il va te donner les coordonnée 0,0 de l'image trouvé. Donc si tu veux cliquer au centre de cette image il te faut ajouté 5 pixel en x et en y.
J'ai découvert SM en 99, rapidement Adam m'a promu admin.
Posez vos questions aussi clairement que possible, sans fautes qui piquent les yeux et relisez vous.
Vérifiez sur mon DISCORD si je suis en ligne.

SPOOT
Messages : 6
Enregistré le : 26 janv. 2015, 13:39

Re: PixelColor, soucis.

Message par SPOOT » 27 janv. 2015, 17:41

Le balayage s'avère être bien trop long, tant pis. J'aurai tout de même essayé.
En tous cas je vous remercie de votre aide très rapide et très détaillé, au besoin je reviendrai faire un passage pour que vous m'éclairiez un peu.

Passé une bonne soirée à bientôt.

Avatar du membre
Feitan
Site Admin
Messages : 301
Enregistré le : 11 avr. 2014, 15:15

Re: PixelColor, soucis.

Message par Feitan » 27 janv. 2015, 19:57

Désolé de ne pas avoir pu résoudre ton problème.

A la prochaine ;)

xan2622
Messages : 173
Enregistré le : 11 avr. 2014, 18:15

Re: PixelColor, soucis.

Message par xan2622 » 02 févr. 2015, 17:36

Salut à tous.

Pas de panique messieurs-dames, je vous en prie, pas de panique. :)

Cette macro est tout à fait faisable (j'ai déjà aidé plusieurs personnes pour des recherches de vaisseaux ou pour looter des objets).

Une seule technique à retenir ici : TrouveImage.
Alors, par contre, la macro va être balèze. Avec plusieurs recherches d'images, des tas de <label> et des <examine> à la pelle.

SPOOT : contacte-moi sur skype et je t'aiderai.

Répondre