Автор |
Сообщение |
Kalessin
Разведчик
Пришел: 15.01.2012
Сообщения: 100
|
Добавлено: 15 января 2012, 20:10 |
|
|
Вопрос для знающих людей Всем известно что пз вылетают при заходе на серверы с модами, содержащими нестандартные текстуры лиц персонажей (либо при заходе такого "нестандартного" персонажа на сервер без сответствующего мода) Отсюда вытекает очевидное решение проблемы - перенести эти текстуры в оригинальную игру. Собственно вопрос: как добавить текстуры нестандартных лиц в ресурсы оригинальной игры, чтобы они отображались корректно? Какие файлы, из каких контейнеров нужно перенести; как задействовать их в оригинале? (Допустим, организовать перенос из хг-мода, т.к. там больше всего новых лиц) |
|
|
Файтер
Загонщик
Пришел: 15.01.2012
Сообщения: 9
|
Добавлено: 15 января 2012, 22:55 |
|
|
Вылетает не из за текстур. Вылетает из за изменения дбазы. В без мода, нет данных об новой текстуре из за этого и вылетает.
Вот пример:
facef04 если создать мод и перекрасить/поменять что-то в этой текстуре сохранить мод и зайти с модом, в котором изменений в дбазе не было (тронута только текстура) на сервер с без мода, то вылета не произойдет т.к. Текстура изменилась только внешне, и такое названия текстуры в без мод есть(раскрашенная текстура, не будет раскрашенной, на без моде и в модах в которых этой раскрашенной текстуры нет, текстура будет стандартной).
Другое дело если игрок, зашел на сервер с без модов, с новым лицом и т.п
прописанными в дбазе(не измененными на числа, а совершено новыми данными), Без модовская дбаза просто не имеет этого лица/юнита, в своих архивах, тут тебе и вылет!(
Надо просто вставить эти данные, в без мод и в остальные моды, тогда с этими данными вылетов не произойдет, но и будут некоторые неудобства, например. Текстур новых персонажей не будет т.к текстуры не хранятся в дбазе. Но это можно исправить просто убрать этих персонажей, оружие и все остальное, что приводит к вылетам в из игры, заблокировав их в дбазе как не игровые. |
|
|
Valter
Зайчатник
Пришел: 28.02.2009
Сообщения: 32
Откуда: Россия
|
Добавлено: 15 января 2012, 22:57 |
|
|
Попробуем разобрать ситуацию.. Текстуры лиц привязаны к персонажу, имя которого содержится в датабазе.
Пример: Текстура Зака - "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 |
|
|
Да... я подозревал что датабаза не останется в стороне... Цель, конечно, избавится от вылетов Здесь, естественно, не идет речь о полноценной игре с выходом на карту персонажей из модов, нет. Просто слишком часто происходит падение сервера при заходе несознательных игроков... вроде все давно уже знают о несоместимостимости модов и все равно
Итак, для лечения вылетов, нужно распаковать redress.res хг-мода и вытащить оттуда текстуры с форматом имен "unhumaskin_**.mmp", затем распаковать датабазу хг и просмотреть раздел MonsterPrototypes на предмет соответствия имен персонажей номерам новых текстур. Далее все найденные имена добавить в целевую датабазу и прописать соответствующие номера текстур. После чего добавить новые текстуры в целевой redress.res, а текстуры лиц в textures.res (Кстати, собствено текстуры лиц, привязаны ли к каждой "unhumaskin_**.mmp"? Не надо ли отдельным образом их привязывать? И не задействован ли еще здесь figures.res?) Насколько правильно я все понял? И еще: получается, необходимо модифицировать датабазу (и другие ресурсы) для каждого мода, если так то это... слишком много работы Впрочем я сделаю датабазу хотя бы для одного мода. |
|
|
Valter
Зайчатник
Пришел: 28.02.2009
Сообщения: 32
Откуда: Россия
|
Добавлено: 16 января 2012, 16:50 |
|
|
Всё так... Текстуры лиц вытаскиваешь, а затем пакуешь в textures.res ( facem**.mmp для мужских персонажей и facef**.mmp для женских; + face***a.mmp; face***b.mmp и face***c.mmp для соответствующих выражений). Но это если хочешь видить текстуры несознательных игроков.
В итоге легче сделать как предлагает Файтер: просто добавить их имена в датабазу, не замарачиваясь с текстурой.
Удачи тебе во всем этом... и..Так и просится на язык фраза : "Итак, для лечения вылетов, .... ... Уф, вроде ничего не забыл. Осталась сущая ерунда - все это выполнить!" _________________ Истина — это всего лишь заблуждение, которое просуществовало столетия. А заблуждение — это истина, просуществовавшая лишь минуту. |
|
|
Файтер
Загонщик
Пришел: 15.01.2012
Сообщения: 9
|
|
|
Kalessin
Разведчик
Пришел: 15.01.2012
Сообщения: 100
|
Добавлено: 16 января 2012, 21:12 |
|
|
Что же, спасибо за поддержку Признатся, не ожидал столь подробных ответов и так быстро. Вижу, еще не перевелись на форумах поклонники пз Теперь действительно осталась всего ничего - сделать задуманное Хотя работа не оставляет много свободного времени, я все равно буду делать базы, пусть они и будут готовы не скоро... |
|
|
Файтер
Загонщик
Пришел: 15.01.2012
Сообщения: 9
|
Добавлено: 16 января 2012, 22:38 |
|
|
Сейчас буду делать заплатку на базу, которую мне дал Калессин, из Evil-modа. Заплатку выложу на том же сайте... |
|
|
MorgenS
Дозорный
Пришел: 11.08.2003
Сообщения: 56
|
Добавлено: 24 января 2012, 09:27 |
|
|
Файтер, а как насчет новых врагов?
Ведь если в моде дописали новые прототипы, то даже с такой заплаткой клиента в теории будет выкидывать на соответствующих локах, ибо у него в базе эти прототипы не прописаны. |
|
|
Влесам
Охотник
Пришел: 04.01.2008
Сообщения: 76
Откуда: Ульяновск
|
Добавлено: 24 января 2012, 12:52 |
|
|
Это заплатка для серверов как раз, а не для клиентов как я понял. Тут главное чтобы человек со скином скелета не порушил БезМод едва войдя на сервер. И можно было попросить перезайти с оригинала.
Или я что-то не правильно понимаю _________________ Если ты споришь с идиотом, подумай - а вдруг он делает тоже самое? |
|
|
MorgenS
Дозорный
Пришел: 11.08.2003
Сообщения: 56
|
Добавлено: 24 января 2012, 22:29 |
|
|
Ну, такие вещи надо тестить. Так сходу можно только предположить |
|
|
Файтер
Загонщик
Пришел: 15.01.2012
Сообщения: 9
|
Добавлено: 24 января 2012, 23:42 |
|
|
Цитата (MorgenS): | Файтер, а как насчет новых врагов? |
Внедрил. Хотя не на добыло...
Цитата (MorgenS): | Ведь если в моде дописали новые прототипы, то даже с такой заплаткой клиента в теории будет выкидывать на соответствующих локах, ибо у него в базе эти прототипы не прописаны. |
Было бы правильно ели бы создатели модов, вместе со своим модом выкладывали подобную "заплатку", со всеми нововведениями, но чтоб у этих новых плюшак, все достоинства были на нуле, и чтобы они были запрятаны по глубже.
Цитата (Файтер): | Как такое возможно? Ведь мод не один, и у каждого свои изменения? Получается что каждый новый мод, будет выкладывать свою заплатку, это ведь будет полная неразбериха? |
Возможно! Если создатели модов будут сотрудничать, и наполнять свои базы, всеми нововведениями этих модов, тогда и не трудно будет объединить все плюшки в одной заплатке.
Цитата (Влесам): | Это заплатка для серверов как раз, а не для клиентов как я понял. |
Для сервера. |
|
|
|
Вы не можете создавать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы Вы можете скачивать выложенные файлы
|
Часовой пояс: GMT +4:00
|
|