Форум » Записи участника [Dsion]

Результаты поиска
Dsion  Offline  Сообщение №1141 | Тема: Вопросы по скриптам Papyrus написано: 7 ноября 2017, 21:00



m4mk203, OnHit срабатывает и от магии тоже. Больше ничего и нету. Разве что каждую секунду проверять ХП. А не хочешь сделать игрока неубиваемым? Тогда можно будет попробовать подцепиться к событию OnEnterBleedout()

Dsion  Offline  Сообщение №1142 | Тема: Вопросы по скриптам Papyrus написано: 8 ноября 2017, 20:58



m4mk203, а хрен как :( Если фолловеры управляются только ванильными квестами, то можно, а модовым ничего так просто не сделаешь.
Хотя, по-моему, это не основная проблема. Вот в Скайриме есть места, где за игроком закрывается дверь и он не может выйти, пока не победит противников. А что будет, если игрока победят с твоим модом? Без оружия-то у него шансов будет еще меньше. И выйти не сможет.

Dsion  Offline  Сообщение №1143 | Тема: Вопросы по скриптам Papyrus написано: 15 ноября 2017, 17:40



m4mk203, ну получишь ты референсы и что дальше? Как ты их "отпустишь"? Фолловеры управляются пакетами на квестах. Ванильного спутника или наемника отпустить - запросто. Серану - тоже. Но если установлены какие-то моды, но хрен ты им чо сделаешь.

Dsion  Offline  Сообщение №1144 | Тема: Вопросы по скриптам Papyrus написано: 3 декабря 2017, 01:48



Князь_Далик, скорее всего, нужен квест, в квесте Objective с маркером, а потом включать и отключать его через
https://www.creationkit.com/index.p....-_Quest

Dsion  Offline  Сообщение №1145 | Тема: Вопросы по скриптам Papyrus написано: 7 декабря 2017, 06:41



Lexo, в фоллауте 4 :)

Добавлено (07 Декабря 2017, 09:41)
---------------------------------------------
refusepit, не знаю, как в фоллауте, но в скайриме нельзя функцией moveto перемещать статические объекты, созданные в редакторе. Можно перемещать те, что были созданы уже во время игры функицей placeatme и у которых id начинается с ff. Если твой стул в редакторе поставлен, можешь поробовать создать перемещаемого клона.


Dsion  Offline  Сообщение №1146 | Тема: Вопросы по скриптам Papyrus написано: 7 декабря 2017, 09:29 | Отредактировано: Dsion - 7 декабря 2017, 09:32



refusepit, не, в Скайриме в консоли тоже не работает, если id не c FF начинается.
Попробуй еще вывести id форм перед moveto. В скайример это делается как-то так:
Debug.MessageBox(objStul);
Debug.MessageBox(akReference);
Вдруг ты забыл заполнить objStul и там NULL.

Ну и без disable|enable можно попробовать.
Должно работать... Ошибка явно в какой-то мелочи.

Dsion  Offline  Сообщение №1147 | Тема: Вопросы по скриптам Papyrus написано: 8 декабря 2017, 10:28 | Отредактировано: Dsion - 8 декабря 2017, 10:30



Князь_Далик,
1. Создаешь новый квест. Прописываешь ему ID и имя. Сохраняешь.
2. Открываешь снова квест, переходишь во вкладку Quest Aliases.
3. Создаешь новый Reference Alias. Прописываешь имя. Fill type изменяешь на Specific Reference, ставишь галочку Optional. Сохраняешь.
4. Переходишь во вкладку Quest Objectives. Создаешь новую Objective. В Target Ref добавляешь свой алиас. Запомнинаешь Index Objective. Сохраняешь.

5. В любом другом скрипте в любом другом месте создаешь Property типа Quest. Заполняешь своим квестом. Создаешь проперти типа ReferenceAlias заполняешь своим алиасом из своего квеста.
6. В любом месте этого скрипта пишешь:
myAlias.ForceRefTo(myTarget);
myQuest.SetObjectiveDisplayed(0, true);
Заменив myAlias и myQuest на имена, которые ты дал пропертям. myTarget - на цель (твой сундук). А ноль на id обджективы.

Если сундук есть и может быть только один, то можно сразу в алиасе указать конкретный объект. Тогда проперти алиаса и ForceRefTo не нужны.

Dsion  Offline  Сообщение №1148 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 8 декабря 2017, 17:35



gangrena1972, если на фразах только reset таймер, то по порядку. А если таймер и галочка Random (+ Random end на последнем), то произносятся все фразы в случайном порядке и, вроде как, на каждую отдельно вешается время сброса.

Dsion  Offline  Сообщение №1149 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 9 декабря 2017, 09:23 | Отредактировано: Dsion - 9 декабря 2017, 09:23



gangrena1972, ощущение ощущением, но я сделал мод и проверил в игре...

Dsion  Offline  Сообщение №1150 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 9 декабря 2017, 09:59



Игра просматривет список фраз сверху вниз. Находит первую, удовлетворяющую условиям. Если она не Random, то сразу её и произносит. А
если Random, то произносит одну из группы. (Начало группы - первая
фраза с Random, конец группы - фраза с Random End или фраза без Random).
Если на произнесенной фразе был Reset Timer или Say once, то она выпадает из списка (по крайней мере, до перезапуска игры).

Потому самые важные фразы должны быть на самом верху.
Если у тебя только один комментарий о Мшистой пещере, то галочка Random на
нем не нужна. Если несколько, то можно сделать и рандомный выбор, но вся
Random группа должна быть повыше в списке. И быть отделенной от следующей Random группы галочкой Random End.

Вот, например, в таком порядке можно было бы расположить фразы:

1. Самые важные комментарии.
2. Группа комментариев о конкретном месте (о Рифтене, например). Random End в конце группы.
3. Группа комментариев о типа места (город). Random End в конце группы.
4. Группа комментариев о здоровье игрока. Random End в конце группы.
5. Группа самых незначительных комментариев (о погоде, например). Random End в конце.

Чтоб не запутаться, лично я распределил бы это всё по разным квестам с разным приоритетом.

Dsion  Offline  Сообщение №1151 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 9 декабря 2017, 10:16



Не знаю... Можно создать в том же квесте другой топик и из первого в правильном порядке перебросить туда фразы. Там есть пункт Move to topic. Можно и в другой квест отправлять, вроде. Не хочешь разделить всё по квестам?

Dsion  Offline  Сообщение №1152 | Тема: Вопросы по скриптам Papyrus написано: 9 декабря 2017, 14:54 | Отредактировано: Multigone - 22 апреля 2020, 13:20



Князь_Далик, лично мне чо-то не приходит в голову способов, которые бы не включали создание 100 алиасов...

Можно вот так попробовать, но я сейчас не могу проверить, работает ли:
Код
MMarker.SetObjectiveDisplayed(0, !MMarker.IsObjectiveDisplayed(0));

Dsion  Offline  Сообщение №1153 | Тема: Вопросы по скриптам Papyrus написано: 19 декабря 2017, 19:41



modgms_user, нативные функции в этих скриптах выполняются очень медленно. А у тебя их досточно много между проверкой на None и установкой цели. Может, игрок успевает убрать прицел с цели, пока всё это выполняется.
А даже если и не так, всё-равно лажа это всё. Автору надо разобраться с переменными. И сделать так, чтоб во всем скрипте был только один вызов GetCurrentCrosshairRef() с занесением результата в переменную:

ObjectReference CrosshairRef = Game.GetCurrentCrosshairRef();

Dsion  Offline  Сообщение №1154 | Тема: Вопросы по скриптам Papyrus написано: 23 декабря 2017, 00:59



modgms_user, дались тебе эти мутные SKSE-шные скрипты :(
"If" проверка, которую ты описал, от ошибки в логе не избавит. Потому что функция таки выполняется, а проверяется уже возвращенное из неё значение.
Если функция возвращает Bool, то
"if func()" - это то же самое, что "if func() == true".
А если возвращает Int или Float, то, скоре всего,
"if func()" - это то же самое, что "if func() != 0".
Во всяком случае, в Си так, а в папирусе не проверял.

Dsion  Offline  Сообщение №1155 | Тема: Вопросы по скриптам Papyrus написано: 24 декабря 2017, 04:55



Multigone, ты оскорбляешь компиляторы!)

modgms_user, идем, лучше, играть в WOW и писать аддоны для WOW, а? Там хоть нормальное API и код самого близзарда очень качественный.
А по GetMagnitude() - ну возьми проверь, какое значение оно возвращает при ошибке. Если там ноль и ноль не является допустимым для работы остального скрипта, то можно сделать проверку на ноль.

Dsion  Offline  Сообщение №1156 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 7 января 2018, 15:36



Цитата sansuli

Чем отличается ESM от ESP? Зачем превращать ЕСП в ЕСМ и обратно?


Да ничем... Одним битом в заголовке. И тем, что esm может быть зависимостью у esp.
Никаких особых недокументированных возможностей у esm нету.
Арбалет был добавлен не esm файлом, а новой версией exe.

Dsion  Offline  Сообщение №1157 | Тема: Вопросы по скриптам Papyrus написано: 8 января 2018, 16:40 | Отредактировано: Dsion - 8 января 2018, 16:42



Multigone, чо-то у тебя реально странные представления о программах... Попрограммировал бы на Си...

modgms_user, возьми да замерь время выполнения первого и второго вариантов... В Utility Script, вроде, есть функция получения точного реального времени. Если будет слишком быстро выполняться, можно повторить тест 1000 раз или сколько нужно. Вряд ли у нас на форуме есть кто-то, кто понимает компилятор папируса достаточно хорошо, чтоб сразу сказать, какой вариант быстрее.

Dsion  Offline  Сообщение №1158 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 15 января 2018, 17:19



Можешь заюзать GetFormFromFile. Можно сделать вот так: если чудой мод с одеждой подключен, одеваем персонажа в модовую одежду, а если не подключен, одеваем в ванильную.
Ну или можно добавить возможность переодевать спутников в игре. Типа, чтоб он надевал то, что ему даешь. Тогда пофиг, из какого мода даваемая ему одежда.

Dsion  Offline  Сообщение №1159 | Тема: Вопросы по скриптам Papyrus написано: 17 января 2018, 18:26



AlexeyVN, Lexo, попробуйте обое разобраться с запуском квестов по Story Manager Event. Там можно и убийство актора поймать, и каст заклинания. Хотя, может, от крика оно и не срабатывает.

Dsion  Offline  Сообщение №1160 | Тема: Вопросы по скриптам Papyrus написано: 18 января 2018, 20:05 | Отредактировано: Dsion - 18 января 2018, 20:06



Цитата Lexo

квест, когда мы первый раз убиваем дракона


Там обычное OnSpellCast на алиасе игрока (MQ104PlayerScript). Весьма подозрительно, что у тебя оно не работает :)

Dsion  Offline  Сообщение №1161 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 21 января 2018, 10:07 | Отредактировано: Dsion - 21 января 2018, 10:21



gangrena1972, а они точно в игре появляются? Я тоже никаких привязок не вижу и вот
http://elderscrolls.wikia.com/wiki/Sild%27s_Staff
http://elderscrolls.wikia.com/wiki/Necromantic_Staff
написано, что в игре их получить без консоли нельзя.
У тебя точно нет какого-то неофициального патча, который добавляет эти предметы в игру?

p.s.: если окажется, что в игре они все-таки не появляются, я тебя придушу!

Dsion  Offline  Сообщение №1162 | Тема: Вопросы по скриптам Papyrus написано: 23 января 2018, 17:56 | Отредактировано: Dsion - 23 января 2018, 17:56



Aksyonov, а событие OnGetUp на игроке не срабатывает, когда тот встает? А там можно проверить, встал ли он именно с кроватки.

Dsion  Offline  Сообщение №1163 | Тема: Кракозябры в скриптах написано: 25 января 2018, 14:13



Dagnir, ты вообще сообщение выводишь с помощью Message? Debug - это для отладки только.

Dsion  Offline  Сообщение №1164 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 14 февраля 2018, 18:16 | Отредактировано: Dsion - 14 февраля 2018, 18:10



ladyinna, ага, вон ApeX дело базарит... Сундук указан в Property, да? Если вручную не указать иначе, то они считываются только при Init-иализации объекта. И это правильно. Скрипты должны иметь возможность изменить значение property и она не должна сбрасываться к исходному значению.

В fallout (не уверен за Скайрим) бывают еще const property:
int property myConstProperty auto const
Их нельзя изменить в игре и они не сохраняются в сейвах. Можешь попробовать изменить тип property на const.
А если не поможет и загружать сейв без мода - не вариант, то можно установить правильное значение property из консоли...
Только я уже не помню, какая там команда. Будет нужно - найду.

Добавлено (14 Февраля 2018, 21:16)
---------------------------------------------
еще можно попробовать поменять имя проперти (не проверял) или заменить проперти на заполненный алиас (это работает)


Dsion  Offline  Сообщение №1165 | Тема: Вопросы по скриптам Papyrus написано: 11 августа 2018, 14:10 | Отредактировано: Dsion - 11 августа 2018, 14:12



Нарада, а найти у всех барменов общий LeveledItem и добавить туда предмет скриптом нельзя? Или нужно только одному?

Dsion  Offline  Сообщение №1166 | Тема: Вопросы по скриптам Papyrus написано: 13 сентября 2018, 05:48 | Отредактировано: Dsion - 13 сентября 2018, 05:50



Цитата Dirzi

в стандартном скрипте TrapFlamethrower


В общем-то, этот скрипт не поддерживает добавление новых заклинаний. Во всяком случае, без изменения кода скрипта, а менять ванильные скрипты - плохой тон.
Можно попробовать два варианта:
1. Заменить одно из заклинаний с скрипте на своё (для одной конкретной ловушки или для нового типа ловушек). Например, выбираем "2 = flames". И вставляем своё заклинание в проперти sLvlFlames1, sLvlFlames2, ..., sLvlFlames6. В иделе, должно быть шесть разных заклинаний разной силы. Но можно заполнить и одинаковым. При этом всём, если ваше заклинание имеет тип chanelling, то нужно заменять заклинание типа chanelling (2, 5 ил 7), а если мгновенное, то одно из мгновенных.
2. Сделать новый скрипт. Либо с нуля, либо постепенно выпиливая лишнее из TrapFlamethrower. Я бы так и сделал... Могу даже попробовать, но проблема в том, что я сейчас торчу в деревне с ноутбуком, на котором нет скайрима. Я не смогу проверить даже то, компилируется ли скрипт, не говоря уже о его работоспособности.

Dsion  Offline  Сообщение №1167 | Тема: Вопросы по скриптам Papyrus написано: 13 сентября 2018, 09:00 | Отредактировано: Dsion - 13 сентября 2018, 09:05



Цитата Dirzi

И я так понимаю, создавать и вставлять надо, к примеру, не Frostbite, а TrapFrostbite01, TrapFrostbite02... и так далее, до TrapFrostbite06?

Я даже не могу проверить, чем заполнены sLvlFlames1 итп. в ванильных ловушках. Подозреваю, что да, там разные spell разной мощности и, ясное дело, с разным названием. Но, теоретически, можно заполнить одинаковым любым spell. Если делать по-первому варианту, то:
1. Находим ванильную ловушку с этим скриптом.
2. Создаем её дубликат.
3. На скрипте дубликата очищаем 6 проперти типа sLvlFlamesX, заполненные какими-то заклинанием, и заполняем их одним своим.
4. Устанавливаем дубликат на пути какого-нибудь мирного путешествинника где-то и заходим в него.
А если создавать свой скрипт и учить папирус, то TrapFlamethrower - не лучший референс... На мой взгляд, он безосновательно запутан и усложнен. Если тебе нужно только одно заклинание одного уровня, то скрипт получится раз в 6 короче.
Ну давай, удачки.

Dsion  Offline  Сообщение №1168 | Тема: Вопросы по скриптам Papyrus написано: 13 сентября 2018, 10:25



Цитата Dirzi

в Blender'е придется разбираться


Достойная трата времени...
Я где-то месяц назад начал учиться рисовать мангу и постоянно подглядываю в Blender'e, как идут линии и ложатся тени. Моделировать тоже учился, но дальше уровня "начинающего" так и не продвинулся.
Ладненько, удачи.

Если редактировать скрипт, то можно было бы убрать флаг "hidden" с проперти magicWeapon, заполнить её нужным заклинанием и выпилить строчку "magicWeapon = lvlWeapon" из конца функции ResolveLeveledWeapon(). Но это минимум. А вообще, там 5/6 кода можно выпилить.

Dsion  Offline  Сообщение №1169 | Тема: Вопросы по скриптам Papyrus написано: 13 сентября 2018, 14:18



Цитата Dsion

1. ... Заменить одно из заклинаний с скрипте на своё (для одной конкретной ловушки или для нового типа ловушек). Например, выбираем "2 = flames". И вставляем своё заклинание в проперти sLvlFlames1, sLvlFlames2, ..., sLvlFlames6. В иделе, должно быть шесть разных заклинаний разной силы. Но можно заполнить и одинаковым


Для кого я вообще эту хрень писал?(
А дальше я еще писал, что вариант это не изящный и лучше сделать свой скрипт...

Dsion  Offline  Сообщение №1170 | Тема: Вопросы по скриптам Papyrus написано: 21 сентября 2018, 16:21



Unlogin, чо-то у меня тоже никаких идей.
Ну до того, что можно отменять эффект перка навсегда, если игрок сменит оружие, ты, наверное, додумался. Не совсем то, но лорно. Выпустил оружие из рук - разорвал связь.
До того, что можно сохранять базовый ID тоже, наверняка, додумался. Большинство ванильных орудий имеют разные базовые id для разных типов зачарования. Но это будет давать сбой, если игрок наденет оружие такого же типа с таким же зачарованием. И в случае предметов, которые ирок сам заточил/зачаровал тоже будут сбои. Я бы так не делал.
Ну еще жутко неудобный вариант, когда игрок должен выбросить оружие на землю (или на какой-то алтарь), чтоб зачаровать.

Больше нифига в голову не приходит... Я бы просто отменял эффект навсегда в случае смены оружие.

Я даже когда-то читал про один баг. В какой-то там ветке есть перк, делающий надетую на игрока бронь невесомой. Так вот этот перк делает невесомой не только надетую бронь, а и точно такую же, лежащую в инвентаре.

Форум » Записи участника [Dsion]
Поиск:





Ответ на жалобу смотрите в разделе жалоб