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

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

Gothic ½ Поделиться вещами с напарником | zSharedItems [плагин для Union]

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.300
Благодарности
4.633
Баллы
625
  • Первое сообщение
  • #1
zSharedItems
Позволяет делиться вещами с напарниками

9861319172585564498.jpg



Доступно к скачиванию через Менеджер ресурсов в разделе 'Плагины'
- Скачать Менеджер Ресурсов - 1559419291725.png
- Скачать автономный установщик -
Либо посмотреть вложение к сообщению.​

Требования: Union 1.0l или выше
Платформа: Gothic I, Gothic Sequel, Gothic II, Gothic II NoTR
Исходный код: GitHub


  • Как только NPC становится Вашим напарником, в меню диалога появляется пункт 'Поделиться вещами'.
  • Вы можете оставлять или забирать СВОИ вещи в любой момент времени. Вещь, принадлежащую персонажу, забрать невозможно.
  • Если предметами являются лучшие оружия или броня, то NPC экипируется Вашими вещами на период хранения.
  • Если у NPC есть такой же предмет, как у главного героя, то забрать Вы сможете ровно столько, сколько оставляли.
  • Если NPC перестает быть Вашим напарником, но все еще должен Вам вещи, то пункт 'Поделиться вещами' не исчезает.

Примеры





Для сохранения вещей в разных мирах используются списки инстанций NPC, которые представляют одного и того же персонажа. Сейчас эти списки реализованы для G2A. Чтобы задать собственные списки для конкретных модов, необходимо положить в папку Autorun скрипт со приведенным ниже содержанием. Если кто-то из вас или модостроителей надумает сделать такие списки, можете скинуть их мне, тогда я добавлю их официально к плагину.
Синтаксис:
Код:
Функция добавляет в список синонимов инстанции,
которые определяют одного и того же персонажа.
func void Hlp_RegisterInstanceSynonym(var string synList )

Параметр:
synList - список инстанций в текстовой форме. В качестве
разделителя используется вертикальная черта '|'.

Возвращаемое значение
Отсутствует.

Пример
Daedalus:
func event GameInit()
{
    Hlp_RegisterInstanceSynonym("PC_ThiefOW|PC_Thief_NW|PC_Thief_DI");           // Diego
    Hlp_RegisterInstanceSynonym("DJG_713_Biff|DJG_713_Biff_NW|DJG_713_Biff_DI"); // Biff
};
 

Вложения

  • zSharedItems.zip
    13,4 MB · Просмотры: 98
Последнее редактирование модератором:

Valeriy57

Участник форума
Регистрация
18 Окт 2012
Сообщения
1.869
Благодарности
369
Баллы
245
- Дописан код под первую готику
Вот думаю, для кого это найдет применение в 1-ой, для друзей, когда ищем юниторы? Там все довольно скоротечно... Проводнику Талласу? Так он, в основном, на шухере... Ну не Люкору же на оркском могильнике...
Но как же манят все эти "вкусности", чтобы опять "забуриться" в Готике.
 
Последнее редактирование:

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.230
Баллы
525

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.300
Благодарности
4.633
Баллы
625
Обновлено

Теперь при переходе напарника между мирами ваши вещи будут сохранены *.
Проверьте как что работает. По идеи плагин должен работать даже с теми персонажами, которые 'гуляют' между мирами на постоянной основе.

1635883426907.png


* Для сохранения вещей используются списки инстанций NPC, которые представляют одного и того же персонажа. Сейчас эти списки реализованы для G2A. Чтобы задать собственные списки для конкретных модов, необходимо положить в папку Autorun скрипт со приведенным ниже содержанием. Если кто-то из вас или модостроителей надумает сделать такие списки, можете скинуть их мне, тогда я добавлю их официально к плагину.
Синтаксис:
Код:
Функция добавляет в список синонимов инстанции,
которые определяют одного и того же персонажа.
func void Hlp_RegisterInstanceSynonym(var string synList )

Параметр:
synList - список инстанций в текстовой форме. В качестве
разделителя используется вертикальная черта '|'.

Возвращаемое значение
Отсутствует.

Пример скрипта для папки Autorun
Daedalus:
func event GameInit()
{
    Hlp_RegisterInstanceSynonym("PC_ThiefOW|PC_Thief_NW|PC_Thief_DI");           // Diego
    Hlp_RegisterInstanceSynonym("DJG_713_Biff|DJG_713_Biff_NW|DJG_713_Biff_DI"); // Biff
};
 

CJIabuk

Участник форума
Регистрация
22 Окт 2015
Сообщения
95
Благодарности
11
Баллы
175
Оптимизировано под The Chronicles Of Myrtana
К сожалению, всё-таки зависает игра при выборе "Поделиться вещами" ((
Upd. Блин, а может и нет... Но на Руперте, при движении от пещеры до деревни, виснет. С Фабио в пещере тоже зависает картинка намертво.
 
Последнее редактирование:

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.300
Благодарности
4.633
Баллы
625
CJIabuk, ни разу за время оптимизации плагинов не словил зависания ни при загрузках, ни в диалогах. Скинь сохранение.
 

CJIabuk

Участник форума
Регистрация
22 Окт 2015
Сообщения
95
Благодарности
11
Баллы
175
CJIabuk, ни разу за время оптимизации плагинов не словил зависания ни при загрузках, ни в диалогах. Скинь сохранение.
Вроде бы разобрался опытным путём. Последний плагин zSharedItems начинает работать с Union 1.0k, но ругается при запуске, что ZPARSEREXTENDER.DLL не может обратиться к какой-то там строчке файла Union.patch Вроде бы так, если не перепутал. Решилось установкой поверх Union 1.0l Сохранение с Рупертом на выходе с пещеры, на всякий, прилагаю.
 

Вложения

  • savegame9.zip
    5,3 MB · Просмотры: 7

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.300
Благодарности
4.633
Баллы
625
Последний плагин zSharedItems начинает работать с Union 1.0k, но ругается при запуске, что ZPARSEREXTENDER.DLL не может обратиться к какой-то там строчке файла Union.patch Вроде бы так, если не перепутал.
А, ну это да. Щас обновлю описания.
 

CJIabuk

Участник форума
Регистрация
22 Окт 2015
Сообщения
95
Благодарности
11
Баллы
175
А есть в наличии версия плагина от 3 ноября 2021 года?
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.300
Благодарности
4.633
Баллы
625

DarkWorker

Участник форума
Регистрация
14 Ноя 2011
Сообщения
12
Благодарности
3
Баллы
150
В Архолосе в самом начале на корабле поделиться можно со всеми (видимо, все в статусе спутника), и у одной девушки нельзя выйти из окна диалога, так как там только строчка про обмен вещами и всё. Остается только принудительное выключение игры.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.300
Благодарности
4.633
Баллы
625
В Архолосе в самом начале на корабле поделиться можно со всеми (видимо, все в статусе спутника), и у одной девушки нельзя выйти из окна диалога, так как там только строчка про обмен вещами и всё. Остается только принудительное выключение игры.
Это скриптовая ошибка. Разработчики не назначили ни одного диалога этому персонажу. На этот случай есть скриптовый костыль, предотвращающий станлок диалога, он добавляет END при полном отсутствии полей выбора. Но так как (поделиться вещами) является выбором, то END не добавляется.
N1kX что думаешь по этому поводу? Имеет смысл плагином ставить постпроверку на END или инъекцией вылечим?
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.096
Благодарности
5.584
Баллы
910
Диалоги выхода двум дамам я думаю можно написать разрабам, чтобы добавили их, а так наверно стоит в плагине сделать проверку, есть ли диалог выхода у НПС, если есть разрешить диалог обмена, нету - запретить.

Но как ты собрался проверять диалог, ведь обозвать диалог выхода могут как захотят, может по NR
NR ставят всегда 999, чтобы диалог выхода был в самом низу списка.
 
Сверху Снизу