Beiträge von Madd92

    Das mit dem Permit kann gut möglich sein, ich habe es in einem Hotkey ausprobiert. Wozu das hier gut sein soll, weiß ich auch nicht ^^. Das mit dem ! ist so in Ordnung, das würde nur in einem Hotkey oder ähnlichem als ALT gelten :)

    Nach erfolgreichem Testen dann natürlich mit SendChat ersetzen :)

    Mit Textfeld ist der Chat gemeint? Also wenn du es ohne Endzeichen (Leerzeichen, Punkt etc.) ersetzen willst, dann versuch es so:

    PHP
    :*:{Stadt}::
    	stadt := getPlayerCity()
    	SendInput, %stadt%
    return


    Das funktioniert bei mir.
    Edit: Entschuldige ich habe dich glaube ich falsch verstanden. Wenn du ein GUI Textfeld meinst, dann einfach wie datgame verlinkt hat, StringReplace benutzen :)
    Versuch es mal so:


    PHP
    string := "Ich befinde mich in {Stadt}."
    output := StrReplace(string, "{Stadt}" , getPlayerCity())
    AddChatMessage(output)
    PHP
    Stadt := getPlayerCity()

    Ist ja richtig, du musst dann eben Stadt auch verwenden. Wenn du den Text im Chatfenster ersetzen willst, dann empfehle ich dir, einen Hotstring zu nutzen, z.B.


    PHP
    ::{Stadt}::
    	stadt := getPlayerCity()
    	SendInput, %stadt%
    return

    Ok ich muss mal so dumm fragen, aber weißt du was "Index out of bounds" bedeutet? :) Das bedeutet, dass dein SpielerInfo Array kleiner ist als eine der Variablen, die du als Index benutzt. Daher musst du schauen, wie groß dein SpielerInfo Array ist und welche Werte die pVariablen haben. Beispiel: SpielerInfo[MAX_PLAYERS][10] und pSeller ist 10 oder 12 oder so.

    Achso :D also nichts mit der Registry, ok. Ja genau FileRead/GetChatline + RegExMatch/InStr wird dir da helfen. Am besten die deutsche Dokumentation lesen und dann mal ausprobieren :)

    Ich weiß nicht genau, was du mit der Registry erreichen willst, aber da gibt es natürlich Funktionen für wie RegRead oder RegWrite. Memory auslesen kannst du über DLL-Calls machen, da gibt es bereits Funktionen von Usern im Autohotkey Forum zu finden. Wenn du aber einfach nur den Chat auslesen willst, dann kannst du entweder die Funktion GetChatline der UDF nutzen oder mit FileRead das Chatlog aus dem Userordner auslesen. In die AHK Funktionen kannst du dich ja eigentlich ganz einfach über die Dokumentation einlesen, Tutorials wüsste ich nur zu AHK allgemein.

    1. Am besten du gibst mal ein Beispiel, welcher Code deine Buttons im GUI verschwinden lässt.
    2. Hast du bei den Binds etwas anders gemacht? Ohne den Code können wir nicht wirklich helfen. Statt im Hotkey zu überprüfen, ob du im Chatfenster bist, kannst du allerdings vor den Hotkeys eine If-Direktive benutzen:


    C
    #If !isInChat()

    Das geht einfacher und ist übersichtlicher.
    3. Der Code ist korrekt und funktioniert bei mir auch. Um zu überprüfen, was falsch läuft, könntest du mal UseErrorLevel angeben oder bei dir in der Registry nachschauen, ob der Schlüssel für SAMP überhaupt angelegt ist.

    Dann nutzt du vermutlich SendInput oder ähnliches? Da hatte derjenige mit der dem Tipp zum Griff zur API schon recht. Diese enthält die Funktion SendChat welche die Nachricht direkt an den Server sendet und nicht über das Chatfenster. Damit würde sich dein Problem lösen lassen.

    Bin Anfänger im AHK Scripting ... ist nicht schwer, bekomms trotzdem nicht hin :/ Wenn ich auf Radio 1 gehe soll Hallo kommen auf Taste 1 und bei Radio 2 soll bei Taste 1 Tschauu kommen


    Wenn du die Radio Buttons untereinander schreibst, werden sie automatisch zu einer Gruppe zusammengefasst. Daher brauchst du nur eine Variable und das gLabel kannst du bei allen benutzen.


    Folgende Probleme hab ich noch:


    • Du schreibst im Code SetParam("use_window", "GTA:SA:MP") und im Screenshot unten schreibst du nur window statt use_window. Was ist denn nun korrekt?
    • Beim ausführen des Scripts erhalte ich die Fehlermeldung ==> Too few parameters passed to function. Specifically: worldToScreen(XPOS, YPOS, ZPOS). In der API die ich verwende wäre die Funktion korrekt aufgebaut folgendermaßen WorldToScreen(XPos,YPos,ZPos, x, y). Ich gehe mal davon aus, dass die beiden fehlenden Parameter px1 und px2 sein werden, liege ich da richtig?
    • Im Spiel ist garnichts zu sehen, obwohl ich deine Koordinaten in die Positions.ini kopiert habe. Den Radius hab ich auch schon vergrößert, aber es wird einfach keine Position angezeigt. Das Script funktioniert aber, denn die NumPad0 funktioniert, aber sonst wird nichts angezeigt.


    Und eine kleine Frage hab ich noch, welche nun eigentlich völlig unabhängig von diesem Script ist:
    Die API-Funktion IfIsPlayerInRangeOfPoint nutzt ja eine Range, was also eine Distanz zu einem Punkt bedeutet. Das bedeutet doch es müsste theoretisch möglich sein, sich die Distanz zu einem Punkt auch einfach als Zahl ausgeben zu lassen. Egal wie.. ich möchte die Distanz zu einem beliebigen Punkt nur einfach als Zahl ausgeben.

    Du könntest ja die IsPlayerInRangeOfPoint Funktion einfach editieren. Allerdings bringt die SAMP UDF auch die Funktion getDist mit, welche die Distanz zwischen zwei Punkten (Parameter als Float-Arrays) im dreidimensionalen Raum berechnet.