• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Как лучше реализовать оптимизированную систему интерьеров для домов ?

IOPlayer

Ученик
Лимит на виртуальные миры очень велик - что есть плюсом, лимит на интерьеры 256.
В дальнейшем я собираюсь делать кастомные инты для пользовательских домов.


И тут возникает вопрос, как это лучше реализовать?
1.
Изначально я планировал юзать CreateDynamicObject в OnGameModeInit, тем самым создавая маппинг
при инициализации сервера, но тогда VirtualWorld и Interior для обьекта останутся статичными.
Проблема:
- я не смогу распихать каждого игрока в свой мир чтобы они не пересекались.

2. Исходя из проблемы пункта один, я подумал и решил что можно использовать CreateDynamicObject
при инициализации подключения нового игрока, и если у него есть дом - создавать маппинг с уникальным
VirtualWorld, хранить номер мира и в случае надобности перемещать туда игрока, и соотвественно
DestroyObject при Disconnect.
Проблема:
- I) сервер однопоточный, в теории подключений/отключений может быть очень много за короткое время.
Есть ли данные как сильно нагружает/тратит время сервер на обработку CreateDynamicObject.
- II) игрок может за всё время игры так и не воспользоваться своим маппингом, а он будет висеть в памяти,
тем более он будет висеть в памяти плагина streamer, я не знаю как он реализован, по этому мне кажется что
лишний маппинг - уменьшит и скорость создания других динамических обьектов когда игрок будет с ними
взаимодействовать.

3. Вариант похож на второй, только чтобы решить проблему (2.II) - перенести CreateDynamicObject в то
место, при котором игрок начнет инициализацию входа в свой дом, тем самым - пока игрок дома - обьекты живут,
как только вышел - они удалились и память не нагружают. Но остаётся проблема из пункта (2.I).
Проблема:
- сервер однопоточный, в теории входов/выходов в инту дома может быть очень много за короткое время.
Есть ли данные как сильно нагружает/тратит время сервер на обработку CreateDynamicObject.


Интересует как бы поступили вы, какой вариант лучше в реализации. И возможно я допустил ошибку где то,
укажите на это если оно так.
 
Сверху Снизу