[Include] OBJ & LOD Operator
#1

Вступление.
Мужику делать было нечего, мужика надо было чем-то занять.
По недавнему вопросу в местной флудилке о том как достать ид ЛОД-объекта по ид нормального объекта, было решено сделать флудилку более чистой, а именно от таких вопросов.

Представляю вашему вниманию простенький скрипт, который позволит узнавать какой у обычного объекта LOD и наоборот, а также некоторую дополнительную информацию об объектах.
Здесь полный список LOD-объектов с соответствующими номерами обычных объектов. К инклуду прилагается 2 загрузочных файла: для использующего карту оригинальной игры и мода Criminal Russia серверов.

Функций 9 всего:
Code:
* GetLOD_Object(objid); // вернёт номер модели LOD объекта по указанной модели обычного объекта
* GetObject_LOD(lodid); // вернёт номер модели обычного объекта по указанной модели LOD
* GetObjectModel_DrawDistance(objid);// returns model draw distance - возвращает дистанцию прорисовки
* GetObjectModel_Flag(objid,flag);// returns model flag - возрващает указанный флаг модели объекта
* GetObject_Name(objid,objname[],maxcell);// gets model name - берёт название (.dff файла без расширения)
* IsObjectModelValid(objid);// checks modef for existing - проверяет существование модели объекта в игре
* Load_ObjectModel_Info();// загружает информацию об объектах
* Save_ObjectModel_Info();// сохраняет информацию об объектах
* ModelInfo_Add_OBJ_LOD(objid,lodid); // ставит соответствие между обычным объектом и его LOD моделью по их ID.
Ограничения
Скрипт ограничен (можно изменить) максимальным ID объекта тем же, что и в самой игре по умолчанию. А так же теми данными, которые можно получить из ресурсов игры (например названия .dff названий моделей объектов)(поправимо). Тем не менее все существующие объекты в игре могут быть безвредными (не вызывать креши или варнинги при специфичных ситуациях) - проверяйте модель на валидность и расположение на карте( касается особенно гаражных дверей ).

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

Во второй (текущей) версии код более не зависим от перебора записей по массиву в поиске обычного/LOD-объекта. В принципе можно использовать прямо в работе вашего стримера. Не рекомендуется менять значения в загрузочном файле самостоятельно - отписывайтесь в ЛС, в случае чего - неиспользуемые в нём (загрузочном файле) значения предназначены для расширения функционала и сохранения совместимости в следующих версиях.

Сравнение LOD-объекта и его же объекта отображаемого вблизи.


Скачать: ссылка
Публикую именно тут, чтобы не менять каждый раз ссылку при обновлении.
Reply
#2

Есть зачаток стриммера с поддержкой лод
Сделай ещё под Криминалку Буду рад.
И ещё дальность прорисовки основного объекта желательно. Без этого никуда.
Reply
#3

А что такое ЛОД объекты?
Reply
#4

Quote:
Originally Posted by Seregamil1
View Post
А что такое ЛОД объекты?
Ужас. Это упрощённые модели, те которые мы видим на дальнем расстоянии.

Наглядный пример:
Reply
#5

Пример ни разу не наглядный...
Reply
#6

Quote:
Originally Posted by Vinnyy
View Post
Пример ни разу не наглядный...
Если вместо соны был бы лод дерева, то разницу особо не увидеть было бы.
Reply
#7

Обновил, сделал отброс некоторых ид, чтобы меньше искало по времени в среднем.
Приложил пример того, что такое LOD-объект.
Добавил поддержку мода Criminal Russia (настраивайте через дефайны) [возможны ошибки в ид]. За исходные файлы карты игры отдельное спасибо White_116.

Чуть позже допилю ко всему этому делу информацию о дальности прорисовки, названиях объектов(в данном случае можно найти альтернативы, но хочется чтобы все было собрано вместе) и отдельный скрипт/программу для обработки файлов игры в нужный формат для данного скрипта.
Reply
#8

и стример бы ещё )
Reply
#9

Quote:
Originally Posted by Vinnyy
View Post
и стример бы ещё )
Скоро выложу, осталось немного...
Reply
#10

Попробуй на дереве сделать стример!
октановое дерево(ну или какое приглянется внизу).
Главные свойства: поиск за log N, изменение за log N(удаление и вставка)

http://steps3d.narod.ru/tutorials/sp...-tutorial.html
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)