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

Результаты поиска
Dsion  Offline  Сообщение №301 | Тема: Вопросы по скриптам Papyrus написано: 20 августа 2014, 12:26



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

А если и нужны, то все-равно есть пара идей...

Dsion  Offline  Сообщение №302 | Тема: Вопросы по скриптам Papyrus написано: 22 августа 2014, 14:05



Уже восемь дней висит проблема, а ты так и не признался, чего хочешь от стрел добиться :)

Просто накладывать магический эффект на цель, в которую попадает стрела? Да это запросто. Или что нужно?

Dsion  Offline  Сообщение №303 | Тема: Вопросы по скриптам Papyrus написано: 22 августа 2014, 15:07 | Отредактировано: Dsion - 22 августа 2014, 15:14



Цитата RiseD

Лукам зачарования добавлять - никак не вариант.


Особые зачарованные стрелы - тоже не вариант?

Самые обычные стрелы, пущенные из самого обычного лука рукой обычного NPC должны накладывать заклинание? И чтоб не менять всех ванильных NPC?
Не, ничего не приходит в голову. Разве что Cloak заклинание, которое будет отслеживать попадания по всем целям в радиусе полёта стрелы. Но это, наверное, не очень правильно с точки зрения производительности...

Dsion  Offline  Сообщение №304 | Тема: Вопросы по Creation Kit. Старая тема написано: 25 августа 2014, 00:00



Еще можно просто установить ActorValue HealRate в ноль.

Dsion  Offline  Сообщение №305 | Тема: Вопросы по Creation Kit. Старая тема написано: 25 августа 2014, 18:33



Алчный камень-хранитель :-D

Dsion  Offline  Сообщение №306 | Тема: Вопросы по Creation Kit. Старая тема написано: 29 августа 2014, 02:32



Жмешь кнопку Properties на своём скрипте. Создаешь новую Property:
Тип: Quest
Имя: Любое. Удобно, если оно совпадает с именем второго квеста. Пусть будет HRENN02.

Потом нужно эту Property заполнить. Если имя совпадает с именем реального квеста, можно нажать Auto-Fill. Если не совпадает, вручную указать квест.

А потом в любом месте скрипта делай с этим квестом всё, что тебе хочется:
HRENN02.Start()
HRENN02.SetStage(100)
HRENN02.Stop()

Через эти Property скрипты получают доступ к другим объектам из CK или из мира.


Цитата F_Constantine

Вот беда-то: никто тут скриптов не пишет, никто ничё не знает facepalm :D .


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

Dsion  Offline  Сообщение №307 | Тема: Вопросы по Creation Kit. Старая тема написано: 31 августа 2014, 10:37



Висение на цепях - это круто. Будь у меня замок, повсюду висели бы голые пленницы на цепях.

Добавлено (31 Августа 2014, 14:37)
---------------------------------------------
Ну не убивать же симпатичных бандитш и чернокнижниц...


Dsion  Offline  Сообщение №308 | Тема: Вопросы по Creation Kit. Старая тема написано: 31 августа 2014, 18:47



VALKNUT, я уже делал цепи и вешал на них NPC без каких-либо проблем.
Но недавно у какого-то чела была похожая проблема: драугры не хотели в гробы укладываться, а стояли рядом. Ему посоветовали поправить навмеши. Лично я даже не знаю, был ли смысл в этом совете и помогло ли ему... Просто вспомнилось.

Dsion  Offline  Сообщение №309 | Тема: Вопросы по моделированию написано: 5 сентября 2014, 09:10



DarkVetal, не уверен, что сама модель может излучать свет. Даже окна в Скайриме освещают комнату только потому, что к ним прицеплен реальный источник света из CK.
В крайнем случае, то, что ты хочешь, можно реализовать с помощью магического эффекта на игроке.

Можешь открыть и посмотреть эффект LightFFSelf. В нем указан тип света (MagicLightLightSpell01 по-умолчанию) и Hit Effect Art (LightSpellActorFX по-умолчанию).
Hit Effect Art нужен обязательно. Он определяет, откуда именно будет излучаться свет.
Если изменить Hit Effect Art на, к примеру, InvisFXBody01, то никакого светящегося шарика над игроком не будет, а свет будет исходить от тела самого игрока.

Dsion  Offline  Сообщение №310 | Тема: Вопросы по моделированию написано: 5 сентября 2014, 10:34



В CK факел находится в группе источников света... Он не потому светится, что модель такая...
Если бы он не требовал свободной руки...
Сейчас еще посмотрю, что там.

Добавлено (05 Сентября 2014, 14:34)
---------------------------------------------
Хотя это можно легко проверить. Сделать оружие с моделькой от факела.
Но очень вряд ли, что он продолжит освещать окружение.


Dsion  Offline  Сообщение №311 | Тема: Вопросы по моделированию написано: 5 сентября 2014, 10:48



Я сначала подумал, что можно сделать и автонадевание источника света, когда достаешь меч. Но, похоже, эти переносимые источники света (типа факела) всегда занимают левую руку.

Добавлено (05 Сентября 2014, 14:48)
---------------------------------------------
Угу... Кроме магического эффекта, пока ничего не приходит в голову.


Dsion  Offline  Сообщение №312 | Тема: Вопросы по моделированию написано: 5 сентября 2014, 10:54



Ну это уже как сам захочешь...
Там даже можно сделать источник света, отбрасывающий тени. Красиво получается.

Dsion  Offline  Сообщение №313 | Тема: Вопросы по моделированию написано: 5 сентября 2014, 11:06



Сами источники света в CK в групе Light. А эффект можно посмотреть LightFFSelf для примера. Но его сильно переделать придется, конечно.
Если вдруг придет в голову что-то полегче, обязательно напишу.

Dsion  Offline  Сообщение №314 | Тема: Вопросы по Creation Kit. Старая тема написано: 7 сентября 2014, 09:38 | Отредактировано: Dsion - 7 сентября 2014, 09:20



VALKNUT, для каста заклинания я бы сначала попробовал не функцию скрипта, а пакет с процедурой UseMagic. Анимация должна работать.
Потом можно попробовать пакет с прописанной Idle в "Use Specific Idles".
Если не сработает, тогда остается уже функция PlayIdle(Idle akIdle).

Добавлено (07 Сентября 2014, 13:38)
---------------------------------------------
Еще по поводу книги. Если она лежит где-то в мире, то достаточно просто вызвать на ней Activate(Game.GetPlayer()). Прочитается даже если игрок в другой локации.
А если она должна лежать в инвентаре... Ну тоже можно вызвать на ней Activate, но для этого она, скорее всего, должна быть в алиасе квеста. Чтоб имела уникальный ID.


Dsion  Offline  Сообщение №315 | Тема: Вопросы по Creation Kit. Старая тема написано: 7 сентября 2014, 19:40



На ObjectReference есть функция Activate

Добавлено (07 Сентября 2014, 23:40)
---------------------------------------------
Я проверил всё перед тем как писать.


Dsion  Offline  Сообщение №316 | Тема: Вопросы по Creation Kit. Старая тема написано: 8 сентября 2014, 12:36



Цитата VALKNUT

С анимацией, ну хоть убей... не выходит... :)


Тебе точно не подходит пакет с процедурой UseMagic?
Я только что перепроверил: NPC послушно колдует заклинание, размахивает руками и всё как надо.

Допустим, я знаю, как запустить анимацию через скрипт... Но толку-то? Руки у NPC не светятся, характерных для серьезного колдунства звуков нету. Зачем оно тебе?

Dsion  Offline  Сообщение №317 | Тема: Вопросы по Creation Kit. Старая тема написано: 11 сентября 2014, 12:58



Можно вообще убрать ей аутфит. А потом наряжать во что угодно под настроение прямо в игре. Только с флагом PreventUnequip.
Захотел - надел броньку. Захотел - надел нижнее белье.

Можно, конечно, сделать и так, как ты хочешь, объединив моды. Но зачем? Разве не лучше, когда можешь переодеть спутницу во что-то другое, не открывая CK?

Добавлено (11 Сентября 2014, 16:58)
---------------------------------------------
Я сделал мод, который сам меняет одежду NPC, в зависимости от локации или от того, спят ли они. Но твоя задача намного проще.


Dsion  Offline  Сообщение №318 | Тема: Вопросы по Creation Kit. Старая тема написано: 11 сентября 2014, 16:00



Если у NPC аутфита вообще нету и надеть на него вещи с этим флагом (скриптом или через консоль), то он их не снимет и не будет голым...
Можно сделать очень маленький и очень простой мод, чтоб NPC сразу надевал все вещи, что ему даешь, с этим флагом.

Dsion  Offline  Сообщение №319 | Тема: Вопросы по Creation Kit. Старая тема написано: 11 сентября 2014, 17:30



Надо сначала его выделить и набрать консольную команду UnequipAll - снять всё.
Потом команду ShowInventory, чтоб увидеть список вещей и их ID.
А потом надеть их командами типа:
EquipItem 05000d62 1 1
только подставляя свои ID. Первая единичка как раз и ставит флаг "не снимать".

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

Вот еще заметка: именно через консоль я не пробовал надевать вещи с флажком "не снимать". Должно работать, но не проверял. А если скриптом, что точно работает и уже 100 раз проверено.

Dsion  Offline  Сообщение №320 | Тема: Вопросы по Creation Kit. Старая тема написано: 12 сентября 2014, 14:41



Я с переодеванием NPC очень много возился... Создавать аутфит - точно не единственный способ.

Dsion  Offline  Сообщение №321 | Тема: Вопросы по Creation Kit. Старая тема написано: 12 сентября 2014, 16:31



Полезная информация была разжевана в предыдущем сообщении :)

Dsion  Offline  Сообщение №322 | Тема: Вопросы по скриптам Papyrus написано: 24 сентября 2014, 03:37



Multigone, у меня сразу 6 вариантов :)
Но, наверное, ты имеешь в виду, что нужно 1.0, а не 1

Dsion  Offline  Сообщение №323 | Тема: Вопросы по моделированию написано: 26 сентября 2014, 11:04



Для коллизии у статиков используется bhkCompressedMeshShape, в котором хранится упрощенный меш коллизии. Это Arin уже научилась делать, вроде.
Но у посуды и других clutter предметов никакого bhkCompressedMeshShape нету. Для них используются хавок-примитивы (типа bhkBoxShape или bhkSphereShape) и матрица инерции. Потому процедура создания коллизии, возможно, будет отличаться.

Добавлено (26 Сентября 2014, 15:04)
---------------------------------------------
Вот тут обсуждали это...
http://niftools.sourceforge.net/forum/viewtopic.php?f=38&t=4207

Основные моменты:
1. Ванильные динамические объекты почти никогда не используют bhkCompressedMeshShape. Чаще используется bhkConvexVerticesShape.
2. bhkConvexVerticesShape может автоматически генерироваться в NifSkope.

Там даже пошагово написано, что делать, но я не вникал.


Dsion  Offline  Сообщение №324 | Тема: Вопросы по скриптам Papyrus написано: 29 сентября 2014, 09:48



VALKNUT, если на NPC вешать скрипт, то там есть OnSit и OnGetUp для фурнитуры. А если на саму фурнитуру, то черт знает.
Есть функция IsFurnitureInUse - можно проверять каждую секунду...

Dsion  Offline  Сообщение №325 | Тема: Вопросы по Creation Kit. Старая тема написано: 29 сентября 2014, 18:20



Если снаряд не ванильный, можно попробовать прописать ему Explosion, а в Explosion прописать Placed Object...

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



Скорее, когда квест запускается ивеном Player Remove Item. Должно быть в первой вкладке квеста указано.

Dsion  Offline  Сообщение №327 | Тема: Вопросы по скриптам Papyrus написано: 30 сентября 2014, 19:02 | Отредактировано: Dsion - 30 сентября 2014, 19:03



А, еще надо квест в SM Event Node добавить.

Добавлено (30 Сентября 2014, 23:02)
---------------------------------------------
Оно-то работает, но не вижу особого смысла... Можно же просто сделать алиас игрока с ивентом OnItemRemoved.
Но эти StoryManager ивенты чуть больше информации получают об ивенте.

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



В SM Event Node список ивентов, а в каждом ивенте список квестов, которые он может запускать... Если там будет твой квест и в квесте тоже прописан запуск по этому ивенту, то он запустится и выскочит OnStory...

Dsion  Offline  Сообщение №329 | Тема: Вопросы по скриптам Papyrus написано: 2 октября 2014, 10:48



Еще идея:
Код
Scriptname SionAliasScript extends ReferenceAlias

Keyword Property CraftingSmithingForge Auto
Bool Crafting = False

Event OnSit(ObjectReference akFurniture)
     If (akFurniture.HasKeyword(CraftingSmithingForge))
         Crafting = True
     EndIf
EndEvent

Event OnGetUp(ObjectReference akFurniture)
     Crafting = False
EndEvent

Event OnItemAdded(Form akBaseItem, Int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
     If (Crafting)
         Debug.MessageBox(akBaseItem)
     EndIf
EndEvent


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

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



Всё это только для того, чтоб защититься от читера? Чтоб предмет нельзя было добавить через консоль?
Не думаю, что можно сделать надежную защиту. Всегда найдется какая-то серия консольных команд, которая таки даст игроку этот предмет.

Но если хочешь хоть какую-то примитивную защитку от AddItem... Можно прицепить скрипт на сам предмет. При появление предмет будет проверять, выполнены ли все условия квеста. А если не выполнены, будет самоудаляться... И убивать игрока (на всякий случай).

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





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