OnPlayerUpdate - Wirklich ein Resourcenkiller?

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
  • Hallo ihr lieben,
    Ich glaube es steht eine Frage im Raum, zu der es verschiedene Meinungen gibt:


    Ist OnPlayerUpdate wirklich so ein extremer Resourcenkiller?
    Ich persönlich kann mir nicht vorstellen, dass es schlimmer ist als 1-2 Timer die mit ner Schleife extra alle Spieler durchgehen (z.B. für Anticheat, Speedo, etc.)


    Deshalb frage ich euch jetzt:
    Ist OnPlayerUpdate wirklich unheimlich resourcenfressend oder nicht?
    Bitte eure Antwort begründen, etvtl. mit Beispiel/Beweis/WhatEver...





    MfG Firer

  • Ouhh Yes, es ist ein Ressource Schlucker.



    Lass es doch mal debuggen, mit printf, oder SendClientMessage
    Und du wirst merken das,dass nicht so dolle ist.

  • Kommt ganz darauf an, wie du es einsetzt.
    OnPlayerUpdate wird pro Spieler bis zu 30 mal pro Sekunde aufgerufen.
    Das entspricht einem Timer, der alle 33 Millisekunden aufgerufen wird und dabei dann alle Spieler durchgeht.


    OnPlayerUpdate eignet sich meiner Meinung nach nur für AFK-Erkennung (Spieler auf dem Desktop) und für Anticheat-Code. Für alles andere würde ich einen Timer nehmen.


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • Es geht hier ja nicht darum, einen Timer mit einem bestimmten Interval komplett zu ersetzen.
    Es geht darum, die SA-MP Sync (OnPlayerUpdate) für bestimmte systeme zu nutzen, die möglichst mit der Synchronisation des Clienten arbeiten müssen.


    Atrox hat ein AntiCheat als beispiel genannt.
    Ich möchte hier ein weiteres Beispiel nennen, und zwar eine Geschwindigkeits-Abfrage.


    Wenn ein Timer die Geschwindigkeit nur jede Sekunde Checkt, haben die Spieler immernoch eine Sekunde, in der sie keinen festen Wert über ihre Geschwindkeit erhalten.
    Bei Blitzer-Systemen, wo man möglichst genau arbeiten sollte, ist dies wichtig.



    Die Frage ist, ob es bei richtiger verwendung (Anticheats, Antidesktop, etc.) immernoch resourcen-fressender ist als ein Timer, der dann ja leider erst etwas später "Arbeiten" würde.



    //EDIT: Danke Snail, solche Antworten suche ich.
    Also wäre OnPlayerUpdate bei Anticheats, etc. vertretbar oder immernoch zu Resourcenfressend?
    Das ist der Punkt, den ich klarstellen möchte.

  • Solange du nicht übermäßig viele Abfragen reinpackst, sollte es keine Probleme geben.
    Achte aber darauf, dass du unnötigen Code nicht in OnPlayerUpdate ausführst.

    (z.B. Moneyhack: Das muss ja nicht mehr mals pro Sekunde geprüft werden)


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------