Jump to content
Sign in to follow this  
BETEP/macs509

Выносим перевод во внешние файлы

Recommended Posts

Еще одна из старых наработок. Позволяет вынести весь перевод NPC/квестов во внешние файлы. Описание пишу по памяти, возможны неточности. Ответственности за последствия не несу.

Q: Зачем?
A: По пунктам:

  • Отпадает необходимость в т.н. Lua-кодировщиках
  • Свой перевод можно переносить из сборки в сборку, не перелопачивая заново все файлы
  • Можно отдать команде переводчиков текст, вместо всего скрипта, и не бояться, что кто-нибудь упрет вашу фишку
  • Можно еще какие-нибудь плюсы придумать...

Q: Как?
A: Перво-наперво качаем GameServer.exe: http://www.mediafire.com/file/mvwx84gs3c1pfs8/GameServer.rar
Затем: http://www.mediafire.com/file/k1m4dwlgwrmk3r7/L10n.rar
Распаковываем содержимое архива в /resource/script/

 

Затем открываем /resource/script/MisScript/ScriptDefine.lua и первой строкой добавляем:

L10n_init(true) -- true в данном случае означает, что при запуске сервера нужно сдампить диалоги/квесты в файлы

Сохраняем, запускаем Game Server (даже без Account/Group/Gate) и ждем его полной загрузки. Для всех карт поочередно.
Вновь открываем /resource/script/MisScript/ScriptDefine.lua и меняем true на false (нам ведь не надо, чтобы диалоги дампились каждый раз, затирая все наши наработки по переводу):

 

L10n_init(false)

Теперь можно, собственно, переводить.

Q: Где находится перевод?
A: Перевод квестов находится в /resource/script/L10n/Mission/
Внутри следующие файлы:

  • {id}.txt — название квеста
  • {id}_begin.txt — сообщение при взятии квеста
  • {id}_help.txt — сообщение в процессе квеста
  • {id}_result.txt — сообщение при сдаче квеста

Перевод диалогов находится в /resource/script/L10n/Npc/
Внутри папки с именами-названиями функций каждого Npc.
Внутри этих папок, в свою очередь, папки с названиями вида page{страница_диалога}.
И в самом конце уже файлы:

  • {i}_talk.txt — текст диалога
  • {i}_text.txt — текст пункта выбора
  • ...
  • {i}_text.txt — текст пункта выбора
  • Где {i} — порядковый номер каждого пункта.


Так же внутри каждой папки page{страница_диалога} есть файл missions.txt. Он содержит id квестов этого NPC. Не используется сервером, но требуется для редактирования перевода квестов через редактор.

Q: Демон, откуда ты все это знаешь?
A: Дык друзья

Q: Моего вопроса здесь нет, как быть?
A: Задавайте в теме.

Enjoy!

Редактор для облегчения редактирования перевода: http://www.mediafire.com/file/4kkwg3tlqtvgacf/editor.rar
Создаем MySQL базу. Выполняем в нее дамп из архива. Настраиваем config.php.
В папку со скриптом кладем полную папку resource с сервера с уже задампленными диалогами, ну и, собственно, переводим.

Ни в коем случае не ставить на основной веб-сервер, вас очень легко могут хакнуть (скрипт не проверяет никаких входных данных). И не говорите, что не предупреждал.

by insider

Edited by BETEP/macs509

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...