В игре нет " обычной" внешности. Все модельки которые есть в Тулсете есть и в игре.
Итак продолжим. Тут самое интересное пойдет.
Создание своего предмета путем редактирования игровых файлов
3.1 Запускаем Тикет и открываем в нем файл своего меча gsw_orn1.uti 3.2. Первое что нужно сделать - поменять тэги, потому что игра различает предметы не по названиям, а по тэгам. Тэг тоже желательно должен быть уникальным. Я поступаю просто - копирую название файла и заменяю им. Должен заметить, что Тикет не работает с мышью, а только с клавиатурой. Т.е. скопировать название вы можете и мышкой, а вставить в Тикет только с помощью сочетания клавиш cntr+V Заменить тэги надо в следующих местах. 3.3 Далее при необходимости прописываем новые бонусы на меч Открываем папку PropertiesList - Тут пропитаны все бонусы меча Каждая синяя папочка под номером 0,1,2 и т.д. соответствует своему бонусу. Строка PropertyID - это ID первого бонуса Строка PropertyPower - это множитель бонуса В приведенном примере ID 1508 cоответствует бонусу "Счастливый", Множитель 2 соответственно умноженное на два. Или допустим ID 1000 соответствует +1 к силе. Проставив множитель 5 получим в игре бонус +5 к силе. Все известные бонусы я выкладывал в этой же теме. Пролистайте тему назад - захотите, найдете. 3.4 Чтобы добавить больше бонусов на меч надо сделать следующее: Кликаем по любой синей папочке и выделяем ее. Далее по кнопке копировать. Сверху в инструментах Тикета. Выглядит как два наложенных друг на друга листочка. Потом кликаем по зеленой папке PropertyList Далее по кнопке вставить, также в инструментах Тикета. Выглядит как листок в желтой рамке Добавится новая папочка - теперь нужно прописать нужное вам свойство. Т.е. ID и его множитель К сожалению, за один раз можно добавить только один новый бонус. Если вам нужно больше просто сохраняешь файл и открываешь его заново. 3.5 Если вам наоборот нужно меньше бонусов на предмете или удалить не нужные - просто кликните по синей папочке ненужного бонуса а потом по ножницам вверху В чем преимущество моего метода - через Тикет можно прописать любое количество бонусов, хоть 50. Тулсет позволяет прописать не более пяти. 3.6. Как добавить ячейки под руны я вам уже писал. Просто напомню: Выделенная цифра соответствует количеству ячеек под руны (от1 до 5) 3.7 Что тут еще можно поменять. ModelVariation - определяет внешний вид в игре (в данном случае ID 4) Про названия и описания писать не буду это отдельная достаточно сложна тема. Если ничего не менять, то название и описание будут как у начального предмета в данном случае - как у Изукрашенного меча. Особое свойство и его множитель. Это свойство, которое определяет визуальный эффект на мече. Допустим, если прописать тут +2 к урону от огня, то визуально в игре меч будет гореть. Если прописать +5 к урону от электричества, то меч будет испускать молнии и т.д. Стоимость - можно прописать свою стоимость вашего предмета. формат ЗЗ/СС/ММ золото/серебро/медь. Например, написав 243080 получим стоимость 24 золота 30 серебра 60 меди Иконка. Тут можете прописать какую иконку будет использовать ваш предмет. Формат не обязательно .dds, можно и .ipg Материал предмета - определяет из какого материала будет ваш предмет. Чугун там или драконья кость. Я обычно сразу для мечей прописываю драконью кость, чтобы не заморачиваться. Для этого в строке Material пишем 46, а в строке MaterialProgress пишем 7 3.8 Не забудьте сохранить все ваши изменения
Продолжение следует
Добавлено (03 Марта 2020, 10:53) --------------------------------------------- Итак, предмет мы создали. Теперь нужно добавить его в игру Добавить предмет в игру можно тремя способами. 1. Экипировать какому-нибудь НПС или добавить в инвентарь НПС или контейнера путем редактирования файлов НПС или контейнера. 2. Добавить в инвентарь НПС или в контейнер через скрипт. Или же добавить свой контейнер в игру со своим созданным предметом. 3. Добавить предмет через консоль
Рассмотрим все три способа.
Изменение экипировки НПС. Добавление ваших или любых других ( в том числе модовских) предметов в экипировку любого НПС
1.0 Преимущество первого способа добавления предмета в том, что предмет в любом случае появится в игре. И в добавок этот способ добавления предмета самый простой. Недостатки. Предмет появится у выбранного НПС появится только , если вы не входили в локацию до добавления предмета. Другой недостаток - возникает конфликт с другими модами, которые также добавляют предметы этому НПС или в контейнер. 1.1 Решаем какому НПС или в какой сундук уже имеющиеся в игре мы добавим наш предмет. Пусть это будет командир солдат Логейна в "Убежище Дейна" (таверна Лотеринга) 1.2 Запускаем Тулсет и открываем локальную копию локации таверны Лотеринга 1.3 Находим нужного НПС и выделяем его. 1.4 Когда мы выделим нужного НПС слева в списке НПС локации откроется имя файла этого НПС - lot120cr_commander 1.5 Помните как мы вытаскивали из архивов игры файл меча? теперь делаем тоже самое, чтобы вытащить из архива файл командира солдат Логейна. Только архив нам нужен другой. Командир у нас существо - Сreatures по-английски, значит нам нужен архив с этим словом в названии designercreatures.erf Вытаскиваем файл существа в ту же папку с вашим мечом. 1.6 Запускаем Тикет и открываем файл командира солдат Логейна. 1.7 В этом файле нам интересны два зеленые папки - ItemList (инвентарь существа) и Equip_ItemList (экипировка существа) 1.8 ItemList (инвентарь существа) показывает все предметы, которые лежат в рюкзаке существа. Их может быть любое количество. Как то ради шутки я одному медведю добавил 50 предметов и игра это приняла.... Добавлять новые предметы можно также как мы прописывали бонуны на предмет. Заменяем тэги на ваши в уже существующих синих папочках или добавляем новые. Рассмотрим что значит каждая строчка: TemplateResRef - это тэг предмета, который лежит в инвентаре StackSize - количество этих предметов Droppable - это строчка определяет выпадает ли предмет в виде лута после смерти существа. Ставим 1 - предмет выпадет. Ставим 0 - не выпадет Stealable - эта строчка определяет можно ли украсть этот предмет у существа Ставим 1 - украсть можно. Ставим 0 - украсть нельзя. Если каких-то строк нет в файле - можно просто их добавить 1.9 Equip_ItemList (экипировка существа) показывает все предметы, которые одеты на существо. Тут особое внимание нужно уделить на первую строчу каждой синей папки - она определяет номер ячейки экипировки, куда помещается предмет. Перечислю все номера, чтобы не путаться. 0 - основная рука. Это ячейка для оружия в основной (правой) руке. 1 - вторая рука. Второй меч, кинжал или шит. Если оружие двуручное (Большой меч, большой топор,лук или посох) - эта ячейка должна быть свободна иначе существо будет вовсе без оружия 2 - стрелы 4 - кираса (нагрудник) 5 - шлем 6 - обувь 7 - перчатки 9 - верхнее кольцо 10 - нижнее кольцо 11 - амулет 12 - ремень Строго следите, чтобы перчатки были экипированы в ячейку с номером 7, а обувь в ячейку под номером 6 и т.д Если каких-то ячеек не хватает их можно добавить так, как я рассказывал раньше (копировать и вставить). Только не забудьте отредактировать их в соответствии с добавляемым предметом. Ячеек с одинаковыми номерами также не должно быть. Что значат строчки в папках: TemplateResRef - тэг предмета Stealable - возможность своровать предмет Droppable - падает ли предмет в виде лута после смерти существа SetNumber (только для оружия) - комплект оружия. Если стоит 0 - это основной комплект. Если стоит 1 - это второй комплект оружия 1.10 Добавляем свой меч в экипировку командора. Заменяем существующий в файле тэг оружия в основной руке gen_im_wep_mel_gsw_gsw на тэг нашего меча - gsw_orn1 1.11 В строке Droppable ставим 1, чтобы меч выпал в луте после смерти командира логейновский солдат 1.12 Сохраняем файл. Переименовываем папку с файлом нашего меча и измененного файла командора так, чтобы не перепутать ее с другими (в названии не должно быть киррилицы). Перемещаем нашу папку в override. Запускаем игру и проверяем вступили ли изменения в силу. Напоминаю, что загружать надо сохранение до входа в локацию. В нашем случае до входа в таверну Лотеринга.
привет у меня программа tik не работает твердит, что для работы ему нужен java 1.5, я скачиваю и устонавливая, но он упорно твердит, что у меня в компе нету этой версии java, не знаешь че делать?
Изменение репутации для пользователя nicksnerg
nicksnergOffline
Сообщение №603
написано: 4 марта 2020, 12:16
| Отредактировано: nicksnerg - 6 марта 2020, 08:24
у меня в компе нету этой версии java, не знаешь че делать?
Сначала удалить установленную версию Явы. Потом скачать старую версию Явы (ту которую он просит) и выключить обновление. У меня такое было. Кстати, мне продолжить или вам уже наскучило?
Хорошо, тогда продолжу. Добавление предметов в игру путем редактирования файлов контейнеров
Вышеописанным способом можно поменять экипировку любого существа в игре. Например переодеть существо в броню из мода. Добавить ему кольца, амулет, ремень Причем в броню можно переодеть даже те существа для которых броня игрой не предусмотрена. Например, животных или скелеты. Просто в этом случае она не будет отображаться в игре, но все бонусы экипировки будут действовать. Теперь расскажу как добавить предмет в уже существующий контейнер. В принципе, добавление предмета в контейнер ничем не отличается от добавления предмета в экипировку. Но тут есть одна тонкость. В игре множество разнообразных контейнеров - 5видов сундуков, кипы книг, кучи камней, трупы существ , коконы пауков, рюкзак любого НПС и т.д. Большинство контейнеров в игре НЕ уникальны - имеют одинаковые теги. Это значит, что, если добавить свой предмет в такой сундук, то он добавится во все сундуки в игре с таким же тегом. И вы помучите 100500 одинаковых предметов. Опишу порядок действий при добавление в существующий контейнер
1.13 Определяем локацию, в который вы хотите добавить предмет. 1.14 Запускаем Тулсет и открываем локальную копию выбранной локации 1.15 Выбираем нужный нам контейнер. Контейнер должен иметь уникальное название. Это определить довольно просто. По названию - все уникальные сундуки имеют уникальные названия. (см пункт 1.4) как правило их название начинается с сокращенного названия локации в которой находится такой сундук Например, lot110ip_cabinet это тэг шкафа в церкви Лотеринга, ключ от которого вам отдает храмовник. Все файлы уникальных сундуков собраны в архиве designerplaceables.erf по адресу Games/Dragon Age Origins/modules/single player/data/ 1.16 Вытаскиваем файл выбранного контейнера в вашу папку 1.17 Запускаем Тикет и открываем файл вашего контейнера 1.18 Немного о внутреннем устройстве файла любого контейнера: LocName - ID названия контейнера LocPopupText - ID описания контейнера TemplateResRef - тэг контейнера EventScript - управляющий контейнером скрипт Appearance - Это строка определяет внешний вид контейнера в игре. PickLock - эта строка определяет вскрываемость контейнера взломом. Если поставит 10000, то сундук будет невозможно вскрыть без ключа. Также эта строка определяет сколько очков опыта получит игрок за взлом KeyName - тэг ключа, который открывает этот сундук AutoRemoveKey - Если в этой строке поставить 1, то игра после вскрытия сундука ключем удалит файл ключа из инвентаря. Если оставить 0, то ключ останется в инвентаре. Это нужно, например, для того, чтобы одним ключом можно было открыть несколько сундуков. KeyRequired - Если поставить 1, то игра решит, что для открытия контейнера нужен ключ. Тогда взломом контейнер не открыть. Если поставить 0, то сундук можно будет вскрыть и без ключа - взломом. Rank - ранг рандомного лута (От 1 до 3). Если поставить 0, то игра не будет добавлять в сундук никакого лута ItemList - самое главное для нас, инвентарь контейнера Каждая ячейка инвентаря любого контейнера имеет всего две строчки: TemplateResRef - тэг предмета в контейнере StackSize - количество этих предметов в контейнере 1.19 Добавляем нужное количество ячеее под ваши предметы (см пункт 1.4) 1.20 Редактируем тэги в ячейках на свои и определяем количество каждого предмета, которое будет лежать в контейнере. 1.21 Сохраняем файл контейнера и перемещаем папку со своими файлами в override 1.22 Запускаем игру и проверяем содержимое выбранного контейнера. Напоминаю, что для того чтобы предметы появились в контейнере, нужно загрузить сохранение до входа в локацию с вашим контейнером
Добавлено (07 Марта 2020, 14:03) --------------------------------------------- Добавление ваших предметов в игру в контейнер скриптом
Итак, я рассказал о самом простом методе добавления предмета в игру. Простом для меня, конечно. И вроде как это единственно возможный метод замены экипировки существ. НО у этого метода есть один очень существенный недостаток - отредактированные игровые файлы заменяют ванильные версии, поэтому подобное изменение можно будет сделать только единожды. Любой другой мод, в котором также изменены эти же файлы будет вступать в конфликт с вашими. НО есть метод позволяющий избежать конфликта. Это метод добавления предметов в инвентарь скриптами. Скрипты срабатывают при любой загрузке локации, для которой он был создан, поэтому не нужно загружать сохранения до входа в локацию, а сразу же загружать нужную локацию. Лично для меня этот метод довольно сложен. Дам ссылку на статью в ВИКИ на скрипт по этому методу - ТУТ. Я использовал этот метод при создании мода по рунному ремеслу в DAO. Расскажу как это было.
2.1 Выбираем локацию, в которую мы хотим поместит предмет. Для примера возьмем ту же локацию церкви в Лотеринге. Нам понадобится имя файла этой локации. Только имя не .are-файла, а .lst-файла локации. Все файлы локаций собраны в архиве designerareas.erf по известному уже нам адресу (см пункт 2.1). Стоит учесть, что многие (не все) мелкие локации, например магазин Вейда и таверна "Покусанный дворянин" это не отдельные самостоятельные локации, а часть большой локации торговой площади Денерима. В этом случае, файлы .are у них будут разные, а файл .ist один на все. Очень легко запутаться. Решение этой проблемы можно найти в Тулсете. Найдите нужную вам локацию в списке и отметьте ее . Потом переключитесь на вкладку Object Inspector. далее находим строку AreaList. Если в этой строке стоит (None) значит название .are файла и .lst-файла совпадают. В противном случае В этой строке будет прописано имя .lst-файла, которое нам нужно. У локации церкви Лотеринга имена этих файлов совпадают - lot110ar_chantry 2.2 Выбираем контейнер, в который нам нужно поместить наш предмет. У нас это шкаф храмовников. Нам будет нужен тэг это шкафа. Загружаем локальную версию локации в Тулсет. Отмечаем нужный контейнер на вкладке Object Inspector находим тэг этого контейнера - lot110ip_cabinet Как я писал в предыдущей главе - контейнер должен быть с уникальным тэгом, если вы не хотите получит добавляемый предмет в каждом сундуке локации с таким же тэгом... 2.3 В Тулсете создаем болванку скрипта. Fiie-New-Script У вас должен быть открыть модуль Single Player (File–Manage Modules-Single Player-Open) Придумываем название файлу и сохраняем. Он должен появится в правой половине, в списке файлов. Отмеченный красной точкой 2.4 Открываем локальную копию вашей болванки скрипта 2.5 Скопируйте скрипт и вставьте в левом поле Тулсета:
2.6 Замените lot110ip_cabinet на тэг вашего контейнера. Замените gsw_orn1.uti на название файла вашего предмета (не тэга, не перепутайте) Цифра "1" в строке CreateItemOnObject(R"gsw_orn1", oContainer, 1, "", TRUE); определяет количество. Замените ее на другую, если вам нужно добавить больше одинаковых предметов 2.7 Если нужно добавить несколько предметов в один контейнер нужно повторить строку CreateItemOnObject(R"gsw_orn1", oContainer, 1, "", TRUE); столько раз сколько предметов вам нужно добавить, заменяя в них имена файлов на ваши. Вот например скрипт на 4 предмета:
2.8 Экспортируем скрипт в игру: кнопка Tools-Еxport-Export without dependent resources 2.9 Находим созданный скрипт по адресу Мои документы/BioWare/Dragon Age/modules/Single Player/override/toolsetexport 2.10 По указанному адресу находим два файла .nss и .ncs Файл-ncs это ваш рабочий скрипт. Зачем же нужен второй, файл-nss? Дело в том после того как вы экспортировали скрипт его уже никак нельзя будет отредактировать. Даже открыть его не получится никакой програимой. Ну, а вдруг там ошибка, как ее исправить? Для этого и нужен файл .nss - он открывается простым Блокнотом. В нем же и редактируется, если есть ошибка. Потом отредактированный файл можно вставить в Тулсет и заново экспортировать в игру. 2.11 Если в указанной папке находится только один файл .nss то это значит, что вы допустили ошибку в написании скрипта и Тулсет его забраковал. 2.12 Экспортированный скрипт будет иметь имя той болванки скрипта, что вы создали в Тулсете. Переименуйте его тем именем, которое вы будете использовать в игре. Имя скрипта должно быть уникальным. 2.13 Итак скрипт мы создали. Теперь нужно создать управляющий файл. Для этого нам будет нужна одна программка из пакета Тулсета - ExcelProcessor.exe и Microsoft Office Excel Программка ExcelProcessor достаточно глючная. Чаще всего ошибки при ее работе возникают когда путь до нее очень длинный или содержит кириллицу. Чтобы это избежать создаем на диске D папку 2DA, копируем в эту папку программу ExcelProcessor.exe из адреса Games/Dragon Age Origins/tools/ResourceBuild/Processors/ExcelProcessor.exe 2.14 Создаем в папке 2DA новый файл Excel. 2.15 Переименовываем его следующим образом. Начало имени всегда должно быть prcscr Например: prcscr_dwarf_armor.xls Вторая часть имени - на ваше усмотрение. Обычно я тут пишу название моего мода. Конечно имя должно быть уникальным. 2.16 Открываем наш созданный файл Еxcel и переименовываем лист на котором будем работать. Название файла и название листа должно совпадать. Удалите неиспользуемые листы Ехсel 2.17 Создайте следующую таблицу: Первый столбец - ID. уникальный номер команды. Существуют таблицы свободных диапазонов, но всегда есть риск пересечься с каким- нибудь модом, использующим тот же ID. Второй столбец - имя .lst файла той локации в которой находится ваш контейнер. Третий столбец - имя созданного скрипта, который добавляет ваш предмет. Работает это так. При загрузке локации с упомянутым именем срабатывает упомянутый скрипт. Если вы создаете большой мод и вам нужно добавить много предметов в игру, по просто создавайте скрипт для каждого вашего контейнера, а в уаравляющем файле просто добавьте новые строки. Например, в моде по Рунному мастерству в DAO я создал PRCSCR_файл с 45-ю строчками: 2.18 Сохраняем созданный Excel-файл и закрываем его. Программа ExcelProcessor.exe не работает с открытыми файлами excel 2.19 Конвертируем exсel-файл в GDA-файл. Для это просто перетаскиваем мышкой excel-файл на иконку ExcelProcessor.exe Должно мелькнуть черное окно и появится конечный файл. Если вместо этого появилось черное окно - то вы допустили ошибку в написании таблицы.. Если у вас с английским все нормально, то можно прочитать об ошибке в открывшемся черном окошке. 2.20 Перемещаем файл вашего предмета (.uti), файл вашего скрипта (.ncs) и управляющий файл (.gda) в отдельную папку. Переименовываем ее и отправляем в override 2.21 Загружаем игру и проверяем работу скрипта.
Должен заметить, что приведенный вариант скрипта вполне рабочий, но он урезан. В том смысле, что в данном виде в игре будет небольшой глюк - ваши предметы будут появляться в контейнере при каждой загрузке локации. Проще. Если вы заберете предметы из контейнера, а потом сохранитесь, выйдите из игры и снова загрузите сохранение то ваши предметы снова добавятся в контейнер. Чтобы избежать этого в скрипт нужно включить plot-файл. Как это сделать я не знаю.
Добавлено (08 Марта 2020, 10:14) --------------------------------------------- Добавление ваших предметов скриптом торговцам (любым)
Хорошим вариантом добавления предметов в игру является добавление предметов торговцу через скрипт. Расскажу как добавить предмет торговцу. Любому торговцу, не только бедному Бодану... В принципе, добавление предметов в магазин ничем не отличается от добавления предметов в контейнер. 2.22 Решаем какому торговцу мы добавляем свой предмет. Пусть это будет Барлин из Убежища Дейна. 2.23 Запускаем Тулсет и в списке торговцев находим нужного нам. Отмечает и переключаемся на вкладку Object Inspector или же загружаем файл в левую часть. Находим тэг магазина этого торговца - store_wrd110cr_barlin 2.24 В Тулсете открываем нашу "болванку скриптов", копируем и вставляем туда нижеприведенный скрипт
Далее все действия аналогичны как при добавлении предмета в контейнер (см с пункта 2.6)
2.25 Замените store_wrd110cr_barlin на тэг того торговца, которому вы хотите добавить свой предмет Замените gsw_orn1.uti на название uti-файла вашего предмета Замените "1" на другую, если вы хотите добавить большее количество вашего предмета Добавьте строку CreateItemOnObject(R"gsw_orn1.uti", oMerc, 1, "", TRUE); столько раз сколько предметов вы хотите добавить, заменяя в них название uti-файла на ваши 2.26 Импортируйте файл в игру (см пункты 2.8, 2.9, 2.10, 2.11, 2.12) 2.27 Создайте управляющий prcscr-файл (см пункты 2.13-2.19) 2.28 Переместите созданные файты в override, поместив их для удобства в одну папку 2.29 Запустите игру и проверьте добавился ли ваш предмет торговцу.
Расскажу о своем любимом способе добавления предметов в игру. Это добавление в игру своего собственного контейнера, а уж в этот самый контейнер можно добавить любой предмет в любое время.
Добавление ваших предметов в игру через добавление в игру контейнера с этими предметами скриптом.
2.30 В первую очередь решаем как будет выглядеть этот ваш контейнер. Что это будет - сундук, кипа книг, куча камней или труп гнома.. или еще какой-другой контейнер. Метод создания своего контейнера практически ничем не отличается от метода создания своего предмета, описанного выше. 2.31 Открываем архив, в котором собраны все файлы контейнеров: Games/Dragon Age Origins/modules/single player/data/designerplaceables.erf Или Games/Dragon Age Origins/packages/core/data/designerplaceables.erf 2.32 Определяем нужный нам тип контейнера ориентируясь по названию файла. Если в названии есть слово chest - это сундук, barrel - бочка, bones_pile - куча костей и т.д. Разобраться не сложно. Просто отмечаем нужный нам файл и вытаскиваем его в нашу рабочую папку 2.33 Переименовываем файл контейнера. Имя должно быть уникальным, но не длинным. Слишком длинный названия не принимает Тикет Например,snerg_gsw_chest.utp 2.34 Загружаем Тикет и открываем в нем наш файл контейнера. 2.35 В строчкахTagиTemplateResRefзаменяем тэги на ваш. Копируем название файла контейнера и вставляем в эти два строчки. 2.36 Открываем зеленую папку ItemList и редактируем ее прописываем теги и количество ваших предметов. При необходимости добавляя новые ячейки под предметы или удаляя ненужные. (более подробно как это сделать написано выше - под спойлером Добавление предметов в игру путем редактирования файлов контейнеров) 2.37 Файл вашего контейнера готов. Не забудьте его сохранить. 2.38 Далее нужно определиться с местом, где будет находится ваш контейнер. Запускаем Тулсет и локальную версию нужной вам локации. Хочу сразу же предупредить, что иногда мелкие локации типа хижины Флемет или магазина Вейда не являются самостоятельной локацией, а частью большой локации. В такую локацию добавить ваш контейнер скриптом не получится - выбирайте большие самостоятельные локации. 2.39 Находим в локации любой контейнер. Тип контейнера не имеет значения. Выделяем контейнер и копируем его - ПКМ-Copy 2.40 Переместите камеру в то место локации, куда вы хотите поместить ваш контейнер (зажать Cntr и зажимая ЛКМ перемещаем камеру) 2.41 В выбранном месте щелкаем ПКМ и вставляем (Paste) скопированный контейнер/ 2.42 Зажав ЛКМ перемещаем контейнер на точное место. 2.43 Далее смотримObject Inspectorв правой части Тулсета и находим строчкуOrientationв разделеLocation. В этой строке мы видим три цифры через запятую. Например,70,0,0Эти цифры определяют угол вращения контейнера. Нам интересна только первая, она определяет вращение в горизонтальной плоскости. Если вы хотите, чтобы ваш контейнер встал красиво и ровно по стеночке скорректируйте первую цифру. Если вы немного Это градус вращения по кругу. В круге 360градусов. Попробуйте поменять первую цифру и увидите как вращается ваш контейнер. Выберете нужное вам положение и запишите конечный результат В стокеPositionсрисовываем координаты вашего контейнера например:-7.65924,2.59931,0(X,Y,Z)
2.44 Загружаем в Тулсете вашу болванку скрипта 2.45 Копируем нижеприведенный скрипт и вставляете в левую часть Тулсета
2.46 Заменитеtal_ip_storage_chestна тэг вашего контейнера Заменитеtal_ip_storage_chest.utpна название utp_файла вашего контейнера Замените цифры координат контейнера в строке location lSpawn = Location(GetArea(oMainControlled), Vector(148.77, 117.68, -0.94), 0.0); на ваши. Первые три цифры - этоPosition(X,Y.Z) Четвертая цифра это вращение - первая цифра в строкеOrientation 2.47. Импортируйте скрипт в игру, найдите его в папках игры, присвойте уникальное имя и переместите в свою рабочую папку. 2.48 Создайте управляющий prcscr-файл 2.49 Соберите файл вашего предмета(ов) (.uti), вашего контейнера (.utp) и управляющего файла (.gda) в одну папку и переименовав ее переместите в override. 2.50 Загрузите игру и проверьте добавление контейнера с вашими предметами в игру.
Чуть не забыл... Когда вы будете закрывать в Тулсете файл локации, где вы производили установку контейнера, он спросит сохранять ли измененный файл. НЕ СОХРАНЯЙТЕ, Во избежании так сказать...Почему этот способ мой любимый. Во первых, в этот скрипт уже вшит plot-файл и предметы не будут дублироваться при повторной загрузке локации. Во-вторых, если вы добавили скажем один предмет в своем контейнере, а потом вам захотелось добавить еще несколько предметов в игру, то достаточно отредактировать инвентарь вашего контейнера в Тикете не заморачиваясь со скриптами и prcscr-файлами
Ну, и наконец самый мой нелюбимый способ добавления предметов в игру :
Добавление предметов сразу в инвентарь с использованием консоли.
На самом деле это самый простой способ добавления предмета или нескольких предметов в игру
3.1 Запускаем Тулсет и загружаем вашу болванку скриптов в модуле Single Player 3.2 Копируем нижеприведенный скрипт и вставляем в левое (рабочее ) поле Тулсета:
3.3 Если вы хотите все ваши предметы за один раз, то повторяем строчку CreateItemOnObject(R"item1.uti",oPC); столько раз сколько предметов вам надо добавить. Вот, например скрипт на три предмета:
3.4 Заменяем item1.uti, item2.uti, item3.uti на названия ваших uti-файлов 3.5 Экспортируем скрипт Tools-Еxport-Export without dependent resources 3.6 Находим скрипт по адресу: Мои документы/BioWare/Dragon Age/modules/Single Player/override/toolsetexport Напоминаю, что если по указанному адресу вы найдете только файл nss, то вы не правильно написали скрипт. Если скрипт написан правильно по указанному адресу должно появится два файла - nss и ncs. 3.7 Переименовываем файл ncs уникальным именем, например - snerg_dwarf_armor.ncs 3.8 Если вам нужно, чтобы предметы добавлялись в игру по одному - вам придется сделать отдельный скрипт на каждый ваш предмет и каждый скрипт должен иметь уникальное имя. 3.9 Переместите созданный скрипт (скрипты) в папку override 3.10 Запустите игру, откройте консоль и введите runcript snerg_dwarf_armor Замените snerg_dwarf_armor на название своего скрипта
УДАЧНОГО ВАМ МОДДИНГА!!!
Изменение репутации для пользователя Nalia
NaliaOffline
Сообщение №606
написано: 8 марта 2020, 11:38
| Отредактировано: Nalia - 8 марта 2020, 11:39
nicksnerg, мы ж уже на "ты" перешли давно Тут я уже не смогу помочь, у меня всегда данный способ работал. И на репаках, и на лицензии. Никогда из-за скриптов Тулсет не крашился и т. п. О_о Кстати, скрипт, который пишется через свой плот-файл срабатывает стопроцентно, а вот на твой вариант скрипта где-то в комментариях под другими материалами я видела жалобы. Не всегда он срабатывает. Но процентное соотношение мне не известно, просто пишу, что сама видела)) Впрочем, хорошо, если будет работать у всех
Может я глупость спрошу, но никак не могу разобраться. Я создаю модуль, устанавливаю для него любой скрипт (даже пустой), а в игре от этого появляется баг с распределением характеристик. Если для модуля не указывать скрипт, то бага нет, но и события не обрабатываются. А в этой статье указано, что такое происходит только, если указывать в качестве исполняемого скрипта module_core. Как исправить это?
----------------
Так ладно, разобрался вроде. Баг не возникал при пустом скрипте, я просто запутался в модулях. А дело было в том, что в основном скрипте модуля я ловил события и после этого ещё раз посылал их в обработку через HandleEvent(ev), и все события обрабатывались два раза по всей видимости.
Изменение репутации для пользователя Nalia
NaliaOffline
Сообщение №611
написано: 17 мая 2020, 12:56
| Отредактировано: Nalia - 17 мая 2020, 12:56
Nalia, а ещё я так понял это происходит из-за основных скриптов в override (а может и нет, надоело уже разбираться), которые туда экспортируются постоянно при компиляции любого скрипта. Столько времени и опыта надо, чтобы предусмотреть все эти мелочи, что желание творить пропадает абсолютно.
ребзи, если не сложно, может плз кто подсказать, как переводить моды? всмысле, я видела здесь статью про перевод dazip модов, а как быть, если нужно перевести не дазип мод? ( т е мод, который ручками в оверрайд пихается, не задействуя при этом даапдейтер и схожие ему приблуды)
MKrazy, модостроение (да и перевод тоже) для ДАО - отдельный вид боли. Планов и у меня много, но ни статей, ни чего-то еще. Остается только надеяться на исходники в других модах, чтобы что-то подсмотреть и попытаться повторить sharq, какой мод? Но так-то все моды, которые устанавливаются в папку override, но которые нужно перевести, оформляются в формат .dazip. Да, вы можете просто создать файл .tlk к моду, положить его в override, но он не будет работать, игра его не увидит, поэтому предметы останутся без перевода, будут отображаться теги предметов вместо названий. Чтобы всё начало нормально работать, вам нужно создать dazip на примере других модов.
получается, чтобы перевести такой мод, нужно сделать его dazip версию? а есть где то гайды/статьи о том как это сделать? (подойдут и на английском) или, может кто то здесь мог бы поделиться знаниями?
касательно какого мода - мне хотелось перевести для себя кусок импрувд атмофсир, ( имена нпс (папка 2.2) , и название/описание дефолтных/кастомных итемов (папка 1.4) и если для 1ых двух достаточно просто вырезать англ строки и дописать ID, то вот с кастомными итемами такое уже не прокатит
sharq, давайте на первый раз я вам создам скелет dazip'a, чтобы вы просто положили необходимые файлы, которые перевели, в .erf, а потом (отличная идея, кстати) напишу про создание и иерархию dazip'a небольшую статейку
Добавлено (19 Мая 2020, 15:55) --------------------------------------------- Держите: https://yadi.sk/d/q_EsD6A5gD07sA. Все файлы, которые вы перевели, поместите в файл ImprAtmos_modcore.erf (dazip\Contents\addins\ImprAtmos\core\data), в .tlk тоже скопируйте свои ID и текст, либо замените мой .tlk на свой, но только переименуйте его и дайте такое же название, какое у моего файла.
ох) спасибо вам за помощь, на днях попробую все это дело
за идею со статьей была бы благодарна) для меня dazip моды всегда были чем то вроде темного леса, и теперь вот, зная, что без них даже перевод невозможен, было бы интересно побольше обо всем этом узнать
здрасвуйте проблека с тулсетом, а именно выходит " Unable to read ERF file" wtf ?)
хочу этот собственно мод , изменяющий шрифт https://www.nexusmods.com/dragonage2/mods/4273 "Works for russian localization as well: just need to make a copy of fonts_en-us.gfx and rename it to fonts_ru-ru.gfx" достал файлы ерфэкстрактором, сделал как написано и... в тулсете ерф редактор выкабенивается, не хочет открывать ерф файл, дабы добавить туды новый файл... если геморно найти решение, то.. у кого нет подобной проблемы с тулсетом, сделай плз пару операций и кинте готовый файл ну и в моды добавить мона
rovrnomy, вы немного темой ошиблись В любом случае Тулсет для ДАО не откроет erf от ДА2. У ДА2 версии erf 3.0, а у ДАО - 2.0, кажется. А этой утилитой пробовали? Честно говоря, ничего не знаю про erf ДА2.
Добавлено (19 Мая 2020, 21:05) --------------------------------------------- Балуюсь тут немного Когда\если будет готово, выложу в своей группе.
Приветствую) Есть разные фиксики на исправления визуальной части персонажа Флемет. Я взял работу liruh, порт из DA2. pre210cr_flemeth.utc - этот файл отвечает за то, как она выглядит при первой встречи. pre211cr_flemeth.utc - этот при взятии квеста на её убийство. ???.utc - может кто знает как называется файл, когда она появляется в тени, в квесте "Кошмар Морриган"?
Nalia, в общем хотел схитрить... Взял файл "pre211cr_flemeth" и просто переименовал в "cir300cr_flemeth". Поначалу всё шло по канону - Флемет раздаёт подзатыльники Морриган, я подскакиваю и рублю ей голову .
И тут, зомби Флемет начинает задавать вопросы - Вы ещё не ушли, хотите супа?
Извините, но можно вас попросить вытащить тулсетом дефолтный файл cir300cr_flemeth.utc и прописать в нём пункты с одеянием и морфом :
Samura, ну, через тулсет и не получится нормально редактировать файлы GFF (.are, .uti, .utc, .utm, .utp), потому что он тупо не видит ID и текст в строках LocName и Description (и это оооочень странно). Сейчас скину в личку программу самую последнюю для таких дел, ее еще нигде не публиковала, но чуть позже ее можно будет скачать всем из моей группы.А что конкретно с Тулсетом не получается? Какая ошибка?
Приветствую) Нужна консультация по поводу .utc файла в редакторе daoGFF. Я так понимаю, чтобы заменить существующую вещь на нужную, достаточно просто переименовать ID предмета. А чтобы добавить новую вещь, нужно создать дополнительную структуру с тремя и более значениями (только непонятно зачем они нужны, так-как им всё равно присвоено значение 0, кроме ID). Мне неясно: Каждая структура имеет своё значение (4,0,11 и 0 новое мною добавленное). Я открывал другие файлы .utc и везде они разные. Получается, что можно присваивать произвольное значение или конкретное?
Samura, да, забыла сказать про слоты, у каждого предмета свой слот, понятное дело. Ниже прикрепляю значения слотов и файл, где можно остальные константы и значения посмотреть))
Код
// Inventory slots - These numbers should align with those in inventoryslots.h int INVENTORY_SLOT_INVALID = 255; int INVENTORY_SLOT_MAIN = 0; - слот для оружия основной руки int INVENTORY_SLOT_OFFHAND = 1; - слот для оружия второй руки int INVENTORY_SLOT_AMMO = 2; - я так понимаю, слот для стрел, но не уверена хD //UNUSED: 3 int INVENTORY_SLOT_CHEST = 4; - слот для брони (сюда же идут и мантии, и одежда) int INVENTORY_SLOT_HEAD = 5; - слот для шлема int INVENTORY_SLOT_BOOTS = 6; - слот для сапог int INVENTORY_SLOT_GLOVES = 7; - слот для перчаток int INVENTORY_SLOT_CLOAK = 8; - остаток от Невервинтера, надо полагать int INVENTORY_SLOT_RING1 = 9; - слот для 1-го кольца int INVENTORY_SLOT_RING2 = 10; - слот для 2-го кольца int INVENTORY_SLOT_NECK = 11; - слот для амулета int INVENTORY_SLOT_BELT = 12; - слот для пояса int INVENTORY_SLOT_BITE = 13; int INVENTORY_SLOT_SHALE_SHOULDERS = 14; int INVENTORY_SLOT_SHALE_CHEST = 15; int INVENTORY_SLOT_SHALE_RIGHTARM = 16; int INVENTORY_SLOT_SHALE_LEFTARM = 17; int INVENTORY_SLOT_DOG_WARPAINT = 18; - каддис мабари int INVENTORY_SLOT_DOG_COLLAR = 19; - ошейник мабари