Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с 2da таблицами
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights Aurora Toolset > Custom Content
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
AliceDiren
QUOTE
Что значит на той же вкладке ниже выбрать вышесозданный TLK, на этой вкладке кроме подключения хаков ничего нет.

Ниже окошка подключения хаков есть ниспадающий список (я не умничаю, просто не знаю как подругому назвать) фалов .tlk, которые у тебя в папке TLK находятся в каталоге игры smile.gif

Neverwinter Script Source
const int nPolyBlue = POLYMORPH_TYPE_ANCIENT_BLUE_DRAGON;
const int nPolyRed = POLYMORPH_TYPE_ANCIENT_RED_DRAGON;
const int nPolyGreen = POLYMORPH_TYPE_ANCIENT_GREEN_DRAGON;

Я думаю так blush.gif
-fenix-
QUOTE (Vhall @ Sep 24 2005, 21:39)
ТЛК должен иметь расширение .tlk и находиться в папке tlk

Если бы было все так просто!!!!!!!!!
нет ни окошка ни такой папки crazy.gif black eye.gif bad.gif

AliceDiren, с константами там все нормально - это куски из другого места.
AliceDiren
У тебя все три переменные называются nPoly. Я имела ввиду назови их поразному, как например я написала smile.gif
Vhall
QUOTE (-fenix- @ Sep 24 2005, 21:49)
Если бы было все так просто!!!!!!!!!

Это как раз самое сложное
QUOTE (-fenix- @ Sep 24 2005, 21:49)
нет ни окошка ни такой папки

Ставь HotU
-fenix-
QUOTE (Vhall @ Sep 24 2005, 21:57)
Это как раз самое сложное

НУ все этапы я вроде осилел, а вот это

QUOTE (AliceDiren @ Sep 24 2005, 21:55)
У тебя все три переменные называются nPoly. Я имела ввиду назови их поразному, как например я написала

Посмотри на первой странице в этой теме, все поймешь, вообще скачай сибе эту темку, на досуге почитать очень полезно wink.gif

QUOTE (Vhall @ Sep 24 2005, 21:57)
Ставь HotU

А без ХОТУ не как, неужели в СОУ не льзя dntknw.gif


AliceDiren
Все равно не понимаю. Я вчера скачала, сделала - вроде работает. А в чем проблема?
можешь показать весь код скрипта - он не такой уж большой smile.gif
Vhall
QUOTE (-fenix- @ Sep 24 2005, 22:03)
А без ХОТУ не как, неужели в СОУ не льзя dntknw.gif

Никак. Кастомные tlk реализованы только в HotU
Добавлено в [mergetime]1127585444[/mergetime]
Хотя можно. К примеру, я в модуле использую не кастомный tlk, а основной smile.gif
Но это +2 мб веса (в 7z. другого не юзаем)
AliceDiren
Все - поняла, ты в файле polymorph.2da внес эти три константы? this.gif
-fenix-
Пытаясь сделать класс обнаружил, что в моей classes.2da нет следующих столбцов: PreReqTable, MaxLevel, XPPenalty, ArcSpellLvlMod, DivSpellLvlMod, EpicLevel, Package, которые описывает K.SpecTr на первой транице.
Vhall
Некоторые есть, а некоторых и не может быть. Не парься - ставь HotU
-fenix-
Я забил, на них и сделал свой класс, короче просто назвал его -fenix-, ну и tlk свой написал, а все остальное оставил, как у бойца, но он в игре не появляется, что может быть не так?
Vhall
-fenix-, приведи пожалуйста строку класса - тогда еще смогу что-нибудь сказать
balrog
QUOTE
Я забил, на них и сделал свой класс, короче просто назвал его -fenix-, ну и tlk свой написал, а все остальное оставил, как у бойца, но он в игре не появляется, что может быть не так?

А в тулсете появляется? через тулчет в смцсле класс видно?
Добавлено в 07:34
Ещё смотря какой класс.2да ты правил.. там их несколько. в 2да сурсе лежат помоему лишь игровые классы, нормальный (полный) 2да лежит в эксп.паке-его нвн эксплорером извлекать надо. просто например добавишь ты в 2да из сурса строку 11.... а в нормальном класс.2да строк например 32... ну и будит у тебя глючить pardon.gif
Vhall
Хинт по поиску нужного 2da:
1. Забываем про папку source в корневой директории игры
2. Открываем nwnexplorer
a) Для SoU
Сначала ищем здесь
Если нет, то здесь
б) Для HotU
Сначала здесь
Нет - здесь


AliceDiren
Ребята, объясните мне. В файле feat.2da в графе Constant обзываю свой фит определенной константой. Почему она (константа) не понятна редактору скрипта? Сам фит работает нормально, именно так, как нужно.
Kalian
QUOTE (AliceDiren @ Sep 28 2005, 11:52)
Ребята, объясните мне. В файле feat.2da в графе Constant обзываю свой фит определенной константой. Почему она (константа) не понятна редактору скрипта? Сам фит работает нормально, именно так, как нужно.

Может нужно в "nwscript.nss" прописать константу еще?
AliceDiren
Kalian , я так и сделала, только тогда зачем в 2da таблице указывать константу? Не совсем поняла dntknw.gif
Добавлено в [mergetime]1127910583[/mergetime]
Вернее совсем не поняла smile.gif
Kalian
QUOTE (AliceDiren @ Sep 28 2005, 15:29)
Kalian , я так и сделала, только тогда зачем в 2da таблице указывать константу? Не совсем поняла dntknw.gif 
Добавлено в 15:29
Вернее совсем не поняла smile.gif

Ну незнаю... В "nwscript.nss" ты устанавливаешь значение для константы, а в "feats.2da" константу для фита.. Наверно так... )
AliceDiren
Kalian , в nwscript указываешь, например
Neverwinter Script Source
int FEAT_GOLD_ARROW = 123;
    //Где 123 - номер фита из колонки ID,
    //которая помоему единственно заэтим и нужна
Lex
QUOTE (AliceDiren @ Sep 28 2005, 16:29)
Kalian , я так и сделала, только тогда зачем в 2da таблице указывать константу? Не совсем поняла dntknw.gif
Добавлено в 16:29
Вернее совсем не поняла smile.gif

реально она (константа) там в 2да нафиг не нужна. Она не используется.
Все, что нужно это ID, это САМОЕ важное. Я бы даже в нвскрипт не вписывал константу, а просто использовал бы число, если это нужно в 2-3 скриптах. smile.gif
AliceDiren
Lex , поясни, пожалуйста, а зачем нужно ID и чем оно самое важное. У мну в таблице 1072 фита вместе с моим. Сколько ни меняла ID, результат один - как был 1072, так им и остался. Тут как-то Lemegeton писал, что движок просто считает номера строк сам, по-моему так и есть. Если я не права, извини.
Lex
ты права, по поводу того, что что бы ты туда не ставила, движок будет смореть номер строки. Собствено говоря ИД я имел ввиду имено номер строки в таблице. Потому как НВН только так, по номеру строки, берет из 2да строки. Собсна самое важное оно имено по этому. smile.gif
\\ я с долей иронии говорил про важность, но тем не менее. smile.gif
-fenix-
Поставил ХотУ, но заклинание ни где не появляется, вот spells.2da sad.gif

Это называется l_Polymorph_Drgn
CODE

ID, Label 414.

Name - 16777226

IconsRef - is_PolyFey

School - T

Range - P

VS - v

MetaMagic - 0x1a

TargetType - 0x01

ImpactScript - l_poly_drgn

Bard, Cleric, Druid, Paladin, Wiz_Sorc - 1

Innate - 1

ConjTime - 1500

ConjAnim - ****

ConjHeadVisual - ****

ConjHandVisual - то же но для рук.

ConjGrndVisual - ****

ConjSoundVFX - ****

ConjSoundMale - vs_chant_ench_hm

ConjSoundFemale - vs_chant_ench_hf

CastAnim - ****

CastTime - ****

CastHeadVisual, CastHandVisual, CastGrndVisual - ****

CastSound - ****

Proj, ProjModel, ProjType, ProjSpwnPoint, ProjSound - ****

ImmunityType - ****

ItemImmunity - 0

SubRadSpell - 415, 416, 417

Category - ****

Master - ****

UserType - 1

SpellDesc - 16777236

UseConcentration — 0

SpontaneouslyCast - 0

Altmessage — ****

HostileSetting - 0

FeatID - ****




Дальше за ним l_Polymorph_Drgn_Blue и за ним еще 2 - точные копии этого, только ссылки на tlk у них свои
CODE

ID, Label 415.

Name - 16777227

IconsRef - is_PolyFey

School - T

Range - P

VS - s

MetaMagic - ****

TargetType - 0x01

ImpactScript - l_poly_drgn

Bard, Cleric, Druid, Paladin, Wiz_Sorc - 1

Innate - 1

ConjTime - 500

ConjAnim - hand

ConjHeadVisual - ****

ConjHandVisual - vco_mehannatr03

ConjGrndVisual - ****

ConjSoundVFX - sco_mehannatr01

ConjSoundMale - vs_chant_ench_hm

ConjSoundFemale - vs_chant_ench_hf

CastAnim - out

CastTime - 1000

CastHeadVisual, CastHandVisual, CastGrndVisual - ****

CastSound - ****

Proj - 0

ProjModel, ProjType, ProjSpwnPoint, ProjSound - ****

ImmunityType - ****

ItemImmunity - 0

SubRadSpell - ****

Category - ****

Master - 414

UserType - 1

SpellDesc - 16777237

UseConcentration — 0

SpontaneouslyCast - 0

Altmessage — ****

HostileSetting - 0

FeatID - ****


Момогите плиз!
Vhall
QUOTE (-fenix- @ Sep 29 2005, 20:48)
FeatID - ****

QUOTE (-fenix- @ Sep 29 2005, 20:48)
FeatID - ****

Ты забыл про "дублирование" закла в feats.2da и столбец OnMenu в cls_feat_<нужный класс>.2da
Перечитай посты Лема. Там про это написано
AliceDiren
И снова у меня вопрос - я делала свой класс, у меня даже получилось, вот только с ним возникли две проблемы.
1. Когда только начинаешь играть и игра предлагает тебе создать нового героя мой класс почему-то нельзя выбирать. Хотя, если выбрать стандартный класс, то потом при повышении уровня можно спокойно выбрать и мой.
2. Хотя я ставлю что этот класс может кастовать заклинания, указываю (по примеру sorcerer'а) таблицы изучаемых заклинаний, при поднятии уровня игра нахально все мои старания игнорирует и даже не показывает окошко, где можно выучить заклинания.
Помогите shout.gif

Вот строки из classes.2da:
CODE

39   Necromant          16777254   16777255   16777256   16777257      IR_PALEMA      6        CLS_ATK_3          CLS_FEAT_NECRO    CLS_SAVTHR_NECRO   CLS_SKILL_NECRO    CLS_BFEAT_NECRO    4                CLS_SPGN_NECRO   CLS_SPKN_NECRO    1             1             10    14    14    10    12    16    CHA           0x00            0x0               0                CLASS_TYPE_NECROMANT          1            2            3            4            5            6            7            8            9            10           11           12           13           14           15           16           17           18           19           20           ****              0          1           0                0                -1          9001      


, а вот из packeges.2da:
CODE

131   Necromant                          16444257   16444258      9001      CHA         100    0        ****      ****      10          PackSPWis1      PackFTSor1     PackSKWiz1     PackEQSor1     0          1      

Добавлено в [mergetime]1128165692[/mergetime]
Снимаю первый вопрос, как политически неграмотный. Разобралась. Нужно, что бы свой класс занимал одну из 10 первых строк. Тогда его можно выбирать, как базовый. Но насчет второго помогите пожалуйста. this.gif
AliceDiren
Моя эпопея с классами продолжается. Я сделала так: на строчку Барда (пробовала со всеми кастерами) в classes.2da вписала свой класс, внесла соответственные изменения в packages.2da, так теперь игра показывает окно в котором учатся заклинания, только там нет ни одного заклинания. Вообще. swoon.gif Каждый раз, когда поднимаю уровень, он показывает это пустое окошко и не поднимает уровень заклинателя (я имею ввиду уровень заклинаний (0-9)) - доступен только 0-й, и тот путой cray.gif
Lemegeton
AliceDiren: Там очень много такого, о чем говорят, разводя руками: "Движковое". pardon.gif
По секрету: у меня не получилось переквалифицировать барда в клерика... wink.gif
Vhall
QUOTE (Lemegeton @ Dec 27 2004, 11:37)
З.Ы. Тут есть сложность. В этом файле (cls_feat_***.2da) описывается, где будет находится "иконка" активного фита. Непонятно, как сделать активный фит, который могут использовать ВСЕ классы?!

Та же проблема. Кто-нибудь ее решил?
Добавлено в [mergetime]1129463270[/mergetime]
И еще. В чем измеряется CastTime и ConjTime? Очень хотелось бы сделать задержку в 1 раунд
Lex
я так и не решил. В итоге всем классам прописывал.
AliceDiren
QUOTE
В чем измеряется CastTime и ConjTime?

Vhall, насколько я поняла - в милисекундах. ИМХО.
Lex
так.. 1 небольшой момент, который может кто не знает. (хотя это можно посмотреть в стандартных заклах этого фита. smile.gif )
При написании своего фита полиморфа, который имеет несколько форм (см стандартные фиты WildShape и прочие) есть 1 подводный камень при прописывании спеллов под фит.
в столбце FeatID ссылку на фит ставим только у 1 нашего закла (который мастер в данном случае)
у остальных (у которых в поле Master идет ссылка на тот закл) в столбце FeatID пишется СОВЕРШЕННО ДРУГОЕ
Что-то типа этого: 66125824. Причем числа НУЖНО делать разными.
пример: 66060288, 66125824, 66191360, 65929520, 66256896.


А кто мне объяснит, что это за хрень?
Nashman
Как узнать стандартные ссылки на ResRef и текстуры?
Vhall
ResRef в широком понимании это
QUOTE (Vhall @ Oct 15 2005, 21:26)
Ссылка (ResRef - Resource Reference) на прегенеренный ресурс.

Существуют разные типы ресурсов, но тебе наверняка, нужна ссылка на tlk.
Качай Baldur's Legacy Toolkit и ищи нужную строку.
Nashman
QUOTE
Существуют разные типы ресурсов, но тебе наверняка, нужна ссылка на tlk.
Качай Baldur's Legacy Toolkit и ищи нужную строку.
Если это мне то я скачаю, но все равно не понял, там как-то видно?

ПС: Понемаю что глупо звучит, но фантазии уже нет....пока нет...
Lex
в 2да бывают ссылки на текст. (например в таблице фитов это ссылки на название и описание). Так как текст туда в таблицу вбивать это самоубийство, была придумана система 2да-тлк. В 2да таблице пишется строка (номер строки) из тлк, откуда игра будет брать текст. Вот и получается что в столбцах name и description мы иммеем циферки.

Вообще тебе надо более четко формулировать вопрос. Наш старый чтец мыслей ушел с форума из-за гигантских перегрузок, а нового мы пока не нашли. Так что пиши нормально то, что ты не понимаешь, а то не поймем мы.
Nashman
QUOTE

Вообще тебе надо более четко формулировать вопрос
OK! good.gif
Тоесть (я еще не полностю перешел из графики сюда и по этому такие вопросы...) можно редактировать 2да файлы? Добавлять свое, убырать не нужное и потом в хак-пак.
И совсем свой(другое название) 2да делать. Это так?
Lex
QUOTE (Nashman @ Oct 21 2005, 15:43)
можно редактировать 2да файлы?

да.
QUOTE (Nashman @ Oct 21 2005, 15:43)
Добавлять свое

да.
QUOTE (Nashman @ Oct 21 2005, 15:43)
убырать не нужное

будут глюки, если убирать столбцы. Строки можно, но тоже аккуратно. Золотое правило: "Не знаешь - не трогай".
QUOTE (Nashman @ Oct 21 2005, 15:43)
И совсем свой(другое название) 2да делать. Это так?

создай файл с расширением .2da
можно тем же тулкитом. потом в скриптах функцией
Neverwinter Script Source
// Gets a value from a 2DA file on the server and returns it as a string
// avoid using this function in loops
// - s2DA: the name of the 2da file, 16 chars max
// - sColumn: the name of the column in the 2da
// - nRow: the row in the 2da
// * returns an empty string if file, row, or column not found
string Get2DAString(string s2DA, string sColumn, int nRow)
Alaron
Дамы и господа, извините за столь бесцеремонное вторжение в обсуждение темы, но у меня вопрос: можно ли (и если можно, то как) заменить существо компаньона (например, у друида), скажем, на дракона? И каким образом будет меняться тот же дракон с ростом уровня персонажа?
AliceDiren
Alan, есть такие файлы hen_companion.2da для друидов и hen_familiar.2da для магов (wiz/sorc). Помоему это делается там. Но я сама не пробовала dntknw.gif
Alaron
QUOTE (AliceDiren @ Oct 31 2005, 00:48)
Alan, есть такие файлы hen_companion.2da для друидов и hen_familiar.2da для магов (wiz/sorc). Помоему это делается там. Но я сама не пробовала 

А в файле самого персонажа это, часом, не прописывается? Логичнее искать там, хотя... dntknw.gif
AliceDiren
Alan, так ты хочешь поменять в уже сгенерированном персонаже или у класса вообще? Если в сгенерированном, то хм... даже не знаю. Если у классов, то нужно изменять 2DA таблицы.
Lex
не важно где менять. Все равно игра из тех таблиц все берет. Ты при выборе фамильяра не пантеру выбираешь, а номер. Если в 2да туда прописать дракона, то будет соотв. никак не пантера.
QUOTE (Alan @ Oct 30 2005, 22:59)
А в файле самого персонажа это, часом, не прописывается? Логичнее искать там

не знаешь, не говори.
Lex
Хранится номер фамильяра/анимала и имя. По этому номеру берется резреф из таблицы и создается соотв. существо.
хранится номер в FamiliarType, тип INT32
значения такие:

CODE

0 Bat
1 Panther
2 Hell Hound
3 Imp
4 Fire Mephit
5 Ice Mephit
6 Pixie
7 Raven
8 Fairy Dragon*
9 Pseudodragon*

SoU version


Это тем, кто вдруг не знал.
Alaron
С hen_companion.2da возникли сложности.
Пример: есть пантера (в HotU):
CODE
    NAME        BASERESREF   STRREF   DESCRIPTION
5   Panther     NW_AC_PANT  5991       5992


Так вот, baseresref обнаруживается в Blueprint, Creatures. А вот где искать stref и description - не ясно. Здесь же вопрос чем редактируется файл *.utc и как компенсировать отсутствие роста уровня, например, дракона при росте уровня персонажа? Или этот рост также необходимо прописать в *.utc?
Vhall
NAME - имя строки. только для 2da
BASERESREF - синька призываемого крича. с кастомными ресурсами (в т.ч. со своими, прописанными в модуль, синьками), скорее всего, не работает.
STRREF (String Reference) - ссылка на тлк-строку названия существа.
DESCRIPTION - ссылка на тлк-строку описания существа

QUOTE (Alan @ Nov 1 2005, 12:16)
Здесь же вопрос чем редактируется файл *.utc

.utc - синька крича. nwtoolset.exe. ну, или GFF Editor, на худой конец
QUOTE (Alan @ Nov 1 2005, 12:16)
Или этот рост также необходимо прописать в *.utc?

не пропишешь по определению
QUOTE (Alan @ Nov 1 2005, 12:16)
как компенсировать отсутствие роста уровня, например, дракона при росте уровня персонажа?

это не ко мне...
dumbo
Alan,
все ссылки из 2да типа strref, description и прочие ссылаются на номер строки в dialog.tlk(редактировать tlkeditor'ом) или, если больше 16777216(0x1000000), в кастомный .tlk(в свойствах модуля подключается). *.utc напрямую редактируется GFF editor'ом(от Bioware), а вообще - все прекрасно редактируется в тулсете wink.gif
рост уровня хенча производится вызовом из скрипта на модульном слоте OnPlayerLevelUp соответствующей процедуры(например LevelHenchmanUpTo(из x0_i0_henchman))
Alaron
Результат таков:
Изменен hen_companion в HotU:
CODE

          NAME       BASERESREF     STRREF   DESCRIPTION  
0          Badger     NW_AC_BADGER   1993     5569          
1          Wolf       NW_AC_WOLF     1578     5929          
2          Bear       NW_AC_BEAR     1580     5986          
3          Boar       NW_AC_BOAR     1577     5988          
4          Hawk       NW_AC_HAWK     5989     5990          
5          Panther    NW_AC_PANT     5991     5992          
6          Spider     NW_AC_SPID     1573     5993          
7          Direwolf   NW_AC_DWLF     10526    5994          
8          DRGSILV    NW_DRGSILV001  110520   110521          

110520 - сделана запись "Серебряный Дракон", 110521 - вставил стандартное описание.
То есть крыса заменена на серебряного дракона.
В 2da вставить файл не удалось, поэтому переписал в оверрайд.
Результат - при создании персонажа пустое окошко. Крыса пропала, дракон не появился. Что делать?
dumbo
Alan,
BASERESREF - это начало резрефов твоего крича. например, BASERESREF ставим NW_AC_DRAK - тогда ты должен сделать 40 крич(суть 40 видов одного) с резрефами от NW_AC_DRAK01 до NW_AC_DRAK40. цифра в конце соответствует уровню друида, к которому будет приходить это "жывотнае". крича с резрефом NW_AC_DRAK01 насаммонится, если герой будет первого уровня, NW_AC_DRAK10 - если 10го... надеюсь, теперь не будет проблем. wink.gif
Alaron
QUOTE (dumbo @ Nov 2 2005, 16:01)
BASERESREF - это начало резрефов твоего крича. например, BASERESREF ставим NW_AC_DRAK - тогда ты должен сделать 40 крич(суть 40 видов одного) с резрефами от NW_AC_DRAK01 до NW_AC_DRAK40. цифра в конце соответствует уровню друида, к которому будет приходить это "жывотнае". крича с резрефом NW_AC_DRAK01 насаммонится, если герой будет первого уровня, NW_AC_DRAK10 - если 10го... надеюсь, теперь не будет проблем. 

О, Мать Природа!!!! swoon.gif Надеюсь, если всю эту беду переписать в оверрайд, то проблем также не будет, т.к. bif-editor тоже глючит... unsure.gif
Так, сделал все, как написано. Однако из оверрайда результат тот же. this.gif dntknw.gif
Vhall
QUOTE (Vhall @ Nov 1 2005, 13:24)
BASERESREF - синька призываемого крича. с кастомными ресурсами (в т.ч. со своими, прописанными в модуль, синьками), скорее всего, не работает.


Добавлено в [mergetime]1130950792[/mergetime]
Перебери стандартные синьки
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2025 Invision Power Services, Inc.