Object Stream, erklärung bitte

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
  • Hey,


    wie die Überschrift villt. schon verät will ich etwas über Object Streamer wissen. Ehlich gesagt alles. Nebenbei, weiß nicht ob das der richtige bereich ist, wenn nicht sorry.


    Also, was ich weiß, das Object Streamer dafür da sind, das so viele Objecte genutzt werden können, oder? Also nich einfach nur ins Script einfügen.
    Ich bin ja gerade dabei ein Selfmade zu machen, und will dabei auch einen Object Streamer verwenden, da auch sehr viele Maps kommen werden.


    Könnt ihr mir bitte Erklären:


    -was genau ist das
    -was brauche ich dafür, villt auch wo ich was einfüge
    -wie nutze ich einen Object Streamer, muss ich die Maps irgentwo bestimmt einfügen, oder können die trotzdem unter OnGameModeInit im Script?


    Das wäre echt net, weil ich kann bisher nur normal Maps einfügen :S


    Vielen vielen Dank im vorraus


    MfG Tomsen

  • -was genau ist das
    -was brauche ich dafür, villt auch wo ich was einfüge
    -wie nutze ich einen Object Streamer, muss ich die Maps irgentwo bestimmt einfügen, oder können die trotzdem unter OnGameModeInit im Script?


    Objectstreamer sind Plugins ,die für die Objektstreamen gedacht sind!
    Es gibt eine globale Grenze a Objekten ,darum haben sich paar Coder hingesetzt und was dagegen gemacht!
    Diese Plugins sind in c++ gecoded (kann ich einwenig).
    Plugins fügst du in deinem Pluginsordner und unter der cfg!
    Wenn du die installation abgeschlossen hast ,musst du ein Code hinschreiben ,wie CreateObject(koordinaten usw.)
    Bei jedem Streamer anders!


    Alles kommt dann wie gewohnt unter OnGamemodeinit

  • Hi


    oO Forbidden, das war nicht ganz richtig ;)


    Es gibt Streamer als Plugin und als Include oder Filterscript.


    - Was genau ist ein Streamer?


    In SA:MP gibt es leider Grenzen. Nicht nur bei der Objektanzahl, sondern auch z.B. bei Pickups, 3D-Texten, usw.
    Da man aber natürlich nicht alle Objekte auf einmal sehen kann, da die Draw-Distance auf 300 ist und die Objekte ja weit auseinnander liegen können, erstellt ein Streamer NUR die Objekte, die sich in der Nähe des Spielers befinden. Manche Streamer z.B. fragen immer ab, ob sich die Objekte im Umkreis von 300 metern beim Spieler befinden, diese werden dann erstellt.
    Viele Streamer sind aber verschieden. Manche sind rescourcensparende, mancher eher nicht. (Streamer Plugin ist gut, aber hat noch nicht die neuen 0.3d funktionen drin).
    http://www.youtube.com/watch?v=HhshSJufhJo


    Dieser Streamer vergrößert/verkleinert automatisch den Radius, jenachdem wie viele Objekte gerade in der Nähe sind. An dem Video sieht man auch gut was der Streamer macht.


    Schau dich am besten mal um, gibt einige ;)


    -was brauche ich dafür, villt auch wo ich was einfüge
    -wie nutze ich einen Object Streamer, muss ich die Maps irgentwo bestimmt einfügen, oder können die trotzdem unter OnGameModeInit im Script?


    Kommt drauf an welchen Streamer du benutzt, das steht aber auch dabei erklärt, wie man ihn verwendet :D


    MFG, Robdeflop®

  • Und dann hät ich noch eine Frage. Was ist besser an CreateDynamicObject gegenüber CreateObject. BZw. was ist an Dynamischen System besser, bzw anders?


    aber erstmal danke ;)

    Und dann hät ich noch eine Frage. Was ist besser an CreateDynamicObject gegenüber CreateObject. BZw. was ist an Dynamischen System besser, bzw anders?


    aber erstmal danke ;)


    Also wie ich schon sagte ist bei jedem Plugin was anderes , also bei dem bekanntesten streamer heißt es CreateDynamicObject.



    Ach außerdem ,ich habe auch nicht gesagt jedes Plugin ist ein streamer oder andersherum.


    Das ist sehr aus der Mode ;)
    Heutzutage wird das alles in einem Plugin gecoded ,hat auch seine Vorteile!
    Die Filterscripts/include laufen dazu auf einem Timer und alles in einem ist das kein großer Vorteil ,aber man hatte was ,was die Objekte besser streamen konnte...

  • Um jetzt mal zu klären wie ein ObjectStreamer funktioniert...


    >JEDER< ObjectStreamer arbeitet beim Objekte erstellen mit CreatePlayerObject.
    Und das ist auch schon der ganze Zauber. Denn jeder Spieler hat (früher 200) jetzt 400 bald 1000 eigene Objekte.
    Unabhängig von CreateObjects, wovon man auch nochmal 1000 hat.


    Wird das Object im Script gestreamt werden die Position,Rotation und die ModelID in Variablen gespeichert.
    Bei selbst gescripteten Streamer führt das zu großen .amx Dateien. Der Plugin Streamer macht das anders aber kA wie xD
    Wenn nun ein spieler innerhalb des Radius ist wird es für ihn erstellt. Wenn also 5 Spieler vor einer gestreamten Laterne stehen.
    Ist sie 5 mal erstellt worden, für jeden Spieler. Das ist auch der Grund warum Objekt Streaming funktioniert.
    Denn außerhalb der Reichweite wird das Objekt wieder zerstört, der "Slot" ist wieder Frei zum Benutzen bis das Limit erreicht ist.


    Ich persönlich nutze CreateObjects als Böden für Interiors (da CreateObject schneller lädt nach teleport) und für Tore bzw generell MoveObjects.

  • Also ich hab von nem Server noch nen Object Stream als Plugin-


    Der ist angeblich sehr gut. Muss eigentlich auch, sind schließlich ne Menge Objecte in dem Script gewesen.


    Im Plugin ordner ist ne streamer.dll und .so


    In der Server.cfg steht der drin und dann noch #include <streamer>
    im skript.


    Die Objecte werden so gemacht: CreateDynamicObject...


    Also mach ich den #include <streamer> code ins selfmade, und dann einfach objecte mit CreateObject Einfügen?


    Danke erstmal.


    Lg byBSE