Gemappte Objekte laden nur auf kurzer Distanz ? Jetzt nicht mehr

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 mich entschieden ein kleines Tutorial bezüglich der Streamdistance zu schreiben. Ich hatte vor ca. 2 Monaten auch mal das Problem, dass Objekte nur laden wenn ich genau davor stehen. Ich bin nachdem ich mir ein paar Threads durchgelesen habe, auf eine Lösung gestoßen. Vorraussetzung ist der Objektstreamer von Incognito ( http://forum.sa-mp.com/showthread.php?t=102865 ). Achtet darauf, dass ihr die neuste Version des Streamers habt, sonst wird es nicht funktionieren. So aber jetzt zum eigentlichen Tutorial :

    • Schritt 1: Geht in das Hauptverzeichniss eures Servers und öffnet die server.cfg
    • Schritt 2: Ändert die Zeile stream_distance zu stream_distance 800 ( Ihr könnt sie auch noch höher stellen, ist ziemlich egal, denn soweit ich weiß liegt das Limit sowieso bei 500)
    • Schritt 3: Wenn ihr es nicht schon erledigt habt, schreibt in eurem Script unter #include <a_samp> #include <streamer>
    • Schritt 4: Geht zu der Stelle an der ihr eure Objekte erstellt (bei den meistens wird es unter OnGameModeInit() oder OnFilterScriptInit() sein ) und geht in die Zeile nach dem letzten Objekt und fügt folgenden Code ein:
    • new objects; //erstellt einen neuen String
      objects = Streamer_CountItems(STREAMER_TYPE_OBJECT,1); //zählt mit Hilfe von Streamer_CountItems wie viel gemappte Objekte geladen wurden und speichert sie im String objects
      for(new i; i<objects; i++) Streamer_SetFloatData(STREAMER_TYPE_OBJECT, i,E_STREAMER_DRAW_DISTANCE, 800.0);//erstellt eine Schleife und setzt die Drawdistance jedes gemappten Objekts auf 800 ( Diesen Wert könnt ihr natürlich so anpassen wie ihr es haben wollt)
      Streamer_VisibleItems(STREAMER_TYPE_OBJECT,1000);//Streamer_VisibleItems = Wie viele gestreamten Objekte auf ein mal angezeigt werden können (Diesen Wert könnt ihr auch anpassen)
      printf("%i mapped objects loaded",objects);//OPTIONAL: Gibt in der Konsole aus wie viele gemappten Objekte erstellt wurden
  • new objects; //erstellt einen neuen String
    Also da wird ganz klar kein String erstellt.


    printf("%i mapped objects loaded",counted);//OPTIONAL: Gibt in der Konsole aus wie viele gemappten Objekte erstellt wurden
    [font='Tahoma, Arial, Helvetica, sans-serif']Woher nimmst du denn jetzt die Variable 'counted'? Sollte wahrscheinlich 'objects' sein oder?


    Ansonsten kann man das eher als Nützliche Codeschnipsel bezeichnen.


    Mit freundlichen Grüßen
    Dominik


    Es wird niemals so viel gelogen wie vor der Wahl, während des Krieges und nach der Jagd.

    - Otto von Bismarck
    -