Hallo,
irgendwie habe ich das Problem, dass diese Objekte erst aufbloppen, wenn man kurz davor steht.
Gibts für CreateDynamicObject auch eine Begrenze anzahl?
Es erscheinen auch nicht alle...
Gruß,
Shoxx
Hallo,
irgendwie habe ich das Problem, dass diese Objekte erst aufbloppen, wenn man kurz davor steht.
Gibts für CreateDynamicObject auch eine Begrenze anzahl?
Es erscheinen auch nicht alle...
Gruß,
Shoxx
Limit ist bei 1000 die Zeit gleich angezeigt werden können. Musst die Stream Distanz (letzter Parameter) ändern
Edit: Letzten beiden
CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = STREAMER_OBJECT_SD, Float:drawdistance = STREAMER_OBJECT_DD);
So sehen die Objekte bei mir im Script aus...
CreateDynamicObject(11533, -489.85001, 2269.82007, 6.02000, 0.00000, 0.00000, 140.00000);
CreateDynamicObject(11533, -494.17999, 2246.83008, 4.47000, 1.75000, 0.00000, 146.99899);
CreateDynamicObject(11533, -494.94922, 2214.25977, 3.92000, 4.49300, 0.00000, 150.24400);
CreateDynamicObject(11533, -511.64941, 2247.75000, 4.00000, 2.48800, 0.00000, 146.49200);
das ist nur ein ausschnitt.
Wird allerdings nicht alle angezeigt und bloppen auch nur auf.
Das liegt daran das du zu viele Objekte via CreateObject erstellst, dadurch belegst du die Objectslots , falls du mal wissen willst wie viele Slots du benutzst kannst du Ingame F5 drücken (ObjectSlotuse)
Das liegt daran das du zu viele Objekte via CreateObject erstellst, dadurch belegst du die Objectslots , falls du mal wissen willst wie viele Slots du benutzst kannst du Ingame F5 drücken (ObjectSlotuse)
Achso und selbst dann funktioniert das nicht mit CreateDynamicObjects?
//Edit ²
RWObjects: 649
ObjectSlotsUsed: 999
Achso und selbst dann funktioniert das nicht mit CreateDynamicObjects?
Durch CreateObject wird permanent ein Objektslot von den 1000 möglichen blockiert, nutzst du nun um die 900 Objekte, welche via CreateObject erstellt werden kannst du nur noch 100 Objekte streamen,
da führt dazu das die Objekte erst sichtbar sind , wenn du nah bei ihnen bist.
Bei der Funktion CreateDynamicObjects, werden die Objekte Spielerspezifisch gelöscht und wieder erstellst, daher arbeiten streamer mit der FUnktion CreatePlayerObject.
Durch CreateObject wird permanent ein Objektslot von den 1000 möglichen blockiert, nutzst du nun um die 900 Objekte, welche via CreateObject erstellt werden kannst du nur noch 100 Objekte streamen,
da führt dazu das die Objekte erst sichtbar sind , wenn du nah bei ihnen bist.
Bei der Funktion CreateDynamicObjects, werden die Objekte Spielerspezifisch gelöscht und wieder erstellst, daher arbeiten streamer mit der FUnktion CreatePlayerObject.
Ja ich habe bei ObjectSlotUsed 999 Objekte...
Was muss ich nun machen?
Das bedeutet das an dieser Stelle an der du warst 1000 Objekte benutzt wurd 0 - 999, das ist nicht das Problem, es geht um deine statischen Objekte.
Um möglichst viel aus dem streamer zu holen setzt man die maximalen sichtbaren Objekte liegt standartmäßig auf 500 auf 1000 und arbeitet bissle mit der streamingdistance und drawdistance.
PS: Die streamingdistance sollte immer größer sein als die Drawdistance dadurch verhindert man auch einen blob-effect.
Das bedeutet das an dieser Stelle an der du warst 1000 Objekte benutzt wurd 0 - 999, das ist nicht das Problem, es geht um deine statischen Objekte.
Um möglichst viel aus dem streamer zu holen setzt man die maximalen sichtbaren Objekte liegt standartmäßig auf 500 auf 1000 und arbeitet bissle mit der streamingdistance und drawdistance.
PS: Die streamingdistance sollte immer größer sein als die Drawdistance dadurch verhindert man auch einen blob-effect.
Wie setzte ich diese auf 1000?
Und wie arbeite ich b.s.w. mit der streamingdistance und drawdistance?
//Edit
Habe nun so die Objekte erstellen wollen mit dieser drawdistance allerdings erscheinen nun garkeine...
CreateDynamicObject(10984, -388.72900, 2236.53809, 41.27300, 358.25400, 355.99799, 247.37601,-1, -1, 300);
CreateDynamicObject(4815, -268.84799, 1949.31006, -7.97000, 0.00000, 179.99500, 73.41100,-1, -1, 300);
CreateDynamicObject(4815, -342.58609, 2143.66089, -16.13000, 0.00000, 0.00000, 238.42000,-1, -1, 300);
CreateDynamicObject(1345, -299.70630, 2160.20605, -14.08300, 0.00000, 0.00000, 33.78198,-1, -1, 300);
Habe nun so die Objekte erstellen wollen mit dieser drawdistance allerdings erscheinen nun garkeine...
Was du eingestellt hast ist die Player id nicht die Streamdistanz.
Im übrigen steht die schon auf 300, was das Problem ist, die DrawDistance, die vor einiger Zeit mal eingeführt wurde,
die steht im Streamer nämlich auf 0.0 - d.h. es wird erst eingestreamt von SA:MP bzw GTA wenn man direkt davor steht.
Deswegen "blobbt" das auch.
Am besten du schreibst in dein Script folgendes:
#undef STREAMER_OBJECT_DD
#define STREAMER_OBJECT_DD 300.0
Das sollte das ganze Problem beheben.
Sollte es das problem nicht behebt, solltest du mal schauen, welche Streamerversion du nutzt.
Wenn ich das richtig sehe wurde dieser Define erst mit 2.7.8 eingeführt und funktioniert dementsprechend erst damit.
Ansonsten musst du nämlich die Include anpassen.