Українська

Уроки CLEO. Урок №3: злим персонажа

4 липня 2012
Alexey1999, Flame

Содержание урока:

1. Предыстория
2. Программы
3. Находим оружие и его ID
4. Злим персонажа

1. Предыстория

В прошлом уроке мы с вами ставили персонажу анимацию. У меня была анимация танца dance_loop из пакета анимаций anim.img/dancing.ifp.

Сейчас мы дадим ему хорошее оружие, но какое — решать вам! В моём случае это будет помповое ружьё Shotgun.

Далее сделаем так, чтобы когда к нашему персонажу приблизишься слишком близко, он начинал вас убивать. На этом наш урок по установке персонажей на карту закончится, мы перейдём на следующий уровень сложности. Мы станем ставить анимации Сиджей и давать ему в руки что угодно, хоть дом!

Итак, начнём.

2. Программы

Нам потребуется программа GGMM (GTA Garage Mod Manager) (она предназначена изначально для просмотра и замены автомобилей, но также позволяет просматривать оружие) и Sanny Builder 3 (создание скриптов).

Установив и запустив GGMM, нам нужно будет найти оружие и выяснить его числовой идентификатор (ID).

2. Находим оружие и его ID

Но пока что перед нами главное окно программы, в котором отображается машина.

Уроки CLEO. Урок №3: злим персонажа

Нажимаем на кнопку Weapons.

Появился бронежилет. Но нам нужно другое, огнестрельное оружие. Перелистываем оружие с помощью стрелочек. Вот оно, ружьё, которое я собрался дать персонажу.

Уроки CLEO. Урок №3: злим персонажа

Название вы можете посмотреть чуть выше картинки. В моём случае это: CHROMEGUN. Название мы знаем, открываем наш созданный ранее скрипт в Sanny Builder и загружаем модель вот этой командой:

Model.Load(#CHROMEGUN)

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

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------

:NONAME_1
Model.Load(#HMORI)
Model.Load(#CHROMEGUN)
04ED: load_animation "DANCING"
038B: load_requested_models
04EE: animation "DANCING" loaded
1@ = Actor.Create(CivMale, #HMORI, 2486.9573, -1656.5065, 13.3479)
Actor.Angle(1@) = 178.8208
wait 3000
0605: actor 1@ perform_animation_sequence "dance_loop" IFP_file "DANCING" 4.0 loop 1 0 0 0 time -1 // versionA
end_thread

Всё, теперь осталось лишь узнать ID оружия которое, вы выбрали. Это нужно сделать не закрывая Sanny Builder 3. Просто нажмите на "Справка", потом на "Помощь". У вас откроется отдельное окно.

Нажмите на "Статьи" и найдите там "Пикапы". Здесь вы найдёте ID своего оружия. У меня это будет — 25. Всё, ID узнали, можно закрывать справку.

Далее пишем в скрипте после анимации следующее:
01B2: give_actor 1@ weapon 25 ammo 1000 // Load the weapon model before using this

Там, где написано weapon, нужно написать ID своего оружия, а после ammo — патроны, точнее количество патронов. Я поставил 1000.

Уроки CLEO. Урок №3: злим персонажа

Всё, это сделали, мы дали прописанному персонажу оружие. Теперь позлим его.

4. Злим персонажа

Мы уже дали оружие нашему персонажу. Чтобы это проверить — скомпилируйте скрипт и зайдите в игру.

Уроки CLEO. Урок №3: злим персонажа

Теперь разозлим его! Для этого нам нужно снова вернуться к скрипту чтобы поставить в нем сферу вокруг нашего персонажа, и если Сиджей пересечёт её, персонаж будет гасить его из всех патронов, которые есть в дробаше!

Для этого прописываем следующее перед словом end_thread:

:NONAME_2
wait 0
if
0102: actor $PLAYER_ACTOR in_sphere 2486.9573 -1656.5065 13.3479 radius 10.0 10.0 10.0 sphere 0 stopped_on_foot
jf @NONAME_2

Это мы создали сферу. В конце нужно написать нужные координаты. В моём случае это 10.0 10.0 10.0

Далее, после слова jf @NONAME_2 нам надо прописать следующее:

0850: AS_actor 1@ follow_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR

Весь код после сделанных правок будет выглядеть так:

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------

:NONAME_1
Model.Load(#HMORI)
Model.Load(#CHROMEGUN)
04ED: load_animation "DANCING"
038B: load_requested_models
04EE: animation "DANCING" loaded
1@ = Actor.Create(CivMale, #HMORI, 2486.9573, -1656.5065, 13.3479)
Actor.Angle(1@) = 178.8208
wait 3000
0605: actor 1@ perform_animation_sequence "dance_loop" IFP_file "DANCING" 4.0 loop 1 0 0 0 time -1 // versionA
01B2: give_actor 1@ weapon 25 ammo 1000 // Load the weapon model before using this
:NONAME_2
wait 0
if
0102: actor $PLAYER_ACTOR in_sphere 2486.9573 -1656.5065 13.3479 radius 10.0 10.0 10.0 sphere 0 stopped_on_foot
jf @NONAME_2
0605: actor 1@ perform_animation_sequence "dance_loop" IFP_file "DANCING" 4.0 loop 0 0 0 0 time 0 // versionA
0850: AS_actor 1@ follow_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
end_thread

Теперь в игру, пробовать. Пересекая невидимую сферу, Сиджей будет злить персонажа, и тот будет стрелять в него.

Уроки CLEO. Урок №3: злим персонажа

Это был последний урок, посвящённый персонажам. В следующих уроках мы будем анимировать Сиджея и вручать ему в руки предметы (а также заставлять его их бросать).

Рейтинг: 0 (0 голосів)

Рекомендуемые файлы