Содержание
1. Введение 2. Опкоды 3. Добавление своих текстов и их сохранение
1. Введение
Начнем с того, где хранятся тексты San Andreas? Все внутриигровые диалоги, субтитры и указания (что делать, куда ехать), и т.д. Все это хранится в файле American.gxt. Файл располагается по адресу ../GTA San Andreas/text/ Открыть блокнотом его можно, но вы ничего не прочтете:
Для того, чтобы прочесть тексты в игре из файла American.gxt существует очень хорошая программа GXT Editor. Если у вас английская версия игры, то вы тут же увидите слова. А если русская или того хуже, украинская, то вместо английских слов вы увидите греко-арабские нечитаемые начертания вроде таких: O¤a xo™et Јokatat¬c®. Mo›et ?«t¬, o¤a ЈoЈpocќt te?® octa¤oўќt¬c® ў kakom-¤ќ?yљ¬ ykpom¤om mecte.... Чтобы полноценно читать тексты из русской версии Сан Андреаса, понадобится переводчик, ссылку на который я вам дам позднее. Теперь перейдем ко второй главе, где мы разберем опкоды для вывода текста на экран и все проблемы и сложности выведения текстов.
2. Опкоды
Откроем Sanny Builder и подготовим начальный код работы скрипта. У меня он выглядит примерно так:
Логически скрипт выглядит так: Если игрок найден и он нажал клавишу Backspace, то на экран выводится табличка с текстом (подсказка). Строка 0AB0: show_text_box 'HELP101' как раз и задает вывод таблички на экран. А что в ней будет написано? Это определяют два апострофа ''. В них помещается имя GXT-записи. А от имени GXT-записи будет зависеть, какой текст будет выведен на экран. Имени GXT записи в GXT Editor'е не ищите. Его там просто нет! В столбце ID указан идентификационный номер записи. Если найти его в main.scm, то вы как раз и увидите текст, который выводится на экран. Вот тут и раскрывается главная тема статьи: а если вас не устраивают тексты, которые содержатся в American.gxt? Если вам надо написать "Тетя Люба вешает картину на стену"? Ясное дело, такой записи в файле нет. Что же, переходим к следующей главе.
3. Добавление своих текстов и их
сохранение
Вам надо добавить свой текст в игру (см. пример выше). Если у вас английская версия игры, то переводчик вам не понадобится, а если русская, увы, придется скачать еще и его. Начнем с английской версии игры. Для того, чтобы вставить свой текст в CLEO-скрипт, вам понадобится CLEO 4 (третья версия с этим просто не работает) и маленькая программка FXT Editor. Она не требует инсталляции. Запустите ее. (Примечание: Smart Screen в Windows 8 может ругаться на файл. Пошлите его к чертям - файл абсолютно безопасен, просто не имеет цифровой подписи). Теперь настало время творить! Создайте новую FXT запись (File => New FXT). Теперь в первом столбце таблицы введите имя записи (короткое и емкое и обязательно на английском), а во втором - тот самый текст, который вам надо добавить в игру:
Теперь имя FXT записи (у меня оно GTA) вы вставляете в свой скрипт между двумя апострофами. Затем сохраняете FXT файл (File => Save FXT) в директорию ../GTA San Andreas/CLEO/CLEO_TEXT/ Компилируете скрипт, заходите в игру и нажимаете Backspace. У вас появляется табличка с текстом "GTA San Andreas the best/worst GTA" (ГТА Сан Андреас лучшая/худшая ГТА). Отлично. Нажимая кнопки с плюсом и минусом в FXT-Editor'е вы можете удалять строки таблицы FXT и добавлять в них свои тексты. Разберем самую плачевную ситуацию: у вас русская/украинская Сан Андреас. Пусть и с лучшим 1С (SanLTD), или с ПОТРА4ЗННЫМ русификатором, но русская. В таком случае, если вы напишите вашу запись на русском языке, то она просто не появится в игре! Все дело в том, что наш язык игра не понимает (а именно кириллицу), и нам необходимо перевести тексты на понятный ей язык. Для этих целей служит переводчик (ссылка на скачивание), который работает крайне плохо, но все же работает. Пользоваться им КРАЙНЕ просто. Ставите нужное вам направление перевода (С символьного на русский или наоборот), пишите текст в первое поле. Нажимаете "Перевести" и получаете готовую порцию нечитаемых для нас символов. Копируете их и вставляете в строку FXT таблицы. Заходите в игру (не забудьте сохранить FXT), и о чудо! Теперь текст, который вы добавили теперь на Великом и Могучем языке! Точно также вы можете и перевести текст из символьного языка на русский, правда в этом направлении переводчик вообще не работает. На выходе вы получаете такую же мешанину символов. Также полазийте в справке SB и вы найдете и другие методы отображения текста (под HUD'ом, в середине экрана, внизу экрана, и т.д.). Я объяснил все максимально ясно и понятно для новичков, однако, если у вас возникают какие-либо затруднения, пишите в комментариях ниже.