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
За время тестирования дополнительных проблем не выявлено. Эта версия достаточно стабильна.
Загрузил:
Karandra
32

Комментарии

Добавить комментарий

Это дополнение к криейшину, или отдельная прога?

Отдельная.

Попробуем, спасибо за работу

Вот это полезная вещь!

Спасибо за работу, прога действительно полезная. Но можно ли с её помощью перевести МСМ-меню? Просто я пытался и у меня не вышло. Переводились пункты меню, а сами настройки пропадали.

Спасибо за работу, прога действительно полезная. Но можно ли с её помощью перевести МСМ-меню? Просто я пытался и у меня не вышло. Переводились пункты меню, а сами настройки пропадали.

Я как раз пишу мануал, где расскажу о том, как с ее помощью переводить обычные и mcm скрипты. Потерпи немножко, я вышлю ссылку всем переводчикам, когда закончу.

Я как раз пишу мануал, где расскажу о том, как с ее помощью переводить обычные и mcm скрипты. Потерпи немножко, я вышлю ссылку всем переводчикам, когда закончу.

Ого, спасибо. Будем ждать.

тааак понятно, это не для слабых умов -__-

Единственный "мод" описание которого я не понял совсем.

Единственный "мод" описание которого я не понял совсем.

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

я вот тоже не понял для чего это прога

Вы все надоели уже писать что не понимаете для чего программа. Ищите что такое дизассемблирование и в целом что такое ассемблер и компилятор, а не оставляйте дурацкие комментарии.

gkalian
администратор
11.08.2016 — 06:44

я вот тоже не понял для чего это прога

Papyrus Assembler GUI - это оболочка для обработки скриптов Skyrim (.pex и .psc файлов). Программа включает в себя ассемблер, дизассемблер и компилятор скриптов.

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

Читайте внимательнее, все и так разжевано.

Спасибо за обновление.. Очень полезная штучка..

Полезная штука , а то многие жадины спецом Source  не выкладывают

Спасибо! Уверен, скоро обязательно пригодится такая "полезняшка"... :)
Чампилион только х86, или возможна работа оболочки и с х64?
Думаю, прямая ссылка на статью была бы не лишней в первом же предложении, ну, чтобы сразу "по адресу" отправлять... :)

Спасибо! Уверен, скоро обязательно пригодится такая "полезняшка"... :)

Чампилион только х86, или возможна работа оболочки и с х64?

Думаю, прямая ссылка на статью была бы не лишней в первом же предложении, ну, чтобы сразу "по адресу" отправлять... :)

И оболочке и Champollion без разницы на какой системе работать на 32 или 64 битной. Ссылку на ту статью можно приложить, хотя я не вижу в этом надобности так как программа сама работает с этими инструментами. Логичнее дать ссылку на другую статью по переводу скриптов. Потом добавлю ссылки.

И оболочке и Champollion без разницы на какой системе работать на 32 или 64 битной. Ссылку на ту статью можно приложить, хотя я не вижу в этом надобности так как программа сама работает с этими инструментами. Логичнее дать ссылку на другую статью по переводу скриптов. Потом добавлю ссылки.

Спасибо, понятно. Просто в предыдущей версии эксперементала был 32-битный чампалион, потому и возник вопрос о его х64-версии...

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

Спасибо, понятно. Просто в предыдущей версии эксперементала был 32-битный чампалион, потому и возник вопрос о его х64-версии...

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

Раньше в комплекте было два варианта Champollion'а - 32 и 64 битный, сейчас только один - 32 битный. Я просто не вижу смысла добавлять и 64 битный вариант так как он работает так же как и 32 битный. Но если тебе нужен именно 64 битный, то замени его в папке с программой.

Добавил ссылки на статьи.

Пользуюсь Papyrus Compiler Plus, который отлично работает с МО - автоматически импортирует из его папки модов сурсы (если они не запакованы). На SE не пробовал, но на LE нареканий нет. Попробую этот теперь, может лучше зайдёт.

Нужны ли знания в программировании?

Нужны ли знания в программировании?

Только для перевода текста внутри скриптов нет. Если потребуется сильнее модифицировать скрипты эти знания могут пригодится. В любом случае, в статье Руководство по переводу модов для Skyrim описано всё что для этого потребуется.

Только для перевода текста внутри скриптов нет. Если потребуется сильнее модифицировать скрипты эти знания могут пригодится. В любом случае, в статье Руководство по переводу модов для Skyrim описано всё что для этого потребуется.

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

Кто скачал новую версию, у всех всё работает? Мне нужны отзывы.

Кто скачал новую версию, у всех всё работает? Мне нужны отзывы.

  1. Папки по умолчанию. Указать нужные в принципе не сложно, но как-то непривычно видеть вначале "C:\Users\Kerber\" или "D:\Game Files\The Elder Scrolls\Skyrim\".
  2. Папки для импорта. Было бы неплохо добавить возможность двигать их в списке вверх-вниз.
  3. Скорость работы. Всё происходит довольно медленно, причина в том, что для каждого файла (при компиляции, например) стартует отдельный процесс, в итоге получается вот такое:
     
    !ObhBPcJ.png

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

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

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

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

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

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

http://i.imgur.com/ObhBPcJ.png

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

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

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

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

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

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

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

ар

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Окай гляну)

Azazellz
модератор
24.06.2019 — 13:01

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

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

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

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

У этого скрипта (aaaHitStopOnHitScript.psc) есть зависимость от "TKHitStop.psc", это всё, что я смог выяснить.

У этого скрипта (aaaHitStopOnHitScript.psc) есть зависимость от "TKHitStop.psc", это всё, что я смог выяснить.

Там привязка именно к pex или psc? или к тому и другому? для компиляции)

Как не странно, попробовал компиляцию через кит, там все прошло успешно)

Там привязка именно к pex или psc? или к тому и другому? для компиляции)

К .psc.

Как не странно, попробовал компиляцию через кит, там все прошло успешно)

Ну значит точно ошибка в программе. Когда-нибудь я её перепишу и исправлю это, но вряд ли это будет скоро.

К .psc.

Ну значит точно ошибка в программе. Когда-нибудь я её перепишу и исправлю это, но вряд ли это будет скоро.

Удачи с этим, так или иначе благодарю за помощь)

Авторизуйтесь, чтобы оставить новый комментарий. Или зарегистрируйтесь.