Модератор форума: Kris†a™  
Форум » TES V: Skyrim » Мастерская » Вопросы по скриптам Papyrus (О скриптах Papyrus (Skyrim). Скриптеры не проходите мимо!)

Вопросы по скриптам Papyrus
sansuli  Offline  Сообщение №1 написано: 31 августа 2012, 13:29 | Отредактировано: Multigone - 23 апреля 2020, 14:24


The Red Sun


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


Тема регламентирована.


• Прежде, чем задать вопрос, пожалуйста, убедитесь, что такой вопрос не задавался раньше. Старайтесь описать суть вопроса как можно подробней.
• Прежде, чем опубликовать ответ на вопрос, пожалуйста, убедитесь, что обладаете необходимыми для этого знаниями. Старайтесь cформулировать суть ответа как можно лаконичней.
• При желании ответить в приватном порядке, пожалуйста, воспользуйтесь ЛС.
• При желании поблагодарить ответившего, пожалуйста, воспользуйтесь кнопкой "
+" полезного сообщения.

Сообщения, не относящиеся к вопросам по скриптам Papyrus, ответам на них или уточнениям, являются оффтопом и могут быть удалены.

Красное солнце
Есть вопросы по скриптам Papyrus? Пиши не в ЛС, а в эту тему.
Dsion  Offline  Сообщение №1291 написано: 6 ноября 2014, 20:40



В любом случае, всё, что понадобится, на этой странице:
http://www.creationkit.com/ObjectReference_Script
Удачи.

anton  Offline  Сообщение №1292 написано: 6 ноября 2014, 20:50



362
Kepper, у меня в кодировке Windows-1251 отлично видно в игре русские буквы.

Мой Блог
Kepper  Offline  Сообщение №1293 написано: 9 ноября 2014, 08:43



860
Цитата anton

Windows-1251


Тоже пробовал. Строка:
Debug.MessageBox(tgActor.GetLeveledActorBase().GetName() + " предпочитает носить обувь на каблуках")
Всё равно выдает кракозябры.

Multigone  Offline  Сообщение №1294 написано: 9 ноября 2014, 13:32



832
Kepper, может, нужно установить это? Или же, если установлено, удалить, к примеру?

Dsion  Offline  Сообщение №1295 написано: 9 ноября 2014, 15:33



Цитата Multigone

Тоже пробовал. Строка:Debug.MessageBox(tgActor.GetLeveledActorBase().GetName() + " предпочитает носить обувь на каблуках")
Всё равно выдает кракозябры.


Что-то я не уверен, что Debug функции - крутой способ выводить сообщения пользователю. Разве какие-то ванильные скрипты так делают?
Для этого есть Messages. У них никаких проблем с кодировками и их намного легче переводить на другие языки (чем скомпилированный скрипт), если кому-то понадобится.
И имя конкретного NPC в них можно вставить без SKSE функций.

Multigone  Offline  Сообщение №1296 написано: 9 ноября 2014, 18:07 | Отредактировано: Multigone - 9 ноября 2014, 18:09



832
Dsion, зато в них можно выводить почти любые переменные с помощью as string. Плюс, в моде не надо создавать лишние формы MESG... Так что, думаю, да, неплохой.

Netico  Offline  Сообщение №1297 написано: 12 ноября 2014, 09:29



31
Доброго времени суток.
Понимаю что уже не первый спрашиваю, но по тех. причинам не могу всю тему просмотреть. Так что извините...
Столкнулся с проблемой пытаясь изменить скрипт с функциями из SKSE. При попытке компиляции выдает ошибку что незнает такие функции. Кит, SKSE, патч игры совпадают (последнее незнаю нужно ли). Подскажите как правильно провести данную последовательность? Только просьба подробно что куда кидать, как запускать, через что и т.д.

Компилирую через notepad , который использует стандартный ассамблер. Пути прописал правильно - обычные скрипты получается скомпилировать.

А пытаюсь подружить расу Demonica с Better Vampirism от Brehanin

./start system...
[starting successful]
./login...
[login correct]
./virtual starting...
[successful]
./starting game...
Multigone  Offline  Сообщение №1298 написано: 12 ноября 2014, 13:38



832
Netico, скорей всего, не до конца установлен SKSE.

3. Copy the .psc files in Data\Scripts\Source\ into the Data\Scripts\Source\ folder of your installation. The .psc files are only needed if you have the CreationKit installed and intend to create or compile Papyrus scripts.

Netico  Offline  Сообщение №1299 написано: 12 ноября 2014, 15:45



31
Multigone, не до конца это как? Что подразумевается? / Скопировать исходники самого SKSE? Меня беспокоит что они значительно меньше стандартных скриптов. Или это ничего?

./start system...
[starting successful]
./login...
[login correct]
./virtual starting...
[successful]
./starting game...
Multigone  Offline  Сообщение №1300 написано: 12 ноября 2014, 16:24



832
Netico


mayor  Offline  Сообщение №1301 написано: 29 ноября 2014, 10:06



194
ребят,напишите пожалуйста скрипт,чтоб убирал статик обьект при нажатии на кнопку и возвращал его при повторном нажатии

Добавлено (29 Ноября 2014, 13:06)
---------------------------------------------
поможет кто?(


Dsion  Offline  Сообщение №1302 написано: 29 ноября 2014, 10:10



mayor, та не гони, чел. За сутки даже моя бабушка с этим разобралась бы. Ты тоже справишься.

Kath  Offline  Сообщение №1303 написано: 29 ноября 2014, 10:30



1
Цитата Dsion

За сутки даже моя бабушка с этим разобралась бы.

Офигел что-ле?! Да твой балбес-отец еще под стол пешком ходил, когда я уже ЭВМ программировала!
Да я тебе MSDN читала, когда ты еще одним только молоком питался!
Да я первого "Принца" за 20 минут!..

Короче, не хватало еще, чтоб мне сутки нужны были на такую хрень!

mayor  Offline  Сообщение №1304 написано: 29 ноября 2014, 10:39



194
Цитата Dsion

mayor, та не гони, чел. За сутки даже моя бабушка с этим разобралась бы. Ты тоже справишься.

я вообще не понимаю в этих скриптах.в базовых покапался,мне это не помогло..устал искать уже

Добавлено (29 Ноября 2014, 13:39)
---------------------------------------------
мне вообще скрипты не нужны в моде,вот лишь этот один.все в него упирается.


Dsion  Offline  Сообщение №1305 написано: 29 ноября 2014, 10:54



Наверное, как-то вот так:

Код
Scriptname myButtonScript extends ObjectReference

ObjectReference Property myStaticObject Auto

Event OnActivate(ObjectReference akActionRef)

     If (myStaticObject.IsDisabled())
         myStaticObject.Enable()
     Else
         myStaticObject.Disable()
     EndIf

EndEvent


Надо прицепить на кнопку и не забыть заполнить проперти myStaticObject.

Добавлено (29 Ноября 2014, 13:54)
---------------------------------------------
Вместо myButtonScript и myStaticObject можно любые названия.


mayor  Offline  Сообщение №1306 написано: 29 ноября 2014, 10:57



194
Цитата Dsion

Надо прицепить на кнопку и не забыть заполнить проперти myStaticObject.

Большое спасибо!=)Очень благодарен

MagicalDagger  Offline  Сообщение №1307 написано: 29 ноября 2014, 17:49



48
Всем привет) Давно не заглядывал на Модгеймз, но возник небольшой вопрос.
Захотел сделать невозможность открытия замков определенного уровня при отсутствии нужного перка. В целом, все работает, но есть одна загвоздка: не знаю, как полностью отменить взаимодействие с запертой дверью. Попробовал BlockActivation(), но в этом случае показывается окно, где предлагается просто выбрать нужное действие, т.е. открыть замок и т.п., и дальше открывается картинка взлома замка, а нужно, чтобы при попытке активации взлом был в принципе невозможен (как в случае, когда требуется ключ, например).



VALKNUT  Offline  Сообщение №1308 написано: 29 ноября 2014, 18:02



MagicalDagger, можно поставить перед дверью коллизию и отключить ее, когда она будет не нужна.
Это годится для какой-то конкретной двери или дверей, но это не глобальное решение вопроса.

Кто к нам с чем и за чем, тот от того и того... ʘ_ʘ
<a class="link" href="http://modgames.net/load/0-0-200451-0-17" rel="nofollow" target="_blank"> border="0" alt=""/</a>
MagicalDagger  Offline  Сообщение №1309 написано: 29 ноября 2014, 22:26



48
VALKNUT, требуется именно глобальное решение. Помню, подобный момент был реализован в старой версии Skyrim Balanced Mode, но у меня только последняя, а там этот момент убран. Так что реализовать как-то точно можно, вопрос - как.

Dsion  Offline  Сообщение №1310 написано: 30 ноября 2014, 04:44



MagicalDagger, попробуй создать перк такого типа:
http://i.piccy.info/i9....own.png

Можно еще использовать entry point: filter activation, но тогда двень вообще будет как стена.

Lantainiell  Offline  Сообщение №1311 написано: 30 ноября 2014, 11:09



265
Всем привет! Подскажите пожалуйста, за что отвечают файлы, находящиеся 
C:\Program Files (x86)\The Elder Scrolls 5.Skyrim.Legendary Edition.v 1.9.32.0.8 + 4 DLC\Data\Scripts\Source\...

Aksyonov  Offline  Сообщение №1312 написано: 30 ноября 2014, 11:12



937
Цитата Lantainiell

C:\Program Files (x86)\The Elder Scrolls 5.Skyrim.Legendary Edition.v 1.9.32.0.8 + 4 DLC\Data\Scripts\Source\...


В папке Sourse находятся исходники скриптов игры The Ellder Scrolls Skyrim.

Lantainiell  Offline  Сообщение №1313 написано: 30 ноября 2014, 11:30



265
Цитата Aksyonov

В папке Sourse находятся исходники скриптов игры The Ellder Scrolls Skyrim.


Они нужны для работы скриптов и игры..?

Aksyonov  Offline  Сообщение №1314 написано: 30 ноября 2014, 11:40 | Отредактировано: Aksyonov - 30 ноября 2014, 11:41



937
Они нужны для работы скриптов и игры - ну да но игра и без них будет запускаться, только вот все что написано в игре на скриптах, квесты события в игре могут не работать корректно, что приведет к вылетам из игры, а чего вы спрашиваете есть конкретная проблема или цель ? опишите !

PhysxN  Offline  Сообщение №1315 написано: 30 ноября 2014, 12:00 | Отредактировано: PhysxN - 30 ноября 2014, 12:04





Цитата Aksyonov

Они нужны для работы скриптов и игры - ну да но игра и без них будет запускаться,

Нет, Source - это исходники скриптов, игра их даже не использует. Они нужны для мододелов. Игра использует скрипты в формате  pex, в Source лежат декомпилированные скрипты в формате psc, которые можно открыть любым текстовым редактором.

Dsion  Offline  Сообщение №1316 написано: 30 ноября 2014, 12:06



Lantainiell, исходники скриптов (*.psc файлы из Source) вообще не нужны игре. При установке CK туда записывается что-то около 13000 файлов. 76 из них нужны, если Вы собираетесь создавать новые скрипты в CK. А остальные - только если Вы хотите посмотреть/изменить скрипты на ванильных квестах и объектах.

А скомпилированные скрипты (*.pex из папки Scripts) нужны самой игре. Но они чаще всего упакованы в BSA. Во всяком случае, все ванильные упакованы. А некоторые авторы модов могут и не упаковывать.

Aksyonov  Offline  Сообщение №1317 написано: 30 ноября 2014, 12:09



937
Да все верно спасибо что поправили меня уважаемые !

MagicalDagger  Offline  Сообщение №1318 написано: 30 ноября 2014, 16:43



48
Dsion, спасибо огромное, работает. Все даже проще, чем я предполагал!)

Lantainiell  Offline  Сообщение №1319 написано: 2 декабря 2014, 14:59



265
Спасибо всем за комментарии и помощь.

Myprism  Offline  Сообщение №1320 написано: 14 декабря 2014, 17:35 | Отредактировано: Myprism - 14 декабря 2014, 17:42


Физик


Столкнулся с проблемой нарушения эффекта смерти огненного атронаха. На нём висит магический эффект AbFXSummonAtronach со скриптом:



При смерти атронаха происходит его взрыв и смена скина на скин мёртвого атронаха. Проблема в том, что скрипт работает только в том случае, если атронаху установлен фиксированный уровень. Если же я ставлю ему галку повышать уровень вместе с уровнем игрока, то этот скрипт не работает: не происходит взрыва и смены скина. Скорее всего это связано с событием onDying.  Что там за особенности такие, если уровень персонажа автоповышается? Зачем там проверяется:
atronachHealth = selfRef.GetAV("Health") as int
        if atronachHealth > 0
?

Форум » TES V: Skyrim » Мастерская » Вопросы по скриптам Papyrus (О скриптах Papyrus (Skyrim). Скриптеры не проходите мимо!)
Поиск:





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