Войти на сайт

Авторизация, ждите ...
×
  • Страница:
  • 1
  • 2
  • 3

ТЕМА: Dialogs exporter/importer [XP]

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61246

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект года 1 местоОрганизатор конкурсовОраторПроект месяца 1 местоПроект года 3 местоВетеранПроект месяца 3 место3 местоПрограммист RubyУчитель
Под влиянием и при помощи некоторых товарищей написал простенький экспортер / импортер диалогов и БД игры.
Могут спросить, зачем оно, когда есть DrеaMaker?
Отвечаю по списку:
  • DreaMaker - сторонняя программа, и работает в отрыве от мейкера. Вариант на скриптах же интересен тем, что текст можно загрузить на ходу, что позволит сделать, например, выбор языка при старте игры (как сделано в приложенной к топику демке)
  • Энтузиасты, вроде Эльфа, замотивируются и допишут, наконец, аналогичный скрипт для ACE, под который, насколько мне известно, DreaMaker не существует
  • В будущем, используя классы XP типа Window_Message, я планирую сделать подгонку текста под размер окна диалогов, учитывая часть системных значений, типа \w[21] - иконка+название оружия. Это поможет, в первую очередь, при переводе на языки типа немецкого (где там в интернетах эта картинка про длины слов? :mad: )

Итак, скрипт (положить выше main):
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Он умеет экспортировать текст, выборы и названия карт в текстовый файл простого формата, а также импортировать его обратно (обратите внимание, что для того, чтобы увидеть изменения в редакторе Maker XP, нужно его перезагрузить)

Вызов команд простой:
@extractor = Dial_Extract.new
- создать экземпляр класса экстрактора
@extractor.export("dials.txt")
- экспортировать диалоги в файл dials.txt
@extractor.import("dials.txt")
- импортировать диалоги из файла dials.txt

На закуску - демка, в которой добавлен еще один класс Scene_Language, вызывающийся перед титульным экраном (в Main вместо $scene = Scene_Title.new => $scene = Scene_Language.new), позволяющий выбрать язык перед началом игры.

В папке с демой лежит экспортированный файл dials_rus.txt и, кривопереведенный, dials_eng.txt. Нужный файл подгружается на лету и меняет язык диалогов и названия карты.

yadi.sk/d/UEacESFV6iOMj

Скрипт будет дорабатываться, избавляться от багов, если таковые проявятся, и будет дополнен реализацией пункта три из объяснения.
Последнее редактирование: 9 года 11 мес. назад от caveman.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: strelokhalfer

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61253

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • Программист RubyПереводчикОрганизатор конкурсовДаритель Стимкея2 место Сбитая кодировка2 место
strelokhalfer пишет:
НЕплохо, очень даже. Хотя прогу типа дриммейкера не так уж и и трудно будет написать, т.к. текст не шифруется. Но прогу еще написать надо)
Вызов команд простой:
@extractor = Dial_Extract.new

- создать экземпляр класса экстрактора
@extractor.export("dials.txt")

- экспортировать диалоги в файл dials.txt
@extractor.import("dials.txt")
- импортировать диалоги из файла dials.txt
Это просто надо вызвать в событии? Если да, то может сделать через дебагрежим?
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]




Бага, небольшая, но все же.
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61261

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект года 1 местоОрганизатор конкурсовОраторПроект месяца 1 местоПроект года 3 местоВетеранПроект месяца 3 место3 местоПрограммист RubyУчитель
Второй таб был в оригинале - я как раз экстрактор тестил, чтобы со всех собирал данные. Скобку проморгал, пофикшу.
Такой же для VX могу по свободе переделать.

Это дергай откуда угодно, в деме вон вообще в новой сцене сделано.
Изначально вообще было сделано так, чтобы экспорт был сразу при запуске, и он закрывал игру.
Последнее редактирование: 11 года 5 мес. назад от caveman.
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61262

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • Программист RubyПереводчикОрганизатор конкурсовДаритель Стимкея2 место Сбитая кодировка2 место
Сделай и для Axe тогда)
А только диалоги выдирает? А то дмк еще и БД умеет экспортировать.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 11 года 5 мес. назад от strelokhalfer.
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61271

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект года 1 местоОрганизатор конкурсовОраторПроект месяца 1 местоПроект года 3 местоВетеранПроект месяца 3 место3 местоПрограммист RubyУчитель
только диалоги + название карты. Думаю, при желании, и БД можно экспортнуть более-менее легко (как пример - название карты, уже есть)
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61276

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • Писатель 3 местоУчительПроект месяца 2 место3 местоПрограммист RubyПроект месяца 1 местоВетеран1 место в ГотвОрганизатор конкурсов
Сейчас эльф посмотрит, что натворил пещерный с его скриптом и допилит под эйс.
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61277

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • Программист RubyПереводчикОрганизатор конкурсовДаритель Стимкея2 место Сбитая кодировка2 место
Будет очень круто, надо будет на забугорных форумах выложить.
Неплохо бы еще БД добавить, но не критично. Но общие события точно нужно, довольно часто используются.



Всего лишь добавил в диалог коня еще одну фразу.
Вложения:
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 11 года 5 мес. назад от strelokhalfer. Причина: бага
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61278

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект года 1 местоОрганизатор конкурсовОраторПроект месяца 1 местоПроект года 3 местоВетеранПроект месяца 3 место3 местоПрограммист RubyУчитель
общие добавлю

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

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61279

  • Kolhe
  • Kolhe аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 348
  • Спасибо получено: 171
  • 2 место
Для эйсы есть более удобный и оптимизированный скрипт губида.
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61280

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • Писатель 3 местоУчительПроект месяца 2 место3 местоПрограммист RubyПроект месяца 1 местоВетеран1 место в ГотвОрганизатор конкурсов
Насколько я понял скрипт губида работает только в одну сторону - на экспорт
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61281

  • Kolhe
  • Kolhe аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 348
  • Спасибо получено: 171
  • 2 место
А, ну если в этом дело.
Окей, этот раунд за тобой. : D
Последнее редактирование: 11 года 5 мес. назад от Kolhe.
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61282

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • Программист RubyПереводчикОрганизатор конкурсовДаритель Стимкея2 место Сбитая кодировка2 место
Да, тот скрипт только экспорт.
А у Пещерника и Эльфа и импорт есть, на XP пока правда)
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61331

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • Писатель 3 местоУчительПроект месяца 2 место3 местоПрограммист RubyПроект месяца 1 местоВетеран1 место в ГотвОрганизатор конкурсов
На эйс допилю в выходные, возможно, даже копирну дополнение от Пещерного в виде строки с event_id.
А вообще, скрипт губида тоже довольно любопытен, может стоит сделать дополнительную возможность (опционально, в смысле) сохранять диалоги для каждой карты в отдельный файл.
Последнее редактирование: 11 года 5 мес. назад от DeadElf79.
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61398

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • Программист RubyПереводчикОрганизатор конкурсовДаритель Стимкея2 место Сбитая кодировка2 место
Ну че, эльф, будет скрипт?
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61399

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • Писатель 3 местоУчительПроект месяца 2 место3 местоПрограммист RubyПроект месяца 1 местоВетеран1 место в ГотвОрганизатор конкурсов
Завтра уже будет))
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61400

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • Программист RubyПереводчикОрганизатор конкурсовДаритель Стимкея2 место Сбитая кодировка2 место
обнадеживает)
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61415

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект года 1 местоОрганизатор конкурсовОраторПроект месяца 1 местоПроект года 3 местоВетеранПроект месяца 3 место3 местоПрограммист RubyУчитель
Вышла новая версия скрипта, где
1) Поправлен импорт выбора
2) Добавлен экспорт/импорт Common Events
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61416

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • Программист RubyПереводчикОрганизатор конкурсовДаритель Стимкея2 место Сбитая кодировка2 место
Отлично, общие события это хорошо.
Эльф, с ними портируй, не забудь)
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61420

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Организатор конкурсов3 местоРазработчикПобедитель конкурса2 место Писатель 2 местоПисатель
Было бы здорово, если бы было можно экспортировать не только CE, а ещё и всё остальное из датабазы. :)
Администратор запретил публиковать записи гостям.

Dialogs exporter/importer [XP] 11 года 5 мес. назад #61422

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект года 1 местоОрганизатор конкурсовОраторПроект месяца 1 местоПроект года 3 местоВетеранПроект месяца 3 место3 местоПрограммист RubyУчитель
Как раз доделал экспорт/импорт БД, скрипт и демку обновил в первом посте. :)

PS: в демке в "русской версии" не все на русском, только по паре экземпляров в каждой закладке БД для теста - мне лень было все переводить.
Администратор запретил публиковать записи гостям.
  • Страница:
  • 1
  • 2
  • 3
Модераторы: NeKotZima
Время создания страницы: 0.324 секунд