Форум » Dragon Age » Dragon Age: Origins » Изучаем создание модов (Рано или поздно мы начнём делать свои плагины.)

Изучаем создание модов
nicksnerg  Offline  Сообщение №451 написано: 1 июня 2017, 04:01



372
Скажите, а персонажей из дополнений можно переодевать только через оверриде? Суть вот в чем. Взял я перса из Пика солдата. Переодел его в шмот из мода и закинул его файл в оверриде. Все файлы вещей с него в аддинсе оставил. Захожу  в игру - перс голый, сет-бонус не работает. Перекидываю файлы обмундирования в оверриде - перс одетый, сет-бонус включается. Но отключается tlk-файл. Проще говоря вместо новых названий и описаний - пусто...

FalconRR  Offline  Сообщение №452 написано: 1 июня 2017, 06:00 | Отредактировано: FalconRR - 1 июня 2017, 06:10


Толстожопый жиробас


191
Цитата nicksnerg

Скажите, а персонажей из дополнений можно переодевать только через оверриде? Суть вот в чем. Взял я перса из Пика солдата. Переодел его в шмот из мода и закинул его файл в оверриде. Все файлы вещей с него в аддинсе оставил. Захожу  в игру - перс голый, сет-бонус не работает. Перекидываю файлы обмундирования в оверриде - перс одетый, сет-бонус включается. Но отключается tlk-файл. Проще говоря вместо новых названий и описаний - пусто...

Не до конца понял суть вопроса... но, могу сказать, что папка Override имеет наивысший приоритет, видимо, когда файлы не в Override, то движок, согласно приоритету, пытается одеть перса обратно, но так-как файлы обмундирования заменены, он этого сделать не может, по этому перс голый. Насчет отключения tlk, а что мешает и tlk тоже в Override перенести?
И вообще, такие вещи, как переодевание, добавление персонажей, placeable предметов, изменение статов ванильных вещей, создание новых дверей и т.д. в обязательном порядке интегрируются в игру, через PRCSCR систему, иначе неизбежны глюки, баги шмаги, конфликты с очень многими модами и вообще всё плохо и печально. Вопросов мне, по поводу работы этой системы, можно не задавать, я пока в процессе расковыривания всего этого механизма, по этому, пока сам пользуюсь дуболомным методом, прямого редактирования.

Не рой другому яму... пусть сам роет.
Apriley  Offline  Сообщение №453 написано: 2 июня 2017, 08:59 | Отредактировано: Apriley - 2 июня 2017, 09:02





162
FalconRR, можно вопрос к спецу - с чего начинать работу со скриптами? Для чайника, который вообще с этим разделом дела не имел, в общем. А то во все гайды и иже с ними написаны, похоже, для тех, кто уже знает, откуда эти скрипты берутся и как правильно редактируются.

FalconRR  Offline  Сообщение №454 написано: 2 июня 2017, 14:17 | Отредактировано: FalconRR - 2 июня 2017, 14:19


Толстожопый жиробас


191
Цитата Apriley

FalconRR, можно вопрос к спецу - с чего начинать работу со скриптами? Для чайника, который вообще с этим разделом дела не имел, в общем. А то во все гайды и иже с ними написаны, похоже, для тех, кто уже знает, откуда эти скрипты берутся и как правильно редактируются

Я бы с удовольствием, только спец из меня... У нас со скриптами взаимное послание друг другу сходить в лес. Я в принципе понимаю, как и что я делаю, многое получается, но чтобы без глюков... это редко. Вообще, если хотите хорошо разбираться в скриптах ДАО, да и многих других игр, что даст Вам возможность, буквально пилить игру под себя, почти любые хотелки будут возможны, тогда начните изучать язык С, достаточно самых самых основ, в дебри лезть не стоит. Затем, начните осваивать язык DAScript, тут обзор языка, а детальная информация в файле "dascript.chm" по адресу : "Dragon Age\packages\core", предварительное изучение основ С, в разы облегчит Вам понимание DAScript. Ну и немножко страничек накидаю, по скриптам ДАО, если не хотите учить С. Можно в принципе и так разобраться:
Основная информация о скриптахПримеры скриптовСистема PRCSCRPRCSCR.xlsШаблоны скриптов PRCSCRСистема Plot-файловОпределение события и его обработкаПодмена обработки событий ну и там, по ссылками переходите. Вот, советую начать с этого видео (в конце поста) и просто повторить и сделать такой же квест, потом постепенно пытаться делать простенькие скрипты, не просто читать, а именно пытаться делать, со временем будете все глубже понимать механику и будет всё легче и легче.

Не рой другому яму... пусть сам роет.
Apriley  Offline  Сообщение №455 написано: 2 июня 2017, 16:52





162
FalconRR, благодарю, буду разбираться.
Мне по сути и нужны-то самые простые скрипты - новый предмет в инвентарь добавить, в сундук, или торговцу какому.

FalconRR  Offline  Сообщение №456 написано: 2 июня 2017, 18:46 | Отредактировано: FalconRR - 2 июня 2017, 19:08


Толстожопый жиробас


191
Цитата Apriley

Мне по сути и нужны-то самые простые скрипты - новый предмет в инвентарь добавить, в сундук, или торговцу какому.

Это проще простого. Быстро научитесь. Я вот пытаюсь одновременно создать новую область, с новыми объектами, с переходом, с карты мира, новое существо/существ и еще целую цепочку событий, с заданиями, диалогами и кодексами, и всё это с помощью PRCSCR, чтобы конфликтов и багов не было на 99%, но все время, где-то в цепочке происходит сбой, блин, умаялся уже. Есть более простой путь, но глупый, поскольку конфликты с другими модами, гарантированы, это напрямую в тулсете редактировать персонажей, объекты, добавлять новых существ, так же прямо в тулсете, можно открыть инвентарь любого торговца и ящика и добавить туда нужный предемет, но поскольку мир игры управляется скриптами, то от малейшего изменения событий или установки мода, каким то образом затрагивающего этого торговца, или даже область, где он стоит, сразу наступят последствия такого метода. Почти все вещи, неписи, сундуки, существа и т.д и т.д в игре, добавляются, убираются, в общем управляются скриптами. По этому, это единственно верный путь, для изменения игры, не трогать основные ресурсы, создать модуль, расширяющий Single Player и уже в нем творить, но добавлять все следует, через скрипты. Что-то много накалякал, пойду дальше головой ап стену биться.
ЗЫЫ По сути PRCSCR довольна простая систем, её смысл, написать свой скрипт для управления определенными событием, можно с кучей схем (PLOT-файлов), перехватить управление событием у главного скрипта и направить его в свой обработчик и сделав своё дело, вернуть управление обратно, главному скрипту, хотя возвращать не обязательно, зависит от события и от многих других факторов. Также можно последовательно передавать управление из одного скрипта, другому, потом третьему и до бесконечности.

Не рой другому яму... пусть сам роет.
Apriley  Offline  Сообщение №457 написано: 2 июня 2017, 20:03





162
Ну... это пока совсем не про меня :D  Я пока останавливаюсь на визуальной части игры и минимальном балансе вещей (под себя, естессно). За глаза хватает, чтобы забыть непосредственно об игре и убивать все время в тулсете))
А торговцам напрямую в магазины добавлять - вообще ужасть получится. Во-первых грузится только один раз, а во-вторых, конфликтует со всем на свете. Если utc файлы в этом плане намного менее конфликтны (ну сколько может быть изменений для одного конкретного персонажа?), то с utm, конечно, кошмар. 
Научусь привязывать скрипт выдачи предмета к определенному событию или диалогу - и счастью моему не будет предела  lol

FalconRR  Offline  Сообщение №458 написано: 2 июня 2017, 20:25 | Отредактировано: FalconRR - 2 июня 2017, 20:33


Толстожопый жиробас


191
Цитата Apriley

Научусь привязывать скрипт выдачи предмета к определенному событию или диалогу - и счастью моему не будет предела

 Не очень сложно  в проверку "условия" можно вписать, например: событие "ARCHDEMON_EVENT_ONE", это первый кошмар с архидемоном, или можно сооздать условие с событием убийства, какого-нибудь монстра и только после этого выдавать предмет. Вообще можно любое условие придумать, какое в голову взбредет, даже если изначально, этого события нет (а есть практически всё, на все случаи жизни), то это событие, можно определить самому. Тут только нужно создать схему (PLOT) с проверками на событие и чтобы выдавал только один раз или наоборот, постоянно. Если нужна выдача в диалоге, то посмотрите ролик, который я оставил выше, могу еще роликов накидать, но они все на английском, без субтитров.

ЗЫ Тэг любого контейнера и AreaListName, думаю Вы без проблем найдете, поскольку всё время в тулсете сидите

Не рой другому яму... пусть сам роет.
Apriley  Offline  Сообщение №459 написано: 3 июня 2017, 13:26





162
FalconRR, буду надеяться, что разберусь  :) С тегами-то просто, а вот нужные события придется поискать.

nicksnerg  Offline  Сообщение №460 написано: 4 июня 2017, 16:37



372
Цитата Ауранг

после разговора с ним,покажи свой товар, не появляется окно товара, и так пару раз. Не открывается магазин.


Я понял в чем ваша пробдема. У меня тоже так пару раз было, но не с Боданом, а с торговцем в таверне Лотеринга и Горимом а Денериме. Просто у них инвентарь переполнился. Когда сильно много им вещей продашь - перестает открываться магазин. Вот поэтому я не очень приветствую вложение всех модовских вещей многострадальному Бодану.

Ауранг  Offline  Сообщение №461 написано: 4 июня 2017, 17:03


Изорванная Вечность


nicksnerg, то есть, если я правильно Вас понял просто надо "разгрузить телегу" Бодану? Ну в моем случаи скорее слишком много вещей (модов) было добавлено ему.

LicimeR  Offline  Сообщение №462 написано: 8 июня 2017, 15:52 | Отредактировано: LicimeR - 8 июня 2017, 15:52



1
Всем Доброго времени суток !!! Уважаемые Мододелы (ну или как то так), не могли бы вы мне чуть чуть помочь ? Я бы хотел вот в этот Сет Брони https://modgames.net/load/1/bronja/pervonachalnaja_bronja_dunkana/63-1-0-219 добавить статы, но не знаю как. Какие добавить статы я написал бы в личку. Буду очень вам благодарен. Хочу сделать чисто для себя, а то пока в отпуске, решил пройти. Красивые доспехи нашёл, а вот статы там не найс (((

nicksnerg  Offline  Сообщение №463 написано: 10 июня 2017, 18:04



372
LicimeR, гляжу никто не хочет вам помочь... напишите мне в личку что вы хотите поменять.

FalconRR  Offline  Сообщение №464 написано: 16 июня 2017, 18:05 | Отредактировано: FalconRR - 16 июня 2017, 18:08


Толстожопый жиробас


191
Цитата nicksnerg

гляжу никто не хочет вам помочь... напишите мне в личку что вы хотите поменять.

Уже давно помог))

Добавлено (16 Июня 2017, 21:05)
---------------------------------------------
Nalia, Помните, у нас с Вами был разговор, насчет, один меш и две ткстуры, кажется была куртка и штаны? На самом деле движок такое поддерживает, главное чтобы была не мультитекстура. Для примера: сейчас работаю над одним мечом (уел он меня уже), так вот, у меня в одной моделе и меше, используется 5 разных текстур. Так что, если все грамотно в максе сделать, то на одни сапоги, можно использовать хоть 10-ок разных текстур, не обязательно объединять все в одну.
ЗЫ И в том же разговоре зашла речь о скининге, двольно простая процедура, главное четко понимать, что ты делаешь, гораздо легче той же развертки, если её делать по всем правилам.

Не рой другому яму... пусть сам роет.
Nalia  Сообщение №465 написано: 22 июня 2017, 12:08

FalconRR, да ну его это моделирование, короче говоря lol Может быть, когда-нибудь, но сейчас не охота совсем) Кстати, песик зачетный good Небось, все жители будут прятаться от такого)))
А вот у меня вопрос по диалогам. Чисто теоретический. Можно лишь одни диалоги создать отдельно в Тулсете от всего остального винегрета? Чтобы текст в них вбить, и пусть в базе такими полупустыми валяются. Или это дело сильно взаимосвязано, что лучше ничего не трогать? :) Сорри, я в создании модов сильно не заглядывала))

Lavallet  Сообщение №466 написано: 22 июня 2017, 15:17 | Отредактировано: Lavallet - 22 июня 2017, 15:37

Nalia,
Конечно, диалог - это просто файл .dlg, который ты потом прикрепляешь к выбранному существу (.utc) или любому другому объекту (двери, сундуку и т.д.) через поле «Conversation» в списке всех свойств этого объекта. Тут ничего не поменялось за сто лет ещё со времен первого NWN :) Создается диалог через стандартное меню (New -> Conversation), как и любой файл. Разумеется, нужно дать этому файлу уникальное имя, чтобы он не конфликтовал с каким-нибудь другим диалогом, который уже есть в игре или другом моде. И пусть себе потом лежит в базе и ждёт своего часа.

FalconRR  Offline  Сообщение №467 написано: 22 июня 2017, 15:56


Толстожопый жиробас


191
Цитата Nalia

А вот у меня вопрос по диалогам. Чисто теоретический. Можно лишь одни диалоги создать отдельно в Тулсете от всего остального винегрета? Чтобы текст в них вбить, и пусть в базе такими полупустыми валяются. Или это дело сильно взаимосвязано, что лучше ничего не трогать?  Сорри, я в создании модов сильно не заглядывала))

Ну в принципе, тебе уже ответили, я просто добавлю. В диалогах, почти на каждую фразу вешается plot или script, а с твоими условиями для компаньона будет такое дерево диалога, что если его сейчас пустым создать, просто с репликами, то потом трудно будет вспомнить, на какую фразу, что повесить и ещё немножко дегтя) для диалогов нужно делать сцены, с жестами, позами, сменой позиций камеры, выражениями эмоций, а если участников разговора несколько, то вообще ахтунг, также нужно на диалог сделать VO а потом FaceFX, чтобы губы в такт шевелились, тонкостей много, чем-то похоже на создание катсцены, нужно переводить камеру на говорящего или перевести на какой-то объект, так что я считаю, лучше сразу делать, как нужно, сами фразы пишутся легко и быстро, а вот оформить всё это, привязать к условиям, это кхм довольно трудоемко.

Не рой другому яму... пусть сам роет.
Lavallet  Сообщение №468 написано: 22 июня 2017, 16:15 | Отредактировано: Lavallet - 22 июня 2017, 17:02

Цитата FalconRR

с жестами, позами, сменой позиций камеры, выражениями эмоций, а если участников разговора несколько, то вообще ахтунг

Я, конечно, не специалист во всё этом, но не думаю, что тут что-то сильно поменялось со времен NWN2. У каждого диалогового узла (реплики) в dlg-файле просто есть настройки, где выставляются эмоции и жесты говорящего при произнесении этой конкретной фразы (информацию об этом тоже нужно не забыть сообщить скриптеру). Камеру в простых диалогах tet-a-tet менять приходится в исключительных только случаях, дефолтная сама подбирает нужные ракурсы и со своими задачами справляется нормально. С несколькими участниками тоже ничего сложного не должно быть, у каждой реплики можно задавать её «хозяина» (speaker)... Но я могу ошибаться, пока что руки не дошли до всего этого.

FalconRR  Offline  Сообщение №469 написано: 22 июня 2017, 17:17 | Отредактировано: FalconRR - 22 июня 2017, 17:18


Толстожопый жиробас


191
Цитата Lavallet

У каждого диалогового узла (реплики) в dlg-файле просто есть настройки, где выставляются эмоции и жесты говорящего при произнесении этой конкретной фразы (информацию об этом тоже нужно не забыть сообщить скриптеру). Камеру в простых диалогах tet-a-tet менять приходится в исключительных только случаях, дефолтная сама подбирает нужные ракурсы и со своими задачами справляется нормально. С несколькими участниками тоже ничего сложного не должно быть, у каждой реплики можно задавать её «хозяина» (speaker)... Но я могу ошибаться, пока что руки не дошли до всего этого.

А здесь не согласен, жесты, позиции настраиваются в редакторе сцены. И дефолтная камера ничего сама не подбирает, вообще не двигается и не переводит камеру ни на кого, всё-время в одном положении, тут тоже редактор сцены задействуется и выставляется несколько камер, а то и несколько десятков камер. Премерно вот так выглядит первый разговор с Затрианом, с участием сопартийцев, в данном случае 11 камер с настройками, и здесь еще не показаны настройки жестов и поз, эмоции согласен, выставляются в настройках к диалогу, но всё равно не работают, пока не сделаешь VO и FaceFX.

Не рой другому яму... пусть сам роет.
Nalia  Сообщение №470 написано: 22 июня 2017, 17:43

Цитата FalconRR

нужно на диалог сделать VO а потом FaceFX

Вот это мой кошмарный сон :D Возможно, все не так страшно, Лирух обещал научить, как только я актера для Гилмора найду, но достойных пока нет, да вообще никаких нет. Раньше были, но то микрофон был ужасен, то голос совсем не тот. Но-таки я надеюсь и верю)))

FalconRR  Offline  Сообщение №471 написано: 22 июня 2017, 21:22


Толстожопый жиробас


191
Цитата Nalia

Вот это мой кошмарный сон  Возможно, все не так страшно, Лирух обещал научить, как только я актера для Гилмора найду, но достойных пока нет, да вообще никаких нет. Раньше были, но то микрофон был ужасен, то голос совсем не тот. Но-таки я надеюсь и верю)))

Вот уж проблема, тоже мне. Главное озвучку запиши, а VO и FaceFX я тебя сам научу, да там и учить особо нечему. Вообще, лично я собираюсь, при добавлении компаньона или просто диалога для квеста, найти подходящий источник, например игру или фильм и нарезать оттуда нужные фразы, можно даже из ДАО нарезать нужные фразы, там у многих голоса повторяются, естественно надо диалог построить таким образом, чтобы не попадались особо специфичные фразы.
Вот я делаю квест для своего проекта, так у меня в катсцене дракон, говорит голосом Смауга, просто нарезал нужные фразы и наложил на музыку, довольно эпично получается, правда у меня и модель дракона, тоже Смауг. Вообще планирую построить квест с минимальным участием голосовой озвучки, будем говорить с предметами, инфу получать из кодексов и описаний, а где понадобится озвучка, ну прям край, я уже говорил, нарежу подходящую откуда-нибудь и подстрою диалог под неё.

ЗЫЫ Я честно говоря не в теме, но знаю точно, что школота в CS говорит своим мужским голосом, а на выходе получается женксий голос, причем очень похож. Может, кто просветит, что это и если это так, то можно и тембр и интонации тогда синтезировать.  Вот, даже что-то нарыл, интересно насколько всё это плохо/хорошо получается...

Не рой другому яму... пусть сам роет.
Nalia  Сообщение №472 написано: 30 июня 2017, 14:06

FalconRR, эх, я, наверное, надоедаю со своими "спасибо", но, действительно, спасибо!
А вот теперь мне нужно консультация по скриптам :D В общем, после перевода "Усмиренная София", обнаружила ее с английским именем, но я все сделала правильно, начала рыться в файлах, в файле gda обнаружила ссылку на скрипт "bp_sophia_scr", хорошо, что автор заложил(а) исходники в мод. Открываю исходник NotePad++, получаю код:

Код
// This script is triggered on entry to the mages tower, level 2
// The generic elven female tranquil is given a name
// and the Sophia plot is started.

#include "wrappers_h"
#include "plt_bp_sophia_plot"

void main()

// Start quest, if not already started
    if (!WR_GetPlotFlag(PLT_BP_SOPHIA_PLOT, FIND_SOPHIA))
    {
        WR_SetPlotFlag(PLT_BP_SOPHIA_PLOT, FIND_SOPHIA, TRUE);
    }
// Sophia's name doesn't seem to be retained in save games, so it needs to be set every time
    object oSophia = GetObjectByTag("bhm200cr_f_e_tranquil");
    SetName(oSophia,"Sophia");
}

Вот оно: SetName(oSophia,"Sophia");. И вот как мне теперь поступить? Если впишу имя на русском, наверняка, будут кракозябры. Не говоря уже о том, что русское "о" просто не вписывается :D Просто стереть, наверное, тоже нельзя, судя по комментарию к скрипту. Или можно? Но ведь локализаторы как-то переводили имена персонажам над головами! Если глянуть в сохранение с переведенным именем будет так: 73579 (то есть, просто ID, без букв), а если взять мод, то будет так: 7284956429:Sophia (к примеру). Что делать, подскажите кто-нибудь, плиз ^_^ 
И еще, я чисто ради любопытства все-таки стерла имя Софии в скрипте и попыталась его компилировать, вылезла эта ошибка:
Код
E: 16:37:32 - bp_sophia_scr.nss - bp_sophia_scr.nss(11): Variable defined without type (while compiling var_constants_h.nss)


Фиг знает, что Тулсету не так. Не переведенный файл plt_bp_sophia_plot.plo, предварительно стерев приставку plt_, находится по адресу: C:\Users\Admin\Documents\BioWare\Dragon Age\modules\Single Player\override\toolsetexport. Работаю из-под модуля Single Player. Знаю, что лучше свой модуль создать, но это же я :D

Lavallet  Сообщение №473 написано: 30 июня 2017, 17:26 | Отредактировано: Lavallet - 30 июня 2017, 21:12

Nalia,
Замени
Код
SetName(oSophia,"Sophia");
на
Код
SetLocName(oSophia, 73579);
и перекомпилируй скрипт.

73579 - это ID строки с именем Софии в файле .TLK? Если нет, поищи сама нужную строку и вставь её номер. Можешь ещё попытать удачи с 7284956429.
У меня DAO не установлен, к сожалению. Если у мода свой TLK-файл, там номер по какой-то хитрой формуле высчитывается, скорее всего. smile2
По поводу ошибки: если не убирать эту строчку, компилируется нормально? Если нет, убедись, что у тулсета есть доступ ко всем тем скриптам, на которые ссылается твой скрипт выше и те сами в свою очередь. Если они находятся внутри какого-то модуля, то нужно предварительно открыть этот модуль (ну или просто вытащить нужные файлы и положить рядом с твоим файлом, но лучше так не делать) и затем уже компилировать скрипт.
Цитата Nalia

Не переведенный файл plt_bp_sophia_plot.plo, предварительно стерев приставку plt_

Так, а зачем стирать приставку, поясни?

P.S. Ничего, что я на «ты»? Привычка с англоязычных форумов, там с этим попроще.

Nalia  Сообщение №474 написано: 1 июля 2017, 13:39

Цитата Lavallet

P.S. Ничего, что я на «ты»? Привычка с англоязычных форумов, там с этим попроще.

Я не против :) Правда, в английском все на "вы", но действительно проще - всего один вариант :D

Lavallet  Сообщение №475 написано: 1 июля 2017, 15:38 | Отредактировано: Lavallet - 2 июля 2017, 14:26

Скобку убирать нельзя, он по делу ругается :)

Это обычный блок кода с условным оператором IF: «если какое-то условие истинно, сделай то-то». «Какое-то условие» здесь это «!WR_GetPlotFlag(PLT_BP_SOPHIA_PLOT, FIND_SOPHIA)». Давай разберём его по полочкам. Функция WR_GetPlotFlag(...) смотрит, установлен ли для квеста с Софией флаг «plot» и возвращает либо TRUE (истина), если установлен, либо FALSE (ложь) в противном случае. Восклицательный знак перед этой функцией означает логическое отрицание. Собирая всё вместе, мы видим, что условие целиком будет возвращать TRUE, если флаг установлен, и FALSE, если установлен. Теперь насчёт «сделай то-то»: оно заключено в фигурные скобки, иначе компилятор не поймёт, какой конкретно код относится к IF (если там несколько строк, например), и в данном случае на его месте стоит одна строка WR_SetPlotFlag(PLT_BP_SOPHIA_PLOT, FIND_SOPHIA, TRUE), которая выражает действие: установи флаг «plot» для квеста с Софией. Т.е. целиком этот блок с IF говорит следующее: «если для квеста с Софией не установлен флаг «plot», установи его». Если «какое-то условие» даёт FALSE, код в фигурных скобках просто не выполняется и скрипт идёт дальше.
Код
if (какое-то условие)
{
     сделай то-то
}

Если ошибка и есть где-то, то она не в этом скрипте, тут с точки зрения синтаксиса всё правильно написано. Потому и посоветовал обратить внимание на другие скрипты. Ему не нравится, похоже, что в функцию WR_GetPlotFlag(...) подставляется переменная неизвестного типа. Переменные PLT_BP_SOPHIA_PLOT и FIND_SOPHIA определяются в других скриптах, на которые он ссылается и из которых он должен их подцепить при компиляции. Возможно, он просто не может найти их, вот и спотыкается на этой строчке.

Цитата Nalia

Правда, в английском все на "вы", но действительно проще - всего один вариант

Это как посмотреть. В английском you не несёт такого преднамеренно уважительного и формального оттенка как «вы» в русском. И к незнакомому человеку, и к брату\сестре\мужу\любому родственнику ты всегда обращаешься одинаково как you, независимо от степени вашей близости. И при переводе мы уже сами должны решать, в зависимости от контекста, какую лучше форму использовать: «ты» или «вы». Учитывая неформальный стиль общения на подавляющем большинстве форумов, это всё-таки русское «ты». И вообще я сторонник мнения, что форму «вы» в интернете нужно использовать только в формальной переписке или когда есть твёрдая уверенность, что собеседник намного старше тебя :)

Nalia  Сообщение №476 написано: 2 июля 2017, 16:26 | Отредактировано: Nalia - 2 июля 2017, 16:27

Lavallet, спасибо большое, да, недосмотрела :) Ну, тогда не знаю, в чем причина. Буду искать на тему "WR_GetPlotFlag", ведь Тулсет ругается именно на эту, 11-ую, строку. Даже если ничего в скрипте не менять, а просто попытаться компилировать исходный текст. Тулсет всегда запускается от имени администратора, полноценный доступ к базе есть. А вот этот скрипт "var_constants_h.nss", который указывается в ошибке, он один из главных, его скомпилировать нельзя, да это и не нужно.

Добавлено (02 Июля 2017, 19:26)
---------------------------------------------
В общем, крутила, гуглила, экспериментировала, предыдущую проблему поборола, убрав фигурную скобку, КАРЛ! lol   Но Тулсет посчитал, что так просто я не отделаюсь. Поэтому сейчас застряла на данном этапе, на скрине видно и ошибку, и подсказку от Тулсета, которая мне почти ничего не дает. Думаю, ошибка уже не такая серьезная, сейчас нужно отойти и искать дальше. Для меня это все дается тяжело, даже с подсказками от Тулсета и интернета)))

Lavallet  Сообщение №477 написано: 2 июля 2017, 16:55 | Отредактировано: Lavallet - 2 июля 2017, 17:51

Nalia,
О господи... :D Говорю же, там с синтаксисом всё нормально. Это так не работает... Ты убрала скобку, и вот что получилось в итоге: для IF это не критично, т.к. если «сделай-то» состоит из одной строчки, то фигурные скобки можно опустить, т.е.

Код
if (какое-то условие)
     сделай то-то

даёт тот же эффект, что и

Код
if (какое-то условие)
{
     сделай то-то
}
в данном случае.

НО компилятор теперь думает, что вторая фигурная скобка, которую ты не удалила, относится к void main(). А поскольку за этой скобкой следует ещё какой-то непонятный код (с точки зрения компилятора), которого там не должно быть, и к тому же у последней закрывающей фигурной скобки нет открывающей точно такой же скобки, поэтому он и выдаёт ошибку... Удали вторую фигурную скобку, оставшуюся от IF, и ты получишь ту же самую ошибку в строчке с WR_GetPlotFlag(...), с которой начинала. Я тебе даже дал подсказку: проверь переменные, они должны быть в одном из скриптов, которые подключаются к твоему скрипту через #include в начале (это специальные скрипты, которое содержат только вспомогательную информацию для других скриптов, их компилировать не нужно). Если этих переменных там нет, он никогда не скомпилируется.

И ещё, убери void перед SetLocName. Это ошибка. Долго объяснять, но void используется при создании функции с нуля, при вызове он не нужен.
Код должен выглядеть так:


А ещё лучше скинь сюда текст plt_bp_sophia_plot.nss.

FalconRR  Offline  Сообщение №478 написано: 4 июля 2017, 16:14 | Отредактировано: FalconRR - 4 июля 2017, 16:19


Толстожопый жиробас


191
Nalia, Скинь пожалуйста ссылку на этот мод. И создай уже свой модуль, это раз. PLOT-файлы по умолчанию не являются скриптами и чтобы скрипт смог взаимодействовать с ними и ставится префикс plt_, если его просто стереть, то скрипт не сможет взаимодействовать с этими файлами, даже, если это убирает ошибку. На последнем скрине, тулсет четко тебе говорит, что неправильно записано имя. И вообще, для общего развития, всё что находится в папке module действует именно на этот модуль, то есть из-под другого модуля его тулсет не увидит, всё что находится в папке core, действует на всё и будет видно из-под любого модуля. Мой совет, создай правильно новый модуль, расширяющий Single Player, в строке Script при создании модуля, замени "Core Script" на "none", далее в Manage Module, жмякни Hierarchy и сними галку с Single Player, скомпилируй plot-файл из этого модуля, чтобы он был виден, обрабатывающему скрипту из любого места, он попадет в папку Documents\Bioware\Dragon Age\AddIns\имя модуля\core\override\toolsetexport\. Дальше верни галку на Single Player в Hieararchy на место и попробуй скомпилировать скрипт, если всё нормально, он попадет в папку \имя модуля\module\override\toolsetexport\. А с именем надо что-то решать.
Прошу прощения, я не очень внимательно читал тему, голова плохо варит (болею), так что, если что не так, думаю Lavallet меня поправит. А вообще конечно лучше всего самому посмотреть на этот мод.

Не рой другому яму... пусть сам роет.
Nalia  Сообщение №479 написано: 4 июля 2017, 16:31

Цитата FalconRR

Скинь пожалуйста ссылку на этот мод.

Пожалуйста. Но ошибка с именем - это мои совсем неудачные эксперименты. Там Тулсету непонятна 11-ая строка. Вылазит эта ошибка:
Код
E: 16:37:32 - bp_sophia_scr.nss - bp_sophia_scr.nss(11): Variable defined without type (while compiling var_constants_h.nss)
Это получается, мне нужно заново самой создать plot файл? Ну, и танцы с бубном. Я сильно в тему не вникала, но в NWN2, вроде, можно прямо в скрипте переводить. А в DAO после этого кракозябры полезут.

FalconRR  Offline  Сообщение №480 написано: 4 июля 2017, 22:59 | Отредактировано: FalconRR - 4 июля 2017, 23:04


Толстожопый жиробас


191
Nalia, Ну имя у меня получилось сразу сменить и скрипт скомпилировать, с помощью небольшой хитрости. Осталось 2 проблемы, имя я могу сменить только на латиницу или цифры и перестали работать скрипты запуска квеста с Софией. Похоже правда придется заново писать plot со всеми диалогами и развитием событий. В принципе я уже начал, там не так много, посмотрим, что из этого получится.
Цитата Nalia

Ну, и танцы с бубном. Я сильно в тему не вникала, но в NWN2, вроде, можно прямо в скрипте переводить.

Ну если базу данных тулсета русифицировать, то я думаю возможно.

Добавлено (05 Июля 2017, 01:59)
---------------------------------------------
Nalia, Переписал заново PLOT, скомпилировал скрипт, заменил все UID во всех DLG, всё работает, скрипт компилируется, имя меняется, София разговаривает, но на русском сделать её имя никак и похоже, судя по вики, таким способом, это сделать невозможно. Я вижу 2 варианта, это русификация базы данных тулсета или стирание этой строки в скрипте и перевод обычным способом, с переносом в TLK и удалением англ. названия в UTI, но тогда новое имя присвоится, только с началом новой игры.
Вот, что пишет Вики:

SetName

Sets an object's non-localized name.
void SetName(
object oObject,
string sName
);

Description

"Overrides an object's name with non-localized text. Non-localized names have a higher priority than localized names."
То есть, SetName переписывает имена объектов, нелокализованным текстом, нелокализованный текст имеет приоритет выше, что локализованный, соответственно... дудки, SetName всегда будет перебивать, перевод в TLK.
Единственное, что я могу сделать, поскольку уже сделал)) это перевести обычным способом, то есть в TLK, но работать будет, только с началом новой игры, как то так. Русифицировать БД я не собираюсь))
Возможно, кто-то другой, сможет это изменить, к сожалению моих знаний не хватает.

Не рой другому яму... пусть сам роет.
Форум » Dragon Age » Dragon Age: Origins » Изучаем создание модов (Рано или поздно мы начнём делать свои плагины.)
Поиск:





Ответ на жалобу смотрите в разделе жалоб