• Прежде, чем задать вопрос, пожалуйста, убедитесь, что такой вопрос не задавался раньше. Старайтесь описать суть вопроса как можно подробней. • Прежде, чем опубликовать ответ на вопрос, пожалуйста, убедитесь, что обладаете необходимыми для этого знаниями. Старайтесь cформулировать суть ответа как можно лаконичней. • При желании ответить в приватном порядке, пожалуйста, воспользуйтесь ЛС. • При желании поблагодарить ответившего, пожалуйста, воспользуйтесь кнопкой "+" полезного сообщения.
Сообщения, не относящиеся к вопросам по скриптам Papyrus, ответам на них или уточнениям, являются оффтопом и могут быть удалены.
Красное солнце Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
Ладно, перейдем к следующему вопросу Х) Копаюсь в квесте на усыновление детей. При разговоре с бездомным ребенком, когда предлагаешь дом, есть скрипт, суть которого осталась мне непонятна. ;BEGIN FRAGMENT Fragment_0 Function Fragment_0(ObjectReference akSpeakerRef) Actor akSpeaker = akSpeakerRef as Actor ;BEGIN CODE ;Initial house will be in Whiterun... akSpeaker.SetAV("Variable07", 8) ;END CODE EndFunction ;END FRAGMENT
Уважаемые, кто-нибудь может подсказать, что это за -"Variable07", 8? Потому, что мне ли нужно создавать где-то свою подобную переменную, либо выбирать из используемых в игре...
Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых. Джордж Бернард Шоу
Arin, если мне не изменяет память, она не работает. Когда мне нужно было делать проверку через условия, я пользовался, как уже подсказывал Dsion, GetIsCurrentWeather. Однако предусмотреть проверку погоды, добавляемой модами, в этом случае невозможно. Плюс для каждой ванильной нужно делать свою проверку (- быстродействие). Например:
(S) (IsInInterior) () (==) (0.0) (AND) (S) (GetIsCurrentWeather) (Weather:SkyrimOvercastRain) (==) (1.0) (OR) (S) (GetIsCurrentWeather) (Weather:SkyrimOvercastRainFF) (==) (1.0) (OR) (S) (GetIsCurrentWeather) (Weather:SkyrimOvercastRainMA) (==) (1.0) (OR) (S) (GetIsCurrentWeather) (Weather:SkyrimOvercastRainRE) (==) (1.0) (OR) (S) (GetIsCurrentWeather) (Weather:SkyrimOvercastRainTU) (==) (1.0) (OR) (S) (GetIsCurrentWeather) (Weather:SkyrimOvercastRainVT) (==) (1.0) (OR) (S) (GetIsCurrentWeather) (Weather:SkyrimStormRain) (==) (1.0) (OR) (S) (GetIsCurrentWeather) (Weather:SkyrimStormRainFF) (==) (1.0) (OR) (S) (GetIsCurrentWeather) (Weather:SkyrimStormRainTU) (==) (1.0) (AND)
Но ты проверь все же.
Изменение репутации для пользователя Multigone
MultigoneOffline
Сообщение №1595
написано: 13 июня 2015, 10:37
| Отредактировано: Multigone - 13 июня 2015, 10:55
Arin, это ActorValue, хранящее опред. информацию о актере, такую, как здоровье, сопротивление магии и проч. Очевидно, эта переменная отвечает за состояние актера, как "усыновлен игроком" (может, и ошибаюсь). Значит, чтобы добиться такого же состояния, нужно повторить эту команду в своем диалоге.
Однако, вот что говорится по этому поводу в вики:
Variable07
(Vampires) Track if the NPC has been bitten by the player.
(Wisp) Used to track when child wisps are dead, triggering berserk script.
AV нельзя создавать, только использовать.
Изменение репутации для пользователя Arin
ArinOffline
Сообщение №1596
написано: 13 июня 2015, 10:46
| Отредактировано: Arin - 13 июня 2015, 10:54
Arin, это ActorValue, хранящее опред. информацию о актере, такую, как здоровье, сопротивление магии и проч. Очевидно, эта переменная отвечает за состояние актера, как "усыновлен игроком" (может, и ошибаюсь). Значит, чтобы добиться такого же состояния, нужно повторить эту команду в своем диалоге. AV нельзя создавать, только использовать.
Хм.. Дело в том, что там разные значения условий. Не просто ("Variable07", 8), а у разных домов может быть: ("Variable07", 7), ("Variable07", 4) И тд... Вот я и пытаюсь понять, что они значат, если у каждой локации уникальный номер.. Вы не подскажете, где можно эти "Variable" посмотреть.
Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых. Джордж Бернард Шоу
Arin, возможно, на детей навешаны пакеты, которые проверяют эту переменную, и, в зависимости от ее значения, отсылают ребенка в указанный в одном из этих пакетов дом. Хз.
Изменение репутации для пользователя Arin
ArinOffline
Сообщение №1598
написано: 13 июня 2015, 10:57
| Отредактировано: Arin - 13 июня 2015, 10:58
Arin, возможно, на детей навешаны пакеты, которые проверяют эту переменную, и, в зависимости от ее значения, отсылают ребенка в указанный в одном из этих пакетов дом. Хз.
Тогда попробую проверить условия пакетов. Спасибо, что подсказали. А Вы случайно не знаете, что влияет на телепортацию лошади к маркеру лошади?) А то у меня что-то она не работает О_о Надеюсь, это не из-за дефолтной карты высот, что-то не хочется её переделывать...
Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых. Джордж Бернард Шоу
Arin, если телепортация осуществляется не с помощью MoveTo(), то не знаю. Если с помощью, тогда проблем быть не должно.
Даже не представляю О_о Там не без скриптов все. В локации экстерьера выбираешь маркер лошади (так и зовется Horse marker), выбираешь мап-маркер, и при телепортации по мап-маркеру лошадь должна была телепортироваться к лошадиному маркеру... Раньше у меня это работало, а тут не хочет. Может быть, по старой карте высот место слишком бугристое, но у меня не получается её делать, поэтому я очень надеюсь, что проблема в другом.
В любом случае, спасибо за попытку помочь)
Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых. Джордж Бернард Шоу
Вряд ли есть штатный способ переименования скриптов. Имя скрипта - это как имя класса в С++. Как тип переменной, если хотите. ObjectReference, Actor - это всё имена скриптом. Переименуем скрипт ObjectReference и тысячи других скриптов перестанут компилироваться.
Всем привет рад видеть, что тема жива и процветает в ожидании 6 свитков.
У меня вопрос насчет магического эффекта яда, который наносится на оружие с помощью алхимических зелий. Проблема в том, что он наносится только на 1 удар.
Если ли какая нибудь возможность с помощью кита или же скриптов для нанесения яда на большее кол-во времени или же бесконечно?
Ну или можно наделать кастомных ядов с любой длительностью действия. Даже сделать, чтоб на их силу влияли перки. Но с теми, что игрок сам варит на алхимическом столе, - не знаю, как сделать... Без SKSE - точно не знаю.
Ну или можно наделать кастомных ядов с любой длительностью действия
а причем там вообще длительность действия если они спадают с оружия после первого удара? их Duration мало на что влияет
Добавлено (16 Июня 2015, 16:33) --------------------------------------------- я имею ввиду длительность эффекта, который висит на нашем оружии. То что можно сделать длительность яда over time который вешает на врага при ударе это понятно, а как сделать так ЧТОБЫ после первого удара по врагу, яд не снимался с нашего оружия, а оставался дальше..?
Чо-то у нас проблемы с взаимопониманием :-D Я ничего не предлагаю. Я написал, что мне не приходит в голову способов, которые будут работать с теми ядами, которые создаются игроком на алхимическом столе. Может, кто-то другой что-то придумает и отпишет.
Изменение репутации для пользователя Multigone
MultigoneOffline
Сообщение №1615
написано: 16 июня 2015, 15:36
| Отредактировано: Multigone - 16 июня 2015, 15:37
nepewka, если я правильно понял, тебе нужно увеличить кол-во ударов, на которые хватит одного (любого) пузырька яда. Ванильное значение - на один удар; с перком ConcentratedPoison - на 2 удара. За изменение этой величины отвечает Entry Point -> Mod Poison Dose Count. Вроде все.
nepewka, если я правильно понял, тебе нужно увеличить кол-во ударов, на которые хватит одного (любого) пузырька яда. Ванильное значение - на один удар; с перком ConcentratedPoison - на 2 удара. За изменение этой величины отвечает Entry Point -> Mod Poison Dose Count.
на днях задался вопросом относительно магического эффекта замедления времени, который используется при одноименном крике. Качество замедления всегда задается магнитудой в самом магическом эффекте, но знает ли кто нибудь где задается замедление времени для самого игрока ?
как мы знаем, игрок замедляется вместе с общим течением времени. Но можно ли сделать так, чтобы игрок во время этого замедления двигался и атаковал с нормальной скоростью?
Slow Time Slows time for all but the player by the indicated amount (a multiplier, with 1 being normal time).
Тут пишут про Multiplier где задается замедление времени для игрока. Но что это за Multiplier и где он находится? если в магнитуде задаем замедление времени для всех, то где же для игрока?
Я плохо помню... Но разве игрок замедляется? Именно крик я не пробовал, но делал своё заклинание с замедлением времени и даже полной остановкой. Помню, что выпущенные стрелы и огненные шары просто висели в воздухе и никуда не летели... Но не помню, чтоб замедлялся игрок...
Форум » TES V: Skyrim » Мастерская » Вопросы по скриптам Papyrus (О скриптах Papyrus (Skyrim). Скриптеры не проходите мимо!)