Вверх Вниз


  • Страница 98 из 98
  • «
  • 1
  • 2
  • 96
  • 97
  • 98
Модератор форума: Kris†a™  
Форум » TES V: Skyrim » Мастерская » Вопросы по скриптам Papyrus (О скриптах Papyrus (Skyrim). Скриптеры не проходите мимо!)
Вопросы по скриптам Papyrus
sansuli  Offline Сообщение №1 написано: 31 Августа 2012 в 17:29 | Отредактировано: sansuli - Пятница, 17 Апреля 2015, 21:08


The Red Sun


194
Уроки по скриптованию на языке Papyrus
Прежде чем задать вопрос просмотрите вышеуказанные уроки.
ok

Красное солнце
Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
akigami  Offline Сообщение №2911 написано: 11 Апреля 2019 в 16:33


Странник


4
Цитата Dsion ()
Dsion

Большое спасибо     3 дня бьюсь и как то не додумался до этого)
да, при обращении к npc у него появляется диалог и при ответе нпс на этот диалог он должен попасть в группу, вариант с фракцией мне подошел больше, но появилась проблема, при компиляции кода:

Код
akSpeaker.AddToFaction(TFFaction)

вылетает ошибка:



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

Dsion  Offline Сообщение №2912 написано: 11 Апреля 2019 в 16:41 | Отредактировано: Dsion - Четверг, 11 Апреля 2019, 16:54



1272
akigami, наверное, не создал property TFFaction. А когда создашь, нужно еще не забыть заполнить.

Я уже плохо помню, но там, вроде, можно клацнуть по скрипту (TIF_??) правой кнопкой, выбрать что-то там про Properties, а потом нужно создать новую и заполнить (Fill). Тип: Faction. Если просто создать (но забыть заполнить), скрипт скомпилируется, но работать не будет.

akigami  Offline Сообщение №2913 написано: 11 Апреля 2019 в 17:57 | Отредактировано: akigami - Пятница, 12 Апреля 2019, 17:46


Странник


4
Цитата Dsion ()
Dsion


Да, оказалось ошибка была в этом, еще раз спасибо good

Добавлено (12 Апреля 2019, 17:45)
---------------------------------------------
Цитата Dsion ()
Dsion


Возможно ли ограничить кол-во членов фракции до 2-х ? например если 2 члена есть уже то диалога позвать в фракцию не будет

Dsion  Offline Сообщение №2914 написано: 12 Апреля 2019 в 18:29



1272
akigami, не припоминаю такого... В крайнем случае, можно добавить глобальную переменную (типа TFFactionMemberCount).
Когда добавляешь кого-то во фракцию, прибавляешь 1 к значению переменной. Убираешь из фракции - отнимаешь 1.
Тогда можно будет использовать условие GetGlobalValue  TFFactionMemberCount  < 2

akigami  Offline Сообщение №2915 написано: 12 Апреля 2019 в 20:42


Странник


4
Цитата Dsion ()
Dsion

Спасибо еще раз, то что нужно  thanks

•DarkBlood•  Offline Сообщение №2916 написано: 03 Мая 2019 в 15:58


Странник


7
Доброго времени суток. Появился такой вопрос, в квесте есть два ответа и один из них должен давать книгу, как должен выглядеть скрипт для выдачи этой книги?
Пытался через : Game.GetPlayer().AddItem() и в пропертис добавить книгу в качестве предмета, но не получилось.

Dsion  Offline Сообщение №2917 написано: 04 Мая 2019 в 04:01 | Отредактировано: Dsion - Суббота, 04 Мая 2019, 04:03



1272
•DarkBlood•, да так и делается... Если компилятор выдал ошибку, покажи, какую. А если не выдал, то 90% что ты забыл заполнить проперти.

Myprism  Offline Сообщение №2918 написано: 04 Мая 2019 в 07:06


Физик


1524
•DarkBlood•, еще, квесты нужно проверять с сохранения, в котором они еще не были начаты.

slastik  Offline Сообщение №2919 написано: 31 Мая 2019 в 14:46


Жаждущий


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

Event onLoad()
    PlayMySound()
EndEvent

Function PlayMySound()
    While Self.is3DLoaded()
        Sound01.PlayAndWait(Self)
    EndWhile
EndFunction


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

- Что это за горы стоят?
- А, это орки бегут!
Dsion  Offline Сообщение №2920 написано: 31 Мая 2019 в 15:52



1272
slastik, а без скрипта точно нельзя, да? Я пока не могу проверить... Лучше бы, конечно, без скрипта.

Не хочешь поискать ивент, который срабатывает в момент выхода игрока из локации? Можно проверить OnCellDetach() и OnDetachedFromCell().
Лучше запускать музыку в одном ивенте, а потом в другом останавливать по instance id.

Хрень в том, что в Скайриме не желательно писать функции, которые выполняются дольше одной секунды. Да и вообще, везде, где есть event loop (асинхронное программирование). Вернее, их лучше не вызывать в основном потоке. А, ладно, забудь.

Но если в Скайриме у тебя есть функция типа PlayMySound, которая выполняется дольше секунды, то что-то у тебя не так.

slastik  Offline Сообщение №2921 написано: 31 Мая 2019 в 16:20


Жаждущий


210
Цитата Dsion ()
Лучше запускать музыку в одном ивенте, а потом в другом останавливать по instance id.


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

- Что это за горы стоят?
- А, это орки бегут!
Dsion  Offline Сообщение №2922 написано: 31 Мая 2019 в 16:52



1272
slastik, ну сам смотри. Можно использовать не один Sound, а FormList саундов и выбирать случайный в самом скрипте.

slastik  Offline Сообщение №2923 написано: 31 Мая 2019 в 18:30


Жаждущий


210
Dsion, т.е. не закидывать 10 треков в один саунд, а сделать 10 саундов по одному треку в каждом и объединить в форм-лист? Ок, но как в этом случае добиться, чтобы скрипт постоянно воспроизводил случайные саунды из этого форм-листа, а не выбрал один саунд и гонял его по кругу?

- Что это за горы стоят?
- А, это орки бегут!
Dsion  Offline Сообщение №2924 написано: 31 Мая 2019 в 19:06



1272
Хотя да, хрен чо сделаешь. События "проигрывание закончилось" нету-то. Это разве что еще и длительность звуков указывать вручную. Лажово.

dint999  Offline Сообщение №2925 написано: 10 Июля 2019 в 01:10


Странник


12
Dsion, Есть ли возможность прописать в скрипт событие связанное со сменой локаций (а именно с загрузкой экранов)??? Смысл в том, чтобы ГГ\НПС снимал и надевал автоматом некий Armor, сразу после загрузочного экрана.

Иsкатель  Offline Сообщение №2926 написано: 10 Июля 2019 в 01:19 | Отредактировано: Иsкатель - Среда, 10 Июля 2019, 01:21


Начинающий


67
dint999, OnLoadOnCellLoad

StanislavD  Offline Сообщение №2927 написано: 20 Сентября 2019 в 12:54



123
подскажите, как сделать, чтобы алиас книги появлялся в инвентаре нпс и героя, а так же убирался. у меня 3 алиаса в квесте: ключ и 2 книги. ключ в инвентаре нпс и при определённой стадии квеста передаётся в инвентарь героя, одна книга поднимается и передаётся в инвентарь героя, а также из инвентаря героя в инвентарь нпс, и 3 книга должна быть в инвентаре нпс, но её там нет! хотя я помещаю как ключ указывая в нпс! (нпс алиас квеста)

valambar  Offline Сообщение №2928 написано: 21 Октября 2019 в 13:55



484
Цитата slastik ()
Мне нужно, чтобы рандомно воспроизводились разные треки, поэтому решил сделать, как мне показалось, простой скрипт.


А это можно сделать еще смешнее - сделать НЕСКОЛЬКО саундмаркеров, каждый из которых воспроизводит ОДИН саунд, и дизейблить-энейблить их квестовым скриптом.

Добавлено (21 Октября 2019, 13:57)
---------------------------------------------
Вопрос - можно ли сделать заклинание, меняющее высоту прыжка, не используя скриптовые функции SKSE?


Dsion  Offline Сообщение №2929 написано: 21 Октября 2019 в 14:03



1272
valambar, думаю, для этого вообще скрипт не нужен. Просто изменить Actor Value "JumpingBonus". Но если увеличить слишком сильно, то будет та же проблема, что и с летанием - мир для этого не предназначен.

valambar  Offline Сообщение №2930 написано: 22 Октября 2019 в 09:49



484
Цитата Dsion ()
Просто изменить Actor Value "JumpingBonus". Но если увеличить слишком сильно, то будет та же проблема, что и с летанием - мир для этого не предназначен.


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

Dsion  Offline Сообщение №2931 написано: 22 Октября 2019 в 15:44



1272
valambar, изменение jumpingbonus через консоль точно работает. 95%, что и магический эффект с типом "value modifier" тоже будет работать.

yakor77  Offline Сообщение №2932 написано: 04 Ноября 2019 в 18:32 | Отредактировано: yakor77 - Понедельник, 04 Ноября 2019, 18:36


Странник


3
Привет всем! Большое спасибо Сану за курс скриптологии. Вопрос: есть ли утилиты, способные склеивать пексы, то есть, их скрипты, автоматически. Так же, как, например, можно смержить в tes5edit, разные esp?
Конкретная проблема: есть пекс с активатором манекенов. Есть много вариантов такого пекса, но нет идеального. Самый лучший, какой мне известен, позволяет сделать манекен живым со сменой поз циклически, дать манекену до 10 видов брони и оружия, и сменить ему расу. И вот тут появляется баг с потерей головы. Тело у манекена - живое, а голова - деревянная. Есть другой пекс-активатор, там всё пофиксено, расы сменяются корректно, но функционал у него - бедный. Только 5 видов брони, и никакой динамики. Хотелось бы их склеить, не влезая в дебри программирования скриптов. Я декомпилировал оба пекса, паскаль изучал, в принципе структура понятна, но сам вручную склеить пока не могу, не хватает знаний и опыта именно по скриптовому языку игры. Такое автоматическое склеивание - возможно?
Спасибо.
С уважением, маг Иридий.

С уважением.
Маг Иридий.
Dsion  Offline Сообщение №2933 написано: 04 Ноября 2019 в 18:58



1272
yakor77, повесить оба скрипта на один объект легко, но 95%, что это не даст желаемого эффекта... Вручную исправить один из скриптов, подглядывая в другие, тоже можно. А так, чтоб склеить... автоматически... Не думаю... Ну я, конечно, не большой авторитет. Но я последние лет 5 активно изучаю программирование, использовал штук 10 разных языков и лично я не представляю, как такое можно провернуть.

yakor77  Offline Сообщение №2934 написано: 05 Ноября 2019 в 08:59 | Отредактировано: yakor77 - Вторник, 05 Ноября 2019, 09:06


Странник


3
Здравствуйте, Dsion, Вы пишете, цитирую: [quote=Dsion;1330064]yakor77, повесить оба скрипта на один объект легко, но 95%, что это не даст желаемого эффекта... Вручную исправить один из скриптов, подглядывая в другие, тоже можно. А так, чтоб склеить... автоматически... Не думаю... Ну я, конечно, не большой авторитет. Но я последние лет 5 активно изучаю программирование, использовал штук 10 разных языков и лично я не представляю, как такое можно провернуть.[/quote] конец цитаты.
Спасибо за ответ. Дело в том, что этот скрипт - единственный и уникальный, с таким именем другого быть не может. И он - глобальный, действует на все ванильные манекены сразу. Поэтому - только склейка. И, видимо, всё-таки - ручная. Я читал разные форумы, баг с головой - тоже глобальный и фундаментальный, такое происходит не только с манекенами. А, например, при смене тел NPC. Предлагается лечить через Ctri-F4 в Криэйшн Кайт. Есть другой мод, замечательный по богатству функционала. На 100 манекенов. Там проблем с головой нет. Но там надо вручную заморачиваться с установкой каждого отдельного манекена. А мне лениво делать это 100 раз. И хотелось бы в другом моде, где уже есть большой зал манекенов, одним скриптом, поменять все ванильные деревяшки - на живые и со сменой расы. Так что, без данного скрипта, для этой задачи - никак не обойтись. Видимо, всё же придется разбираться в логике автора, и пытаться сделать ручную склейку...
С уважением.
Маг Иридий.

С уважением.
Маг Иридий.
Myprism  Offline Сообщение №2935 написано: 06 Ноября 2019 в 20:17 | Отредактировано: Myprism - Среда, 06 Ноября 2019, 20:18


Физик


1524
yakor77, автоматически скрипты не склеиваются. Точно так же, как автоматически объединять можно только самые примитивные моды. Задача ваша решается написанием нового скрипта для манекенов под тем же названием. Чтобы это сделать, вы должны разобрать детально, что делают эти скрипты и написать свой с нужным вам функционалом. Менять позы - без проблем. Живые манекены? - Это самое лёгкое. Они же сделаны как живые персонажи. Заморозить манекен уже потруднее. Расы меняются легко, а вот пол - фигушки, скриптом не делается.

Бага с головой, который исправляют Ctri-F4 в Скайриме нет. А есть непонимание, как в Скайриме работают головы. Персонажа можно создать в редакторе. Но эти изменения игра не примет. Игре нужна сохранённая модель головы с применением соответствующих морфов и полноты. Вот только с этой моделью (и текстурами к ней) игра и будет работать. Чтобы приготовить такую модель и текстуры для игры, нужно нажать Ctri-F4. Сделано это для оптимизации производительности. Движок игры не успевает синтезировать головы со всеми морфами и раскрасками налету, поэтому всё должно быть приготовлено заранее.

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

yakor77  Offline Сообщение №2936 написано: 07 Ноября 2019 в 13:30


Странник


3
Здравствуйте, Физик!

Большое спасибо за подробный, развернутый ответ.
Мне хотелось получить результат минимальными усилиями. Вы пишете, что это невозможно, и нужен новый скрипт. Возможно, я когда-нибудь этим и займусь. Но сейчас на это у меня нет ни свободного времени, ни особого желания.
Плагин, который придает такой богатый функционал манекенам, меня вполне устраивает. Ладно, фиг с ней, с головой, для музея всё равно они практически у всех фигур будут под шлемами. Не критично. Делать голову, как шлем, или часть тела - это получить её статичной болванкой, и в этом, по сути, нет разницы, между уже имеющейся деревянной головой, и новой, возможной. Вся фишка была - как раз в мимике. А проблема в том, что игра не запоминает сделанные изменения. То есть, голову можно сделать живой, но при следующем посещении локации, она вновь сбрасывается на деревянную. Рекомендация автора пекса (выйти по дефаулту, и пересохраниться на чистый сэйв) - тут не помогает.
Короче, для подвальной кузницы [1] и музеев [2, 3] я решил оставить этот богатый пекс-активатор [4], а для домов ГГ - поставить с заменой вручную "полностью живые" манекены из [5]. Там их немного. Такое решение мне представляется оптимальным по балансу нагрузки на память и процессор компьютера. Ранее был упомянут бедный на функционал, но сохраняющий голову с мимикой и меняющий расу, плагин [6].
Благодарю всех за внимание и помощь, вопрос закрыт.

Моды и плагины (убрать пробелы, а то робот ругается):
--------------------
1. Подвал кузнеца / Blacksmith's Basement by Bluntaxe h t t p : / / w w w . nexusmods . com/skyrim/users/2521167
2. Хранилище коллекционера h t t p s : / / w w w . playground . ru/files/tes_5_skyrim_hranilische_kollektsionera-70221/
3. Музей на столе / Museum on a table h t t p s : / / gamer-mods . ru/load/skyrim_le/doma_i_lokacii/museum_on_a_table/15-1-0-1542
4. MannequinActivatorSCRIPT h t t p : / / tiarum . com/wiki//MannequinActivatorSCRIPT
5. Манекены с анимацией h t t p : / / gamer-mods . ru/load/tes_v_skyrim/gejmplej_i_animacija/manekeny_s_animaciej/16-1-0-1755
6. Фикс манекенов / Mannequin Script Fix h t t p s : / / w w w . playground . ru/files/tes_5_skyrim_mannequin_script_fix-69803/

С уважением.
Маг Иридий.

С уважением.
Маг Иридий.
Форум » TES V: Skyrim » Мастерская » Вопросы по скриптам Papyrus (О скриптах Papyrus (Skyrim). Скриптеры не проходите мимо!)
  • Страница 98 из 98
  • «
  • 1
  • 2
  • 96
  • 97
  • 98
Поиск: