Уважаемые гости и новички, приветствуем Вас на нашем форуме
Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».
Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
...выпаривает мозг с выхода Готики 1. Горение я делал по разному, но на триггерах получилось сделать проще всего.
В функции C_CanNpcCollideWithSpell для нужных спеллов добавим запуск триггера
func int C_CanNpcCollideWithSpell(var int spellType)
{
...
//----- Feuer -----
if...
Так было в авторских скриптах. В последних версиях неофициального обновления проверка на страх заблокирована.
Похоже, что авторский набор исключений для страха связан с отсутствием анимаций, за исключением орков и людей-ящеров, которые из-за бага в скриптах пытались использовать человеческие...
...плагин OnDamage_hit. Но перед этим мне надо показать всю «цепочку» событий, то есть
Spell_Logic_xxx --> Spell_Cast_xxx --> C_CanNpcCollideWithSpell --> B_AssessMagic
после этого можно написать и про OnDamage_HIT. спойлер: просто менять ущерб через плагин OnDamage_HIT не проще.
***
забудьте...
Slavemaster, а отдельные патчи с расширением .patch типо zBowRelaxFix нужно поместить просто в папку System? А те, что из папки Patches - в папку System\Patches, да? И где можно скачать обновленный архив патчей (папку Patches), если такой есть? Что-то не вижу ссылки на архив патчей. Или...
есть обработчик C_CanNpcCollideWithSpell и в нём ты можешь сделать что угодно на уровне скриптов. например
if (spellType == SPL_облако_яда)
{
if C_NpcIsUndead(self)
{
return COLL_DONOTHING;
};
B_Magic_облако_Яда();
return...
Может кто знает, где можно выставить в скриптах возможность/невозможность коллизий для заклинаний/стрел между разными нпц? Часто вижу как нпц-арбалетчик стреляет в меня через другого нпц. И такое же видел с заклинаниями.
Не уверен на счет C_CanNpcCollideWithSpell, хотя название намекает.
Noice. I took this improved one for a ride, to see its compared performance to the previous version. It seems all working as intended, with damage scaling and propagating nicely, depending on the spell's initial charge.
However, any possibility of reposting the fix with the correct formatting...
Новая версия патча, призванная устранить и баги около параметров функции C_CanNpcCollideWithSpell:
1. Передавался неверный объект self: вместо того, в кого попало заклинание, передавалась исходная цель заклинания
2. В случае сплеш урона в качестве other передавался не кастер, а тот, кто получил...
В теме будет описан конвейер обработки урона по NPC
Краткое описание вовлечённых функций
int oCNpc::EV_DamageOnce - не содержит дополнительной логики: вызывает oCNpc::OnDamage и возвращает true
int oCNpc::EV_DamagePerFrame - управляет таймерами периодического урона, вызывает oCNpc::OnDamage при...
Кто поможет для познания расшифровать некоторые моменты?
Примерный список того, что движок вызывает из скриптов (Лень расписывать для всего :) )
Актуально для 2.6а
Я заметил, что есть функции, которых нет в скриптах. Для примера я попробовал добавить Player_Victim_Is_Immortal, но чет тестового...
То-есть теперь можно для своих спеллов, не юзать функции:
Spell_ProcessMana
Spell_ProcessMana_Release
C_CanNpcCollideWithSpell,
И не объявлять константы спела в массивах:
spellFxAniLetters - имена анимаций спеллов.
spellFxInstanceNames - имена эффектов VFX
TXT_SPELLS - имена заклинаний выводимые...
//Spell_Collide_SPELL_ID
//для всех новых заклинаний начиная с индекса 500, функция func int C_CanNpcCollideWithSpell(var int spellType)
//Объявляется для каждого заклинания отдельно в файле скрипта заклинания
//Имя функции должно быть формата Spell_Collide_XXX где XXX индекс заклинания, в файле...
Меня сложно назвать опытным магом, и во много ниже описанное будут отражать не сколько мое личное мнение, сколько ту информацию, которую я собрал бороздя интернет.
Я думаю, что магу нужно как можно быстрее проскочить первые 2 главы, а может и больше, как можно меньше ввязываясь в конфликты.
Как...
Скриптовая функция func int C_CanNpcCollideWithSpell(var int spellType) при коллизии заклинания вызывается для того НПС, который был в фокусе в последнем фрейме перед кастом. а не для того, в которого спелл реально попал (если никого не было фокусе, или в фокусе был не НПС, то скрипт не...
...В оригинале все было забито на одну логику заклинания. Я разбил ее на разные руны.
Добавил проверку на наносимый урон в C_CanNpcCollideWithSpell
Добавил в pfx/vfx все новые инстанции этого же заклинания, но заклинание всегда наносит урон первой руны. Даже не знаю, куда лезть еще.
upd. решил...
Особые и скрытые свойства заклинаний
Особенности взаимодействия между заклинанием и его целью в аддоне (источником информации служит функция C_CanNpcCollideWithSpell(var int spellType) из G2 MDK):
Особенности взаимодействия между заклинанием и его целью в аддоне (источником информации служит функция C_CanNpcCollideWithSpell(var int spellType) из G2 MDK):
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.