Brauche hilfe, beim Umschreiben, weiss nicht so recht ob alles richtig ist

  • Hätte das gerne noch vereinfacht...also, unnutz raus/umschreiben...hätt jmd. ne idee?
    Funktio:guckt ob Die farbe da ist, wenn die maus sich auf dem feld bewegt..Aber kann man eig raus erkennen (Pixelsearch..

    Spoiler anzeigen
    [autoit]


    $xident = 36
    $yident = 284
    $kasten = 0

    [/autoit] [autoit][/autoit] [autoit]

    func funktion()

    [/autoit] [autoit][/autoit] [autoit]

    $cident = 1

    [/autoit] [autoit][/autoit] [autoit]

    while $cident < 5
    If $kasten > 4 then ExitLoop
    mousemove($xident,$yident)

    [/autoit] [autoit][/autoit] [autoit]

    sleep($t)
    pixelsearch(0,0,1024,768, 0xEDBA44)
    If not @error then
    Beep(100,100)
    Else
    MouseClick("left",186,722,2)
    MouseClick("left",$xident,$yident)
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If $cident > 3 Then
    $xident = $xident +36
    $yident = 284
    $kasten = $kasten + 1
    funktion()
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $yident=$yident + 44
    $cident = $cident +1

    [/autoit] [autoit][/autoit] [autoit]

    wend

    [/autoit] [autoit][/autoit] [autoit]

    $xident = 36
    $yident = 284
    $kasten = 0
    EndFunc

    [/autoit]

    2 Mal editiert, zuletzt von Valvepro (18. November 2007 um 15:16)

  • Spoiler anzeigen
    [autoit]

    func funktion($xident=36,$yident=284,$kasten=0)
    Local $cident = 1
    while ( $cident < 5 ) And ( $kasten > 4 )
    mousemove($xident,$yident)
    sleep($t)
    pixelsearch(0,0,1024,768, 0xEDBA44)
    If not @error then
    Beep(100,100)
    Else
    MouseClick("left",186,722,2)
    MouseClick("left",$xident,$yident)
    EndIf
    If Mod($cident,4)=0 Then
    $xident +=36
    $yident = 284
    $kasten += 1
    $cident = 1
    EndIf
    $yident +=44
    $cident +=1
    wend
    EndFunc

    [/autoit]


    Ich hoffe $t ist eine Konstante.
    edit: Die Könner in diesem Forum können das sicher noch viel weiter verkürzen :P

    2 Mal editiert, zuletzt von Wesloth (18. November 2007 um 16:17)

  • Hi,

    kleinere Änderungen:
    1. Sleeptime im Funktionskopf.
    2. Prüfung zuerst auf @error und nicht auf not @error.
    3. Prüfung auf Not Mod und nicht Mod = 0.
    4. PixelSearch nun mittels Makros @Desktop... (für andere Auflösungen)
    5. MouseClick nun sofort (letzter Parameter = 0).
    6. Code einmal "getidyed".

    Spoiler anzeigen
    [autoit]

    Local $i_xval = 36, $i_yval = 284, $i_boxval = 0

    [/autoit] [autoit][/autoit] [autoit]

    Funktion($i_xval, $i_yval, $i_boxval)

    [/autoit] [autoit][/autoit] [autoit]

    Func Funktion($i_x, $i_y, $i_box, Const $I_SLEEP = 500)
    Local $i_id = 1

    [/autoit] [autoit][/autoit] [autoit]

    While $i_id < 5 And $i_box > 4
    MouseMove($i_x, $i_y, 0)
    Sleep($I_SLEEP)
    PixelSearch(0, 0, @DesktopWidth, @DesktopHeight, 0xEDBA44)
    If @error Then
    MouseClick("left", 186, 722, 2, 0)
    MouseClick("left", $i_x, $i_y, 1, 0)
    Else
    Beep(100, 100)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If Not Mod($i_id, 4) Then
    $i_x += 36
    $i_y = 284
    $i_box += 1
    $i_id = 1
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $i_y += 44
    $i_id += 1
    WEnd
    EndFunc ;==>Funktion

    [/autoit]

    Einmal editiert, zuletzt von teh_hahn (18. November 2007 um 20:15)