- Регистрация
- 7 Ноя 2019
- Сообщения
- 796
- Благодарности
- 1.658
- Баллы
- 710
https://worldofplayers.ru/threads/37034/ Вот этот мод я щас прохожу.Мне всё ещё нужно знать, что это за модификация, потому что в оригинале диалоги появляются.
https://worldofplayers.ru/threads/37034/ Вот этот мод я щас прохожу.Мне всё ещё нужно знать, что это за модификация, потому что в оригинале диалоги появляются.
Тоже не отображается. Вот держи архив с сейвами по моду . Я стараюсь делать сейвы по разным слотам, поэтому не удивляйся так сильно, что их у меня многоSelex, если не будет работать, то выложишь сохранку.
Какой-то конфликт с Community Patch. Буду разбираться.Тоже не отображается.
Какой-то конфликт с Community Patch. Буду разбират
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); } }
Протестил на пробуждение по быстрому да работает плагин на кровотечение. Но так же убили мухи меня, и мне показалось или нет. Теперь и они тоже могут кровотечением кусать?. А то видел здоровья сразу упало и тоже периодический урон был от них )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, AlterDamage не подходит? Там есть урон от горения.