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

Результаты поиска
Dsion  Offline  Сообщение №241 | Тема: Вопросы по Creation Kit. Старая тема написано: 3 августа 2014, 07:33



Главное, не забыть задаться вопросом:
На какое время (или до какого события) собака должна игнорировать бой?

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



Да я только хотел ненавязчиво напомнить, что собаке ничто не помешает снова вступить в бой через пол секунды после команды StopCombat().

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



А я оценил :)

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



Purru, что-то мне интереснее тебя мучить, чем просто давать готовое... *демонический смех*.

Каст заклинания или крик - это мгновенное событие (если ты его не поддерживаешь, конечно). А условие должно действовать какое-то время, чтоб собаки успели вернуться. Смекаешь? Если ты ищешь условие типа "игрок скастил заклинание Х меньше минуты назад", то не, такого нету. Придумай что-то другое.

Добавлено (03 Августа 2014, 20:06)
---------------------------------------------
Lucuferg, если сохранить объект, а потом снова открыть, все-равно не акивно?


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



Сион выполняет спасбросок по воле против сообщения Ultima: НЕУДАЧА! (13 против класса сложности 20)
Сион: ыыы?? чё?
Сион накладывает Fox's cunning на Сион
Сион накладывает Owl's wisdom на Сион
Сион выполняет спасбросок по воле против сообщения Ultima: УСПЕХ! (21 против класса сложности 20)

Сион: Ооо... Дошло...

Dsion  Offline  Сообщение №246 | Тема: Вопросы по скриптам Papyrus написано: 4 августа 2014, 08:41



mxac, с SKSE, вроде, можно:
http://www.creationkit.com/GetNthHeadPart_-_ActorBase

А без SKSE - очень вряд ли...

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



Purru, есть условие IsWeaponMagicOut, которое можно повесить на Combat Override пакет, подавляющий бой.
Только проверять его нужно на игроке, конечно. И проверять не "== 1", а "!= 1" (не равно один - оружие НЕ обнажено).

Я когда-то давно путешествовал с эльфийкой Брелиной. Усовершенствовал ей все пакеты, чтоб она умнее себя вела.
Но все-равно была нужна возможность отдавать кое-какие команды. Тогда я сделал особое кольцо.
Его можно было поставить на горячую клавишу. При использовании оно не надевалось, но показывало менюшку.
А в менюшке команды для Брелины и кое-какие галочки.
Можно было намного быстрее попросить её подождать, чем через диалог. И позвать к себе, даже если она далеко где-то.
Вот... Ну вряд ли это кому-то интересно.

Чаще я предпочитаю навешать десяток пакетов на NPC с десятком условий, но чтоб создать иллюзию того, что они сами думают и принимают какие-то решения.

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



Ну я же писал, какой брать, и как его в Combat Override превратить(
Фррхххх....

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



Arin, привет. Хорошего вечера :)

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



Siel88, можно сделать, чтоб NPC раздевался, когда заходит в душ или когда ложится спать. Или чтоб какая-то эльфийка каждое утро выбирала случайный наряд из своего гардероба, а перед сном надевала случайный комплект белья. Или не случайный, а зависящий от каких-то факторов.
Или даже чтоб эта эльфийка раз в неделю ходила по магазинам и покупала себе новые наряды.

Нужна только фантазия + умение писать скрипты + умение создавать пакеты.
Если базовые навыки по скриптам уже есть, но что-то не получается, то спрашивай... А если нету, то лично я не смогу помочь. Как показала практика, научить кого-то понимать программирования я не могу.

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



Myprism, правильно не кладешь исходники... Зато никто не напишет в комментах ничего типа: "Зачем автор использует всю эту возню с пакетами? Есть ведь вполне нормальные ивенты, которые срабатывают, когда актор ложится спать и встает. И не только в том случае, если они используют пакет, основанный на конкретной ванильной заготовке. Да и без SKSE можно было обойтись при желании. А при большом желании, можно было обойтись даже без редактирования ванильных акторов".

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



Ну если по-простому, то есть ивенты OnSit и OnGetUp. Они вызываются не только для кроватей, а для любой фурнитуры. Потому нужно еще сделать в них проверку GetSleepState().

Вот... А еще я придумал способ использовать любую Condition как ивент. Можно, к примеру, сделать функцию OnSwimStart и чтоб она вызывалась, когда NPC погружается в воду. Это при том, без SKSE из скрипта вообще нельзя определить, плавает ли NPC.

Dsion  Offline  Сообщение №253 | Тема: Вопросы по Creation Kit. Старая тема написано: 6 августа 2014, 15:15 | Отредактировано: Dsion - 6 августа 2014, 15:19



Ultima, точно :)
Можно дать актору констант-эффект спелл с разными эффектами и условиями. Но условия должны быть на спелле, а не на эффектах.
Тогда игра периодически проверяет Актора и вешает на него те эффекты, у которых выполняются условия.
И на акторе срабатывает Event OnMagicEffectApply(ObjectReference akCaster, MagicEffect akEffect).

Dsion  Offline  Сообщение №254 | Тема: Вопросы по скриптам Papyrus написано: 7 августа 2014, 12:29



Insomniac, а действительно надо удалять спелл и добавлять обратно?
Просто заблокировать его на время кд нельзя? Можно чтоб он не кастился или даже не надевался. Или чтоб надевался, но руки не светились и не кастился.

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



Dialogue Views можно и не использовать. Как я понимаю, они только для удобства (сомнительного, как по мне). В следующей вкладке (Player Dialogue) и так есть все бранчи, топики и инфо. Там и текст вписывается без проблем.

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



Indiana_Jones, Вы же в курсе про тот старый баг, когда диалог не появляется, пока игру не сохранить с подключенным модом и не загрузить снова?
Это касается только Start Game Enabled квестов. Если в курсе и все-равно нет диалога, я посмотрю...

Добавлено (07 Августа 2014, 19:53)
---------------------------------------------
Глянул esp. Диалог работает после сохранения и загрузки. Остальное не получится проверить без файлов скриптов.


Dsion  Offline  Сообщение №257 | Тема: Вопросы по скриптам Papyrus написано: 7 августа 2014, 18:43



Ultima, не хватает фразы "чё-та не работает. подскажите, что не так?"

Dsion  Offline  Сообщение №258 | Тема: Вопросы по Creation Kit. Старая тема написано: 8 августа 2014, 06:43 | Отредактировано: Dsion - 8 августа 2014, 06:43



Там неверху есть кнопка с буквой "T" для создания триггера из активатора.

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



Да всё он видимый... Даже цвет можно настраивать для удобства.

Добавлено (08 Августа 2014, 16:00)
---------------------------------------------
Вернее, в CK видны. А в игре - нет, конечно. Возможно, и в игре будет виден, если убрать галочку Is Marker. Или не будет...

Добавлено (08 Августа 2014, 16:03)
---------------------------------------------
Никогда бы не догадался, что у "коллизионного куба" есть коллизия :-D


Dsion  Offline  Сообщение №260 | Тема: Вопросы по Creation Kit. Старая тема написано: 8 августа 2014, 12:53 | Отредактировано: Dsion - 8 августа 2014, 12:51



Я бы сначала попробовал сделать триггер, который просто сообщение выводит, когда кто-то в него заходит...

Добавлено (08 Августа 2014, 16:53)
---------------------------------------------
Воротам вряд ли понадобится скрипт...


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



А, понял.
Наверное, можно и через эти activate parent. Даже лучше...
Но сначала можешь попробовать вот такой скрипт на триггере:

ObjectReference Property MyDoor Auto

Event OnTriggerEnter(ObjectReference akActionRef)
Debug.MessageBox("trigger")
MyDoor.Activate(akActionRef)
EndEvent

MyDoor надо заполнить конкретной дверью.

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



Ты смотрел defaultActivateSelf? Он намного сложнее, чем просто "активировать себя, когда кто-то заходит"... Там какие-то дополнительные проверки, Property, которые надо заполнять и настраивать. Вот он:

Код
ScriptName defaultActivateSelf extends objectReference
{Default script that simply activates itself when player enters trigger}

import game
import debug

bool property doOnce = TRUE auto
{Fire only once?  Default: TRUE}
bool property disableWhenDone = FALSE auto
{Disable after activating? Default: FALSE}
bool property playerOnly = TRUE auto
{Only Player Triggers?  Default: TRUE}
bool property playerAndAlliesOnly = False Auto
{Only player or Allies/Followers/Summons trigger? Overrides playerOnly if that's true as well.  Default: TRUE}
int property minLevel auto
{Optional: If set, player must be >= minLevel to activate this}

Faction property PlayerFaction Auto
Faction property CurrentFollowerFaction Auto
Package property Follow Auto
Package property FollowerPackageTemplate Auto

;************************************

auto State waiting
     Event onTriggerEnter(objectReference triggerRef)
         Actor actorRef = triggerRef as Actor
         ; check whether we care if the player is activating
         if(actorRef == game.getPlayer() || (playerAndAlliesOnly && IsPlayerAlly(triggerRef)) || (playerOnly == False && playerAndAlliesOnly == False))
             ; also check level (if we even care about that)
             if(minLevel == 0 || game.getPlayer().getLevel() >= minLevel)
                 if doOnce == TRUE
                     gotoState("allDone")
                 endif
                 if disableWhenDone
                     Self.Disable()
                 EndIf
                 ; per the description of this script, pass self as the activating ref
                 activate(self)
             endif
         endif
     endEvent
endState

bool Function IsPlayerAlly(ObjectReference triggerObj)
     Actor triggerAct = (triggerObj as Actor)
      
     ;Short-circuit this if this isn't an Actor at all, or if it's hostile to the player.
     if (triggerAct == None || triggerAct.GetFactionReaction(GetPlayer()) == 1)
         return False
     EndIf
      
     ;Is this a summon or one of the various types of player followers?
     return ((triggerAct.IsCommandedActor()) || \
             (triggerAct.GetRelationshipRank(GetPlayer()) > 0) || \
             (triggerAct.IsInFaction(CurrentFollowerFaction)) || \
             (triggerAct.IsPlayerTeammate()) || \
             (triggerAct.GetCurrentPackage().GetTemplate() == Follow) || \
             (triggerAct.GetCurrentPackage().GetTemplate() == FollowerPackageTemplate))
EndFunction

;************************************

State allDone
     ;do nothing
endState

;************************************

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



Скрипт, похоже, был сделан для многократного использования в разных квестах.. Потому позволяет дополнительную настройку.

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



Не надо ничего вместо MyDoor... Надо сохранить скрипт, открыть Properties и заполнить MyDoor реальной дверь.

Ну можно и через ID, но это не очень правильно.

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



Хотя если подумать... Я никогда не открывал двери скриптом. Наверное, не все двери можно открыть/закрыть простой активацией.
Если не получится, ты напиши. А я тогда постараюсь вникнуть, как оно работает с ванильными.

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



JoeOwl, помнишь резонансные замки в Аркнгтамзе? Когда его пинаешь, он просто вызывает GetLinkedRef().SetOpen()
где GetLinkedRef() - это дверь.

Можно было и MyDoor.SetOpen()
или MyDoor.SetOpen(false) - закрыть.

И на двери никаких дополнительных скриптов нету.
Но ты дело говоришь. Вряд ли ВСЕ двери и решетки могут быть закрыты таким образом. На некоторых скрипт может быть нужен.

Добавлено (08 Августа 2014, 18:27)
---------------------------------------------
Подозреваю, что некоторые двери - это вообще объекты не типа "Дверь", а какие-нибудь, например, MovableStatic. На которых нужно воспроизвести какую-то анимацию, чтоб они открылись.
Но для обычных объектах типа Door функция SetOpen() должна работать. Даже если игрок не может активировать дверь вручную.


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



Цитата 1Game

Сначала сама идея:Имеется дом. Комнаты в нем должны быть закрыты решетками (пока что не дошел до этого). Имеется магазин. В нем несколько решеток, за которыми находятся кнопки. Чтобы нажать кнопку, требуется купить соответствующий ключик у торговки. После этого нужно открыть решетку и нажать кнопку, которая откроет соответствующую комнату в доме.



Хотя я и не понял, зачем вообще это всё...
Но если нужно, чтоб это всё работало именно так, можно сделать другие ключи. С типом предмета не "ключ", а MiscItem. А скрипт на решетке будет проверять наличие этого "лже-ключа" в инвентаре.

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

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



Цитата F_Constantine

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


Сказал бы я, что думаю об этом NPC Editor, о его авторе, о .NET и о всех, кто на нем пишет...

1. Загрузи свой DLC в CreationKit.
2. Измени какую-то характеристику своей Серане и сохрани мод. Чтоб в esp попала только она.
3. Загрузи этот плагин в NPC Editor. Появится твой NPC.

Хотя лично я, лучше, удалю эту хрень вместе с .net, на котором она писана...

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



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

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



Можно и избежать. Все-равно это не поможет базовый предмет в алиас засунуть.

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





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