CLEO: Тексдравы и всё об их - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Alowir, Sanoxxx  
CLEO: Тексдравы и всё об их
AxXe Дата: Пятница, 21.02.2014, 13:59 | Сообщение # 1
Любитель
Сообщений: 35
Статус: Offline
Чтобы рисовать на экране, нужно включить режим рисования опкодом
03F0: enable_text_draw 1

При первом запуске игры значение рисования не определено и текстуры будут "висеть" на экране вечно. При значении параметра 1 - текстуры будут рисоваться на несколько миллисекунд, надо их рисовать в цикле с wait 0. При значении параметра 0 - текстуры не рисуются.

ВНИМАНИЕ! В некоторых случаях (например, при входе в раздевалку) значение enable_text_draw сбрасывается в неопределённое и тогда текстуры не будут стираться, итог - вылет через две секунды. Так что во время рисования заморозьте игрока (01B4: set_player $PLAYER_CHAR can_move 0) и установите $ONMISSION в true. Либо всё время устанавливайте 03F0: enable_text_draw 1.
Вывод текстур

Чтобы рисовать текстуры, надо в начале загрузить TXD файл из папки \Models\TXD опкодом
0390: load_txd_dictionary 'MY_TXD'

а после рисования выгрузить опкодом
0391: release_txd_dictionary

После загрузки нужно загрузить сами текстуры опкодом
038F: load_texture "MyTexture" as 1

Текстуры выводятся на экран опкодами:
038D: draw_texture 2 position 160.0 112.0 scale 320.0 224.0 RGBA 150 150 150 255
074B: draw_texture 2 position 160.0 112.0 scale 320.0 224.0 angle 90.0 RGBA 150 150 150 255

Второй отличается от первого тем, что можно задать угол поворота текстуры.

Итак, первый параметр - это слот текстуры, который мы задали в опкоде 038F. Пара параметров после position - это координаты текстуры (см. ниже). Пара параметров после scale - это размеры текстуры на экране (см. ниже). Параметры после RGBA - цвет в формате RGB и прозрачность текстуры (255 - не прозрачно).

Как определить координаты текстуры? Левый верхний квадрат имеет координату 0.0 0.0, а правый нижний - координату 640.0 448.0. Координаты рассчитываются от середины текстуры. С помощью калькулятора и Paint'а высчитывать координаты текстур - неприятное дело, так что проще воспользоваться программой San Andreas Texture Placer. С её помощью можно расставить текстуры как следует.

Что-бы не было пикселизации текстуры и текстура была сглаженной нужно перед рисованием текстуры поставить опкод
03E3: set_texture_to_be_drawn_antialiased 1

например:
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 2 position 160.0 112.0 size 320.0 224.0 RGBA 150 150 150 255
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 2 position 480.0 112.0 size -320.0 224.0 RGBA 150 150 150 255

Аналогично текстурам можно рисовать прямоугольники опкодом:
038E: draw_box_position 320.0 224.0 size 640.0 448.0 RGBA 255 0 0 128

Ограничения: всего в один момент времени на экран может выводиться до 128 текстур.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Рисование текста:

Основной опкод для рисования текста:
033E: set_draw_text_position 320.0 407.0 GXT 'FEM_YES'
045A: draw_text_1number 320.0 407.0 GXT 'DOLLAR' number 72
045B: draw_text_2numbers 320.0 407.0 GXT 'TIME' numbers 5 45
07FC: text_draw_1float_position_XY 10.0 10.0 GXT_reference 'BB_05' value 1@ decimal_count 3

где 320.0 407.0 - координаты. Координаты отсчитываются от левого верхнегно угла текста, как обычно. Следующие два опкода выводит целые числа, последний выводит Float число, параметр decimal_count - количество десятичных знаков после запятой (в GXT должно быть ~1~.~1~).

К тексту можно применить форматирование, для этого перед опкодом текста должны стоять опкоды: Опкод, включающий выравнивание текста по центру:
0342: enable_text_draw_centered 1

Опкод, включающий выравнивание текста по правому краю:
03E4: enable_text_draw_align_right 1

Цвет текста и его прозрачность:
0340: set_text_draw_RGBA 255 0 0 200

Параметры тени (первый параметр - расстояние тени, четыре остальных параметра - цвет и прозрачность):
060D: draw_text_shadow 1 color_RGBA 127 127 127 245

Параметры обводки текста (первый параметр - толщина обводки, четыре остальных параметра - цвет и прозрачность):
081C: draw_text_outline 1 RGBA 255 0 0 255

Опкод, включающий серый бокс (фон) (глючный):
0345: enable_text_draw_background 1

Опкод, теоретически при 1 пропорциональный, при 0 моноширинный, практически при 0 текст выглядит безобразно:
0348: enable_text_draw_proportional 0

Опкод, задающий длину одной строки:
0343: set_text_draw_linewidth 80.0

Опкод, задающий шрифт:
0349: set_text_draw_font 3
Параметр: 0 - готический (из San Andreas), 1 - обычный, 2 - шрифт из меню SA, 3 - pricedown (из GTA3).

Опкод изменения ширины и высоты одного символа:
033F: set_text_draw_letter_size 1.0 3.0

Опкод, выводящий на экран прямоугольник, как и в меню:
0937: text_draw_box_cornerA 29.0 50.0 cornerB 210.6556 156.4957 GXT_reference 'POLICAR' style 4
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума