Перейти к содержимому


Фотография

Вопросы по модостроению и Creation Kit

help modding creation kit скайрим редактор помощь вопросы

  • Авторизуйтесь для ответа в теме

#1561 Ссылка на это сообщение gkalian

gkalian
  • smoke on helmet
  • 12 526 сообщений
  •    
Наш автор

Отправлено

В файле SkyrimEditor.ini ниже [General] впишите строчку sLanguage=RUSSIAN, чтобы этот СК по-русски понимал.
Для того чтобы ошибки не выдавались, и не мешали в работе
Можно сделать следующее:

Открыть любым текстовым редактором файл SkyrimEditor.ini (находится в папке \Steam\steamapps\common\skyrim)
Находим секцию [MESSAGES]
В каждой строке в данной секции меняем значение с 0 на 1. После всех изменений данная секция должна выглядеть так:

[MESSAGES]
bSkipInitializationFlows=1
bSkipProgramFlows=1
bAllowYesToAll=1
bBlockMessageBoxes=1
iFileLogging=1

 

В связи с реструктуризацией раздела все полезные сообщения вынесены в отдельную тему.
/сентябрь 2015



  • Авторизуйтесь для ответа в теме
Сообщений в теме: 1739

#1562 Ссылка на это сообщение Azazellz

Azazellz
  • Ветеран
  • 550 сообщений
  •    

Отправлено

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

Ну тогда вот тебе туториал на скриптовый рычаг.

А тут в секции Basic Activation Parenting есть инструкция по связи объектов и рычагов.

Тебе нужен, скорее, первый - на скриптах. Водопады "активироваться" не умеют - их надо "включать" и "отключать" (enable\disable).

 

пауки не забиты в квест.. просто жители локи...

Ну так сделай квест, скрипты которого будут оперировать этими пауками.

Скайрим - это скриптовая игра. И огромная часть скриптов работает как раз через квесты.

Вампиризм или ликантропия? Это квест. Система спутников? Тоже квест. Ну и все в таком духе.



#1563 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 107 сообщений

Отправлено

С помощью рычага enable и default элементов я делал... Выше как раз такой скрипт и написан... Меня интересует г-образные триггеры в квесте той локации... По ним информацию нормальную получить... Через них идёт связь с элементами...

#1564 Ссылка на это сообщение Azazellz

Azazellz
  • Ветеран
  • 550 сообщений
  •    

Отправлено

Как в этом туториале чтоль?



#1565 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 107 сообщений

Отправлено

Похож... Приеду почитаю...

#1566 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 107 сообщений

Отправлено

как я понял этот элемент (TrapLinker) служит передатчиком активного состояния... поэтому требуется преобразовать скрипт на состояние TrapLinker:

 

Bool bToggle

ObjectReference Property MyThing1 Auto
Event OnActivate(ObjectReference akActionRef)
MyThing1.Disable()
bToggle = !bToggle
If bToggle ; True
MyThing1.Enable()

Else ; False
EndIf
EndEvent

 

потому что скрипт отслеживает состояние рычага...

 

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

 

тоже самое можно сделать и на пике..

но как???

 

если найдется решение, то автоматом сделается и другой мой квест..


Сообщение отредактировал stanislavd: 06 Сентябрь 2018 - 20:48


#1567 Ссылка на это сообщение Azazellz

Azazellz
  • Ветеран
  • 550 сообщений
  •    

Отправлено

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

Открою секрет - в скрипт можно запихивать и больше одного disable и enable.

И их можно даже комбинировать.

И управлять скрипт может огромным числом объектов, а не чем-то одним.

MyThing1.Disable()
MyThing2.Disable()
MyThing3.Disable()

Отключатся все три "MyThing".

MyThing1.Disable()
MyThing2.Enable()
MyThing3.Disable()

Отключается первая и третья "MyThing", а вторая - включается.

 

ТрапЛинкер тебе тут не нужен совершенно.


Сообщение отредактировал Azazellz: 07 Сентябрь 2018 - 07:58


#1568 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 107 сообщений

Отправлено

твой секрет мне известен был еще в 14 году... задача состоит не в том чтобы это делать, а чтобы это привязать!

квест с копьями из локации: 4 рычага - 4 копья, и на другом траплинкере колизия и копья...  мне надо либо привязать к копьям, либо заменить (вместо копий поставить водопады) траплинкер нужен для одновременного запуска...я в разрыв поставил отдельно траплинкер на одно копьё и оно  работает... 


Сообщение отредактировал stanislavd: 07 Сентябрь 2018 - 08:56


#1569 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 107 сообщений

Отправлено

хорошо, тогда другая задача: как отследить что все 4 водопада включены? 3 из них? 2 из них? или один из них?

это во первых... во вторых мне нужен сам квест с пиками...чтобы можно было включить все водопады... а так по твоей формуле какието водопады будут постоянно отключены!!!


Сообщение отредактировал stanislavd: 07 Сентябрь 2018 - 10:11


#1570 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 107 сообщений

Отправлено

вот тебе скрипт квеста:

scriptName dunHarmugstahlLeverScript extends objectReference
import Debug
import Utility

ObjectReference Property doorStart Auto
ObjectReference Property door01 Auto
ObjectReference Property door02 Auto
ObjectReference Property door03 Auto
ObjectReference Property door04 Auto
ObjectReference Property door05 Auto
;ObjectReference Property doorController Auto

ObjectReference Property lever01 Auto
ObjectReference Property lever02 Auto
ObjectReference Property lever03 Auto
ObjectReference Property lever04 Auto

ObjectReference Property startTrigger Auto

default2StateActivator door01Script
default2StateActivator door02Script
default2StateActivator door03Script
default2StateActivator door04Script

ObjectReference Property Collision  Auto 

bool isComplete = false

event OnCellLoad()
door01Script = door01 as default2StateActivator
door02Script = door02 as default2StateActivator
door03Script = door03 as default2StateActivator
door04Script = door04 as default2StateActivator
door01script.SetOpen(False)
door02script.SetOpen(False)
door03script.SetOpen(False)
door04script.SetOpen(False)
endEvent

event OnActivate (objectReference TriggerRef)
;checkAllOpen()
if (isComplete == false)
  if (TriggerRef == lever01)
   openDoorPatternA()
   checkAllOpen()
  elseif (TriggerRef == lever02)
   openDoorPatternB()
   checkAllOpen()
  elseif (TriggerRef == lever03)
   openDoorPatternC()
   checkAllOpen()
  elseif (TriggerRef == lever04)
   openDoorPatternD()
   checkAllOpen()
  elseif (TriggerRef == startTrigger)
   ;Notification("Start Trigger")
   puzStart()
  endif
endif
endevent

function puzStart()
startTrigger.Disable()
openDoorStart()
endFunction

function openDoorPatternA()
lever01.BlockActivation()
lever02.BlockActivation()
lever03.BlockActivation()
lever04.BlockActivation()
openDoor01()
openDoor02()
lever01.BlockActivation(false)
lever02.BlockActivation(false)
lever03.BlockActivation(false)
lever04.BlockActivation(false)
endfunction

function openDoorPatternB()
lever01.BlockActivation()
lever02.BlockActivation()
lever03.BlockActivation()
lever04.BlockActivation()
openDoor01()
openDoor02()
openDoor03()
lever01.BlockActivation(false)
lever02.BlockActivation(false)
lever03.BlockActivation(false)
lever04.BlockActivation(false)
endfunction

function openDoorPatternC()
lever01.BlockActivation()
lever02.BlockActivation()
lever03.BlockActivation()
lever04.BlockActivation()
openDoor02()
openDoor03()
openDoor04()
lever01.BlockActivation(false)
lever02.BlockActivation(false)
lever03.BlockActivation(false)
lever04.BlockActivation(false)
endfunction

function openDoorPatternD()
lever01.BlockActivation()
lever02.BlockActivation()
lever03.BlockActivation()
lever04.BlockActivation()
openDoor03()
openDoor04()
lever01.BlockActivation(false)
lever02.BlockActivation(false)
lever03.BlockActivation(false)
lever04.BlockActivation(false)
endfunction

function openDoor01()
wait(0.1)
door01script.SetOpen(!door01script.isOpen)
endFunction

function openDoor02()
;lever01.goToState( "Inactive" )
;lever02.goToState( "Inactive" )
;lever03.goToState( "Inactive" )
;lever04.goToState( "Inactive" )
door02script.SetOpen(!door02script.isOpen)
endFunction

function openDoor03()
;lever01.goToState( "Inactive" )
;lever02.goToState( "Inactive" )
;lever03.goToState( "Inactive" )
;lever04.goToState( "Inactive" )
door03script.SetOpen(!door03script.isOpen)
endFunction

function openDoor04()
;lever01.goToState( "Inactive" )
;lever02.goToState( "Inactive" )
;lever03.goToState( "Inactive" )
;lever04.goToState( "Inactive" )
door04script.SetOpen(!door04script.isOpen)
endFunction

function openDoorStart()
;lever01.goToState( "Inactive" )
;lever02.goToState( "Inactive" )
;lever03.goToState( "Inactive" )
;lever04.goToState( "Inactive" )
door05.Activate(self)
;openDoor01()
;openDoor02()
;openDoor03()
;openDoor04()
endFunction

function checkAllOpen()
if (door01script.isOpen && door02script.isOpen && door03script.isOpen && door04script.isOpen)
  ;Notification("COMPLETED")
  isComplete = true
  lever01.goToState( "Inactive" )
  lever02.goToState( "Inactive" )
  lever03.goToState( "Inactive" )
  lever04.goToState( "Inactive" )
  lever01.BlockActivation()
  lever02.BlockActivation()
  lever03.BlockActivation()
  lever04.BlockActivation()
  Collision.Disable()
  door05.Activate(self)
  door01script.SetOpen(TRUE)
  door02script.SetOpen(TRUE)
  door03script.SetOpen(TRUE)
  door04script.SetOpen(TRUE)
else
  ;Notification("NOT COMPLETED")
endif
endfunction

 

сюда можно вставить MyThing1.Disable() и MyThing1.Enable() но лопатить придется прилично! чтобы он работал....

 

а можно привязать отслеживание состояния пики и относительно его включать и выключать водопад!

 

вот я и спрашиваю как это сделать?!


Сообщение отредактировал stanislavd: 07 Сентябрь 2018 - 10:18


#1571 Ссылка на это сообщение Azazellz

Azazellz
  • Ветеран
  • 550 сообщений
  •    

Отправлено

Ну так привяжи к каждой пике свой скрипт с ивентом OnActivate, в котором и будет прописаны enable и disable для соответствующих водопадов.
Пика активируется - водопад отключается. Еще раз активируется - водопад включается.
Только механизм придумай, чтоб мониторить, в каком состоянии пика находится в момент ивента (bool какой-нибудь поставь, который каждым ивентом будет инвертироваться).
 

хорошо, тогда другая задача: как отследить что все 4 водопада включены? 3 из них? 2 из них? или один из них?

4 глобальных переменных ввести, по одной для каждого водопада, и по ним мониторить, например?

вот тебе скрипт квеста:

Это не скрипт квеста, это портянка текста.
Используй функцию кода, если хочешь что-то подобное вставить.

Сообщение отредактировал Azazellz: 07 Сентябрь 2018 - 12:46


#1572 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 107 сообщений

Отправлено

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

 

вот где разжеванные уроки по написанию квестов: хмаркер (как носитель квеста), трамплинкеры (как передаточное звено), активаторы, исполняющие устройства???

 

поэтому я и пишу задачу.... но вместо ответа сплошная демогогия и пальцы веером...

 

мне и нужен этот механизм о чём я и толкую давно...

 

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

 

да кстати, как вводить тексты скриптов??


Сообщение отредактировал stanislavd: 07 Сентябрь 2018 - 13:01


#1573 Ссылка на это сообщение Azazellz

Azazellz
  • Ветеран
  • 550 сообщений
  •    

Отправлено

Ты тут просто какую-то ерунду пишешь, а не "задачу".

Задача это не "помогите связать пики и водопады, я все скопировал, но тут еще буква Г какая-то, что этовобщетакое?!?".

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

Так что как ты спрашиваешь - так тебе и ответят.

 

вот мне и надо понять как сажать мониторинг на элементы типа пик...

Ну так берешь и делаешь коде переменную типа bool (может принимать два состояния - true или false).

Блок IF
Если bool истина - делаешь один код.
Если bool ложь - делаешь второй код.
Конец блока IF
Инверсия bool 

(как-то так это должно работать, синтаксис папируса мне вспоминать лень).

 

Можно еще это сделать через GlobalVariable.

Делаешь 4 этих переменных в СК (или сколько тебе их нужно, на каждый водопад или пику).

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

Блок IF
Если Переменная = 1 - делаешь код, ставишь переменную на 0.
Если Переменная = 0 - делаешь код, ставишь переменную на 1.
Конец IF

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

 

 

вот где разжеванные уроки по написанию квестов: хмаркер (как носитель квеста), трамплинкеры (как передаточное звено), активаторы, исполняющие устройства???

Вперед на СК-вики. Все, что есть - все там.

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

 

Короче, если тебе нужно что-то конкретное - опиши это конкретно.

А не такой кашей, как у тебя сейчас.

 

 

да кстати, как вводить тексты скриптов??

Кнопочка "Код" (<>) сверху.

Жмешь, копируешь свой скрипт.

Табуляция при этом сохраняется.


Сообщение отредактировал Azazellz: 07 Сентябрь 2018 - 13:33


#1574 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 107 сообщений

Отправлено

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



#1575 Ссылка на это сообщение Azazellz

Azazellz
  • Ветеран
  • 550 сообщений
  •    

Отправлено

Ну вот и разбирайся тогда.

Как TrapLinker работает - ссылка есть.

На создание скриптовых и обычных рычагов ссылка есть.

В СК тоже все есть в открытом виде.

Информации достаточно.

 

За тебя никто этот "квест" не сделает (и я в том числе, да).

 

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

У меня такое постоянно бывает - и ничего, живу как-то =)


Сообщение отредактировал Azazellz: 07 Сентябрь 2018 - 18:14


#1576 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 107 сообщений

Отправлено

Прикольно то, что ты не прочитав внимательно первый мой пост писал воды огромное количество! И в конце концов пришёл к тому же что написано было мной в самом начале беседы! Несколько дней потрачены на тебя в пустую!!! Мне весь квест за меня писать не надо! Мне нужно отслеживание состояния таких элементов как выдвигающаяся пика или передаточного звена траплинкера... Ты мне дать не всостоянии!... Отсюда возникает вопрос: зачем ты вмешиваешься в беседу выливая кучу волы и тратя чужое время?? Если ответа дать не можешь или не хочешь!!!

#1577 Ссылка на это сообщение Azazellz

Azazellz
  • Ветеран
  • 550 сообщений
  •    

Отправлено

Ссылки на компоненты "квеста", о которых ты до этого и понятия не имел - ерунда, конечно, ничем не помогло.

Инструкции по тому, как отслеживать статус компонента в скрипте - тоже ерунда, ты же это и так прекрасно знал.

*это был сарказм, есливчо*

 

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



#1578 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 107 сообщений

Отправлено

демагог ты наш!читай внимательно, когда люди задают вопросы и тогда столько воды не будет! я этим занимался года 3-4 назад, решил опять попробовать... мне много чего надо вспомнить... 

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

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

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

я еще пороюсь и я вспомню... но люди почитав мои выкладки, достанут этот квест и разнообразят свои пещеры... а мне скучно ставить этот квест в таком состоянии, я хочу модернизировать его, что и пытаюсь сделать... с твоей помощью, или без твоей помощи, но я это сделаю... могу сказать только, что в моей голове куча ЛОГИЧЕСКИХ КВЕСТОВ, для моих локаций)))



#1579 Ссылка на это сообщение Azazellz

Azazellz
  • Ветеран
  • 550 сообщений
  •    

Отправлено

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

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

Папирус я изучал на чужих скриптах и немного по вики.

И я не могу сказать, что я так прям хорошо умею писать скрипты.



#1580 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 107 сообщений

Отправлено

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

#1581 Ссылка на это сообщение CISCO.:i:..:i:.

CISCO.:i:..:i:.
  • Следопыт
  • 73 сообщений

Отправлено

Доброго времени суток. Товарищи столкнулся с проблемой - в игре есть CraftingCookingFireSpit (вертел) так вот у него есть анимация вращения (мяса на вертеле) но эта анимация проигрывается лишь когда НПС или ГГ что то готовят и сами рукой его вертят. Мне же нужно что бы он вертелся сам по себе при его его активации с триггера. Для этого я создал новый объект в WorldObjects\Activator назвал его 0000_HMD_CraftingCookingFireSpit и указал путь к модели Furniture\FireSpitCooking.nif. На триггер прикрутил самодельный скрипт - но ничего не работает - нажимаю на триггер но созданный мной вертел не проигрывает анимацию (то есть триггер активатор должен активировать анимацию на 0000_HMD_CraftingCookingFireSpit - но этого не происходит). Хотя подобным образом я сделал дверь в WorldObjects\Activator и она открывается и закрывается так же с помощью триггера активатора на котором прикручен всё тот же скрипт. не могу понять в чём беда. 

 

Scriptname _0000_HMD_Play_Animation extends ObjectReference 

import debug
import utility

objectReference property Animation_Object auto

Event onTriggerEnter(objectReference triggerRef)
Actor actorRef = triggerRef as Actor
if(actorRef == game.getPlayer())
  Animation_Object.playAnimation("isCookingSpit")
endif
endEvent

81b056e07355.png


Сообщение отредактировал CISCO.:i:..:i:.: 10 Сентябрь 2018 - 18:46






Темы с аналогичным тегами help, modding, creation kit, скайрим, редактор, помощь, вопросы

Количество пользователей, читающих эту тему: 1

0 пользователей, 0 гостей, 0 скрытых


    Yandex (1)