Уважаемые гости и новички, приветствуем Вас на нашем форуме
Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».
Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Меня долго мучил вопрос: как сделать редактирование талантов в меню статистики быстро и без ошибок... и наконец нашел метод (см. вложение).
PS:
1) файл в формате .d, поэтому удалите расширение .txt после скачивания.
2) в файле содержится метод, а не готовый код (хотя он работает для мода "возвращение"), поэтому, возможно, вам придется местами отредактировать его...
Bump: пишем сюда обо всем, что касается работы с меню...
Чтобы работать с самими .d текстовыми файлами нужно распаковать menu.dat при помощи Gothic Sourcer 3.14. В этой же программе можно просматривать, редактировать и запаковывать все обратно в menu.dat. Это относится ко всем .dat и .d файлам. Но здесь пойдет речь именно о menu.dat.
Обычно в начале большинства .d файлов имеется пару переменных отвечающих за разметку/местрорасположение строк/рисунков в меню. Также имеется список всех этих переменных (порядок их указания и появления в файле вроде не имеют значения). Посмотрим на наглядном примере:
Добавление новых строк/надписей/заголовков в окне персонажа (кнопка B или C по дефолту):
Вот список переменных из начала файла menu_status.d (отвечает за окно персонажа):
Чтобы понять какой параметр за что отвечает нужно лишь просмотреть остальную часть файла (имеются некоторые ключевые слова по типу "Навыки Защиты" и т. д.) , все довольно интуитивно. Хочу отметить, что изначально было 75 параметров. Чтобы вывести навыки владения оружием в отдельную категорию навыков под названием "Боевые Навыки", мы добавляем новый параметр items[35] = "MENU_ITEM_FIGHTING_SKILLS_HEADING" (название придумал сам, не имеет особого значения, так для удобства). Не забываем соблюдать очередность в списке и поменять числа на N+1 для послестоящих параметров. Интересно что размер меню определяется параметрами dimx и dimy.
Мы лишь создали новый параметр, но нигде больше не указали. Игра не поймет что с ним делать. Для физической реализации добавляем следующее (желательно после навыков защиты и до навыков одноручника для целостности и удобства):
Далее смотрим на переменные отвечающие за разметку:
Код:
const int STAT_A_X1 = 500;
const int STAT_A_X2 = 2500;
const int STAT_A_X3 = 3200;
const int STAT_A_X4 = 3300;
const int STAT_B_X1 = 3900;
const int STAT_B_X2 = 6200;
const int STAT_B_X3 = 7400;
const int STAT_B_X4 = 7700;
const int STAT_PLYHEAD_Y = 300;
const int STAT_PLY_Y = 800;
const int STAT_ATRHEAD_Y = 2900;
const int STAT_ATR_Y = 3400;
const int STAT_ARMHEAD_Y = 5825;
const int STAT_ARM_Y = 6325;
const int STAT_FSHEAD_Y = 300;
const int STAT_FS_Y = 800;
const int STAT_TALHEAD_Y = 2575;
const int STAT_TAL_Y = 3075;
const int STAT_DY = 325;
Тут все довольно просто, надо лишь поэкспериментировать. Также можно посмотреть ниже в файле для каких параметров встречаются каждая из этих разметок. Для каждого параметра в окне есть расположение по x и y координатам. Можно задавать координаты для индивидуальных параметров (например задать месторасположение для заголовка "Общая Информация" через обсолютные значения posx и posy). Но придется менять расположение и многих других параметров для целостности вида, поэтому все это делается через вышеуказанные координаты разметки. Например хотим двинуть первый столбец строчек налево немного, то уменьшаем параметр const int STAT_A_X1 c 500 до 400. И все что использует эту переменную координаты сдвинеться налево на 100 единиц, в данном случае весь первый столб переменных.
В данном примере наша задача вывести "Боевые Навыки" в отдельную категорию, а не под стандартное "Прочие Навыки". Поэтому придумываем дополнительные координаты разметки, в данном случае const int STAT_FSHEAD_Y и const int STAT_FS_Y. Интуитивно параметр STAT_FSHEAD_Y будет означать разметку для высоты (координата y) для заголовка (HEAD) нашей новой категории "Боевые Навыки" (Fighting Skills или просто FS). А STAT_FS_Y будет отвечать за первую строку содержания этой категории, то есть "Владение одноручником". Также важно обратить внимание на еще один параметр const int STAT_DY. Он отвечает за дистанцию между строчками во всем окне персонажа. Поэтому для разметки "Владение двуручником" не нужно задавать новый параметр, а просто указано так:
И так далее для владения луком (2 * STAT_DY) и арбалетом (3 * STAT_DY). Если нужно иметь разные дистанции между строками можно задавать координаты вручную для этих "не стандартных" параметров. Или же можно создать новую переменную разметки, например STAT_DY2. Все объяснять бесполезно, легче понять самому изменяя по одному параметру за раз и наблюдая за изменениями в игре.
Также хотел отметить, что тут мы изменили STAT_DY с дефолта 300 на 325. Это делалось под Gothic High Resolution FONT (Cyrillic) больший шрифт более удобный для чтения. Более наглядно в скрине.
Подобным образом можно редактировать Главное Меню и много других игровых меню. Можно например вывести список сохранений/загрузок в два столбца или добавить дату и время игры в вышеуказанное меню персонажа вместо меню квестов (ну это так, в теории, чисто для любопытсва попробовать стоит).
Результат с также некоторыми визуальными изменениями можно посмотреть более подробно тут. Сравнение с оригиналом прикреплено к посту.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.