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

Результаты поиска
AleksTirex  Offline  Сообщение №91 | Тема: Вопросы по Creation Kit. Старая тема написано: 2 сентября 2013, 19:54


Архимаг


371
Цитата StanislavD

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



auto state DefaultState
Event OnCellAttach() ; или OnActivate
  UnregisterForUpdateGameTime()
  gotoState("WaitState")
endEvent
endState

state WaitState
Event OnBeginState()
  RegisterForUpdateGameTime(5.0) ; 5 часов
EndEvent
Event OnUpdateGameTime()
  akMarker.PlaceAtMe(akActorBase)
endEvent
endState
 
Скрипт вешается на любой статик/активатор в локации, если надо "при активации", то на активатор.
При первом посещении локации запустится таймер и каждые 5 часов у маркера будет появляться/создаваться НПС из базового объекта.
Можно поменять событие на активацию.
Но тут такое: если долго не посещать локацию, то там наплодится этих НПС ... много.
 
Поэтому сперва хорошенько продумай сам механизм появления НПС (не скрипт, а сам механизм/принцип, скрипт будет таким, какой выберешь принцип).

AleksTirex  Offline  Сообщение №92 | Тема: Вопросы по Creation Kit. Старая тема написано: 3 сентября 2013, 15:47


Архимаг


371
Цитата StanislavD

я попробовал создать скрипт но он выводит ошибку при сохранении и пишет:



Так покажи этот скрипт, весь целиком.

AleksTirex  Offline  Сообщение №93 | Тема: Вопросы по Creation Kit. Старая тема написано: 3 сентября 2013, 16:16


Архимаг


371
Здесь не хватает написания свойств:
 
ActorBase Property akActorBase auto
ObjectReference Property akMarker auto

PlaceAtMe замени на PlaceActorAtMe
 
Не забудь этим свойствам назначить своего базового актёра и указать на маркер, где именно будет появляться созданный актёр. (кнопка Prorerties рядом со скриптом)
 
******
variable akActorBase is undefined - это в переводе: "свойство akActorBase не определено", т.е. нет такого свойства.

AleksTirex  Offline  Сообщение №94 | Тема: Вопросы по Creation Kit. Старая тема написано: 7 сентября 2013, 22:51


Архимаг


371
Антон, режим Ghost не делает НПС невидимым, он только перестаёт быть подвержен воздействию оружия и магии (у тебя с НПС получился баг при создании, вот он и невидимый) и ещё АИ меняется.
 
Отключение коллизии лучше делать не через настройки, а простой командой: debug.ToggleCollisions()
Но при варианте полного отключения коллизии все неписи перестают перемещаться, это неестественно смотрится.
Лучше попробуй поиграться с таким вариантом: привяжи своего НПС к маркеру и потом транслируй его.
 
ObjectReference akObject = akActor.PlaceAtMe(xMarker)
akActor.SetVehicle(akObject)
akActor.TranslateTo(...)

 
Создаётся маркер под ногами НПС. На этот маркер привязывается НПС. Потом его транслируешь по нужному маршруту. Коллизия должна будет остаться на маркере, а сам НПС "пойдёт" по маршруту. Для выключения привязки: akActor.SetVehicle(none)
 
Так у тебя только один твой НПС окажется без коллизии, остальные будут "жить полноценной жизнью".
(на ГГ этот метод отлично работает)
****************
 
StanislavD, чтобы актёры ходили по маршруту, надо давать пакет не SandBox, а Patrol и там назначать маркеры маршрута.

Добавлено (08.09.2013, 02:51)
---------------------------------------------

Цитата mayor

как поставить барьер?в тамриэле как подходишь к краю карты,дальше бежать невозможно,будто уперся в невидимую стену.как сделать такое же?



В регионах.
Создаёшь свой регион и там есть такая галочка.

AleksTirex  Offline  Сообщение №95 | Тема: Вопросы по Creation Kit. Старая тема написано: 9 сентября 2013, 12:11


Архимаг


371
Цитата mayor

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



У тебя карта изначально "включена", т.к. мир отдельный и не имеет родителя (Parent World).
Я сам картами в Скае не занимался, но судя по всему, в СК нет "строки или галочки" на создание/назначение карты, она как бы по умолчанию прилагается. И это не просто текстура DDS, а куча сопряжённых файлов.
Есть мод, который делает карту Скайрима "плоской" как в Обливионе. Найди его и скачай, там посмотрим, как приладить тебе в мод нечто подобное.

AleksTirex  Offline  Сообщение №96 | Тема: Вопросы по Creation Kit. Старая тема написано: 9 сентября 2013, 13:33


Архимаг


371
Цитата BileraON

как сделать, что бы когда я одеваю манекен через Quest, что бы старые вещи удалялись



Если делаешь через квест, то:
 
Actor Property akManeken auto ; манекен
Outfit Property kOutfitEmpty auto ; пустой оутфит, т.е. без единой вещи
 
Function ...
akManeken.RemoveAllItems()
akManeken.GetActorBase().SetOutfit(kOutfitEmpty)
...
endFunction
 
****
 
Или вешается на манекен скрипт, "тип" скрипта переписать на Actor:
 
название скрипта extends Actor auto
Outfit Property kOutfitEmpty auto ; пустой оутфит, т.е. без единой вещи
 
Event OnInit()
self.RemoveAllItems()
self.GetActorBase().SetOutfit(kOutfitEmpty)
EndEvent

AleksTirex  Offline  Сообщение №97 | Тема: Вопросы по Creation Kit. Старая тема написано: 9 сентября 2013, 14:47 | Отредактировано: AleksTirex - 9 сентября 2013, 14:48


Архимаг


371
Цитата BileraON

не могли бы высоздать этот файл со скриптом и сказать куда его скопировать



1. Создаёшь Outfit в одноимённом разделе СК. Назначаешь ему ID, например aamyOutfitManaken. Ничего добавлять в него не надо, он должен быть пустым.
2. Тыркаешь по манекену, в последней вкладке Scripts нажимаешь Add, выскочит табличка со списком скриптов.
3. Выбираешь первый [New Script], откроется окошко, там название и тип скрипта. Пишешь название (оно же и ID и название самого файла скрипта, который надо обязательно прилагать к своему моду), например aamyManakenXScript, тип скрипта ObjectReference стираешь и пишешь Actor. ОК.
4. В окне Scripts появился твой скрипт aamyManakenXScript, правой кнопкой Edit Source, скрипт откроется.
5. Строку с названием оставляешь и под ней пишешь сам скрипт:

Outfit Property aamyOutfitManaken auto

Event OnInit()
self.RemoveAllItems()
self.GetActorBase().SetOutfit(aamyOutfitManaken)
EndEvent

Потом Ctrl+S, скрипт скомпилится. Закрываешь его.

6. Рядом с кнопкой Add есть кнопка Properties, нажимай её, выскочит окно свойств.
7. Нажимай Auto-Fill All, если ID написал как у меня, то свойство само заполнится. ОК.

Всё готово. И не забывай добавлять этот файл к своему моду по аналогии с текстурами и нифами.
Если всё сделано так, то работать будет.

*****
Делать отдельно файл скрипта крайне нежелательно, хоть и можно.

AleksTirex  Offline  Сообщение №98 | Тема: Вопросы по Creation Kit. Старая тема написано: 9 сентября 2013, 19:05


Архимаг


371
Цитата anton

Помню когда про это читал, были высказывания что типа объекты исчезают, но фактически не удаляется и накапливаются в Сейве.



Disable() - это да, здесь только прорисовка отключается, а сам объект остаётся в игре.
Но Delete() удаляет объект из игры навсегда, т.е. не остаётся записей в сохранке (это в теории, на практике проверить такое крайне затруднительно).

AleksTirex  Offline  Сообщение №99 | Тема: Вопросы по Creation Kit. Старая тема написано: 10 сентября 2013, 01:48


Архимаг


371
Цитата BileraON

Как я понял речь идет о файле "aamyOutfitManaken", так вот как его выдрать из Creation Kit? И по какому адресу копировать?  По аналогиии с текстурами это по адресу: \Skyrim\Data\Textures, но ведь не в текстуры же его пихать



Не-не, aamyOutfitManaken - это "список одежды", просто "параметр" в моде. Речь ведь шла о скриптах, так в Скайриме скрипты не просто объект, но и отдельный файл (!). Ты писал скрипт с названием aamyManakenXScript, так вот в папке Scripts лежит файл твоего скрипта под названием aamyManakenXScript.pex
Его надо добавлять вместе с ESP, текстурами, нифами, и естественно, в своей папке Data\Scripts\aamyManakenXScript.pex
(текстуры ты добавляешь так: Data\Textures\myMod\LaLaLa.dds)

AleksTirex  Offline  Сообщение №100 | Тема: Вопросы по Creation Kit. Старая тема написано: 10 сентября 2013, 12:27


Архимаг


371
Антон, должен тебя огорчить - скрипт не рабочий, точнее некорректно работающий. При такой системе неизбежны рывки камеры, толком вращения не будет, равномерность под очень большим сомнением.
 
1. "сразу блокируем возможность повторного каста этого заклинания до его завершения " - это заблуждение, статусы ничего не заблокируют. При повторном запуске заклинания возникает новый эффект с новым скриптом, и поэтому никакие статусы или переменные на второй скрипт не повлияют. Получится два параллельно работающих скрипта, результат очевиден.
 
2. "ждём, пока камера выполнит перемещение к маркеру Utility.Wait(TimeToWaitForTranslationComplete) " - отсутствие синхронизации, полностью переместилась или ещё где-то в пути, а таймер отработал и запустил новое перемещение. Неизбежны рывки. Для синхронизации можно использовать событие OnTranslationComplete() на актёре-камере, которое будет запускать следующее перемещение.
 
3. Событие финиша надо удалить, оно даст ненужный баг, а толку от него ноль.
 
4. Сам расчёт кругового движения сделан не совсем правильно, толком вращения не будет. Если у тебя вращается, то это исключительно частный случай и на другом железе будет лажа.
 
5. Скорее всего, актёр-камера не будет удаляться из помещения, MoveTo не отработает (сделай камеру видимой и проверь). Возможно, это и есть твой полтергейст.

Если будет время, то я попробую изменить/поправить скрипт.

********************
 
mayor, http://www.creationkit.com/Add_-_MusicType

AleksTirex  Offline  Сообщение №101 | Тема: Вопросы по Creation Kit. Старая тема написано: 10 сентября 2013, 13:21


Архимаг


371
MusicType Property myMusic auto
bool bDone
 
Event OnActivate(ObjectReference akActionRef)
  if bDone == false
    myMusic.Add()
    bDone = true
  elseif bDone == true
    myMusic.Remove()
    bDone = false
  endif
EndEvent

AleksTirex  Offline  Сообщение №102 | Тема: Вопросы по Creation Kit. Старая тема написано: 10 сентября 2013, 14:21 | Отредактировано: AleksTirex - 10 сентября 2013, 14:21


Архимаг


371
Цитата Artem13

Други, я, конечно, дико извиняюсь, но для Скриптов есть отдельная спец. тема. Нахфига всё в кучу тут валить, а? Потом замучаешься искать нужное.



Здесь ведь есть модератор, надо чтобы он перенёс эти посты в нужную тему. ok

*******
mayor, практически любое действие: переключение, добавление и удаление, одевание и снятие, включение и выключение, и т.д. - всё это делается на основе скриптов (даже стадии квестов переключаются скриптами). ;)

AleksTirex  Offline  Сообщение №103 | Тема: Вопросы по Creation Kit. Старая тема написано: 10 сентября 2013, 16:37


Архимаг


371
Цитата anton

Это интересно, проверю обязательно ... это может быть из за использования другой ячейки для хранения объектов ?
(я не уверен что смогу сделать своего Актёра назад видимым, я там столько всего наменял, когда пытался избавить его от коллизии... )



Нет, другая ячейка не причём, там скорее проблема в привязке к маркеру + неотработка трансляции + телепортация. Они иногда получаются "несовместимы", т.е. мешают друг другу. Телепортацию можно исключить из скрипта - просто создавать нового актёра и маркеры, потом удалять. Трансляцию заменить на другой принцип (напишу ниже).
Чтобы увидеть невидимого актёра, надо повесить на него способность типа Ghost, тогда по шлейфу эффекта можно определить наличие оного в локации.
 
Антон, у трансляции есть особенность или баг (?) : когда транслируешь не по координатам, а на цель, то объект начинает как бы следовать за перемещающейся целью. Возможно, что это баг, но у меня такое срабатывало. Попробуй этот вариант. Делаешь маленькую скорость трансляции (100-250) на цель-маркер, а саму эту цель постепенно перемещаешь по маршруту не давая её догнать, тогда возможно, что будет достаточно одного запуска трансляции на весь процесс. Более плавного варианта придумать сложно.

AleksTirex  Offline  Сообщение №104 | Тема: Вопросы по Creation Kit. Старая тема написано: 13 сентября 2013, 11:52


Архимаг


371
Цитата anton

Могу еще добавить, что когда я в "Quest" добавляю оружие (у меня стоит "Mannequin Script") то оружие манекен - берет, а одеваться не хочет?



И не будет сам одевать, это надо делать принудительно.
Например:
манекен.AddItem(akSmotka1)
манекен.EquipItem(akSmotka1)
манекен.AddItem(akSmotka2)
манекен.EquipItem(akSmotka2)
...
и т.д.
Т.е. после добавления шмотки манекену её надо на него одеть.

AleksTirex  Offline  Сообщение №105 | Тема: Вопросы по скриптам Papyrus написано: 13 сентября 2013, 12:17


Архимаг


371
Цитата Jocc

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



НПС или ГГ?

AleksTirex  Offline  Сообщение №106 | Тема: Вопросы по Creation Kit. Старая тема написано: 13 сентября 2013, 14:24


Архимаг


371
Цитата BileraON

А принудительно одевать это имеется ввиду вешать скрипт на манекен на одевание вещей?



Нет, не новый скрипт вешать, а изменить/доработать твой скрипт "Quest"

AleksTirex  Offline  Сообщение №107 | Тема: Вопросы по скриптам Papyrus написано: 14 сентября 2013, 02:00


Архимаг


371
Цитата Jocc

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



При засыпании ГГ на любой кровати он проснётся на определённой другой кровати. Сделать просыпание на любой произвольной кровати нельзя, ведь движок Ская не имеет понятия, куда конкретно надо переместить ГГ. Для этого надо конкретно указать все возможные референсы кроватей. (в теории это можно сделать, но сложно, да и придётся всё равно прописывать хотя бы локации)

Вот сам принцип. Делается такой скрипт на любом постоянном предмете или в своём квесте:
 
ObjectReference Property akObjectBed  auto ; кровать, на которой должен проснуться ГГ
 
Event OnInit()
  RegisterForSleep()
endEvent

 
Event OnSleepStop(bool abInterrupted)
  Game.GetPlayer().MoveTo(akObjectBed)
endEvent

 
Для отмены эффекта команда UnregisterForSleep()
 
Можно сделать форм-лист, в котором будут прописаны хоть двести разных кроватей из игрового мира, которые стоят где-то в помещениях, т.е. имеют референс. Тогда можно рендомно выбирать одну из этих кроватей.
 
FormList Property kListReferenceBed  auto ; форм-лист с референсами кроватей
 
Event OnInit()
  RegisterForSleep()
endEvent

 
Event OnSleepStop(bool abInterrupted)
  int iIndex = kListReferenceBed.GetSize() - 1
  int irandom = Utility.RandomInt(0, iIndex)
  ObjectReference akReferenceBed = ListArmorPL.GetAt(irandom) as ObjectReference
  Game.GetPlayer().MoveTo(akReferenceBed)
endEvent

 
Создание форм-листа:
создаёшь новый форм-лист, в его окно просто перетаскиваешь нужную кровать из окна Cell View (правая часть окна, там список объектов этой ячейки). И так все понравившиеся кровати из разных локаций добавляются в этот список.
 
ГГ будет просыпаться на кровати как простой НПС, т.е. будет реально лежать на ней. Для подъёма с кровати надо нажать "E", т.е. активировать.

Добавлено (14.09.2013, 06:00)
---------------------------------------------
Если надо чтобы только на определённой кровати был такой эффект, то надо повесить скрипт на эту кровать:
 
ObjectReference Property akObjectBed  auto ; кровать, на которой должен проснуться ГГ
 
Event OnActivate(ObjectReference akActionRef)
  if akActionRef == Game.GetPlayer()
    RegisterForSleep()
  endif
endEvent

 
Event OnSleepStop(bool abInterrupted)
  UnregisterForSleep()
  Game.GetPlayer().MoveTo(akObjectBed)
endEvent


AleksTirex  Offline  Сообщение №108 | Тема: Вопросы по Creation Kit. Старая тема написано: 14 сентября 2013, 13:13


Архимаг


371
Цитата Alliria

Так и не могу разобраться с квестом. Не понимаю.



Есть несколько способов контроля за локацией.
 
№1 Сделать квест с запуском по событию Change Location Event, это делается так:
 
1. Сделать свой квест с запуском по событию Change Location Event.
2. В разделе SM Event Node зарегистрировать свой квест.
3. Для регистрации квеста открываем SM Event Node, находим Change Location Event и открываем его.
4. В самой верхней строке правой кнопкой выбираем позицию New Quest Node.
5. Появится новый Stacked Quest Node. В его настройках привсаиваем ID и необходимые условия для запуска квеста. В данном случае "определённая новая локация" - 
Subject -> GetEventDate -> GetIsId - New Location - ID_myLocation -> == 1
6. Добавляем другие условия, если необходимо (стадия квеста и т.д.)
7. Правой кнопкой на свою только что сделанную позицию Stacked Quest Node  и выбираем Add Quests. Там выбираем свой квест.
8. Жмём ОК.
 
В этом квесте можно сделать:
Алиас на ГГ с вложенной в него способностью, а в её маг.эффекте вложить перк.
Повесить квестовый скрипт
Event OnStoryChangeLocation(ObjectReference akActor, Location akOldLocation, Location akNewLocation)
  ; добавляем, удаляем, меняем и всё прочее
endEvent

Добавить алиасу скрипт с нужными командами и т.д.
 
Для автоудаления спелла/перка и выключения квеста в скрипте алиаса или в способности добавляется событие на смену локации, а в способности можно использовать OnEffectFinish с командами "Удалить способность" и "Стоп квест".
 
**Все квесты, запускаемые по какому-либо событию, должны быть зарегистрированы в менеджере событий, иначе запуска не будет.**
********************
№2 - самый простой.
 
Любым удобным способом добавить ГГ способность с условием на эффекте: 
Player -> GetCurrentLocation() -> ID_myLocation == 1
 
В маг.эффекте повесить скрипт:
 
Event OnEffectStart(Actor Target, Actor Caster)
  if !Game.GetPlayer().HasPerk(myPerk)
    Game.GetPlayer().AddPerk(myPerk)
  endif
EndEvent


Event OnEffectFinish(Actor Target, Actor Caster)
  if Game.GetPlayer().HasPerk(myPerk)
    Game.GetPlayer().RemovePerk(myPerk)
  endif
EndEvent

 
В этой же способности можно добавить и другие эффекты (повышение чего-то, понижение... и т.д.) и с таким же условием.
 
***********************************************************
 
В квестовых скриптах все события, которые ты применяла, не работают.
OnCellLoad/OnCellAttach/OnCellDetach/OnReset - это событие работает на конкретном объекте, находящимся в игровом мире. Квест не находится в игровом мире и не может быть загружен/присоединён к локации. Если нужен квестовый объект, то для этого применяют алиасы, а вот они уже реальные объекты из игрового мира и все эти события будут на них работать.
 

Добавлено (14.09.2013, 17:04)
---------------------------------------------
№3 вообще самый простой.
 
 
На любом постоянном объекте (статик, активатор и т.д.) в нужной локации повесить скрипт:
 
Event OnCellAttach()
  if !Game.GetPlayer().HasPerk(myPerk)
    Game.GetPlayer().AddPerk(myPerk)
  endif
EndEvent

 
Event OnCellDetach()
  if Game.GetPlayer().HasPerk(myPerk)
    Game.GetPlayer().RemovePerk(myPerk)
  endif
EndEvent


*************
Event OnCellAttach(Actor akActor) - Event OnCellAttach() ;)

Добавлено (14.09.2013, 17:13)
---------------------------------------------
№4 самый-самый простой 
  
Любым удобным способом добавить ГГ способность с условием на эффекте: 
Player -> GetCurrentLocation() -> ID_myLocation == 1
В маг.эффект в графе Perk to Apply назначить свой перк. Скриптов не надо.


AleksTirex  Offline  Сообщение №109 | Тема: Вопросы по скриптам Papyrus написано: 14 сентября 2013, 18:19


Архимаг


371
Цитата Jocc

Подскажите, как задать отдельный период респауна для контейнера?



Надо повесить скрипт на этот контейнер:
 
Респаун будет через 5 дней при условии, что ГГ не будет посещать эту локацию с объектом, иначе отсчёт начинается снова.

Event OnCellDetach()
  UnregisterForUpdateGameTime()
  RegisterForSingleUpdateGameTime(120.0) ; 24 часа * 5 дней
EndEvent

 
Event OnUpdateGameTime() 
  self.Reset()
endEvent

-----------------------------------------------------
Респаун через 5 дней произойдёт в любом случае, бывал в той локации ГГ или нет.
 
auto state StateDefault
Event OnCellDetach()
  RegisterForSingleUpdateGameTime(120.0) ; 24 часа * 5 дней
  gotoState("StateWait")
EndEvent
endState

 
state StateWait
Event OnUpdateGameTime() 
  self.Reset()
  gotoState("StateDefault")
endEvent
endState

AleksTirex  Offline  Сообщение №110 | Тема: Вопросы по Creation Kit. Старая тема написано: 14 сентября 2013, 18:24


Архимаг


371
Цитата slastik

Подскажите, как задать отдельный период респауна для контейнера?



"Кнопок" и настроек на респаун для отдельных объектов нет (по крайней мере мне такие не известны).
Это можно сделать, повесив скрипт на сам контейнер, тем более, нужно респаснить именно определённые контейнеры (общий респаун есть в настройках).
Пример такого скрипта написан в теме про скрипты.

AleksTirex  Offline  Сообщение №111 | Тема: Вопросы по скриптам Papyrus написано: 14 сентября 2013, 20:19 | Отредактировано: AleksTirex - 14 сентября 2013, 20:27


Архимаг


371
Цитата slastik

Нужен был именно такой вариант. Все прекрасно скомпилировалось, но не работает



А ты так и стоял около сундука все 5 дней? :D

Так вышел бы погулять на улицу, в игре именно так и делают. Но если тебе надо обязательно иметь возможность дождаться респауна не отходя от сундука, то замени событие OnCellDetach() на OnActivate().

*****************
Кстати, а ты проверил наличие галочки Respawns на сундуке? ;)

AleksTirex  Offline  Сообщение №112 | Тема: Вопросы по Creation Kit. Старая тема написано: 15 сентября 2013, 09:46 | Отредактировано: AleksTirex - 15 сентября 2013, 09:55


Архимаг


371
Alliria, не-е, Subject в способе №1 вообще ни в каком виде не прокатывает, ведь Subject == "Я", поэтому квест или менеджер ну никак не может находиться в той же локации, что и игрок.
*(Subject == "Я" когда условие относится к конкретному объекту/референсу - GetAV, IsDisabled, в противном случае параметр Subject игнорируется - GetStage, GetGlobalValue, т.к. сами объекты будут определяться в самих условиях)

Запуск квестов (в способе №1 используется именно такой вариант) происходит по событию, в нашем варианте по смене локации, вот и надо применять условия событий - GetEventData, а уже это условие можно расширить. Например:
1. Можно определить не одну локацию, а сразу кучу, прописав их в форм-лист и тогда вместо GetIsId надо выставить GetInList и указать свой форм-лист. Тогда квест запустится в любой из этих локаций.
2. Можно использовать кейворд - HasKeyword, например LocTypeHouse, тогда квест запустится, если ГГ зайдёт в любой дом (все жилые дома отмечены этим кейвордом).
3. При необходимости можно дополнить другими условиями, например "если на ГГ одета шапка" и т.д.
***
"нужно вообще в любой, в которую зайдет игрок" - это не имеет смысла, тогда этот перк всегда будет у ГГ, а для этого достаточно просто добавить ГГ этот перк на постоянку. Надо обязательно определять конкретную локацию или группу локаций.

**********
**********

Alliria, ты когда выставляешь условия или пишешь скрипт, то смотри, на чём именно они работают. Если условия или скрипт для квеста, то и Subject == квест и скрипт == квест. Т.е. и условия и события будут относится к этому квесту. Поэтому событие OnLoad() никогда не отработает, т.к. квест не может загрузится в игровой мир, а GetInSameCell никогда не будет "==1", т.к. квест не может находиться в одной ячейке с чем-нибудь.

AleksTirex  Offline  Сообщение №113 | Тема: Вопросы по Creation Kit. Старая тема написано: 15 сентября 2013, 16:37 | Отредактировано: AleksTirex - 15 сентября 2013, 17:53


Архимаг


371
Цитата BileraON

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



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

AleksTirex  Offline  Сообщение №114 | Тема: Вопросы по Creation Kit. Старая тема написано: 15 сентября 2013, 20:34


Архимаг


371
Цитата BileraON

Так ведь этот скрипт с пустым оутфитом, который мы сделали, он ведь только на дефолтный манекен распространяется, верно? Или на мой созданный рядом также этот скрипт действует?



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

AleksTirex  Offline  Сообщение №115 | Тема: Вопросы по Creation Kit. Старая тема написано: 16 сентября 2013, 14:56


Архимаг


371
Цитата BileraON

Проверил. Вещи добавило, а они не оделись



Я специально создал своего манекена по твоему варианту - всё прекрасно одевается. Поэтому почему твой не хочет одеваться... только ему известно.
 
Загрузись с сейва, где ещё ни разу не подключался этот мод. (в крайнем случае присылай мод, посмотрю на проблему "вживую").

AleksTirex  Offline  Сообщение №116 | Тема: Вопросы по Creation Kit. Старая тема написано: 16 сентября 2013, 20:09 | Отредактировано: AleksTirex - 16 сентября 2013, 20:14


Архимаг


371
Цитата BileraON

Созданные "Reference Alias" с вещами, которые нужно одеть называются: DLC1MyJobMannequinQuest1 и DLC1MyJobMannequinQuest2  Манекен, который не хочет одеваться - возле кровати игрока.



А где ты нашёл такую броню? У тебя в моде её нет. (для начала кинь ссылку на этот мод с бронёй).
 


Или ты ошибся скринами, т.к. на твоём скриншоте добавлена броня, которой нет в моде, что ты прислал. Или перепутал моды/архивы.
Но у меня в твоём моде одеваются оба манекена в дефолтную броню.
 
******
Не забудь скинуть ссылку на броню из твоего скриншота.

AleksTirex  Offline  Сообщение №117 | Тема: Вопросы по Creation Kit. Старая тема написано: 16 сентября 2013, 22:04


Архимаг


371
Это в моём варианте:

 
Это в твоём неизменённом варианте:

 
Я убрал привязку к выполнению квестов, поэтому мой манекен сразу одевается в нужную броню. Зашёл в замок в первый раз, поэтому по дефолту манекены были выключены. Я убрал привязку и манекены сразу появляются без прохождения квестов и броня нормально одевается.
 
В твоём варианте я стартовал уже с пройденным квестом (Харкона уже грохнул). Манекены были включены, но одет только дефолтный в дефолтную броню.
 
*****************
Сделай следующее:
Убери с дефолтного манекена скрипт, пусть одевает что положено.
Сделай второй свой манекен и поставь в третий угол.
НО! Открой на своих манекенах вкладку Enable Parent и обнули данные. Потом открой эту вкладку на "триггер-боксе" MannequinActivateTrig и тоже удали данные. И так на обоих своих манекенах.
Тем самым они будут появляться сразу и будут оба нормально одеваться.

AleksTirex  Offline  Сообщение №118 | Тема: Вопросы по Creation Kit. Старая тема написано: 17 сентября 2013, 14:35


Архимаг


371
Set Enable State Opposite of Parent - установить состояние противоположное родителю. Если парент выключен, то этот объект включён.
 
Initially Disabled - при инициализации объект выключен. Т.е. если есть галочка, то объект всегда выключен, и чтобы он появился в игре его надо включать. Эта галочка не работает, если у этого объекта есть парент (родитель), тогда он принимает состояния как и этот родитель.
 
как правильно удалить привязанные к Х-маркеру предметы? Что бы они больше в игре не появлялись?


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

AleksTirex  Offline  Сообщение №119 | Тема: Вопросы по Creation Kit. Старая тема написано: 17 сентября 2013, 16:04


Архимаг


371
Цитата mayor

в каком формате должна быть музыка?в вав делаю и меня выкидывает при включении ее в игре..


Я использую .xmw , но его не видит СК, поэтому надо прописать аудиофайл в формате .wav и потом в папке заменить на .xmw с тем же названием. (Bit Rate Mode - Constant, 32k)
Если используешь как музыку, а не звуковой эффект, то файл надо вкладывать в папку music.

AleksTirex  Offline  Сообщение №120 | Тема: Вопросы по Creation Kit. Старая тема написано: 18 сентября 2013, 10:42


Архимаг


371
Цитата mayor

онлайн конвертерами пользовался,а нормальный найти не смог..



Skyrim Audio Converter - погугли, его легко найти.

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





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