Уважаемые гости и новички, приветствуем Вас на нашем форуме
Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».
Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Топоры Орков (и не только) могут нанести крит
Прежде чем сделать шаг вперед отскочим в бок и еще раз поговорим про криты от ударов орков. Как писалось ранее отфильтровать Орков проще всего по гильдии, но можно сделать и через фильтр по оружию. В таком случае крит будут наносить не только Орки...
полный урон могут, а криты не могут ;-)
из данных ниже
OnDamage_Hit: Краш Агаш hit [100]
полный урон
OnDamage_Hit: Краш Агаш Critical hit [100 --> 170]
крит
OnDamage_Hit: Краш Агаш hit [9]
неполный урон
орки наносят критические удары
Будем разбавлять теоретическую часть практическими занятиями. Напишем простенький код который будет добавлять «криты» оркам.
Для начало наверное нам следует определить, кто атакует орки или нет:) самый простой способ (но далеко не единственный) это сделать через...
Пример использования функции. Например вы хотите полностью поменять расчёт урона для рапир и шпаг.
В OnDamage_Hit производится проверка на то был ли удар нанесён Рапирой или Шпагой, после рассчитываем новый урон или возвращаем старый. Проверку и расчёт урона я для удобства вынес в отдельный...
...сделать уже проверки по флагам. в таком случае проверки по флагу должны идти последними, то есть как то так
func int OnDamage_Hit(var int damageTotal)
{
if (Npc_IsEquippedItMwBlessed03(item) == true)
{
Hlp_PrintConsole("PERC_ASSESSDAMAGE --> B_AssessDamage_Blessed_03")...
...каждого урона прописав там формулы расчёта урона.
2) сделать отдельные функции для определения типа оружия
3) свести 1 и 2 в функции OnDamage_Hit
то есть на выходе функция для OnDamage_Hit для реализации твоей задумки на мой взгляд должна выглядеть примерно так
func int OnDamage_Hit(var...
...наверное ты хочешь получить что то такое
// self - атакующий
// victim - атакуемый
// item - орудие убийства (может быть null)
func int OnDamage_Hit(var int OldDamageTotal)
{
if (item.flags & ITEM_SWD)
{
var int DamageTotal_ITEM_SWD;
DamageTotal_ITEM_SWD =...
Пожалуй, попробую сначала данный вариант.
Это значит, что скрипт для "OnDamage_Hit" должен выглядеть примерно так?
var C_Item weapon;
if(Npc_HasReadiedMeleeWeapon(hero))
{
weapon = Npc_GetReadiedWeapon(hero);
if(weapon.flags & ITEM_SWD)
{
return TRUE;
};
};
return...
...брать, то лучше это всё уточнять у того кто этот плагин будет делать.
если ты будешь это реализовать на скриптах используя плагин для OnDamage_Hit то в таком случае определять оружие ты можешь или по флагу как написала D36 или как описал ElderGamer как или "на костылях" как я писал выше...
KirTheSeeker, это можно сделать в том же функции OnDamage_Hit что и перехватывается ущерб, то есть там где мы писали ранее.
например: проверка на то оружие ближнего боя или дальнего, если ближнего то требует оно силу или ловкость, если ловкость то пишешь формулу урона какую хочешь.
приведу тот же код с доп эффектами
проверил с "Гневом Инноса", всё работает.
можно обратить внимание на то что урон можно нанести и через Wld_PlayEffect, но тут он сделан отдельно через B_MagicHurtNpc, что бы дать возможность его дополнительно настроить через доп проверки и условия.
Что-то я не понял как это должно работать.
Два файла из архива просто кидаются в Gothic II/System/Autorun, насколько я могу судить. Я так и сделал, но пока не заметил каких-либо изменений по урону в игре.
Что необходимо добавить/убрать?
...ставить плагин Gratt на юнион который перехватывает урон https://worldofplayers.ru/threads/40376/page-92#post-1136600
внутри функции OnDamage_Hit ты определяешь какое оружие у героя, кто враг и при необходимости наносишь доп урон.
там же можно вызвать доп состояния для украшения и/или...
Где высчитывается вероятность попадания при стрельбе из лука или арбалета?
OnDamage_Hit, очевидно, на промахах не срабатывает, а в функциях для работы с коллизиями я не смог найти ничего об уроне.
Если что, интересует именно оригинальная игра, а не то, как прикрутить урон к коллизиям
Orc Hunter, ну если чего-то сложного не надо, то вот скриптовый модификатор урона. Попробуй.
В скриптах необходимо определить функцию func int OnDamage_Hit(var int damageTotal)
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.