• Прежде, чем задать вопрос, пожалуйста, убедитесь, что такой вопрос не задавался раньше. Старайтесь описать суть вопроса как можно подробней. • Прежде, чем опубликовать ответ на вопрос, пожалуйста, убедитесь, что обладаете необходимыми для этого знаниями. Старайтесь cформулировать суть ответа как можно лаконичней. • При желании ответить в приватном порядке, пожалуйста, воспользуйтесь ЛС. • При желании поблагодарить ответившего, пожалуйста, воспользуйтесь кнопкой "+" полезного сообщения.
Сообщения, не относящиеся к вопросам по скриптам Papyrus, ответам на них или уточнениям, являются оффтопом и могут быть удалены.
Красное солнце Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
Function WeaknessToFire(Actor akTarget) ;Задаем функцию, которая будет увеличивать уязвимость цели к огню на 100% akTarget.DamageAV("FireResist", WeakFire) EndFunction
Event OnEffectStart(Actor akTarget, Actor akCaster)
WeaknessToFire(akTarget) ; наложили уязвимость FIREBOLT.cast (akCaster, akTarget) ; собственно вопрос, сработает ли 100% уязвимость на каст Firebolt и увеличит ли она урон?
endEvent
Как срабатывают эффекты в эвенте? По своей очереди или же одновременно? Я хочу чтобы сначало сработал WeaknessToFire, увеличив уязвимость цели к огню, а потом уже каст Файрболта на цель подверженную уязвимости. Сработает ли?
nepewka, а событие OnEffectStart в каком скрипте, в каком именно маг.эффекте? Если в том эффекте, который наносит урон, то поздно давать уязвимость, эффект то уже отработал и нанёс урон. Если в другом маг.эффекте, то сработает уязвимость, если она будет наложена на актёра раньше, чем эффект с уроном.
Как срабатывают эффекты в эвенте? По своей очереди или же одновременно?
Наверно, ты имел в виду не эффекты, а команды. Всегда и все команды в скрипте выполняются по очереди сверху вниз. Это справедливо для любой последовательности/цепочки команд. Если во время исполнения этой цепочки в скрипте запустить другую цепочку событием или функцией, то эта новая цепочка будет исполнятся сама по себе и не зависит от первой цепочки. Вот тогда и только тогда, смогут выполняться команды одновременно, и только из разных цепочек/последовательностей.
************ nepewka, смени команду akTarget.DamageAV("FireResist", WeakFire), она не будет давать уязвимости к огню.
DamageAV - это повреждение параметра, т.е. его уменьшение. Лучше кастонуть спеллом на уязвимость к огню, есть такие.
Изменение репутации для пользователя nepewka
nepewkaOffline
Сообщение №903
написано: 7 апреля 2014, 17:57
| Отредактировано: nepewka - 7 апреля 2014, 17:58
nepewka, ID сейчас не помню. Ты открой СК и найди спеллы или эффекты с названием "Уязвимость к огню" (сортировка по столбцу с названиями, и далее по алфавиту легко найти).
Можешь даже и не кастовать отдельное заклинание, а сделать в основном/первом/скоростном маг.эффекте эту уязвимость. Тогда сделай длительность спелла/эффекта 2-3 сек. Ты просто открой дефолтный эффект с уязвимостью и посмотри как именно сделана такая уязвимость, и тоже самое сделай на своём эффекте.
Это точно будет работать и давать уязвимость раньше, чем файерболт, что тебе и надо.
Изменение репутации для пользователя nepewka
nepewkaOffline
Сообщение №905
написано: 7 апреля 2014, 18:52
| Отредактировано: nepewka - 7 апреля 2014, 18:58
ID сейчас не помню. Ты открой СК и найди спеллы или эффекты с названием "Уязвимость к огню" (сортировка по столбцу с названиями, и далее по алфавиту легко найти).
нашел 2 типа подобных эффектов. 1 const (постоянный, пассивный), другой с duration
тот который с duration, от алхимии, AlchWeaknessFire.
думаю прикрутить к основному спеллу, труда не составит.
будет ли работать?
Изменение репутации для пользователя MemoriaVetusta
nepewka, если задать для цели заклинания уязвимость к огню, то огненные существа (например, огненный атронах) потеряют иммунитет к этому виду урона (а нужно ли?).
Если не нужно, то в Target Conditions эффекта уязвимости:
nepewka, если задать для цели заклинания уязвимость к огню, то огненные существа (например, огненный атронах) потеряют иммунитет к этому виду урона (а нужно ли?).
Ты наверное не вкурсе, но эффекты уязвимости работают со значениями больше чем 100% (проверенно) Накладывал на стражников Вайтрана эффект со 100% уязвимостью, 200% и 500%. И кастовал спелл пламя. 100% и 200% снимал по 15-30% здоровья, с 500% уязвимостью уже убивал его. За отрезок времени брал 100 стандартной маны у персонажа.
Это я к тому, что этот эффект работает не только в значениях 0-100% как все думают, а даже больше
Изменение репутации для пользователя MemoriaVetusta
MemoriaVetustaOffline
Сообщение №908
написано: 8 апреля 2014, 16:10
| Отредактировано: MemoriaVetusta - 8 апреля 2014, 16:16
Если накладывать уязвимость к огню на существо, обладающее иммунитетом (100% сопротивлением) к этому виду урона в силу своего происхождения, то существо сможет получать такой урон, хотя, по-идее, не должно (огненный атронах получает урон от огня? нонсенс). Чтобы этого не произошло, необходимо указать условия, при которых уязвимость может быть наложена. Т.е., если НПС обладает иммунитетом к этому виду урона, то уязвимость не должна налагаться, иначе этот самый иммунитет будет потерян.
Избежать этого недоразумения можно двумя способами (редактируя MGEF уязвимости):
1) Указать в строке Resist Value тип сопротивления огню. Если НПС обладает сопр. огню = 100 (%), то эффект уязвимости не будет наложен, поскольку магнитуда эффекта умножается на 0 (т.е. 100% - 100% = 0%). Если же НПС будет обладать 90% сопротивлением огню, то эффект все равно будет наложен, но с магнитудой 10% (100% - 90% = 10%).
2) Не указывать сопротивление, а указать в Target Conditions то, что я написал в пред. посте. В этом случае НПС с иммунитетом к огню не будут подвержены эффекту уязвимости вовсе, все остальные, имеющие сопротивление огню < 100%, получат уязвимость с магнитудой 100%.
Я не совсем понял, с какой целью ты всё это писал) Советов, как сохранить лорность игры после всех изменений я вроде не спрашивал)) Но твое желание спасти жизнь атронаху я учту. Добавлю им в памаметры 200% резиста от огня.
=========
oh wait, ты сейчас всем этим хотел сказать, что при 100% резисте у цели, любая уязвимость на нее не подействует?
Добавлено (09 Апреля 2014, 10:00) --------------------------------------------- проверил на огненном атронахе, все работает
Почему то скрипт не компилируется с функциями disable и enable. Компилятор выдает ошибку Enable is not a function or does not exist. Ванильные скрипты с этими функциями сохраняются нормально. В чем тут может быть проблема?
Почему то скрипт не компилируется с функциями disable и enable. Компилятор выдает ошибку Enable is not a function or does not exist. Ванильные скрипты с этими функциями сохраняются нормально. В чем тут может быть проблема?
Ошибку выдает потому, что скрипт Alias не содержит функций Disable и Enable. Если целью является управление объектами через алиасы, необходимо использовать ReferenceAlias.
ReferenceAlias Property MGEffect Auto ReferenceAlias Property SGDoor Auto
Если MGEffect это маг.эффект, то работать не будет, а если физический объект, то будет.
Поскольку используются алиасы, то тип свойства Alias надо заменить на ReferenceAlias. Если автор хотел вкл/выкл именно сами объекты и они не прописываются в алиасы, тогда так:
ObjectReference Property MGEffect Auto ObjectReference Property SGDoor Auto ... SGDoor.Enable() MGEffect.Enable() ...
AlexTirex, вообщем снова есть вопрос насчет работы уязвимости. Внимательно прочитав тобою написанное, придумал 2 варианта реализации.
Но для начала начну с 0 пункта. Эффект который я взял за основу:
Как мы помним в игре, этот эффект накладывается не на цель, а сначало на оружие (что, если честно, очень раздражает. В любом случае, чаще всего все сводится к тому, что сначало мы накладываем его на цель, а потом бьем спеллом. Из за того что настоящих спеллов с таким эффектом нету, приходится постоянно сначало использовать оружие (чаще всего лук), а уже потом использовать заклинания. Цель всего этого обойти это.
Исходя из того, что данный эффект построен для алхимии, у меня появились трудности, с тем чтобы добавить его к обычному спеллу. Трудно сказать, что именно не так. При добавлении данного эффекта к спеллу, спелл просто не отображается в игре. Пробовал подстраивать эффект под мейджик эффект спелла, менять значения в MGEF, не помогло. В чём может быть проблема?
nepewka, в одном спелле могут быть только однотипные эффекты. Если спелл типа "на цель", то и все эффекты там будут "на цель". У тебя этот эффект "на себя" - переделай его "на цель". Точнее не его переделывай, а задублируй этот и уже крути дубликат, дабы не испортить дефолтный эффект. А так же сделай, как пишет сергей007788.
Изменение репутации для пользователя nepewka
nepewkaOffline
Сообщение №920
написано: 9 апреля 2014, 18:00
| Отредактировано: nepewka - 9 апреля 2014, 17:59
Даже не подумал что это может повлиять, как первоклассник
AlexTirex, на себя изначально менял
Добавлено (09 Апреля 2014, 22:00) --------------------------------------------- Кстати вопрос немного не по теме, кто нибудь знает как работает левелинг в игре?
Хочу точно определить кол-во хп у нпц, будь то охранник или вызванный огненный атронах. У меня 24 уровень, есть ли формула?
Хочу точно определить кол-во хп у нпц, будь то охранник или вызванный огненный атронах. У меня 24 уровень, есть ли формула?
Полистай официальный сайт СК, там есть такая формула. Можно и просто посчитать: возьми посмотри класс НПС, открой этот класс, там указано, сколько и чего повышается за один уровень. У каждого класса разное поднятие здоровья/магии/силы. Перемножь показатель/коэффициент здоровья на уровень НПС и прибавь стартовый показатель здоровья. Так же прибавь бонусы от способностей, если они есть.
Или узнай в игре через консоль: тырк по НПС и команда getav health В скрипте почти так же: GetAV("Health")
интересно, можно ли с эффектом уязвимости сделать так, чтобы он увеличивал уязвимость цели с течением времени. Что то типо проклятья, накладываем на цель, а оно увеличивает каждую секунду уязвимость цели скажем на 10%, работает 10 секунд. На 10ой секунде достигает максимума в 100%. Думаю сложно будет такое реализовать..)
Придумал очень интересный спелл для реализации, задействующий в своей работе Перк.
В MGEF фаерболла, в пункте Perk to Apply указал свой созданный перк. (Перк который накладывается на цель при срабатывании MFEF) В перке создал Entry point, Mod Incoming Spell Magnitude Multiply Value 2.0 ( Adjusts the magnitude of magic effects applied to the perk owner = Увеличивает входящий урон от магии владельца перка в 2 раза)
При касте фаерболла, в теории на цель должен накладываться этот перк. В теории и с виду всё правильно, но в игре перк после фаерболла отказывался работать. Как думаете, в чем может быть проблема?
Изменение репутации для пользователя MemoriaVetusta
nepewka, если ты внимательно смотрел раздел "Вопросы по СК", там я описал проблему, почему это возникает. К сожалению, пост удалил, а писать новый лень.
Вкратце: подозреваю, к НПС не применяются перки, выданные таким образом.
nepewka, Я много раз пытался давать перк нпк через скрипт но похоже это не работает перки скриптом даются только гг, та же история с кейвордами. Даже в аллиасе нет места для перков. Может я не прав, хотелось бы чтоб это было так.