00072. Работа со светом. Прожектор

Работа со светом. Прожектор|В этом уроке мы рассмотрим базовые опкоды для работы со светом.|wmysterio|wmysterio||||Думаю с название этого краткого урока вы догадались, что речь пойдёт о свете ( это не имя девушки :D ). Это небольшой источник света и используется в качестве слабого освещения. Примером света можно назвать фары автомобиля и прожекторы на вертолётах. Начнём с опкодов:

06B1: 0@ = create_searchlight_at -1200.0 500.0 20.0 radius 5.0 target -1300.0 490.0 13.0 radius 25.0

Здесь: 0@ - переменная, в которую записывается источник света -1200.0 500.0 20.0 - координаты создания света 5.0 - начальный радиус света -1300.0 490.0 13.0 - координаты цели, то есть место, куда будет направлен этот источник 25.0 - соответственно радиус возле цели

06C1: create_searchlight 0@ on_car 1@ with_offset 0.0 1.0 -0.5 radius 0.4 target 2228.36 -1171.48 25.82 radius 5.0

Создаёт источник света и цепляет его к автомобилю.

Здесь: 0@ - переменная, в которую записывается источник света 1@ - хендл машины, к которой будет прицеплен свет 0.0 1.0 -0.5 - координаты размещения света относительно машины 0.4 - начальный радиус света 2228.36 -1171.48 25.82 - координаты, куда будет направлен свет 5.0 - радиус возле цели

06C4: create_marker_above_searchlight 0@ handle_as 1@

Создаёт маркер над источником света.

Здесь: 0@ - указатель на свет 1@ - переменная маркера

06B6: set_searchlight 0@ follow_actor $PLAYER_ACTOR speed 0.2

Заставляет следовать свет за актёром.

Здесь: 0@ - указатель на свет $PLAYER_ACTOR - актёр, за которым будет двигаться свет 0.2 - скорость перемещения координат направление света

06B4: set_searchlight 0@ path_between 2228.36 -1171.48 25.82 and 2215.41 -1142.51 25.5 speed 0.5

Заставляет прожектор следовать с одной точки в другую.

Здесь: 0@ - указатель на свет 2228.36 -1171.48 25.82 - изначальная точка перемещения 2215.41 -1142.51 25.5 - конечная точка перемещения 0.5 - соответственно скорость перемещения света

06CA: attach_searchlight 0@ to_tower 1@ to_housing 2@ to_bulb 3@ with_offset 0.0 1.181 0.768

Опкод цепляет свет к прожектору.

Здесь: 0@ - указатель на свет 1@ - указатель на основание прожектора 2@ - указатель на сам прожектора 3@ - указатель на стекло прожектора 0.0 1.181 0.768 - координаты сцепления света, относительно прожектора

06B2: destroy_searchlight 0@

Уничтожает источник света.

Так же есть проверки для света:

06B3: searchlight 0@ active // активный ( существует ) источник света?
06B7: searchlight 0@ spotted_actor $PLAYER_ACTOR // Актёра находится в источнике света? ( актёр замечен источником света? )

Для примера напишем самый простой скрипт:

{$CLEO}
0000:

:LIGHT
thread 'LIGHT'
wait 0
06B1: 0@ = create_searchlight_at 2480.4573 -1754.0773 24.2714 radius 4.0 target 2481.6211 -1748.3218 13.5469 radius 15.0
0A93: end_custom_thread

Результат:

Думаю, о источнике света я вам рассказал всё необходимое =)|1084|1|0|18774195png600360400`240``||rabota_so_svetom|1499707648

Last updated