Создание спец.актёров в GTA San Andreas
Для начала давайте выясним что такое специальный актёр (спец.актёр). Специальный актёр,
это особый актёр, он отличается от обычного актёра улучшенной анимацией, улучшенной
текстурой, большим количеством полигонов, в отличае от простого актёра. Спец.актёров
чаще всего можно увидить в скриптовых роликах-сценах. На самом деле, спец.актёры
создаются не так уж сложно, и мы сейчас разберёмся с этим. Но сразу хочу уточнить
что в пределах одного потока (thread) можно использовать до 21 спец.актёра, больше нельзя.
Итак, начнём. Для того чтобы загрузить модель спец.актёра требуется следующий опкод:
023C: request_special_actor 'SWEET' as 1 ; этим опкодом мы запрашиваем модель
Свиита ('SWEET', типы моделей приведены ниже) в число 1 (as 1), к этому числу мы ещё с вами
вернёмся. В качестве проверки используйте следующий опкод: 023D: special_actor 1 loaded ;
обратите внимание на цифру 1 после слов special_actor , эта цифра, вроде универсальной
переменной, в которую мы загружаем спец.актёра. Для того чтобы создать спец. актёра
используйте команду: $ACT = Actor.Create(Mission1, #SPECIAL01, [x], [y], [z]), тут,
в принципе, всё как обычно. $ACT - переменная спец.актёра, Mission1 тип актёра,
например civmale - мужчина, civfemale - женщина, cop - полицейский, и тд.
Дальше идёт модель спец.актера #SPECIAL01 , обратите внимание на цифры 01, если бы
вы в первом опкоде загрузили бы модель Свиита в цифру 2 (as 2), то вам бы
пришлось вместо #SPECIAL01 писать #SPECIAL02, думаю понятно почему. Дальше координаты.
В качестве примера ниже привожу скрипт с коменнтариями, чтобы больше было понятно.
:Load ; начало потока
023C: request_special_actor 'SWEET' as 1 ; запрашиваем спец.актёра ('SWEET') в число 1
038B: load requested models ; загружаем запрошенные модели
:Test ; проверка
wait 0 ; ждём 0 мс.
if 1 ; если
023D: special_actor 1 loaded ; спец.актёр запрошенный в число 1 загружен
0256: player $PLAYER_CHAR defined ; игрок обнаружен
jf @Test ; если нет, идём в начало
238@ = Actor.Create(Mission1, #SPECIAL01, 2252.293, -1260.204, 23.962) ; создаём актёра
end_thread ; заканчиваем поток
Выше приведён пример с использованием одного спец.актёра, но также можно использовать
несколько спец.актёров, смотрите пример ниже, в виде скрипта.
:Load ; начало потока
023C: request_special_actor 'TENPEN' as 1 ; запрашиваем спец.актёра ('TENPEN') в число 1
023C: request_special_actor 'PULASKI' as 2 ; запрашиваем спец.актёра ('PULASKI') в число 2
023C: request_special_actor 'HERN' as 3 ; запрашиваем спец.актёра ('HERN') в число 3
038B: load requested models
:Test ; проверка
wait 0 ; ждём 0 мс.
if 3 ;если
023D: special_actor 1 loaded ;спец.актёр запрошенный в число 1 загружен
023D: special_actor 2 loaded ;спец.актёр запрошенный в число 2 загружен
023D: special_actor 3 loaded ;спец.актёр запрошенный в число 3 загружен
0256: player $PLAYER_CHAR defined ; игрок обнаружен
jf @Test если нет, идём в начало
$act1 = Actor.Create(Mission1, #SPECIAL01, 2252.299, -1260.216, 23.962) ; создаём актёра №1
$act2 = Actor.Create(Mission1, #SPECIAL02, 2252.295, -1260.204, 23.962) ; создаём актёра №2
$act3 = Actor.Create(Mission1, #SPECIAL03, 2252.293, -1260.221, 23.962) ; создаём актёра №3
end_thread ;заканчиваем поток.
В это скрипте я показал вам как создать несколько спец.актёров. Игра позволяет создать
одновременно (в пределах одного потока) только до 21 спец.актёра. Ниже привожу все игровые
модели специальных актёров.
Имена моделей спец.актёров:
Итак, вроде бы всё. Со спец.актёрами можно проделывать тоже самое что и с простыми
актёрами. Можно им задавать параметры, заставлять бежать, стрелять, задавать анимацию,
и тд. Ну и в обобщение ко всему предыдущему материалу пишу ещё раз основные опкоды
по работе со спец. актёрами:
023C: request_special_actor [имя модели] as [цифра] ; для загрузки модели спец.актёра
023D: special_actor [цифра] loaded ; проверяет загружен ли спец.актёр
$act1 = Actor.Create(Mission1, #SPECIAL[цифра], [X], [Y], [Z]) ; создаёт спец.актёра
Ну, вот и всё. Если вдруг какие вопросы, то шлите сюда на E-mail: 4-Life@list.ru
Или спрашивайте в коментариях и на форуме.
Автор: 4-Life
2006
719 Прочтений • [Создание спец.актёров в GTA San Andreas] [13.05.2012] [Комментариев: 0]