00056. Специальные актёры

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

Для начала, нужно загрузить модель актёра опкодом:

023C: load_special_actor 'TENPEN' as 1

Здесь: 'TENPEN' - имя модели актёра 1 - указывается номер актёра

Дальше необходимо проверить на загруженность:

023D: special_actor 1 loaded

Здесь: 1 - указанный ранее номер актёра

Обратите, внимание, что конкретной модели специальные актёры не имеют. Но нужно всё же как то их создать :) А создаются они как и обычные:

$TEMPEN = actor.Create(4, #SPECIAL011, 0.0, 0.0, 0.0)

Здесь: $TEMPEN - естественно указываем переменную, которая будет хранить актёра 4 - тип актёра 0.0, 0.0, 0.0 - координаты появления #SPECIAL01 - вот это уже интереснее. Для специальных актёров существуют и специальные модели, которые подходят любым специальным актёрам. Всего их 10 штук.× **Примечание:** Номер актёра должен совпадать с окончанием возле #SPECIAL ( #SPECIAL <с 01 по 10> )

Так же необходимо выгрузить с памяти модель, после создания ( на актёра это не повлияет, действует как "model.destroy()":

0296: unload_special_actor 1

Теперь давайте напишем простой скрипт, что бы Темпени появлялся рядом с CJ:

{$CLEO}
0000:

:TEMP
thread 'TEMP'
wait 0
023C: load_special_actor 'TENPEN' as 1 // загружаем Темпени
038B: load_requested_models

:TEMP_1
wait 0
if
023D: special_actor 1 loaded // проверяем на загрузку
jf @TEMP_1
00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@ // считываем координаты CЖ
2@ += 2.0 // смещаем позицию y на 2.0
$TEMPEN = actor.Create(4, #SPECIAL01, 1@, 2@, 3@) // создаём Темпени возле СЖ
actor.Angle($TEMPEN) = 0.0
0296: unload_special_actor 1 // выгружаем модель
0A93: end_custom_thread

Как видим, Темпени появился как миленький:

Все опкоды, связанные с актёрами, действуют и на специальных актёров. Теперь задание: при нажатии кнопки R создаются два спец. актёра. Устройте поединок между ними ( чтобы били друг друга ).|1974|1|0|20576223png600375400250``||specialnye_aktjory|1499526491

Last updated