Zu viele Removeobjekte???

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
  • Guten Abend Breadfish-Community,


    ich hätte eine Frage und zwar weiß jemand ob es ein Limit gibt bei SA:MP wie viele Objecte man löschen kann?


    (also nicht die ganze Map also so übertrieben nicht)


    Unter der SA:MP Wiki Limit Seite stand nichts, wenn es doch ein Limit geben sollte dann weiß ich warum bei vielen (wie auch bei mir) der Server lagt (die gemappten Sachen)


    Vielen Dank im Vorraus :)


    Lg
    J0a9

  • Beitrag von Bluewall ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Beitrag von J0a9 ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Beitrag von Bluewall ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Beitrag von J0a9 ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Beitrag von Bluewall ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Natürlich gibt es ein Limit. Immer wieder schön zu sehen, wie hier welche mit ihrem Halbwissen umsich werfen.
    RemoveObject steht im selben Verhältnis zu CreateObject. Somit kannst du maximal 1000 Objekte löschen. Wenn du 1000 Objecte gelöscht hast, kannst du keine neuen Objekte als CreateObject erstellen.

  • RemoveObject steht im selben Verhältnis zu CreateObject. Somit kannst du maximal 1000 Objekte löschen. Wenn du 1000 Objecte gelöscht hast, kannst du keine neuen Objekte als CreateObject erstellen.


    Nicht ganz richtig, wie es scheint.


    Auszug aus dem englischen SA:MP Forum:


    Quellen-Beitrag

  • Wenn man ein Objekt löscht, wenn es nicht unter OnPlayerConnect ist, ist es ganz Normal, dass der Spieler Crasht.

    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.

  • Also nach meinen Erfahrungen wird CreateObject nicht beeinflusst selbst wenn ich 1000 Removes mache.
    Ebenfalls sind Removes überall und jederzeit möglich und nicht nur in OnPlayerConnect.
    Das Limit liegt bei etwa 1000 bis 1100 und somit wäre für RemoveObject der sicherste Wert ein Limit von 1000.
    Wieso es das sicherste ist?


    Das Problem ist, dass der Client einen Freeze bekommt wenn es ein paar mehr sind als 1000 Removes.
    Da sich diese Removes nach einem Server neustart nicht automatisch zurück setzen, bleibt das ausgereizte Limit zurück und führt zu freezes.
    Versucht mal den Fehler zu replizieren indem ihr etwa 1100 verschiedene Objekte removed oder nur 400 und mit GMX den Server neustartet beim halten der Verbindung.
    Ich habe es für mein Teil schon damals ausgibig getestet.


    Beispiel mit 1100 Removes:
    > 1100 verschiedene Objekte werden entfernt.
    > Spieler erhält bei Kleinigkeiten ein Standbild wie z.B. ESC gehen


    Beispiel eines Clientfreezes durch RemoveObject bei GMX:
    > 400 Objekte werden bei OnPlayerConnect gelöscht.
    > Serverrestart mit gmx, spieler hält die Verbindung.
    > 400 Objekte werden bei OnPlayerConnect gelöscht. (Somit schon 800 im Clientspeicher vermerkt)
    > Serverrestart mit gmx, spieler hält die Verbindung.
    > 400 Objekte werden bei OnPlayerConnect gelöscht. (Client Freezed)


    Bei Servern mit etwa 600 Objekten ist gmx garnicht mehr möglich ohne dass beim Loginscreen oder beim Spawn ein Standbild entsteht.


    Beste und einfachste Lösung für die Nutzung mit Removeobjekt ist: Spielern bescheid geben dass sie neu verbinden sollen vor einem Restart, dann alle kicken per loop. Sie schließen die Verbindung und kommen erneut rauf.
    Ebenfalls empfehle ich dass eine eigene Funktion gescriptet wird die RemoveObject beinhaltet, aber maximal 1000 mal pro Spieler ab dem Connect aufgerufen werden kann.


    Dies sind meine Erfahrungen mit dem Umgang von RemoveObjects die ich in Wochenlangen Tests herausgefunden habe.
    Wenn jemand Technisch gesehen andere Erfahrungen gemacht hat oder bessere Fakten darüber kennt (keine Vermutungen oder "hab ich so gehört...") kann mich gerne berichtigen. :)

    "Einen Streit im Internet gewinnen, ist wie ein Sieg bei den Paralympics. Du hast zwar gewonnen, aber du bist immer noch behindert."

  • Richtig und das wären Funktionen wie OnGameModeInit etc. wo man keinen Nutzen dafür hätte. Bei Befehlen,StateChange,KeyChange ist so eine ID immer gegeben und die wichtigste Verarbeitungsstelle für solche Removes.


    Ich denke das mit dem Limit hätten die vom SAMP Team etwas besser definieren können oder zumindest eine Schutzfunktion integrieren können die diese Werte clientside begrenzt.
    Muss aber sagen dass ein Server mit 600 Objekte gut wirkt gegen reconnect.cs, wenn kein Cheat die RemoveObject Funktion NOP't

    "Einen Streit im Internet gewinnen, ist wie ein Sieg bei den Paralympics. Du hast zwar gewonnen, aber du bist immer noch behindert."