У меня вопрос: Хочу сделать заклинание, которое будет вешать на игрока корпспейнт. Создал текстуры, создал в крейшен ките Текстурный сэт. Можно это как-то кинуть на игрока по заклинанию? Или по скрипту? Буду рад, если ответите...
Добавлено (25 Июля 2017, 14:11) --------------------------------------------- Ну сколько можно просить, активируйте, пожалуйста мой мод. Народ уже волнуется, когда не может найти тему...
Народ! Вы чего муть мутите? Проверять убийство игроком кого-то - это ж проще некуда!
Я давно видел в моде на новые заклинания (возможно, это Магия Апокалипсиса) заклинание "Плащ душ" - который захватывает души любого, кого убили вокруг... принцип действия до безобразия прост - заклинание-плащ (Archetype - Cloak)... в самом плаще прописать заклинание-концентрацию...
В заклинании-концентрации прописать скрипт на отслеживание смерти (akKiller - PlayerRef) и всё - все кто умирают будут засчитываться...
главное сделать область плаща по-больше (вдруг игрок кого-то с лука или заклинания на расстоянии 9000 м долбанёт)...
а сам плащ можно сделать как Абилку (постоянный эффект на себя) и либо сразу в игрока запихнуть, как заклинание, либо через перк, который чисто для игрока сделан...
Сам уже так 5 ритуальных заклинаний состряпал - всё прекрасно работает!
при открытии файлов можно нажать на кнопку Details. Там будут написаны все изменения, которые данный файл вносит. Можно нажать кнопку Delete и удалить изменение... если я, конечно, правильно понял проблему...
неиспользование его будет сильно нагружать процесс... контроль качества текстур есть 2: увеличение разрешения (с 2К до 4К, допустим) и увеличением разрешения в игре (поставить на ультра). Оба этих способа увеличат отображение текстур. А отсутствие мир-карт вообще не выход.
Добавлено (23 Июля 2018, 20:27) --------------------------------------------- В общем, мистика закончилась, господа! О чём это я?.. ах да: В своём комментарии я писал о некой программке, которая читает DDS и кубмапы... о том, какая она хорошая, а так же, что после переустановки винды я её не нашёл на просторах Интернета... оказывается, она всё это время была у меня на компе - в самых потаённых уголках Облака. Если кого заинтересовала подобная вещь (аналогов которой я даже близко не смог найти нигде), то вот ссылка: https://drive.google.com/open?id=12Vyfifxla05ZKNrmttlmVadorT47pCTX
ищи формлисты с названием Atr*** чего-то там... их 4: 2 для рецептов (с сигильским камнем [AtrFrgSigilStoneRecipeList]и без [AtrFrgAtronachForgeRecipeList]) и 2 для результатов (AtrFrgSigilStoneResultList и AtrFrgAtronachForgeResultList). В рецептах тоже используются формлисты (например, AtrFrg15VoidSalts).
Создаёшь свой формлист-рецепт, туда засовываешь всё, что нужно для создания, этот формлист засовываешь в формлист рецептов, а в формлист результатов засовываешь свою создаваемую вещь.
А вообще, эта тема никак не связана с моделированием - это вам в вопросы по СК надо...
maxcad, Слоты, по-моему, определяются СКСЕ... попробуй тут поискать...
Добавлено (20 Октября 2017, 19:11) --------------------------------------------- Давно я сюда не обращался с просьбами... но у меня один вопрос, который я не могу решить... не могли бы вы подсказать?
Как заставить контейнер выкинуть всё его содержимое? Есть заклинание, которое складывает предметы в этот контейнер, и есть заклинание, которое должно заставлять этот контейнер всё это выблевать...
просто так у меня не получилось... попробовал сделать с помощью формлиста - заклинание, которое убирает предметы, добавляет их и в сундук и в формлист (ясень пень, что туда добавляются не рефы, а формы, от того он и ФОРМлист). Скрипт высвобождения ящика запускает формлист и каждый раз заставляет ящик выкидывать предмет... но ничего не выкидывается... что я делаю не так?
Что интересно, всё компилируется, как ни странно... но не работает
Код который поглощает предметы и засовывает их в ящик
Код
ObjectReference property _LEXO_Container auto SPELL property _LEXO_Spell auto FormList property _LEXO_FRMLST auto
ObjectReference Tresh = Self.GetReference() ;ObjectReference _LEXO_ContainerRef = _LEXO_Container.GetReference() If akSource == _LEXO_Spell as spell _LEXO_Container.AddItem(Trash , 1, true) _LEXO_FRMLST.AddForm(Trash) Endif
Trash.Disable() Trash.Delete()
EndEvent
Код на активаторе, призываемом заклинанием, что бы переместить ящик и заставить его выгрузить всё
Код
ObjectReference property Container1 auto FormList property _LEXO_FRMLST auto Form Item
Container1.MoveTo(Self)
Int iIndex = _LEXO_FRMLST.GetSize() While iIndex > 0 iIndex -= 1 Item = _LEXO_FRMLST.GetAt(iIndex) Debug.Notification(Item) Container1.PlaceAtMe(Item) Container1.DropObject(Item) ; на всякий случай проверил обе команды - ничего не работает EndWhile _LEXO_FRMLST.Revert()
Помогите, пожалуйста...
Добавлено (20 Октября 2017, 20:21) --------------------------------------------- Может, использовать невидимого персонажа, вместо контейнера?
Добавлено (21 Октября 2017, 20:08) --------------------------------------------- Актёр не помог....
А если я одновременно несколько предметов? Скрипт сможет десятки разных предметов (книги, камни душ, доспехи) складывать в одном месте, а потом телепортировать в другое?
В ящик они перемещаются заклинанием... RemoveAllItems подходит только для того, что бы в другой ящик перекладывать (ну или персонажу)... а как заставить этот самый ящик потом выкинуть всё своё содержимое наружу? Я такой функции не нашёл... видимо, нельзя... жаль... спасибо за помощь!
Добавлено (23 Октября 2017, 19:15) --------------------------------------------- А может знаете способ нормально скриптом проходить через дверь, которая ведёт в другую локацию? OnActivate работает, но как-то не всегда так, как надо... активацию дверей делал через квест...
ObjectReference Tresh = Self.GetReference() ;ObjectReference _LEXO_ContainerRef = _LEXO_Container.GetReference() If akSource == _LEXO_Spell as spell _LEXO_Container.AddItem(Trash , 1, true) _LEXO_FRMLST.AddForm(Trash) Endif
Trash.Disable() Trash.Delete()
EndEvent
он переносит предмет, в который попало моё заклинание, в мешок. Всё работает, уже неделю балуюсь... Из этого мешка я легко переношу все предметы в другой контейнер... но хотел, что бы не в контейнер переносилось, а наружу выкидывалось... я такой функции не нашёл... полагаю, что вы тоже... так что, простите, если что-то не так написал - в голове-то всегда понятнее, чем снаружи... и спасибо за помощь...
Народ. Есть вопрос... кто-нибудь знает, как сделать такую модельку, что бы она была над персонажем (это я уже сделал), но при этом либо она сама крутилась, либо её текстура крутилась (вот в этом уже вопрос).
Знаю, что есть обходной вариант - сделать развёртку сферы, что бы при движении текстуры в одну сторону, она как бы крутилась по сфере... но для меня этот вариант не подходит... может быть, кто-нибудь знает как это сделать, или видел в Скайриме такую модельку? Потому что я, сколько не пытаюсь, не могу припомнить подобного...
Учитывая то, что с DLC появляются новые виды оружия (арбалет) и новые ветки деревьев (ликантроп и норсферату), то, очевидно, ESM имеют немного более широкие права, которые нам, простым смертным, неведомы... и разрабы их так закодировали, что мы ничего не сможем сделать, я полагаю... во всяком случае, за 6 лет модинга Скайрима кто-нибудь да догадался бы сделать что-нибудь, если бы это было возможно... поэтому, вывод приходит сам собой: мы ничего не сделаем с ESM... только подключая свои ЕэСПэшники...
@perture, благодарю за помощь! Ваши размышления натолкнули меня на мысль проверить кое-что... и оказалось, что с анимацией всё в порядке у меня - проблема была в другом: скриптовая команда "EnableAI(false)", оказывается, отключает не просто интеллект персонажа... для него просто перестаёт существовать понятие времени, и даже визуальные эффекты перестают быть анимированными (какой дикостью это для меня оказалось!). Так что, оказывается, даже мои крайне примитивные методы и те работают...
не всегда время является показателям невозможности чего то
да, не всегда. Но в этом случае это именно так и есть. Я видел много модов, которые пытались добавить новый вид существ, новый вид магии и новые виды оружия.
В случае с новым видом существ - в частности мод Undead и подобные им, пытались создать лича. Но ни в одном из них нету отдельного дерева навыков или даже более-менее удобного управления. Всё делается обходными путями: либо заклинаниями, либо с помощью MCM.
То же касается новых видов магии. Самый интересный, на мой взгляд, из подобных модов - Забытая магия (Forggoten Magic - Redone). Каждое заклинание прокачивается отдельно, но таланты сделаны с помощью, опять же, MCM. Все остальные либо вставляют свои таланты в деревья навыков, либо вообще не привязываются к каким-либо навыкам.
А про оружие это вообще отдельная история. Да, сделали моды на добавление копий и им подобные. Но и тут не обошлось без ухищрений. SKSE, FNISS и ещё куча различных дополнений пытаются это реальным, но даже с ними всё криво.
Потому что подобные вещи вшиты в движок игры. И только разрабы знают, как они это сделали. Я об этом с таким энтузиазмом говорю, потому что уже несколько лет пытаюсь найти ответы на эти вопросы, но никакого намёка на них нету. Люди даже Enderal сделали, потому что своё легче сделать, чем переделать то, что сотворили разрабы.
И я сомневаюсь, что мы с вами такие прям гении в Игроделанье, что сможем на это как-то повлиять (иначе мы бы уже давно состояли в какой-нибудь компании по разработке игр). А самые продвинутые мододелы либо вступили в какую-нибудь команду для сотворения мега-эпичной модификации, которая не доделает и половины работы и развалится, либо огорчились в Скайримском моддинге, потому что НЕ всё там возможно, как они мечтали... ну или им просто надоел Скайрим и они либо четвёртым Фоллычем занялись (хотя для него как-то маловато модов), либо вообще забросили это дело.
Если у вас что-то подобное когда-нибудь получится - это будет просто великолепно! Но боюсь, что шестые Свитки выйдут раньше. А там уже надо будет изучать новое творение разрабов...
У меня странный вопрос... делаю скрипт на проверку цены предмета - если цена слишком мала, то она считается неподходящей и возвращается обратно игроку... но проблема - проверка срабатывает неверно: я поставил проверку цены >= 30, а он принимает вещи только 3000+... и то не все... не пойму, что не так... не подскажете, может, эта функция работает иначе?
Код
GlobalVariable property _LEXO_Global auto Actor PlayerRef int property Price = 30 auto Message property _LEXO_Message auto
Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
PlayerRef = Game.GetPlayer()
If akItemReference.GetGoldValue() >= Price _LEXO_Global.SetValue(1) self.removeallitems() else self.removeallitems(PlayerRef) _LEXO_Message.Show(1) EndIf
EndEvent
Никаких фильтров, ничего, вроде бы, нету... что не так?
aleks100019, Ты бы для начала поменял бы пути текстур, что бы там русских букв не было (а точнее, что бы вообще начиналось со слова Textures\...)... к тому же, слишком мало данных... раскрой список своего шейдера на "броне", что бы посмотреть, правильно ли там у тебя галочки стоят... и не только галочки, но и вообще весь шейдер, по возможности, заскринь...
Добавлено (13 Ноября 2017, 09:12) --------------------------------------------- m4mk203, по поводу того, что бы спутники разбегались... тебя же, по-идее, должны грабить только вне города, правильно? В городе либо стражники тебя в тюрягу ведут, либо защищают от нападающих и никто тебя не выкинет за город... можно сделать проверку IsHostileToActor, т.е. любой, кто тебе не враг, будет бежать во время твоего поражения...
К сожалению без вас, Гуру-скриптеры, я никак... очередной вопрос:
Можно добавить новое зачарование прямиком в изученные? Хочу создать зачарования, которые нигде в мире нельзя было найти... если нет, то придётся просто добавлять новые зачарованные предметы в возможность создания...
Я-то понял, что это из фоллаута... просто мне интересно, почему это написано в теме про Скайрим?
А вообще, у меня вопрос всё тот же - можно как-то "выучить" новое зачарование? Т.е. предмета такого не существует, но игроку добавляет новое зачарование, которое он может накладывать...
Тебе прям дату точную нужно отслеживать? Или просто количество убийств?
Если просто количество убийств, то тут 2 способа:
1) Скайримский - в Скайриме уже ведётся счёт твоих убийств. Насколько я понял, определяется глобальными. Выбери раздел Global и впиши в фильтр Kill - там будет много разных... и убийства риклингов, и драконов и т.п. Хочешь статистику вписать куда-то, то просто впиши (без ковычек) "< Global="здесь твоя глобальная, которую ты хочешь считать" >" и тебе будет высвечено число, например, в магическом эффекте. Это определит все убийства, которые уже были сделаны раньше и которые будут сделаны дальше.
2) Скриптом. Повесить на игрока магический эффект (Постоянный "на себя"), который будет плащом. Плащ распространяет эффект, на котором висит скрипт
Код
; вписать какую-то переменную. Глобальную, числовую (int), дробную (Float), в которой будет вестись счёт. Допустим, это будет Global (GlobalVariable property gKilledCount auto)
Теперь при каждом убийстве будет заполняться глобальная. Но считаться будут только те убийства, которые совершены после того, как эффект начался. Так же можно диффиренцировать убийства, например, драконов отдельно, кроликов отдельно и т.п. Но тогда придётся на каждый вид существ свою переменную создавать.
В общем, надо больше данных... хотите конкретный ответ - задавайте конкретные вопросы...
Добавлено (17 Января 2018, 18:46) --------------------------------------------- А вот теперь вопрос от меня:
Продвинутые ребята, подскажите, пожалуйста, есть способ скриптом отслеживать использование Ту'ума? Я пробовал через "Event OnSpellCast", выбирая при этом третье заклинание в крике, но это не дало никакого эффекта... не подскажите?
Chank Merge самый лучший способ. Создаёшь модель статика. Создаёшь модель для коллизии, которая будет упрощённой версией статика. Отдельно экспортируешь обе модели. В статик копируешь BSX из другой подобной модели. Потом в Chank Merge присваиваешь коллизию... для статиков всегда срабатывает.
это-то я и обычным скриптом отследил... проблема именно с криками... квест, когда мы первый раз убиваем дракона, там есть "(Дополнительно: применить крик)"... я исковырял весь квест, но так и не понял, где там идёт отслеживание использования крика... в триггер-зоне, что ли?
В данном случае, очень даже согласен - Беседчики в этом вопросе ту ещё мороку создали, но... Если, например, создаёшь стол зачарователя, на котором тебе и череп, и змеи, и пентаграмма, то нафига вокруг всего этого создавать коллизию и в 2 раза увеличивать вес файла? Когда можно создать пентагональную коллизию? Или статуя, которая будет у тебя дома стоять где-то в углу... она может иметь до 5000 вертиксов... и нафига такая коллизия, если ты всё-ровно стрелять в неё не будешь? Так что, думать надо, когда создаёшь коллизию... как, впрочем, и везде... догматичность - всегда вред. Главное следовать принципам, которые помогут создать отличную коллизию... а эти принципы я описал выше.