Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 8 из 8
  1. #1
    Аватар для verteich
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2019
    Сообщений
    117
    Репутация:
    2 ±

    Прорисовка объектов

    Привет уважаемые пользователи этого форума :)
    Столкнулся с одной проблемой, некоторые объекты в интерьере прогружаются только когда вблизь к ним подходишь, как это можно исправить? Перекопал все темы на разных порталах, заменил все CreateObject на CreateDynamicObject, их нету не в инклудах, не в моде, но в тоже время такая команда:
    1. CMD:objects(playerid) {
    2. new objcount;
    3. printf("CreateObject count: %i", (objcount = CreateObject(19122, 0.0, 0.0, -50.0, 0.0, 0.0, 0.0)));
    4. DestroyObject(objcount);
    5. }
    (нашел на GI)
    Показывает 312 объектов
    Выставил такие рейты в server.cfg:
    1. onfoot_rate 40
    2. incar_rate 40
    3. weapon_rate 40
    4. stream_distance 300.0
    5. stream_rate 1000

    Также вставил в OnPlayerSpawn:
    1. Streamer_VisibleItems(STREAMER_TYPE_OBJECT, 1000, playerid);

    Результата я почему то не увидил. Подключал такой инклуд как fixobject, с ним объекты прогружаются, но почему то с этим инклудом игроки проваливаются больше, чем обычно.
    Вообще не знаю что делать, инклуд fixobject не хочется использовать, так как с ним игроки проваливаются больше чем обычно.
    Что можете предложить?
    Последний раз редактировалось verteich; 25.07.2019 в 21:04.

  2. #2
    Аватар для execution
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±

  3. #3
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Вероятнее всего интерьер использует больше 688 объектов (1000-312=688), из-за чего такое и происходит. Тут только убирать лишние объекты или настраивать дальность видимости всяких мелких объектов так, чтоб они прогружались только в момент, когда попадают в поле зрения игрока (ну если объекты в комнате, то можно поставить зону прогрузки, равную размерам комнаты и тогда они будут появляться только когда игрок в комнату зайдёт). Хотя не факт, что с дальностью видимости получится в твоём случае. Да и заморочено это слишком.

    Как вариант - разделить интерьер на несколько. То бишь, некоторые комнаты убрать в отдельные интерьеры, сделав пикапы с телепортом в них.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  4. #4
    Аватар для verteich
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2019
    Сообщений
    117
    Репутация:
    2 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Вероятнее всего интерьер использует больше 688 объектов (1000-312=688), из-за чего такое и происходит. Тут только убирать лишние объекты или настраивать дальность видимости всяких мелких объектов так, чтоб они прогружались только в момент, когда попадают в поле зрения игрока (ну если объекты в комнате, то можно поставить зону прогрузки, равную размерам комнаты и тогда они будут появляться только когда игрок в комнату зайдёт). Хотя не факт, что с дальностью видимости получится в твоём случае. Да и заморочено это слишком.

    Как вариант - разделить интерьер на несколько. То бишь, некоторые комнаты убрать в отдельные интерьеры, сделав пикапы с телепортом в них.
    Странно, но сейчас CreateObject нигде не создается, и соотвественно 1000-0, 1000 можно максимум использовать, всего объектов у интерьера 1100, последние 100 объектов это конец интерьера, а начало не прогружается, странно вообще дичь.

  5. #5
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от verteich Посмотреть сообщение
    Странно, но сейчас CreateObject нигде не создается, и соотвественно 1000-0, 1000 можно максимум использовать, всего объектов у интерьера 1100, последние 100 объектов это конец интерьера, а начало не прогружается, странно вообще дичь.
    Прогружается 1000 ближайших к игроку объектов, а не исходя из порядка строк кода.
    И да, загружать все 1000 объектов - такая себе затея. Игроки со слабыми ПК не очень обратуются падению ФПС, который будет особенно сильным, когда начнёт прогружаться маппинг с ретекстуром (как-то делал замеры и в таком случае даже на моём мощном ноуте ретекстур сжирал под 20 ФПС только так).
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. #6
    Аватар для verteich
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2019
    Сообщений
    117
    Репутация:
    2 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Прогружается 1000 ближайших к игроку объектов, а не исходя из порядка строк кода.
    И да, загружать все 1000 объектов - такая себе затея. Игроки со слабыми ПК не очень обратуются падению ФПС, который будет особенно сильным, когда начнёт прогружаться маппинг с ретекстуром (как-то делал замеры и в таком случае даже на моём мощном ноуте ретекстур сжирал под 20 ФПС только так).
    Кстати да, у меня такая же дичь есть, как только заходишь в интерьер, игра зависает на 2-3 секунды, с персонажем в воздухе
    К сожалению, нужно как то сделать так, чтобы все объекты прорисовывались, по другому никак
    Не знаю что там написали в fixobject, то что подключая его магическим образом все прорисовывается

  7. #7
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от verteich Посмотреть сообщение
    К сожалению, нужно как то сделать так, чтобы все объекты прорисовывались, по другому никак
    Никак ты нормально это не сделаешь. Лучше всего будет переработать интерьер и в будущем учитывать это при создании маппинга.
    Стример и так прилично нагружает и сам сервер, и интернет-канал, ибо постоянно проверяет позицию и отсылает игрокам пакеты с CreatePlayerObject/DestroyPlayerObject. И увеличение лимита объектов до 1000 лишь усугубляет ситуацию.

    Цитата Сообщение от verteich Посмотреть сообщение
    Не знаю что там написали в fixobject, то что подключая его магическим образом все прорисовывается
    Открой инклуд и посмотри :) Ничего там магического нет. Тупо урезается минимальная дистанция прорисовки объектов до 100, а максимальная до 600. И просто так совпало, что, в твоём случае, маппинг прогрузился полностью, ибо, возможно, какой-то сторонний интерьер, находящийся рядом, не начал прогружаться или ещё что-то в этом духе.
    Но лимит в 1000 объектов никак не обойти, не модифицируя клиент.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  8. #8
    Аватар для verteich
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2019
    Сообщений
    117
    Репутация:
    2 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Никак ты нормально это не сделаешь. Лучше всего будет переработать интерьер и в будущем учитывать это при создании маппинга.
    Стример и так прилично нагружает и сам сервер, и интернет-канал, ибо постоянно проверяет позицию и отсылает игрокам пакеты с CreatePlayerObject/DestroyPlayerObject. И увеличение лимита объектов до 1000 лишь усугубляет ситуацию.



    Открой инклуд и посмотри :) Ничего там магического нет. Тупо урезается минимальная дистанция прорисовки объектов до 100, а максимальная до 600. И просто так совпало, что, в твоём случае, маппинг прогрузился полностью, ибо, возможно, какой-то сторонний интерьер, находящийся рядом, не начал прогружаться или ещё что-то в этом духе.
    Но лимит в 1000 объектов никак не обойти, не модифицируя клиент.
    Ладно, спасибо, придется переделывать интерьер :)

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •