[AutoHotKey] Dialog auslesen (bezogen auf Linie)

  • Hallo,


    ich würde gerne einen Dialog auslesen bzw welche Zeile angeklickt wurde. Nur die Zeile ist mir persönlich wichtig.


    Welche Methoden habe ich ? Der Dialog wird wie folgt erstellt:


    ShowDialog(DIALOG_STYLE_LIST, "Test", "ID`tOrt`tStatus`tEntfernung`n" dialog, "Ok")




    OnDialogResponse(response) {
    global
    caption := getDialogCaption()
    if (response) {
    addChatMessage("Tut")
    if (caption == "Test") {
    addChatMessage("Tut auch")

    if (getDialogIndex() == "1"){
    addChatMessage("Linie 1 wurde gedrückt")
    }
    }else{

    addChatMessage("Tut nicht")
    }
    }else{
    SendInput, {Esc}
    }
    }

    Ich komme immer nur bis " Tut auch"
    Ich würde mich über jede Art von hilfe freuen.


    Mfg

  • Ich weiß natürlich nicht, welche API du nutzt oder welche SAMP Version aber auf der 0.3.7 funktioniert folgendes, wenn du die richtige API dafür hast:


    PHP
    getDialogIndex() {
    	return !checkHandles() ? false : __DWORD(hGTA, dwSAMP, [0x12E350, 0x143]) + 1
    }
  • Ich weiß natürlich nicht, welche API du nutzt oder welche SAMP Version aber auf der 0.3.7 funktioniert folgendes, wenn du die richtige API dafür hast:


    PHP
    getDialogIndex() {
    	return !checkHandles() ? false : __DWORD(hGTA, dwSAMP, [0x12E350, 0x143]) + 1
    }

    Ich verwende die 0.3.7 Version. Allerdings habe ich einen anderen getDialogIndex.



    GetDialogIndex() {
    dwPointer := GetDialogStructPtr()
    if (ErrorLevel || !dwPointer)
    return 0



    dwPointer := readDWORD(hGTA, dwPointer + SAMP_DIALOG_PTR1_OFFSET)
    if (ErrorLevel) {
    ErrorLevel := ERROR_READ_MEMORY
    return 0
    }



    index := readMem(hGTA, dwPointer + SAMP_DIALOG_INDEX_OFFSET, 1, "Byte")
    if (ErrorLevel) {
    ErrorLevel := ERROR_READ_MEMORY
    return 0
    }



    ErrorLevel := ERROR_OK
    return index + 1
    }


    Wenn ich diesen durch deinen ersetze kommt ein Fehler auf.

    Einmal editiert, zuletzt von BreadScript () aus folgendem Grund: Quellcode lesbarer gemacht.

  • Probier's mal so:


  • Probier's mal so:




    Mit dem Code funktioniert es zumindest noch nicht wie es soll. Er zeigt immer den Wert 0 an ganz egal welche Zeile ich anklicke.

  • Ups mein Fehler, eher so:

  • Problem 1 erledigt.


    Nun habe ich noch eine andere Sache, ich würde gerne Daten via PHP Parameter an ein Array übergeben.
    Aktuell gibt es folgendes Array welches keine Verbindung zu den Parametern besitzt.



    garbagesnoop := []
    array[1] := [1335.1686,-1848.7566,13.5169, "Stadthalle"]

    Runterladen tuh ich die Parameter Daten mit

    URLDownloadToVar("domain/blabala.php", result)
    if(result != "0")
    {
    StartSign = %result%
    StringSplit, A_StartSign, StartSign, `:


    nur leider kriege ich sie nicht vernünftig in ein Array rein damit diese mir dann auch ordnungsgemäß im Overlay angezeigt werden kann

    Einmal editiert, zuletzt von BreadScript ()