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

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

Union - мини плагины

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.083
Благодарности
1.902
Баллы
320
  • Первое сообщение
  • #1
Здесь будут собираться плагины, создание отдельной темы для которых было бы излишним.


Плагины, распространяемые с помощью exe-инсталлятора, можно деинсталлировать им же.
Плагины, распространяемые в виде vdf тома, следует помещать в папку Data/Plugins/.
Каждый плагин, если не указано иного, должен работать на любых версиях игры: Gothic I Classic (G1), Gothic I Sequel (G1A), Gothic II Classic (G2), Gothic II Addon (G2A).
Код плагинов и сами плагины, автором которых являюсь я, можно распространять и использовать без ограничений.


При наличии нескольких одноименных вложений в одном посте следует скачивать последнее. Удалять старые вложения прав нет.

  1. Плагин zNoFocusFlag (Автор: Slavemaster). Для модостроителей. Делает NPC с флагом NPC_FLAG_NFOCUS полностью прозрачными для фокуса ГГ.
  2. Плагин AlterDamage (Автор: Slavemaster). Есть проблемы с совместимостью. Меняет формулы урона. Добавляет всплывающие сообщения о нанесённом уроне.
  3. Плагин zSavesBackuper (Автор: Slavemaster). Осуществляет резервное копирование сделанных сохранений.
  4. Плагин Union_Hotbar_1.0k (Автор: Haart). Добавляет панель быстрого доступа для предметов из инвентаря.
  5. Плагин QuickLoot (Автор: Slavemaster). Быстрый сбор предметов при помощи правой кнопки мыши.
  6. Плагин MarvinHelper (Автор: Slavemaster). Дополнительные возможности для консоли разработчика.
  7. Плагин MunitionInfo (Автор: Xeдин). Отображает кол-во стрел/болтов в инвентаре.
  8. Плагин zAsyncSaveLoad. (Автор: Slavemaster).Плагин делает окно игры отзывчивым к сочетанию Alt+Tab во время загрузки, сохранения и просмотра видео.
  9. Плагин Union_SaveLoadManager_i (Автор: Haart). Позволяет сохраняться в разные слоты без лишних усилий.
  10. Плагин zBugFixes (Автор: Slavemaster). Плагин содержит исправления некоторых ошибок движка Готики.
  11. Плагин zTorchControl (Автор: Slavemaster). Плагин предотвращает удаление горящих факелов при загрузке, а также позволяет их использовать по горячей клавише.
  12. Плагин zMarkItems (Автор: Slavemaster).Плагин осуществляет маркировку предметов внутри ячеек инвентаря.
  13. Плагин zMiscUtils (Автор: Slavemaster). Плагин реализует множество функций, не объединённых единой тематикой.
  14. Плагин SimpleRegen (Автор: Xeдин). Плагин реализует простой алгоритм регенерации жизни и/или маны.
  15. Плагин Union_Thief_Helper (Автор: Xeдин). Помощник вора. Маркировка не обворованных и обворованных NPC и подсказки при взломе.
  16. Плагин Union_XP_Bar (Автор: Xeдин). Плагин для отображения полоски опыта.
  17. Плагин OdyAlt (Автор: N1kX). Подробное многостраничное меню навыков для мода Одиссея 2.6.4.
  18. Плагин OdyAltMenu (Автор: N1kX). Подробное многостраничное меню навыков для мода Одиссея 2.7.0+.
  19. Плагин zUtilities (Автор: Franisz). Несколько удобных функций.
  20. Плагин oDamageHelper (Автор: Gratt). Для модостроителей. Позволяет менять наносимый урон с помощью скриптов.
  21. Плагин Union_DamageInfo (Автор: Xeдин). Плагин выводит урон по врагам и по главному герою.
  22. Плагин Union_RandomRainDX11 (Автор: Haart). При использовании с DX11 дождь будет начинаться в случайное время суток.
  23. Плагин Union_Ext_Stat (Автор: Xeдин). Небольшая дополнительная статистика по количеству убитых, выпитых зелий, квестам и времени игры.
  24. Плагин Union_Show_FPS (Автор: Xeдин). Простенький плагин на показ FPS для всех версий Готики, с возможностью отключения в меню и задания позиции отображения.
  25. Плагин zImprovedLegacyFrying (Автор: Slavemaster). Добавляет диалоги жарки мяса для костра и плиты.
  26. Плагин Union_Keep_Last_Save (Авторы: Gratt, Xeдин). Плагин для удобной работы с последним слотом записи.
  27. Плагин EquippedWeapon (Автор: MEG@VOLT). Для модостроителей. Добавляет функции экипировки / деэкипировки оружия.
  28. Плагин TradeMissItems (Автор: MEG@VOLT). Плагин создан для защиты от случайной продажи квестовых предметов.
  29. Плагин zUnstuckSlidingPlayer (Автор: Slavemaster). Автоматическая телепортация игрока при длительном скольжении.
  30. Плагин KillMeatBugs (Автор: MEG@VOLT). Позволяет затаптывать мясных жуков.
  31. Плагин ezFistMode (Автор: fyryNy). Хоткей для перехода в режим кулачного боя.
  32. Плагин Union_2hSplash (Автор: Strange). Урон по площади для двуручного оружия.
 
Последнее редактирование:

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.083
Благодарности
1.902
Баллы
320
doc0, для пропуска диалогов только одна опция нужна:
INI:
DiaHyperskipKey=KEY_LSHIFT
; ... skipping a dialog replique while this key is pressed incurs skipping the whole repliques chain
; write KEY_NONE to disable the feature
Соответственно, скипать диалоги надо с зажатым левым шифтом (левый шифт + правая кнопка мыши).
Если что-то не работает, можно попробовать поменять клавишу. Или спросить в теме Нового Баланса тех, кто с этой фичей играет.
 

doc0

Участник форума
Регистрация
12 Июн 2023
Сообщения
3
Благодарности
0
Баллы
15
doc0, для пропуска диалогов только одна опция нужна:
INI:
DiaHyperskipKey=KEY_LSHIFT
; ... skipping a dialog replique while this key is pressed incurs skipping the whole repliques chain
; write KEY_NONE to disable the feature
Соответственно, скипать диалоги надо с зажатым левым шифтом (левый шифт + правая кнопка мыши).
Если что-то не работает, можно попробовать поменять клавишу. Или спросить в теме Нового Баланса тех, кто с этой фичей играет.
Понял, я видимо просто по шифту тыкал, сечас установил все заработало, спасибо
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.003
Благодарности
973
Баллы
295
  • Удаление ключей при открытии сундуков и дверей (отключено по умолчанию)​
а можно его чуть чуть дополнить вызовом функции из скриптов с передачей item. если функции в скриптах нет, то ключ удалять. если функция есть и возвращает 1 то удалять, если 0 оставлять. ну или наоборот :)

это позволит решить две задачи:
  • добавить на скриптах проверки для нескольких ключей которые нельзя удалять при определённых условиях
  • оформлить надпись об удаление ключа в стилистики конкретной версии игры/мода
 

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.083
Благодарности
1.902
Баллы
320
дополнить вызовом функции из скриптов с передачей item. если функции в скриптах нет, то ключ удалять. если функция есть и возвращает 1 то удалять, если 0 оставлять.
Daedalus:
func int C_CanRemoveKey()
{
    Print(item.name);
    return False; // не удалять
};
 

Сумрак

Участник форума
Регистрация
25 Окт 2021
Сообщения
1.608
Благодарности
633
Баллы
175

Сумрак

Участник форума
Регистрация
25 Окт 2021
Сообщения
1.608
Благодарности
633
Баллы
175
Xeдин, В Легенде Ахссуна плагин статистики неправильно отображает количество текущих заданий.
Я так понял, что кроме, собственно, заданий добавляет ещё и данные из раздела общая информация. Сохранение прилагаю.
 

Вложения

  • savegame1.7z
    4,5 MB · Просмотры: 0

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.003
Благодарности
973
Баллы
295
потестил. арбайтен
Daedalus:
func int C_CanRemoveKey()
{   
    Hlp_PrintConsole(Str_Format(" call C_CanRemoveKey [%s]", item.name));
   
    var string msg;
    msg = Str_Format("%s открыл замок", item.name);
    //Print(msg);
    PrintDialog( 1, msg , -1, -1, FONT_ScreenSmall, 2);

    if Hlp_IsItem(item, itke_om_02)     { return False; };  // ключ от сундука в СШ не удалять
   
    // ключ удаляется
    Hlp_PrintConsole(Str_Format(" call C_CanRemoveKey [%s] --> ключ будет удалён", item.name));
};
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.003
Благодарности
973
Баллы
295
Slavemaster, теперь надписи об удаление накладываются:)
та что зашита в dll на ту что выводится в C_CanRemoveKey
 

Xeдин


Модостроитель
Регистрация
3 Дек 2008
Сообщения
1.450
Благодарности
1.977
Баллы
365
Slavemaster, не в курсе на что маргинальные антивирусы ругаются? )) Проверил немного твои)
UNION_QUICKLOOT.DLL VirusTotal
ZMISCUTILS.DLL VirusTotal

Я пока выяснил что v142 и v143 как правило увеличивают кол-во ругани.

Для теста сделал пустой проект на union, на нем на v141 два ругаются, а на v143 и v100 только один.

Собранный под v100 VirusTotal
Собранный под v141 VirusTotal
Собранный под v143 VirusTotal
 
Последнее редактирование:

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
выяснил что v142 и v143
С подключением и добро пожаловать.
На маргинальные не смотри. А вот то что дефендер помечает hello world на этих тулсетах как троян, это уже не смешно. Скоро будет кастомный маппер дллок, он должен будет решить эту проблему.
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.192
Благодарности
3.376
Баллы
485
Slavemaster, теперь надписи об удаление накладываются:)
та что зашита в dll на ту что выводится в C_CanRemoveKey
У меня теперь вообще нет старой надписи "Key removed". Ни у дверей, ни у сундуков. Так и надо, если в скриптах есть C_CanRemoveKey?
Пользуясь случаем, прошу брать текст для этого сообщения из константы из скриптов, чтобы можно было её переводить на другие языки. Если константы нет, то использовать стандартное "Key removed: x".
 
Последнее редактирование:

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.083
Благодарности
1.902
Баллы
320
не в курсе на что маргинальные антивирусы ругаются?
Я не знаю.
нет старой надписи "Key removed". Ни у дверей, ни у сундуков. Так и надо, если в скриптах есть C_CanRemoveKey?
Да. Предполагается, что сообщение будет выведено скриптами.
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.003
Благодарности
973
Баллы
295
Daedalus:
META
{
    Parser = GAME;
    Engine = G2, G2A;
    //Mod    = scriptpatch.mod;
    //Namespace = zRemoveKey;
};

/*
var string TXT_RemoveKey;
func event GameInit()
{
    TXT_RemoveKey = Str_GetLocalizedString
    (
        "открыл замок",
        "RemoveKey",
        "RemoveKey",
        "RemoveKey"
    );
};
*/

func int C_CanRemoveKey()
{ 
    Hlp_PrintConsole(Str_Format(" call C_CanRemoveKey [%s]", item.name));
  
    var string msg;
  
    //msg = Str_Format("%s %s", item.name,TXT_RemoveKey); //"Маленький ключ открыл замок"
 
    msg = Str_GetLocalizedString
    (
        "открыл замок",
        "RemoveKey",
        "RemoveKey",
        "RemoveKey"
    ); 
    msg = Str_Format("%s %s", item.description,msg); //"Маленький ключ открыл замок"
  
    PrintDialog( 1, msg , -1, -1, FONT_ScreenSmall, 2); // вывод сообщения в окне диалога
    //  запись в дневник, торжественная музыка, визуальный эффект и проччее по вкусу

    //*****************************************************************//
    //
    //              ДАННЫЕ КЛЮЧИ НЕ БУДУТ УДАЛЕНЫ
    //
    //*****************************************************************//
  
    if Hlp_IsItem(item, ItKe_EVT_UNDEAD_02)     { return False; };  // ключ на Ирдорате
  
    //  ItKe_OrkKnastDI_MIS
    //  ItKe_EVT_UNDEAD_01
    //  ItKe_EVT_UNDEAD_02
    //  ItKe_LastDoorToUndeadDrgDI_MIS

  
    // ключ удаляется
    Hlp_PrintConsole(Str_Format(" call C_CanRemoveKey [%s] --> ключ будет удалён", item.name));
};
1686767365814.jpeg
 
Последнее редактирование:

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.003
Благодарности
973
Баллы
295
не тот скриншот вставил. совсем уже старый стал ;-/ код выше поправил. Добавил правильную инстаницю ключа для Ирдората. спасибо D36

Кстати эту функцию можно использовать в том числе как "триггер" каких то событий. Например при выполнение квеста кравовые чаши или в рамках "испытания огня" :)
 
Последнее редактирование:

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.131
Благодарности
5.628
Баллы
910
Slavemaster , я тут подумал, может сделаешь для марвинхелпера или отдельно плагин, который бы вывел список всех активных (или вообще всех) материалов с используемой текстурой в текстовый файл? Это бы помогло быстрее искать и исправлять проблемы, когда у материала внезапно может сидеть несколько текстур.
 
Сверху Снизу