уроки cleo

Та й взагалі на слова увагу звертайте побільше, у "шевроле", "форда", кадиллака, лінкольна і деяких інших перше покоління це автомобілі 1900 року. В оригінальній грі найстаріший авто це hustler, hot road, 30-х років; імовірно шевроле і форд відповідно.

До речі компанія checker фактично теж починається з 1908 року, а свій останній ім'я отримала в 1922 році, так що дане авто ніяк не тягне ні на перше, ні навіть на п'яте покоління, в даному кузові воно проводилося з середини 50-х по 1977 рік ( рік смерті Елвіса Преслі до речі).

Ах да, на самому початку вони все - таки не таксі робили, але з 20-х по 72 рік продавали авто саме для таксомоторних парків.

1. Передісторія
2. Програми
3. Знаходимо об'єкт або зброю
4. Даємо в руки об'єкт або зброю

Ви напевно хочете, щоб головний герой брав щось у руки, наприклад зброя. Це дуже легко!

Якщо коротко, потрібно прописати в скрипті команду 01B2: give_actor $ PLAYER_ACTOR weapon 25 ammo 1000 // Load the weapon model before using this. Замість 25 ви ставите ID зброї (можна подивитися в довідці: Допомога> Статті> Пікапи), замість тисячі ви повинні поставити будь-яке число, хоч 1000000! Це кількість патронів.

Але ми зараз зацікавлені в тому, щоб дати герою саме об'єкт, а не зброя. Наприклад, пляшку. У будь-якому випадку, нижче ми детально розглянемо обидва варіанти.

3. Знаходимо об'єкт або зброю

Отже, ми почнемо шукати для початку звичайний об'єкт. Для цього скачайте і встановіть Map Editor, зайдіть в програму, вкажіть шлях до гри і натисніть ОК. У перший раз програма може вилетіти, вдруге все пройде гладко!

Щоб політати по околицях або інтер'єрів GTA SA, ставте галочку на кожній із частин світу. Політайте і знайдіть свій об'єкт, а потім клацніть двічі по ньому, він буде виділений червоним.

уроки cleo

Об'єкт знайшли, тепер треба записати його ID (числовий ідентифікатор). Він відображається там, де показано на нижньому малюнку.

уроки cleo

ID мого об'єкта - 1520. Значить, мені можна закривати Map Editor і вже робити скрипт.

Дізнаємося ID зброї. Для цього встановимо GMMM, відкриємо програму, увійдемо в меню Weapons і відшукаємо там потрібне зброю.

уроки cleo

Я вибрав катану. Так як в минулому уроці я ставив анімацію медитації, катана підійде дуже добре! Тепер нам залишилося зробити скрипт.

4. Даємо в руки об'єкт або зброю

Передача персонажу об'єкта або зброї дуже схожі, але є відмінність. Для того щоб дати, наприклад, обраний раніше об'єкт (пляшка), потрібно писати Model.Load (1520). а щоб дати зброю, потрібно написати Model.Load (#katana) (також, щоб дати зброю в руки, треба позначити його як змінну, про що нижче).

Тож почнемо! Спочатку розберемося, як давати в руки об'єкт. а потім як давати зброю.

Відкриваємо наш розпочатий вже в минулих уроках скрипт, і в частині, в якій ми пишемо, які речі скрипту потрібно завантажити, прописуємо код, який вказує на завантаження потрібної моделі:

Весь скрипт виглядає так:

уроки cleo

Потім потрібно зробити так, щоб коли герой виконує якусь анімацію (як прикріплювати анімацію я писав в попередньому уроці), об'єкт сам з'являвся в руках.

$ BUT = Object.Init (1520, 10 @, 20 @, 30 @)
070A: AS_actor $ PLAYER_ACTOR attach_to_object $ BUT offset 0.05 0.06 0.05 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time -1

Ось так у мене виглядає код:

уроки cleo

Все, об'єкт потрапляє в руку, але потрібно зробити, щоб по закінченню програвання анімації він зник! Пропишіть після останньої анімації наступне:

0687: clear_actor $ Player_actor task
Object.Destroy ($ BUT)
Object.RemoveReferences ($ BUT)
Model.Destroy (1520)

Ось код скрипта цілком:

04ED: load_animation "PARK"
Model.Load (1520)
038B: load_requested_models
04EE: animation "PARK" loaded
: NONAME_1
wait 0
if
0AB0: key_pressed 90
else_jump @ NONAME_1
wait 0
0812: AS_actor $ Player_actor perform_animation "Tai_Chi_in" IFP_file "PARK" 4.0 loopA 1 lockX 1 lockY 1 lockF 0 time -1 // versionB
$ BUT = Object.Init (1520, 10 @, 20 @, 30 @)
070A: AS_actor $ PLAYER_ACTOR attach_to_object $ BUT offset 0.05 0.06 0.05 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time -1
wait 1000
: NONAME_2
wait 0
if
0AB0: key_pressed 84
else_jump @ NONAME_2
wait 0
0812: AS_actor $ Player_actor perform_animation "Tai_Chi_Out" IFP_file "PARK" 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time -1 // versionB
0687: clear_actor $ Player_actor task
Object.Destroy ($ BUT)
Object.RemoveReferences ($ BUT)
Model.Destroy (1520)
wait 1000
jump @ NONAME_1

Можете перевірити в грі. Все, давати в руки об'єкт під час програвання анімації ми навчилися.

уроки cleo

Тепер розберемося як давати в руки зброю.

Для цього пишемо в скрипті, як завантажувати наша зброя:
Model.Load (#KATANA)

Тепер робимо катану перехідною, пишемо це після рядки:

0812: AS_actor $ Player_actor perform_animation "Tai_Chi_in" IFP_file "PARK" 4.0 loopA 1 lockX 1 lockY 1 lockF 0 time -1 // version

Тут пишемо:
0781: get_weapon_with_ID 8 model_to 22 @

8 - це ID катани, ID ви можете дізнатися з довідки (див. Вище). Значить, тепер катана є перехідною 22 @, а далі робити потрібно все так же, як ми ставили пляшку, тільки замінюючи назви і цифри.

Це туди, де ми писали 0781: get_weapon_with_ID 8 model_to 22 @. тільки обов'язково після:

$ KAT = Object.Init (22 @, 10 @, 20 @, 30 @)
070A: AS_actor $ PLAYER_ACTOR attach_to_object $ KAT offset 0.05 0.06 0.05 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time -1

А це вписуємо після останньої анімації:

0687: clear_actor $ Player_actor task
Object.Destroy ($ KAT)
Object.RemoveReferences ($ KAT)
Model.Destroy (22 @)

Ось так виглядає весь скрипт, який дозволяє дати в руки гравцеві зброя при виконанні анімації:

04ED: load_animation "PARK"
Model.Load (#KATANA)
038B: load_requested_models
04EE: animation "PARK" loaded
: NONAME_1
wait 0
if
0AB0: key_pressed 90
else_jump @ NONAME_1
wait 0
0812: AS_actor $ Player_actor perform_animation "Tai_Chi_in" IFP_file "PARK" 4.0 loopA 1 lockX 1 lockY 1 lockF 0 time -1 // versionB
0781: get_weapon_with_ID 8 model_to 22 @
$ KAT = Object.Init (22 @, 10 @, 20 @, 30 @)
070A: AS_actor $ PLAYER_ACTOR attach_to_object $ KAT offset 0.05 0.06 0.05 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time -1

wait 1000
: NONAME_2
wait 0
if
0AB0: key_pressed 84
else_jump @ NONAME_2
wait 0
0812: AS_actor $ Player_actor perform_animation "Tai_Chi_Out" IFP_file "PARK" 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time -1 // versionB
0687: clear_actor $ Player_actor task
Object.Destroy ($ KAT)
Object.RemoveReferences ($ KAT)
Model.Destroy (22 @)
wait 1000
jump @ NONAME_1

Ось і все, можна грати.

уроки cleo

А я хочу зробити, щоб Сиджу брав зброю і потім воно замінювалося на таке ж по типу. Ну ось є в мене пістолет і мені треба його змінити на такий же, але з глушником без втрати всіх патронів, які залишилися в ньому. Скажи, як так зробити?


Пошукай на сайті. Скрипт такий є. Там снайперська гвинтівка на звичайну замінюється і навпаки. Те ж саме з пістолетом.

Створюю Глобальний мод: The Mafia Theft Auto. Де буде частково скопійований місто з Mafia 2 '' Empire-Bay ''.
Мені потрібні: скриптер, Текстурщик, Сценарист (1 або 2, тому що сюжет буде схожий.) Фотошопер (Помічники мені) і міссіодел (Щоб переносити, або пересоздавать місії зроблені в DYOМ. Опис і сюжет я виклав на сайті.
-----------------------------------
Створюю DYOM місії, Пишу сценарії, трохи розбираюся в Cleo скриптах.
На даний момент створюю Cleo скрипт (100 рядків приблизно) який пожвавить Gta San Andreas.

Схожі статті