Beiträge von MX3ver

    nun läuft es flüssig


    ps.: den mousemove hab ich absichtlich auf ; gesetzt
    und die optionalen parameter beim Mouseclick sind auch gewollt.


    da ich das Script in unterschiedlichen ausführungen durchlaufen lassen möchte
    um zu sehen welche ausführung die beste Performence hat.
    auch wenn ich dafür ein anderes script schreiben muss.



    MsgBox (48, "RacingRivals Hotkeytool V 0.9.2","beta enjoi it",5)
    #include <Misc.au3>
    Local $hDLL = DllOpen("user32.dll")



    Global $Paused, $vab, $countdown = 0
    HotKeySet("ü", "TogglePause")
    HotKeySet("{ESC}", "End")
    ;HotKeySet("k", "gas")
    HotKeySet("l", "gear_up")
    HotKeySet("j", "gear_down")
    HotKeySet("a", "start")
    HotKeySet("i", "Nos")



    Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
    sleep(10)
    ToolTip('Pause',0,0)
    WEnd
    ToolTip("")
    EndFunc



    Func End()
    Exit 0
    EndFunc



    While 1 ;gas
    If _IsPressed("4B", $hDLL) Then ; 4b=k
    MouseMove (1400,450, 0 )
    MouseDown ("left")
    While _IsPressed("4B", $hDLL)
    Sleep(10)
    WEnd
    MouseUp ("left")
    ElseIf _IsPressed("1B", $hDLL) Then
    ExitLoop
    EndIf
    Sleep(10)
    WEnd



    func gear_up()
    ;MouseMove (1360,700, 0 )
    MouseClick ("left",1360,700,1,0)
    EndFunc



    func gear_down()
    ;MouseMove (240,700, 0 )
    MouseClick ("left",240,700,1,0)
    EndFunc



    func start()
    ;MouseMove (180,510, 0 )
    MouseClick ("left",180,510,1,0)
    EndFunc



    func Nos()
    ;MouseMove (1400,180, 0 )
    MouseClick ("left",1400,180,1,0)
    EndFunc



    while sleep (10)
    WEnd


    @donkey einen Taschenrechner schreiben klingt für mich schwerer als das da oben.
    wobei übung macht den meister.


    inpunkto mit was simpleren beginnen. ich habe ja eine umschulung zum Zerspanungstechniker (CNC) gemacht.
    als wir in der schule mit den ersten cnc-fräs-grundlagen begonnen haben.
    hatte ich zugleich begonnen mein erstes eigenes fräsprogramm zu schreiben.
    war zwar nur eine kleine gravur mit rund 400 zeilen gewesen aber als ich das programm meinen ausbildner nach nicht mal einer woche gezeigt habe.
    hat der nur mal komisch geschaut, und gefragt was das ist, da es im normalen windoes editor geschrieben war.
    nachdem er es in den simulator eingespielt hatte, konnte er es nicht glauben das ich es geschrieben hatte.
    ein foto und ein paar detailbilder später glaubte er es mir dann erst.


    selbst beim autodesk inventor projekt hab ich gleich mit was großen begonne. mein projekt bestand da auch gleich mal aus über 1500 teilen.
    okay bei dem habe ich aber fast die ganze freizeit reingesteckt

    ahh, desswegen konnte es also nicht funktionieren (irgendwie logisch).
    nun aber mal zur arbeit fahren und danach den script neuschreiben damit ich das gleich mal ein bischen festigen kann.


    wenn ich das dann habe. werde ich wieder in die hilfefunktion schaun obs da auch was gibt zum exe export (aut2exe)
    es ist ja auch machbar das man dort die Dateidetails hinzufügt.
    quasi Dateiversion, produktname,.....usw.


    ne deutsche hilfedatei gibts für autoit vermutlich nicht nehme ich mal an.
    hab bisher bei den sachen die mir im englishen nicht ganz klar waren immer wieder den google übersetzer zurhand genommen auch wenn die übersetztung zum teil dann mühselig zu lesen ist.

    mit



    HotKeySet("{DOWN}", "gas_geben")


    Func gas_geben()
    MouseMove (1400,450, 0 )
    mousedown ("left")
    Sleep (13)
    mouseup ("left")
    EndFunc


    lief es ja nicht flüssig


    mit _ispressed habe ich nun die verschiedensten sachen ausprobiert
    nur kam ich da auf schlechtere resultate
    vermutlich habe ich da irgendwie einen fehler in meiner logik.



    #include <Misc.au3>



    Local $hDLL = DllOpen("user32.dll")



    While 1
    If _IsPressed("51", $hDLL) Then
    ; Wait until key is released.
    MouseMove (1400,450, 0 )
    Mousedown ("left")
    Sleep (100);veränderung des parmaters zeitge keine auswirkung
    While _IsPressed("51", $hDLL)
    MouseUp ("left")
    Sleep(100)
    WEnd
    ConsoleWrite("_IsPressed - Shift Key was released." & @CRLF)




    ExitLoop
    EndIf
    Sleep(250)
    WEnd



    DllClose($hDLL)


    ich denke mal ich mus hier für taste Q einen loop erstellen
    welche dann den mausklick auf meiner gewünschten position solange hält wie ich die q taste drücke
    bin hierbei auf mouseclickdelay gestosen wobei diese option ja lediglich sagt wieviele ms der mausklick gehalten wird,
    also müste ich auf mouseclickdelay eine vaiable legen wobei der dann ja vermutlich dann im ganzeen script dann diesen paramter benutzt

    yaerox.
    ich will ja exakte positionen am bildschirm ansteueren und per tastenklick ausführen
    das funktioniert soweit ja schon ganz gut.
    nur mit einen tastendruck halten welche die gedrückte maustaste simuliert habe ich derzeit noch ein problem.
    früher oder später wird das problem aber sicher auch noch gelöst.


    so oder so, auf alle fälle lernt man was neues dazu.
    vor einer woche hätte ich noch jeden schief angeschaut wenn er gesagt hätte schreib doch ein programm

    hmm mousemove rausgenommen und kordinaten bei mouseclick hinzugefügt
    von

    func Rennstart()
    MouseMove (180,510, 0 )
    MouseClick ("left")
    EndFunc


    geändert zu


    func Rennstart()
    MouseClick ("left"[180,510])
    EndFunc


    fehlermeldung:
    ==> Subscript used on non-accessible variable.:
    MouseClick ("left"[180,510])
    MouseClick ("left"^ ERROR


    mit der Ausführung im spoiler klappt es soweit ganz gut


    einzig und allein an einen problem hab ich noch zu knabbern.
    das gas geben funktioniert nicht flüssig.
    verschiedene Sleepwerte wurden versucht unter 13ms funktionierte es kaum bis garnicht
    mit höheren werten wie zb 25ms ist es sehr schwer handzuhaben.
    beim start hatte ich über facebook in der regel reaktionszeiten zwischen 0,001 und 0,150sec
    nun liege bei jedemstart mit dem script bei etwa 0,3-0,4 sec
    möglicher performancefehler im script oder es liegt beim bluestacks

    die pausen funktion ist beabsichtigt, da ich die tastatur auch für den chat nutze ;)


    hab contolklick mal wieder rausgenommen und staddessen mousemove und mouseklickgenommen
    und das funktiniert soweit wenn ich den hotkey ändere
    jedoch würde ich die pfeiltasten so wie ich es gewohnt war gerne wiederverwenden für die jeweiligen funktionen
    bzw mit welcher eingabe kann ich mit die pfeiltasten als hotkey anwählen.


    teilauszug aus script


    HotKeySet("up", "Nos")


    Func Nos()
    MouseMove (300, 100)
    MouseClick ("left")
    EndFunc


    das funktionierst so nicht gedoch mit


    HotKeySet("i", "Nos")


    funktioniert es



    ganzer script:



    was ich aber noch ändern muss ist die funktion gas geben da der mausklick gehalten werden muss um diese funktion sauber ausführen zu können.
    position wird angefahren und angeklickt wie gewünscht nur muss die klickfunktion gehalten bleiben solange der hotkey betätigt ist.


    achja mousemove und mouseklick ist derzeit zu testzwecken im script und das wird dann später noch verschönert.

    hab mach da mal reingelesen also wie es scheint ist dann controlklick ev. auch nicht zwingend das richtige für mich, wenn dieser dann eigentlich nur auf controllflächen klickt.
    da wird dann vermutlich der mousemove mit anschliesenden mouseklick eher das richige für mich sein. aber mal schaun ev. bekomme ich ja das script fürs game irgendwie gebacken.

    hatte was editiert danach war der line feed im eimer. nach erneuten copy paste war der line feed wieder da.
    vermutlich war das gerade in der zwischenzeit als du den spoiler geöffnet hattest



    im probelauf funktioniert nun schon mal die beendenfunktion
    und die Pausenfunktion :)
    den controlclick muss ich dann morgen mal genauer ansehen damit ich die jeweils richtigen positonen anwählen kann.


    für heute ist dann mal feierabend.
    werde dann morgen weitermachen.

    mit "left", "up", "down", "right" und "q" wollte ich eigentlich die jeweilige funktion per tastertur anwählen
    wodurch dann die jeweils zugeordnete position angeklickt wird.


    spoiler autoit funktion check


    nun muss ich nur noch die jeweiligen funktionen anwählen.
    mal gleich wieder in die F1 verschwinde


    danke Raupi.


    irgendwie, ist mein quellcode inordung da ich exit code:0 bekomme das freut mich ja fürs erste
    aber er läuft nur maximal 0,03 sekunden irgendwas muss ich also noch falsch sein :(
    hab ma testlauf mit F5 gemacht


    einen fehler hab ich schon gefunden
    MouseClick
    zu
    MouseClick ("left")
    geändert

    ich schreibe diesen script da racing rivals über fb nicht mehrspielbar ist und nur noch über mobilgeräte funktioniert.
    die lösung hierzu wäre ja bluestacks, jedoch ist es unmöglich mit der maus zwischen den jeweiligen buttons zu springen, das man ein saueres rennen fahren könnte.



    dies ist mein erstes projekt in der programierung und vermutlich sind in diesen quellcode zuviele fehler das er funktioniert,
    verurteilt mich bitte nich bin noch ein absoluter Noob auf dem gebiet.


    das sind die funktionen die das fertige programm können soll.


    Taste P: script pausieren
    Taste ESC: script ende
    pfeiltaste unten: gas geben (solange taste gehalten wird)
    pfeiltaste oben: Nos aktivieren
    pfeiltaste links: gang runtersschalten
    pfeiltaste rechts: gang hochschalten.


    derzeitiger Status im spoiler


    kordinaten sind derzeit nur volständigkeitshalber eingefügt, da ich die jeweiligen kordinaten noch ermitteln muss.
    für den abschluss des fertigen scripts fehlt mir dann auch noch die info wie ich daraus ne laufende .exe datei machen kann zum testen.


    kanashius auf das angebot werde ich bestimmt zurückkommen.
    einen quellcode für ein scipt von einen anderen spiel habe ich schon gefunden,
    wovon ich nun einige befehle rauslesen kann
    mit diesen kleinen wissen beginne ich nun mal auch wenns bei weiten nicht ausreichend ist.


    ich werde dazu dann auch einen thread erstellen wo ich dann mein voranschreiten inform des ganzen quellcodes hineinkopieren werde.
    wenn du nen tipp hast wo man befehle findet ist das dann sicher auch hilfreich.
    aber mal schaun wie weit ich vorerst mal komme

    hi ich bin der christian bin bein 30 jahre jung/alt.
    mich hat es zu AutoIt verschlagen da ein fb game nun nurnoch auf mobilen geräten verfügbar ist
    es handelt sich hierbei um RacingRivals.
    ich möchte ein script schreiben wodurch es für PC user möglich ist das spiel mit bluestacks weiterhin am pc zuspielen mit einsatz der tastatur.
    da ich jedoch noch 0 ahnung habe von der programiersprache, wede ich dadurch ev. einige male eure hilfe benötgen.


    programiertechnich kenne ich mich zwar mit CNC-sinumerik aus aber das kann ich hier denke ich kaum gebrauchen