Страница 1 из 1

Вывод текста [Уроки по созданию модов GTA SA]

Добавлено: 21 фев 2019, 20:58
Vovka
Сейчас мы разберем команды по выводу текста в игре:

1) Выбор GXT таблицы, из которой будет использоваться текст:
054C: use_GXT_table 'MAIN'

2) 00BA: text_styled 'SWEET_4' 4000 ms 1
4000- время отображения текста (в миллисекундах)

1- формат текста.

Всего есть 5 типов:
5- текст среднего размера почти в самом верху экрана
4- текст среднего размера чуть выше середины
3- текст большого размера чуть выше середины экрана (готический шрифт)
2- текст справа внизу экрана (стандартный при активации миссии)
1- текст посередине экрана


3) Диалог:
00BC: text_highpriority 'CES_CK1' 1000 ms 1

Этот опкод служит для начала вывода текста, потом следует использовать команду:
00BB: text_lowpriority 'DRV6_15' 10000 ms 0

Например:
00BC: text_highpriority 'DRV6_2' 10000 ms 0
00BB: text_lowpriority 'DRV6_17' 7000 ms
00BB: text_lowpriority 'DRV6_4' 10000 ms 0

Текст будет отображатся поочередно.

4) Для вывода текста справки (слева наверху экрана) существуют 2 команды:
03E5: text_box 'HELP26' //Со звуковым оформлением
0512: permanent_text_box 'HOSP_1' //То же самое, но без звука

5) Специальное форматирование текста:

0340: set_text_draw_color 134 155 184 255 //Задать тексту цвет (R, G, B, Alpha)
033F: set_text_draw_letter_width_height 3.0 3.0 // Растянуть текст (ширина, высота)
0342: set_text_draw_centered 1 // Отцентрировать текст
060D: draw_text_shadow 1 color 0 0 0 alpha 180 // Сделать текст с тенью (да/нет), цветом и альфой тени
0349: text_draw_style = 3 // Выбрать тексту шрифт (от 1 до 4)
033E: text_draw 255.0 255.0 'WUZI_2' // Отобразить текст 'WUZI_2' с указанными координатами экрана

6) Чтобы удалить нужное сообщение с экрана, используйте следующие команды:
00BE: text_clear_all // Убрать весь текст
03D5: remove_text 'INTRO2E' // Убрать текст 'INTRO2E'
03E6: remove_text_box //Убрать text box
03F0: text_draw_toggle 0 // Убрать форматированный текст

7) Иногда требуется вывести какое-то неопределенное значение в виде текста.

Например спидометр или тот же текст ‘MISSION PASSED $MONEY, где переменная $MONEY означает количетсво выигранных денег. Рассмотрим команды по работе с ними:
0006: $248 = 500 // Для наглядности создаем переменные
0006: $249 = 700
01E3: text_1number_styled 'BB_15' $248 5000 ms 1 //Выводим текст с одной переменной
01E5: text_1number_highpriority 'LOW_38' $248 5000 ms 1 // Выводим текст с одной переменной в виде диалога

// (Высокий приоритет)

01E4: text_1number_lowpriority 'HJ_IS' $248 5000 ms 1 // Выводим текст с одной переменной в виде диалога
// (Низкий приоритет)

А вот аналогичные команды (работают с несколькими переменными), комментировать каждую не буду, т.к. кроме количества переменных они не отличаются от предыдущих.
02FF: text_3numbers 'WHEEL02' $1289 $1322 $1319 time 3000 ms 1
0302: text_4numbers 'WHEEL01' $1289 $1320 $1321 $1319 3000 ms 1
0303: text_4numbers_highpriority 'QUAR_P6' 208@ 209@ 210@ 211@ 10000 ms 1
0308: text_6numbers 'HJSTAT' $1299 $1298 $1292 $1297 $1296 $1300 5000 ms 5
036D: text_2numbers_styled 'TX_SEQ' $8198 115@ 5000 ms 5

На этом всё :)