Mandrake
Nov 1 2012, 09:35
Anakondar, большое спасибо, попробую
Heather
Jan 18 2013, 21:37
Здравствуйте! Я довольно долго делаю модуль, сейчас столкнулась с такой проблемой: хочу сделать NPC свои портреты. Т.е. для этого нужно картинки засунуть в Хак Пак, так? Нужно ли изменить им расширение? Как потом этим хак паком пользоваться? Я знаю, где его добавить, но где появятся мои новые портреты? И можно ли добавить музыку, какие-то свои аудио-файлы? Вот такие вопросы. Заранее извиняюсь, если на этот вопрос уже где-то отвечали или я написала не в ту тему...)))
Melisse
Jan 18 2013, 22:47
Портреты
вот тут почитайМузыка - нужно добавлять треки в
ambientmusic.2da
префикс mus_*
Желательно не больше 2:00 минут (можно и больше, ограничения чисто интуитивные, так как все треки примерно так)
В хак нужно добавить только 2da, а файл кидать в music. Хотя можно, наверное, и в хак... не знаю.
Со звуками сложнее.
Их несколько видов.
Для добавления новых звуков для существ придется создавать звуковые схемы
работа с такими 2da как:
footstepsounds.2da
AppearanceSndSet.2da
soundset.2da
Чтобы появился в игре - запакуй в хак пак сам звук, 2da и добавь.
чтобы просто добавить звук для выставления его объектом в локацию
нужно сделать его моно, 16бит, то ли 8бит (не помню)
и задать один из префиксов для деление его в категорию. Эти префиксы можно поглядеть при создании нового звука в тулсете.
Чтобы появился в игре - запакуй в хак пак и добавь.
Можно сделать новый амбиент звук в локацию. Он уже может быть стерео и желательно, да. Он проигрывается постоянно и его нужно сделать петлей в звуковом редакторе, иначе будет лажа. Эти файлы не надо скидывать в хак пак, а класть в папку ambient, в каталоге с игрой. Нужно еще 2da редактировать - это AmbientSound.2da, вроде.
И в хак отправляешь только сам 2da файл
Еще можно добавлять новые звуки для ударов оружия/стука брони/ходьбы персонажа по поверхностям (правда только на замену)
Можно так же озвучивать диалоги, манипуляции примерно такие же как и со звуковыми объектами в локацию.
Heather
Jan 19 2013, 00:12
Melisse, спасибо большое!
Heather, вот тут есть туториалы по авроре, почитай:
Aurora Toolset Tutorial (BioWare)Aurora Toolset Tutorial (WRG!)Очень много вопросов отпадет. Написано специально для новичков которые делают модули сами.
Heather
Jan 20 2013, 15:49
Aiwan, спасибо. Я модули для себя и друзей делаю где-то с 2009 г., а об этом замечательном форуме узнала только сейчас((.. Сейчас уже интересуюсь скриптами посложнее.
Heather, если задаешь ТАКИЕ простые вопросы, то значит мануалы не повредят. В них есть инфа которой ты не знаешь и которая не повредит. Поверь.
Насчет скриптов. Тут есть тема в помощь новичкам, там почти все простые основные скрипты есть. Разберешься в них, научишься писать сама.
Ну и велкам
mrKilljoy
May 3 2013, 15:23
Доброго времени суток, господа!
После застоя лет в пять взялся за "Аврору" и не могу понять, почему созданные НПС (уникальные для пишущегося мода) не появляются в самом моде, когда я пытаюсь его потестить? Можете подсказать, на что обратить внимание?
Ollone5
May 6 2013, 16:36
То есть ты разместил их в локациях, но при заходе в игру никого не нашел?
mrKilljoy
May 18 2013, 20:12
Цитата(Ollone5 @ May 6 2013, 15:36)

То есть ты разместил их в локациях, но при заходе в игру никого не нашел?
Точно.
Здравствуйте. Вот решил немного отвлечься от моддинга одной игры и выбрал Невервинтер, ибо игрушка мне очень нравится и первая часть больше второй. Скажите - можно ли сделать так, чтобы при незаконных действиях стражники пытались тебя оглушить и после того ты попадал в тюрьму, но потом тебя выпускают? Пример:
1. Ты украл что-то и спалился
2. Стражники начинают тебя чморить и всё таки завалили
3. При системе отрицательного здоровья(потеря сознания при "здоровье<0") ты оказываешься в тюремной камере.
4. Либо "Прошло 2 года" и тебя выпустили, либо тебя отмазали влиятельные персоны(К примеру батя-староста посёлка или друг-принц и т.д.)
5. Отмазывать тебя будут раза 2 или 3 - далее на тебя плюнут и ты просидишь в карцере до конца дней.
Melisse
Jun 3 2013, 10:35
Можно, но очень сложно и с некоторыми нюансами. Боюсь то, что получиться в результате долгих мучений и настроек/устранения багов всего этого - вас не устроит.
А систему голода кто-нибудь создавал? К примеру 0-8 часов после поедания чего-нибудь у тебя сытость, 8-11 слабый голод, 11-17 голод(тут минус к хар-кам), 17+ сильный голод(сильный минус к хар-кам и нанесение дамага в геометрической прогрессии(Чем у тя больше КЗ и ХП тем больше проживёшь голодным))
Вот возник вопрос по существу - как сделать так, чтобы NPC подходил к игроку при его входе в локацию(модуль)?
Melisse
Jun 3 2013, 13:49
1. Делали. На буржуйских шарда очень часто можно увидеть.
2. Тут 2 варианта - либо через персиптион эвент, либо через триггер.
Все это можно заскриптовать в нвн-скриптинге в той или иной форме. Вопрос в другом - как это будет работать. Потому что мало написать код - его еще надо отшлифовать и обезбажить.
Вы такие вопросы задаете - характера, выдать готовое решение вопроса - это никто не будет так делать. Вряд ли кто-то захочет делать это за вас.
gennady
Jun 3 2013, 21:25
Цитата(DOC @ Jun 3 2013, 11:35)

Вот возник вопрос по существу - как сделать так, чтобы NPC подходил к игроку при его входе в локацию(модуль)?
читайте пост:
http://www.city-of-masters.ru/forums/index...st&p=110735Цитата(DOC @ Jun 3 2013, 09:47)

Скажите - можно ли сделать так, чтобы при незаконных действиях стражники пытались тебя оглушить и после того ты попадал в тюрьму, но потом тебя выпускают?
Можно, и уже реализовано
Aiwan-ном в Монете судьбы:
http://wrg.ru/download.php?list.2 и в нашем модуле тоже есть такая фишка...
Цитата(gennady @ Jun 4 2013, 00:25)

Можно, и уже реализовано Aiwan-ном в Монете судьбы и в нашем модуле тоже есть такая фишка...
Я знаю, но там ты со стражей не дерёшься - тебя просто на 3-4 раз открывания сундука или если ты своровал, когда тя заметили. За это упекает в тюрьму - стража пришла сказала реплику и если ты не убедил их то ушла и ты оказываешься в тюрьме. Просто от стражи то можно и убежать, от стражи можно избавиться.
Flaristan
Jun 6 2013, 03:55
Цитата(mrKilljoy @ May 3 2013, 14:23)

Доброго времени суток, господа!
После застоя лет в пять взялся за "Аврору" и не могу понять, почему созданные НПС (уникальные для пишущегося мода) не появляются в самом моде, когда я пытаюсь его потестить? Можете подсказать, на что обратить внимание?
Это «
ошибка класса пурпурно дракона» - про нее на этом форуме время от времени поднимают вопросы.
По поводу всего остального - так же ранее много раз уже отсылал:
Цитата(Flaristan @ Jun 13 2012, 09:21)

Как поймать лису за хвост,
Как достать рукой до звезд,
Как из камня сделать пар,
Знает доктор наш Гаспар! (с)
P.S.:
Цитата(DOC @ Jun 3 2013, 10:35)

А систему голода кто-нибудь создавал?
Создавали ее все, кому не лень. И все по примерно этому же принципу. Лично я, а так же многие другие знакомые мне игроки считают все это одним большим геморроем – даже для синглплеера это выглядит, по меньшей мере, глупо и жутко неудобно.
Тут упоминали проекты – недавно посмотрел модуль Рыцарская Сага, про который тут на форуме писали, там такая система так же есть, если говорить о примерах. И она так же выглядит скорее не как усталость от недосыпания, а как «тыквенное проклятие» Золушки, которое превращает с 12 ударом часов карету в тыкву, в данном случае персонажа - в неповоротливую флудящую об усталости тыкву, медленно ползущую битый километр до своей кровати, чтоб от этого проклятия избавиться. Не поймите неправильно - сам модуль вполне хорош и продолжает традиции Проклятия Левора, но такие моменты мой мозг всегда просто убивают.
Кстати в своем онлайн-модуле и я сделал для персонажей голод и усталости, однако, недоедание и недосыпание к примеру там вызывает лишь небольшие штрафы к скорости передвижения (-10% и -15% соответственно). Так что штрафы за них не то что геморрой привносят в игру, а даже не сразу в глаза бросаются и ощущаются только в сумме с другими. Чего и всем желаю.
Русификатора к скриптгену нету случаем?

Никак не могу заставить сидеть людишек всё время(отдыхать). Это точно скриптами делается(перековырял компании, в монету судьбы залез - всё бестолку, несгибаемые стражники)?
Melisse
Jun 16 2013, 11:21
Он не нужен.
Что значит сидеть? На земле? или что? Выражайте мысли яснее. подобного рода скриптов навалом.
Ставьте на OnSpawn существа
Neverwinter Script
void main()
{
DelayCommand(1.0f, AssignCommand(OBJECT_SELF, ActionPlayAnimation(ANIMATION_LOOPING_SIT_CROSS, 1.0, 99999.0)));
DelayCommand(3.0, SetCommandable(FALSE, OBJECT_SELF));
}
Flaristan
Jun 17 2013, 06:17
Русификации к скрипт-генератору насколько мне известно нет. Хотя конечно можно попробовать поискать – но вряд ли. Переводить там немного и вполне можно самостоятельно, хотя бы с помощью
этого. Однако большинство ситуаций предполагает, что пользователь хоть сколько-нибудь знаком с тулсетом, а так же терминологией модулестроения. Поэтому советую читать
Lexicon. Полных переводов его тоже нет, равно как и перевода на русский язык языка программирования С++ использующегося в скриптах НВН. Поэтому английский учить советую в любом случае.

Так же существует несколько неплохих русских обучалок по тулсету которые рекомендованы к прочтению любому модульмейкеру:
-
оригинальный;
-
от создателей ПЛ;
-
от создателей РС.
По поводу сидения НПС на стульях/чем угодно: на самом деле если вам нужен скрипт (особенно для онлайн модуля) который заставит определенного НПС все время сидеть на стуле/чем-либо – то это лучше всего делать скриптом на OnHeartbeat, который запускается с объекта постоянно с интервалом в 6 секунд. В противном случае сидение НПС может быть прервано и не возобновлено никак (если это OnSpawn эвент – то он сработает только единожды при спавне НПС, причем при этом еще не следует путать спавн НПС и размещение его в модуле вручную, чем последнее не является). Плюс в скрипт на OnHeartbeat можно добавлять массу условий которые вместе со спецификой автовыполнения его постоянно превратят простую команду для НПС в его поведение.
Например с помощью скриптгена создание такого скрипта будет выглядеть так:
- Normal script
- NPC heartbeat
- (Okay, Cansel)
- Other actions and action queues
- SCRIPT
- Assign queue to the owner of the script
- Sit down on object
- (ввести/скопировать таг объекта)
- Okay – exit!
- Close
Результат:
Neverwinter Script
void main()
{
object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN);
if (IsInConversation(OBJECT_SELF) || GetIsInCombat()) return;
ActionSit(GetObjectByTag("TAG_OF_SIT"));
}
Помещать его стоит соответственно на OnHeartbeat НПС – скрипт заставить его всегда сидеть на объекте с указанным тагом исключая ситуации боя и диалога.
Anakondar
Jun 19 2013, 16:24
Цитата(Flaristan @ Jun 17 2013, 07:17)

причем при этом еще не следует путать спавн НПС и размещение его в модуле вручную, чем последнее не является
Однако же спаун уже размещенных при старте модуля запускается)
Melisse
Jun 19 2013, 18:56
Цитата
Neverwinter Script
void main()
{
object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN);
if (IsInConversation(OBJECT_SELF) || GetIsInCombat()) return;
ActionSit(GetObjectByTag("TAG_OF_SIT"));
}
ужос на хербит такое
автопрограммы написания скриптов всегда удивляли
на ваулте полно скриптов с сидением, тут на форуме тоже. Есть даже база скриптов - наверняка там будет что-то такое.
если уж делать на OnHearbit, то по уму:
Neverwinter Script
void main()
{
object oNPC = OBJECT_SELF;
if (IsInConversation(oNPC ) || GetIsInCombat())
return;
if (GetCurrentAction(oNPC ) != ACTION_SIT) // Проверим сидит ли уже
{
object oSit = GetNearestObjectByTag("PLC_NPC_BENCH", oNPC ); // стул рядом с тэгом
if(GetIsObjectValid(oSit) && GetIsObjectValid(GetSittingCreature(oSit))) // Стул есть и на нем никто не сидит
{
AssignCommand(oNPC , ActionSit(oSit)); // присаживаемся
}
}
}
Flaristan
Jun 20 2013, 10:53
Цитата(Anakondar @ Jun 19 2013, 15:24)

Однако же спаун уже размещенных при старте модуля запускается)
Запускается… но не всегда. В свое время вроде боролся с подобным.
Цитата(Melisse @ Jun 19 2013, 17:56)

если уж делать на OnHearbit, то по уму
Ну, если по уму, то там и
Neverwinter Script
SetCommandable(FALSE, OBJECT_SELF);
можно добавить тоже… и еще по обстоятельствам - просто фишка в том, что и такой вариант будет вполне рабочий в большинстве ситуаций, а получить его можно не зная С++ вообще.
mrKilljoy
Jun 20 2013, 16:35
Здравствуйте снова.
Такой вопрос возник - отчего-то не хочет работать простенький скрипт.
Цитата
void main()
{
object oPC = GetEnteringObject();
AssignCommand(oPC, ClearAllActions());
AssignCommand(oPC, ActionSpeakString("Как только Вы подходите к северной границе, тучи сгущаются и отдалённый рокот грозы разносится вдалеке. Лес словно зовёт Вас обратно."));
}
Как пишет моя корявая русификация "Авроры",
ОШИБКА: НЕПОНЯТНОЕ УСЛОВИЕ КОМПИЛЯТОРА. При этом вполне спокойно сохраняет текст латиницей или не превышающий где-то 50 символов. В чём проблема и как её решить?
Melisse
Jun 20 2013, 16:58
mrKilljoyПатч дамбо стоит на букву "я"? Может быть из-за нее. В оригинальном тулсете она вылетала при компиляции как ошибка.
http://wrg.ru/download.php?view.109FlaristanЦитата(Flaristan @ Jun 20 2013, 10:53)

Запускается… но не всегда. В свое время вроде боролся с подобным.
Ну, если по уму, то там и
Neverwinter Script
SetCommandable(FALSE, OBJECT_SELF);
можно добавить тоже… и еще по обстоятельствам - просто фишка в том, что и такой вариант будет вполне рабочий в большинстве ситуаций, а получить его можно не зная С++ вообще.

Neverwinter Script
SetCommandable(FALSE, OBJECT_SELF);
В данном случае (с отключением стэка) по уму лучше на OnSpawn. У такого рода НПЦ (которые садятся и все и вставать не должны) лучше вообще вырубить все скрипты, кроме одного OnSpawn, в котором будет усаживаться НПС и потом стэк команд отключаться. Если хочется чтобы он говорил - можно еще скрипт на диалоге оставить. Остальные скрипты, когда стэк команд off не нужны, особено хеарбит и персеапшен.
mrKilljoy
Jun 20 2013, 18:46
Melisse, он понимает кирилицу, но сообщения на ней, как выше, выдает чудовищно короткие. Но за ссылку благодарю, обязательно воспользуюсь.
Алсо, такой вопрос: можно ли заставить НПС рандомно бродить по локации, без применения waypoint'ов?
Melisse
Jun 20 2013, 19:12
Может.
Neverwinter Script
void ActionRandomWalk();
Описание функции из лексикона:
Цитата
Description
The action subject will generate a random location near its current location and pathfind to it. This behavior will continue every so often until cancelled with a ClearAllActions() command.
No return value, but if an error occurs the log file will contain "ActionRandomWalk failed."
Remarks
ActionRandomWalk never ends meaning that it is necessary to call the ClearAllActions function in order to stop it. The subject will not stray far from the location where it was when this function is called.
У вас там проблема именно в том что не компилится из-за русской строчной буквы "я".
Вообще-то не должно быть такого ограничения. В лексиконе об этом ни слова.
Flaristan
Jun 21 2013, 10:17
Цитата(Melisse @ Jun 20 2013, 15:58)

В данном случае (с отключением стэка) по уму лучше на OnSpawn. У такого рода НПЦ (которые садятся и все и вставать не должны) лучше вообще вырубить все скрипты, кроме одного OnSpawn, в котором будет усаживаться НПС и потом стэк команд отключаться. Если хочется чтобы он говорил - можно еще скрипт на диалоге оставить. Остальные скрипты, когда стэк команд off не нужны, особено хеарбит и персеапшен.
Очень даже нужны, если ты хочешь чтоб НПС не был просто мебелью и заговорил с игроком при встрече или чтоб игрок при виде этого НПС высказал что-нибудь; или если НПС должен сидеть сиднем только днем, а ночью идти в кровать.

А онспавн, как я уже и писал – не так надежен и гибок.
По поводу патча Думбы – лично у меня он не работает, равно как и прочие методы кроме Айвановского финта с вейпоинтом: «Вы заметили, что в скриптах в комментариях я не использовал ни одной буквы "я"? Дело в том, что компилятор не воспринимает эту букву, и скрипт не компилируется. Для того, чтобы использовать ее в скриптах мы создадим в любой локации Waypoint с тэгом "YA" и именем "я". И если нам понадобится строчная "я", мы вставим ее таким образом:
Neverwinter Script
string ya = GetName(GetWaypointByTag("YA"));
Наш текст будет выглядеть так: "Да. Ключика у теб"+ya+" нет". Вместо буквы "я" подставим имя нашего поинта "+ya+".» (с)
(кстати зачем-то вейпоинт иногда обзывают прописной «Я» вместо строчной «я», хотя в текстах она используется на порядки реже и «выделЯющЯЯсЯ большаЯ Я» во всплывающих фразах выглядит совсем не красиво – так что лучше делать либо строчную либо обе)
Melisse
Jun 21 2013, 10:39
Цитата
А онспавн, как я уже и писал – не так надежен и гибок.
OnSpawn запускает все остальные события существа, в том числе и хеарбит при запуске модуля, если в нем уже выставлены существа или при создании существа встречей или скриптово.
Ну да ладно, думай как хочешь, мне все равно собственно.
Цитата
По поводу патча Думбы – лично у меня он не работает
Даже на моем пиратском нвн времен 2003 года патч дамбо работает идеально. Он собственно там ничего такого не изменяет, пару цифр правит просто в toolset.exe и все.
С тех пор как дамбо сделал это патч уже давно никто не юзает этот извр-костыль с буквой "я" через waypoint.
Flaristan
Jun 21 2013, 11:10
Факт того, что скрипт был запущен – вовсе не гарант его исполнения.
А русская «я» у меня не работала ни с патчем Думбы, ни со сменой шрифтов, ни еще с чем-то там - и кириллица так и отображается в редакторе скриптов абракадаброй. Так что работа в одном месте так же вовсе не гарантирует работу в другом.
Melisse
Jun 21 2013, 11:58
Цитата
Факт того, что скрипт был запущен – вовсе не гарант его исполнения.
о_О.
Цитата
А русская «я» у меня не работала ни с патчем Думбы, ни со сменой шрифтов, ни еще с чем-то там - и кириллица так и отображается в редакторе скриптов абракадаброй. Так что работа в одном месте так же вовсе не гарантирует работу в другом.
Абракадабра убирается через простую смену шрифта в самом редакторе. Нужно зайти в редакторе скриптов в настройки и выбрать шрифт Courier.
Ну не работает патч, что делать... не повезло тебе.
denis0k
Jun 21 2013, 17:42
Патч в принципе не может не работать, там довольно-таки "лобовой" фикс. Проблема в биоварях - ни одна их игра (даже последний свтор) не поддерживает юникод и любые кодировки, не зашитые на производстве. Они как сбербанк и почта - стабильно неизменны

С 1841 года... В случае с нвн1 есть некое везение - у тулсета в ini достаточно к шрифту подписать " Cyr", и кириллица-таки появится! Ну а с патчем Дамбо можно будет даже якать.
Flaristan
Jun 21 2013, 21:43
Цитата(mrKilljoy @ Jun 20 2013, 17:46)

Абракадабра убирается через простую смену шрифта в самом редакторе. Нужно зайти в редакторе скриптов в настройки и выбрать шрифт Courier.
>>>
Цитата(mrKilljoy @ Jun 20 2013, 17:46)

А русская «я» у меня не работала ни с патчем Думбы, ни со сменой шрифтов, ни еще с чем-то там - и кириллица так и отображается в редакторе скриптов абракадаброй.
Скрипт может не сработать после запуска по разным причинам: например если он стоял в очереди в списке наименее важных и был сброшен из-за чрезмерной нагрузки… или например если объект который запустил скрипт внезапно перестал существовать…
Melisse
Jun 22 2013, 16:04
Цитата
Скрипт может не сработать после запуска по разным причинам: например если он стоял в очереди в списке наименее важных и был сброшен из-за чрезмерной нагрузки… или например если объект который запустил скрипт внезапно перестал существовать…
Простите за иронию, но если запустить тулсет и начать делать локацию, а ногой в это время нажать кнопку рестарта на системном блоке, то шард не удастся сделать.
Flaristan
Jun 22 2013, 16:47
Ирония – это конечно хорошо, но путаница обычно возникает там, где есть чему спутаться. А в большом модуле с кучей объектов и скриптов – есть чему спутаться. Так что ситуация вполне обыденная, особенно для новичков.
P.S.: Кстати если в скриптах из «группы риска» указывать исполнителя скрипта (чем менять его с дефолтного «OBJECT_SELF» на указанный - например выполнять их от имени самого модуля «GetModule()»), то они выполнятся даже в случае потери объекта инициатора в процессе выполнения.
foxkmk
Sep 12 2013, 11:50
Скажите пожалуйста, кто нибудь занимается созданием моделей для NWN на заказ?
Если да, то как с ними связаться?
Melisse
Sep 12 2013, 15:52
За использование нвн в коммерческих целях можно схлопотать статью, а бесплатно вряд ли кто будет.
denis0k
Sep 12 2013, 17:14
У нас полстраны работает нелегально, рабочий аппарат полиции и налоговой дальше уменьшают ради повышения зряплат и поднятия имиджа сами-знаете-кого - кто и как ловить-то будет?

Если ты скрываешь налоги менее где-то миллиона в три года (при 6/13% легко прикинуть, какой это оборот), то это скорее вопрос этики, а не закона. Убийц-насильников некому ловить, ваши единичные 10-50-100 тысяч никому нафиг не сдались, если вы не "в тренде". А в тренде у нас сейчас пиратские фильмы, педофилия и православный талибан.
Flaristan
Sep 12 2013, 17:24
Цитата(foxkmk @ Sep 12 2013, 10:50)

Скажите пожалуйста, кто нибудь занимается созданием моделей для NWN на заказ?
Если да, то как с ними связаться?
>>>
Цитата(Flaristan @ Sep 12 2013, 16:09)

Вряд ли, это же все считай "фан-арт".

А что нужно?
Даблпостинг – нехорошо.
Цитата(Melisse @ Sep 12 2013, 14:52)

За использование нвн в коммерческих целях можно схлопотать статью, а бесплатно вряд ли кто будет.
Вообще на эту тему у меня были некоторые мысли: создание модулей/контента на заказ – это как раз способ «обойти» запрет на коммерческое использование. Ведь оплата будет производиться за труд над оригинальным контентом по заказу частных лиц, а не за использование интеллектуальной собственности биоварей (использование Авроры по идее для всех свободное и бесплатное).
denis0k
Sep 13 2013, 07:36
Продажа модУлей - противозаконна, ибо они - собственность скорее всего атари, как и игра, это написано в еуле любой игры с тулсетом. Продажа модЕлей для любой игры - максимум незаконное предпринимательство, ибо игра как ПО там вообще никаким боком не участвует. И это непросто доказать в принципе.
Flaristan
Sep 13 2013, 20:17
Анекдот про ворованные тачки с мусором, думаю, все знают. Да ты и сам писал про «полстраны работает нелегально». Сразу вспоминается Морровинд и обычаи Эшлендеров про дарение подарков.
NeverLander
Sep 16 2013, 17:42
видимо плохо искал,
или действительно никому это не было интересно...
а может это даже очевидно...
но не могу найти решение,
как отыскать к какому объекту подвязан диалог?
отыскать поиском, а не перебором всех объектов в модуле.
по названию диалога - просьба не предлагать искать,
диалоги могут назваться "itl", что абсолютно не наталкивает на мысль, как должен называться объект, к которому привязан диалог.
Flaristan
Sep 16 2013, 23:40
+
NeverLander
Sep 17 2013, 10:51
спасибо,
Flaristan, но видимо разработчики модуля делали его немного иначе...
дело в том, что в модуле, с которым работаю (занимаюсь переводом),
во всех диалогах НЕТ "тэга говорящего".
исключением есть диалоги на более чем 2 собеседников - там добавляются тэги,
для реплик третьего и последующих учасников диалога,
но не для владельца диалога.
и вот найти, кому из сотен объектов принадлежит диалог - очень сложно...
особенно, если диалог вообще не используется

Цитата(NeverLander @ Sep 17 2013, 07:47)

спасибо,
Flaristan, но видимо разработчики модуля делали его немного иначе...
дело в том, что в модуле, с которым работаю (занимаюсь переводом),
во всех диалогах НЕТ "тэга говорящего".
исключением есть диалоги на более чем 2 собеседников - там добавляются тэги,
для реплик третьего и последующих учасников диалога,
но не для владельца диалога.
и вот найти, кому из сотен объектов принадлежит диалог - очень сложно...
особенно, если диалог вообще не используется

вот так вот это выглядит в модуле
Melisse
Sep 17 2013, 12:14
Тега может и не быть, он по умолчанию присваивается о того объекта, в котором он вставлен. Из-за этого может быть хоть 100 объектов с разными тэгами.
Возможно, название диалога - это тег объекта (такое бывает) попробуй в "найти экземпляр" название диалога.
Вообще по другому обнаружить, наверное, никак. Если диалог не привязан и название - не тэг объекта, а в коментарии автор не удосужился написать что за диалог и у каких объектов он может быть - только ручками.
Хотя есть костыльный способ:
скопируй модуль под другим названием
удали диалог
сделай полный билд модуля с проверкой ресурсов, без компиляции скриптов. Можешь сделать пометки только диалоги.
и в списке выйдут объекты у которых нет диалогов
один из них - твой.
^_^
потом просто в списке жмешь объект и смотришь его свойства.
NeverLander
Sep 17 2013, 17:01
Спасибо,
Melisse,
костыль работает

но обнаружил недочет Toolset'а:
он не отслеживает использование ресурса через скрипт.
в смысле, если объект(NPC, или что-то еще) создается через скрипт,
или диалог запускается через скрипт,
то во время компиляции используемые таким способом ресурсы
все-равно будут помечены как НЕиспользуемые (если явных ссылок на них нет).
понимаю, что это не сверх навороченый компилятор,
да и имя ресурса может создаваться динамически, и есть обычной строкой...
но, как всегда, хочется того, чего еще нет

главное теперь не забыть, что нужно перед удалением перепроверять все неиспольуемые ресурсы
на их использование в скриптах
Всем доброго времени суток!
Подскажите, возможно ли, отредактировать количество очков получаемых для взятия навыков(feats), для каждого класса?
Если возможно, то как?
Flaristan
Oct 9 2013, 05:36
Смотря что ты имеешь в виду – фиты даются персонажу по разным причинам: это может быть расовый фит, дающийся сразу и единожды при генерировании персонажа; классовый фит, так же дающийся сразу при взятии данного класса, а так же при взятии определенных уровней в этом классе; общий фит, дающийся каждый 3 уровень персонажа; или бонусный фит, дающийся от ношения предметов на время их использования.
Очки опыта же определяют не получение фитов, а получение уровней персонажа.
Но вообще вроде да – все можно поменять в 2da файлах, сделав новые классы или изменив правила получения фитов в имеющихся. Как – никогда не разбирался и другим не советую.

Никто за это спасибо потом не скажет…
Melisse
Oct 9 2013, 09:01
Gora
Можно сделать так, чтобы все необходимые фиты добавились тебе на 1(или 2 уровне) уровне по желанию. Выбирать самому за уровень больше 1-2 фитов нельзя (2 фита выбираются за уровень у война вроде как и у виза каждый 2 уровень)
Чтобы сделать добавление фитов - небе нужно отредактировать 2да таблицу
cls_feat_<название класса>, которую ты должен откопать и извлечь из ресурсов игры
опишу тебе столбцы:
featLabel - это просто название для тебя, они ничего не означает и ни на что не влияет
featIndex - это номер фита из таблицы feat.2da
List - ставишь 3,если тебе нужно чтобы он давался автоматом
GarantedOnLevel - нужный тебе уровень, на котором выдадут фит
OnMenu - это 0 или 1, в зависимости от того должен ли фит появиться в радиальном меню или нет. Например, опрокидывание должно появиться в меню, чтобы его использовать, а фит отвечающий за повышение атаки или специализация - нет.
После правки кидаешь это в оверрайд и играешь или запаковываешь в хэк пэк и подрубаешь к модулю.
Регулярный фит, который дается каждые три уровня всем персонажам - никак изменить нельзя. Его персонаж будет получать всегда. Ровно как и бонусный фит от Quick to master у людей. Насколько я понял эти параметры захардкодены.
Изменять можно набор классовых фитов и их кол-во. Количество и уровень получения дополнительных фитов классом редактируется в таблицах типа cls_bfeat_*.2da. А набор фитов, которые будут доступны на выбор/получаться автоматически при поднятии уровня редактируется в cls_feat_*.2da.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.