DarkVetal, В игре есть сферы, можно выбрать любую из них. Текстуру можно либо задать в модели Нифскопом, либо в редакторе, задавая TexturSet для этой модели. Текстуру надо иметь специальную (развёртка куба). Рамки данной ветки не позволят мне рассказывать, как изготавливать сферические панорамы, а как натянуть в игре, надо просто посмотреть указанные мной примеры.
Добавлено (29 Октября 2013, 21:07) --------------------------------------------- AleksTirex, Вот, ещё, про то, что легче делать этим грёбаным редактором. Путём добавления своих персонажей в условия ванильных я получил то, что хотел. Да, несовершенство метода (изменение ванильных диалогов) заставило меня попробовать всё же продублировать эти диалоги. Результат таков: диалоги дублируются, обучение происходит, но нет звука. Стал разбираться. Двойной клик на тексте позволяет вызвать окно, где можно посмотреть звуковой файл. Так вот, там есть и и файл и путь к нему. Оказывается, редактор решил, что я должен распаковать этот файл (файлы) из архива и положить в отдельную директорию, в название которой входит название моего мода. А теперь внимание: В РЕДАКТОРЕ НЕЛЬЗЯ ЭТОТ ПУТЬ ИЗМЕНИТЬ И ВЫБРАТЬ ДРУГОЙ ФАЙЛ! Это значит, что если я буду использовать копии диалогов, то редактор заставляет меня включать в мод то, что у пользователя уже есть.
К этому ещё добавлю, что вчера сделал переселение супругов в две свои локации. Для этого квеста (ванильного, но с изменениями) редактор сохранил мне около сотни откомпилированных квестовых скриптов. Занимают они всего 93 килобайта, но какой кретин придумал что они должны сохраняться в таком числе???
И это не случайность, это стиль работы авторов игрушки. Я уже давно сообщал, что если редактор попросить создать ЛОДы для одной ячейки, то он сгенерирует кучу файлов общим весом в 3 сотни мегов, куда включит вообще все ЛОДы объектов, а это уже не ерунда. Причём из них мне, для четырёх больших локаций нужны файлы весом только 20 мегабайт, но чтобы их вычислить, мне пришлось создать все ЛОДы с модом и без мода, а потом специальной программой убить все совпадающие.
то можно просто скопировать все файлы из второй папки во первую (с заменой) и потом нажать Delete
Файлы там одинаковы по названию, иногда и по размеру, но различаются содержанием, поэтому тождественность файлов надо определять бинарным сравнением.
Добавлено (30 Октября 2013, 04:50) --------------------------------------------- Да, чищу я мод в обязательном порядке с помощью TES5Edit. Сам редактор оставляет кучу мусора. например, при копировании объекта меняет оригинал, заменяя там название на локализованное. Игре это не нужно, а это изменение и мусорная информация. Кстати, эта софтина гораздо стройнее и логичнее устроена, чем редактор. Возможно потому, что писалась на Дельфи
Добавлено (30 Октября 2013, 04:59) --------------------------------------------- Да, Алекс, большое спасибо за информацию о том, как создаёт файлы редактор. Я теперь не буду биться головой об стену. тщетно пытаясь это исправить.
AleksTirex, В общем понятно, но новичку трудно. Буду пробовать.
Насчёт идентичности. Я этим пользуюсь только тогда, когда идентичные файлы нужно удалять. Пример: создание ЛОДов объектов. Редактор создаёт ЛОДы всех объектов и никак иначе. А ведь для ванильных они уже все есть в игре. Если я создаю ЛОДы для своего мода, то там будут в каше как ванильные модели, так и мои изменённые. Таким образом, задача в том, чтобы выделить все изменённые и выкинуть ванильные, так как они в игре и так уже есть. Это же не квест. Кстати, вот это и неприятно, что игра является винегретом, в разных частях которого разные правила и идеологии.
Учителям отдельную озвучку сделал. Все нужные звуки весят всего 160 кил - ничтожная плата за совместимость.
Очень люблю TES5Edit за то, что он показывает мне именно изменения вносимые модом в игру. Очень наглядно. Для всего остального (интерьеров, объектов) ясно и понятно: не должны меняться ванильные, всё должно быть своё. С квестами мне труднее, я пока не могу осознать, как они работают. Нет, повторять и менять могу, но мне нужно понять идеологию их работы, т.е. почему именно так а не иначе. Ничего, разберусь Со скриптами легче: синтаксиса ещё не знаю, но это обычный язык программирования из не очень продвинутых.
Кстати, о синтаксисе, можно ли засекать сон персонажа, не отслеживая пакетов? Дело в том, что для свободного персонажа пакеты детерминированы и их можно передавать скрипту, но замужний персонаж пользуется уже альясными пакетами, причём они свои для каждого дома. Тут нужен другой механизм вроде ключевого слова или непосредственного определения процесса сна.
DarkVetal, невидимого маркера сундука в игре нет. Самое простое - создай копию базового объекта сундук, переименуй её как хочешь, и назначь ей в качестве подели то, что ты создаёшь. Тогда он и будет выглядеть как то, что ты создаёшь
Gargule, редактор там не позволяет ничего выбирать. Либо файл лежит по этому адресу, либо его там нет и тогда нет звука. Пришлось его туда тупо положить. Это не очень обременительно, просто мне противно в принципе заставлять своего пользователя качать то, что у него уже есть. Но тут уже ничего не поделать, это подход Беседки.
DarkVetal, не важно, сколько там частей. Во-первых, как тут уже говорили, любое число частей можно объединить в НИФскопе, во-вторых, можно и не объединять, а использовать для активации только одну часть.
Невидимый сундук должен покрывать конструкцию снаружи, иначе он может оказаться недоступен и это не сразу будет понято, так как он не виден
Нашёл причину своей ошибки, когда объекты (ключ) не создавались внутри левельных неписей в квесте. Дело не в грязном сейве, все мои тестовые - девственно чисты. Просто-напросто для алиасов важен порядок их создания, а у меня создание ключа стояло до создания неписи, в которой он должен был появиться.
GreyFox447, по второму вопросу: нет ничего легче! Просто открываем базовый объект кузницы (какой нужно) и переименовываем его. При нажатии на ОК редактор спросит, создавать ли новый объект - говорим да. Всё, новая кузница создана. В рецептах (справа) указывается имя базового объекта кузницы, где они должны создаваться. Для новых рецептов ставим туда новую кузницу. По первому, не совсем понял, что нужно, да и в диалогах я профан.
Добавлено (01 Ноября 2013, 17:27) --------------------------------------------- Есть ещё пара вопросов: 1. Когда мой простенький квест завершается, появляется задание подобрать ключ, но указатель появится только когда игрок в меню включит указатель именно этого квеста. Как форсировать включение этого пункта в заданиях, чтобы указатель появлялся сразу, как только игрок убил драугра?
2. У меня в моде довольно много телепортов. Так вот, при переносе телепортом из одного помещения в другое, переносятся и звуки. Например, в первом стоял скелет или сприган, которые дружественны игроку, и поэтому, не нападали. Но уже после переноса во второе помещение, игрок продолжает слушать скрежет костей скелета и жужжание мух спригана. Двери тоже являются телепортом и для них необходимость переноса звуков ещё можно было бы объяснить, но в моём случае, звуки не должны переходить в другое помещение. Как отрубить их перенос?
Если ГГ не сменил локацию, а только телепортировался в другую точку в этом же помещении,
ГГ переместился из одного интерьера в другой. Наверное, им надо оформить разные локации. -О, нет, локации тут не при чём. Интерьер со сприганом у меня позиционируется как отдельная подлокация в локации Солитьюд, а слышу я его при переносе в интерьер непосредственно относящийся к локации Солитьюд. Скелеты там же слышны, вообще, из интерьера относящегося к локации Вайтран. Для порталов был использован сдвижной камень MS08AlikrBaseDoor . Звук переходит только вместе с игроком. Это не случайно, а всегда. В чистой игре это не наблюдается потому, что там игрок никогда не переходит из локации с шумящими монстрами в другую локацию. Там обычно сначала происходит зачистка и только потом переход.
if !myQuest.IsActive() myQuest.SetActive() endIf Тут компилятор не принимает название квеста. Получилось так: if !Self.IsActive() Self.SetActive() endIf
langley, у Вас действительно большой опыт работы с текстурами. Не могли бы Вы рассказать о практических различиях между DXT 1-3-5 и RGB и как правильно выбрать нужные. Например, сам я использую только 1 и 5. Причём, в Скайриме есть какая-то фигня с шейдерами, которая приводит к тому, что иногда лучше сохранять в 5 даже диффузную текстуру без альфа-канала. В этом случае, размер будет в 2 раза больше, но яркая полоска на границе света и тени станет значительно уже (заметна на текстурах тел). Подавляющее большинство ванильных текстур сохранены в 1.
Может кому пригодится. С воскрешением своих призраков я поступил так: сделал 2 молитвы. Одна GhostAbility, но с условием, что она перестаёт работать при наличии второй - воскрешения. А эта вторая - пустая. Сама она всего лишь выполняет роль глобальной переменной, отменяющей действие первой. Операция воскрешения заключается в замене первой молитвы на вторую.
Сделал крик, в качестве прототипа взял безжалостную силу. Крик экипируется ГГ амулетом. Крик в меню выбора криков виден, но не активен, просит использовать для него души драконов (они есть), но нет там возможности их использовать, всё неактивно. Что отвечает за зарядку криков - использование душ?
Добавлено (02 Ноября 2013, 12:34) --------------------------------------------- DarkVetal, AleksTirex, Когда почитал такое чёткое описание, то подумал, что мне это тоже пригодится, но отложил на потом. А сейчас, услышав про трудности, решил сделать прямо сейчас. Но мне нужно, чтобы двери не только сами открывались, но и закрывались после прохождения:
Получилось отлично! Думал, что двери будут прищемлять мою спутницу А ничего подобного! Они и перед нею открываются и за ней тоже закрываются Двери у меня тут большие винтерхолдовские.
AleksTirex, ещё раз респект тебе за такое чёткое изложение информации.
DarkVetal, нет, это всё в одном скрипте. Проверь, что: 1. Скрипт висит на триггере и при компиляции нет ругани. 2. Триггер имеет ссылку на дверь (Linked Ref)
Если спутник бежит рядом, то дверь может перед ним захлопнуться, а с условием закроется только при выходе последнего актёра
Очень хорошо. А то без этого запинки бывают: когда увеличил размеры триггеров, а так красивее - двери открываются на расстоянии, то стали попадаться моменты, когда двери закрываются перед спутницей. Она их всё равно открывает, так как стандартное открывание никто не отменял, но заминки заметны.
Добавлено (02 Ноября 2013, 16:56) --------------------------------------------- AleksTirex, я уже раньше несколько раз спрашивал, но тебя тогда тут не было, вдруг знаешь - где находится список ячеек Тамриэля, доступных для посещения? Большая локация Тамриэль имеет неправильную форму. Если игрок пытается выйти за границу Тамриэля, появляется сообщение, что ему дальше идти нельзя. Спутника при этом границы не останавливают. В одном своём моде я поставил замок на самой границе, чтобы не затронуть ванили. Так вот, для полного комфорта там нужно добавить в число доступных одну ячейку. Для функционала это не нужно, просто чтобы игрок это сообщение о запрете и не видел (дальше непроходимые горы).
AleksTirex, Я так же бережно отношусь к предметам Скайрима, как ты к его квестам Для большого замка очень не просто найти место даже на границе, так, чтобы не перекрыть чего-нибудь важного в игре. Место нашёл, всё отлично, но на крыше игрок встречает это сообщение. Там ему остаётся 3-4 метра, куда и ходить-то не нужно, но сообщение уже есть. А расширение границ ничем не хуже создания новых локаций.
Проверка числа персонажей в триггере приводит к странным результатам. Некоторые двери замёрзли в открытом положении (3 из 7), на остальных запинки спутницы сохранились. Я подозреваю, что счётчик персонажей в триггере даёт сбои и его надо иногда принудительно обнулять. "Замёрзшие" двери, скорее всего, связаны со сбоем этого счётчика, сохранённым в сейве.
AleksTirex, с исправленным скриптом 5 из 8 дверей ведут себя идеально, а вот 3 - перестают работать. Дверей много и это не случайность: работают все двустворчатые и не работают одностворчатые. Может быть, у двустворчатых и одностворчатых дверей различается нумерация стадий? Работают: WinterholdGate01; SDoorJail01, не работают SSingleDoorIntJail01R. Без проверки числа неписей в триггере работают все
AleksTirex, спасибо! Я уже подумал, сделать два типа триггеров с разными скриптами. Но твоё решение, конечно, изящнее. Я сам не пойму, что с этими дверями, но дело, конечно, не в коллизиях. Поставил сейчас твой последний вариант. Работают все двери, в том числе и проблемные. Но вот обнаружилось ещё одно свойство этих проблемных дверей: если покинуть локацию и войти в неё снова, проблемные двери оказываются открытыми, хотя пред этим я их проходил и потому они оставались закрытыми. Т.е. при входе в локацию скрипт их открыл и открыл только их!
AleksTirex, Ещё несколько наблюдений из жизни дверей - Новые варианты ничего не дали, возможно, по следующей причине: - Неадекватность поведения дверей сохраняется (либо в сейве игры, либо в редакторе) даже после того, как меш двери исправлен. - Я взял несколько разных одностворчатых дверей и проверил их - всё в порядке. Тогда я заменил в одной из подходящих по размеру и форме и работающей двери её меш на меш нужной мне решётчатой двери. При этом, не стал переносить поворачивающуюся ручку (она не нужна автоматической двери). Всё работает как часы. Теперь просто заменю старые двери на новые с новым мешем (чтобы не менять ванильную дверь). - Остался один, по-видимому, неустранимый недочёт: уже открывающаяся дверь не принимает сигнала закрытия. Т.е. если войти в триггер и быстро выйти из него прежде, чем дверь откроется, она останется открытой Но это уже не существенно.
Добавлено (03 Ноября 2013, 15:57) --------------------------------------------- Тихо схожу с ума... Все двери у меня идеально работают пока стоят посередине комнаты, но перестают работать в дверных проёмах. Автоматически не закрываются, хотя открываются исправно. Это относится только к одностворчатым дверям, так как двустворчатые везде работают одинаково. Это не зависит от того, где была создана дверь и её триггер. Созданная в проёме, но вытащенная в комнату - работает, созданная в комнате (и где угодно), но задвинутая в проём - не работает. Единственно, на что могу грешить, это на технологию "комнат" и "порталов" которой я широко пользуюсь. По этой технологии локация разбивается специальными маркерами на "комнаты", которые соединяются окнами - "порталами" через которые одна "комната" видна из другой. Это необходимо для быстрой отрисовки только того, что необходимо в данный момент. "Порталы", естественно, находятся как раз в дверных проёмах. Так вот, похоже, комбинация триггера с одностворчатой дверью глючит, если приходится на стык двух "комнат", на "портал".
chorik, СМИК и LAB это не форматы файлов! Это только способ представления цвета в Фотошопе. Просто так в некоторых случаях удобнее обрабатывать изображение. Так СМИК удобен полиграфистам (добавлен чёрный краситель), а LAB это по мнению Дэна Маргулиса вообще что-то вроде кувалды, когда для обработки изображений (если только они не совсем убиты) нужен ювелирный молоточек В памяти компьютера цвет представлен тремя числами (RGB). И на экран выводятся только они. Хотя бы потому, что там нет других люминофоров или цветов матрицы. Так что, преимущества СМИК можно оценить только в виде отпечатка, а у LAB их нет совсем, так как выводиться и сохраняться всё будет в RGB
Изменение репутации для пользователя Myprism
MyprismOffline
Сообщение №560
| Тема: Вопросы по скриптам Papyrus
написано: 5 ноября 2013, 06:18
| Отредактировано: Myprism - 5 ноября 2013, 12:08
В одном скрипте мне нужно манипулировать фракциями. Я передаю названия фракций скрипту в виде свойств скрипта. Но, как я понимаю, через свойства надо передавать только переменные, а у меня эти фракции для данного скрипта остаются константами. Как обратиться к названиям фракций внутри скрипта напрямую, не передавая их через свойства? Скрипт висит на магическом эффекте.
Добавлено (05 Ноября 2013, 10:18) --------------------------------------------- Ещё, как из скрипта на магическом эффекте запустить произнесение неписью слов из диалога одного из ванильных квестов? Поясню подробнее. Мы можем установить любой квест на любую стадию. Например, квест женитьбы можно поставить на стадию 10 или 20. Но в промежутке идёт диалог с ГГ с потенциальным супругом. ГГ спрашивает, нравится ли он, получает утвердительный ответ, дальше его очередь отвечать. Вот мне нужно то, что произойдёт дальше в случае отказа ГГ. Т.е. мне нужно перевести квест скриптом вот в эту точку отказа главного героя со всеми вытекающими последствиями, главным из которых является текст произносимый отвергнутой невестой (женихом).
spok2, Нужны триггеры, пробуждающие скелетов. Образцы того, как это сделать, посмотри в интерьере WarehouseAmbushes. Вообще, интерьеры Warehouse сделаны специально для обучения. Это образцы, как надо делать.
spok2, тогда надо убедиться, что в скрипте триггера стоит условие фиксации только игрока. Или изменить скрипт и сохранить как новый. В первом попавшемся мне стоит if(actorRef == game.getPlayer() || (playerAndAlliesOnly && IsPlayerAlly(triggerRef)) || (playerOnly == False && playerAndAlliesOnly == False)) Как я понимаю, без игрока это срабатывать не должно
spok2, всё сильно похоже на "грязный" сейв. Там сохранены какие-то предыдущие эксперименты с этими триггерами. Надо пробовать на чистом сейве, который был сделан до того, как началась работа с триггерами.
Samund, Довольно давно я помучился с этим тоже. В Скайриме есть несколько способов заточения в темницу. Мне больше понравился вариант со скриптованной дверью. Дверь надо искать по сочетанию букв Prisoner. На ней висит скрипт, в котором в виде свойств надо указать ссылки на своих зэков (их может быть несколько в одной камере). Но ещё надо побеспокоиться от том, чтобы клетка была достаточно просторна для выбранной твари, иначе тварь может объявиться не внутри, а снаружи
nine-dragon-art, Лава не из родного Скайрима, а из дополнений. Надо настроить редактор, чтобы он видел дополнения. Это обсуждалось в данной ветке, а сейчас должно быть в рафинированном виде в соседней (справочник по редактору).
valambar, Чтобы добывалась руда, нужно поставить маркер добычи (фурнитура) и связать его с жилой. Кроме того, жилы не должны перекрываться, иначе их работа может нарушаться.
alexwar, valambar, позволяет, но: 1. Только у голого тела. Игроку невдомёк, что в большинстве случаев, когда он оденет броню, то одновременно оденет и тело, входящее в состав брони, которое полностью отменит все его игры с надуванием груди и попы. Закрытая броня просто уберёт его модификации вместе с модифицированным телом. Проблемы возникнут при использовании сложной открытой и многокомпонентной брони, которая создаётся только под конкретное тело и не содержит собственного тела внутри себя. 2. Кристина не раз объясняла, что любые слайдеры страшно искажают натянутую на тело текстуру. Вот только что сам столкнулся с такими искажениями: надел на CBBE (тело входит в состав киборга) кольчугу, а под грудью с колечками её такой ужас приключился - хоть плачь.
Вопрос спецам: в модели можно поставить цвет вертексов. Для тел и брони он либо не стоит, либо там одни единички, т.е. белый цвет. Для прочих предметов там могут быть проставлены реальные, причём разные для разных вертексов цвета. В таком случае, это полезная функция. Но вот как лучше поступить с бронёй: 1. Поставить там белый цвет и флаг шейдеров показывать цвет вертексов. 2. Не ставить там ничего и не ставить соответствующего флага шейдеров? В первом случае, размер файла модели будут больше, но будет ли различаться вид моделей в игре?
Потому что мод оказывается к нему привязан, т.е. не будет работать у игрока без SKSE. Это право игрока решать, что ему ставить, а что нет. Если моду что нужно, то оно должно быть включено в мод. А вот с SKSE так поступить нельзя, так как он зависит от версии игры. Так что, его использование - безусловный минус. Неизбежное зло, с которым я смирился.