Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форумы Gem of The North > NWN Toolset > ActionCastSpellAtObject |
Автор: zergirl Dec 22 2004, 06:29 AM |
Господа, помогите пожалуйста с проблемой. Функция ActionCastSpellAtObject () имеет параметр nDomainLevel, который указывает CasterLevel спелла. Однако из внешних источников я узнала, что эта функция имеет такой баг, что данный параметр не учитывается при выполнении, а берется равным нулю. Та вот, можно ли еще каким-либо способом наложить эффекты заклинаний определенного уровня на объект, с помощью или минуя эту функцию? |
Автор: FenrIX_666 Dec 22 2004, 02:36 PM | ||
собственно он по дефолту 0. Да и и в большинстве случаев вообще не учитывается (если вообще не во всех). Данынй параметр просто показывает в каком кругу доменных слотов данный спелл будет запомнен. Т.к. в НВНе нет четкого рзграничения где доменный, а где нет спелл, то и параметр не обязательный вооюще. Смело используй данную функцию. |
Автор: zergirl Dec 22 2004, 02:57 PM |
Ммммм, тогда я вообще запуталась ) А как тогда наложить спелл с определенным Caster Level? Хочу просто проверить, как работает Holy Avenger. Хотя если кто знает точную формулу его работы, можно про спеллы и не отвечать тогда ) |
Автор: FenrIX_666 Dec 22 2004, 03:36 PM |
ээ... у плейсебла никак. А у моба в тулсете подогнать уровень кастера под интерсующий. А что конкретно интересует в холи авенжере? |
Автор: zergirl Dec 22 2004, 04:40 PM |
Меня интесует, какой именно диспел он кастует с удара, какой при этом берется уровень кастера (есть предположения что уровень паладина или уровень паладина/2), каков шанс кастования диспела. |
Автор: FenrIX_666 Dec 23 2004, 12:21 AM |
Там все гораздо хуже. Без процентажа, просто прибавляется такое ip как Holy Avenger. Без уровней и шансов.... А вот какой там чек идет - одним биотварям известно =) |
Автор: DarkSet Dec 23 2004, 12:47 AM |
Да, у него свойство разбивать чары, а не кастовать диспел на ударе. Очень неплохая вещь.. ) Меня в функции кастования спелов больше интересует как выбрать спел, он выбирается какимто хитрым номером, что это такое? Номер спела в 2да файле спелов? А по другому нельзя? И кстати если я 2да свой сменю для модуля то и спел другой функция кастанет? |
Автор: Twin Dec 23 2004, 01:59 AM | ||||
DarkSet "Выбрать спелл" это как? В процедуре ActionCastSpellAtObject () используются константы SPELL_* (о чём написано в описании процедуры). Список констант легко найти в редакторе скриптов Авроры. Разумеется, каждая эта константа соответствует какому-то обычно уникальному числу. Но для скриптера это значения, обычно, не имеет. Так что вопрос лично мне не понятен. Уточни?
В spells.2da, если они тебе нужны.
Да. |
Автор: DarkSet Dec 23 2004, 05:44 PM |
объясняю void ActionCastFakeSpellAtLocation(int nSpell, location lTarget, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT) int nSpell это никак не константа. Хотя наверное ее и тут можно использовать, но я про них не знал, думал что все по номерам только.. ) |
Автор: zergirl Dec 24 2004, 08:29 AM |
А что подразумевается под словосочетанием "разбивает чары"? Я так предполагаю, что например если на персонаже висит обкаст из пятнадцати спеллов, и я попадаю по нему Авенгером, то для каждого спелла кидается двадцатигранный кубик, и если прокидывается ДЦ Авенгера (Глосс что-то упоминал вскользь про ДЦ 16), то спелл убирается. Это так или нет? |
Автор: zergirl Dec 24 2004, 10:59 PM |
Сейчас наконец-то проверила работу Авенгера в модуле. Для этого я создала персонажа-паладина 12-го уровня, дала ему в руки Авенгер, а противником выставила гоблина класса Wizard 1-го уровня. На событие OnSpawn этого гоблина я вешаю на него 15 различных спеллов обкаста. Результат - весь обкаст слетает либо с первого попадания, либо с первого не слетает ничего, а все слетает со второго. При увеличении уровня Wizard'а до 20 обкаст стал слетать порциями по 4-5 спеллов за первые несколько ударов, потом по 1-2 спелла на каждую пару последующих ударов. При увеличении уровня гоблина до 40 мне так и не удалось сбить хотя бы один спелл. У меня возник вопрос: в бою на шарде будет ли Авенгер работать так же эффективно против мага или клира 20 уровня, как он работал против гоблина с уровнем Wizard'а 20? Ибо если будет - то это очень весело владельцу меча и очень грустно остальным ) |
Автор: zergirl Feb 22 2005, 06:33 AM |
В принципе можно было бы сделать настоящее снятие чар, т.е. не просто повесить диспел на оружие, а при каждом ударе делать чек на снятие каждого спелла (например с шансом 10-15%) в независимости от левела кастера. |
Автор: FenrIX_666 Feb 24 2005, 02:49 AM |
Из стандартных вешаемых IP в мою раздувшуюся голову приходят только три(4) варианта: 1) OnHit: (lesser,Greater) Dispell, Mordenkainen's Disjuncion с премнным DC в зависимости от уровня паладина и его визды. 2) OnHitCastSpell: -||- с варициями заданных уровней кастера, зависящих от уровня/визды паладина. 3) 4) Вариации первых двух пунктов. |
Автор: zergirl Feb 25 2005, 10:00 AM | ||||||||
А вот такую фишку можно сделать? Напишу в общих чертах, потому что не знаю нвн-скрипта.
Функция расчета шанса на диспел может быть примерно такой:
для капа 20 примерно 30 (20 левелов пала + 10 мод. мудрости), для капа 40 примерно 60 (40 левелов пала + 20 мод. мудрости).
показывает шанс диспела при максимальном эффективном левеле (т.е. если он равен 1, то 100%; если 0.5 - то 50%). |
Автор: FenrIX_666 Feb 28 2005, 12:34 AM | ||
С функцией все более ли менее ясно |
Автор: zergirl Feb 28 2005, 06:42 AM | ||||||
Получаем случайное число от 0.0 до 1.0
Если оно оказалось меньше шанса диспелла, то будет диспелл:
|