Список форумов
Гипат.org
Найдется место всем!


:: В чате сейчас никого нет
Перенос текстур мода в оригинальные ресурсы
   Список форумов -> MODный форум
Автор
Сообщение
Kalessin
Разведчик


Пришел: 15.01.2012
Сообщения: 100
Добавлено: 15 января 2012, 20:10 [?] [PM]   [«»]

Вопрос для знающих людей :) Всем известно что пз вылетают при заходе на серверы с модами, содержащими нестандартные текстуры лиц персонажей (либо при заходе такого "нестандартного" персонажа на сервер без сответствующего мода) Отсюда вытекает очевидное решение проблемы - перенести эти текстуры в оригинальную игру. Собственно вопрос: как добавить текстуры нестандартных лиц в ресурсы оригинальной игры, чтобы они отображались корректно? Какие файлы, из каких контейнеров нужно перенести; как задействовать их в оригинале? (Допустим, организовать перенос из хг-мода, т.к. там больше всего новых лиц)
Файтер
Загонщик


Пришел: 15.01.2012
Сообщения: 9
Добавлено: 15 января 2012, 22:55 [?] [PM]   [«»]

Вылетает не из за текстур. Вылетает из за изменения дбазы. В без мода, нет данных об новой текстуре из за этого и вылетает.
Вот пример:
facef04 если создать мод и перекрасить/поменять что-то в этой текстуре сохранить мод и зайти с модом, в котором изменений в дбазе не было (тронута только текстура) на сервер с без мода, то вылета не произойдет т.к. Текстура изменилась только внешне, и такое названия текстуры в без мод есть(раскрашенная текстура, не будет раскрашенной, на без моде и в модах в которых этой раскрашенной текстуры нет, текстура будет стандартной).
Другое дело если игрок, зашел на сервер с без модов, с новым лицом и т.п
прописанными в дбазе(не измененными на числа, а совершено новыми данными), Без модовская дбаза просто не имеет этого лица/юнита, в своих архивах, тут тебе и вылет!(
Надо просто вставить эти данные, в без мод и в остальные моды, тогда с этими данными вылетов не произойдет, но и будут некоторые неудобства, например. Текстур новых персонажей не будет т.к текстуры не хранятся в дбазе. Но это можно исправить просто убрать этих персонажей, оружие и все остальное, что приводит к вылетам в из игры, заблокировав их в дбазе как не игровые.
Valter
Зайчатник


Пришел: 28.02.2009
Сообщения: 32
Откуда: Россия
Добавлено: 15 января 2012, 22:57 [?] [PM] [M]   [«»]

Попробуем разобрать ситуацию.. Текстуры лиц привязаны к персонажу, имя которого содержится в датабазе.

Пример: Текстура Зака - "unhumaskin_00.mmp" Она запакована в архиве redress.res. В датабазе databaselmp.res в разделе: MapObjects/MotstersPrototypes/ под графой Graphics Data Skin Index у персонажа Human Hero прописано значение 0 Если вместо 0 выставить другое значение (к примеру 10) то этот персонажа в игру будет отображаться с текстурой "unhumaskin_10.mmp" и т.д.

Теперь вернемся к проблеме. Игра вылетает, когда у клиента или сервера на игровой зоне появляется персонаж, с "незарегистрированным именем". А сами текстуры у сервера или клиента могут отличаться. В таком случае вылета не произойдет, а просто каждый увидит свою картинку. Главное, чтобы имя персонажа было и в датабазе сервера, и в датабазе клиента. В модах с нестандартными текстурами лиц как раз и созданы новые персонажи с новыми именами, под которые и прописаны значения "нестандартных текстур".

Теперь решение. Попробуем перенести нестандартную текстуру из хг-мода в оригинал. Скажем возьмем имя чернокожего Зака( из новых людей на гипате) - "Lmp Necro Gipath Fighter 1" и добавим запись в датабазу оригинала. Создадим в разделе: MapObjects/MotstersPrototypes/ нового персонажа, скопировав любого старого и изменив графу Name на Lmp Necro Gipath Fighter 1 и в графе Graphics Data Skin Index прописать значение 37 ( так как у него текстура "unhumaskin_37.mmp") Теперь в оригинале должен появиться новый персонаж.. Уже на этом моменте игра не должна вылетать при заходе персонажа с таким-же именем из мода в оригинал. При отсутствии текстуре персонаж будет просто белым, но для игры это уже не будет фатально.. В теории.. Сам не проверял, если не так поправьте меня. Саму текстуру же надо будет распаковать из редреса хг-мода и запокавать в редрес оригинала. Вот и все. Принцип действий такой. Еще потом и отдельно все текстуры "Лиц и Выражений на них" тоже перенести но уже в textures.res. (В redress.res находятся только текстуры самого тела персонажа)

Другой вопрос ради чего все это? Добавить в оригинал новые текстуры лиц? Или избавится от межмодовых вылетов? Если первое то горазда легче заменить саму текстуру у существующего персонажа, чем создавать нового редактируя датабазу. Если второе... зачем вообще допускать связь между разными модами?


Пока писал уже ответили :)
_________________
Истина — это всего лишь заблуждение, которое просуществовало столетия. А заблуждение — это истина, просуществовавшая лишь минуту.
Kalessin
Разведчик


Пришел: 15.01.2012
Сообщения: 100
Добавлено: 16 января 2012, 15:55 [?] [PM]   [«»]

Да... я подозревал что датабаза не останется в стороне... Цель, конечно, избавится от вылетов :) Здесь, естественно, не идет речь о полноценной игре с выходом на карту персонажей из модов, нет. Просто слишком часто происходит падение сервера при заходе несознательных игроков... вроде все давно уже знают о несоместимостимости модов и все равно :mad:
Итак, для лечения вылетов, нужно распаковать redress.res хг-мода и вытащить оттуда текстуры с форматом имен "unhumaskin_**.mmp", затем распаковать датабазу хг и просмотреть раздел MonsterPrototypes на предмет соответствия имен персонажей номерам новых текстур. Далее все найденные имена добавить в целевую датабазу и прописать соответствующие номера текстур. После чего добавить новые текстуры в целевой redress.res, а текстуры лиц в textures.res (Кстати, собствено текстуры лиц, привязаны ли к каждой "unhumaskin_**.mmp"? Не надо ли отдельным образом их привязывать? И не задействован ли еще здесь figures.res?) Насколько правильно я все понял? :roll: И еще: получается, необходимо модифицировать датабазу (и другие ресурсы) для каждого мода, если так то это... :ass: слишком много работы :( Впрочем я сделаю датабазу хотя бы для одного мода.
Valter
Зайчатник


Пришел: 28.02.2009
Сообщения: 32
Откуда: Россия
Добавлено: 16 января 2012, 16:50 [?] [PM] [M]   [«»]

Всё так... Текстуры лиц вытаскиваешь, а затем пакуешь в textures.res ( facem**.mmp для мужских персонажей и facef**.mmp для женских; + face***a.mmp; face***b.mmp и face***c.mmp для соответствующих выражений). Но это если хочешь видить текстуры несознательных игроков.
В итоге легче сделать как предлагает Файтер: просто добавить их имена в датабазу, не замарачиваясь с текстурой.

Удачи тебе во всем этом... и..Так и просится на язык фраза : "Итак, для лечения вылетов, .... ... Уф, вроде ничего не забыл. Осталась сущая ерунда - все это выполнить!" :D
_________________
Истина — это всего лишь заблуждение, которое просуществовало столетия. А заблуждение — это истина, просуществовавшая лишь минуту.
Файтер
Загонщик


Пришел: 15.01.2012
Сообщения: 9
Добавлено: 16 января 2012, 17:17 [?] [PM]   [«»]

Здесь разместил заплатку:D для без мода.
http://www.gipat.ru/forum/index.php?showtopic=3514
Kalessin
Разведчик


Пришел: 15.01.2012
Сообщения: 100
Добавлено: 16 января 2012, 21:12 [?] [PM]   [«»]

Что же, спасибо за поддержку :) Признатся, не ожидал столь подробных ответов и так быстро. Вижу, еще не перевелись на форумах поклонники пз :D Теперь действительно осталась всего ничего - сделать задуманное :) :) :) Хотя работа не оставляет много свободного времени, я все равно буду делать базы, пусть они и будут готовы не скоро...
Файтер
Загонщик


Пришел: 15.01.2012
Сообщения: 9
Добавлено: 16 января 2012, 22:38 [?] [PM]   [«»]

Сейчас буду делать заплатку на базу, которую мне дал Калессин, из Evil-modа. Заплатку выложу на том же сайте...
MorgenS
Дозорный


Пришел: 11.08.2003
Сообщения: 56
Добавлено: 24 января 2012, 09:27 [?] [PM]   [«»]

Файтер, а как насчет новых врагов?
Ведь если в моде дописали новые прототипы, то даже с такой заплаткой клиента в теории будет выкидывать на соответствующих локах, ибо у него в базе эти прототипы не прописаны.
Влесам
Охотник


Пришел: 04.01.2008
Сообщения: 76
Откуда: Ульяновск
Добавлено: 24 января 2012, 12:52 [?] [PM]   [«»]

Это заплатка для серверов как раз, а не для клиентов как я понял. Тут главное чтобы человек со скином скелета не порушил БезМод едва войдя на сервер. И можно было попросить перезайти с оригинала.
Или я что-то не правильно понимаю :(
_________________
Если ты споришь с идиотом, подумай - а вдруг он делает тоже самое?
MorgenS
Дозорный


Пришел: 11.08.2003
Сообщения: 56
Добавлено: 24 января 2012, 22:29 [?] [PM]   [«»]

Ну, такие вещи надо тестить. Так сходу можно только предположить
Файтер
Загонщик


Пришел: 15.01.2012
Сообщения: 9
Добавлено: 24 января 2012, 23:42 [?] [PM]   [«»]

Цитата (MorgenS):
Файтер, а как насчет новых врагов?

Внедрил. Хотя не на добыло...
Цитата (MorgenS):
Ведь если в моде дописали новые прототипы, то даже с такой заплаткой клиента в теории будет выкидывать на соответствующих локах, ибо у него в базе эти прототипы не прописаны.

Было бы правильно ели бы создатели модов, вместе со своим модом выкладывали подобную "заплатку", со всеми нововведениями, но чтоб у этих новых плюшак, все достоинства были на нуле, и чтобы они были запрятаны по глубже.
Цитата (Файтер):
Как такое возможно? Ведь мод не один, и у каждого свои изменения? Получается что каждый новый мод, будет выкладывать свою заплатку, это ведь будет полная неразбериха?

Возможно! Если создатели модов будут сотрудничать, и наполнять свои базы, всеми нововведениями этих модов, тогда и не трудно будет объединить все плюшки в одной заплатке.
Цитата (Влесам):
Это заплатка для серверов как раз, а не для клиентов как я понял.

Для сервера.
Показать сообщения:   
   Список форумов -> MODный форум
Версия для печати
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы
Вы можете скачивать выложенные файлы
Перейти:  
Часовой пояс: GMT +4:00