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

Результаты поиска
Multigone  Offline  Сообщение №271 | Тема: Игра в слова №2 написано: 27 сентября 2014, 16:14



832
Труд.

Multigone  Offline  Сообщение №272 | Тема: Общение написано: 27 сентября 2014, 17:30



832
TRENER, прикольно :) а я и не знал, что ты не знал шо тут такой раздел есть :D

Multigone  Offline  Сообщение №273 | Тема: Общение написано: 27 сентября 2014, 19:07



832
TRENER

Всё может быть, и всё быть может.
Быть может то, что может быть.
И даже то, что быть не может,
Быть может, тоже может быть.

Multigone  Offline  Сообщение №274 | Тема: Вопросы по Creation Kit. Старая тема написано: 27 сентября 2014, 22:18 | Отредактировано: Multigone - 27 сентября 2014, 22:35



832
Frostik, очень общая схема:

Создаешь квест.
Создаешь стадию квеста, отвечающую за состояние "задания нет" (напр., стадия 0), и несколько стадий, отвечающие за "конкретное случайное задание в процессе" (стадии 10, 20, 30 и т.д.).
Для каждой стадии "конкретное случайное задание в процессе" (стадии 10, 20, 30 и т.д.) делаешь соотв. описание "Мне требуется принести предмет Х в кол-ве У подателю квеста Z".
Создаешь глобальную Int - Short, значение 0. Значение глобальной будет определять новое случайное задание.
К квесту должен быть прикреплен скрипт с таким фрагментом:

Создаешь диалоги - инициаторы задания; каждый диалог отвечает за фразу "принеси мне предметы Х, кол-во У".
Количество диалогов-инициаторов = количеству случайных заданий.
В каждом диалоге указываешь условия:
1) Одно общее: если стадия квеста == задания нет (стадия 0).
2) Одно уникальное: если значение глобальной == соотв. числу (10 или 20 или 30 и т.д.).
К каждому диалогу должен быть прикреплен скрипт, выполняющий:
1) Перевод стадии квеста с "задания нет" (0) на "конкретное случайное задание в процессе" (10, 20, 30 и т.д.).

Создаешь диалоги - завершители задания, каждый диалог отвечает за фразу "я принес тебе предметы Х, кол-во У".
Количество диалогов-завершителей = количеству случайных заданий.
В каждом диалоге указываешь условия:
1) Одно основное: если стадия квеста == соотв. числу (стадия 10 или 20 или 30 и т.д.).
2) Одно второстепенное: если игрок имеет количество предметов для задания >= количество У.
К каждому диалогу должен быть прикреплен скрипт, выполняющий:
1) Перевод стадии квеста с "конкретное случайное задание в процессе" (стадии 10, 20, 30 и т.д.) на "задания нет" (стадия 0).
2) Установку нового случайного значения глобальной, это значение не должно совпадать с предыдущим.
3) Удаление предметов Х в кол-ве У.
4) Выдачу награды.

Создаешь диалоги, отвечающие за фразу "у тебя нет предметов Х в кол-ве У, иди ищи дальше".
Количество таких диалогов = количеству случайных заданий.
В каждом диалоге указываешь:
Никаких скриптов на эти диалоги вешать не надо.

Итого:
1 квест.
1 глобальная.
1 стадия "нет задания".
+
Для каждого случайного задания потребуется 3 фразы диалога (инициатор, ищи дальше, завершитель) и одна стадия квеста "конкретное случайное задание в процессе".

Не сомневаюсь, такой подход к реализации случайных заданий является одним из самых топорных. Думаю, это можно сделать меньшими телодвижениями. Нужно смотреть оригинальные квесты "подай-принеси-повтори".

ЗЫ: Спойлеры все поломались (сперва при добавлении, потом при редактировании), о глупый движок MG!

Multigone  Offline  Сообщение №275 | Тема: Вопросы по Creation Kit. Старая тема написано: 28 сентября 2014, 15:03 | Отредактировано: Multigone - 28 сентября 2014, 15:04



832
SoraSt,



Multigone  Offline  Сообщение №276 | Тема: Вопросы по Creation Kit. Старая тема написано: 28 сентября 2014, 21:02 | Отредактировано: Multigone - 28 сентября 2014, 21:03



832
SoraSt, за добавление маски отвечает строка: actronaut.addItem(myMask, 1). Не вижу в ней ч.-л. необычного.
А ты заполнял вот это: armor property myMask auto?
При активации бюста без маски она удаляется из инвентаря?

Multigone  Offline  Сообщение №277 | Тема: Вопросы по скриптам Papyrus написано: 29 сентября 2014, 11:01 | Отредактировано: Multigone - 29 сентября 2014, 11:02



832
VALKNUT,


Multigone  Offline  Сообщение №278 | Тема: Вопросы по скриптам Papyrus написано: 29 сентября 2014, 11:06 | Отредактировано: Multigone - 29 сентября 2014, 11:07



832
VALKNUT, тогда с НПС:



Multigone  Offline  Сообщение №279 | Тема: Вопросы по скриптам Papyrus написано: 29 сентября 2014, 11:42



832
VALKNUT, я не при делах, идея была Dsion'a.

Забыл сказать, 3.0 - это время обновления проверки в секундах. Можно устанавливать произовольные Float значения.

Multigone  Offline  Сообщение №280 | Тема: Вопросы по Creation Kit. Старая тема написано: 29 сентября 2014, 17:53 | Отредактировано: Multigone - 29 сентября 2014, 17:54



832
Кто-нибудь знает, как скриптом узнать Object Reference снаряда (Projectile), который выпускается при касте заклинания? Дело в том, что на сам снаряд скрипт повесить нельзя.

Нужно для того, чтобы при попадания снаряда в препятствие вызвать на нем PlaceAtMe.

Multigone  Offline  Сообщение №281 | Тема: Вопросы по Creation Kit. Старая тема написано: 29 сентября 2014, 18:25 | Отредактировано: Multigone - 29 сентября 2014, 18:30



832
Dsion, нет, не пойдет. Дело в том, что у меня размещаемый объект меняется скриптом. Кручу, верчу! В общем, этот вариант я продумывал. Вся надежда была сделать таким образом:

- к снаряду добавляется свет (единственное, что может связать снаряд и скрипт).
- к свету добавляется скрипт с событиями Загрузка() и Выгрузка().
- дальше можно делать, что угодно (но это в теории).
- на практике этот скрипт вообще не работает.
- у света есть поле скриптов, но в оригинальных формах нет ни одного скрипта.

ПС: Кстати, а ведь можно спавнить невидимый объект, к нему цеплять скрипт с событиями Загрузка() и Выгрузка(), и через мгновение его Удалять(). Как думаешь, вариант жизнеспособен?

Multigone  Offline  Сообщение №282 | Тема: Вопросы по скриптам Papyrus написано: 29 сентября 2014, 18:45



832
VALKNUT, сейчас проверил. Как:

- скомпилировал скрипт.
- добавил его к точильному камню, который скинул в окно рендера.
- запустил игру и побежал в Ривервуд.
- мой модный НПС начал пользоваться этой фурнитурой (у него пакет Сэндбокс).
- пока НПС пользовался им, периодически выводилось уведомление (я его добавил).
- когда НПС слез, вывелось Off.
- проверил с игроком, все то же самое.

У меня скрипт работает.

Multigone  Offline  Сообщение №283 | Тема: Что слушаем? Тема закрыта, только для просмотра. написано: 29 сентября 2014, 19:19



832

Multigone  Offline  Сообщение №284 | Тема: Вопросы по Creation Kit. Старая тема написано: 30 сентября 2014, 09:57



832
Aksyonov,

(S) (GetEquipped) (MyItem) (==) (1) (AND)

Условие нужно указывать в поле Target Conditions непосредственно в маг. эффекте.

Multigone  Offline  Сообщение №285 | Тема: Вопросы по Creation Kit. Старая тема написано: 30 сентября 2014, 11:00 | Отредактировано: Multigone - 30 сентября 2014, 11:06



832
Aksyonov,

Если эффект имеет тип Constant, тогда условие нужно указывать в эффекте в самом заклинании.
Если эффект имеет тип Concentration - можно указывать как в заклинании, так и в эффекте, но только в одном из них (здесь нужно уточнять).
Если эффект имеет тип FireForget и не имеет продолжительности - условие указывается в самом эффекте. Если имеет продолжительность - условие, указываемое в эффекте, будет определять, наложится эффект на цель или нет; условие, указываемое в заклинании, будет определять, действует ли эффект на цель в текущий момент времени.

Почему так: условия, указанные в заклинании (в соотв. эффекте), будут проверяться каждую секунду. Условия, указанные в самом эффекте, будут проверяться один раз - в момент наложения эффекта на цель.

В общем, по-другому не могу объяснить. См. CK Вики.

Multigone  Offline  Сообщение №286 | Тема: Игра в правду написано: 30 сентября 2014, 13:16



832
Cyberia, я совершу грамматическую ошыбку.

---------

К чему более склонны - к свету, или тьме (например, у вас есть возможность выбора фракции в к.-л. игре)?

Multigone  Offline  Сообщение №287 | Тема: Общение написано: 30 сентября 2014, 13:42



832

Multigone  Offline  Сообщение №288 | Тема: Вопросы по скриптам Papyrus написано: 30 сентября 2014, 18:32



832
У меня не работает следующее событие в скрипте на квесте:

EVENT OnStoryRemoveFromPlayer(ObjectReference akOwner, ObjectReference akItem, Location akLocation, Form akItemBase, int aiRemoveType)
    Debug.Notification("Удалено!")
ENDEVENT

Я так понимаю, событие должно срабатывать при удалении любого предмета из инвентаря игрока. Однако, это не работает. У кого-нибудь есть какие-нибудь идеи-нибудь?

Multigone  Offline  Сообщение №289 | Тема: Вопросы по скриптам Papyrus написано: 30 сентября 2014, 18:57



832
Dsion, большое спасибо :) . Только что (в эту самую минуту) я вспомнил о каком-то Event Manager и решил внимательно изучить вкладки квеста.

Можно ли как-то выбрать несколько событий в этой вкладке, которые будут отслеживаться? Или только одно? Хотя, я, кажется, уже догадывась...

Multigone  Offline  Сообщение №290 | Тема: Вопросы по скриптам Papyrus написано: 30 сентября 2014, 19:06 | Отредактировано: Multigone - 30 сентября 2014, 19:11



832
Dsion, что-то я первый раз с этим сталкиваюсь. Спасибо, буду разбираться ИЛИ попробую пока обойтись событием

EVENT OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)

на алиасе игрока.

------------------

Вот-вот, о чем я и говорю. Но у квеста есть возможность отследить, как именно был удален предмет, для меня это достаточно важно. Понятное дело, что в алиасе это будет выглядеть примерно так (я сейчас это и использую):

IF !akDestContainer && !akItemReference
    ; предмет удаляется бесследно.

IF akDestContainer
    ; В контейнер.

IF !akDestContainer && akItemReference
    ; В мир.

А мне нужно еще отследить, когда он удаляется движком (это камни душ), скриптом (у меня несколько скриптов удаляют их), а также для того, чтобы при удалении скриптами др. модов (если таковые будут) это тоже можно было определить.

Multigone  Offline  Сообщение №291 | Тема: Вопросы по скриптам Papyrus написано: 30 сентября 2014, 19:15



832
Dsion, теперь понятно все мне. Там еще была идея с

Event OnStoryCastMagic(ObjectReference akCastingActor, ObjectReference akSpellTarget, Location akLocation, Form akSpell)

Жаль, что нельзя это отслеживать в одном квесте, а надо делать для каждого события свой...

Multigone  Offline  Сообщение №292 | Тема: Вопросы по скриптам Papyrus написано: 30 сентября 2014, 20:52



832
anton, Object Window -> Character -> SM Event Node.

Multigone  Offline  Сообщение №293 | Тема: Вопросы по скриптам Papyrus написано: 1 октября 2014, 09:00 | Отредактировано: Multigone - 1 октября 2014, 09:28



832
AksyonovKepper, только один момент:

Если заклинание не имеет тип "Ability", надо делать проверку, экипировано ли оно в руках, перед тем, как удалять.


anton,

По поводу крафта:

1) Можно попробовать действовать через скрипт др. квеста:


2) Через скрипт алиаса игрока:


Multigone  Offline  Сообщение №294 | Тема: Игра в которую вы сейчас играете написано: 1 октября 2014, 09:14



832
State of Decay: Breakdown. На 3 уровне. Действую так: зачищаю карту тотально, сваливаю на следующий уровень.

Multigone  Offline  Сообщение №295 | Тема: Вопросы по скриптам Papyrus написано: 2 октября 2014, 10:09 | Отредактировано: Multigone - 2 октября 2014, 14:17



832
anton, еще такая идея (вкратце):

- пост. обновление на игроке.
- в малом радиусе ищется ближайший реф. с типом нужной фурнитуры.
- при нахождении - этот реф. добавляется в алиас (Optional), на котором есть скрипт и событие ПриАктивации().
- когда игрок активирует его, переводит булевую переменную (или глобальную на значения 0 и 1) на true, когда уходит с фурнитуры - на false.
- событие добавления предмета на алиасе игрока.
- если при добавлении предмета переменная = true, запустить квест.

Как видишь, непросто.

Multigone  Offline  Сообщение №296 | Тема: Вопросы по скриптам Papyrus написано: 2 октября 2014, 13:27



832
anton, Dsion подсказал самый оптимальный вариант. А мой пост нужно выпилить большой пилой.

ЗЫ: Если игрок хочет получить предмет или запустить квест консолью, зачем ему в этом препятствовать?

Multigone  Offline  Сообщение №297 | Тема: Что слушаем? Тема закрыта, только для просмотра. написано: 2 октября 2014, 15:24



832

Multigone  Offline  Сообщение №298 | Тема: Игра в слова №2 написано: 2 октября 2014, 16:34



832
Овраг.

Multigone  Offline  Сообщение №299 | Тема: Вопросы по скриптам Papyrus написано: 2 октября 2014, 17:58



832
Dsion, и делать хард-ресет компу и выкидывать его в форточку.

Multigone  Offline  Сообщение №300 | Тема: Игра в слова №2 написано: 2 октября 2014, 19:18



832
Лань.

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





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