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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток! Спешите принять участие в конкурсе "Таинственные миры" 2024!
    Ждем именно вас!

    Ссылка на конкурсную тему - тык

Готика 3 Модостроение, моды и патчи. Общее обсуждение, для третей части игры

Olhado

Участник форума
Регистрация
17 Май 2007
Сообщения
204
Благодарности
3
Баллы
165
  • Первое сообщение
  • #1
Модостроение, моды и патчи для Готики 3.
Общие вопросы и обсуждение

Данная тема предназначена для обсуждения всех вопросов, связанных с модостроением Готики 3, созданием модов, патчей и обсуждения всех вопросов, что касается их работы, установки и т.д.
 

centurion5000

Участник форума
Регистрация
20 Июн 2014
Сообщения
1.424
Благодарности
1.058
Баллы
280
Использовал переводчик, все достаточно понятно объясняют. Но все равно, некоторые детали я не знаю, чтобы это все грамотно сработало ( может просто ночью устал разбираться). Есть где-то справки, где что и как, чтобы быть более подготовленным к модкиту?
ну вот здесь http://forums.ag.ru/?board=gothic&action=display&s=0&num=1161779225&start=800 погляди. почитай.
 

yuko

Забанен
Регистрация
19 Авг 2017
Сообщения
348
Благодарности
687
Баллы
235
У меня не открывается нормально GenomeLE, при открытии он мигает, а после остается на панели задач, но не развертывается. У меня такая же проблема как описано тут - https://forum.worldofplayers.de/forum/threads/1477450-Gothic-3-Modkit-(GenomeLE)-problem , но это решение мне не помогло. У меня система Windows 7.
 

zandr

Участник форума
Регистрация
17 Окт 2013
Сообщения
732
Благодарности
854
Баллы
235
...а после остается на панели задач, но не развертывается.
Нужно развертывать не сам значек, который на панели задач, а "дочерний", который всплывает при наведении.
 

yuko

Забанен
Регистрация
19 Авг 2017
Сообщения
348
Благодарности
687
Баллы
235
У меня есть несколько вопросов:
  1. Какой командой удалять предметы с мира игры? Например, я хочу удалить сгоревший дом в Кап Дуне, после срабатывания определенного события в .info файле. Например, я знаю, что через .info файл можно заспавнить какие-нибудь предметы(команда spawn) или удалить с инвентаря (команда Erase). Есть ли похожие команды для удаления предметов с мира игры?
  2. За что отвечают атрибуты JobSuccess и JobSuccessAmount в файлах .quest? Есть ли какая-нибудь документация о всех атрибутах и командах в .іnfo и .quest файлах? В документации Modkit очень мало информации и она не полная.
  3. Также меня интересует команда SetSectorStatus. Я так понимаю, когда она срабатывает, то происходят определенные глобальные события (например, спавняться жители в освобожденных городах). Где прописываются эти события, в каких файлах, как создавать самому эти события? Мне пока это не удалось найти.
 

zandr

Участник форума
Регистрация
17 Окт 2013
Сообщения
732
Благодарности
854
Баллы
235
Также меня интересует команда SetSectorStatus.
На этот вопрос могут ответить на немецком форуме, я как-то не задавался.

Какой командой удалять предметы с мира игры?
Я всегда думал, что такой команды нет, и ее нужно добавить. Возможно, CSP, проделовавшие прием с удалением объектов, ее внедрили первыми, модифицировав код. Но может быть, они как раз использовали команду наподобие "SetSectorStatus", если она способна убирать не только NPC, но объекты, приписанные к определенному статусу анклава.

За что отвечают атрибуты JobSuccess и JobSuccessAmount в файлах .quest?
Ни за что, движок их не воспринимает, т.к. это осталось нереализованным.
 

yuko

Забанен
Регистрация
19 Авг 2017
Сообщения
348
Благодарности
687
Баллы
235
Я всегда думал, что такой команды нет, и ее нужно добавить. Возможно, CSP, проделовавшие прием с удалением объектов, ее внедрили первыми, модифицировав код. Но может быть, они как раз использовали команду наподобие "SetSectorStatus", если она способна убирать не только NPC, но объекты, приписанные к определенному статусу анклава.

Я думаю, что такая команда уже давно есть, и она входит в SetSectorStatus (я так думаю). Потому что в моде "Последствие" это было реализовано в Готе (например, были убраны некоторые предметы и добавлены новые). Наверно, нужно будет порыться в файлах этого мода и посмотреть, как это они сделали.

Также меня интересуют изменения в пакете обновлений 1.4. В описании сказано это:
1. Реализована возможность создания "универсальных" инфо-скриптов, действующих в любом месте мира без контакта с NPC.
2. Реализована возможность задавать квестам особые свойства.
3. Реализована возможность задавать условием для инфо-файла уровень характеристик героя.

Можно узнать более детально об этом?
1. Как создавать эти "универсальные" .info скрипты? Я только знаю как работают .info скрипты "невидимки", которые добавили в патче 1.75. Но там должен быть контакт с героем, что бы они сработали.
2. Что за новые свойства были добавлены в .quest файлы? Можно где-то увидеть их список и описание?
3. Можно узнать какой атрибут нужно прописать в .info файлах, что бы задать уровень характеристик героя?
 

yuko

Забанен
Регистрация
19 Авг 2017
Сообщения
348
Благодарности
687
Баллы
235
Проверил как работают атрибуты CondReputGroup, CondReputAmount, CondReputRelation в .info скриптах. Вроде бы задумка этих атрибутов неплохая, но реализация не очень. Например, если герой не соответствует заданным параметрам, то диалог не появляется вообще. И в этом случае можно фактически пропустить нужный квест. Было бы лучше, что бы диалог отображался, но при его нажатии появлялось сообщение типа: "У вас не хватает 30 очков силы для выполнения этого квеста". То есть, что-то наподобие .info скриптов с ConditionType=24( EnclaveFriend) или 25 (PoliticalFriend).
 
Последнее редактирование:

Rexsi

Участник форума
Регистрация
13 Апр 2016
Сообщения
30
Благодарности
1
Баллы
155
2008 год и такие проблемы у товарищей были, сейчас ничего не изменилось)
 

yuko

Забанен
Регистрация
19 Авг 2017
Сообщения
348
Благодарности
687
Баллы
235
Как добавить новый объект в игру (без использования команды spawn в .info файле)? Например, я хочу добавить новый сундук в определенное место в игре. Я так понимаю , это можно сделать если добавить темплейт сундука в архив .node и прописать координаты. Но как создать этот .node? Если где-то инструкция как это делать? Можно ли это сделать с помощью modkita или этот архив генерируется движком игры?
 

zandr

Участник форума
Регистрация
17 Окт 2013
Сообщения
732
Благодарности
854
Баллы
235
... Я так понимаю , это можно сделать если добавить темплейт сундука в архив .node и прописать координаты...
Нет, все не так. Вам скорее на немецкий форум WOP по модостроению. В отечественном же Г3-модострое ранее новые объекты размещали только авторы мода ВГЛ.
 

centurion5000

Участник форума
Регистрация
20 Июн 2014
Сообщения
1.424
Благодарности
1.058
Баллы
280
Нет, все не так. Вам скорее на немецкий форум WOP по модостроению. В отечественном же Г3-модострое ранее новые объекты размещали только авторы мода ВГЛ.
Как добавить новый объект в игру (без использования команды spawn в .info файле)? Например, я хочу добавить новый сундук в определенное место в игре. Я так понимаю , это можно сделать если добавить темплейт сундука в архив .node и прописать координаты. Но как создать этот .node? Если где-то инструкция как это делать? Можно ли это сделать с помощью modkita или этот архив генерируется движком игры?
В пак Projects_compiled в файл sysdin***.lrentdat добавить необходимый объект и там прописать его координаты.
 
Последнее редактирование модератором:

yuko

Забанен
Регистрация
19 Авг 2017
Сообщения
348
Благодарности
687
Баллы
235
Я так понимаю, у НПС есть несколько темплейтов инвентарей. Например, основной инвентарь (TS_Plunder) и инвентарь карманной кражи (TS_PickPocket). Также есть возможность добавление предмета непосредственно в инвентарь НПС (без темплейта, что-то типа InventoryStacks).
У меня есть вопрос насчет этих инвентарей. Например, я добавил предмет в основной инвентарь НПС и также в инвентарь карманной кражи. Я хочу сделать так, чтобы если я беру предмет с основного инвентаря (например, побив НПС), то чтобы он исчезал с инвентаря карманной кражи. И наоборот, если я обчистил карманы НПС, то что бы этот же предмет исчезал с основного инвентаря. То есть я хочу, чтобы не было возможности взять с НПС дважды один и тот же предмет.
Можно ли это как-то сделать?
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.562
Благодарности
4.153
Баллы
915
К сожалению, у тебя это не получится, потому что в Gothic 3 инвентари TS_Plunder, TS_PickPocket и TS_Trade не зависят друг от друга. А команды скрытого добавления и удаления предметов воздействуют только на основной инвентарь. Даже в Risen можно бить торговцев, не опасаясь исчезновения продаваемых ими товаров.
 

zandr

Участник форума
Регистрация
17 Окт 2013
Сообщения
732
Благодарности
854
Баллы
235
...команды скрытого добавления и удаления предметов воздействуют только на основной инвентарь.
На самом деле команда "Erase" удаляет предметы из любого инвентаря (это использовалось мной в QuestFix Mod с квестом Марло). Но инфоскрипт для этого нужно повесить на какой-то "крючек", детектирующий удаление предмета одним из способов, а таковые не предусмотрены.

добавлено: А вообще-то можно повесить скрипт на условие, что npc НЕ имеет ДВУХ предметов. Значит это все-таки возможно.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.562
Благодарности
4.153
Баллы
915
А вообще-то можно повесить скрипт на условие, что npc НЕ имеет ДВУХ предметов.
Т.е. это условие сработает, если предмет окажется в разных инвентарях одного npc?
 

zandr

Участник форума
Регистрация
17 Окт 2013
Сообщения
732
Благодарности
854
Баллы
235
Т.е. это условие сработает, если предмет окажется в разных инвентарях одного npc?
В каком смысле "разных"? Скрипт должен сработать, если предмет окажется только в одном из двух. Проблема скорее может быть вот в чем - я не уверен, что движок умеет суммировать количество предметов из одинаковых стеков, принадлежащих к различным инвентарям. Надо проверять, но при изготовлении рецептов этот баг исвестен.
 

yuko

Забанен
Регистрация
19 Авг 2017
Сообщения
348
Благодарности
687
Баллы
235
На самом деле команда "Erase" удаляет предметы из любого инвентаря (это использовалось мной в QuestFix Mod с квестом Марло).

Команда 'Erase' удаляет предметы с инвентаря только те, которые там изначально не были. То есть, предметы которые добавлены командой 'Give', 'Grant' или при выполнении квеста с type=0 (квест на доставку предметов). В случае квеста, предмет не должен быть квестовым (с пометкой MissionItem=true), если предмет квестовый он не добавляется в инвентарь NPC, а удаляется.

Команда 'Erase' удаляет предмет с инвентаря карманной кражи только в том случае, если кроме удаляемого предмета в этом же инвентаре есть другие предметы (например, золото). Также когда вы добавляете предмет командой 'Grant' в TS_PickPocket, то карманная кража должна быть уже изучена, в ином случае игра не видит этот инвентарь и предмет не добавляется. Имя инвентаря должно быть уникальным, что бы все правильно сработало.

Предметы которые были в NPC изначально можно только удалить командой 'Give' (для основного инвентаря) или командой Pickpocket (для инвентаря карманной кражи).
-------------------------------------------------------------------------------------------------------------------------------------------
Мне удалось сделать так, чтобы не было возможности взять с НПС дважды один и тот же предмет. Здесь я опишу, как я это сделал (может, кому пригодится).

Допустим у нас есть НПС с именем NPC_Test, у которого есть инвентарь карманной кражи с уникальным именем TS_PickPocket_Test. Изначально, в этот инвентарь было добавлено золото. Нам нужно добавить в два инвентаря предмет с уникальным именем It_LetterTest, а потом удалить его.

1. Для начала, нужно создать info скрипт, который добавит предметы в инвентари НПС (нет разницы, какого типа будет этот скрипт).
Код:
InfoScript_Commands=Grant;Grant
InfoScript_Entities1=NPC_Test;TS_PickPocket_Test
InfoScript_Entities2=;
InfoScript_IDs1=It_LetterTest;It_LetterTest
InfoScript_IDs2=1;1

2. Дальше нужно создать файл quest c Type=0 для определения того, что предмет добавился герою в инвентарь. Прописываем в нем PoliticalSuccess=102, чтобы скрыть этот квест.
Код:
[Quest]
Name=Hero_HasItems_Letter
Type=0
FinishedQuests
LogTopic=QUEST_Hero_HasItems_Letter
ExperiencePoints=0
PoliticalSuccess=102
PoliticalSuccessAmount=0
EnclaveSuccess
EnclaveSuccessAmount=0
AttribSuccess
AttribSuccessAmount=0
Folder=Myrtana/KapDun_City/
DeliveryEntities=It_LetterTest
DeliveryAmounts=1
DeliveryCounter=0
DestinationEntity=PC_Hero
RunningTimeYears=0
RunningTimeDays=0
RunningTimeHours=0
PoliticalFailure=0
PoliticalFailureAmount=0
EnclaveFailure
EnclaveFailureAmount=0

3. Создаем info файл, котрый активируются независимо от места расположения героя, для удаления предметов с инвентарей. Он должен быть с ConditionType=10, InfoType=1, Quest=Hero_HasItems_Letter (имя квеста), Owner=World_MCP.
Код:
[Info]
Name=MCP_01
SortID=11111
Owner=World_MCP
InfoGiven=false
Parent
Quest=Hero_HasItems_Letter
ConditionType=10
InfoType=1
GoldCost=0
CondOwnerNearEntity
Folder=Myrtana/KapDun_City/
CondPlayerKnows
CondItemContainer=PC_Hero
CondItems=It_LetterTest
CondItemAmounts=1
CondSecondaryNPC
CondSecondaryNPCstates
ClearChildren=false
InfoScript_Commands=Erase;Erase
InfoScript_Entities1=NPC_Test;TS_PickPocket_Test
InfoScript_Entities2
InfoScript_IDs1=It_LetterTest;It_LetterTest
InfoScript_IDs2=1;1
InfoScript_Texts
Permanent=false

Теперь, как только герой получит предмет It_LetterTest, то он удалится со всех инвентарей НПС.
 
Последнее редактирование:

yuko

Забанен
Регистрация
19 Авг 2017
Сообщения
348
Благодарности
687
Баллы
235
Я хочу добавить в игру новый тип списочных сундуков. Для этого я создал новый темплейт(treasure) файл TS_Unigue со своим списком предметов. Как мне задать порядок в котором будут появляться предметы в сундуках?
 

zandr

Участник форума
Регистрация
17 Окт 2013
Сообщения
732
Благодарности
854
Баллы
235
Сверху Снизу