[AHK] - Zahlen aus letzter Chatlinie auslesen?

  • Hallo zusammen,


    wie kann man zahlen mit der letzten Chatzeile im SAMP auslesen?


    Wörter weis ich mit

    Code
    if(InStr(chat,"WORT"))


    Beispiel:


    Chatlinie: "Hallo ich gebe dir 200$"


    Da möchte ich jetzt zum beispiel Abfragen ob die Zahl grösser als 100 ist
    wenn ja...


    wenn nein...



    Geht das Irgendwie?


    LG Black

  • Code
    RegExMatch(line, "Hallo ich gebe dir (.*)$", result)
    if(result0 > 100){
        ;Größer 100
    }else{
        ;kleiner oder gleich 100
    }


    Eventuell musst du das Dollarzeichen backslashen, weiß ich grad nicht. Das würde dann so aussehen:


    Code
    RegExMatch(line, "Hallo ich gebe dir (.*)\$", result)
    if(result0 > 100){
        ;Größer 100
    }else{
        ;kleiner oder gleich 100
    }


    Ist beides ungetestet.

  • Beitrag von Black_Mamba ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Code
    RegExMatch(line, "Hallo ich gebe dir (.*)$", result)
    if(result0 > 100){
        ;Größer 100
    }else{
        ;kleiner oder gleich 100
    }


    Eventuell musst du das Dollarzeichen backslashen, weiß ich grad nicht. Das würde dann so aussehen:


    Code
    RegExMatch(line, "Hallo ich gebe dir (.*)\$", result)
    if(result0 > 100){
        ;Größer 100
    }else{
        ;kleiner oder gleich 100
    }


    Ist beides ungetestet.



    Ok jetzt noch eine Frage, wie geht das wenn zum Beispiel steht: "Du hast von Spieler Black_Mamba 200$ bekommen"?
    Der Spielername ist ja dann nicht immer der selbe, wie kann man da die Zahl auslesen?

  • Ich stell hier mal den Code rein, funktioniert irgendwie nicht so wie es sollte :(


  • Du hast mein Beispiel oben leicht missverstanden. ^^


    So sollte es funktionieren.


    Erster Fehler
    Du musst bestimmte Zeichen escapen, weil diese durch die Funktion RegExMatch() reserviert sind und erkannt werden.
    Die zu escapenden Zeichen kannst du dieser Seite entnehmen (unten unter "Remarks").
    http://www.autohotkey.com/docs/commands/RegExMatch.htm


    Zweiter Fehler
    RegExMatch() funktioniert nicht wie die format() Funtkion in PAWN.
    Du kannst nur eine Variable für die Ergebnisse angeben.
    An diese Variable wird immer ein Index angehangen. Dieser richtet sich nach der Reihenfolge im Text.


    In deinem Beispiel würde result0 also die Fischart enthalten und result1 das Gewicht.

  • So, hat noch nicht ganz funktioniert, die results sind nicht 0 und 1 sondern 1 und 2, und ich musste zuerst überprüfen ob result2 eine Zahl ist und wenn ja dann den rest :)


    Aber danke für deine schnellen Antworten


    Jetzt funktioniert es