Перейти к содержанию

5 изображений

Информация о файле

Papyrus Assembler GUI - это оболочка для обработки скриптов Skyrim (.pex и .psc файлов). Программа включает в себя ассемблер, дизассемблер и компилятор скриптов. Оболочка позволяет быстро и удобно работать со скриптами, вместо набирания команд к обработчикам вручную, создавать .bat файлы для этого и т. д. Для обработки используются CreationKit Papyrus Assembler/Compiler и Champollion.

Дизассемблирование скриптов необходимо, если нужно изменить текст внутри скрипта, но его автор не выслал исходник, из которого он и был скомпилирован. Ассемблер после изменения возвращает скрипт в исходное состояние, теперь его можно использовать в игре. Если же автор выслал исходники, то изменить скрипт можно в нём и далее воспользоваться компилятором.

Если вы хотите узнать больше, то прочтите эти статьи:
В помощь переводчику - дизассемблирование скриптов что делать, если автор не дал psc файлы
Руководство по переводу модов для Skyrim

Небольшое замечание: Если у вас не компилируются исходники скриптов проверьте что указана папка импорта и в ней есть все нужные скрипты так как у некоторых скриптов есть зависимости от других скриптов. Обычно достаточно указать на стандартную папку исходников "Data\Scripts\Source".

Требования для 1.1 и 2.0: Windows, CreationKit (набор исходников скриптов, если быть точным) только для компилятора, для Champollion возможно понадобится VCRedist (приложены к файлу).

Требования для 3.0+: Windows Vista и новее, VC Redist 2012-2015.


2.0 R2 Experimental
Эта версия, как в ней и указано, эксперимент. Я довёл свой программный инструментарий до более-менее приличного уровня и захотел проверить его работу. Эта программа достаточно маленькая и мне хватило одного вечера чтобы её переписать. Для пользователя обновился только интерфейс. Я не думаю что в процессе я исправил что-нибудь. Единственным дополнением стала возможность указать папку импорта скриптов при компиляции. Даже справка не была обновлена.

Требования для 2.0 R2 Experimental: Windows Vista и новее, VC Redist 2015. Новый инструментарий требует систему от Vista и новее. Рекомендуется Windows 7. Может быть когда-нибудь я добавлю поддержку XP, но не сейчас. Это не приоритет, надо довести инструментарий до релизного состояния до выхода TES 6.

В скачанном архиве два исполняемых файла. Они различаются только наличием информации о версии и иконке. Используйте PapyrusAssemblerGUI.exe. Если он не запускается, то Win32RT.exe. Если не работает и он, то извините, это всё же экспериментальная версия.

3.0
Я полностью переписал программный инструментарий с нуля и, как и в прошлый раз, решил проверить его на этой программе. И не зря, в процессе было обнаружено несколько серьёзных недостатков которые пришлось устранять. В этот раз я не просто переписал существующий функционал, но и улучшил программу, по крайней мере мне так кажется. Хотя я и не назвал версию 3.0 Experimental это не значит что в ней нет проблем, так что если что будет работать не так как надо, сообщайте. В текущем состоянии инструментарий уже более готов для написания серьёзных программ, но не ждите что я скоро перепишу KMM на нём, для этого мне всё ещё не хватает нормальной системы сборки и IDE.

3.1
За время тестирования дополнительных проблем не выявлено. Эта версия достаточно стабильна.
  • Нравится 32

Обратная связь

Рекомендуемые комментарии



Karandra

Опубликовано

Цитата:
  1. Папки по умолчанию. Указать нужные в принципе не сложно, но как-то непривычно видеть вначале "C:\Users\Kerber\" или "D:\Game Files\The Elder Scrolls\Skyrim\".

Чёрт, я забыл очистить файл настроек перед публикацией. Для 3.0 это было сделано, для 3.1 забыл.

Цитата:
  1. Папки для импорта. Было бы неплохо добавить возможность двигать их в списке вверх-вниз.

Не знаю какой в этом смысл, но можно добавить.

Цитата:
  1. Скорость работы. Всё происходит довольно медленно, причина в том, что для каждого файла (при компиляции, например) стартует отдельный процесс, в итоге получается вот такое:
Цитата:
Цитата:

Если компилировать таким образом, скажем, 46 файлов, то времени уйдёт многовато - 46 тредов, по 1 файлу в треде. Сможешь сделать множественную обработку? "Starting 9 compile threads for 46 files..." в другом GUI - и всё пролетает за 8,5 секунды.

Этот компилятор обрабатывает или только один файл или все файлы в папке. И только в последнем случае использует пакетную обработку. Можно скопировать все .psc файлы в отдельную папку и запускать компиляцию для них отдельно, но это плохо совместимо с остальными режимами работы (потребуется отдельный алгоритм для компиляции). И в таком случае будет сложно вытащить результаты компиляции для каждого отдельного файла, так как там будут результаты сразу для всех файлов. Можно подумать над такой оптимизацией. Если её удастся хорошо встроить в существующую систему, то я её добавлю.

Meridiano

Опубликовано

Цитата:

Не знаю какой в этом смысл, но можно добавить.

Если в папках импорта есть некоторые "перекрывающиеся" файлы, то этим можно контролировать порядок их перезаписи. Файлы в папке, находящейся ниже по списку, будут иметь высший приоритет.

Karandra

Опубликовано

Цитата:

Если в папках импорта есть некоторые "перекрывающиеся" файлы, то этим можно контролировать порядок их перезаписи. Файлы в папке, находящейся ниже по списку, будут иметь высший приоритет.

Тогда это имеет смысл. В любом случае уж это то легко сделать.

Сделано. Пакетной компиляцией я займусь позже, если вообще займусь этим.

  • Нравится 1
DenysLS

Опубликовано

ар

Karandra

Опубликовано

Цитата:

ар

Крайне информативно.

  • Нравится 1
Practical Tomato

Опубликовано

Помнится, раньше эта прога была эксклюзивно для команды переводчиков, если не ошибаюсь. Нехватка контента на ресурсе?

Karandra

Опубликовано

Цитата:

Помнится, раньше эта прога была эксклюзивно для команды переводчиков, если не ошибаюсь. Нехватка контента на ресурсе?

Программа была перенесена в открытый раздел не мной. Скорее всего Арсинисом, случайно или намеренно я не знаю. Да и особенного смысла в этом эксклюзиве не было, так как есть ещё несколько программ, делающих то же самое.

  • Нравится 1
Manitoba

Опубликовано

Есть рабочая версия под X86 ? Не хочет он у меня зараза работать а очень нужен

Karandra

Опубликовано

Цитата:

Есть рабочая версия под X86 ? Не хочет он у меня зараза работать а очень нужен

Все версии программы 32 битные, так что версия под x86 есть.

  • Нравится 1
Manitoba

Опубликовано

Цитата:

Все версии программы 32 битные, так что версия под x86 есть.

Знач я дура ,буду ковырять в себе

33244

Опубликовано

NYEH-HEH-HEH

Sazamael

Опубликовано

Пишет "точка входа в процедуру RemoveDllDirectory не найдена в библиотеке DLL KERNEL32.dll". Что делать?

Karandra

Опубликовано

Цитата:

Пишет "точка входа в процедуру RemoveDllDirectory не найдена в библиотеке DLL KERNEL32.dll". Что делать?

Извини что не ответил раньше, не видел этот комментарий. Вопрос касается только версии 2.0 и новее. Решать так. Для Windows 7 и Vista нужно установить обновление KB2533623, для Windows XP - обновиться до чего-нибудь новее.

Потом надо будет использовать динамическую линковку для этих функций.

  • Нравится 1
Реван

Опубликовано

При попытки компилировать psc в pex пишет ошибку на любой версии, в чем может быть причина?

Karandra

Опубликовано

Цитата:

При попытки компилировать psc в pex пишет ошибку на любой версии, в чем может быть причина?

У скриптов есть зависимости от других скриптов, если программа их не нашла, то компиляция провалится.

Agent7972

Опубликовано

Операция завершена с ошибкой: -1
Страшно

  • Нравится 1
Реван

Опубликовано

Чуваки, как бы я не пытался компилировать psc в pex выходит ошибка, либо вообще ничего не выходит, скорей всего у меня руки из одного места, подскажите что я делаю не так. P.s галки на отладке не было, случайно кликнул во время скрина.

Karandra

Опубликовано

Цитата:

Чуваки, как бы я не пытался компилировать psc в pex выходит ошибка, либо вообще ничего не выходит, скорей всего у меня руки из одного места, подскажите что я делаю не так. P.s галки на отладке не было, случайно кликнул во время скрина.

Скорее всего вот почему.

Цитата:

Небольшое замечание: Если у вас не компилируются исходники скриптов проверьте что указана папка импорта и в ней есть все нужные скрипты так как у некоторых скриптов есть зависимости от других скриптов. Обычно достаточно указать на стандартную папку исходников "Data\Scripts\Source".

У этого скрипта наверняка есть и другие зависимости, SKSE и SkyUI например из требований. Ну или компилятор скриптов снова недоволен фазой луны. Такое бывает. Или я программу косо написал. Это более вероятно.

Реван

Опубликовано

Цитата:

Скорее всего вот почему.

Цитата:

У этого скрипта наверняка есть и другие зависимости, SKSE и SkyUI например из требований. Ну или компилятор скриптов снова недоволен фазой луны. Такое бывает. Или я программу косо написал. Это более вероятно.

Все из требований у меня есть, но увы это не помогает(

Karandra

Опубликовано

Цитата:

Все из требований у меня есть, но увы это не помогает(

Для SkyUI вроде как нужен отдельный комплект скриптов для разработки и компиляции (SDK) если я ничего не путаю. https://github.com/schlangster/skyui/wiki

Реван

Опубликовано

Цитата:

Для SkyUI вроде как нужен отдельный комплект скриптов для разработки и компиляции (SDK) если я ничего не путаю. https://github.com/schlangster/skyui/wiki

Гляну, спасибо)

Реван

Опубликовано

Цитата:

Для SkyUI вроде как нужен отдельный комплект скриптов для разработки и компиляции (SDK) если я ничего не путаю. https://github.com/schlangster/skyui/wiki

Чувак я хочу от тебя детей! ты просто лучший! спасибо! все заработало! черт!!!!!))))

Karandra

Опубликовано

Цитата:

Хоть он и заработал, но при этом, он не все компилирует, какая зависимость может быть у простых сриптов не связанных с мкм? возможно мне придется вскрывать все bsa архивы оригинального  скурима чтоб проверить:D

Посмотри что есть в выводе компилятора по неудавейся компиляции (двойной клик на "Ошибка" в колонке "Статус"). Посмотри на что ругается компилятор, может станет ясно что ему ещё надо.

Реван

Опубликовано

Цитата:

Посмотри что есть в выводе компилятора по неудавейся компиляции (двойной клик на "Ошибка" в колонке "Статус"). Посмотри на что ругается компилятор, может станет ясно что ему ещё надо.

Окай гляну)

Azazellz

Опубликовано

Что-то лог вывода прям ниоч какой-то.

Чего ошибка, где ошибка, в какой строке... Просто "-1" как-то маловато.

Компилятор в СК хоть пишет что-то, когда скрипт не компилируется.

  • Нравится 1

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...