• Прежде, чем задать вопрос, пожалуйста, убедитесь, что такой вопрос не задавался раньше. Старайтесь описать суть вопроса как можно подробней. • Прежде, чем опубликовать ответ на вопрос, пожалуйста, убедитесь, что обладаете необходимыми для этого знаниями. Старайтесь cформулировать суть ответа как можно лаконичней. • При желании ответить в приватном порядке, пожалуйста, воспользуйтесь ЛС. • При желании поблагодарить ответившего, пожалуйста, воспользуйтесь кнопкой "+" полезного сообщения.
Сообщения, не относящиеся к вопросам по скриптам Papyrus, ответам на них или уточнениям, являются оффтопом и могут быть удалены.
Красное солнце Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
Dsion, а у кольца на пальце? Когда оно приобретает ID?
Добавлено (02 Февраля 2015, 15:35) --------------------------------------------- Я уже говорил, что при обновлении мода в таком же кольце, но сохранённом в старом сейве не работает новый скрипт. Т.е. в новом и в старом кольце один и тот же скрипт работает по-разному. Это разные кольца. Различаться они могут только своим ID.
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №1383
написано: 2 февраля 2015, 13:33
| Отредактировано: Dsion - 2 февраля 2015, 13:31
Если на кольце энчант с магическим эффектом и скриптом, то RegisterForSingleUpdate должно работать (для эффекта, не для кольца). А если просто обычное кольцо без дополнительных мер, то у него нету своего ID, пока оно в контейнере. Регистрация для каких-то событий - это только малая часть того, чего с ним нельзя будет сделать...
Добавлено (02 Февраля 2015, 16:33) --------------------------------------------- На пальце - тоже нету... Выбросить в мир - появится... Можно в скрипт на кольце в любом месте добавить Debug.MessageBox(Self), чтоб проверить, есть ли у ниго личное ID.
Multigone, @perture, Dsion, большое спасибо! Сделал как посоветовал @perture: кольцо включает заклинание, а все свои функции я засунул в скрипт магического эффекта. Они работают и Update тоже работает. Это я проверил, просто вставив в его обработчик обратное переодевание и убедился, что оно происходит через 2 секунды Скорее всего, теперь и этот Update может быть уже не нужен. Те прежние слетания могли происходить в силу специфики скриптов на кольце. Но всё равно оставлю для надёжности
Это я проверил, просто вставив в его обработчик обратное переодевание и убедился, что оно происходит через 2 секунды
А зачем так сложно? Вроде как лог для этого ведется. А при наличии второго монитора на него можно вывести лог в режиме реального времени, и наблюдать работу.
Нид хелп. предупреждаю сразу: понятие о скриптах у меня нулевое, так что объяснять мне что-то и давать советы бесполезно, поэтому прошу добровольца написать мне скрипт (желательно без SKSE, но не принципиально). Скрипт должен вешаться на контейнер. И вот что делать: все помещенные в контейнер вещи заменять золотым эквивалентом спустя сутки (или двое, или трое неважно). Буду очень благодарна.
Вряд ли Вас устроит точность в +/- 300% Вот, к примеру, эбонитовые перчатки с зачарованием стоят 1000 монет, а функция показывает базовую стоимость перчаток - 275 монет.
Если что-то полезное придет в голову, я обязательно напишу. Ну или кто-то еще.
Изменение репутации для пользователя Revil
RevilOffline
Сообщение №1391
написано: 8 февраля 2015, 13:19
| Отредактировано: Revil - 8 февраля 2015, 13:19
В общем-то идея такая: Складывая в этот сундук лут гг не должен дико багатеть. Если бы он хотел дико багатеть он мог сам сходить и продать, а заодно и прокачать красноречие. Так что погрешность в меньшую сторону приветствуется, правда. Этот "сундук" будет открываться через диалог с компаньоном. И будет правильно, если вещи будут "перевариваться" с меньшим коэфициентом полезного действия, чем обычно.
Я бы предпочел сделать качественно... Чтоб этот коэффициент задавался вручную, а не оказался таким "как получится"... Но если ничего не придет в голову и никто другой не возьмется...
Я бы предпочел сделать качественно... Чтоб этот коэффициент задавался вручную, а не оказался таким "как получится"... Но если ничего не придет в голову и никто другой не возьмется...
Ваша воля. А я лучше молча подожду... так от меня точно будет больше пользы.
Попробовал еще несколько вариантов, но так и не получилось правильно определить цену зачарованных предметов. И не важно, был ли предмет найден зачарованным или зачарован игроком... Нельзя просто сделать этого компаньона торговцем, но с более низкими ценами?
Лично мне недостаток скрипта кажется не очень-то приемлемым, но, если хотите, я сделаю. Это не сложно.
Только уточните: 1. Должны ли 2 суток отсчитываться для каждого предмета отдельно. Или просто всё разом должно продаваться. 2. Какой должен быть коэффициент полезного действия сундука. И должен ли он зависеть от каких-то умений/перков игрока.
Добавлено (08 Февраля 2015, 21:52) --------------------------------------------- Сделал пока два простеньких варианта. В обеих нужно заполнить три Property: Gold001 --> Gold001 (можно Auto-Fill) Period - это промежуток между продажами лута в игровых часах (например 48.0 - это двое суток) - меньше 0.05 лучше не ставить. Efficiency - это КПД (например, 0.7 - это 70% от базовой цены предметов)
На всякий случае предупреждаю, что предусмотреть все возможные проблемы сразу бывает сложно даже для маленьких программок. Если что-то не так, пишите. Ну и если появятся новые требования к функционалу.
Помогите найти - где в скриптах модов на альтернативный старт игрока отправляют куда-нибудь случайным образом и как этот фрагмент скрипта изменить, чтобы игрок отправлялся строго в одну указанную локацию.
А если кто-то уже поменял, то может, покажете мод - и где это изменено.
Добавлено (18 Февраля 2015, 16:39) --------------------------------------------- В в общем, продолжаю разбираться с альтернативными началами. После некоторых советов и поисков создал новый квест, сделал его стартовым и исполняющимся однажды, привесил к нему вот такой скрипт:
Еще я в глобалах нашел переменную MQQuickStart и присвоил ей значение, которое не фигурирует в главном квесте - там от 0 до 4, а я поставил 5. Соответственно и условие выполнения стадии моего квеста поставил тоже значение переменной 5.
По идее должно быть, что в начале меня переносит к созданному мной маркеру и далее появляется расовое меню. Но так не происходит. Вместо этого загрузочный экран белеет, проскакивают мессажи других модов, и потом загрузочный экран чернеет и так остается. Разумеется, расу я выбрать не могу.
Что мне еще нужно сделать, чтобы альтернативный старт заработал?
Изменение репутации для пользователя lolososo
lolososoOffline
Сообщение №1399
написано: 18 февраля 2015, 13:43
| Отредактировано: lolososo - 18 февраля 2015, 13:44
Помогите найти - где в скриптах модов на альтернативный старт игрока отправляют куда-нибудь случайным образом и как этот фрагмент скрипта изменить, чтобы игрок отправлялся строго в одну указанную локацию.
Я же писал как сделать старт игрока) и не надо таких замудреностей)
Изменение репутации для пользователя valambar
valambarOffline
Сообщение №1400
написано: 18 февраля 2015, 13:49
| Отредактировано: valambar - 18 февраля 2015, 13:49
Я же писал как сделать старт игрока) и не надо таких замудреностей)
Если делать так - то начало действительно начинается в выбранной локации, но... игрок не может посмотреться в виде ни от первого, ни от третьего лица, ни посмотреть инвентарь нельзя. Так что начал я ковырять другой мод альтернативного старта и убирать оттуда все случайности. Но очевидно, чего-то важного не добавил. То ли до перемещения игрока, то ли сразу после и перед меню расы.
Изменение репутации для пользователя lolososo
lolososoOffline
Сообщение №1401
написано: 18 февраля 2015, 14:01
| Отредактировано: lolososo - 18 февраля 2015, 14:01
Если делать так - то начало действительно начинается в выбранной локации, но... игрок не может посмотреться в виде ни от первого, ни от третьего лица, ни посмотреть инвентарь нельзя.
Я знаю, только не в консоли же его вводить. Вводить надо в стадию квеста. В общем, есть варианты - быстрые старты нескольких видов уже предусмотрены в игре, можно их отредактировать.
Я знаю, только не в консоли же его вводить. Вводить надо в стадию квеста. В общем, есть варианты - быстрые старты нескольких видов уже предусмотрены в игре, можно их отредактировать.
Ну я и имел ввиду, что в стадии, либо в скрипте специальном.
Если отменить старт главного квеста и переместить игрока куда-то своим собственным квестом, то всё будет нормально. Он будет нордом в железной броне с полным контролем. А потом уже можно поменять одежду и сменить расу.
Если отменить старт главного квеста и переместить игрока куда-то своим собственным квестом, то всё будет нормально. Он будет нордом в железной броне с полным контролем. А потом уже можно поменять одежду и сменить расу.
Дело в том, что я как раз пытаюсь - и получаю неудовлетворительный результат. Сейчас меня интересует - что нужно ОБЯЗАТЕЛЬНО, чтобы начальное помещение игрока в нужную локацию ВСЕГДА работало в начале игры.
Получается не так, как надо (загрузочный экран не уходит) - даже если я копирую результирующий скрипт стадии из варианта быстрого старта самогО главного квеста и меняю только имя маркера на тот, что предварительно создал. Выходит, что-то теряю, чего нельзя было терять.
Добавлено (21 Февраля 2015, 09:28) --------------------------------------------- Проблему решил. Теперь знаю, что команда moveto не работает, если маркер не указан в пропертях скрипта. Сменил маркер на свой не где-нибудь, а в менюшке редактирования проперти (саму проперть при этом оставляя в скрипте как есть) - игрок послушно возникает в начале игры в выбранной локации.
Теперь следующий вопрос. Как правильно оформить действие, аналогичное обливионовскому - объявить переменную (допустим, назвав ее short button), а потом создать мессажбокс с вариантами и написав set button to getbuttonpressed. Это в Обливионе. В Скайриме эта функция тоже есть. Вот у меня есть активатор, который при активации уже выдает мессажбокс. У него есть три варианта ответа. Как теперь присвоить эти варианты объявленной переменной?
Добавлено (21 Февраля 2015, 12:13) --------------------------------------------- Аналогичный вопрос - с функцией unloсk. Как ее оформить, чтобы она работала?
Если что-то не понятно в скрипе, скажи я объясню тебе.
Сейчас попробую - если сработает (подставлю свои варианты вместо дебугнотификашен ), то заранее благодарю. Там надо, чтобы при одном из вариантов открылась дверь, которая сейчас закрыта, а в двух других на игрока я наложу эффект поражения морозом, чтобы замерз медленно, но насмерть
Форум » TES V: Skyrim » Мастерская » Вопросы по скриптам Papyrus (О скриптах Papyrus (Skyrim). Скриптеры не проходите мимо!)