Уважаемые гости и новички, приветствуем Вас на нашем форуме
Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».
Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
Удачи!
Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных
Не ленитесь, голосуйте в этой теме за тех форумчан, которые по вашему мнению больше всех проявили себя в этом году
По желанию, аргументировать свой выбор можете в теме обсуждения голосования.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
как определить каким оружием бы нанесён урон
итак у нас уже есть оружие item, а значит мы без затей можем провести проверку по всему что есть в классе C_Item.
damageType - тип наносимого повреждения
урон
damageType
пример проверки
примечание
"Дробящий"
DAM_BLUNT
if (item.damageType ==...
Пример использования функции. Например вы хотите полностью поменять расчёт урона для рапир и шпаг.
В OnDamage_Hit производится проверка на то был ли удар нанесён Рапирой или Шпагой, после рассчитываем новый урон или возвращаем старый. Проверку и расчёт урона я для удобства вынес в отдельный...
используй 0,1 или 2, так как массив ограничивается тремя, а начинается а нуля.
cond_atr[0]
cond_atr[1]
cond_atr[2]
для damagetype используй то что уже есть.
//
// DAMAGE TYPES v2.0
//
CONST INT DAM_INVALID = 0 ; // 0 -...
нужно будет при этом перенести аивер НПС + его текущее расписание + его лут. т.е. сделать полноценный слепок нпс. на скриптах это делать прям тяжко.
как альтернатива вставлять броню через новую функцию
и потом её где то "одеть", например в B_ResetAll
внутри Npc_IsEquippedItMwDAG и Npc_IsEquippedItMwRPR проще сделать проверки по инстанциям, а в Npc_IsEquippedItMwSWD и Npc_IsEquippedItMwAXE сделать уже проверки по флагам. в таком случае проверки по флагу должны идти последними, то есть как то так
func int OnDamage_Hit(var int damageTotal)
{...
KirTheSeeker, напиши сколько формул у тебя будет для одноручного оружия. и сколько ты планируешь использовать классов/"флагов" для одноручного оружия. по возможности дай краткое описание для этих классов/"флагов".
например
DMG_ItMw_1h_Dex для оружия требующего ловкость, сила не требуется...
а файлы *.d у тебя блокнот не хочет открывать?
KirTheSeeker, удали этот файл и файл про оружие паладинов. скачай архив с файлом из моего вчерашнего поста. проверь. после этого начни его дописывать / переписывать. там стоят строчки Hlp_PrintConsole которые будут выводить информацию в окно...
сначала ты просто проверяешь работает оно или нет. данный код сохрани в файл и добавь в папку авторан вместе с dll oDamageHelper файлом.
после этого можешь приступить к "сделать правильно" :
1) сделать отдельные функции для каждого урона прописав там формулы расчёта урона.
2) сделать...
в коде указано, герой держит коготь белиара.
наверное ты хочешь получить что то такое
// self - атакующий
// victim - атакуемый
// item - орудие убийства (может быть null)
func int OnDamage_Hit(var int OldDamageTotal)
{
if (item.flags & ITEM_SWD)
{
var int...
если ты хочешь это сделать мини плагином на Юнион который где то в ини файла будет что то брать, то лучше это всё уточнять у того кто этот плагин будет делать.
если ты будешь это реализовать на скриптах используя плагин для OnDamage_Hit то в таком случае определять оружие ты можешь или по флагу...
VAR INT id ;
VAR STRING name,nameID ;
id же не используется? :)
человеческий фактор есть везде. в самой инстанции с такой же вероятность можно неправильно вписать флаг. исключение человеческого фактора это вопрос...
Друзья! 2025-й год завершается, и хочется вспомнить все успехи и положительные события, что были в нём на нашем форуме. С подробностями можно орзнакомиться в этой теме.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.