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

Зміст уроку:
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
Але поки що перед нами головне вікно програми, в якому відображається машина.
Натискаємо на кнопку Weapons.
З'явився бронежилет. Але нам потрібна інша, вогнепальна зброя. Перелистуємо зброю за допомогою стрілочок. Ось вона, рушниця, яку я збираюся дати персонажу.
Назву ви можете подивитися трохи вище картинки. У моєму випадку це: 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.
Все, це зроблено, ми дали прописаному персонажу зброю. Тепер позлим його.
4. Злим персонажа
Ми вже дали зброю нашому персонажу. Щоб це перевірити — скомпіліруйте скрипт і зайдіть в гру.
Тепер розізлимо його! Для цього нам потрібно знову повернутися до скрипту, щоб поставити в ньому сферу навколо нашого персонажа, і якщо Сіджей перетне її, персонаж буде гасити його з усіх патронів, які є в дробовику!
Для цього прописуємо наступне перед словом 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
Тепер в гру, пробувати. Перетинаючи невидиму сферу, Сіджей буде злити персонажа, і той буде стріляти в нього.
Це був останній урок, присвячений персонажам. У наступних уроках ми будемо анімувати Сіджея і вручати йому в руки предмети (а також змушувати його їх кидати).
Рекомендовані файли

HD Universe GTA Vehicles [Update XIII]

PS2 to Mobile + Fixes

Updated Classic Uncover - Vice City (Build 23)

Реалістичні пішоходи - Real Peds Overhaul

Grand Theft Auto: Sindacco Chronicles - PSP Видання

Zombie Andreas Complete Final (Build 75)

Hot Coffee Mobile (Improved Mobile main.scm)

GTA SA Classic v1.7 - Атмосфера ПК-версії гри в GTA SA Mobile

Вид від першої особи - First Person Mod 3.0 (Fixed)

Vice City: Nextgen Edition Patch v1.2

Велика збірка CLEO-скриптів

Повний пак машин з GTA 5

TXD Tool версія 1.4.9.3 (тільки Android)

VGSA 2.0 - реалістична графіка
