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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

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

В разработке... Union. Пожелания насчёт плагинов

Selex

Участник форума
Регистрация
7 Ноя 2019
Сообщения
850
Благодарности
1.697
Баллы
770
Selex, если не будет работать, то выложишь сохранку.
Тоже не отображается. Вот держи архив с сейвами по моду . Я стараюсь делать сейвы по разным слотам, поэтому не удивляйся так сильно, что их у меня много :D
 

Вложения

  • saves_gold&tpom.rar
    11,9 MB · Просмотры: 6

Ponyalone

Участник форума
Регистрация
3 Авг 2021
Сообщения
35
Благодарности
0
Баллы
60
Возможно ли сделать плагин для НВ который бы добавлял в начале игры настройки сложности. Хп врагов, количество получаемого опыта, количество lp за уровень. ?
Такой плагин есть для г1, для нв не нашёл.
 

Selex

Участник форума
Регистрация
7 Ноя 2019
Сообщения
850
Благодарности
1.697
Баллы
770
Какой-то конфликт с Community Patch. Буду разбират

Да всё отлично работает теперь, спасибо за плагин)
1673490346969.png
 

Selex

Участник форума
Регистрация
7 Ноя 2019
Сообщения
850
Благодарности
1.697
Баллы
770

Slavemaster


Привет слушай, а мне вот просто интересно. А можно ли такой плагин сделать. Который будет накладывать кровотечение от клинков? Знаю может подумаете, кто-то явно переиграл возвратку+ аб+нб. Просто ко по мне довольно круто бегать . А особенно если играть в хардкоровые моды.
 

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.086
Благодарности
1.909
Баллы
320
Selex, рубящий урон накладывает кровотечение. 3 тика по 20% от урона.
Код выложу, чтобы этот шлак не хранить у себя
C++:
namespace NAMESPACE
{
    void __fastcall Hook_oCNpc_OnDamage_Effects_Start(oCNpc*, void*, oCNpc::oSDamageDescriptor&);
    Hook<void(__thiscall*)(oCNpc*, oCNpc::oSDamageDescriptor&)> Ivk_oCNpc_OnDamage_Effects_Start(ZENFOR(0x00739A20, 0x007791F0, 0x00785B80, 0x0066EE40), &Hook_oCNpc_OnDamage_Effects_Start, HookMode::Patch);
    void __fastcall Hook_oCNpc_OnDamage_Effects_Start(oCNpc* npc, void* vtable, oCNpc::oSDamageDescriptor& desc)
    {
        Ivk_oCNpc_OnDamage_Effects_Start(npc, desc);

        if (desc.pVisualFX || !desc.strVisualFX.IsEmpty() || !desc.fDamageReal)
            return;

        const float damage = desc.aryDamageEffective[oEDamageIndex_Edge] * 0.2f;

        if (damage < 1 || npc->GetProtectionByIndex(oEDamageIndex_Fall) < 0)
            return;

        oCNpc::oSDamageDescriptor dotDesc;
        ZeroMemory(&dotDesc, sizeof(dotDesc));
        dotDesc = desc;
        std::fill_n(dotDesc.aryDamage, oEDamageIndex_MAX, 0ul);
        dotDesc.enuModeDamage = oEDamageType_Fall;
        dotDesc.fTimeDuration = 3000.0f;
        dotDesc.fTimeInterval = 1000.0f;
        dotDesc.fDamagePerInterval = static_cast<float>(npc->GetProtectionByIndex(oEDamageIndex_Fall)) + damage;

        oCMsgDamage* const message = new oCMsgDamage{ oCMsgDamage::EV_DAMAGE_PER_FRAME, dotDesc };
        message->SetHighPriority(true);
        npc->GetEM()->OnMessage(message, npc);
    }
}
 

Вложения

  • zBleedings.vdf
    87,5 KB · Просмотры: 13

Selex

Участник форума
Регистрация
7 Ноя 2019
Сообщения
850
Благодарности
1.697
Баллы
770
Selex, рубящий урон накладывает кровотечение. 3 тика по 20% от урона.
Код выложу, чтобы этот шлак не хранить у себя
C++:
namespace NAMESPACE
{
    void __fastcall Hook_oCNpc_OnDamage_Effects_Start(oCNpc*, void*, oCNpc::oSDamageDescriptor&);
    Hook<void(__thiscall*)(oCNpc*, oCNpc::oSDamageDescriptor&)> Ivk_oCNpc_OnDamage_Effects_Start(ZENFOR(0x00739A20, 0x007791F0, 0x00785B80, 0x0066EE40), &Hook_oCNpc_OnDamage_Effects_Start, HookMode::Patch);
    void __fastcall Hook_oCNpc_OnDamage_Effects_Start(oCNpc* npc, void* vtable, oCNpc::oSDamageDescriptor& desc)
    {
        Ivk_oCNpc_OnDamage_Effects_Start(npc, desc);

        if (desc.pVisualFX || !desc.strVisualFX.IsEmpty() || !desc.fDamageReal)
            return;

        const float damage = desc.aryDamageEffective[oEDamageIndex_Edge] * 0.2f;

        if (damage < 1 || npc->GetProtectionByIndex(oEDamageIndex_Fall) < 0)
            return;

        oCNpc::oSDamageDescriptor dotDesc;
        ZeroMemory(&dotDesc, sizeof(dotDesc));
        dotDesc = desc;
        std::fill_n(dotDesc.aryDamage, oEDamageIndex_MAX, 0ul);
        dotDesc.enuModeDamage = oEDamageType_Fall;
        dotDesc.fTimeDuration = 3000.0f;
        dotDesc.fTimeInterval = 1000.0f;
        dotDesc.fDamagePerInterval = static_cast<float>(npc->GetProtectionByIndex(oEDamageIndex_Fall)) + damage;

        oCMsgDamage* const message = new oCMsgDamage{ oCMsgDamage::EV_DAMAGE_PER_FRAME, dotDesc };
        message->SetHighPriority(true);
        npc->GetEM()->OnMessage(message, npc);
    }
}
ОО пойду-ка я проверять , и спасибо за ваши труды. Правда благодаря вам кто разрабатывает плагины на Юнион, игра смотреться по другому словно все функции из Аб+ возвращение, можно ставить на старые модификации ! От души спасибо вам.
Пост автоматически объединён:

Selex, рубящий урон накладывает кровотечение. 3 тика по 20% от урона.
Код выложу, чтобы этот шлак не хранить у себя
C++:
namespace NAMESPACE
{
    void __fastcall Hook_oCNpc_OnDamage_Effects_Start(oCNpc*, void*, oCNpc::oSDamageDescriptor&);
    Hook<void(__thiscall*)(oCNpc*, oCNpc::oSDamageDescriptor&)> Ivk_oCNpc_OnDamage_Effects_Start(ZENFOR(0x00739A20, 0x007791F0, 0x00785B80, 0x0066EE40), &Hook_oCNpc_OnDamage_Effects_Start, HookMode::Patch);
    void __fastcall Hook_oCNpc_OnDamage_Effects_Start(oCNpc* npc, void* vtable, oCNpc::oSDamageDescriptor& desc)
    {
        Ivk_oCNpc_OnDamage_Effects_Start(npc, desc);

        if (desc.pVisualFX || !desc.strVisualFX.IsEmpty() || !desc.fDamageReal)
            return;

        const float damage = desc.aryDamageEffective[oEDamageIndex_Edge] * 0.2f;

        if (damage < 1 || npc->GetProtectionByIndex(oEDamageIndex_Fall) < 0)
            return;

        oCNpc::oSDamageDescriptor dotDesc;
        ZeroMemory(&dotDesc, sizeof(dotDesc));
        dotDesc = desc;
        std::fill_n(dotDesc.aryDamage, oEDamageIndex_MAX, 0ul);
        dotDesc.enuModeDamage = oEDamageType_Fall;
        dotDesc.fTimeDuration = 3000.0f;
        dotDesc.fTimeInterval = 1000.0f;
        dotDesc.fDamagePerInterval = static_cast<float>(npc->GetProtectionByIndex(oEDamageIndex_Fall)) + damage;

        oCMsgDamage* const message = new oCMsgDamage{ oCMsgDamage::EV_DAMAGE_PER_FRAME, dotDesc };
        message->SetHighPriority(true);
        npc->GetEM()->OnMessage(message, npc);
    }
}
Протестил на пробуждение по быстрому да работает плагин на кровотечение. Но так же убили мухи меня, и мне показалось или нет. Теперь и они тоже могут кровотечением кусать?. А то видел здоровья сразу упало и тоже периодический урон был от них )*gothic_bloodfly*

1673877738240.png
 
Последнее редактирование:

Selex

Участник форума
Регистрация
7 Ноя 2019
Сообщения
850
Благодарности
1.697
Баллы
770
Если у них рубящий урон, то да.
Ну я это уже понял вараны тоже вешают кровотечение но есть и другая проблема . Щас ради прикола попробовал завалить воров из нового лагеря.. У меня умер нпс от кровотечение от клинка моего (. Ладно там пусть и противники накладывают. Но опасно что из-за этого , как я щас убедился может умереть какой не будь персонаж с именем. Было бы круто если можно было-бы отключить этот момент.
 

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.086
Благодарности
1.909
Баллы
320

Вложения

  • zBleedings.vdf
    87 KB · Просмотры: 26
Последнее редактирование:

Selex

Участник форума
Регистрация
7 Ноя 2019
Сообщения
850
Благодарности
1.697
Баллы
770
Значит, не получился плагин
Ладно, ещё один костыль поставил, вроде работает...
Отлично щас попробовал вроде теперь не умирают от кровотечений. Просто без сознание валяются и потом встают))
 

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.086
Благодарности
1.909
Баллы
320
Привет скажи пожалуйста можно ли сделать такой плагин который будет получать горение от огня свитков/рун?
Можно. Но у меня больше нет желания что-либо делать с уроном.
 

Selex

Участник форума
Регистрация
7 Ноя 2019
Сообщения
850
Благодарности
1.697
Баллы
770
Selex, AlterDamage не подходит? Там есть урон от горения.
Я конечно попробую , просто видишь ли есть многие моды которые не рекомендует что то подобное ставить . У них своя там система имеется всяких изменений, а особенно если играть в польские. Они те еще шаманы вдруг что сломается(.
 

Сумрак

Участник форума
Регистрация
25 Окт 2021
Сообщения
1.636
Благодарности
679
Баллы
175
Selex, Ну это да, согласен, сейчас играю в Архолос, там он запрещен, вылетаю иногда и без него :D
 
Сверху Снизу