valambar, попробуйте этот патч: Неофициальный патч Скайрима Прочитайте внимательно его описание.
Увы, все то же самое - виснет на глваном меню и без курсора.
Добавлено (25 Января 2015, 19:59) --------------------------------------------- Помогло - удалить из папки Мои документы - MyGames папку Skyrim. После этого она заново создалась и игра пошла.
Чанк мерж работает у меня лучше всего на моделях, сделанных с нуля - сделал модель, потом сделал низкополигональную копию, сохранил в два отдельных файла, и потом мержай на здоровье;) Лишь бы пример, с которого берутся параметры, был правильным - для статика статик, для пинаемого объекта пинаемый. Для деревьев честно - мне это слишком сложно. У них там коллизия статичная? Если да, то тогда все так же просто, как для статиков.
1. Не с выбором старта, как в Живи другой жизнью или Свободный Скайрим 2. Не требующий вмешательства в Ини и сторонних файлов, которые надо выполнять через консоль, как один из старинных модов.
То есть должно быть - начинаешь в определенной локации и сразу меню выбора расы.
В принципе может мод и не будет нужен, если кто-нибудь сведущий в скриптах и конструкторе объяснит, где можно написать, что новая игра начинается вот в этой локации.
В Обливионе и Фоллаутах это было просто - ищешь квест генерации персонажа и находишь в результирующем скрипте стадии помещение в данную локацию, а в Скайриме я такого не находил.
Подскажите, пожалуйста. Мне нужно создать заклинание телепортации в определенную локацию. Если не трудно, распишите, как это сделать пошагово.
Пошагово не могу - сам недостаточно разбираюсь в скриптах - а без скрипта здесь не обойдешься. Нужно создать заклинание со скриптовым эффектом, в котором есть команда перемещения игрока к заранее помещенному в данной локации маркеру. У маркера должно быть свое имя референса (заполняется в меню редактирования объекта при помещении в мир). Но вот конкретно как должен выглядеть скрипт - не скажу. Думаю, скриптеры здесь есть, подскажут (заодно и мне подскажут, как вместо случайного выброса игрока в моде альтернативного старта сделать перемещение его в конкретную локацию).
А в случае начала игры - чтобы игрок не начинал сцену в Хелгене, а сразу попал в конкретную локацию и появилось меню выбора расы? Здесь, как я понял, только команда MoveTo останется, а остальные проперти и условия эвента надо будет какие писать?
[Поражаюсь, сколько лишнего теперь надо писать по сравнению с языком Обливиона А новых возможностей опять же по сравнению с Обливионом не так уж и много.]
И кстати, почему-то обливионовский синтаксис в консольных командах по прежнему работает, а в скриптах нет. Есть какая-нибуь возможность сказать скрипту "читай как в консоли"?
Или вообще отключить автозапуск главного квеста и создать свой собственный, который бросит игрока в нужное место. А главную квестовую цепочку можно будет запустить позже с любого этапа.
Получается, я с этого квеста снимаю галочку StartGameEnabled, а создаю новый - но с этой галочкой. И там создаю стадию. Дальнейшие мои действия? Почему спрашиваю - когда я так попытался сделать, почему-то окошко результирующего скрипта окрашивалось серым, то есть я ничего не мог прописать. Как сделать окошко редактируемым? Ну и само собой разумеется - как прописать результирующий скрипт?
Добавлено (16 Февраля 2015, 00:44) --------------------------------------------- О, кажется, я нашел, где прописывается начальное положение игрока в начальном квесте! Надо только создать новую локацию и маркер в ней, к которому надо его отправлять. Сейчас буду пробовать.
Добавлено (16 Февраля 2015, 01:03) --------------------------------------------- НИчего не получается - ругается вот так:
Starting 1 compile threads for 1 files... Compiling "QF_MQ101_0003372B"... D:\Games\TES V - Skyrim\Data\Scripts\Source\temp\QF_MQ101_0003372B.psc(2797,24): variable aaaMyChargenMarker is undefined D:\Games\TES V - Skyrim\Data\Scripts\Source\temp\QF_MQ101_0003372B.psc(2798,0): variable showracemenu is undefined No output generated for QF_MQ101_0003372B, compilation failed.
Batch compile of 1 files finished. 0 succeeded, 1 failed. Failed on QF_MQ101_0003372B
Мод все равно несмотря на ругательство сохраняется, подключаю - все равно начинаю с повозки.
Теперь попробую отключить этот квест и создать новый. Но тогда скорее всего будет серое окошко результирующего скрипта, как я раньше пробовал.
Добавлено (16 Февраля 2015, 01:05) --------------------------------------------- Да, как и тогда - создал, а окошко "папирус фрагмент" серое. Что надо сделать, чтобы можно было туда прописать отправление игрока к маркеру?
Там проще простого во вкладке Quest открой MQ101, перейди во вкладку Quest Aliases и кликни 2 раза лкм по PlayerStartMarker, откроется окно и Specefic Reference выбери свой маркер где ты хочешь чтобы игрок начал игру.
Попробую - а то я как в Обливионе пытался, а он мне разводит руками и гворит КУ
Попробовал - там получается, что создается персонаж в новой локации, но при этом звуки и музыка как в оригинальном начале игры и меню расы только с консоли. Ну и потом нельзя переключиться в вид от 3 лица. Какие-то еще условия из других стадий надо отметить выполненными.
Добавлено (17 Февраля 2015, 11:45) --------------------------------------------- Создаю новый квест. Пробую привесить к нему скрипт - на нажатие кнопки AddScript конструктор отвечает вылетом. Как это исправить?
Помогите найти - где в скриптах модов на альтернативный старт игрока отправляют куда-нибудь случайным образом и как этот фрагмент скрипта изменить, чтобы игрок отправлялся строго в одну указанную локацию.
А если кто-то уже поменял, то может, покажете мод - и где это изменено.
Добавлено (18 Февраля 2015, 16:39) --------------------------------------------- В в общем, продолжаю разбираться с альтернативными началами. После некоторых советов и поисков создал новый квест, сделал его стартовым и исполняющимся однажды, привесил к нему вот такой скрипт:
Еще я в глобалах нашел переменную MQQuickStart и присвоил ей значение, которое не фигурирует в главном квесте - там от 0 до 4, а я поставил 5. Соответственно и условие выполнения стадии моего квеста поставил тоже значение переменной 5.
По идее должно быть, что в начале меня переносит к созданному мной маркеру и далее появляется расовое меню. Но так не происходит. Вместо этого загрузочный экран белеет, проскакивают мессажи других модов, и потом загрузочный экран чернеет и так остается. Разумеется, расу я выбрать не могу.
Что мне еще нужно сделать, чтобы альтернативный старт заработал?
Изменение репутации для пользователя valambar
valambarOffline
Сообщение №312
| Тема: Вопросы по скриптам Papyrus
написано: 18 февраля 2015, 13:49
| Отредактировано: valambar - 18 февраля 2015, 13:49
Я же писал как сделать старт игрока) и не надо таких замудреностей)
Если делать так - то начало действительно начинается в выбранной локации, но... игрок не может посмотреться в виде ни от первого, ни от третьего лица, ни посмотреть инвентарь нельзя. Так что начал я ковырять другой мод альтернативного старта и убирать оттуда все случайности. Но очевидно, чего-то важного не добавил. То ли до перемещения игрока, то ли сразу после и перед меню расы.
Я знаю, только не в консоли же его вводить. Вводить надо в стадию квеста. В общем, есть варианты - быстрые старты нескольких видов уже предусмотрены в игре, можно их отредактировать.
В общем, опять спрашиваю - что делать, если конструктор всегда в 100% вылетает при нажатии кнопки AddScript? Причем в любых вкладках - объектных, квестовых и т.д.? Редактируются скрипты спокойно, а вот не было скрипта и надо добавить - все, конец фильма.
Кстати, на случай, если это совсем нерешаемо - добавить скрипт через TES5Edit возможно?
Изменение репутации для пользователя valambar
valambarOffline
Сообщение №315
| Тема: Вопросы по скриптам Papyrus
написано: 21 февраля 2015, 09:13
| Отредактировано: valambar - 21 февраля 2015, 09:13
Дело в том, что я как раз пытаюсь - и получаю неудовлетворительный результат. Сейчас меня интересует - что нужно ОБЯЗАТЕЛЬНО, чтобы начальное помещение игрока в нужную локацию ВСЕГДА работало в начале игры.
Получается не так, как надо (загрузочный экран не уходит) - даже если я копирую результирующий скрипт стадии из варианта быстрого старта самогО главного квеста и меняю только имя маркера на тот, что предварительно создал. Выходит, что-то теряю, чего нельзя было терять.
Добавлено (21 Февраля 2015, 09:28) --------------------------------------------- Проблему решил. Теперь знаю, что команда moveto не работает, если маркер не указан в пропертях скрипта. Сменил маркер на свой не где-нибудь, а в менюшке редактирования проперти (саму проперть при этом оставляя в скрипте как есть) - игрок послушно возникает в начале игры в выбранной локации.
Теперь следующий вопрос. Как правильно оформить действие, аналогичное обливионовскому - объявить переменную (допустим, назвав ее short button), а потом создать мессажбокс с вариантами и написав set button to getbuttonpressed. Это в Обливионе. В Скайриме эта функция тоже есть. Вот у меня есть активатор, который при активации уже выдает мессажбокс. У него есть три варианта ответа. Как теперь присвоить эти варианты объявленной переменной?
Добавлено (21 Февраля 2015, 12:13) --------------------------------------------- Аналогичный вопрос - с функцией unloсk. Как ее оформить, чтобы она работала?
Если что-то не понятно в скрипе, скажи я объясню тебе.
Сейчас попробую - если сработает (подставлю свои варианты вместо дебугнотификашен ), то заранее благодарю. Там надо, чтобы при одном из вариантов открылась дверь, которая сейчас закрыта, а в двух других на игрока я наложу эффект поражения морозом, чтобы замерз медленно, но насмерть
И ещё вопрос: каким образом можно ПОНИЗИТЬ стадию квеста? SetStage() в этом случае не работает.
Можно в квесте поставить галочку AllowRepeatStages - тогда вроде Setstage может работать на установку более ранней стадии. Проверьте, если я неправильно сказал.
Изменение репутации для пользователя valambar
valambarOffline
Сообщение №318
| Тема: Вопросы по скриптам Papyrus
написано: 22 февраля 2015, 16:20
| Отредактировано: valambar - 22 февраля 2015, 16:20
В общем, двигаемся дальше. Команда setlocklevel может только УСТАНОВИТЬ уровень сложности замка, но там 0 - это уровень "новичок", я пробовал даже ставить -1 - все равно"новичок", а мне надо именно ОТКРЫТЬ замок скриптом, а команда unlock не компилируется Ну и что теперь делать бедному крестьянину?
Это с какого же бодуна разработчики Папируса так нагадили бедным модмейкерам?
В общем, у кого есть решение, как скриптом открываются замки?
Добавлено (22 Февраля 2015, 19:48) --------------------------------------------- Благодарствую - работает!
Добавлено (22 Февраля 2015, 19:49) --------------------------------------------- Сейас будем накладывать на другие варианты заморозку
Добавлено (22 Февраля 2015, 21:17) --------------------------------------------- Так, опять загвоздка. Создаю спелл "способность" с постоянным морозным эффектом "на себя". Указываю его в пропертях скрипта. Пишу Game.Getplayer().AddSpell(FrostEmergency). Скрипт компилируется. В игре - идет указание, что "Аварийная заморозка" добавлено игроку. Но у игрока никаких новых эффектов не появляется!
Что-то опять не так...
Изменение репутации для пользователя valambar
valambarOffline
Сообщение №320
| Тема: Вопросы по скриптам Papyrus
написано: 22 февраля 2015, 19:22
| Отредактировано: valambar - 22 февраля 2015, 19:36
valambar, если в маг. эффекте Ability установлен флаг "Hide in UI", в меню "Активные маг. эффекты" он отображаться не будет.
Но игрок и не замораживается по факту.
Может, есть примеры готового скрипта с наложением на игрока какой-нибудь смертельной гадости?
Кстати, проверил - нет такого флажка.
Увеличил мощность эффекта - игрок послушно сдох
Все, строим локацию дальше. Первый активатор в треугольных числах заставил разбираться, следующий заставит игрока решать квадратные уравнения А за неправильный ответ будем убивать его электрическим разрядом
Как вернуть состояние скрипта к начальному? Активатор выдает мессажбокс с несколькими вариантами, в нескольких прописан переход к следующему состоянию, а в одном по идее должен быть возврат в начало. Начало у меня Auto State Begin, выбор осуществляется в состоянии State Result, а конечное состояние State After. Так вот, GotoState "After" скрипт спокойно компилирует, а на GotoState "Begin" компилировать отказывается.
Какие еще варианты обнуления состояния есть?
Изменение репутации для пользователя valambar
valambarOffline
Сообщение №324
| Тема: Вопросы по скриптам Papyrus
написано: 25 февраля 2015, 17:22
| Отредактировано: valambar - 25 февраля 2015, 17:26
Анимированную модель я точно не создам, как сделать плавно движущиеся стрелки не знаю, о массивах действительно не слышал. Я думал, люди здесь помогают друг другу, а не повышают свой уровень самооценки
Ну не все так просто - я вот тоже не умею работать с массивами, а те, кто умеет - не всегда в состоянии объяснить В руководствах тоже много воды и тумана - ничего подобного OSFM (очень хорошая энциклопедия по скриптовому языку Обливиона) для Папируса я пока не видел. Так что пока у меня выход один - учиться делать ОЧЕНЬ простые скрипты, чтобы они работали. А потом дойти и до сложностей.
Кстати, движение стрелки можно прописать и без массива - командой поворота, повторяющейся через заданное количество секунд. Сам не знаю, как это сделать, но это должно быть типа рекурсивной команды "градусная мера стрелки = градусная мера стрелки + 6 градусов". А задержку прописать выбором интервала, допустим, в одну игровую минуту. Узнай, как это прописывается в Папирусе при помощи команд и переменных, и не надо будет никаких массивов. И модель не анимированная будет, а три статические модели - один статик циферблат и два активатора стрелки, на которые и будешь вешать скрипты с разной скоростью попорота. Я объясняю это не как знающий Папирус, а чисто умозрительно, но думаю, здравый смысл в этом есть.
Повторю вопрос. Как вернуть состояние скрипта к начальному - в смысле, допустим, есть вариант выбора, одни варианты отправляют св следующее состояние командой GotoState "ИмяСостояния", а один из вариантов - наоборот, возвращает в начальное. Когда я ставлю команду GotoState "Begin" (у меня обозначено начальное состояние Auto State Begin), именно эта команда не компилируется - хотя остальные отправки к следующим состояниям работают.
Изменение репутации для пользователя valambar
valambarOffline
Сообщение №326
| Тема: Вопросы по скриптам Papyrus
написано: 25 февраля 2015, 21:51
| Отредактировано: valambar - 25 февраля 2015, 22:16
Ну вообще-то для простеньких скриптов то что надо. Только вот почему при попытке заставить их прийти обратно к началу какой-то бунт... Короче, как вернуть все к исходному состоянию самым коротким путем?
О, кажется, нашел. Если состояние вообще не объявлять, то можно в начальном событии активации указать переход в состояние, а в вариантах внутри состояния один обозначить как переход к пустому состоянию, то есть фактически к блоку вне состояний. Скрипт скомпилировался, посмотрим, будет ли он работать.
Да, работает.
Правда, теперь возник следующий вопрос - я вот спрашивал про modactorvalue - оказывается, это не то, что мне было нужно. Эта функция "подзеленивает" навыки - то есть изменяет результирующий навык, не меняя базового. А тогда какой командой можно повысить навык, допустим, как в обучении? Setactorvalue? тогда надо как-то написать типа setactorvalue("Lockpicking") = getactorvalue("Lockpicking") + 1? Как это написать правильно?
Ага. Методом господина Тыка нашел скомпилировавшийся вариант float Lockpickingvalue Lockpickingvalue = GetPlayer().GetBaseActorValue("Lockpicking") + 1 GetPlayer().SetActorValue("Lockpicking", Lockpickingvalue)
Интересно, он будет работать как повышение навыка с объявлением, что навык повысился и вкладом в повышение уровня?
Добавлено (26 Февраля 2015, 01:45) ---------------------------------------------
Цитата Dsion
Извини. Просто Папирус - единственный язык из мне знакомых, в котором есть эти состояния. А я привык обходиться без них и не вижу в них смысла.
В Обливионе роль состояний выполняли переменные - назначаешь следующее значение переменной и соответствие функций этому значению - и скрипт работает по другому, чем при другом ее значении. Здесь фактически то же самое, но переменных не объявляешь, а отправляешь действие скрипта в разные блоки состояний. Для начинающих как раз удобно - меньше надо думать Пожалуй, единственный момент Папируса, более удобный для новичков. Все остальное - я долго ахал и охал, когда узнал, что он бюрократически запрашивает проперти и отказывается признавать функцию, если она в пропертях не указана
Добавлено (26 Февраля 2015, 01:49) --------------------------------------------- Опять немного не то. Повышение навыка теперь не "зеленое", а "белое", но влияния на повышение уровня нет. И какой же командой повысить навык так, чтобы это работало как повышение навыка в обучении?
Здравствуйте, подскажите плз как одеть броню из мода, например, всем легатам империи или кто-то еще? они почему просто голые стоят и все(((
Где они стоят голые? В конструкторе или в игре? Может быть такая ситуация, что они используют левельные вещи - а они в конструкторе не отображаются, но генерируются в игре. Аналогично если вещи вставить в аутфит - то же самое, в конструкторе может не отображаться. Так что все манипуляции с добавлением вещей надо проверять в игре.
valambar, в игре стоят голые((( аутфит создаю, в Киде проверяю - все норм, а в игре сплошь нудисты((
Хм, особенностей у самого аутфита нет, у неписей есть два аутфита - обычный и спальный. По идее ничего не должно препятствовать отображению. Можно попробовать отменить, сохранить и снова переназначить и опять сохранить.
А, вот еще такая вещь. Если вещи из мода - надо посмотреть, стандартные они слоты занимают или вдруг какие-нибудь левые. Причем если слот модели (его надо смотреть в Нифскопе) не соответствует слоту в конструкторе - такая одежда отображаться не будет, я сам с этим сталкивался.