Сповіщення
Очистити все

SoC. Анімації NPC. Частина друга


Ранг:
Майстер
Роль:
Гість
Записи:
752
Приєднався:
2 роки тому
 

Частина друга.

Ще одна схема. Цього разу до неї додані ще постефекти.

[ logic ]
 active = remark@base 
danger = danger_condition 
meet = meet
 
[ remark@base ]
 anim = hello_wpn 
no_move = true 
target = actor 
meet = meet 
on_actor_dist_le = 2 | remark@punch danger = danger_condition 

Із першою ремаркою все зрозуміло. Перехід до другої на дистанції ближчий за 2 метри.

[ remark@punch ]
 anim = punch 
snd = cit_jail_guard_sneer 
meet = meet@punch 
target = actor 
on_signal = sound_end | % = run_cam_effector ( fatigue ) % 
on_timer = 60000 | remark@doctor_wakeup %=run_postprocess ( deadcity_wake: 1777 :false ) %    danger = danger_condition 

 
[ meet @ punch ]
 meet_state	 = 5 | hide_s_left @ wait | 4 | hide_s_right @ wait meet_state_wpn	 = 5 | backoff2 @ threat_back victim = 10 | actor	 victim_wpn = 10 | actor use = true 
 
 
 


punch - анімація удару рукою (або прикладом). Так як я не фахівець з боксу, то не скажу точно, як саме називається цей удар з правої в щелепу. Якщо поставите її в meet_state_wpn на дистанції 2 метри - РР отримає реальний удар у морду прикладом ствола. Так як я експериментував на своєму торговці – то він (будучи беззбройним) бив суто кулаком. Якщо замість запуску анімації камери %=run_cam_effector(fatigue)% поставите запуск функції %=killactor% , то НПС кинеться вас вбивати.

hide_s_left і hide_s_right - непис присяде з розворотом стовбура вправо чи вліво. backoff2 - веселіша анімація backoff. НПС покаже ГГ щось на зразок фака, перед тим як помахати стволом і при цьому скаже щось вельми неприємне. %=run_cam_effector(fatigue)% – це виклик анімації камери fatigue з папки anims. Земля піде з-під ніг ГГ. Ненадовго. Спрацює відразу після закінчення фрази cit_jail_guard_sneer. А через хвилину від початку роботи схеми - запуск постпроцесу %=run_postprocess(deadcity_wake:1777:false)% і перехід до наступної схеми.

deadcity_wake - це постпроцес, який повинен був використовуватися в Мертвому місті, якби розробники МГ все ж таки доробили. Якщо не бачили – обов'язково подивіться. Спочатку чорний екран, потім прояснення з роздвоєнням картинки та червоним тлом.

У наступній схемі триває продовження постпроцесу – перші 15 секунд. Потім його зупинка: on_timer = 15000 | % = stop_postprocess (1777) %.

[ remark@doctor_wakeup ]
 anim = doctor_wakeup 
snd = cit_doctor_start_dlg 
meet = meet@doctor_wakeup 
target = actor 
on_timer = 15000 | % = stop_postprocess ( 1777 ) % on_timer2 = 180000 | remark@prisoner danger = danger_condition 
 

 
[ meet@doctor_wakeup ]
 meet_state	 = 3 |sleep@cit_jail_guard_sleep| 2 | sleep_sit @ wait meet_state_wpn	 = 3 | wounded_zombie	 @ wait victim = 10 | actor victim_wpn = 10 | actor use = true 
 
 
 


Початкова анімація – doctor_wakeup – доктор у мертвому місті. НПС схилиться вниз – ніби над чиїмось тілом (за задумом – над міченим) і почне базарити. Але зовсім не те, що стоїть у мене в рядку snd. Мабуть, ця анімація зав'язана зі звуком, інакше не йде. Фразу прописану мною - cit_doctor_start_dlg - нпс скаже потім. Обидві озвучки довгі - та, що йде з анімацією - монолог лікаря в підземеллі агропрому в схованці Стрілка - типу, "що ж ти мічений у розтяжку поліз, сам же придумав цю хрень ..." Через 180 секунд – завершення схеми та перехід до наступної.

Схема – полонений.

[ remark@prisoner ]
 anim = prisoner 
snd = agr_krot_fear 
meet = meet@prisoner 
target = actor 
on_timer = 60000 | remark@base danger = danger_condition 

 
[
 meet @ prisoner ] meet_state	 = 5 | help_me @ gar_dm_newbie_no_money meet_state_wpn	 = 5 | hands_up @ agr_dont_shoot victim = 10 | _ _ _	 _ _ 
 
 
 



 
[ danger_condition ]
 ignore_distance = 10 

Анімація – prisoner – полонений. Пам'ятаєте Шустрого у бандитів? Ось це і є. Фраза - agr_krot_fear - не дивлячись на те, що в назві звукової теми ім'я Крота, репетує її Шустрий: типу братці я тут, врятуйте.

help_me - махає рукою сидячи на одному коліні і репетує, що у нього "немає грошей" - gar_dm_newbie_no_money . hands_up - руки догори і репетує "не вбивай дядечка" (або типу того) - agr_dont_shoot.

Через 60 секунд повернення до базової ремарки.


   
Цитата