Alle Tasten bei SA:MP

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Zum Plugin:

    Zitat

    This is a SERVER-ONLY key detection plugin. it detects only if the keys are pressed on the SERVER and not clients. This will NOT detect keypresses from people's games.


    Nein ist leider nicht möglich alle Tasten abzufragen, nur die vorgegebenen.


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • Was hat das bitte mit Traffic zu tun?

    Irgendwie muss der Server schließlich auch mitbekommen, welche Taste welchen Status (gedrückt/nicht gedrückt) besitzt. Diese Information wird bei jedem OnPlayerUpdate() aktualisiert. So funktioniert es zur Zeit auch, bloß nur mit den Steuerungstasten.


    Möchte man beispielsweiße den Status von 128 Tasten wissen, so bräuchte man 16 Bytes, die man dann mit einer Bitmaske (wie bisher) auslesen könnte.
    Sendet ein Spieler im Durchschnitt 20 mal pro Sekunde ein Update, so ergäbe dies einen Traffic von ~0,31 kB/s (Upload).


    (Für jede Taste einzeln eine Anfrage an den Clienten zu schicken wäre wirklich unsinnig)

  • Irgendwie muss der Server schließlich auch mitbekommen, welche Taste welchen Status (gedrückt/nicht gedrückt) besitzt. Diese Information wird bei jedem OnPlayerUpdate() aktualisiert. So funktioniert es zur Zeit auch, bloß nur mit den Steuerungstasten.


    Möchte man beispielsweiße den Status von 128 Tasten wissen, so bräuchte man 16 Bytes, die man dann mit einer Bitmaske (wie bisher) auslesen könnte.
    Sendet ein Spieler im Durchschnitt 20 mal pro Sekunde ein Update, so ergäbe dies einen Traffic von ~0,31 kB/s (Upload).


    (Für jede Taste einzeln eine Anfrage an den Clienten zu schicken wäre wirklich unsinnig)


    Mag sein, aber viele Spieler nutzen auch alle Tasten und es gibt überhaupt kein Problem (MTA glaub ich auch)


  • Mag sein, aber viele Spieler nutzen auch alle Tasten und es gibt überhaupt kein Problem (MTA glaub ich auch)

    1. 0,31 kB/s ist nicht unbedingt viel, machbar wäre es und sonderliche Latenzen sollten auch nicht auftreten.
    2. Die Funktion GetKeyState() von MTA gibt es nur für clientseitige Scripte, die SA:MP nicht unterstützt.

  • Der Client-Uploade dürfte doch aber nur dann mit 0,36 KB/s belastet werden, wenn wirklich 128 Tasten gleichzeitig gedrückt werden.
    Man könnte ansonsten ja einfach ein Packet mit dem Key dessen Status sich geändert hat an den Server senden.
    Ne wirkliche Belastung für den Clienten und Server dürfte dabei nicht entstehen.


    Ich hab mich aber auch nie näher mit sowas befasst.
    Es kann sein dass ich mich irre, es müsste in der Theorie aber funktionieren alle, sagen wir mal 50ms ein Paket mit den Keys, die sich geändert haben an den Server zu schicken.

  • Der Client-Uploade dürfte doch aber nur dann mit 0,36 KB/s belastet werden, wenn wirklich 128 Tasten gleichzeitig gedrückt werden.

    Wenn man wirklich mit einer Bitmaske arbeiten will, wie es zur Zeit auch funktioniert, dann müssen diese 16 Bytes wirklich immer übertragen werden. Wenn ich nur 1 Byte (8 Bits => 8 mögliche Tasten) übertrage, wie soll der Server wissen welche Tasten damit gemeint sind? (Ja, es gibt unschöne Möglichkeiten)

    Zitat

    Man könnte ansonsten ja einfach ein Packet mit dem Key dessen Status sich geändert hat an den Server senden.
    Ne wirkliche Belastung für den Clienten und Server dürfte dabei nicht entstehen.

    Unnötig, da es aktuell schon so ist, dass bei jedem neuen Tastendruck der Client ein neues Update mit allen Informationen wie Position, Fahrzeug oder gedrückte Tasten an den Server schickt. Da können dann einfach diese 16 Bytes (nur als beispiel, 8 Bytes (64 Tasten) oder so würden auch schon ausreichen) drangehängt werden.

  • *Auch teil hab will*
    Es wäre keine große Netzwerk Auslastung, da man noch bedenken könnte das man nur die benötigten Tasten vom Client an den Server senden lässt ( Native für die Registrierung einer Taste ).


    So ein Plugin könnte man erstellen benötigt aber ein Extra Client- Plugin.


    Und ehrlich seit wann achtet denn "der" SA:MP Entwickler auf die "Wünsche" der zahlreichen Spieler ?