[AHK] SAMP Chat String Länge Limit (128?)

  • Ich habe mal eben ne Frage, zu dem Limit, der Länge, eines Strings im Chat...
    Das Maximale Limit ist ja 128... Sooo


    Gehen davon schon die länge des Timestamps weg? [18:08:56] = 10 Zeichen 
    Hat man also statt 128 nur 118 Zellen zur verfügung oder sind die schon abgezogen?


    Und wie sieht das mit dem Serverseitig gescripteten aus,
    Wenn man im Chat etwas schreibt, auf den meisten Servern, steht da ja K-9 sagt: Bla Bla Bla also PreFix:Chatausgabe
    Muss ich das PreFix  auch noch abziehen von der Maximalen Stringlänge?


    Also zb.
    MaxChatStringSize - PreFix - TimstampSize
    128 - 9 - 10 = 109
    Hätte ich dann sozusagen 109 Zellen des Strings übrig den ich frei befüllen kann?


    Sry für die Noobfrage :D Aber hab dazu grad nix gefunden^^
    Hoffentlich ist es verständlich, finde es selbst ein wenig verwirrend...

  • Ja, du hast recht, aber das ist wenn du von SAMP ausgehst, da dieses dort begrenzt ist.
    Wenn wir beim AHK bleiben, steht dir eig alles offen?


    Dort ließt du ja die Pointer aus. Allerdings glaube ich, dass ein Timestamp extra abgefragt werden muss?
    Wie dem auch sei, ein Pointer, bei AHK 64 Bit, ist glaube ich eine Hexadezimalzahl?


    Also "18,446,744,073,709,551,615" Zeichen kann der Inhalt groß sein oder?


    Ein String wird dann glaube ich in Bytes formatiert und dann in diesen Pointer gesendet?


    Würde mich sehr interessieren, wenn noch paar Leute mit diskutieren.

  • Wenn wir beim AHK bleiben, steht dir eig alles offen?

    Nein.


    Dort ließt du ja die Pointer aus.

    Das wird wahrscheinlich so sein. Hab generell kein plan von AHK selbst da mir die Sprache nicht gefällt.


    Generell kannst du aber sicher nicht wir auf Pointern rumschreiben.
    Pointers Zeigen auf einen "Punkt" im Memory.
    Für einen String wird generell Speicher reserviert. Du kannst nicht einfach in einen Speicher wo ein String für 128 Zeichen Reserviert würde 129 reinschreiben. (Welp man kann aber achtung)
    Im schlimmsten fall führt das zum crash.
    Im besten fall schreibst du in SA-MP vielleicht in die nächste Chat Zeile der History

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Ja genau, aber ein Pointer wird doch auf keinen String direkt weisen können oder?

  • Ja genau, aber ein Pointer wird doch auf keinen String direkt weisen können oder?

    Pointer direkt nicht, aber die verweisen doch auf die Adresse, worin ein String enthalten sein kann, oder irre ich mich da?
    Habe noch nie soviel mit Pointern gearbeitet...


    Zu meiner eigentlichen Frage...
    Per AHK mit SendChat kann ich 128 Verwenden, heisst PreFix+TimeStamp wird intern von SAMP abgezogen um auf das String Limit von 128 zukommen...


    Hier mal die Funktion falls sie jemand braucht...
    Damit kann man String die weit über 128 Zeichen haben, in kleine 128er Häppchen teilen und im Chat ausgeben lassen....
    Beispiel:


    Funktion

  • Das Maximale Limit ist ja 128... Sooo

    Das ist nicht korrekt, Der Chat hat ein Limit von 144 Cells - in PAWN sind 144 Cells = 512 Bytes und ein Zeichen entspricht 4 Bytes. Also kommt man etwa auf ein Limit von 144 Zeichen.
    Die Texteingabe hat ein Limit von 128 Cell, also etwa 128 Zeichen.


    Was die Rechnerei mit dem Timestamp angeht, ich bin mir nicht wirklich sicher, ob das überhaupt mit zu den 144 Zeichen gerechnet wird.
    Tendiere aber eher zu nein - würde es an deiner Stelle einfach mal ausprobieren.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Das ist nicht korrekt, Der Chat hat ein Limit von 144 Cells - in PAWN sind 144 Cells = 512 Bytes und ein Zeichen entspricht 4 Bytes. Also kommt man etwa auf ein Limit von 144 Zeichen.Die Texteingabe hat ein Limit von 128 Cell, also etwa 128 Zeichen.


    Was die Rechnerei mit dem Timestamp angeht, ich bin mir nicht wirklich sicher, ob das überhaupt mit zu den 144 Zeichen gerechnet wird.
    Tendiere aber eher zu nein - würde es an deiner Stelle einfach mal ausprobieren.

    128 = Max Zeichen bei Texteingabe alles was darüber geht wird als ERROR = Leerer String zurückgegeben
    Der Timestamp ist lokal, er wird daher nicht mit einberechnet in die Eingabegröße von 128 Zeichen.


    Das einzige was ich noch nicht getestet habe ist das mit dem Prefix:Chatausgabe
    Wobei ich denke das man es mit einberechnen muss...
    Also MaxChatSize - PlayernameSize - (Leerzeichen&Doppelpunkte etc)
    werde das gleich mal auch mal checken...


    Wenn wir beim AHK bleiben, steht dir eig alles offen?

    Nein du bist auch auf das Limit beschränkt^^ Kannst ja nich 6L Wasser in nen 5L Eimer füllen :D
    Du kannst es natürlich Lokal machen, ja dann sieht das ein wenig anders aus, aber dann nütz es einem nichts für zb. "Normale Chats"