• Страница 2 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Форум » Записи участника [LordVadim]

Результаты поиска
LordVadim  Offline  Сообщение №31 | Тема: Вопросы по скриптам Papyrus написано: 25 ноября 2013, 05:14 | Отредактировано: LordVadim - 25 ноября 2013, 05:15



139
Цитата nine-dragon-art

Может я не в тему попаду, но относится ли формат .pex к скриптам и если да то чем открыть ?


Формат PEX - это скомпилированный скрипт. Чтобы получить исходник PSC нужно .pex файл декомпилировать.
В архиве есть декомпилятор и инструкция по настройке: Инструкции по работе с ESP и BSA

LordVadim  Offline  Сообщение №32 | Тема: Вопросы по скриптам Papyrus написано: 25 ноября 2013, 11:53



139
Цитата Artem13

а конструкция в стиле С тоже не канаеть? " \< "


Тоже не работает.

LordVadim  Offline  Сообщение №33 | Тема: "Lady Body" [LB] v2.0 написано: 25 ноября 2013, 13:35



139
Цитата Myprism

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


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

LordVadim  Offline  Сообщение №34 | Тема: Вопросы по скриптам Papyrus написано: 25 ноября 2013, 17:30 | Отредактировано: LordVadim - 25 ноября 2013, 17:33



139
Цитата Artem13

тогда попробуй еще один финт из С - " \0x3C "


Не работает.
Алекс - прав. Управляющий символ вставить, наверное не получится.
Хотя интересно - в тесте сообщений он спокойно отображается, а в названии кнопки нет. Где логика?

Заменю символы   <    >   на   {==    ==}    Похоже на стрелки?

LordVadim  Offline  Сообщение №35 | Тема: Вопросы по скриптам Papyrus написано: 27 ноября 2013, 13:06 | Отредактировано: LordVadim - 27 ноября 2013, 13:07



139
AleksTirex, не подскажешь: есть ли возможность в скрипте дать команду актеру сесть/лечь ели ID актера и ID мебели известны?

LordVadim  Offline  Сообщение №36 | Тема: Вопросы по скриптам Papyrus написано: 27 ноября 2013, 13:45



139
Цитата Myprism

обычно сажают или кладут актёра, давая ему соответствующий AI-пакет.


Как это выглядит в скрипте?

LordVadim  Offline  Сообщение №37 | Тема: Вопросы по скриптам Papyrus написано: 27 ноября 2013, 16:42



139
Цитата AleksTirex

LordVadim, сесть/лечь - это "активировать" данную мебель актёром (эту команду ты знаешь - activate). Хотя, обычно для этого используют пакеты ActivateSpecialFurniture.   **** У меня сейчас в голове "каша", поэтому не смогу точно сказать, будет ли НПС именно садиться при активации мебели, а с пакетом точно будет. По крайней мере, при активации мебели, если НПС сидит, то он точно встанет.


Просто активация не срабатывает ни с пакетом ни без.
Добавил ActivateSpecialFurniture - НПС садится только если в СК назначить референс мебели в Public Package Data. Вопрос как этот референс менять скриптом?

LordVadim  Offline  Сообщение №38 | Тема: Вопросы по скриптам Papyrus написано: 27 ноября 2013, 21:21



139
AleksTirex, спасибо. С алиасами пока не сталкивался. Буду разбираться.

Добавлено (28 Ноября 2013, 01:21)
---------------------------------------------
Разобрался. Работает. Но это не совсем то, что мне нужно.
Такая схема работает для одного НПС, а мне нужно для произвольного количества.
Есть ли возможность в скрипте делать копии квеста для каждого НПС наподобие PlaceAtMe.


LordVadim  Offline  Сообщение №39 | Тема: Вопросы по скриптам Papyrus написано: 27 ноября 2013, 22:07



139
Цитата AleksTirex

В Скайриме нельзя добавить пакет скриптом


Изменить референс добавленного пакета ActivateSpecialFurniture я так понимаю тоже в скрипте не получиться, только СK?

LordVadim  Offline  Сообщение №40 | Тема: Вопросы по скриптам Papyrus написано: 28 ноября 2013, 06:48 | Отредактировано: LordVadim - 28 ноября 2013, 08:24



139
Цитата AleksTirex

О как! Менять ID базовых объектов... сильно, но увы, не получится, а равно добавлять и удалять сами пакеты. А зачем, если не секрет? Один пакет можно использовать на множество разных целей, просто меняется референс на алиасе, который является целью пакета. ****** референс - ссылка на объект, а ActivateSpecialFurniture - ID базового объекта, к тому же это Package Template, т.е. базовый объект для других базовых объектов. Пакеты, квесты, заклинания и подобное, по определению не могут иметь референса (в его истинном значении), т.к. не могут находиться в игровом мире.


Я неправильно выразил свою мысль. Я имел ввиду изменить значение переменной Target процедуры Activate из  ActivateSpecialFurniture. Ведь если этой переменной можно назначить референс в СК, то по идее и через скрипт ее можно как то изменить. Вообще то, в нормальном объектно ориентированном языке, я бы получил дочерний объект используя в качестве родителя свой Quest и далее работал бы с ним. в Papyrus я такой возможности пока не нашел.

А вообще, расскажу подробнее суть проблемы, может есть иной подход к ее решению:
Я все еще допиливаю манекены, так сказать снимаю стружку, оживляю и превращаю из манекена в модель. Написал и на ум почему то пришел папа Карло... :)
Командой SetDoingFavor я передаю игроку управление моделью. С передвижением проблем нет. Под управлением игрока модель ходит, садится, ложится... всё нормально (вообще без каких либо AI пакетов). Но если с сидящей/лежащей моделью покинуть локацию и вновь войти - модель оказывается стоящей рядом с мебелью. Проблема: как заставить модель сидеть/лежать при загрузке локации. Использование ActivateSpecialFurniture проблему решает частично - при загрузке локации модель появляется стоящей, а потом идет и садится/ложится (а хочется, чтобы она загружалась уже сидящей/лежащей).
Да, чуть не забыл: моделей может быть много... поэтому при смене референса на алиасе в пакете работает только текущая модель, а остальные нет.

LordVadim  Offline  Сообщение №41 | Тема: Вопросы по скриптам Papyrus написано: 28 ноября 2013, 08:20



139
Myprism, если мою задачу реализовывать посредством квеста возникает проблема - квест должен одновременно работать для произвольного количества НПС, а я не представляю как это сделать без создания дополнительных алиасов для каждого НПС и каждой фурнитуры. То есть придется заморачиваться с созданием в скрипте квеста динамически изменяющихся массивов с алиасами на актеров и фурнитуру. Сделать то можно, но возникает вопрос: неужели мою задачу нельзя решить как нибудь попроще?

LordVadim  Offline  Сообщение №42 | Тема: Вопросы по скриптам Papyrus написано: 28 ноября 2013, 09:16 | Отредактировано: LordVadim - 28 ноября 2013, 09:22



139
Цитата Myprism

К сожалению, я не знаю, как полностью решить твою задачу


Буду надеяться на Алекса. Может он поможет?

LordVadim  Offline  Сообщение №43 | Тема: Вопросы по скриптам Papyrus написано: 28 ноября 2013, 11:59



139
Цитата AleksTirex

Так именно это я уже два раза тебе писал: Пакет делается собственностью твоего квеста, тогда в нём можно будет в качестве цели использовать алиас из твоего квеста. Вот этот алиас ты можешь менять/переназначать хоть каждую минуту и каждый раз целю этого пакета будет новый референс, который ты назначаешь на этот алиас. Это и есть менять Target в процедуре.


AleksTirex, да с квестом я уже понял концепцию. Я спрашивал нельзя ли это менять если пакет не к квесту привязан а к НПС?

LordVadim  Offline  Сообщение №44 | Тема: Вопросы по скриптам Papyrus написано: 28 ноября 2013, 12:52 | Отредактировано: LordVadim - 28 ноября 2013, 12:53



139
Цитата AleksTirex

Можно вместо Activate дать пакет Sit


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

LordVadim  Offline  Сообщение №45 | Тема: Вопросы по скриптам Papyrus написано: 29 ноября 2013, 08:27 | Отредактировано: LordVadim - 29 ноября 2013, 08:29



139
Цитата Kepper

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


Тут на всех не угодишь. Мнения субъективны. Мое мнение:
В первом варианте не сразу видно имя функции, неудобно искать. Во втором варианте дублируется информация в четвертом столбце из первого и второго и выглядит не слишком читабельно.
На мой взгляд удобнее было бы организовать информацию в три столбца: Возвращаемый тип / Имя функции (с синтаксисом) / Описание функции.

В любом случае: Спасибо за создание перевода!!!

LordVadim  Offline  Сообщение №46 | Тема: "Lady Body" [LB] v2.0 написано: 30 ноября 2013, 17:57



139
Всех приветствую!

Kris†a™, я делаю мод расширяющий возможности манекенов. Не будешь возражать если для базовой внешности я возьму твою модель манекена?

LordVadim  Offline  Сообщение №47 | Тема: "Lady Body" [LB] v2.0 написано: 30 ноября 2013, 18:04



139
Цитата Kris†a™

да ради бога ... фикс будет? Перестанут бегать, плясать и т.д.?


Они будут бегать, плясать, двигаться и менять внешность,... но только тогда, когда игрок им это позволит :)

LordVadim  Offline  Сообщение №48 | Тема: Вопросы по скриптам Papyrus написано: 3 декабря 2013, 19:15 | Отредактировано: LordVadim - 3 декабря 2013, 19:23



139
Всем, привет!

Добавляю в Magic Effect источник света, но при касте почему то игнорируется Flicker Effect. Если просто разместить источник света через СК в мир, он мерцает, а при касте нет.
Я что то не правильно делаю или это особенность движка?

LordVadim  Offline  Сообщение №49 | Тема: Вопросы по скриптам Papyrus написано: 4 декабря 2013, 18:03



139
AleksTirex, не сталкивался с таким вопросом: Если добавить в Magic Effect источник света, при касте почему то игнорируется Flicker Effect?

LordVadim  Offline  Сообщение №50 | Тема: Вопросы по скриптам Papyrus написано: 5 декабря 2013, 08:42 | Отредактировано: LordVadim - 5 декабря 2013, 08:42



139
Цитата Myprism

Да, это и есть Flicker-эффект. Там даже настраивается амплитуда эффекта.


В том то и дело, что все настраивается и на источниках света, установленных через СК, нормально работает. А вот в заклинаниях не работает. Тот же "Свет свечи" - не мерцает, мельтешит перед глазами летающий шарик, а сам свет светит ровно, без мерцания и никак не реагирует на параметры раздела Flicker Effect. Что бы это проверить достаточно подойти к стене и понаблюдать за светом.

LordVadim  Offline  Сообщение №51 | Тема: Вопросы по скриптам Papyrus написано: 5 декабря 2013, 20:32 | Отредактировано: LordVadim - 5 декабря 2013, 20:42



139
Цитата DarkVetal

1. Не привязывается больше одного статика, а хотелось бы привязывать бесконечное количество - (на печке стоит казан (нерабочий), включаю газ, и вместе с ним, взамен нерабочего казана появляется рабочий, то есть с включением огня я могу готовить пищу, - то есть огонь и рабочий казан помечены галочкой InitiallyDisable, а нерабочий казан нет, при нажатии на кнопку все меняется наоборот)
2. Можно ли прикрутить к скрипту таймер автоматического отключения статики (нажимаю на слив унитаза, появляется модель воды, делает свое дело и секунды через 3-4 исчезает)
3. Можно ли вместо ручки сделать активацию по времени (кроме зажигания фонарей можно например сделать например блокировку ворот на ночь маркером коллизии, включение охранных систем, да и просто появление парочки дуболомов с мечами для охраны дома).


1. Привязывается. Алгоритм такой: связываешь по цепочке: Кнопка - Котел1 - Огонь - Кран - Котел2 - ... - Кнопка. Цепочку обязательно замкнуть. Далее в скрипте делаешь цикл:

Scriptname AllActivator extends ObjectReference

Event OnActivate(ObjectReference akActionRef)

    ObjectReference akTecItem = GetLinkedRef()

    While akTecItem != Self

        if akTecItem.IsDisabled()
            akTecItem.Enable()
        else
            akTecItem.Disable()
        endif

        akTecItem = akTecItem.GetLinkedRef()

    EndWhile

endEvent

2. Можно. Используй функцию RegisterForSingleUpdate( время ) - время задается в секундах. И через заданное время сработает событие:

Event OnUpdate()

    Выполняешь необходимые операции...

endEvent

3. Можно. Используй функцию RegisterForUpdate( время ) событие OnUpdate() будет срабатывать с заданным интервалом. Пока не вызовешь функцию: UnregisterForUpdate()

LordVadim  Offline  Сообщение №52 | Тема: Вопросы по скриптам Papyrus написано: 7 декабря 2013, 04:37



139
Цитата DarkVetal

Куда ее прикрутить, ведь это функция действия на время, а не выключателем. К нужному предмету? Как должен выглядеть полный скрипт? Две функции RegisterForUpdate(08.00) и OnUpdate(12) выдают ошибку. Я так понял первая включает предмет в заданное время, а вторая поддерживает указанное количество часов? Первая функция прописалась в скрипте без проблем, но не работает.


OnUpdate() - это событие, а не функция. В скобках ничего быть не должно - поэтому выдает ошибку. События называются событиями потому, что срабатывают в зависимости от наступления каких либо условий. В данном случае - по прошествии времени указанного функцией RegisterForUpdate(08.00) - если оставить как написано, то событие OnUpdate() будет вызываться каждые 8 секунд.
Куда это вставлять - зависит от того, что необходимо сделать. Например если просто надо выключить котел1 через некоторое время - то проще сделать как писал AleksTirex, поставить в скрипте Wait(время) - и повторить цикл While.

LordVadim  Offline  Сообщение №53 | Тема: Вопросы по скриптам Papyrus написано: 8 декабря 2013, 14:05



139
Цитата DarkVetal

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


Можно настроить Notepad++ на работу со скриптами Notepad++ Установка.
Я вообще не представляю как можно нормально работать со скриптами в том убожестве, что встроено в СК.

LordVadim  Offline  Сообщение №54 | Тема: Вопросы по скриптам Papyrus написано: 8 декабря 2013, 16:20



139
Цитата AleksTirex

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


А зачем? В Notepad++ ведь можно настроить и компиляцию. Я настроил F8 на сохранение и F9 на компиляцию - удобно, нажал две кнопки и все готово! В родной редактор СК вообще не заглядываю.

LordVadim  Offline  Сообщение №55 | Тема: Вопросы по скриптам Papyrus написано: 9 декабря 2013, 06:08 | Отредактировано: LordVadim - 9 декабря 2013, 06:09



139
Цитата DarkVetal

Не сталкивался с таким?


А ты пути в ScriptCompile.bat менял?
И еще, для компиляции с помощью Notepad++ скрипт должен располагаться в папке: ...\Skyrim\Data\Scripts\Source

.

Добавлено (09 Декабря 2013, 10:08)
---------------------------------------------
Ко нибудь знает, где в игре настраивается параметр количества одновременно работающих источников света с тенью в одной локации? И можно ли его установить более 4?

LordVadim  Offline  Сообщение №56 | Тема: Вопросы по скриптам Papyrus написано: 9 декабря 2013, 09:36



139
Цитата Myprism

Нигде и нельзя. Вот такая грустная новость.

 
Спасибо за ответ. Я, в принципе, так и предполагал.

LordVadim  Offline  Сообщение №57 | Тема: Вопросы по скриптам Papyrus написано: 13 декабря 2013, 21:51



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

LordVadim  Offline  Сообщение №58 | Тема: Вопросы по скриптам Papyrus написано: 14 декабря 2013, 04:26 | Отредактировано: LordVadim - 14 декабря 2013, 04:29



139
Цитата Myprism

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


Но ведь если для игрока применить консольную команду TCL он, фактически, становится призраком. А игрок - это тот же НПС, только управляемый. Значит, технически, такая возможность в игре есть. Или я что то путаю?
Ghost, GhostAbility, SetAlpha() - не решают проблему. Только визуальный эффект.

LordVadim  Offline  Сообщение №59 | Тема: Вопросы по скриптам Papyrus написано: 14 декабря 2013, 16:54



139
Цитата AleksTirex

Но это сложно, проще отказаться от идеи бесплотности призраков.


Похоже - единственно верный вариант.  :D
Тогда другой вопрос: На НПС проигрывается анимация, во время этой анимации положение тела меняется, но координаты получаемые функциями GetPosition... не меняются, можно ли как то получить координаты реального положения тела во время проигрывания анимации?

LordVadim  Offline  Сообщение №60 | Тема: Вопросы по скриптам Papyrus написано: 16 декабря 2013, 10:23 | Отредактировано: LordVadim - 16 декабря 2013, 10:24



139
Цитата Myprism

Как из моего скрипта, висящего на XMarker узнать значение переменной из некоторого квеста? Подробнее так: мне нужно делать предметы видимыми при приобретении игроком дома. Я не хочу портить ванильный скрипт и вставлять свой код туда. Но там (HousePurchaseScript из квеста HousePurchase) есть переменная int Property WhiterunHouseVar  Auto  conditional, которой при покупке дома присваивают 1. Тогда я могу включать свой маркер при загрузке локации, если эта переменная равна 1. Но для этого мне надо получить к ней доступ в моём скрипте.


В своем скрипте  объявляешь свойство Quest:

Quest Property HousePurchase Auto

В СК назначаешь на него квест HousePurchase

Чтобы получить доступ к свойству WhiterunHouseVar в своем скрипте используешь конструкцию:

(HousePurchase as HousePurchaseScript).WhiterunHouseVar

Форум » Записи участника [LordVadim]
  • Страница 2 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:





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