[AHK] Problem mit AddChatMessage

  • Hey,


    habe in meinen Keybinder die Funktion addchatmessage eingebaut.


    Wenn ich das Script dann starte sagt er mir dass ich zu viele Parameter habe, was ich nicht verstehe.
    Kann mir jemand sagen an was das liegt?


  • 4:: ;Find [id]
    AddChatMessage(0xFF0000, "Hitman : Bitte die Spieler-ID eintragen und bestätigen.")
    SendInput t/find{space}
    return


    5:: ;Aufträge sehen
    SendInput t/contracts {enter}
    AddChatMessage(0xFF0000, "Hitman : Du hast die Kopfgeld-Liste geöffnet.")
    return



    Meinst du das? :D



    AddChatMessage_func := DllCall("GetProcAddress", "UInt", hModule, "Str", "AddChatMessage")


    oder das?

  • In deiner SAMP_API.ahk sollte sowas wie

    Code
    PATH_SAMP_API := PathCombine(A_ScriptDir, "..\..\bin\Open-SAMP-API.dll")


    stehen.


    Wenn du die Open-SAMP-API.dll, SAMP_API.ahk und dein Script in einem Ordner hast, muss es so aussehen:


    Code
    PATH_SAMP_API := PathCombine(A_ScriptDir, "Open-SAMP-API.dll")


    Wenn du wissen willst, wie und warum das so aussehen muss, einfach auf youtube oder so Tutorials zum Thema Dateipfade anschauen.



    MfG

  • Also willst du die Struktur der SAMP-API beibehalten. Okay.
    Einfach in den Ordner "examples" dann in "AHK" gehen und dort NUR dein Script reinziehen.
    Die Zeile wo irgendwas mit "#Include" steht änderst du zu:

    Code
    #include ..\..\include\AHK\SAMP_API.ahk

    Jetzt sollte rein theoretisch kein Fehler mehr kommen.



    MfG

  • Habe noch ein Problem, ingame wenn ich den Keybind ausführe crasht mein game... also mit gtasa.exe funkt nicht mehr.

    Einmal editiert, zuletzt von Majoe ()

  • 1. Welcher Keybind? -> Code posten
    2. Hast du dein GTA modifiziert? -> z.B. ENB
    3. Kommt eine Fehlermeldung vom Keybinder? -> Schließt sich der Keybinder oder kommt eine MessageBox mit einem Fehler?
    4. Welche Version von SAMP hast du installiert?



    MfG

  • 1.
    5:: ;Aufträge sehen
    SendInput t/contracts {enter}
    AddChatMessage("Hitman : Du hast die Kopfgeld-Liste geöffnet.")
    return


    2. Ja Waffensounds öhm, kein ENB.


    Nein Keybinder schließt sich nicht auch kein Fehlermeldung.


    4. 0.3.7 logischerweise.

  • Das kannst du alles löschen:

    Was du auch entfernen kannst, da du das überhaupt nicht benutzt ist:

    Code
    #UseHook

    Crasht dein GTA auch, wenn du die Taste "1" drückst?



    MfG

  • Ok jetzt werden die Messages gesenedet und es klappt jedoch habe ich noch ein Problem 8o



    Wenn ich jetzt Taste Find benutze ( /find{space} benutze und die ID eintrage ( Zahlen ) , tippt er dabei die anderen Keybinds ein, hast du vielleicht dafür eine Lösung?


    @1337 habe das jetzt gemacht, kriege kein Crash mehr, jedoch habe ich ein anderes Problem.


    Wenn ich jetzt beispielsweise den Keybind /find space benutze wo ich dann direkt die ID eintragen muss, kommen andere Keybinder ins Spiel ( da ich die ID eintrage )... Gibt es dafür eine Lösung?


    Und bei wichtigen ChatMessages würde ich gerne einen Farbcode verwenden, wie mache ich das ohne dass es crasht ? ._.

  • Was meinst du mit "kommen andere Keybinder ins Spiel"?
    Hast du einen anderen Keybinder an, der auf den Command /Find reagiert?



    MfG

  • Also :


    Ich drücke die Taste 4 für SendInput t/find{space}


    Und wenn ich dann die "ID vom Spieler" eintrage bzw. in den Chat eintippe, kommen die anderen Keybinds in Einsatz, weil ich z.B auf 1, 2 ,3 etc. auch Keybinds habe...


    Ich will die ID eintragen ohne dass ein anderer Keybind es stört.

  • Achsoo..
    Um dieses Problem zu lösen, kannst du die Funktion IsChatOpen() benutzen.
    Diese gibt dir den Wert "1" also TRUE zurück wenn der Chat offen ist.
    Einfach folgendes am Anfang des Hotkeys schreiben:

    Code
    if(IsChatOpen())
    	return

    MfG