SA-MP Forums Archive
[Include] OBJ & LOD Operator - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+----- Forum: Релизы/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=66)
+----- Thread: [Include] OBJ & LOD Operator (/showthread.php?tid=451261)



ObjectMode_Info - Mutha_X - 16.07.2013

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

Представляю вашему вниманию простенький скрипт, который позволит узнавать какой у обычного объекта 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-объекта и его же объекта отображаемого вблизи.


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


Re: OBJ & LOD Operator - White_116 - 16.07.2013

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


Re: OBJ & LOD Operator - Seregamil1 - 18.07.2013

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


Re: OBJ & LOD Operator - White_116 - 18.07.2013

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

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



Re: OBJ & LOD Operator - Vinnyy - 20.07.2013

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


Re: OBJ & LOD Operator - White_116 - 20.07.2013

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


Re: OBJ & LOD Operator - Mutha_X - 20.07.2013

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

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


Re: OBJ & LOD Operator - Vinnyy - 22.07.2013

и стример бы ещё )


Re: OBJ & LOD Operator - White_116 - 22.07.2013

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


Re: OBJ & LOD Operator - Vinnyy - 25.07.2013

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

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