Свои тексты в GTA San Andreas
Содержание
1. Введение
2. Опкоды
3. Добавление своих текстов и их сохранение
Начнем с того, где хранятся тексты 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....
Чтобы полноценно читать тексты из русской версии Сан Андреаса, понадобится переводчик, ссылку на который я вам дам позднее.
Теперь перейдем ко второй главе, где мы разберем опкоды для вывода текста на экран и все проблемы и сложности выведения текстов.
Откроем Sanny Builder и подготовим начальный код работы скрипта. У меня он выглядит примерно так:
Логически скрипт выглядит так:
Если игрок найден и он нажал клавишу Backspace, то на экран выводится табличка с текстом (подсказка).
Строка 0AB0: show_text_box 'HELP101' как раз и задает вывод таблички на экран. А что в ней будет написано? Это определяют два апострофа ''. В них помещается имя GXT-записи. А от имени GXT-записи будет зависеть, какой текст будет выведен на экран. Имени GXT записи в GXT Editor'е не ищите. Его там просто нет! В столбце ID указан идентификационный номер записи. Если найти его в main.scm, то вы как раз и увидите текст, который выводится на экран. Вот тут и раскрывается главная тема статьи: а если вас не устраивают тексты, которые содержатся в American.gxt? Если вам надо написать "Тетя Люба вешает картину на стену"? Ясное дело, такой записи в файле нет. Что же, переходим к следующей главе.
Вам надо добавить свой текст в игру (см. пример выше). Если у вас английская версия игры, то переводчик вам не понадобится, а если русская, увы, придется скачать еще и его.
Начнем с английской версии игры. Для того, чтобы вставить свой текст в 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ЗННЫМ русификатором, но русская. В таком случае, если вы напишите вашу запись на русском языке, то она просто не появится в игре! Все дело в том, что наш язык игра не понимает (а именно кириллицу), и нам необходимо перевести тексты на понятный ей язык. Для этих целей служит переводчик (
Также полазийте в справке SB и вы найдете и другие методы отображения текста (под HUD'ом, в середине экрана, внизу экрана, и т.д.). Я объяснил все максимально ясно и понятно для новичков, однако, если у вас возникают какие-либо затруднения, пишите в комментариях ниже.