Рейтинг - 3.0 (2)

В этом уроке мы рассмотрим базовые опкоды для работы со светом.

Думаю с название этого краткого урока вы догадались, что речь пойдёт о свете ( это не имя девушки :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

Результат:

Думаю, о источнике света я вам рассказал всё необходимое =)


Теги: searchlight, Свет, Прожектор

FOXMAN   (20.08.12 19:27)
А можно текстуру другую намутить, ну или не текстуру, а что бы не круг был, а прямоугольная полоска?
Вход на сайт

Поиск
Категории раздела
Мини-чат
Пожалуйста, все вопросы по скриптингу задавать на форуме!
Наш опрос
Как Вы узнали о сайте?
Всего ответов: 5
Активность на сайте
Пожертвования
Кошельки WebMoney:
U859420971000
R407741810602
Z331072372430
E314272616890
Друзья сайта
Полезные ресурсы
Статистика

Онлайн всего: 2
Гостей: 1
Пользователей: 1
wmysterio
Сегодня нас посетили:
wmysterio, Dyabda
Реклама