Dsion, Привет, пытаюсь создать заклинание призыва нежити, (основной смысл вызвать разом 5 существ), подскажи как можно отключить лимит на 1 призываемое существо?
Проверь, поможет ли перк с Modify Commanded Actor Limit, о котором уже сказали... Если по каким-то причинам не сработает, то вовсе и не обязательно призывать нежить именно таким способом. Есть еще скрипты, которые могут напризывать чего-угодно куда-угодно в любом количестве, игнорируя все лимиты.
Если нужно призвать всех сразу одновременно одним кастом, то тоже не проблема... В случае с призывом скриптом всё и так ясно. Но даже если призыв производится заклинанием типа Summon Creature, то можно сделать новое заклинание, которое будет колдовать призыв 5 раз подряд без задержки. Или призывать одного бойца каждую секунду, пока поддерживаешь заклинание.
А что я? Я изначально больше склонялся к призыву скриптом. Потому что, если изменить commanded actor limit, игрок сможет призвать 5 чего-угодно, а не только той нежити, о которой шла речь. Призыв пяти слабеньких скелетов - это круто. А призыв пяти грозовых атронахов - это уже читерство. Проблема с Set у меня тоже мелькнула в голове, но я особо о ней не думал. Хорошо, что ты всё разъяснил.
В любом случае, призыв скриптом кажется мне более гибким и удачным решением.
Ultima, этот перк работает, да? Тогда, скорее всего, можно сделать и добавление пяти слотов для заклинания призыва пяти скелетиков. Если бы РИПЛИ не забыла про свой вопрос в теме и не ушла, я бы проверил А так...
Можно сделать, чтоб заклинатель просто терял хп и ману 2 минуты после каста. А можно сделать, чтоб каждый из призванных отнимал у игрока ХП, пока жив. Скажем, дракон - 40 за период, а жрецы - по 20. Если кого-то из них убьют, игрок перестает за него расплачиваться.
В любом случае, это, скорее всего, будет заклинание типа Fire And Forget на Self со скриптом. А скрипт будет либо просто призывать всех, кого надо (это первый способ), либо моментально колдовать 1 раз призыв дракона + 4 раза призыв драконьего жреца (второй способ).
А остальная работа зависит от выбранного способа... Может, есть и другие, кстати.
Добавлено (21 Июля 2014, 22:32) ---------------------------------------------
Цитата Dsion
достаточно вызвать 1 дракона, жрецов можно призывать в точку расположения дракона функцией скрипта PlaceAtMe
Ага, тоже вариант. Я только сейчас узнал, что на игрока вешается маг. эффект в момент призыва кого-то. В таком случае тоже не нужно было бы с перком и лимитами возиться. Только не забыть удалить жрецов, когда время истекает.
Хех, а как же ты узнавал, сколько времени осталось до конца призыва атронаха в игре?
Я никогда никого не призывал, кроме Арвака. Если бы призывал, разумеется, рано или поздно обратил бы внимание на эффект.
Ладно. Вот суммонится дракон и в скрипте эффекта срабатывает OnEffectStart. Как определить id дракона, чтоб досумонить на него жрецов? Через FindClothestActor? Как-то не очень изящно... Или лучше прицепить скрипт к самому дракону, чтоб он, появляясь, спавнил вокруг себя жрецов, а потом убирал?
Что-то не очень ясно. Тебе подсказка нужна или просто хочешь меня развлечь? Если первое, то я уже представляю, как это можно сделать...
Вот, что уже могу: 1. Заклинание с тремя эффектами. Каждый эффект вызывается только при определенном типе каста. 2. Скрипт в эффекте, определяющий тип каста. 3. Если менять заклинание нельзя, то можно еще сделать скрипт для алиаса актора, который будет вызывать функцию в момент каста и определять тип каста.
Да, есть тут один... Его называют Призрачным Скриптером... Говорят, раньше это был обычный парень... Но однажды, когда он медитировал в лесу, на него напал таёжный шаман, пытаясь отобрать рюкзак с тушенкой... Парень победил шамана, но перед самой смертью шаман успел наложить страшное проклятие: если счетчик сообщений этого парня на каком-то форуме покажет цифру "5", то у него винт сдохнет. Так парень и стал Призраным Скриптером... Теперь он появляется из ниоткуда, когда кому-то нужна помощь, а потом пропадает, не оставив следов...
Purru, не знаю, сказали ли... Но, кроме условия, там в квесте DialogueFollower всего один алиас для зверя-спутника. Если нужно БОЛЬШЕ СОБАК, пришлось бы серьезно переработать квест: добавить алиасов с пакетами, изменить условия и скрипты. Или, лучше, новый квест для этого всего создать... Я это пишу потому что вопрос был задан в мастерской Можете задать его в теме "поиск модов" и получить ссылки на 3-4 готовых модов для этого.
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №228
| Тема: Вопросы по скриптам Papyrus
написано: 26 июля 2014, 15:04
| Отредактировано: Dsion - 26 июля 2014, 15:18
Ultima, а представь, что она таки заполняется из CK. Кем бы ты её заполнил? Это ведь магический эффект. Он ни к кому пока не прицеплен. Но он и не может существовать без актора.
Может (хотя я не проверял и не уверен), её можно заполнить вот так: _MVASoulUseLINK = (SomeActor As _MVASoulUseSCRIPT) Возможно, тогда она заполнится... Но, конечно, только если на акторе есть этот эффект...
Purru, удачи. Если будут вопросы, пишите. Мы тут всегда рады покрасоваться знаниями перед девушками :-D
Опять же, я это пишу потому что мы в "мастерской"... Если обратитесь в "заказ модов", возможно, добьетесь помощи другого вида. Дела-то там на 20 минут.. Если знать, как всё работает.
Я сначала попробовал использовать фурнитуру, вместо активатора. Тогда персонаж послушно становится перед ней на колени, молится, а потом улетает куда надо. Всё работает круто, но анимацию поменять нельзя. Используется именно стандартная анимация мольбы на коленях.
А потом еще попробовал использовать PlayIdle для проигрывания анимации на игроке. И тут уже проблемы. Мольба СТОЯ работает нормально, а если задать анимации мольбы на коленях, вообще ничего не происходит. В общем, одни работают, а другие - нет. Я в анимациях почти ничего не понимаю.
Кроме того, если использовать PlayIdle, нужно еще вручную включать вид от третьего лица, блокировать управление игроку (чтоб не сбежал) и даэдра-знает-что еще...
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №231
| Тема: Вопросы по скриптам Papyrus
написано: 26 июля 2014, 15:57
| Отредактировано: Dsion - 26 июля 2014, 15:59
Ultima, я вот прочитал и у меня пока только одна мысль: "ЧЁ?!!!" Я пока убегаю... Хотел только парой мыслей поделиться.
1. А ты пробовал использовать алиасы для прикрепления скрипта к акторам? Там чуть более гибкие возможности. Ну если речь не идет именно о магии, конечно. Заполнить Property магическим эффектом, как ты уже увидел, нельзя. А алиасом - запросто.
2. Вот есть кольцо (базовый предмет в CK, не OjbectReference). На нем скрипт MyRingScript с какими-то переменными и функциями. Но это только заготовка скрипта. Его пока не существует, как и самого кольца. Это как класс в C++.
Только когда создается реальный предмет в мире (ObjectReference), появляется и реальный скрипт, срабатывает OnInit итп. Если в мире 10 колец, то на каждом свой скрипт, свои переменные. В С++ это выглядело бы так: MyRingScript instance = new MyRingScript()
Property в других скриптах должны заполнять уже реальным скриптом, который существует на реальном предмете в мире. Скорее всего, из-за этого и нельзя заполнить ActiveMagicEffect Property. Просто еще не существует живых магических эффектов и работающих скриптов на них.
Все кольца в мире - уже ж реальные ObjectReference. Хотя с контейнерами там чуть сложнее, но то другая история. На каждом своя собственная копия скрипта базового предмета.
Реальные ObjectReference с реальными скриптами рождаются, к примеру, командой PlaceAtMe. Или создаются в CK, когда перетягиваешь базовый предмет в мир.
Purru, посмотрите внимательно ванильный квест DialogueFollower. Обратите внимание на: - алиасы в квесте - пакеты на этих алиасах, которые заставляют NPC следовать за игроком - скрипт на квесте, который засовывает NPC в алиас и еще кое-что там делает
Если что не ясно, спрашивайте. Я там уже все на память знаю.
Arin, функция немножко не та... Когда у тебя уже есть зверь-спутник, ты ему сказал "жди тут", а потом говоришь "идем снова со мной", вот тогда выполняется AnimalFollow. А когда первый раз приглашаешь псину с собой, выполняется SetAnimal(ObjectReference AnimalRef). Посмотри функцию SetAnimal и сразу поймешь, как всё работает.
Народ, столкнулся с одной проблемой в квестах. Мне нужно дать предмет (свой ключ) ванильному персонажу - участнику ванильного квеста. Чтобы не портить ванильного персонажа и его квест, я сделал собственный, в котором завёл алиас на этого самого персонажа. Всё отлично, ключ даётся. Причём, я примерно то же сделал дважды для двух разных персонажей из разных ванильных квестов. Но тестировал то я, начиная игру с начала, а пользователи стали жаловаться, что мои квесты не работают в том случае, если они поставили мой мод ПОСЛЕ того, как уже убили тех персонажей. Ну да, те персонажи не респавнятся, мой квест их похоже не видит, мой алиас не работает, а с ним и весь мой квест. Как это обходить?
Не пробовал ставить галочку Optional на алиасе? Тогда квест начнется даже если алиас не заполнится. Но и ключ никому не дастся, конечно. Еще там есть галочки Allow Dead и Allow Disabled.
Кроме варианта с алиасами, ключ кому-то можно дать скриптом.