Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Город Мастеров _ Neverwinter Nights Aurora Toolset _ Кастомный TLK

Автор: Vhall Jan 11 2005, 00:30

Хотелось бы узнать основные принципы работы кастомного TLK.
Как, например, задается StrRef, если нумерация кастомного совпадает с оригинальным?

Автор: Lemegeton Jan 11 2005, 09:27

Усем БАААЛЬШОЕ здарово!!! Или, как говорится, Hello, All! Вот и вышел Я из запоЯ!
И тебе, Vhall’rafein, лично и конкретно - здорово.

А работает кастомный ТЛК (далее - "этот ТЛК") примерно так:

Если у тебя в этом ТЛК строчка имеет индекс "0" то ссылаться на нее (в 2да, диалогах, и т.д...) надо как 16777216, если инедкс "1", то как 16777217 и т.д., добавляя каждый раз 16777216 к истинному индексу строки в этом ТЛК. Таким образом, избегаются "совпадения" с dialogs.tlk.

З.Ы. Если не знал, то строки в этом ТЛК не обязательно должны идти одна за другой. Но индекс ИМЕЕТ значение.

Автор: Vhall Jan 11 2005, 13:14

Привет, привет Lemegeton hi.gif
Вроде бы понятно... только выхоит каждый раз нужно будет считать crazy.gif

ЗЫ нам нужно согласовать наши ТЛК. Ведь вместе над каждым индивидуально работаем? Давай в закрытый;)

Автор: Lemegeton Jan 11 2005, 14:13

Да ну ладно, цифирь очень простая. 16 777 2 16 - Просто, как паренная репа. Уже в Закрытом.

Автор: Vhall Jan 11 2005, 15:31

При сливании ТЛК не возникает проблем? Можно спокойно это проделать без смены StrRef?

Автор: Lemegeton Jan 11 2005, 15:57

Угу. Если при сливании ТЛК файлов в одну кучу, у них (сливаемых) не окажется одинаковых индексов.

Автор: Vhall Jan 11 2005, 16:15

А если у них окажутся одинаковые индексы, но они буду пустыми?

Автор: Lemegeton Jan 11 2005, 16:21

Фуфло получится. Так получиться не должно. Индексы в ТЛК могут быть НЕПОСЛЕДОВАТЕЛЬНЫМИ. Допустим:
Мой ТЛК состоит из записей с индексами в диапазоне с 1000000 по 1999999
Твой ТЛК состоит из записей с индексами в диапазоне с 2000000 по 2999999
ТЛК Химерика состоит из записей с индексами в диапазоне с 3000000 по 4999999
При этом, в этих диапазонах МОГУТ быть пропущены строчки!
И при слиянии все будет ОК.
Для этого и надо диапазоны поделить


Автор: Vhall Jan 11 2005, 16:48

QUOTE (Lemegeton @ Jan 11 2005, 16:21)
Мой ТЛК состоит из записей с индексами в диапазоне с 1000000 по 1999999 Твой ТЛК состоит из записей с индексами в диапазоне с 2000000 по 2999999 ТЛК Химерика состоит из записей с индексами в диапазоне с 3000000 по 4999999

На этом и порешили? crazy.gif

Автор: Lemegeton Jan 11 2005, 17:03

Угу.
Только для ясности:

Lemegeton - 1000000 - 1999999
Vhall’rafein - 2000000 - 2999999
Chimeric - 3000000 - 3999999

Автор: Vhall Jan 11 2005, 17:20

Ммм... а что за параметр такой - Flags?
<small>Добавлено в 17:34</small>
бррр... а как же все таки сделать напоследовательную нумерацию? dntknw.gif

Автор: Lemegeton Jan 11 2005, 18:00

Просто при создании записи в TLK указывай номер yes.gif

Ты где это увидел параметр flags??? dntknw.gif

Автор: Vhall Jan 11 2005, 18:05

А ты что блокнот юзаешь? А насчет использвания TlkEdit'а ничего не знаешь?

Автор: Lemegeton Jan 11 2005, 18:28

Нет, я юзаю DIALOGTLK от CEP'а. Нет там ни про какие флаги => нафиг они не нужны. yes.gif

Автор: Vhall Jan 11 2005, 19:49

А как его подключать то? unsure.gif
В папку tlk положил, а в Custom Content не появляется dntknw.gif

Автор: Lemegeton Jan 11 2005, 20:52

Vhall’rafein:
Там же, где ты подключаешь хаки-паки чуть ниже есть выбор кастомного ТЛК.

Автор: Vhall Jan 11 2005, 20:58

Я так и делал. Он не отображается sad.gif

Автор: Lemegeton Jan 11 2005, 20:59

Кто - ОН и где ОН должен отобразиться??? crazy.gif

Автор: Vhall Jan 11 2005, 21:10

user posted image

Автор: Lemegeton Jan 11 2005, 21:27

Ну, что я тебе могу сказать про Сахалин? На острове хорошая погода!

Проверяй:
1. Имя файла (имеет ли оно расширение .tlk)
2. Каталог, в который ты положил этот файл smile.gif
3. Ключ HKEY_LOCAL_MACHINE\Software\BioWare\NWN\NeverWinter\Location должен быть истинным путем к игре.


Автор: Vhall Jan 11 2005, 22:52

пример-вопрос:
В моем оригинальном dialog.tlk 110640 строк (у всех так? smile.gif )
Если мне нужно указать 1 строчку из моего кастомного ТЛК, следует писать 110641 или 110642 (0 учитывается или нет?)

Автор: Nightfall Jan 11 2005, 23:00

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

Автор: Lemegeton Jan 12 2005, 13:51

QUOTE (Vhall’rafein @ Jan 11 2005, 22:52)

В моем оригинальном dialog.tlk 110640 строк (у всех так? smile.gif )

У меня 110516 строчек в Dialogs.tlk.


QUOTE (Vhall’rafein @ Jan 11 2005, 22:52)
пример-вопрос:
Если мне нужно указать 1 строчку из моего кастомного ТЛК, следует писать 110641 или 110642 (0 учитывается или нет?)

НЕТ, НЕ ВЕРНО!!!
Объясняю еще раз.

Если в кастомном ТЛК у тебя индекс строки 0 (НОЛЬ), то ссылаться к нему надо как 16777216!!! ИМЕННО это число (могу объяснить, почему именно это число, но не думаю, что это интересно)!!!

Если в кастомном ТЛК у тебя индекс строки 1 (ОДИН), то ссылаться к нему надо как 16777217!!! То есть 16777216 плюс 1 (ОДИН)!!!

И так далее, добавляя конкретно число 16777216. Еще пример:

Например, индекс строки описания заклинания будет 10000 (ДЕСЯТЬ ТЫСЯЧ), тогда в файле SPELLS.2DA в колонке (столбце, ячейке...) NAME пишем 10000+16777216, то есть 16787216. Все!

Почему разбивать диапазоны на миллионы? Очень просто! Тогда мои значения будут начинаться на 17, твои на 18, а Химерика на 19! Если захочется добавить что нибудь из других каких-нибудь готовых вещей, там, в основном, в кастомных файлах используются значения ниже миллиона. Все просто!

З.Ы. Вылезай из танка!!! smile.gif

Автор: Vhall Jan 12 2005, 17:06

Lemegeton
Это юзаешь? unsure.gif
user posted image

Автор: Lemegeton Jan 12 2005, 17:27

Его, родимого.

З.Ы. [Задумчиво] Где бы мне нормальный файлообменник накрысятничать?

Автор: Nightfall Jan 12 2005, 18:16

QUOTE (Lemegeton @ Jan 12 2005, 13:51)
В моем оригинальном dialog.tlk 110640 строк (у всех так?

Число строк в dialog.tlk зависит от версии игры: 110640 - в 1.64, 110540 - в 1.62 (моем от платинума 110518 - версия 1.59). Это стандартно, без наших с вами вмешательств.

Автор: Vhall Jan 12 2005, 18:43

QUOTE (Lemegeton @ Jan 12 2005, 17:27)
Его, родимого.

И этот редактор просит у меня знаечения StrRef не выше 149999 diablo.gif WTF?!!

Автор: Lemegeton Jan 12 2005, 21:20

Ка-а-а-ак? Че за нафиг? Нифига! Проверь еще раз! У меня все ОК! dntknw.gif
Версия 1.5 СЕР?

Если это действительно так, мне проще тебе его выслать. 380 Кб.

Кстати, разобрался с подключением ТЛК? Что было-то?

Автор: Vhall Jan 12 2005, 21:45

QUOTE(Lemegeton @ Jan 12 2005, 21:20)
Если это действительно так, мне проще тебе его выслать. 380 Кб.

Вышли пожалуйста, чтобы не мучаться vava.gif - @
QUOTE(Lemegeton @ Jan 12 2005, 21:20)
Кстати, разобрался с подключением ТЛК? Что было-то?

Реестр... crazy.gif

Автор: Lemegeton Jan 13 2005, 10:33

QUOTE
Вышли пожалуйста, чтобы не мучаться

Высылаю. Только впредь вместо символа "@" пиши слово "собака". Спам-черви знаешь, какие хитрожопые пошли? yes.gif

QUOTE
Реестр...

Гы-гы-гы. Так и знал. Ну не ошибся же ты именем файла, в конце-то концов.

Автор: Lex Jan 13 2005, 13:24

Lemegeton, как сделать свой кастомный ТЛК, который бы переписывал строки стандартного? (несколько десятков). Не хочу переделывать стандарт..

что-то мне кажется, что раз вызов строки из ТЛК моего автоматически идет с расчетом того, сколько строк в стандартном ТЛК то ничего у меня не выйдет..
Но все же, может есть выход?

Автор: Lemegeton Jan 13 2005, 13:52

QUOTE
Lemegeton, как сделать свой кастомный ТЛК, который бы переписывал строки стандартного? (несколько десятков). Не хочу переделывать стандарт..

Проще всего, поменять ссылки в 2da'шках на новые из личного ТЛК, но сработает не везде. А "перекрыть" стандартные строки из личного можно только таким образом. dntknw.gif

QUOTE
что-то мне кажется, что раз вызов строки из ТЛК моего автоматически идет с расчетом того, сколько строк в стандартном ТЛК то ничего у меня не выйдет..

Нет. Вызов строки из личного ТЛК НЕ идет автоматически с расчетом того, сколько строк в стандартном ТЛК!!! Он идет с расчетом <номер_в_личном_ТЛК>+16777216. Именно это число. И никакого другого. И количество строк в стандартном DIALOG.TLK здесь абсолютно не при чем. Абсолютно. Просто двадцать четвертый бит становится установленным в единицу, и движок автоматом берет его из личного ТЛК. yes.gif

Автор: Lex Jan 13 2005, 20:34

Аа...я думал, что просто в стандартном ТЛК 16777216 строк..буду знать.

Автор: Vhall Jan 14 2005, 00:01

Я не настроил кодировку, или TlkEditor действительно не поддерживает руский? О_о
user posted image

Автор: Lemegeton Jan 27 2005, 13:06

Умоляю, не надо пользоваться именами файлов типа f*king, s*x, adul*s и тому подобными. Мой пров намертво перекрывает мне такие ссылки. Я не вижу картинки.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)