• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

FAQ Общий

Статус
В этой теме нельзя размещать новые ответы.

Marvіn

Участник форума
Регистрация
17 Апр 2008
Сообщения
99
Благодарности
9
Баллы
180
С появлением одних и тех же часто задаваемых вопросов создана эта тема.
Вообщем сдесь будут даваться ответы на очень и не очень часто задаваемые вопросы.

С чего начать модостроение для Готики?
Для начала нужно скачать и потом установить GMDK (Gothic Mod Development Kit)
Для первой Готики - http://www.worldofgothic.de/dl/index.php?go=downloads&release_id=28
Для второй Готики:
(FULL) - http://www.worldofgothic.de/dl/index.php?go=downloads&release_id=94
(Lite) - http://www.worldofgothic.de/dl/index.php?go=downloads&release_id=93

Далее качаем и устанавливаем программу для компиляции\декомпиляции скриптов – GothicSourcer - https://worldofplayers.ru/node/565
Уже с этим набором софта можно начинать создавать мод.
Какой прогой редактировать скрипты Готики?
Для редактирования и создания новых скриптов используйте программу GothicSourcer -
https://worldofplayers.ru/node/565
С помощью какой программы можно создать\отредактировать карту Готики?
Для редактирования\создания карты Готики используйте программу 3ds max - http://autodesk.com
Также у Вас должен быть установлен GMDK
Я создал свой новый квест и вставил его в игру. Нужно мне начинать игру с начало что-бы увидеть мой диалог?
Отвечает: MaGoth
Если редактировался диалог существующий, то шанс что он отобразится примерно 50/50.
Если в скриптах вводится новый диалог, то он появится только в том случае, если игру начать заново.
Подскажите, как вставляется озвучка?
Для примера возьмем кусок с диалога, или даже стоку:
AI_Output (self, other, "DIA_My_New_NPC");
То что в кавычках это и есть файл озвучки, то есть нужно создать звуковой файл с именем DIA_My_New_NPC.wav и вставить его в папку speech.
Я создаю НПС делаю ему диалог, мне нужна программа для озвучивания текста в формате *.wav не подскажете где её можно взять?
Отвечает: marazmus
Из бесплатных программ для работы со звуком хороша audacity - http://audacity.sourceforge.net/download/?lang=ru
Почему при компиляции скриптов Готики 2А получаю сообщения об ошибках, хотя ничего нового не создавал и скрипты не изменял?
Есть два возможных решения этой проблемы:
1)Самому исправить все ошибки.
2)Скачать декомпилированные скрипты от Акеллы - http://forum.worldofplayers.ru/attachment.php?attachmentid=1901&d=0
Можно ли в Г2 добавить новый диалог mobsi, т.е. чтобы при использовании, скажем, плиты выскакивала такая же менюшка с выбором, как при ковке оружия или приготовлении снадобий?
Отвечает: marazmus
В общем и целом - можно.

Сильно кратко говоря - можно добавить mobsi-диалог к любому объекту Г2а.

Один из путей, "правильный" - нужно править соответствующий zen (файл игрового мира). Это делается через присвоение функции реакции на действие "использовать" данного объекта. Естественно, возрастет объем мода, за счет того, что нужно будет в мод включить исправленный zen. Этот путь выгоден, когда известно, что мод и так будет большой, и в соответствующих зенах будут еще правки, кроме добавления mobsi-функций.

Другой из путей, работающий, но не всегда - присвоение функции диалога самому ГГ, в момент, когда он использует определенный объект. Так как в скриптах можно отследить, когда ГГ использует объект (и какого типа - наковальня, точило и т.п.), то можно "поднять" соответствующий диалог типа self-self (тихо сам с собою), и в нем производить необходимые действия (варить супы, точить мечи и прочее). Но для этого обязательно нужно, чтобы рядом с ГГ и объектом находился какой-нибудь персонаж (npc) - потому что реакция на использование объекта главным героем идет "через" персонажа (его восприятия). Поэтому, если стул есть, но рядом с ним нет персонажа, кроме ГГ - скриптами добавить меню действий "к стулу" не получится. В какой-то мере здесь может помочь техника использования невидимого мясного жука от камрада dixie

Плюс метода правки зена - можно производить глобальные правки для любых объектов. Способ хорош для больших, "глобальных" модов, ну или просто для совершенно новых модов с новыми зенами. Минус метода - возрастание объема мода на величину правленого зена.

Плюс метода присвоения диалога "через персонажа" - можно обойтись только скриптами. Минус - необходимость таскать за ГГ невидимого мясного жука, или расставлять таких жуков рядом с каждым нужным объектом.
Столкнулся с проблемой создания торговца.
Кто нибудь может подробно описать как он создается ?

Отвечает: DEDROIT
Создаём файл с товаром в папке B_GiveTradeInv. Так же не забудь прописать своего торговца в файле B_GiveTradeInv и прописать в диалоге trade = TRUE; и B_GiveTradeInv(self);
Если посмотреть файл какого-нить торговца,то всё станет ясно
Скажите, а можно сделать декларацию функции без реализации?
Отвечает: Vam
Нет, нельзя, декларация функции должна содержать тело функции.
Не мог бы кто-нить подробненько написать о вставке НПС в мир при активации триггера, а то мне сказали, что надо прописывать это в скриптах и в Спейсере, вот только я не знаю где и как прописывать?
Отвечает: 360
Со стороны скрипта все просто - создается некая функция, ну например
func void trigger_insert()
{
Wld_InsertNpc ([инстанция_нпс], "[вейпоинт]");
};

где [инстанция_нпс] - вставляемый НПЦ, а [вейпоинт] - имя вейпоинта на который вставляется НПЦ.

Соответственно, чтобы вставка произошла, функцию необходимо вызвать. А раз речь идет о триггерах, функцию будем вызывать при срабатывании триггера. Для создания триггера как раз и необходим спейсер.

Необходимый нам триггер принадлежит к классу zCTrigger и зовется oCTriggerScript.
Соответственно:
1. Выбираем панель "objects", вкладку "create" и из списков - zCTriggerBase ->zCTrigger ->oCTriggerScript.
2. Переходим в основное окно, жмем ПКМ и выбираем пункт Insert [oCTriggerScript.]
3. Задаем триггеру размеры с помощью вкладки "Modify" и кнопки "Edit the Bbox".
4. Задаем триггеру условия срабатывания reactToOnTouch:TRUE, respondToPC:TRUE, respondToNPC:FALSE, startEnabled:TRUE (подробнее тут ->https://worldofplayers.ru/node/563)
5. В параметр scriptFunc вписываем имя нашей функции - trigger_insert.
Остается собрать ZEN-файл и откомпилировать gothic.dat.
Влияет ли регистр символов на написание скриптов и их компиляцию?
Из Vam тутора
Компилятор одинаково распознает как заглавные буквы, так и строчные буквы, поэтому имена Аааа и аааа - это одно и то же.
Если удалить *.dat файл, и вместо него положить декомпилированные скрипты, готика будет работать с ними? и куда в таком случае их класть?
Отвечает: marazmus
С декомпилированными скриптами Готика работать не будет. После любых изменений в скриптах их нужно компилировать/собирать в датники.
Вопрос такой - кто нибудь знает как изменить время отображения субтитров в режиме диалога?
Отвечают: MaGoth и 360
Нет это изменить нельзя, отслеживается только движком.

Если записать звуковой файл "тишины" необходимой длинны и вставить его в диалог. Тогда субтитр будет висеть, пока файл не закончится. А в остальном - движок высчитывает время в зависимости от количества символов.
Скажите, а возможно ли добавлять новые свои гильдии? Не изменять их, а добавлять?
Отвечает: Vam
Нельзя, движок не поддерживает более 16 гильдий.
Персонах находится на WP согласно расписанию. После диалога он должен бы уйти на другой WP (отдаленный). После этого должен вернуться к выполнению старого расписания.
Отвечает: Vam
Есть пара функций движка, позволяющих реализацию вложенных расписаний для конкретного НПС - TA_BeginOverlay (начинает новое расписание, сохраняя старое) и TA_EndOverlay (заканчивает новое расписание, восстанавливая старое).

Вот один из примеров использования:
var C_NPC Stone; Stone = Hlp_GetNpc ( GRD_219_Stone );

TA_BeginOverlay (Stone);
TA_Min (Stone, 00, 00, 00, 05, ZS_Position,"OCC_MERCS_HALLWAY_BACK");
TA_Min (Stone, 00, 05, 00, 10, ZS_Position,"OCC_MERCS_ENTRANCE");
TA_Min (Stone, 00, 10, 00, 15, ZS_Position,"OCC_SHADOWS_CORNER");
TA_Min (Stone, 00, 15, 00, 20, ZS_Position,"OCC_STABLE_ENTRANCE");
TA_Min (Stone, 00, 20, 72, 00, ZS_Position,"OCC_STABLE_LEFT_FRONT");
TA_EndOverlay (Stone);

Вызывать данную комбинацию можно где угодно, в том числе и в диалоге.
Что это за прога GothicVDFS? и как ней пользоваться?
GothicVDFS - программа для работы с файлами(томами) *.mod и *.vdf. Подробное руководство можно прочитать здесь - https://worldofplayers.ru/node/559
Как мне создать проект? Я создал скрипт. Как теперь мне его вставить в игру? Как получить файлы gothic.dat и ou.bin? Как работать с GothicSourcer?
ДЛЯ ТЕХ КТО В ТАНКЕ.

Создание решения, декомпиляция
Для того чтобы хоть как то начать работать со скриптами Готики и вносить свои изменения, с начало нужно создать свой проект.
Итак начнем:
1) Запускаем программу GothicSourcer;
2) В меню "Файл"(File) нажимаем "Новое решение"(New Solution) после чего откроется окно настроек проекта, где:
2.1) "Имя решения"(Solution name) - имя вашего проекта, любое имя на латыне;
2.2) "Размещение"(Location) - папка\путь где будет сохранен проект;
2.3) "Платформа"(Platforms) - платформа игры, т.е. или Готика 1 или Готика 2;
2.4) "Пустой проект"(Empty project) - выбираем проект с каким будем работать.(Названия пунктов соответствуют названиям файлов, то есть Gothic - gothic.dat, Fight - fight.dat, Camera - camera.dat и т.д. Все скрипты которые связаны с НПС, диалогами, предметами, балансом и.д. хранятся в файле gothic.dat)
2.5) Так как для начала нужно создать проект для работы, то поле "Проект для компиляции"(First compile action) - не трогаем.
2.5) "Проект для декомпиляции"(First decompile action) - собственно выбираем файл который нужно декомпилировать.(Если в пункте 2.4 выбрано Gothic, то соответственно и файл для декомпиляции выбираем gothic.dat).Жмем кнопку "ОК"
3) Если все было сделано правильно, то в окне "Проекты"(Solution Explorer) должен появиться ваш проект. Если по каким либо причинам окно "Проекты"(Solution Explorer) отсутствует, то на главном меню выбираем "Вид"(View) ->"Менеджер решений"(Solution Explorer).
4) На панеле инструментов нажимаем кнопку "Декомпилировать"(Decompile) или просто клавишу F8.
Далее начнется процесс декомпиляции файла. Процесс будет отображаться в окне "Сообщения"(Message window). В этом окне также отображаются внимания и ошибки присутствующие в скриптах, и которые нужно исправить.Если по каким либо причинам окно "Сообщения"(Message window) отсутствует, то на главном меню выбираем "Вид"(View) ->"Окно сообщений"(Output).
После завершения декомпиляции в окне "Менеджер решений"(Solution Explorer) появиться дерево каталогов со скриптами проекта. Далее можно открывать любой скрипт редактировать его и сохранять.

Добавления своего к проекту
Если уже есть готовый файл скрипта его можно просто добавить к проекту. Для этого в окне "Менеджер решений"(Solution Explorer) правой кнопкой мыши нажимаем на папке в которую хотим добавить существующий файл и в выпавшем меню выбираем "Добавить файл скрипта"(Add script file to project). Далее откроется окно в котором нужно выбрать необходимый файл.После выбора файла откроется окно "SRC Менеджер"(SRC Manager) где просто нужно нажать кнопку "ОК".

Если надо добавить новый файл скрипта, то в окне "Менеджер решений"(Solution Explorer) правой кнопкой мыши нажимаем на папке в которую хотим добавить новый файл и в выпавшем меню выбираем "Новый файл скрипта"(New script file). После появится окошко "Новый файл", где нужно вписать имя файла и нажать кнопку "ОК". Потом снова откроется окно "SRC Менеджер"(SRC Manager) где жмем кнопку "ОК".
Окно "SRC Менеджер"(SRC Manager) свидетельствует о том что добавляемый файл будет включен в последующую компиляцию.

Компиляция проекта
После того как были внесены все необходимые изменения, нужно скомпилировать проект. Для этого на панели инструментов жмем кнопку "Компилировать"(Compile), или просто F7.

Если в процессе компиляции были обнаружены ошибки в скриптах, то их необходимо исправить. Для этого в окне "Сообщения"(Message window) двойным нажатием левой кнопкой мыши на строке где была найдена ошибка открываем файл и правим его.
Если компиляция прошла успешно, то в папке проекта (папка которую указывали в пункте 2.2) появятся два файла gothic.dat и ou.bin, которыми нужно заменить оригинальные файлы игры и проверить в действии созданное творение.


Более подробно о GothicSourcer читаем здесь ->http://forum.worldofplayers.ru/showthread.php?t=17989
ПоправкаИзвеняюсь перед теми, чьи посты я удалил из этой темы.
Тема закрыта, по предложениям, вопросам и ошибкам, обращаться напрямую к модераторам раздела, т.е. МЕГАВОЛЬТУ, либо МАРВИНУ
 

Вложения

  • vam_tutor.chm
    174,7 KB · Просмотры: 432
  • _akella_decompiled.exe
    1,3 MB · Просмотры: 909
  • GothicSourcer_3_14.exe
    1,4 MB · Просмотры: 352
Последнее редактирование модератором:

Marvіn

Участник форума
Регистрация
17 Апр 2008
Сообщения
99
Благодарности
9
Баллы
180
+ еще ответы на вопросы. Уж так получилось что большинство ответов посвящены моделям Готики...

Какое максимальное количество полигонов в модели (оружие, броня, предметы и т.п.) допустимо для Готики?
Максимально допустимое количество полигонов для модели — 2000.
Однако уважаемыми участниками форума, было подтверждено, что движек игры принимает модели с более 4000 полигонов. Тем не менее, например, все броньки игры насчитывают около 1000 полигонов каждая.
Если немного подправить меш модели, ничего не добавляя а просто подправить, нужно ли делать анимацию заново?
Нет. Если были добавлены новые вершины, то их нужно просто привязать к костям скелета.
Важно : не вкоем случаи не делайте переинициализацию скелета иначе все вершины меша прийдется снова привязывать.
Я хочу сделать новую анимацию. Мне можно отредактировать старую или надо создавать все с нуля?
Можно редактировать и старую. Но рекомендуется создать новый скелет и на его основе создать свою анимацию.
Как в Максе посмотреть сколько полигонов на моей модели?
Правой кнопкой мыши на объекте ->Object Properties. Там будет секция Object Information, в которой Faces и есть полигоны. Или же просто Toggle - 7 в любом окне проекции (но это суммарное количество полигонов всех объектов).
Чтобы создать npc, нужно каждого нового отдельно делать в максе, или можно написать скрипт, и "прилепить"к какому-нибудь готовому"телу"которое находится в файлах игры?
Отвечает: marazmus
Да, обычно делается так - копируется скрипт существующего персонажа, изменяется его имя, ID (обязательно! чтобы не было конфликтов и глюков), и, если нужно, текстуры и модели (их можно присваивать из уже существующих в Готике текстур и моделей). Просмотри внимательно исходники Готики, проследи как там меняются скрипты от персонажа к персонажу.
Можно уменьшить НПС с помощью скриптов, без макса?
Из Vam тутора
void Mdl_SetModelScale(c_npc self, float x, float y, float z); - установить масштаб mesh изображения модели НПС self по координатам x, y, z в % (1 = 100%).
Новый скелет можно только создавать с помощью biped, или есть возможность использовать иной скелет, при этом учитывать имена костей?
Отвечает: Kerrax
Если создаешь нового монстра, можешь лепить скелет как угодно - c Character Studio или без него, главное чтобы все кости имели имена вида Bip01... и были связаны друг с другом (кнопка Select and Link на панели инструментов).
Где находяться *.ASC файлы моделей?
Уснанавливаем GMDK, потом запускаем программу GothicSourcer где выбираем Сервис->Декомпилятор моделей->Динамическая (MDS или MSB)
Далее идем в директорию ...\_work\data\anims находим файл HumanS.mds и декомпелируем его. Таким образом получим все *.ASC файлы моделей НПС и анимаций к ним.
На каком языке пишутся скрипты Готики?
Язык называется Daedalus. Подробней о нем можно найти здесь - Описание языка Daedalus, во вложении есть архив сохраненной страници на русском языке, если будут "каракули"поправте кодировку на Юникод(UTF-8)
пока все, продолжение следует....
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу