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

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

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

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.118
Благодарности
1.947
Баллы
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). Урон по площади для двуручного оружия.
 
Последнее редактирование:

neocromicon

Участник форума
Регистрация
15 Апр 2020
Сообщения
20
Благодарности
5
Баллы
105
MEG@VOLT Any change you can pls fix your EquippedWeapon Plugin?
1737472878904.png
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
10.051
Благодарности
6.874
Баллы
1.850
neocromicon, а вы модостроитель?
Если да, то при каких условиях вылетает?
Какие плагины еще установлены?
Как мне смоделировать эту ошибку?
 

neocromicon

Участник форума
Регистрация
15 Апр 2020
Сообщения
20
Благодарности
5
Баллы
105
neocromicon, а вы модостроитель?
Если да, то при каких условиях вылетает?
Какие плагины еще установлены?
Как мне смоделировать эту ошибку?
Yes i am ^^
I use Union and have testet it without any Plugin and .Patch (Only Union.patch), with this is start but after loading, he crash:
1737480529149.png


My Mod use Ikarus, LeGo and AFSP (Amazing Features Script Packet: GitHub - Bad-Scientists/AF-Script-Packet: Fawkes' & Auronen's script package for Gothic 1 and Gothic 2: Night of the Raven.), i have deactivated AFSP intern AI_UnequipXXXWeapon too.
 

Dreamtrust

Участник форума
Регистрация
23 Янв 2023
Сообщения
301
Благодарности
92
Баллы
80
neocromicon, Hi, i have no experience in making plugins at all, could you give a advice how to make a plugin that allows to use dual swords animations from Dark Saga in Vanilla and Vanilla-like mods. Plugin that will insert 2nd sword to Main character's inventory and 2 books with lvl 1 and lvl 2 dual sword mastery that would require weapon mastery 30% and 60% to read them and learn the new animations? I ask you, because you have implemented it in your Nostalgic mod) And i wish to play with this animations in other mods too. :)
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
10.051
Благодарности
6.874
Баллы
1.850
Даже не знаю что и сказать. Посмотрел сейчас код, я не вижу в нем каких либо ошибок. Сами функции ничего необычного не имеют, проверка на то что дает им автор. и если что-то не так - то функция просто выходит из обработки.
Мне кажется что в этой связке проблема *sorry* + к ней еще и union... Судя по первому вашему скриншоту, где ошибка на zParserExtender.dll

Я могу вам дать сами функции, а вы их просто перепишите под LeGo или Ikarus.
C++:
    int EquipMeleeWeapon() {
        zCParser* par;
        par = zCParser::GetParser();
        if (!par) { return false; }
        oCItem* item;
        item = (oCItem*)par->GetInstance();
        if (!item) { return false; }
        oCNpc* npc;
        npc = (oCNpc*)par->GetInstance();
        if (!npc) { return false; }
        oCItem* emw;
        emw = npc->GetEquippedMeleeWeapon();
        if (emw) {
            npc->UnequipItem(emw);
        }
        if (item->mainflag != ITM_CAT_NF) { return false; }
        npc->EquipWeapon(item);
        return true;
    }
    int UnequipMeleeWeapon() {
        zCParser* par;
        par = zCParser::GetParser();
        if (!par) { return false; }
        oCNpc* npc;
        npc = (oCNpc*)par->GetInstance();
        if (!npc) { return false; }
        oCItem* emw;
        emw = npc->GetEquippedMeleeWeapon();
        if (emw->mainflag != ITM_CAT_NF) { return false; }
        if (emw) {
            npc->UnequipItem(emw);
        }
        return true;
    }
    int EquipRangedWeapon() {
        zCParser* par;
        par = zCParser::GetParser();
        if (!par) { return false; }
        oCItem* item;
        item = (oCItem*)par->GetInstance();
        if (!item) { return false; }
        oCNpc* npc;
        npc = (oCNpc*)par->GetInstance();
        if (!npc) { return false; }
        oCItem* emw;
        emw = npc->GetEquippedRangedWeapon();
        if (emw) {
            npc->UnequipItem(emw);
        }
        if (item->mainflag != ITM_CAT_FF) { return false; }
        npc->EquipWeapon(item);
        return true;
    }
    int UnequipRangedWeapon() {
        zCParser* par;
        par = zCParser::GetParser();
        if (!par) { return false; }
        oCNpc* npc;
        npc = (oCNpc*)par->GetInstance();
        if (!npc) { return false; }
        oCItem* emw;
        emw = npc->GetEquippedRangedWeapon();
        if (emw->mainflag != ITM_CAT_FF) { return false; }
        if (emw) {
            npc->UnequipItem(emw);
        }
        return true;
    }
 

Jr13San


Модостроитель
Регистрация
1 Апр 2010
Сообщения
479
Благодарности
316
Баллы
230
MEGA, извини за вмешательство в твой соурс код, но...
Сокращение вложенности if-условий - это хорошее дело, но не в данном случае.
В этих скриптовых функциях, нужно сначала принять все параметры, и и только потом управлять выходом.
Нельзя "недосчитывать". Поэтому, постарайся исправить этот момент.
C++:
int EquipMeleeWeapon()
{
    zCParser* par = zCParser::GetParser();

    // считывание всех входящих параметров
    oCItem* item = dynamic_cast<oCItem*>((zCVob*)par->GetInstance());
    oCNpc* npc = dynamic_cast<oCNpc*>((zCVob*)par->GetInstance());

    // управление выходом
    if (!npc || !item || item->mainflag != ITM_CAT_NF)
        return 0;

    if (oCItem* emw = npc->GetEquippedMeleeWeapon())
        npc->UnequipItem(emw);

    npc->EquipWeapon(item);
    return 0;
}
 
Последнее редактирование:

Dreamtrust

Участник форума
Регистрация
23 Янв 2023
Сообщения
301
Благодарности
92
Баллы
80

Dreamtrust

Участник форума
Регистрация
23 Янв 2023
Сообщения
301
Благодарности
92
Баллы
80

fyryNy

Участник форума
Регистрация
2 Мар 2019
Сообщения
96
Благодарности
214
Баллы
180
I'm curious what plugins are these ones:
CompassPlugin - some kind of compass i guess, would be interesting to test
QuickSlotsPlugin - smth like hotbars? or mb smth else?
VobLocatorPlugin - I have used a plugin with a similar name, curious what is the difference between them
TwoSwordsOneMan - got this one from previous page<, but mb u have updated it/
Compass - like the name suggests, it's just a compass that points to the north
QuickSlots - yea it's like hotbars, wanted to make it more advanced than the one that's available, but I never finished it and it's not available to download anywhere
VobLocator - I'd rather suggest to use the one from Hedin, my version is just customised for me, there are some differencies but I don't really remember what exactly
TwoSwords - it's a meme plugin made on request that I have no intension to expand any further
 

ang1

Участник форума
Регистрация
6 Июн 2010
Сообщения
672
Благодарности
87
Баллы
200
Так скачать его можно? Мне будет полезен, допустим для Архолоса, где все указывают на части света и нужно постоянно сверять карту
Локатор тоже интересно посмотреть в вашем виде, возможно он у вас настроен как в готике 3, с большим функционалом, чем у Хедина
Буду очень признателен вам, если поделитесь, хотя бы в личное сообщение пожалуйста?
 

fyryNy

Участник форума
Регистрация
2 Мар 2019
Сообщения
96
Благодарности
214
Баллы
180
Так скачать его можно? Мне будет полезен, допустим для Архолоса, где все указывают на части света и нужно постоянно сверять карту
Локатор тоже интересно посмотреть в вашем виде, возможно он у вас настроен как в готике 3, с большим функционалом, чем у Хедина
Буду очень признателен вам, если поделитесь, хотя бы в личное сообщение пожалуйста?
Pluginy - Nowe API – Google Диск

I don't remember if Compass works properly in CoM, world is rotated there so north is not in the north actually. Also this plugins are written using new union api and I didn't update them for quite long time, so I can't guarantee they gonna work properly.
 

ang1

Участник форума
Регистрация
6 Июн 2010
Сообщения
672
Благодарности
87
Баллы
200
Pluginy - Nowe API – Google Диск

I don't remember if Compass works properly in CoM, world is rotated there so north is not in the north actually. Also this plugins are written using new union api and I didn't update them for quite long time, so I can't guarantee they gonna work properly.
премного вам благодарен господин furyNy! все прекрасно работает, а еще это именно то что я хотел, сочетание нового локатора от Хедина вместе с вашим, то есть включать иконки когда реально уже не можешь найти предмет, бывает он где то в текстурах висит, и с новым локатором только путаешься вокруг этого предмета, а так можно по горячей клавише всегда пробить местоположение
ну и компас в архолос тоже работает, спасибо что вывели координаты в настройки!
 
Сверху Снизу