[R]Subscript used with non-Array variable

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
oxley
Niveau 2
Niveau 2
Messages : 16
Enregistré le : ven. 11 sept. 2009 20:10
Status : Hors ligne

[R]Subscript used with non-Array variable

#1

Message par oxley »

Bonjour,

J'ai un problème avec cette partie de code.

Code : Tout sélectionner

$pixelnoir=PixelSearch($x,$y,$x+10,$y+100,0x000000)

            If Not @error Then
            $couleurpixelnoir= PixelGetColor($pixelnoir[0],$pixelnoir[1])
            $couleurHexapixelnoir=Hex($couleurpixelnoir,6)
            EndIf


            If  $couleurHexapixelnoir="000000"  Then

            MouseClick ("left",$pixelnoir[0],$pixelnoir[1])
            Else
            ;action
            $cpt=1
            MouseClick ("left",$action_x,$action_y)

            EndIf
Subscript used with non-Array variable.:
MouseClick ("left",$pixelnoir[0],$pixelnoir[1])
MouseClick ("left",$pixelnoir^ ERROR



J'ai déclaré le tableau de cette façon

dim $pixelnoir[1], mais toujours la même erreur, des qu'il trouve pas le pixel il bug :(

comment faire?

Ce qui me trouble le plus c'est que j'ai un bout de code du même genre dans le script qui ne bug pas, de plus le tableau est même pas déclaré alors je pige pas :(

J'avais un script parfait mais j'ai modifié sans garder une copie et donc... j'ai toujours l'exe, c'est possible de retrouver la source peut être?
Modifié en dernier par oxley le jeu. 10 déc. 2009 14:57, modifié 1 fois.
JIF
Niveau 6
Niveau 6
Messages : 219
Enregistré le : mer. 04 févr. 2009 20:07
Localisation : 84
Status : Hors ligne

Re: [..]Subscript used with non-Array variable

#2

Message par JIF »

Oui tu peut retrouvé la source d'un exe Autoit :mrgreen:.
par contre je ne sais pas si je suis autorisé a te donné le nom du programme ou le programme sur le forum. Demande au admin ou au modo.

Pour ton problème de pixels je te propose plutôt de passé par une boucle For. Sa passera a la suite de ton scripte en cas de bug. sa te permettra par la suite de mettre si tu veux un antit-buge.

Code : Tout sélectionner

For $dectectionpixel = 1 To 99999 Step 1
$coord = PixelSearch(x1, y1, x2, y2, 0x000000)
If Not @error Then
; Code a exécute si il détecte la couleur
ExitLoop1    ; On sort de la boucle
EndIf
$coord = PixelSearch(x1, y1, x2, y2, 0x000000, 30) ; le 30 représente la tolérance. (a 30 sa fonctionne sur Internet explorer et Mozzila Forefox)
If Not @error Then
; Code a exécute si il détecte la couleur
ExitLoop 1 ; On sort de la boucle
EndIf
Next
; Suite du code
Les x1, y1, x2, y2 : représente les coordonné de ta zone de recherche en partant de la gauche et du haut vers le bas et la droite.
Dans l'exemple si dessus lorsque la boucle fort sera a 0 elle passera a la suite du code en sautant le code a exécute si ton scripte détecte le pixels. Ici le temps de détection est de "99999", tu peut le baissé ou l'élevé selon ta convenance.

Ps : Un conseille enlevé la partit écrite en rouge de ton sujet et mes la dans une balise de code même si on a compris que c'est l'erreur que te retourne ton scripte.
Je te dit sa car je me suis déjà fait allumé a cause de sa.
Cordialement JIF,
periaz
Niveau 4
Niveau 4
Messages : 89
Enregistré le : sam. 25 avr. 2009 11:52
Status : Hors ligne

Re: [..]Subscript used with non-Array variable

#3

Message par periaz »

JIF, il existe un moyen de décompiler un exe en au3 en passant par un logiciel externe a AutoIt ?
JIF
Niveau 6
Niveau 6
Messages : 219
Enregistré le : mer. 04 févr. 2009 20:07
Localisation : 84
Status : Hors ligne

Re: [..]Subscript used with non-Array variable

#4

Message par JIF »

Oui, c'est possible ! Mais a mon avis on à pas le droit de donner le nom du programme ou le programme luis même sur le forum. Demander au Admins ou au Modo.

http://www.autoitscript.fr/forum/viewto ... f=3&t=1192
Cordialemant JIF,
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..]Subscript used with non-Array variable

#5

Message par Tlem »

Votre code est faux. Il devrait être comme ceci afin de prendre en compte l'erreur jusqu'au bout :
► Afficher le texte
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre