Форум » Записи участника [Dsion]

Результаты поиска
Dsion  Offline  Сообщение №211 | Тема: Вопросы по скриптам Papyrus написано: 19 июля 2014, 11:28



Цитата Ultima

EVENT OnLoad()

Только он не начнет работать, пока игрок первый раз не увидит сундук... Не знаю, важно ли это.

Dsion  Offline  Сообщение №212 | Тема: Вопросы по Creation Kit. Старая тема написано: 19 июля 2014, 15:33



Второй скрипт ты в новом квесте создал, да?
Тогда (GetOwningQuest() as HirelingQuest) не скастится, конечно.
Нужно что-то типа:

HirelingQuest Property HQ Auto
HQ.PayHireling(...)

Dsion  Offline  Сообщение №213 | Тема: Вопросы по Creation Kit. Старая тема написано: 21 июля 2014, 11:55 | Отредактировано: Dsion - 21 июля 2014, 12:01



Цитата РИПЛИ

Dsion, Привет, пытаюсь создать заклинание призыва нежити, (основной смысл вызвать разом 5 существ), подскажи как можно отключить лимит на 1 призываемое существо?


Проверь, поможет ли перк с Modify Commanded Actor Limit, о котором уже сказали... Если по каким-то причинам не сработает, то вовсе и не обязательно призывать нежить именно таким способом. Есть еще скрипты, которые могут напризывать чего-угодно куда-угодно в любом количестве, игнорируя все лимиты.

Если нужно призвать всех сразу одновременно одним кастом, то тоже не проблема... В случае с призывом скриптом всё и так ясно.
Но даже если призыв  производится заклинанием типа Summon Creature, то можно  сделать новое заклинание, которое будет колдовать призыв 5 раз подряд без задержки. Или призывать одного бойца каждую секунду, пока поддерживаешь заклинание.

Dsion  Offline  Сообщение №214 | Тема: Вопросы по Creation Kit. Старая тема написано: 21 июля 2014, 13:25 | Отредактировано: Dsion - 21 июля 2014, 13:33



А что я? Я изначально больше склонялся к призыву скриптом.
Потому что, если изменить commanded actor limit, игрок сможет призвать 5 чего-угодно, а не только той нежити, о которой шла речь.
Призыв пяти слабеньких скелетов - это круто. А призыв пяти грозовых атронахов - это уже читерство.
Проблема с Set у меня тоже мелькнула в голове, но я особо о ней не думал. Хорошо, что ты всё разъяснил.

В любом случае, призыв скриптом кажется мне более гибким и удачным решением.

Dsion  Offline  Сообщение №215 | Тема: Вопросы по Creation Kit. Старая тема написано: 21 июля 2014, 15:45



Ultima, этот перк работает, да?
Тогда, скорее всего, можно сделать и добавление пяти слотов для заклинания призыва пяти скелетиков.
Если бы РИПЛИ не забыла про свой вопрос в теме и не ушла, я бы проверил :) А так...

Dsion  Offline  Сообщение №216 | Тема: Вопросы по Creation Kit. Старая тема написано: 21 июля 2014, 18:32 | Отредактировано: Dsion - 21 июля 2014, 18:46



Давай... Вроде, всё реально.

Можно сделать, чтоб заклинатель просто терял хп и ману 2 минуты после каста. А можно сделать, чтоб каждый из призванных отнимал у игрока ХП, пока жив. Скажем, дракон - 40 за период, а жрецы - по 20. Если кого-то из них убьют, игрок перестает за него расплачиваться.

В любом случае, это, скорее всего, будет заклинание типа Fire And Forget на Self со скриптом.
А скрипт будет либо просто призывать всех, кого надо (это первый способ),
либо моментально колдовать 1 раз призыв дракона + 4 раза призыв драконьего жреца (второй способ).

А остальная работа зависит от выбранного способа...
Может, есть и другие, кстати.

Добавлено (21 Июля 2014, 22:32)
---------------------------------------------
Цитата Dsion

достаточно вызвать 1 дракона, жрецов можно призывать в точку расположения дракона функцией скрипта PlaceAtMe


Ага, тоже вариант. Я только сейчас узнал, что на игрока вешается маг. эффект в момент призыва кого-то.
В таком случае тоже не нужно было бы с перком и лимитами возиться. Только не забыть удалить жрецов, когда время истекает.

Dsion  Offline  Сообщение №217 | Тема: Вопросы по Creation Kit. Старая тема написано: 21 июля 2014, 20:52



Цитата Ultima

Хех, а как же ты узнавал, сколько времени осталось до конца призыва атронаха в игре?


Я никогда никого не призывал, кроме Арвака.
Если бы призывал, разумеется, рано или поздно обратил бы внимание на эффект.

Ладно. Вот суммонится дракон и в скрипте эффекта срабатывает OnEffectStart. Как определить id дракона, чтоб досумонить на него жрецов? Через FindClothestActor? Как-то не очень изящно... Или лучше прицепить скрипт к самому дракону, чтоб он, появляясь, спавнил вокруг себя жрецов, а потом убирал?

Dsion  Offline  Сообщение №218 | Тема: Вопросы по Creation Kit. Старая тема написано: 22 июля 2014, 12:30



Цитата Ultima

Dsion, вот тебе задачка


Что-то не очень ясно. Тебе подсказка нужна или просто хочешь меня развлечь? :)
Если первое, то я уже представляю, как это можно сделать...

Вот, что уже могу:
1. Заклинание с тремя эффектами. Каждый эффект вызывается только при определенном типе каста.
2. Скрипт в эффекте, определяющий тип каста.
3. Если менять заклинание нельзя, то можно еще сделать скрипт для алиаса актора, который будет вызывать функцию в момент каста и определять тип каста.

Dsion  Offline  Сообщение №219 | Тема: Вопросы по Creation Kit. Старая тема написано: 22 июля 2014, 14:48



Так ты меня проверяешь или тебе самому подсказка нужна?
Я ж написал, что уже получилось всё.

Dsion  Offline  Сообщение №220 | Тема: Вопросы по Creation Kit. Старая тема написано: 22 июля 2014, 15:02



Вот чертяка. Зачем грузить меня тем, что ты и так уже реализовал. Ладно, сейчас приведу скрипт в порядок и поделюсь.

Dsion  Offline  Сообщение №221 | Тема: Вопросы по Creation Kit. Старая тема написано: 22 июля 2014, 15:20




Код
Scriptname Ult2Script extends activemagiceffect

Actor Caster
Spell Property Healing Auto

;================================================================================

Bool Function IsCastingRight(Spell akSpell)
     Bool IsEquipped = Caster.GetEquippedSpell(1) == akSpell
     Bool IsCasting = Caster.GetAnimationVariableBool("IsCastingRight")

     If (IsEquipped && IsCasting)
         Return True
     Else
         Return False
     EndIf

EndFunction

;================================================================================

Bool Function IsCastingLeft(Spell akSpell)
     Bool IsEquipped = Caster.GetEquippedSpell(0) == akSpell
     Bool IsCasting = Caster.GetAnimationVariableBool("IsCastingLeft")

     If (IsEquipped && IsCasting)
         Return True
     Else
         Return False
     EndIf

EndFunction

;================================================================================

Bool Function IsCastingDual(Spell akSpell)
     Bool IsEquipped = Caster.GetEquippedSpell(1) == akSpell && Caster.GetEquippedSpell(0) == akSpell
     Bool IsCasting = Caster.GetAnimationVariableBool("IsCastingDual")

     If (IsEquipped && IsCasting)
         Return True
     Else
         Return False
     EndIf

EndFunction

;================================================================================

Event OnEffectStart(Actor akTarget, Actor akCaster)
     Caster = akCaster
     Utility.Wait(1.0)

     If (IsCastingDual(Healing))
         Debug.MessageBox("Dual")

     ElseIf (IsCastingRight(Healing) && IsCastingLeft(Healing))
         Debug.MessageBox("Both")

     Else
         Debug.MessageBox("Single")

     EndIf

EndEvent

;================================================================================

Dsion  Offline  Сообщение №222 | Тема: Вопросы по Creation Kit. Старая тема написано: 22 июля 2014, 15:27



Цитата Ultima

Используем глобальную в любых целях


Понял. Тоже вариант.

Dsion  Offline  Сообщение №223 | Тема: Вопросы по Creation Kit. Старая тема написано: 22 июля 2014, 15:31



От первого точно работает.
Ладно, чего возиться с этой темой, если ты всё и так уже сделал...

Dsion  Offline  Сообщение №224 | Тема: Вопросы по Creation Kit. Старая тема написано: 25 июля 2014, 15:15



Цитата Arin

Всем добрый вечер! Х)


Привет :)
Хорошего вечера тебе тоже.

Dsion  Offline  Сообщение №225 | Тема: Вопросы по Creation Kit. Старая тема написано: 25 июля 2014, 15:59



Я знаю, что у жилы меняется Destruction Stage, когда её выкопать. А потом восстанавливается вместе с рудой.
Скорее всего, все меши в одном НИФе.

Dsion  Offline  Сообщение №226 | Тема: Вопросы по скриптам Papyrus написано: 25 июля 2014, 20:42



Да, есть тут один... Его называют Призрачным Скриптером...
Говорят, раньше это был обычный парень... Но однажды, когда он медитировал в лесу, на него напал таёжный шаман, пытаясь отобрать рюкзак с тушенкой... Парень победил шамана, но перед самой смертью шаман успел наложить страшное проклятие: если счетчик сообщений этого парня на каком-то форуме покажет цифру "5", то у него винт сдохнет.
Так парень и стал Призраным Скриптером... Теперь он появляется из ниоткуда, когда кому-то нужна помощь, а потом пропадает, не оставив следов...

Dsion  Offline  Сообщение №227 | Тема: Вопросы по Creation Kit. Старая тема написано: 26 июля 2014, 15:00



Purru, не знаю, сказали ли... Но, кроме условия, там в квесте DialogueFollower всего один алиас для зверя-спутника.
Если нужно БОЛЬШЕ СОБАК, пришлось бы серьезно переработать квест: добавить алиасов с пакетами, изменить условия и скрипты. Или, лучше, новый квест для этого всего создать...
Я это пишу потому что вопрос был задан в мастерской :) Можете задать его в теме "поиск модов" и получить ссылки на 3-4 готовых модов для этого.

Dsion  Offline  Сообщение №228 | Тема: Вопросы по скриптам Papyrus написано: 26 июля 2014, 15:04 | Отредактировано: Dsion - 26 июля 2014, 15:18



Ultima, а представь, что она таки заполняется из CK. Кем бы ты её заполнил?
Это ведь магический эффект. Он ни к кому пока не прицеплен. Но он и не может существовать без актора.

Может (хотя я не проверял и не уверен), её можно заполнить вот так:
_MVASoulUseLINK = (SomeActor As _MVASoulUseSCRIPT)
Возможно, тогда она заполнится... Но, конечно, только если на акторе есть этот эффект...

Dsion  Offline  Сообщение №229 | Тема: Вопросы по Creation Kit. Старая тема написано: 26 июля 2014, 15:30



Purru, удачи. Если будут вопросы, пишите. Мы тут всегда рады покрасоваться знаниями перед девушками :-D

Опять же, я это пишу потому что мы в "мастерской"... Если обратитесь в "заказ модов", возможно, добьетесь помощи другого вида.
Дела-то там на 20 минут.. Если знать, как всё работает.

Dsion  Offline  Сообщение №230 | Тема: Вопросы по Creation Kit. Старая тема написано: 26 июля 2014, 15:37



Aksyonov, а.... Я думал, ты уже сделал.

Я сначала попробовал использовать фурнитуру, вместо активатора. Тогда персонаж послушно становится перед ней на колени, молится, а потом улетает куда надо. Всё работает круто, но анимацию поменять нельзя. Используется именно стандартная анимация мольбы на коленях.

А потом еще попробовал использовать PlayIdle для проигрывания анимации на игроке. И тут уже проблемы. Мольба СТОЯ работает нормально, а если задать анимации мольбы на коленях, вообще ничего не происходит. В общем, одни работают, а другие - нет. Я в анимациях почти ничего не понимаю.

Кроме того, если использовать PlayIdle, нужно еще вручную включать вид от третьего лица, блокировать управление игроку (чтоб не сбежал) и даэдра-знает-что еще...

Dsion  Offline  Сообщение №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. Просто еще не существует живых магических эффектов и работающих скриптов на них.

Dsion  Offline  Сообщение №232 | Тема: Вопросы по скриптам Papyrus написано: 26 июля 2014, 16:26



Все кольца в мире - уже ж реальные ObjectReference. Хотя с контейнерами там чуть сложнее, но то другая история.
На каждом своя собственная копия скрипта базового предмета.

Реальные ObjectReference с реальными скриптами рождаются, к примеру, командой PlaceAtMe. Или создаются в CK, когда перетягиваешь базовый предмет в мир.

Dsion  Offline  Сообщение №233 | Тема: Вопросы по скриптам Papyrus написано: 26 июля 2014, 17:11



ну раз работает, то и хорошо...

Dsion  Offline  Сообщение №234 | Тема: Вопросы по Creation Kit. Старая тема написано: 26 июля 2014, 17:15



Purru, посмотрите внимательно ванильный квест DialogueFollower. Обратите внимание на:
- алиасы в квесте
- пакеты на этих алиасах, которые заставляют NPC следовать за игроком
- скрипт на квесте, который засовывает NPC в алиас и еще кое-что там делает

Если что не ясно, спрашивайте. Я там уже все на память знаю.

Dsion  Offline  Сообщение №235 | Тема: Вопросы по скриптам Papyrus написано: 27 июля 2014, 00:28



Aksyonov, можно и скриптом, и эффектом со скриптом... Есть функция PushActorAway. После неё на тело действует физика аж пока NPC не встанет.

Я уже делал и выкладывал мод для оглушения NPC... Чтоб их можно было вырубить минут на 15 и ограбить :)

Dsion  Offline  Сообщение №236 | Тема: Вопросы по скриптам Papyrus написано: 27 июля 2014, 00:58



Можно... Фус Ро Да, кажется, именно этой функцией и отбрасывает.
Надо создать зачарование (Enchantment), в нем создать эффект. А к эффекту скрипт.

Event OnEffectStart(Actor akTarget, Actor akCaster)
akCaster.PushActorAway(akTarget, 0.0)
EndEvent

Вместо 0.0 можно поставить силу отбрасывания. Если 5.0, то NPC отлетит метра на 3.
Можно сделать, чтоб NPC не вставал сам. Но это уже отдельная тема.

Dsion  Offline  Сообщение №237 | Тема: Вопросы по Creation Kit. Старая тема написано: 27 июля 2014, 04:14



Arin, функция немножко не та...
Когда у тебя уже есть зверь-спутник, ты ему сказал "жди тут", а потом говоришь "идем снова со мной", вот тогда выполняется AnimalFollow.
А когда первый раз приглашаешь псину с собой, выполняется SetAnimal(ObjectReference AnimalRef).
Посмотри функцию SetAnimal и сразу поймешь, как всё работает.

Dsion  Offline  Сообщение №238 | Тема: Вопросы по Creation Kit. Старая тема написано: 27 июля 2014, 07:32



Цитата Arin

Девушке был вот этому товарищу в ЛС написать - AleksTirex


А я, значит, не подхожу...? Ну спасибо...

Dsion  Offline  Сообщение №239 | Тема: Вопросы по Creation Kit. Старая тема написано: 27 июля 2014, 07:43



Больше по скриптам как-раз...
Ну да ладно...

Dsion  Offline  Сообщение №240 | Тема: Вопросы по Creation Kit. Старая тема написано: 28 июля 2014, 20:08



Цитата Myprism

Народ, столкнулся с одной проблемой в квестах. Мне нужно дать предмет (свой ключ) ванильному персонажу - участнику ванильного квеста. Чтобы не портить ванильного персонажа и его квест, я сделал собственный, в котором завёл алиас на этого самого персонажа. Всё отлично, ключ даётся. Причём, я примерно то же сделал дважды для двух разных персонажей из разных ванильных квестов. Но тестировал то я, начиная игру с начала, а пользователи стали жаловаться, что мои квесты не работают в том случае, если они поставили мой мод ПОСЛЕ того, как уже убили тех персонажей. Ну да, те персонажи не респавнятся, мой квест их похоже не видит, мой алиас не работает, а с ним и весь мой квест. Как это обходить?


Не пробовал ставить галочку Optional на алиасе? Тогда квест начнется даже если алиас не заполнится. Но и ключ никому не дастся, конечно.
Еще там есть галочки Allow Dead и Allow Disabled.

Кроме варианта с алиасами, ключ кому-то можно дать скриптом.

Форум » Записи участника [Dsion]
Поиск:





Ответ на жалобу смотрите в разделе жалоб