wiso unterschiedliche keydown zeiten?

  • Huhu bin relativ neu hier ;)

    ich habe folgendes problem

    ich würd gerne ein quadrat in meinem bildschirm nach der farbe weiss untersuchen jedoch weiss ich die koordinaten des quadrates nicht ..

    $bla = PixelGetColor ( x, y )


    jetz müsst ich x , y herausfinden wie mach ich das?

    desweiteren müsst ich wissen wie ich da das weiss einbringe?

    und wie ich dan das script starte

    und vorallem nach ausführen des scriptes wider beende und es erst wider ausgeführt wird nach dem die farbe wider gefunden wurde wider ausgeführt wird.

    das script das dan startet sollte aussehen

    keydown "W" 4 sekunden
    keydown "a" 0,4 sekunden
    keydown "w 4 sekunden
    keydown "d" 0,4 sekunden
    keydown "w" 30 sekunden"
    keydown "f" 1 sekunde


    könnt mir bitte jemand helfen? hab das mit dem scripten leider noch nicht so im girff :/ hoffe jedoch das kommt noch :=)

    EDIT: Lest im untersten Post nach!

    Einmal editiert, zuletzt von boonkelz (21. Dezember 2006 um 21:01)

    • Offizieller Beitrag

    Hallo und herzlich :willkommen:

    Fensterkoordinaten kriegst du mit WinGetPos raus!

    Habe dir mal ein bsp skript geschrieben das das macht was du willst :) (glaub ich jdnfalls^^ )

    Spoiler anzeigen
    [autoit]

    $farbe = 0xffffff ;Rot: FF Grün: FF Blau: FF (hexidezimale zahlen also ff ist das höchste!)
    $name_des_fensters = "" ;Hier musst du den namen des Fensters eintragen wessen koordianten du haben willst
    $wgp = WinGetPos($name_des_fensters) ;Hier wird die Position des Fensters ermittelt und in einem Array zurückgegeben.

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

    While 1
    $ps = PixelSearch($wgp[0],$wgp[1],$wgp[2],$wgp[3],$farbe);$wgp[0] = X, $wgp[1] = Y,$wgp[2] = Breite,$wgp[3] = Länge, $farbe = die farbe (oben definiert)
    If Not @error Then _KeyDown();Wenn kein error, also die farbe existiert, dann soll er das "Script" ausführem (also die funktion!")
    Sleep(200)
    WEnd

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

    Func _KeyDown()
    ;Hier werden die "KeyDowns" (in autoit Send) erstellt:
    Opt("SendKeyDownDelay",4000);Wie lange die taste untenbleiben soll! Die Zahl (4000) muss in Millisekunden angegeben werden also sind 4000ms=4sek!
    Send("W");W
    Opt("SendKeyDownDelay",400)
    Send("a");a
    Opt("SendKeyDownDelay",4000)
    Send("w");w
    Opt("SendKeyDownDelay",400)
    Send("d");d
    Opt("SendKeyDownDelay",30000)
    Send("w");w
    Opt("SendKeyDownDelay",1000)
    Send("f");f
    EndFunc

    [/autoit]

    Mfg Spider

  • hmm danke für die schnelle antwort ich probier das gleich mal aus!
    hab mir in zwischenzeit selber mal etwas gebastelt kannst du das mal kurz überprüfen? bitte ;)

    opt("MouseCoordMode", 0)
    opt("PixelCoordMode", 0)

    While 1
    If PixelGetColor( 838 , 896 ) = 0x1D507A Then
    Send("{w down}") ; 2 sekunden W
    sleep(2000)
    Send("{w up}")
    Send("{a down}") ; 0,5 sekunde A
    Sleep(500)
    Send("{a up}")
    Send("{w down}") ; 4 sekunden W
    Sleep(4000)
    Send("{w up}")
    Send("{d down}") ; 0,5 sekunden D
    Sleep(500)
    Send("{d up}")
    Send("{w down}") ; 20 Sekunden W
    Sleep(20000)
    Send("{w up}")
    Send("{7 down}") ; 1 Klick auf 7
    Send("{7 up}")

    ;ExitLoop
    Endif

    WEnd


    müsste meiner meinung nach die farbe überprüfen von einem pixel wen die stimmt dan das script auslösen oder?

    edit: wie mach ich den spoiler?^^

    5 Mal editiert, zuletzt von boonkelz (21. Dezember 2006 um 16:07)

    • Offizieller Beitrag

    Hallo!

    Sleeps werden in Millisekunden eingegeben also nicht mal 100 sondern mal 1000^^ also Sleep(4000) = 4sek! Ansosnten funktiniert das Skript!

    [autoit]

    Send("{7 down}") ; 1 Klick auf 7
    Send("{7 up}")

    [/autoit]


    ist auch überflüssig das is das gleiche wie Send("7")!

    Mfg Spider

    @Spoiler:

  • kuul hab mein script grad ausprobiert mit den angepassten zeiten von dir danke viel mal für die hilfe! und den spoiler button hab ich wohl übersehen xD!

    danke noma! hast du zufällig icq? oder msn? skype?

  • hmm hab jetz n neues problem

    das script sollte bewirken das ich im game wohin laufe... jedoch wird jedesmal unterschiedlich lang der key gedrückt obwohl ich die zeiten nicht verändere das heisst er dreht sich einmal mehr einmal weniger.. woran kann das liegen?