ControlSend

  • [autoit]

    Func bla()
    ControlSend ( "Diablo II", "", "", "{Enter} 0 W N 3 D{ENTER}" )
    ControlSend ( "Diablo II", "", "", "{Enter} . . . . . ./´¯/{ENTER}")
    ControlSend ( "Diablo II", "", "", "{Enter} . . . . . ./¯ ./ {ENTER}")
    ControlSend ( "Diablo II", "", "", "{Enter} . .. . . ./. . / {ENTER}")
    ControlSend ( "Diablo II", "", "", "{Enter} . ./´¯`/’. .’/¯`) {ENTER}")
    ControlSend ( "Diablo II", "", "", "{Enter} ./’,/. ./. . /. ./¨/¯\\ {ENTER}")
    ControlSend ( "Diablo II", "", "", "{Enter} (’.(. .´. . ´. .¯´/’. .’) {ENTER}")
    ControlSend ( "Diablo II", "", "", "{Enter} .\\. . . . .\\ . . . . . . / {ENTER}")
    ControlSend ( "Diablo II", "", "", "{Enter} . .\\. .\\. . . . . ._.•´ {ENTER}")
    ControlSend ( "Diablo II", "", "", "{Enter} . . .\\. . . . . . . ( {ENTER}")
    ControlSend ( "Diablo II", "", "", "{Enter} . . . .\\. . . . . . .\\ {ENTER}")
    EndFunc

    [/autoit]

    Der gibt es Irgendwie falsch aus. Vorhin hat es noch Funktioniert. Jetzt sind Fragezeichen und so...

    [Blockierte Grafik: http://img386.imageshack.us/img386/6430/gehtnetnk0.jpg]

    3 Mal editiert, zuletzt von Greek (12. August 2008 um 16:52)

  • ersetz die "´" einfach durch " ' ", dann gehts :D

    Spoiler anzeigen
    [autoit]

    HotKeySet("{numpad2}", "bla")

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

    While 1
    Sleep(100)
    WEnd

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

    Func bla()
    ;~ Send ("{Enter}")
    ;~ Sleep(50)
    ;~ Send(" 0 W N 3 D{ENTER}" )
    Sleep(50)
    Send ( "{Enter}")
    Sleep(50)
    Send(". . . . . ./'¯/{ENTER}")
    Sleep(50)
    Send("{enter}")
    Sleep(50)
    Send (". . . . . ./¯ ./ {ENTER}")
    Sleep(50)
    Send ( "{Enter}")
    Sleep(50)
    Send (". .. . . ./. . / {ENTER}")
    Sleep(50)
    Send ( "{Enter}")
    Sleep(50)
    Send ( ". ./'¯`/'. .'/¯`) {ENTER}")
    Sleep(50)
    Send ( "{Enter}")
    Sleep(50)
    Send ( "./',/. ./. . /. ./¨/¯\\ {ENTER}")
    Sleep(50)
    Send ( "{Enter}")
    Sleep(50)
    Send ("('.(. .'. . '. .¯'/'. .') {ENTER}")
    Sleep(50)
    Send ( "{Enter}")
    Sleep(50)
    Send ( " .\\. . . . .\\ . . . . . / {ENTER}")
    Sleep(50)
    Send ( "{Enter}")
    Sleep(50)
    Send ( ". .\\. .\\. . . . . ._.•' {ENTER}")
    Sleep(50)
    Send ( "{Enter}")
    Sleep(50)
    Send ( ". . .\\. . . . . . . ( {ENTER}")
    Sleep(50)
    Send ( "{Enter}")
    Sleep(50)
    Send ( ". . . .\\. . . . . . .\\ {ENTER}")
    EndFunc

    [/autoit]

    wennst willst kannst du die Sleep(50) Befehle auch entfernen!

  • y schneller senden das dauert zu lange , vl. nen andere befehlt als send oder so

    - die sleeps darf ich net verkürzen dann geht das pro net mehr

    Die Sleeps sind lediglich die Pausen bis es den nächsten Befehl macht.
    Sleep (1000) = 1sec da es in Millisekunden angegeben wird.
    In deinem Fall Sleep (50) = 0,05 sec wartezeit.
    Hier mal mit verkürztem Sleep:

    Spoiler anzeigen
    [autoit]


    HotKeySet("{numpad2}", "bla")

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

    While 1
    Sleep(100)
    WEnd

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

    Func bla()
    ;~ Send ("{Enter}")
    ;~ Sleep(50)
    ;~ Send(" 0 W N 3 D{ENTER}" )
    Sleep(5)
    Send ( "{Enter}")
    Sleep(10)
    Send(". . . . . ./'?/{ENTER}")
    Sleep(5)
    Send("{enter}")
    Sleep(10)
    Send (". . . . . ./? ./ {ENTER}")
    Sleep(5)
    Send ( "{Enter}")
    Sleep(10)
    Send (". .. . . ./. . / {ENTER}")
    Sleep(5)
    Send ( "{Enter}")
    Sleep(10)
    Send ( ". ./'?`/'. .'/?`) {ENTER}")
    Sleep(5)
    Send ( "{Enter}")
    Sleep(10)
    Send ( "./',/. ./. . /. ./¨/?\\ {ENTER}")
    Sleep(5)
    Send ( "{Enter}")
    Sleep(10)
    Send ("('.(. .'. . '. .?'/'. .') {ENTER}")
    Sleep(5)
    Send ( "{Enter}")
    Sleep(10)
    Send ( " .\\. . . . .\\ . . . . . / {ENTER}")
    Sleep(5)
    Send ( "{Enter}")
    Sleep(10)
    Send ( ". .\\. .\\. . . . . ._.?' {ENTER}")
    Sleep(5)
    Send ( "{Enter}")
    Sleep(10)
    Send ( ". . .\\. . . . . . . ( {ENTER}")
    Sleep(5)
    Send ( "{Enter}")
    Sleep(10)
    Send ( ". . . .\\. . . . . . .\\ {ENTER}")
    EndFunc

    [/autoit]


    Edit:
    Achso wenn man den Text direkt einfügen würde wie manuell durch str+v einen kopierten Text würde es natürlich viel schneller funktionieren aber da ich selbst noch nicht wirklich gut in AutoIt bin kenne ich solch einen Befehl nicht und jedes mal minimieren und aus nem Textdokument kopieren würde noch länger dauern ,denke ich zumindest.
    Da man auch Daten auslesen kann ohne zu minimieren halte ich das für machbar.
    Edit2:
    Ja sag doch gleich dass es dann in DIABOLO nicht mehr geht woher soll ich das wissen?

    6 Mal editiert, zuletzt von Hydralisk (9. August 2008 um 21:51)

  • ich habs bei Diablo II :D::D getestet, ich zock selbst

    schneller hab ichs nicht zusammengebracht ...
    und eine schnellere lösung wüsste ich nicht 8|

  • Mal so ne frage, wäre es möglich die nachricht direkt an den sever zu senden?
    Ich hab heute morgen schon mit den TCP funktionen rumgespielt aber ohne erfolg ;(
    das wäre von vorteil dann könnte man während die nachrichten gesendet werden noch die tasten benutzen

    Mfg
    monkey

    Monkey - die finale Potenz von göttlich!
    Sloganizer

  • Das kommt aber drauf an, wenn die Pakete die an das Spiel gesendet werden verschlüsselt sind, hast du da so gut wie keine Chance, dann wirst du aus dem Spiel gekickt.

  • Wie gesagt ich hab heute morgen schon rumprobiert aber ich bin zu keinem Ergebnis gekommen.
    Ich hab erstmal versucht ob ich die sachen sehen kann die von server kommen.

    Hier mein Ansatz

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 299, 251, 193, 115)
    $Edit1 = GUICtrlCreateEdit("", 0, 0, 297, 249)
    GUICtrlSetData(-1, "Edit1")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    TCPStartup()

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

    $id=TCPConnect("host-230.battle.net","4000")

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

    While 1
    $recv=TCPRecv($id, 120)
    $nMsg = GUIGetMsg()
    Switch $nMsg

    Case $GUI_EVENT_CLOSE
    Exit
    Case $recv <> ""
    GUICtrlSetData($Edit1, $recv)

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

    EndSwitch
    WEnd

    [/autoit]


    leider hat das nicht funktioniert^^

    €dit: Hier nochmal die Angaben aus der CMD:
    TCP monkey:1052 host-68.battle.net:6112 HERGESTELLT
    TCP monkey:1056 host-230.battle.net:4000 HERGESTELLT

    Mfg
    monkey

    Monkey - die finale Potenz von göttlich!
    Sloganizer