Ich bekomme selten aber Konstant diesen Fehler in einem WIP FastFind.au3 Pixelsearch Bot und kann den Fehler einfach nicht finden:
Code:
>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\its\bot.au3" "C:\its\bot.au3" (233) : ==> Variable subscript badly formatted.: if _searchPix11($aPixel[$i][0], $aPixel[$i][1],$handle) = $aPixel[$i][2] And _searchPix11 ($aPixel[$i-1][0], $aPixel[$i-1][1],$handle) = $aPixel[$i-1][2] then if _searchPix11($aPixel[$i][0], $aPixel[$i][1],$handle) = $aPixel[$i][2] And _searchPix11 ($aPixel[^ ERROR >Exit code: 1 Time: 447.9
Code:
Func _searchPix11 ($x,$y,$searchhandle) FFSnapShot(0,0,0,0) Sleep (10) global $color=FFGetPixel($x, $y) Return $color EndFunc
Code:
While WinExists ("mein fenster") or WinExists ("mein fenster")
FFSnapShot(0,0,0,0)
;Fängt bei NULL an !!! Zählt bis Max-1
Global $aPixel[104][3] =[[915, 160, 0xCA3E61], [983, 139, 0xFF595A], [933, 177, 0xAB3051], [1017,167, 0xFE4D59], [933,177, 0x181810],[1150,35, 0xBD4563], [1132,333, 0x453333], [378,105, 0xF4D491], [914,193, 0xB23557], [998,176, 0xF3434C],[707,204, 0x473434], [1630,866, 0x9C3CAD], [889,180, 0x9E2644], [973,157, 0xEF464D], [775,428, 0x4B3632],[1208,96, 0xAD3851], [1280,67, 0xF94D54], [1214,83, 0xA22D48], [1279,67, 0xF45C5E], [990,132, 0x822040],[1035,133, 0xF84C55], [1259,77, 0xB13D5E], [934,173, 0xB53157], [1005,146, 0xF2545A], [891,171, 0xB12E54],[969,156, 0xFC5159], [938,173, 0xB03B5C], [1012,159, 0xF64C57], [956,168, 0xB6395B],[1031,149, 0xF1434D],[872,186, 0xBD4163], [946,167, 0xE1494C], [919,163, 0xB13958], [986,157, 0xEC4A52], [964,132, 0xA22D4F],[1028,140, 0xFB4951], [413,172,0xA22D4F], [472,174, 0xF16767], [948,105, 0x862644], [1006,123, 0xEC4A52], [957,186, 0xBB3F61], [1030,161, 0xF8364C], [666,270, 0x443333], [1587,929, 0x9C3CAD], [1046,153, 0xBD4062], [1106,134, 0xE1474C],[730, 189, 0xFFFFFF], [936, 186, 0xFFFFFF],[811, 149, 0x272021], [876, 137, 0xC49457],[975, 250, 0xBB4267], [1051, 241, 0xD44B4A],[1311, 983, 0x993BAA], [874, 22, 0x6B284D], [917, 21, 0x6D294E], [991,19, 0xA4343B], [1011, 39, 0xCD476A], [1108,25, 0xFA494F], [785, 32, 0xB43759], [873,21, 0xE7424F], [1228, 88, 0xA32C44], [1316,83, 0xEB3B46], [1070, 737, 0xBD9284], [1202,828, 0xFFC321], [467, 56, 0xF3D290], [1173,227, 0x443332], [462, 356, 0x251E21], [1092,52, 0x4F493F], [958, 147, 0xAC3051], [1034,157, 0xEE424F], [936, 193, 0xCA3E61], [1016,189, 0xF54854], [974, 177, 0xA02945], [1059,169, 0xF84955], [995, 55, 0xC04263], [1082,35, 0xFD494F], [1318, 411, 0xB03B55], [381,202, 0x926A3A], [1067, 61, 0xBF3C60], [1139,58, 0xF64B59], [812, 361, 0x271F21], [1332,688, 0xDAC3AA], [193, 757, 0x231E11], [121,505, 0x4E4E2B], [995, 573, 0xDEBF9F], [526,221, 0x2A2120], [1060, 98, 0xAF3354], [1146,75, 0xF3454E], [1404, 442, 0xBE3C5E], [1464,414, 0xFA6068], [1085, 94, 0xBF3D5E], [1157,87, 0xEF4551], [1140, 66, 0xCE4163], [1235,61, 0xCE3F3A], [292, 251, 0x292021], [962,612, 0x95A23F], [299, 192, 0x47464B], [464,65, 0xD1934B], [671, 166, 0x292123], [1106,618, 0x845942], [986, 120, 0xA42F51], [1070, 120, 0xF3E598], [906, 106, 0x862544], [ 973, 140, 0xF34450]]
Sleep(100)
If $i=0 Then
$i=UBound($aPixel)
EndIf
$i=$i-1
if _searchPix11($aPixel[$i][0], $aPixel[$i][1],$handle) = $aPixel[$i][2] And _searchPix11 ($aPixel[$i-1][0], $aPixel[$i-1][1],$handle) = $aPixel[$i-1][2] then ; Wenn die Pixel aus der Liste $sPixel übereinstimme. Dann:
While 1
MsgBox (0,"Posi",$i&" "&$i-1&" "&$aPixel[$i][0]&$aPixel[$i][1]&$aPixel[$i][2]&" "&$aPixel[$i-1][0]&$aPixel[$i-1][1]&$aPixel[$i-1][2],2) ;debugbox
;
;
;
;Weiterer if endif code.
;
;
if _searchPix11 (377,83,$handle) = 0x4F484F And _searchPix11 (1570,122,$handle) = 0x3F4358 or 0x39333F Then
ExitLoop
EndIf
WEnd
EndIf
;
;
;weitere für das Problem unwichtiger code
;
;
WEnd
Ich vermute es hat etwas mit der i schleife zu tun, es hatte allerdings einen Grund, dass ich die Schleife manuell einrichten musste. Ich weiß es nichtmehr genau aber es ging nicht anders.
Direkt dazu: Ich habe den großteil meines Codes in einer While 1 Schleife und relativ wenig in Funktionen ausgelagert. Direkt nach der While Schleife, habe ich eine weitere für späteren Code. Auch ganz selten, aber es passiert rutscht die Ausführung in die zweite Schleife. Dann stürzt das Script natürlich ab, weil die Funktionen nicht existieren. Woran kann das liegen? Ich habe keinerlei relevantes Exitloop oder ähnliches (Zumindest bin ich mir sehr sicher) in der Schleife.
EDIT: Ahh habe das problem gefunden weshalb die schleife verlassen wird. alles gut






