PDA

Просмотр полной версии : [Вопрос] Streamer



Paradox
13.04.2019, 13:11
Доброе время суток, вот еще такой вопрос. Видел вроде как DeimoS писал за то что если CreateDynamicObject использовать вместе с CreateObject, то мол теряются объекты и не будут прогружать игроку.
Можно подробнее об этом, в плане, что если я поставлю streamer, то писать только на нем, или же это работает только когда динамические и статические объекты рядом? ну вот пример сделал я через CreateObject, парковку у мэрии, а сам инт сделал где-то на координатах 0, 0, 600.

DeimoS
13.04.2019, 13:58
У SA-MP есть лимит в 1000 объектов. Этот лимит распространяется как на CreateObject, так и на CreatePlayerObject.
CreateObject висит в памяти клиента с момента входа на сервер. Соответственно, каждый CreateObject будет отнимать от той 1000 по одному доступному "слоту".
Стример работает через CreatePlayerObject. Соответственно, если ты создашь 900 CreateObject, то стример сможет создавать только 100 CreatePlayerObject и больше ничего отобразить не сможет.

Paradox
13.04.2019, 14:30
У SA-MP есть лимит в 1000 объектов. Этот лимит распространяется как на CreateObject, так и на CreatePlayerObject.
CreateObject висит в памяти клиента с момента входа на сервер. Соответственно, каждый CreateObject будет отнимать от той 1000 по одному доступному "слоту".
Стример работает через CreatePlayerObject. Соответственно, если ты создашь 900 CreateObject, то стример сможет создавать только 100 CreatePlayerObject и больше ничего отобразить не сможет.

то есть, в любом случае 1 000 объектов максимальное кол-во? тогда какой смысл вообще от этого плагина?
А как же тогда такие проекты как Arizone, у них же там инты прям, на все свои, как хватает им объектов на все?

Desulaid
13.04.2019, 15:16
то есть, в любом случае 1 000 объектов максимальное кол-во? тогда какой смысл вообще от этого плагина?
А как же тогда такие проекты как Arizone, у них же там инты прям, на все свои, как хватает им объектов на все?

Смысл плагина заключается в рендере объектов на определенной дистанции и/или в интерьере/вирт.мире.
В то время как CreateObject просто занимает слот, и не при каких условиях не освобождает его.

DeimoS
13.04.2019, 17:57
то есть, в любом случае 1 000 объектов максимальное кол-во? тогда какой смысл вообще от этого плагина?
А как же тогда такие проекты как Arizone, у них же там инты прям, на все свои, как хватает им объектов на все?

Выше уже ответили, но объясню более житейскими формулировками.

Стример работает за счёт того, что держит в своей памяти информацию обо всех созданных через него объектов (координаты/модель и т.п.). Так же стример постоянно узнаёт координаты игроков, сверяя их с координатами объектов. Когда объект попадает в зону стрима, стример отправляет серверу команду на вызов функции CreatePlayerObject, передавая информацию об объекте их памяти. Таким образом информацию об объекте получает только конкретный игрок. А когда объект покидает зону стрима для игрока, стример отправляет серверу команду на вызов DestroyPlayerObject. Таким образом, создавая только те объекты, которые находятся рядом с игроком, получается обойти лимит в 1000 объектов.

Но, опять же, лимит в 1000 объектов остаётся, во-первых, для зоны стрима (то бишь, если создать интерьер, в котором будет слишком много объектов, то часть объектов (самые дальние) просто не загрузятся. По этой причине у людей не прогружаются стены, например, в интерьерах), а, во-вторых, зависит от количества CreateObject, о чём в предыдущем сообщении писал.