Повернутися на сторінку уроків
Стаття: Функції рестріктора actor_in_zone
Функції рестриктора actor_in_zone
Приклад1
[logic]
active = sr_idle@urok01
[sr_idle@urok01]
on_info = {=actor_in_zone(zat_urok_restr)} sr_idle@nill
%+actor_in_restr_info%
[sr_idle@nill]
В данній фунції sr_idle@urok01 коли ГГ (він же актор) зайде в зону
actor_in_zone спейс рестріктора zat_urok_restr ми перейдими в завершаючу
фенкцію sr_idle@nill, це для того щоб не була зациклена логіка. І отримаємо
інфопоршень actor_in_restr_info
[logic]
active = sr_idle@urok01
[sr_idle@urok01]
on_info = {=actor_in_zone(zat_urok_restr)} sr_idle@nill
%give_task(urok_test_tm)%
[sr_idle@nill]
В данній фунції sr_idle@urok01 коли ГГ (він же актор) зайде в зону
actor_in_zone спейс рестріктора zat_urok_restr ми перейдими в завершаючу
фенкцію sr_idle@nill, це для того щоб не була зациклина логіка. Де give_task
це функція видачі завдання і urok_test_tm це назва нашого квеста в таск
менеджжері
[logic]
active = sr_idle@urok01
[sr_idle@urok01]
on_info = {=actor_in_zone(zat_urok_restr)} sr_idle@nill
%=send_tip(st_zat_test_messg)%
[sr_idle@nill]
В данній фунції sr_idle@urok01 коли ГГ (він же актор) зайде в зону
actor_in_zone спейс рестріктора zat_urok_restr ми перейдими в завершаючу
фенкцію sr_idle@nill, це для того щоб не була зациклина логіка. Де send_tip
це функція видачі повідомлення і st_zat_test_messg це текст повідомлення яке
буде виводитись на екран
[logic]
active = sr_idle@urok01
on_info = {=actor_in_zone(zat_urok_restr)} -actor_in_restr_info
!has_active_tutorial} sr_idle@urok02 %=run_tutorial(zat_urok_run_tutor)%
on_info2 = {+actor_in_restr_info} sr_idle@nill
[sr_idle@urok02]
on_info = {!actor_in_zone(zat_urok_restr)} sr_idle@urok01 %=stop_tutorial%
on_info2 = {!has_active_tutorial} sr_idle@urok01
[sr_idle@nill]
В данній фунції sr_idle@urok01 коли ГГ (він же актор) зайде в зону
actor_in_zone спейс рестріктора zat_urok_restr і у нас відсутній інфопоршень
-actor_in_restr_info а також не активований туторіал !has_active_tutorial
(знак ! означає протележність тексту, тобто ми маємо, коли перед функцією
стоїть ! значить ми не маємо). Далі при воконуванні всіх цих умов ми
переходим функцію sr_idle@urok02 і запускаємо на екрані туторіал
=run_tutorial, назва туторіалу (zat_urok_run_tutor) як приклад туторіал ми
бачили біля упавших гелікоптерів на затоні, Юпітеру.
on_info2 = {+actor_in_restr_info} sr_idle@nill
якщо ГГ (він же актор) має інфопоршень actor_in_restr_info то ми переходимо
в останню фунцію [sr_idle@nill] для того щоб логіка більше спрацьовувала
в [sr_idle@urok02] ми превіряємо когли ГГ (він же актор) вийде із зони
!actor_in_zone спейс рестріктора zat_urok_restr(знак ! це протилежність
текста) ми повертаємося в першу функцію sr_idle@urok01 до виконання і
отримання інфопоршня і переходу в нілл функцію
=stop_tutorial ця функція означає вимкнути туторіал на екрані
on_info2 = {!has_active_tutorial} sr_idle@urok01 так як туторіал не активний
ми також повертаємося в [sr_idle@urok01] до виконання і отримання інфопоршня
і переходу в нілл функцію
[logic]
active = sr_idle@urok01
[sr_idle@urok01]
on_info = {=actor_in_zone(zat_urok_restr)} sr_idle@nill %=create_squad
(zat_urok_test:zat_test_smart)% %=remove_squad (zat_urok_test)%
[sr_idle@nill]
В данній фунції sr_idle@urok01 коли ГГ (він же актор) зайде в зону
actor_in_zone спейс рестріктора zat_urok_restr ми перейдими в завершаючу
фенкцію sr_idle@nill, це для того щоб не була зациклина логіка.
=create_squad фунція яка спавне сквад, remove_squad фунція прибирає сквад,
zat_urok_test назва нашого сквада, zat_test_smart назва сарт терейна якому
належить сквад.
[logic]
active = sr_idle@urok01
[sr_idle@urok01]
on_info = {=actor_in_zone(zat_urok_restr)} sr_idle@nill
%=set_weather(sun_shafts:true)%
[sr_idle@nill]
В данній фунції sr_idle@urok01 коли ГГ (він же актор) зайде в зону
actor_in_zone спейс рестріктора zat_urok_restr ми перейдими в завершаючу
фенкцію sr_idle@nill, це для того щоб не була зациклина логіка.
=set_weather встановити погодний ефект. sun_shaftsназва погодного ефекта.