Здесь показаны различия между двумя версиями данной страницы.
Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия | ||
help:analyzer [2015/09/19 04:17] bkz [FAQ] |
help:analyzer [2024/09/04 13:12] (текущий) aleks_versus |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ==== Анализатор кода QSP ==== | + | [[help:txt2gam|Назад: Краткое руководство по TXT2GAM]] |
- | Эта утилита предназначена для анализа кода игры для QSP в формате TXT2GAM. | + | |
- | Для работы этой программы необходимо установить .Net Framework версии не ниже 2.0. | + | ====== Анализатор кода QSP ====== |
- | Если при запуске появляется "Ошибка при инициализации приложения (0xc0000135)", значит у вас не установлен .Net Framework. | + | |
- | ==== Применение ==== | + | Эта утилита предназначена для анализа кода игры для QSP, записанного в формате **TXT2GAM** (**QSPS**). |
- | При разработке игр посредством qGen. | + | |
- | Игра -> Экспорт -> Текстовый файл формата TXT2GAM... -> Выбираете место сохранения и название файла. | + | Для работы этой программы необходимо установить **.Net Framework** версии не ниже 2.0. |
- | После этого запускаете QSP_Analyser.exe указываете путь к вашему файлу. | + | |
+ | Если при запуске появляется "Ошибка при инициализации приложения (0xc0000135)", значит у вас не установлен **.Net Framework**. | ||
+ | |||
+ | Анализатор выполняет проверку на двух уровнях: | ||
+ | |||
+ | - Проверка синтаксиса. Все ошибки, которые можно однозначно определить по соответствию синтаксическим правилам языка QSP.\\ **Пример:** незакрытые многострочные операторы, незакрытые скобки, неверное количество аргументов функции и т.д. | ||
+ | - Предупреждения. Предположения об ошибках, основанные на анализе структуры игры - переменные, локации, предметы, действия.\\ **Пример:** локации, на которые нет перехода, использование неинициализированных переменных, попытка удалить предмет, который нигде не добавляется, и т.д. | ||
+ | |||
+ | **[[https://code.google.com/archive/p/qsp-analyser/downloads|Скачать анализатор со страницы релизов]]** | ||
+ | |||
+ | Ссылка на проект, для тех, кому интересно: [[https://code.google.com/p/qsp-analyser/|https://code.google.com/p/qsp-analyser/]] | ||
+ | |||
+ | Главная ценность проекта - исходный код, который полностью открыт. Его можно обновлять и дополнять под изменения в QSP. | ||
+ | |||
+ | ===== Применение ===== | ||
+ | |||
+ | ==== При разработке игр посредством qGen ==== | ||
+ | |||
+ | Анализатор работает только с файлами формата **TXT2GAM** (**QSPS**). Поэтому, если вы работаете в **Quest Generator**, вам придётся экспортировать игру в **TXT2GAM** для проверки в Анализаторе: | ||
+ | |||
+ | * Открываете меню "Игра → Экспорт → Текстовый файл формата TXT2GAM…" | ||
+ | * Выбираете место сохранения и название файла. | ||
+ | |||
+ | После этого запускаете "''QSP_Analyser.exe''", указываете путь к вашему файлу, и нажимаете кнопку "Перечитать". | ||
Анализатор выводит список ошибок в следующем виде: | Анализатор выводит список ошибок в следующем виде: | ||
+ | |||
+ | <sxh> | ||
Ошибок: 1, предупреждений: 0 | Ошибок: 1, предупреждений: 0 | ||
Ошибка, локация "Диалог_А", строка #220 : Многострочный IF без END | Ошибка, локация "Диалог_А", строка #220 : Многострочный IF без END | ||
+ | </sxh> | ||
- | Строка указывается непосредственно в текстовом файле, все исправления вносятся в него через любой текстовый редактор.Для быстрого переключение к нужной строке используйте сочетание клавиш ctrl+g . | + | Номер строки соответствует номеру в текстовом файле, все исправления вносятся в него через любой текстовый редактор. Для быстрого переключения к нужной строке используйте сочетание клавиш **Ctrl+G**. |
- | Функция экспорт в qGen не работает, для конвертации файла, после всех исправлений, используйте утилиту [[https://qsp.su/index.php?option=com_content&task=view&id=52&Itemid=56|TXT2GAM]] | + | ===== Экспорт текстовых констант в CSV-файл и перевод ===== |
- | ==== Импорт в CSV ==== | + | |
- | Непосредственно в QSP_Analyser.exe реализована возможность одностороннего импорта файла в табличный формат .csv | + | Сделано для удобства перевода игры на другой язык. Работает так: открываем утилиту, выбираем исходный код квеста. Открываем вкладку "Конвертация". Жмем "Экспорт в CSV". Если в исходном файле нет ошибок, генерируется CSV-файл, в котором записана таблица из четырех колонок. В первой - номер строки таблицы и название локации, из которой взят текст. Во второй - исходный текст. В третьей - нужно вписать перевод. В четвертой можно писать любые комментарии, ее содержимое не учитывается. |
- | эта функция позволяет быстро осуществлять: | + | |
- | - Локализацию игры на другой язык. | + | CSV-файл можно редактировать во многих офисных программах. Точно он поддерживается программами OpenOffice Calc и MS Excel. Когда перевод готов, нажимаем кнопку "Сделать перевод, используя CSV". Сгенерируется файл с именем таким как у исходного квеста + указанный суффикс(пример: исходный квест "''game.txt''", CSV-файл "''game.csv''", файл перевода "''game_tr.txt''"). Получили переведенную игру. |
- | - Выявлять грамматические ошибки в тексте игры. | + | |
- | ==== FAQ ==== | + | Для чего это нужно? |
- | //- Что такое "потерянные локации"?// | + | |
+ | Во-первых, наглядное представление не даст пропустить непереведенных строк. | ||
+ | |||
+ | Во-вторых, можно будет поручить перевод человеку, не знакомому с языком QSP. | ||
+ | |||
+ | Ну и еще это может служить удобным средством для проверки орфографии, до тех пор пока она не будет-таки реализована в кугене. | ||
+ | |||
+ | ===== F.A.Q. ===== | ||
+ | |||
+ | **— Что такое "потерянные локации"?** | ||
Потерянные - те, на которые нет явно заданных переходов. | Потерянные - те, на которые нет явно заданных переходов. | ||
- | Пример | + | |
+ | Пример: | ||
<sxh qsp> | <sxh qsp> | ||
$nextloc = 'Победа' | $nextloc = 'Победа' | ||
Строка 31: | Строка 67: | ||
GOTO $nextloc | GOTO $nextloc | ||
</sxh> | </sxh> | ||
- | В такой ситуации, анализатор не засчитает это за переход(обращение к локации). Но можно внести "$nextloc" в специальный список переменных в панели настроек, тогда присваивание значения будет считаться за переход. | ||
- | //Зачем переводить игры?// | + | В такой ситуации, анализатор не засчитает это за переход (обращение к локации). Но можно внести ''"$nextloc"'' в специальный список переменных в панели настроек, тогда присваивание значения будет считаться за переход. |
+ | |||
+ | **— Зачем переводить игры?** | ||
Кроме очевидных: | Кроме очевидных: | ||
- | * Увеличение аудитории игры. | + | |
- | * Хорошо оформленную игру на Aero, переведенную на английский, можно собрать в stand-alone swf и продать на рынке flash-игр. ((Весь контент в игре не должен нарушать чьих-либо авторских прав.)) | + | * Увеличение аудитории игры. |
- | ==== Ссылки ==== | + | * Хорошо оформленную игру на Aero, переведенную на английский, можно собрать в stand-alone swf и продать на рынке flash-игр. При этом весь контент в игре не должен нарушать чьих-либо авторских прав. |
- | * [[http://qsp.su/index.php?option=com_agora&task=topic&id=365|Тема на форуме.]] | + | * Теоретически можно публиковать игры на **Steam** и других площадках для продажи игр. |
- | * [[https://code.google.com/p/qsp-analyser/|Сам проект.]] | + | |
- | * [[https://code.google.com/p/qsp-analyser/downloads/detail?name=QSP_Analyser.exe&can=2&q=|Скачать.]] | + | ===== Ссылки ===== |
+ | |||
+ | * [[https://qsp.org/index.php?option=com_agora&task=topic&id=365|Обсуждение на форуме.]] | ||
+ | * [[https://mega.nz/folder/jXwXlSRJ#TF7P-soOJOWIC8MrBA-L1A|Две версии анализатора и другие программы на Mega.nz]] | ||
+ | |||
+ | [[help:limits|Вперёд: Ограничения QSP]] |