Перейти к контенту

S.T.A.L.K.E.R. Plot Manager


Malandrinus

Рекомендуемые сообщения

 

 


А на зп это подойдет?

По идее, никаких препятствий быть не должно. На данный момент в основном работает только редактор диалогов, а в диалогах в ЧН/ЗП практически ничего не изменилось. Там даже поддерживается один тег из ЗП.

 

 

 


конкретнные имена файлов в логе не отображаются...

Когда загрузка закончена, то надо смотреть по закладкам, где имеются некорректные файлы. Они отмечены красным и соответственно развернуть их нельзя.

 

К сожалению, некорректность определяется только на уровне корневого файла xml. В каком из его инклюдов некорректный участок - сказать невозможно. Причина в том, что алгоритм работы программы таков, что сперва в памяти собирается целиком файл xml из всех его инклюдов. Затем этот файл парсится. Для парсера никаких инклюдов нет.. Более того, парсер, который я использую (а выбора у меня нет), даже не говорит, где именно произошёл сбой. То сообщение, которое появляется на экране - это внутренняя реакция парсера в процессе разбора. Я не могу ни отключить это окошко, ни как-то получить ту информацию из него (номера строк и тип ошибки). Ну вот так работает, ничего не могу сделать.

 

Впрочем, в 99% случаев некорректными являются вложенные комментарии. Движок сталкера имеет свой парсер, который это дело пропускает, но по стандарту XML это запрещено. Пройдитесь вручную по тем файлам, которые показались красным, уберите вложенные комментарии.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

@aka_sektor,

Я под спойлером специально расписал требования, с которых начал, и соответственно фичи программы. Редактор из SDK из этого не всё может, хотя построчное сравнение я не делал. Я тот редактор пытался поначалу использовать. Помучился и понял, что не устраивает как в плане удобства так и возможностей.

 

На видео к сожалению нет времени. Описание я дал. Если кто сделает видео или хотя бы скриншоты операций - буду весьма признателен.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

И об этом

Или предназначение у прог отличается?

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

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Кому-нибудь удалось использовать программу для собственно редактирования диалогов? Есть нарекания, баги, предложения?

  • Нравится 1
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

@7.9,
1.Этим к сожалению управлять не могу. Парсер выдаёт окошко с сообщениями об ошибке самостоятельно, а в программу возвращает только удалось/неудалось. Соответственно, если не выдаёт окошко, то тоже неизвестно почему. Вообще-то, было желание это окошко убрать, просто не получилось.
В будущем попробую больше информации вывести в лог, который сейчас больше для "не скучать при загрузке".
2. Здесь не совсем понял. Можно пример?
3. Насколько это критично? Тулбар сейчас сляпан на скорую руку. Это в сущности и не тулбар, а просто окно с кнопками, посему его сворачивание невозможно.
4. Так ведь это можно сделать перетаскиванием закладок. Или имеешь в виду сразу при загрузке? Этого не получается к сожалению.
5.Контекстное меню было конечно в конце приоритетов. Потихоньку буду синхронизировать с тулбаром.
С горячими клавишами есть предложения. Какие сочетания на какую операцию?
6. Открыть что именно? Там открывать можно только файлы скриптов, указанные в тегах скриптовых действий.
7. Попробую исправить, но может и не получиться.
8. Изменённый файл. После сохранения звёздочка погаснет.
9. Нету такой возможности. Дело даже не в создании файла, а в том, что надо дополнительно менять ещё и system.ltx. Поскольку операция достаточно редкая и в общем нетрудная, то решил этого не делать. Впрочем, вспоможение для этого есть в виде открытия соответствующей секции system.ltx в текстовом редакторе. Т.е. в общем всего то делов: создать файл из любого другого, скопировать его имя, вставить в список в секции (даже искать эту секцию не надо), сохранить и перезапустить программу для обновления.
10. Совсем пустом? Это вообще-то некорректный xml, по идее должен покраснеть.
11. Исправлю. Наверное просто сделаю автоматическое создание такой фразы + сообщение об ошибке.

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

@Kirgudu,

я понял в чём дело. В ЧН папку config переименовали в configs. Надо будет добавить разбор файла fsgame.ltx. В качестве временной меры можно править в отдельной папке с копией всего, где configs переименован в config.

  • Нравится 3
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

разделение диалогов по файлам локаций условное ...?

Абсолютно условное. Внутри они все собираются в одну базу данных. Аналогично для всех остальных вещей: инфопорций, строк и т.д.

 

По поводу горячих клавиш. Лично я так почти не пользуюсь горячими клавишами практически нигде за исключением Total Commander-а, для которого осталась ещё моторная память со времён NC =) Всё-таки какие предложения насчёт сочетаний? На такие вещи у меня творческого запала не хватает.

 

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

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

 

 

висит по центру экрана, сделать ничего не дает, остальной экран скрыт под Info (естественно, слева сверху), так что даже и не запустить ничего.

Я же выше объяснял, что окошко с ошибкой - это самодеятельность парсера. Просто закрой его.

 

 

 

что теперь ?

Теперь первым делом исправить ошибки XML. В противном случае видим покрасневшие файлы. По сути ошибок, к сожалению, программа помочь может несильно. Опять же выше объяснял почему.

 

Переходим к диалогам, получаем дерево (и как его сюда перетащить ? ручками-ручками ?)

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

 

Освоить, наверное, можно, но как бы по первому разу впечатление, что руками будет проще.

Было строго обратное желание, чтобы не руками, а таки инструментом, ибо руками делать наелся досыта.

А что собственно так смущает в окне "Текущий диалог" ? В первом приближении должно быть видно дерево фраз (если оно в диалоге есть разумеется). Что может быть нагляднее? Это практический вопрос. Как-то можно сделать иначе?
Пытался сделать в виде, максимально приближённом к "игровому" восприятию, т.е. видим фразу (именно текст), следующие фразы, т.е. в сущности примерно то, что видим в игре.

 

И вот на самом деле актуальнее было бы сначала не всю развесистую клюкву получить, а что-то поделать на уровне отдельных файлов.

Что именно? На уровне отдельных файлов на данный момент можно их открыть в текстовом редакторе. Исключением является файлы диалогов, поскольку диалоги можно редактировать в программе.

 

Ну и только уже на самом последнем этапе смотреть, что получилось в целом. Да, то есть, прицепить его запуск к .ltx и .xml, и вот путь их и открывает, а дальше - по содержимому.

Признаться, не понял что надо.

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

Ещё раз, при надлежащей поддержке физической файловой структуры упор таки делается на логические сущности: диалоги, инфопорции, строки и т.д. Они как бы единственно важны для игры.

 

Еще вопрос - это как-то можно использовать для чистки мусора типа 100500 пробелов ?

Не уверен, отвечает ли следующее на вопрос.

При сохранении выполняется форматирование файла XML. Строго один тег на строку, пустые строки удаляются, отступы форматируются табуляциями. Пытался настроить сохранение так, чтобы исходное форматирование строго сохранялось, но не удалось. Если использовали XML-комментарии вслед за рабочими тегами, то они будут перенесены на следующую строку, ибо комментарий - отдельный тег.

 



 

 

нужен инструмент, который позволял бы быстро найти файл и строку, где потерялась скобка или "недокомментировался" комментарий.

Это тебе нужен XML валидатор. Вот чем я пользуюсь.
http://xmlvalidator.sourceforge.net/
Одна только проблема, если файл является частью другого (вставлен инклюдом), то он скорее всего заведомо не является корректным xml. Опять же в будущих версиях планирую сделать экспорт собранного файла XML (т.е. со всеми включёнными инклюдами) чтобы его как раз можно было проверять сторонними валидаторами.


 

А если уж применительно к сталкеру, то еще проверить, прописано ли info и есть ли скрипт и функция, на которую ссылаемся из файла x строки n.

А это кстати можно. При двойном клике на теге с инфопорцией должно открыться окно с инфопорциями и произойти переход в дереве на эту инфопорцию. Если не перешёл, значит нет такой (в будущем наверное сделаю сообщение). Со скриптами можно проверять путём открытия их во внешнем редакторе. Если это Notepad++ или SciTE, то при наличии файла и функции в нём он должен открыться и курсор должен установиться в начало функции. Если файла нет, то не откроется, если функции нет, то курсор будет в начале файла. В будущем тоже постараюсь сделать сообщение.

Была идея сделать валидатор на основе этого функционала. Т.е. функцию сквозной проверки всего.

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Ещё раз насчёт поиска проблем. Это - редактор, не валидатор. Правка косяков - сугубо разовая операция. Косяки в файлах надо исправить, сделать это один раз и дальше жить без них. Так и на кой я буду делать из программы валидатор, при том что их и так существует вагон? Не лучше ли таки заняться функционалом редактора?

 

Официально заявляю. Валидатор XML в списке приоритетов на последнем месте.

 

валидатор - он со сталкеровскими диалогами не хочет

А ты не открывай файлы, а вместо этого вставляй текст из буфера обмена. Я так делал.

 

окно все-таки надо оторвать

Какое окно, что значит оторвать?

  

"диалоги" и "текущий диалог" расположены контринтуитивно. Поменять.

Третий раз объясняю. Не могу этого сделать. Контрол исходно всегда в виде закладок. Каждый раз надо вручную перетаскивать для разделения окна пополам, что я лично и делаю. Занимает две секунды.
EKWsPU2h.png

 

  

orphan_phrases - они везде подставляются, просто пустые ? А что не так - смотреть собственно на красный файл ?

Нет, красные файлы - это значит они не загрузились из-за синтаксических ошибок в XML.

 

orphan_phrases - это "потерянные" фразы, т.е. такие, на которые нет ссылок из основного дерева фраз, идущего от нулевой фразы. Их наличие в сущности никому не мешает, но в игре они показаны не будут. Естественно, обычно их нет. Кстати, этот узел не только показывает эти ошибочно отсоединённые фразы, но также может использоваться как своеобразная "корзина", куда можно временно помещать "запчасти". Т.е. вместо удаления я могу скинуть фразу или даже ветку фраз в этот раздел а потом вернуть. А могу и там оставить на будущее.

  

зачем-то нажал down

Это перемешает фразы вниз в пределах текущего уровня подчинённости (т.е. среди вариантов ответа). Up - соответственно наверх. Ручная сортировка короче.

  

Открыл снова. Нет, оказывается, выбор не двойным кликом делается. Надо еще что-то. Что ?

Извини, я ничего не понял из этого.

  

У меня там в дереве gameplay\dialogs_repair.xml почему-то без плюсика, так я его выбрать вообще не могу.

Ну, строки, info и т.д., я так понял, не доделаны ?

Так может там и нет ничего?

 

Строки/инфопорции задействованы только в пределах редактора диалогов. Новые строки можно добавлять в процессе добавления фраз. Менять текст также только через редактор диалогов. Инфопорции и строки можно вставлять во фразы. Можно открывать текстовый редактор с переходом к элементу.

 

В списке на реализацию в числе первых стоит сделать независимый редактор строк.

  

Он хоть имя спрашивает ? А бэкап делает ?

Не спрашивает, а зачем собственно? Есть же имя у файла.

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

  

dialogs_repair.xml.bak.txt - это откуда взялось ?

Без понятия. Я вообще не понимаю, что ты там делал. Есть изменённый файл, он помечен звёздочкой. Чтобы сохранит его, надо его выделить мышой и нажать Save. Он сохранится, звёздочка исчезнет. Расстреляйте меня, но я не понимаю, что здесь может быть непонятного.

 

 

Изменено пользователем malandrinus
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

@Kirgudu, новостей нет, но совсем забрасывать не планировал. Просто не до того было, да и не видно, чтобы народ вообще пользовался программой.

Написано на С++ с использованием wxWidgets для оконной части + немножко BOOST. Компилятор - Visual Studio. Если правильно помню, вроде как 2012. Сейчас тестирую 2015 на предмет совместимости.

Если это всё не пугает, то выложу исходники. Вопрос только куда.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

@Viнt@rь, а для SVN ничего похожего нет?

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

@Kirgudu,

не хватает возможности создания диалогов с зацикливанием, возвратом к предыдущим фразам.

Для этого до начала перетаскивания нужно нажать и удерживать Ctrl. Тогда курсор будет другой, а при отпускании фраза не переместится, а только будет создана ссылка.

 

в виде, не слишком доступном человеку, который не привык ворочать в уме сложные блок-схемы

Хороший вопрос, а в каком виде это можно сделать? Слушаю предложения.

 

Сейчас это сделано так, что переход на фразу вниз по дереву показывается специальным подэлементом с указанием id фразы, куда переход. Для дополнительной наглядности, если на этот элемент кликнуть двойным кликом, то тот элемент, куда надо перейти, выделится (т.е. как бы совершится этот переход).

 

Насчёт остального. Да, в сущности кроме редактора диалогов ничего больше не работает.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

@Kirgudu,




Есть ли ещё какие-то не описанные, но вполне себе работающие вещи?

Не помню =) честно. Насчёт этой возможности просто забыл описать.
 
 

Лично мне в голову приходит именно визуальное представление в виде блок-схемы, где блоки - фразы, линии (стрелки) - переходы между ними,

Категорически не согласен.

Я начал делать эту программу именно как редактор диалогов, и начал после того, как попробовал другие варианты. По мотивам использования у меня сложились определённые требования. Самые критические были:
1. Максимально компактное представление диалога. Это требование сложилось после попыток окучить редактирование диалогов таких персонажей, как Сидор или Бармен. Диалоги у них ОГРОМНЫЕ, километровые тексты XML, где найти фразу по ссылке вручную совершенно нереально. Даже в виде предельно компактного текстового дерева с мелким шрифтом эти диалоги реально не влазят в экран большого монитора. Любая блок-схема, где каждая единичная фраз обвешена рюшечками в виде рамочек и промежутков между элементами, будет сразу занимать во многие разы больше места. Не в обиду будет сказано, но про блок-схемы обычно говорят люди, которые с этими мега-диалогами дел не имели. И я тоже думал про блок-схемы. В OGSE даже начали мутить инструмент на основе общего редактора блок-схем, но дело не пошло.
Другой недостаток блок-схем тоже не будет очевиден до тех пор, пока не поглядишь на схему реального диалога. Дело в том, что все эти визуально оформленные линии перехода на практике начинают напоминать густую паутину. Расположить фразы так, чтобы линии не пересекались друг с другом практически невозможно. Это ещё больше увеличивает размер и так распухшей диаграммы и кроме того радикально ухудшает читаемость, что имеет отношение к следующему требованию.

2. Представление диалога должно быть в виде, отражающем логику беседы и приближённом к логике работы этого диалога в игре. В этом смысле общий граф (т.е. всевозможные блок-схемы) оказывается не лучшим представлением, поскольку в целом не отражает направленность разговора. Ведь у беседы есть вполне очевидная временнАя направленность: одна фраза говорится за другой с чередованием собеседников и возможными ветвлениями. Т.е. в итоге именно дерево наиболее близко и наглядно отражает разговор, где есть фраза приветствия (корень дерева), а затем фразы чередуются одна за другой и кое-где есть ветвления. Как верно было замечено, ссылки обратно смотрятся несколько ненаглядно. Я, к сожалению, не могу сделать их длинными стрелками. Однако, это меньшее из неудобств. Главным и критически важным является представление главной структуры разговора, и это будет дерево и ничто иное.
 
Так что отсюда нынешний вид программы. Я также пытался сделать так, чтобы можно было уменьшить высоту каждого элемента дерева (т.е. каждой фразы) до минимальной (т.е. до одной строки), и чтобы в этом минимальном варианте дерево представляло собой именно дерево произносимого текста. Я полагаю, что это максимально компактное и наглядное представление. Ведь мы бы примерно так оформили диалог где-нибудь в MS Word.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...