Помощь - Поиск - Пользователи - Календарь
Полная версия: 2DA таблицы
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights 2 Obsidian Toolset > Custom Content
Страницы: 1, 2
Lex
Сабж.
И собсна первый вопрос, насколько изменились таблицы? Если изменений нет, то можно использовать инфу по таблицам НВН1, или если минимальные изменения (пара столбиков добавлено), дополнить ее.
Но если там вообще все подругому, надо описывать их заново. Кто возьмется сличить столбцы некоторых самых частоиспользуемых 2дашек?
(feats, classes, spells, placeables, appearance и тд)
DirtBiker
Я не в России живу, у меня Акеллы нету. А tlk я нашел, в корне игры лежало. Уже подредактировал и сделал новый бэйс класс Samurai. Вот только очередной одиночный вопрос: как заставить работать новые скиллы? Я добавил новый скилл в skills.2da, cls_skill_samurai.2da, добавил имя и описание в dialogue.tlk и отредактировал chargen_skills.xml, но при создании персонажа все равно пустое поле. И как его заставить работать, то, что я сделал - просто обозначение скилла, но должен быть скрипт, который работает со скиллом, никто не подскажет где он?
Vhall
2Lex
В 2да все точно так же: в некоторых появились новые столбцы, в единицах назначение столбцов слегка изменилось, а пара не поменялась совсем. prankster2.gif
Дошло до абсурда: мало того, что в appearence.2da остался столбец Portrait (причем у новых кричей он прописан. может позволяет брать другую 3д модель для портрета? или сначала надеялись на 2д?), так сам 2да взяли из первой части и добавили "пару строк".

По поводу "возьмется". Ну ты знаешь: будет настроение - я сам проявлю инициативу. Сейчас его нет. Спросят что-нибудь известное - отвечу.

2DirtBiker
Может попробовать прописать константу в nwscript и дальше с ней как-то работать? Я в скриптах не очень.
Lex
Vhall, пройдись по указанным мною таблицам и сравни плз. Те, которые остались неизменны я просто кину в вики в том виде, что они есть (разобраны под НВН1)
Vhall
Лекс, в том виде, в котором инфа по 2да представлена в Custom Content'е первого тулсета, ее выкладывать, имхо, никак нельзя.
Уж простят меня авторы, но там слишком много неточностей и ошибок.

Мож я чё накорябаю? scratch_one-s_head.gif

ЗЫ дальше, наверное, в вики раздел?
Lex
QUOTE(Vhall @ Dec 5 2006, 15:18) [snapback]99869[/snapback]
Мож я чё накорябаю?

я тока за smile.gif
QUOTE(Vhall @ Dec 5 2006, 15:18) [snapback]99869[/snapback]
ЗЫ дальше, наверное, в вики раздел?

угу
Lex
QUOTE(Vhall @ Dec 5 2006, 15:18) [snapback]99869[/snapback]
Мож я чё накорябаю?

и как корябается? smile.gif
Vhall
Есть неполная частично непроверенная инфа по:

appearance.2da
backgrounds.2da
feat.2da
racialsubtypes.2da
racialtypes.2da
race_feat_*.2da
spells.2da
grass.2da
packages.2da
pack*.2da
nwn2_deities.2da

Кому такая нужна - не знаю. Сам всех критикую за недостоверную информацию.
Narruin
Здрасте smile.gif

Подскажите как добавить свой baseitem в 2да.

Я добавил под номером 201 мечик (лонгсворд скажем) с другим весом. Создал тлк файл. Написал там название, описание, base stats. Все начиная с 16777216.
В 2да сменил все индексы описаний на соответсвующие измененные.
Добавил тлк как кастом в модуле. baseitem.2da и тлк размножил везде smile.gif в корне папки и в оверайдах, в моих документам и папке с игрой.

И ничего smile.gif Нет вещи ни в игре (там вообще не знаю как ее достать, ведь таг и блупринт нигде не менял), ни в тулсете.

Что делать? Что не так?

...вобщем кастом.тлк не работает
для нового baseitem'а (из 2да отредактированного) на ура берет строки из измененного оригинального dialog.tlk, но меня это не очень устраивает smile.gif Как сделать чтобы кастомный тлк "работал" ?
Lex
QUOTE(Narruin @ Dec 26 2006, 00:13) [snapback]100959[/snapback]
И ничего (IMG:style_emoticons/kolobok_light/smile.gif) Нет вещи ни в игре (там вообще не знаю как ее достать, ведь таг и блупринт нигде не менял)

нужно создать новый предмет с 0. Там вначале будет выбор типа, нужно соотв. найди свой новый тип и дальше создавать.

QUOTE(Narruin @ Dec 26 2006, 00:13) [snapback]100959[/snapback]
...вобщем кастом.тлк не работает

как ты это определил? тлк сам подключен к модулю? (вообще я хз как это в НВН2 работает, но не думаю что сильно отличается от того, как это делалось в НВН1)
Narruin
QUOTE(Lex @ Dec 26 2006, 01:22) [snapback]100960[/snapback]

нужно создать новый предмет с 0. Там вначале будет выбор типа, нужно соотв. найди свой новый тип и дальше создавать.
как ты это определил? тлк сам подключен к модулю? (вообще я хз как это в НВН2 работает, но не думаю что сильно отличается от того, как это делалось в НВН1)

Я создал новый предмет с 0. В выборе типа есть только названия из редактированного dialog.tlk. Из кастома base type не берется.


Соответственно и создать не получается.

"Then I've edited the description of an item using the checkbox "Custom" and specifiying an entry 0 (where I had written "Bad Strref" in my custom TLK). I say OK and... For the toolset, the line was 2147483648 !!!
I made more tests, and it seems 2147483648 is the base entry for my custom TLK, and replaces the entry 16777216 !!!"

"Yes, custom texts start at 0x80000000 which in decimal is 2147483648"

Вобщем даже если проставить в 2да индексы с 2147483648 ничего не выходит. А вот тулсет, как и написано выше, "находит" название новой вещи в поле 2147483648, что, по идее, когда то соответствовало 16777216.
Я дико запутался, но проблемку хочу решить.
Lex
а что теперь именно не выходит? Твое название в типах предметов отображается или нет?
Narruin
QUOTE(Lex @ Dec 26 2006, 02:52) [snapback]100966[/snapback]

а что теперь именно не выходит? Твое название в типах предметов отображается или нет?

Не отображается
Vhall
У меня все отлично работает. Самая главная фича - теперь тлк подключается еще до чаргена. У тебя не работает потому что:
а) Элементарная ошибка. 0 в custom tlk это 16777267 StrRef. С него начинается отсчет и в оригинальном, и в кастомном тлк. Если ты используешь WRG Content Editor, то делай поправку -1 на StrRef - в этой проге отсчет с единицы.
б) все твои "дублирования" перекрыли сами себя. Маловероятно, конечно, но на будущее: работай только с одним источником (в Моих Документах, к примеру).
в) если не отображается в игре, то не стоят нужные шрифты.
г) baseitems.2da в ресах почти идентичен первому неверу. Там есть такие столбцы, которых в нвн2 не может быть в принципе. Я склонен предполагать, что Обсидиан, в целях экономии времени, вшил вещи в игру, забил на baseitems и понадеялся на последующие патчи. Опять же маловероятно.
Narruin
QUOTE(Vhall @ Dec 26 2006, 16:59) [snapback]100996[/snapback]

У меня все отлично работает. Самая главная фича - теперь тлк подключается еще до чаргена.

Рад за тебя smile.gif Эта фича к моей проблеме мало относится.
QUOTE
а) Элементарная ошибка. 0 в custom tlk это 16777267 StrRef. С него начинается отсчет и в оригинальном, и в кастомном тлк. Если ты используешь WRG Content Editor, то делай поправку -1 на StrRef - в этой проге отсчет с единицы.

Элементарнейшая smile.gif Учитывая что в этом самом WRG Editor'е 0 = 16777216, а не ...267.

Мне надо создать блупринт на основе нового базового предмета в тулсете.
Теперь о том что работает у меня, а что нет:
1) если Name=4441 (первая попавшаяся свободная ячейка в dialog.tlk, которая заполнена мною названием нового предмета на английском!), то при редактировании свойтсва Base Item блупринта вещи в листбоксе есть мое название.
2) если Name=16777216 (или ..217, ..267, ...268 и тд; там полей 50 заполнено подряд с нулевого в кастом.тлк) , то при редактировании Base Item название отсутствует. Кастомный тлк естественно прописан в свойсвах модуля.

Вобщем я не знаю как сделать, чтобы Blueprint Properties -> Base Item брало значения из кастомного тлк.
Попробуйте кто-нибудь сами сделать (только не на словах, а на практике) и скажите что получилось и получилось ли.
Vhall
QUOTE(Narruin @ Dec 26 2006, 19:54) [snapback]101001[/snapback]
Элементарнейшая smile.gif Учитывая что в этом самом WRG Editor'е 0 = 16777216, а не ...267.

О_о Тьфу, не тот копипаст.
QUOTE(Narruin @ Dec 26 2006, 19:54) [snapback]101001[/snapback]
1) если Name=4441 (первая попавшаяся свободная ячейка в dialog.tlk, которая заполнена мною названием нового предмета на английском!), то при редактировании свойтсва Base Item блупринта вещи в листбоксе есть мое название.
2) если Name=16777216 (или ..217, ..267, ...268 и тд; там полей 50 заполнено подряд с нулевого в кастом.тлк) , то при редактировании Base Item название отсутствует. Кастомный тлк естественно прописан в свойсвах модуля.

Тогда г) бага движка
смотри сюда:
http://www.city-of-masters.ru/forums/index...st&p=101029
QUOTE
Если не работает, то Обсидиановцы, на ряду с "мега-кастомной-gui-xml" не привинтили динамический список рас. Он то выводится через RACE_LIST из racialtypes и racialsubtypes, но (по моим наблюдениям) статически (т.е. все заточено под имеющиеся играбельные расы). У меня при попытке дописать новую расу игра вылетала.

Не первый случай wink3.gif



Проверь, работает ли в игре - ведь это в итоге и нужно...

интересно, кастомный тлк подключается вообще к тулсету? biggrin.gif
Lex
надо сделать циклик и вывести в лог строчки из ТЛК. С 0 по много-много.
И посмотреть, есть ли там кастом-тлк строки, или нет.
скрипт что-то типа:
NSS
void main()
{
int nStart = 16777216;
string S;
int i = 0;
while (i<=10000)
  {
  S = GetStringByStrRef(nStart+i);// соотв. будут строки с 16777216 по 16787216. Меняя nStart  и (i<=10000) сделайте нужный диапазон
  WriteTimestampedLogEntry(S); // не уверен что в лог этим выводить
  // SendMessageToPC(GetFirstPC(),S); // Накрайняк можно так
    i++;
  }
}
Narruin
Хотел я вот так проверить кастом тлк, но модуль не желает загружаться smile.gif Пустой, только с моим тлк и скриптом расписывающим сотню строк из него.

Кстати прикол 2да smile.gif Созданный арбалет не стреляет ничем. Даже скопированный оригинальный.
А если ему добавить Unlimit ammo: bolt, то стреляет 1 раз!!! а потом исчезает.

Обсидиан издевается??!
Vhall
QUOTE(Narruin @ Jan 2 2007, 15:50) [snapback]101389[/snapback]
Хотел я вот так проверить кастом тлк, но модуль не желает загружаться smile.gif Пустой, только с моим тлк и скриптом расписывающим сотню строк из него.

А как именно не загружается? Какая ошибка и где? У меня, например, в 1.03, сейчас в тулсете не загружаются модули созданные 10 секунд назад. Что примечательно - ко всем подключен кастом тлк. Раньше такого, естественно, не было. Может кто-нибудь проверить на 1.03 - у меня баг или у Обсидиана? smile.gif
QUOTE(Narruin @ Jan 2 2007, 15:50) [snapback]101389[/snapback]
Кстати прикол 2да smile.gif Созданный арбалет не стреляет ничем. Даже скопированный оригинальный.
А если ему добавить Unlimit ammo: bolt, то стреляет 1 раз!!! а потом исчезает.

Обсидиан издевается??!

А в нвн1 так же было. Отличная вторая часть у них получилась pardon.gif
Narruin
QUOTE(Vhall @ Jan 4 2007, 00:53) [snapback]101449[/snapback]

А как именно не загружается? Какая ошибка и где?

Ошибка - кастом.тлк smile.gif Несовместимость самой идеи впихнуть шото свое с движком нвн2 smile.gif
А вистет при загрузке наглухо
Vhall
QUOTE(Narruin @ Jan 4 2007, 17:59) [snapback]101481[/snapback]
Ошибка - кастом.тлк smile.gif Несовместимость самой идеи впихнуть шото свое с движком нвн2 smile.gif

Эммм... заскринить ошибку можешь? =)
Vhall
Могу вас поздравить: версия 1.2 и ниже НЕ ПОДКЛЮЧАЕТ кастом тлк к тулсету. Версия 1.3 НЕ ОТКРЫВАЕТ модули с кастом тлк.
В игре подключает везде.
Neo
а если примитивно поправить module.ifo?
Vhall
ты про 1.2 или 1.3? если про первое то, зачем? там и так кастом тлк прописан. из тулсета smile.gif
если про второе, то можно, но только если экстренно восстанавливать. после каждого теста-правки не хоца туда-сюда менять. уж лучше на 1.2
KoYuKi
В classes.2da есть столбцы :
Plural Lower Description. Они куда ссылаются?
Lex
на dialog.tlk или кастомный диалог, если у тебя указаны индексы выше определенного значения (но ссылка на кастом щас вроде не работате)
KoYuKi
Спасибо. Разобрался.

В том же classes.2da есть столбец Constant. Что это? Для чего оно? Какова его роль?
virusman
Цитата(KoYuKi @ Sep 14 2007, 15:37) *
В том же classes.2da есть столбец Constant. Что это? Для чего оно? Какова его роль?
Это поле не используется движком и ни на что не влияет.
KoYuKi
Интересно, почему тогда в нем всегда что-нибудь есть? Например в строке Barbarian столбец Constant равен CLASS_TYPE_BARBARIAN.
Я пытаюсь создавть свой класс, хотя бы, чтобы строка в списке классов появилась. Вроде в classes.2da и dialog.tlk все как надо добавил. Все равно не появляется. Сомнения вызвает только столбец Constant.

Полностью скопировал класс Barbarian в classes.2da и добавил в соответствии с этим строчки скопированного класса в dialog.tlk, только название изменил. Запустил игру, нету копии в списках классов. Класс Barbarian есть, а его копии нет. Почему? Почему не появилась еще одна строчка со скопированным классом? Получается, что есть параметр которые регулирует колличество строк классов в игре? Или я туплю и чего то просто не понимаю?
Lex
если мне память не изменяет, то есть проблемы с созданием базового класса - это невозможно. Но можно делать престиж классы, просто убрав у них условие взятия. Отличие от базового будет в том, что его нельзя будет взять при генережке. Или переписать существующий базовый класс в свой (например у меня в модуле точно не будет паладинов, поэтому я их класс могу переписать в нужного мне самурая)
virusman
Базовыми могут быть только первые 10(?) классов.
KoYuKi
QUOTE
Или переписать существующий базовый класс в свой (например у меня в модуле точно не будет паладинов, поэтому я их класс могу переписать в нужного мне самурая)


Возможно это провернуть не заставляя игрока коверкать свой .tlk файл? Чтобы изменения касались только модуля, а не всей игры.

QUOTE
это невозможно


Должна быть возможность... просто чего то не знаем, если можно отредактировать строку, то почему нельзя добавить? Судя по всему разрабы ввели ограничение. Нужно понять как оно удаляется, или меняется его значение.
Lex
читай что Вирь написал выше - движок определяет базовые классы сам - первые ХХХХ записей в таблице. Обойти это можно только если залезть в код и там что-то поменять, на нашем уровне это ограничение не снимается. Хотя возможно в НВН2 поменялось что-то.

Цитата(KoYuKi @ Sep 15 2007, 11:16) *
Возможно это провернуть не заставляя игрока коверкать свой .tlk файл? Чтобы изменения касались только модуля, а не всей игры.

через кастомный диалог.тлк, те тот, что будет подключен к модулю, и который надо будет вместе с модулем распространять.
Oranj
Цитата(Lex @ Sep 15 2007, 03:45) *
Отличие от базового будет в том, что его нельзя будет взять при генережке.

Ты уверен? Я не знаю как было в НВН1, но в НВН2 при генерации ДМ перса можно взять ассасина, у которого требование только по скиллам. А так как у ДМа скиллы = 100, то и взять престижа можно сразу при генерации.
Lex
значит в нвн2 что-то поменяли smile.gif
KoYuKi
Каково принципиальное отличие престиж-класса от базового в classes.2da? Класс добавить так и не получается, никакой. =( Неужели только имеющиеся заменять? Я уже не говорю про базовые, хотя бы престижы бы создать.
Neo
ммм... чуть выше написано - id строк, < 11 - базовый, больше - нет
KoYuKi
QUOTE
ммм... чуть выше написано - id строк, < 11 - базовый, больше - нет

У моей строчки класса id 54. Толку никакого, как не было класса так и нет.
Neo
покажи строку smile.gif
KoYuKi

CODE
54     Bebebe     192887     192888     192889     240     ic_b_barbarian     ic_barbarian     12     CLS_ATK_1     CLS_FEAT_BARB    

CLS_SAVTHR_BARB     CLS_SKILL_BARB     CLS_BFEAT_BARB     4     ****     ****     1     0     0     0     0     0     0    

****     ****     ****     ****     0     0     0     0     0     0     16     16     14     10     10     10     STR     ****     0x02     0x1     0    

CLASS_TYPE_BARBARIAN     1     2     3     4     5     6     7     8     9     10     11     12     13     14     15     16     17     18     19    

20     CLS_PRES_NW9AG     40     0     ****     ****     0     0     20     10     ****     ****     ****     nw_armor_barb    

****     ****     ****     ****
crazy.gif
Neo
посмотрел исходный classes.2da... ммм... т.е. то, что там строки зарезервированы, эт нам пополам? smile.gif
первая пустая строка идет за номером 86 pardon.gif ну эт ладно
у тебя таблица престижа CLS_PRES_NW9AG, что там?
потом, ты передирал строку с барба, как я понял, начиная с колонки ArcSpellLvlMod, ты переврал значения, точнее они у тебя просто сдвинуты на ячейку вправо
Цитата(KoYuKi @ Sep 14 2007, 19:15) *
Интересно, почему тогда в нем всегда что-нибудь есть? Например в строке Barbarian столбец Constant равен CLASS_TYPE_BARBARIAN.

на эту тему - насколько я понимаю, это для удобства разработчиков, идентичные значениям в полях константы описаны в сриптах, больше толку от этой колонки я не вижу unknw.gif
KoYuKi
QUOTE
посмотрел исходный classes.2da... ммм... т.е. то, что там строки зарезервированы, эт нам пополам?


Пополам =)
Перенес на 87

QUOTE
у тебя таблица престижа CLS_PRES_NW9AG, что там?


QUOTE
Prerequirements table (only for prestigious classes) In this case the value is void (****), but can be set to CLS_PRES_XX

C Neverwinter nine взял. Насколько я понял там требования для получения этого престиж-класса.


QUOTE
потом, ты передирал строку с барба, как я понял, начиная с колонки ArcSpellLvlMod, ты переврал значения, точнее они у тебя просто сдвинуты на ячейку вправо


Помойму те значения не могут повлиять на появление строки Bebebe в списке классов?
Vhall
Твоя строка работает на версии 1.06

Вот пример.

Если и он не работает, то вопрос задается не в том подфоруме.
KoYuKi
QUOTE
Если и он не работает, то вопрос задается не в том подфоруме.


Не работает, обидно. sad.gif Рыжим себя чувствую. Почему, не понимаю.
Но есть момент, когда я пытался прилепить к модулю свой custom.tlk мне Тулсет говорил: "Нет доступа". У меня Vista, может поэтому. Она имеет привычку собственным приложениям доступ перекрывать.
Но почему тогда не работает и в случае, когда пишу прямо в dialog.tlk?
Vhall
Ты куда ресы пихаешь: в папку игры или папку юзеров? Попробуй в папку игры.
QUOTE(KoYuKi @ Sep 16 2007, 00:17) *
Но есть момент, когда я пытался прилепить к модулю свой custom.tlk мне Тулсет говорил: "Нет доступа".

Для правильной работы нужно прикреплять "custom". Тулсет хавает без расширения (похоже только для _загрузки_ модуля), игра - с ним. Для этого существует зеркало тлк в примере.

И не обижайся, но не один уважающий себя разработчик не использует кривые системы, когда существуют работающие альтернативы. Виста сейчас нужна только для directx10.
Несогласные (противостояние ХР-Виста не подходит под определение холивара) могут выражать недовольство мне в ПМ.
KoYuKi
QUOTE
Ты куда ресы пихаешь: в папку игры или папку юзеров? Попробуй в папку игры.

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

QUOTE
И не обижайся, но не один уважающий себя разработчик не использует кривые системы, когда существуют работающие альтернативы. Виста сейчас нужна только для directx10.


Совершенно согласен, но у меня ноут на платформе Santa Rosa, она ниче кроме Vista не хавает. Я сначала не поверли, но потом очень долго походил по Савеоловскому рынку, поконсультировался, так и есть. И в тех поддержке так же сказали. XP (как и все остальное) при установке просто не видит жесткие диски. А другую прошивку пока не сделали. Вот и маюсь.

Повторяю вопрос: "Но почему тогда не работает и в случае, когда пишу прямо в dialog.tlk?"
Vhall
У. Попал ты с платформой. Сочувствую. -_-
QUOTE(KoYuKi @ Sep 16 2007, 14:40) *
Повторяю вопрос: "Но почему тогда не работает и в случае, когда пишу прямо в dialog.tlk?"

Видимо, потому же, почему просто не работает.
Попробуй заменить какую-либо строку, используемую в игре и посмотри будут ли изменения.
Также, перепроверь, нет ли мусора в оверрайдах (мои документы, папка игры).
KoYuKi
QUOTE
У. Попал ты с платформой. Сочувствую. -_-

Спасибо...

QUOTE
Также, перепроверь, нет ли мусора в оверрайдах (мои документы, папка игры).


Забавно, убрал из Override ambientmusic.2da и папочку 2DA которую я туда случайно разархевировал когда-то, и все заработало. Большое спасибо. good.gif Всем.

KoYuKi
Файл feat.2da. Возможно ли редактировать фиты находящиеся здесь и делать свои. Или мы ограничены этим списком?
Vhall
Не ограничены.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.