Einstein's Objectstreamer

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
  • Ich habe bereits seit einigen Wochen eine etwas Funktionsgrößere Version des Object Streamers auf meinem Server.


    Aktuelle Version: 0.8.3


    Kleine Einführung:
    Was ist überhaupt ein Object Streamer?


    Ein Object Streamer umgeht das in Sa-mp eingebaute Objectlimit, indem er nur die Objecte erzeugt, die gerade benötigt werden. Ein Beispiel du befindest dich in LV, warum sollte der Server dann Objecte in LS createn.


    Welche Einsatzgebiete sind für den Object Streamer angebracht?


    Solltest du mehr als 145 Objecte auf deinem Server verwenden, ist es Ratsam einen Objectstreamer zu benutzen.


    Inwiefern wurde der Object Streamer getestet?


    Ich konnte meinen Objectstreamer mit genau 10000 Objecten testen. Dies verlief ohne Probleme.


    Unter welcher Lizenz ist der Object Streamer released?



    Funktionen der PRO Version:




    CreateObjectToStream(modelid, Float:x, Float:y, Float:z, Float:rX, Float:rY, Float:rZ);
    CreatePlayerObjectToStream(playerid ,modelid, Float:x, Float:y, Float:z, Float:rX, Float:rY, Float:rZ);
    DestroyObjectToStream(streamobjectid);
    DestroyPlayerObjectToStream(playerid, streamobjectid);
    MoveObjectToStream(streamobjectid, Float:Movex, Float:Movey, Float:Movez, Float:Speed); //works with PlayerObject, too
    GetBasePosObjectToStream(streamobjectid, &Float:x, &Float:y, &Float:z); //works with PlayerObject, too
    GetMovePosObjectToStream(stramobjectid, &Float:x, &Float:y, &Float:z); //works with PlayerObject, too
    GetCurrentPosObjectToStream(streamobjectid, &Float:x, &Float:y, &Float:z); //works with PlayerObject, too
    GetCurrentRotObjectToStream(streamobjectid, &Float:Rx, &Float:Ry, &Float:Rz); //works with PlayerObject, too
    SetObjectPosToStream(streamobjectid, Float:x, Float:y, Float:z); //works with PlayerObject, too
    SetObjectRotToStream(streamobjectid, Float:rX, Float:rY, Float:rZ); //works with PlayerObject, too
    SetObjectViewDistanceToStream(streamobjectid, Viewdistance); //works with PlayerObject, too
    HavePlayerObjectToStream(playerid,streamobjectid); //works with PlayerObject, too
    HavePlayerAnyObjectToStream(playerid); //works with PlayerObject, too
    HaveObjectAnyPlayerToStream(streamobjectid); //works with PlayerObject, too
    StreamObject_OnPlayerDisconnect(playerid);


    0.8.2:
    StreamObject_OnGameModeInit();
    StreamObject_OnGameModeExit();


    0.9.0 Beta 4:
    StreamObject_OnPlayerUpdate(playerid);


    Pro 0.8.3
    Download


    Pro 0.9 Beta 4
    Download
    ---
    Mit dem Download erklären sie sich mit den Lizenzvereinbarungen einverstanden


    Compiler: KLICK

    Mit freundlichen Grüßen


    Einstein

    19 Mal editiert, zuletzt von Einstein ()

  • Hab Zwar net getestet. Aber Geil!^^


    // EDIT


    Hat mir echt geholfen!!!
    Habe Jetzt Dank Dir 5692 Objekte drin =D
    PS.: Kann Man Auch MoveObject Oder Sowas Machen?


    PPS.: naya bisel laagy jezz^^ aba dafür kannse nix

    2 Mal editiert, zuletzt von [RoH]Meldariel ()

  • Move Object etc. ist in der PRO Version enthalten, welche ich zZ. teste und dann ggf. entweder Kommerziel vermarkte oder Frei gebe wie die Lite ^^


    YaY.
    Hmm mir gibses umsonst.. NECH?? ^^

  • Schön und gut das du einen ObjectStreamer gemacht hast aber es wird bei 25Leuten oder mehr anfangen
    zu crashen je nachdem wie gut der Server ist.
    "SetTimerEx("ObjectCheck", 200, 1, "i",playerid);" ist gar nicht gut.
    Du solltest lieber nur 1 Timer benutzten der einfach checkt ob ein Player Online ist.
    for(new i;i<GetMaxPlayers();i++) {
    if(IsPlayerConnected(i)) {
    }
    }
    Außerdem könnte man für einen Spieler 10Timer laufen lassen so wie es zur Zeit in deinem Code ist.
    Connecte Ich als ID 0 hab ich einen Timer,beim Disconnect wird der nicht zerstört (Glaub sogar das man SetTimerEx nicht
    zerstören kann).Connecte ich dann wieder als ID 0 hab ich 2 Timer die für mich laufen.Das könnte ich wohl beliebig oft weiter machen :rolleyes: .

  • ?( ich hab die sachen in meinem include order in pwano gepackt und die #include <obj_lite> oder so in meinen gamemode gepackt und die objecte in einstei code gemacht und keine fehler aber ich guck im sever und keine objecte...

    Sever ip : aremmers.no-ip.org


    !![GER]!!FuN_FrEeRoAm!!

  • also muss ich das soo machen
    StreamObject_OnGameModeInit();


    CreateObjectToStream(1633, 196.557983, 2519.350098, 16.951481, 9.4538, 0.0000, 90.0000);
    //(ich hab eiglich mehr)


    StreamObject_OnGameModeExit();



    und was mache ich mit dem disconect ding? :?:

    Sever ip : aremmers.no-ip.org


    !![GER]!!FuN_FrEeRoAm!!

  • Mit der fertigen Version erscheint eine ausfürhrliche Dokumentation ;)


    Mit freundlichen Grüßen


    Einstein

  • Also wenn ich die LITE oder PRO Version nutze und ich geh auf irgendein Object das ich gemappt habe geht zwar alles.
    Steig ich auf einem Fahrzeug, und mache drauf /kill, oder verrecke wenn es Explodiert kackt der ganze Server ab.
    Woran liegt das?

    Die größte GTA Community auf der Welt.


  • G_Dedi

    Zitat

    Ist dieser Object Steamer auch für GF wenn ja dann funzt das bei mir i-wie nicht

    Bei mit Ging es nur Als Filterscript bei Gamoede Kam immer Fehler Programm Schließen oder Online Eine Lösung Suchen.

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi