• Прежде, чем задать вопрос, пожалуйста, убедитесь, что такой вопрос не задавался раньше. Старайтесь описать суть вопроса как можно подробней. • Прежде, чем опубликовать ответ на вопрос, пожалуйста, убедитесь, что обладаете необходимыми для этого знаниями. Старайтесь cформулировать суть ответа как можно лаконичней. • При желании ответить в приватном порядке, пожалуйста, воспользуйтесь ЛС. • При желании поблагодарить ответившего, пожалуйста, воспользуйтесь кнопкой "+" полезного сообщения.
Сообщения, не относящиеся к вопросам по скриптам Papyrus, ответам на них или уточнениям, являются оффтопом и могут быть удалены.
Красное солнце Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
Большое спасибо за ответ, но это чуть-чуть не то. Расскажу подробнее. В моде ГГ нужно поджечь корабль. Для того, чтобы активировать Огонь (например :BFXFireVolCorner) я решил использовать предложенный Кальяном метод возгорания костра. Там берется активатор возгорания масла TrapOilPool01 на него бросается связь от Огня через функцию EnableParent, предварительно Огонь установив в Disable. Теперь когда ГГ Пламенем поджигает активатор масла - срабатывает связь и появляется Огонь. Чтобы отследить поджег корабля ГГ, пробовал на TrapOilPool01 вешать скрипт с event onActivate(objectReference akActivator), но он почему-то не срабатывает. Вот и думаю, каким образом отследить момент перехода Огня из скрытого состояния (Disable) в открытое (Enable).
И снова здравствуйте. Просмотрел я сейчас диалоги PitrPokir, Dsion и Multigone по поводу призраков. Как ни странно, но я тоже добрался до колдовства в моём моде... и есть некоторые сходства с идеями PitrPokir. Но не совсем...
В общем, просматривая диалоги, так и не увидел ответ на один вопрос - можно ли убить одно существо, при вызове другого? В общем, в моём случае призраки призываются из трупа, полностью уничтожая труп (это оказалось легко даже для меня), появляется призрак (через PlaceAtMe). Но возникает проблема. Если кастовать заклинание на новый труп, то появляется ещё один призрак (а я хотел сделать, что бы одно заменяло другое, как в стандартном Скайриме).
Тогда я попробовал замаскировать эффект, и вместо PlaceAtMe использовал каст заклинания призыва призрака (как ни странно, но это тоже сработало), и он даже исчезал при призыве нового (ну а куда ему деваться?). Однако вновь проблема - он просто исчезал. Ни лужици эктоплазмы, ни трупа... ничего (оно и понятно - он же призван).
Поэтому я вновь вынужден просить у вас совета. Как убить существо, призванное с помощью PlaceAtMe? Есть же вероятность, что оно окажется бесконечно далеко, а значит, фишка с заклинаниями отпадает. С диспелом тоже, поскольку, на игрока при этом никаких эффектов не вешается. Или же, можно заставить призванное существо не исчезать, а умирать (хотя, конечно, это навряд ли)? И можно ли обойтись без квеста?
Добавлено (31 Марта 2017, 12:23) --------------------------------------------- Здравствуйте, можно ли блокировать карту Идея такая - Есть дом, попавшись в него, нельзя открыть карту местности а прочитав книгу можно пользоваться картой.
Можно заставить воскрешённое существо стать агрессивным? Я пробовал скрипом кастануть 4 раза заклинание, наносящее урон, но, видимо, скриптовые чары не считаются кастанутые игроком, даже если источником является игрок. Пробовал кинуть заклинание ярости - призванное существо не может беситься (видимо, сказывается то, что воскрешённый - часть игрока).
Идея, конечно, интересная... может быть я даже ею и воспользуюсь... но тогда пропадёт эффект воскрешения... т.е. новое воскрешённое существо не заменит старое... но идея хорошая, спасибо.
Доброго времени суток уважаемым мастерам электронного скальпеля и молотка.
Есть несколько вопросов:
1) насколько опасно изменять фундаментальные скрипты игры. Сейчас я во время разработки мода вписал дополнительный код в скрипт "Actor". Понимаю, что это может эпично конфликтовать с другими модами, затрагивающими этот скрипт. Но может есть еще подводные камни?
2) Есть ли альтернатива изменению этих фундаментальных скриптов? Если подробней, то мне нужно, чтобы кусок кода работал на всех Актеров игры (достаточно, в принципе, только актеров в определенном окружении от игрока). Есть ли возможность как-нибудь присосаться к скрипту "Actor"?
Были мысли навесить на игрока незаметный постоянный спелл на область вокруг, чтобы всем в окружении добавлялся магический эффект со скриптом. Но вопросы тут такие: будут ли работать события Актеров на магическом эффекте? Насколько большую область накладывания эффекта можно сделать (в идеале с момента прогрузки актера в игре)
Если важно. Задумка такая: когда любого актера атакуют, включая главного героя, то срабатывает определенная функция. Через скрипт Actor система работает. Но интересны альтернативные возможности.
DsionOffline
Сообщение №2418
написано: 24 апреля 2017, 06:30
| Отредактировано: Dsion - 24 апреля 2017, 06:27
Mengur, а что вписал в скрипт Actor? Не покажешь? Я просто вообще ни разу не слышал, чтоб кто-то редактировал эти скрипты. Интересно!
А вообще, проблема известная. "Аура" вокруг игрока - распространенное стандартное решение. И да, скрипт магического эффекта получает событие от актора. Похожим образом, кстати, работает "обнаружение жизни".
Ну еще один кривой вариант - это добавить всем расам пассивный навык, который тоже будет накладывать магический эффект и получать события. Но перезаписывать все расы - это диковато. А больше лично я вариантов и не знаю.
Добавлено (24 Апреля 2017, 09:30) --------------------------------------------- Хотя видел еще в Default Objects поле "Every Actor Ability". Я его не проверял и не знаю, работает ли, но, судя по названию, должно добавить пассивное умение всем акторам. Но, опять же, может вызвать несовместимость с чем-то.
MengurOffline
Сообщение №2419
написано: 24 апреля 2017, 06:35
| Отредактировано: Mengur - 24 апреля 2017, 06:44
[quote] а что вписал в скрипт Actor? Не покажешь? Я просто вообще ни разу не слышал, чтоб кто-то редактировал эти скрипты. Интересно! [/quote]
ай. блин. У меня цитирование не пашет. Прошу прощения за корявость. Это мое третье сообщение.
ну вообще я туда тупо забабахал эвент на получение урона, который при определенных условиях вызывал функцию увеличения этого самого урона. В итоге задумка, что любой урон по игроку и другим актерам (оружием, магией, ванильным, добавленным модами) значительно увеличивается. Этакий хардкор, где либо ты убьешь быстро, либо тебя. Неидеально все еще работает.
Позже смогу прислать сам скрипт. Пока нет к нему доступа.
Кстати, еще вопрос. Так нигде и не нашел, можно ли получить в эвенте "OnHit" данные о размере урона. Считаю тупо через переменную ("предыдущее здоровье" - "нынешнее здоровье"). Но как-то считает, походу, аляповато.
Mengur, мм, понятно. Возможно, стоит посмотреть возможности перков. Можно игроку добавить один перк, который будет повышать весь исходящий урон в, скажем, 4 раза, и весь входящий тоже в 4 раза. Но это не совсем то потому что действовать будет только когда сражаются игрок против НИП. А если друг друга нагибают два НИП, то эффекта не будет.
Добавлено (24 Апреля 2017, 10:29) --------------------------------------------- Я когда-то делал отдельную игровую расу, которая получала в 4 раза больше урона от почти любых источников, но могла переходить в состояние "фокуса", когда сам игрок движется с нормальной скоростью, а весь остальной мир - замедляется в 2 или 4 раза. Весело было от града стрел уклоняться как в "Матрице"
Добавлено (24 Апреля 2017, 10:31) --------------------------------------------- И еще надо Game Settings посмотреть. Там много переменных, которые напрямую участвуют в формулах расчета всякой фигни, включая урон. Есть шанс процентов 60%, что там есть что-то, чем можно поднять урон абсолютно всем акторам.
Перк игрока - не вариант. Ибо когда остальные персонажи между собой тоже сражаются быстро, то ощущения совсем другие выходят. Уже не получится компаньона запулить в бой, а самому издалека отстреливать, пока на него агрятся. Теперь компаньона тоже завалят быстро.
А вот с игровыми настройками интересно. надо поизучать. Есть где-нибудь описание настроек? хотяб на инглише?
=========
И на будущее. Ты говорил, что можно через эффекты расам добавлять различные скрипты, верно? То есть теоретически можно сделать уникальные требования для убийства каждой расы? (типа призраки получают урон только от железа, а драугов после убийства необходимо сжигать)?
С Game Settings точно стоит поразбираться. Вот я выбрал наугад три настройки и увеличил их в 5 раз: fDamageStrengthMult, fCombatDamageScale, fDamageWeaponMult. И что-то из этого реально изменило урон и мой, и НИП, который в меня стрелял.
Уникальные требования... Да можно-то можно, но не уверен, что можно ограничиться одними только скриптами. Вот дать призракам перк, который будет понижать в ноль весь урон от не-железа - это легко. Дать игроку перк, который будет понижать урон по призракам - тоже легко. А вот как это скриптами сделать я даже и не знаю...
MengurOffline
Сообщение №2423
написано: 24 апреля 2017, 13:03
| Отредактировано: Multigone - 22 апреля 2020, 15:49
С эффектами обдумываю. У оружия еще есть графа с материалом - это полезная вещь, думается мне. Надо бы еще вернуть в скрипт колчаны и ограничение стрел. Где-то у меня валяется этот скрипт.
Кстати. Вот такой скрипт на actor у меня работал довольно хорошо. Тупо добавил в конец оригинального скрипта вот это:
Ага... Ну раз хорошо, то ладно... По настройкам я много информации не видел. https://www.creationkit.com/index.php?title=Category:Settings Вот тут кое-что, но комментировано очень мало из них. Легче методом тыка. Ввести фильтр "Damage" и пытаться догадаться, что они делают. Но одна из тех трех точно работала!
Фигово, что нельзя всем НИП перк выдать. Там же всякое можно... Можно было бы сделать и шанс блокирования и шанс и что-угодно еще.
А эти настройки можно изменять динамически скриптами? И какая команда там, если возможность есть.
Пока что список себе скопировал, и пытаюсь по названию понять, что есть что. Потом буду тестировать уже в самой игре, выкручивая до неприличных значений и следя за изменениями. =)
DsionOffline
Сообщение №2426
написано: 26 апреля 2017, 05:42
| Отредактировано: Dsion - 26 апреля 2017, 05:42
Добавлено (26 Апреля 2017, 08:42) --------------------------------------------- Может, действительно просто дать перк игроку? На битвы НИП против НИП это влиять не будет, но это же не так плохо. А то страшно представить, что может пара вампиров в городе сделать, если ты им еще и урон в 4 раза поднимешь
Dsion, Неее. Просто на игрока эффект не тот. В Скайриме же часто происходят стычки между народом. И мне не нравится, что в чувака могут засандалить с десяток стрел, а он сидит себе живой. Плюс компаньоны остаются крутыми. И можно на них скидывать сесь агр, а самому отстреливать врагов издали, что, собственно говоря, имба.
С тем кодом, что я выше оставлял, довольно интересно было играть, так как и компаньона выносили за раз, и просто война в округе была интересней. (ну может я предвзят, не спорю) =)
Минус скрипта был, он считал как-то подозрительно. Да так, что порой дракона можно было с одной стрелы убить. А иногда приходится запулить стрел 10. что почти нереально, так как с одного дыха он выносит в 80% случаев. Вот это истинное испытание =)
Ну да, я тоже когда-то размышлял над альтернативами концепии "HP". Не очень реалистично, когда в кого-то всаживают 20 стрел и ему пофиг, а потом еще одна стрела и он сразу сдыхает... В Neverwinter Nights (и D&D вообще) хоть и тоже есть HP, но там иначе работает броня. Броня не уменьшает получаемый урон, а увеличивает шанс избежать урона вообще. Точно так же как ловкость. Можно было бы эту механику и в скайрим перенести. Больше бронищи - больше шанс избежать урона вообще. Но если уж урон получаешь, то он АДСКИЙ. В добавок к этом можно было бы добавить какой-то штраф при низком значении HP. При, типа, ранении. Чем меньше ХП, тем медленее и слабее игрок.
Но совсем от HP я бы не отказывался, чтоб слабые крыски не ваншотили и чтоб не потеряли актуальность заклинания лечения.
Добавлено (26 Апреля 2017, 10:10) --------------------------------------------- Кстати, можно еще рассмотреть вариант не увеличения урона, а уменьшения ХП... Эффект-то похожий?
Dsion, В идеале бы порезать и урон и ХП, чтобы отстроить весь баланс заного. Но это много работы, плюс правка всех актеров тоже неминуема.
Если просто уменьшать здоровье, то будет одинакого, что и увеличивать урон.
Меня сейчас другая дума тревожит. В моем варианте скрипта вычислялся урон, который актер получил (сразу же учитываются его броня, эликсиры, магические эффекты, и так далее). Там тупо от прошлого значения отнимается нынешнее. В итоге все эти фишки имеют значение.
С найстройками нужно будет не только увеличивать урон, но и усиливать все фишки эти.
DsionOffline
Сообщение №2430
написано: 26 апреля 2017, 07:47
| Отредактировано: Dsion - 26 апреля 2017, 07:50
Mengur, сам понимаешь, что отнимать от предыдущего значения текущее - это сомнительное решение. NPC могут лечиться или регенерировать или получать урон из других источников (падение с высоты итп). Я бы сначала трижды перепроверил, что желаемое нельзя сделать через game settings. Это безопасно и никаких конфликтов с другими модами.
Форум » TES V: Skyrim » Мастерская » Вопросы по скриптам Papyrus (О скриптах Papyrus (Skyrim). Скриптеры не проходите мимо!)