Тема для вопросов по скриптингу.
Функции папируса:
На английском
На русском (не все, но базис)
#521
Отправлено
- werr, Chesh¡re и Olechkafum нравится это
#522
Отправлено
Невидимый "взрыв" с большим радиусом и скриптовой командой StopCombat, например.
Изменить AV Aggression.
Добавить игрока во фракцию союзника этих врагов.
Юзнуть такой же невидимый спелл Pacify (успокоение), как в первом пункте.
Много вариантов.
Вот было бы совсем хорошо если бы я ещё чего понял из этого. Всё что получилось это вот
Но мне это не подходит - у меня там 34 рыбы убийцы и даже если их всех указать в Property типа Actor_1, Actor_2, Actor_3, и т.д. - не факт что сработает. Подскажи чего прописать в Property или же что написать перед StopCombat() что бы Главный герой пропал с радаров рыб и они у него не отображались как враги - но только на время пока они его вновь не заметят.
#523
Отправлено
Подскажи чего прописать в Property или же что написать перед StopCombat() что бы Главный герой пропал с радаров рыб и они у него не отображались как враги - но только на время пока они его вновь не заметят.
На вход в триггер ставишь команду на каст спелла. Делаешь сам спелл - с огромным рейнджем, но без внешних визуальных эффектов. Посмотри, как спеллы типа Pacify сделаны (успокоение, гармония, дружба с животными...).
Длительность небольшую поставь, секунд 5. Должно хватить.
Дополнительно в эффект спелла можно еще скрипт с тем самым StopCombat прописать на ивенте OnEffectStart.
#525
Отправлено
Не, ну без баффов тоже можно, но это имхо самый простой способ.
Когда тебе нужно "собрать" много актеров и сделать с ними чего-нибудь - спелл это самый рабочий метод.
Но можно запилить квест с n алиасов в нем, которые будут автозаполняться твоими рыбами (по кондишнам), и уже на эти алиасы StopCombat скриптом выдать.
Можно непосредственно скриптом через проперти рыб, массив или через формлист что-то сделать.
Вариантов то масса.
Сообщение отредактировал Azazellz: 12 апреля 2019 - 11:44
#527
Отправлено
Доброго времени суток!
Пытаюсь сделать заклинание, которое заменит некоторые части головы персонажа определенной расы на другие.
Проверка расы цели не срабатывает, так как скрипт не видит объект ElrianIorvethRace:
Scriptname ElrianIorvethShowScar extends ActiveMagicEffect Race Property ElrianIorvethRace Auto Event OnEffectStart(Actor Target, Actor Caster) if (Target.GetActorBase().GetRace() == ElrianIorvethRace) Debug.Notification("It's Iorveth!"); else Debug.Notification("Not Iorveth!"); endif; endEvent
Попробовала поэкспериментировать на ванильной расе:
Scriptname ElrianIorvethShowScar extends ActiveMagicEffect Race Property BretonRace auto Event OnEffectStart(Actor Target, Actor Caster) Debug.Notification(BretonRace); Debug.Notification(Target.GetActorBase().GetRace()); endEvent
На экран выводится:
None
[Race
Помогите, пожалуйста, не могу понять, что я делаю не так
#530
Отправлено
Прошу помощи - сделал скрипт который повесил на триггер и при входе в триггер опускается мост, а при выходе из триггера поднимается обратно - и всё работает как надо. Но мне этого недостаточно - нужно сделать так что бы мост опускался при входе в триггер, а поднимался только тогда - когда не только сам игрок покинет триггер но и все его спутники. Как я понимаю нужна какая то проверка на это - но не понимаю как это прописать.
#532
Отправлено
Как я понимаю нужна какая то проверка на это - но не понимаю как это прописать.
Сделай "счетчик", стартующий с нуля - просто int-переменную.
Каждый раз, как кто-то заходит в триггер - прибавляй к ней 1.
Каждый раз, как кто-то выходит - отнимай 1. В этом же ивенте выхода делай проверку этой переменной. Как опять будет ноль (все вошедшие - вышли) - делай свой код.
Сообщение отредактировал Azazellz: 06 июня 2019 - 08:37
#533
Отправлено
Сделай "счетчик", стартующий с нуля - просто int-переменную.
Каждый раз, как кто-то заходит в триггер - прибавляй к ней 1.
Каждый раз, как кто-то выходит - отнимай 1. В этом же ивенте выхода делай проверку этой переменной. Как опять будет ноль (все вошедшие - вышли) - делай свой код.
Не оптимальное решение, которое может в некоторых случаях приводить к багу. К примеру, в тригер забегает злокрыс "счётчик" вырос на +1, ГГ убивает злокрыса и всё - твой скрипт повисает намертво, т.к. мёртвый злокрыс уже никогда из тригера не выберется и "счётчик" всегда будет на +1 больше.
Поэтому, во избежание подобной ситуации, перед тем как увеличивать/уменьшать счётчик, надо проверять принадлежность зашедшего в тригер к фракции героя. Хотя и это тоже не оптимальный вариант, т.к. если завяжется бой у моста, ГГ вполне может призвать какое-нибудь существо, которое зайдёт в тригер и там сдохнет/анигилирует, увеличив при это счётчик на единицу, т.к. принадлежит фракции ГГ.
В общем, всё зависит от того, где этот мост расположен и когда и как им будут пользоваться. Может простого счётчика действительно будет достаточно, а может надо будет сочинять кучу доп.проверок.
#535
Отправлено
Поэтому, во избежание подобной ситуации, перед тем как увеличивать/уменьшать счётчик, надо проверять принадлежность зашедшего в тригер к фракции героя.
Это как бы подразумевается априори. Иначе триггер будет срабатывать на все, что ни попадя.
Ну и левелдизайн тоже важен, да.
Решила проблему: забыла в Creation Kit сделать инициализацию объявленных в скрипте properties.
Хех.
#536
Отправлено
Это как бы подразумевается априори. Иначе триггер будет срабатывать на все, что ни попадя.
Ну и левелдизайн тоже важен, да.
Хех.
Рабочий скрипт
Scriptname ElrianIorvethShowScar extends ActiveMagicEffect Race Property ElrianIorvethRace Auto FormList Property ElrianIorvethHeadsList Auto Event OnEffectStart(Actor Target, Actor Caster) if (target.GetRace() == ElrianIorvethRace) Debug.Notification("It's Iorveth!"); Target.ChangeHeadPart(ElrianIorvethHeadsList.GetAt(0) as HeadPart); Target.RegenerateHead(); else Debug.Notification("No Iorveth!"); endif; endEvent
Теперь другая проблема - изменения сохраняются только до перезагрузки игры. Но об этом и в документации указано - ChangeHeadPart работает стабильно только на ГГ, видимо придется искать обходной путь: через смену расы или подмену актера
#537
Отправлено
Сделай "счетчик", стартующий с нуля - просто int-переменную.
Каждый раз, как кто-то заходит в триггер - прибавляй к ней 1.
Каждый раз, как кто-то выходит - отнимай 1. В этом же ивенте выхода делай проверку этой переменной. Как опять будет ноль (все вошедшие - вышли) - делай свой код.
Не оптимальное решение, которое может в некоторых случаях приводить к багу. К примеру, в тригер забегает злокрыс "счётчик" вырос на +1, ГГ убивает злокрыса и всё - твой скрипт повисает намертво, т.к. мёртвый злокрыс уже никогда из тригера не выберется и "счётчик" всегда будет на +1 больше.
Поэтому, во избежание подобной ситуации, перед тем как увеличивать/уменьшать счётчик, надо проверять принадлежность зашедшего в тригер к фракции героя. Хотя и это тоже не оптимальный вариант, т.к. если завяжется бой у моста, ГГ вполне может призвать какое-нибудь существо, которое зайдёт в тригер и там сдохнет/анигилирует, увеличив при это счётчик на единицу, т.к. принадлежит фракции ГГ.
В общем, всё зависит от того, где этот мост расположен и когда и как им будут пользоваться. Может простого счётчика действительно будет достаточно, а может надо будет сочинять кучу доп.проверок.
В общем как я понял без кучи проверок не обойтись? А жаль - сам я это не осилю (мозгов маловато) - придётся делать топорным методом - установлю задержку секунд на 10 думаю все спутники успеют за это время перебраться. Я то думал что можно это прописать как то просто - а фиг там!( В любом случае спасибо!
#541
Отправлено
Решил поизучать скрипты и столкнулся с такой проблемой. PapyrusAssembler не хочет компилировать скрипты. Причём если взять скомпилированный скрипт, декомпилировать в *.pas и снова скомпилировать, то проблем нет. А если пытаться скомпилировать *.psc, выдаёт ошибку "Cannot open store for class "...имя скрипта...", missing file?". Пробовал как в creationkit, так и батником на скриптах из разных модов.
Темы с аналогичным тегами papyrus, help, скрипты, вопросы
Моддинг →
Моддинг Skyrim →
Восстановление на основе Зала ДозораАвтор Alex_andra, 11 дек 2023 mod, help |
|
|||
|
Моддинг →
Моддинг Skyrim →
Отстройка ВинтерхолдаАвтор Alex_andra, 10 авг 2023 bugs, moding, help |
|
||
Моддинг →
Моддинг Oblivion →
Скрипт Для СнаряженияАвтор БесездаБойчик, 07 сен 2022 скрипты, скрипт |
|
|||
Моддинг →
Моддинг Skyrim →
Нужны добровольцы для теста модаАвтор arkadiy111, 11 апр 2022 help |
|
|||
help
Моддинг →
Моддинг Skyrim →
Ram and Skyrim seАвтор Samurai1, 03 апр 2022 help |
|
Количество пользователей, читающих эту тему: 1
0 пользователей, 0 гостей, 0 скрытых
-
Bing (1)