# 00037. Анимация. Основные команды и примеры их использования

Анимация. Основные команды и примеры их использования|Мы продолжаем изучать скриптинг. Этот урок посвящен анимациям. Мы научимся основным командам для проигрывания анимаций а так-же сделаем третью миссию с использованием анимацией.|wmysterio|wmysterio||||Если вы не читали урок о GTA Animation Manager, то советую прочитать [руководство к этой программе](https://github.com/wmysterio/scm-scripting-lessons/blob/main/publ/gta_sa/dokumentacii_k_programmam/rukovodstvo_po_ispolzovaniju_programmy_gta_animation_maneger/54-1-0-6/README.md).

Для начала научимся загружать анимации. Сделать это можно командой:

```
04ED: load_animation "LOWRIDER"
```

Здесь:\
"LOWRIDER" — название ifp-файла ( см. рисунок ниже )![](https://github.com/wmysterio/scm-scripting-lessons/raw/resources/_pu/0/15513934.png)

После этого нам обязательно нужно проверить: "загружена ли она?". Эта проверка осуществляется опкодом:

```
04EE: animation "LOWRIDER" loaded
```

После загрузки можно использовать анимации, что содержаться в ifp-файлах ( см. рисунок ниже ):

![](https://github.com/wmysterio/scm-scripting-lessons/raw/resources/_pu/0/77197739.png)

Теперь, что бы какой то актёр проиграл эту анимацию, нужно использовать опкод:

```
0605: actor 0@ perform_animation "M_SMKLEAN_LOOP" IFP "LOWRIDER" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time 670
```

Здесь:\
0@ — Имя переменной для актёра\
"prtial\_gngtlkB" — название анимации\
"LOWRIDER" — название IFP-файла\
4.0 и 0 0 0 0 — оставляйте так, далее мы детально изучим эти параметры\
670 — время воспроизведения. Если поставить больше, то анимация будет повторяться. Длина любой анимации на рисунку выше выделено зелёным цветом

Если мы загрузили анимацию, то естественно нам её нужно выгрузить с памяти когда она не нужна. Делается это опкодом:

```
04EF: release_animation "LOWRIDER"
```

Рассмотрим анимации, которые НЕ нужно загружать и НЕ нужно выгружать. Это анимации "PED.IFP", так как она загружается вместе с игрой и постоянно используется:

![](https://github.com/wmysterio/scm-scripting-lessons/raw/resources/_pu/0/84390702.png)

Рассмотрим другую анимацию - анимация телефона ( когда СЖ достаёт или прячет телефон ). Что бы актёр доставал телефон, используйте опкод:

```
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1
```

Здесь:\
$PLAYER\_ACTOR - имя переменной актёра\
1 - достать телефон, 0 - спрятать

После этого опкода обычно делают задержку в 2000 милисекунд, чтобы актёр окончательно взял телефон и приложил его к уху, или спрятал его в карман.

× \*\*Примечание:\*\* Сначала нужно загрузить модель телефона #CELLPHONE, иначе актёр приставит к уху только свою руку ;)

Так же актёра можно заставить говорить:

```
0967: actor 0@ move_mouth 4000 ms
```

Здесь:\
0@ - хендл актёра\
4000 - время, сколько нужно шевелить губами

И опкод, который заставляет прекратить актёра шевелить губами:

```
0968: actor 0@ stop_mouth
```

Есть ещё похожий опкод, который заставляет актёра шевелить губами, но это имеет вид больше жевания, нежели разговора:

```
05BA: AS_actor 2@ move_mouth 4000 ms
```

Так же актёров можно заставить сидеть. Делается это опкодом:

```
06B0: AS_actor 41@ sit_down 4000 ms
```

Здесь:\
41@ - имя переменной для актёра\
4000 - указывается время, то есть сколько времени должен сидеть актёр

Так же актёра можно заставить прыгать:

```
05BC: AS_actor 1@ jump 1
```

Здесь:\
1@ - имя переменной для актёра\
1 - стиль прыжка. Так и оставляйте единицу, так как разницы между стилями не заметил

Что бы заставить актёра присесть, используйте опкод:

```
04EB: AS_actor 65@ crouch 1
```

Здесь:\
65@ - имя переменной для актёра\
1 - заставляет актёра присесть, если поставить 0 - то заставляет актёра встать

Существует ещё проверка на приседание актёра:

```
0597: actor $PLAYER_ACTOR crouching
```

Так же есть полезная проверка на выполнение актёром какой-то анимации:

```
0611: actor 2@ performing_animation "LRGIRL_IDLE_TO_L0"
```

Здесь:\
2@ - хэндл актёра\
"LRGIRL\_IDLE\_TO\_L0" - имя анимации ( не IFP )

Вот мы рассмотрели основные команды для работы с анимациями. Давайте теперь напишем миссию и сделаем ролик, в котором СЖ-ю звонят, он берет трубку и ему сообщают, что возле Гроув есть Баллас и его нужно убить:

```
// WMYSTERIO, ru-script.3dn.ru

DEFINE OBJECTS 1
DEFINE OBJECT SANNY BUILDER 3.04 

DEFINE MISSIONS 3
DEFINE MISSION 0 AT @MISSION_0 // 1 
DEFINE MISSION 1 AT @MISSION_1 // 2
DEFINE MISSION 2 AT @MISSION_2 // 3 -- наш новый скрипт
 
DEFINE EXTERNAL_SCRIPTS 0

DEFINE UNKNOWN_EMPTY_SEGMENT 0

DEFINE UNKNOWN_THREADS_MEMORY 3072

{$VERSION 3.1.0027}

//-------------MAIN---------------
thread 'MAIN'
set_wb_check_to 0
set_weather 0
select_interior 0
fade 0 0
0180: set_on_mission_flag_to $ONMISSION
00C0: set_current_time_hours_to 8 minutes_to 0
04E4: unknown_refresh_game_renderer_at 2491.1572 -1670.3434
Camera.SetAtPos(2491.1572, -1670.3434, 12.3359)
$PLAYER_CHAR = Player.Create(#NULL, 2491.1572, -1670.3434, 12.3359)
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
Actor.Angle($PLAYER_ACTOR) = 66.3548
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group
Camera.SetBehindPlayer
Player.SetClothes($PLAYER_CHAR, "WORKTRCAMOGRN", "WORKTR", 2)
Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCGANG", "SNEAKER", 3)
Player.SetClothes($PLAYER_CHAR, "TSHIRTERISORN", "TSHIRT", 0) 
Player.Build($PLAYER_CHAR)
Player.CanMove($PLAYER_CHAR) = True
$TRAMPLIN = object.Create(#AD_JUMP, 2480.5842, -1721.8175, 12.5488)
object.Angle($TRAMPLIN) = 180.0
object.SetImmunities($TRAMPLIN, 1, 1, 1, 1, 1)
Object.Indestructibility($TRAMPLIN) = False
Object.RemoveFromMissionCleanupList($TRAMPLIN)
0879: enable_gang_wars 1
076C: set_zone 'GAN1' gang 1 density_to 40 
076C: set_zone 'GAN2' gang 1 density_to 80 
076C: set_zone 'IWD1' gang 0 density_to 40 
076C: set_zone 'IWD2' gang 0 density_to 80 
076C: set_zone 'IWD3A' gang 2 density_to 40 
076C: set_zone 'IWD3B' gang 2 density_to 80 
0237: set_gang 0 weapons_to 22 31 14 
0237: set_gang 1 weapons_to 30 28 17 
0237: set_gang 2 weapons_to 36 15 27 
0746: set_acquaintance 4 of_actors_pedtype 7 to_actors_pedtype 6
0746: set_acquaintance 4 of_actors_pedtype 8 to_actors_pedtype 6
0746: set_acquaintance 4 of_actors_pedtype 9 to_actors_pedtype 6
0746: set_acquaintance 4 of_actors_pedtype 6 to_actors_pedtype 7
0746: set_acquaintance 4 of_actors_pedtype 6 to_actors_pedtype 8
0746: set_acquaintance 4 of_actors_pedtype 6 to_actors_pedtype 9
0746: set_acquaintance 4 of_actors_pedtype 7 to_actors_pedtype 8
0746: set_acquaintance 4 of_actors_pedtype 7 to_actors_pedtype 9
0746: set_acquaintance 4 of_actors_pedtype 8 to_actors_pedtype 7
0746: set_acquaintance 4 of_actors_pedtype 8 to_actors_pedtype 9
0746: set_acquaintance 4 of_actors_pedtype 9 to_actors_pedtype 7
0746: set_acquaintance 4 of_actors_pedtype 9 to_actors_pedtype 8
0746: set_acquaintance 4 of_actors_pedtype 7 to_actors_pedtype 0
0746: set_acquaintance 0 of_actors_pedtype 8 to_actors_pedtype 0
0746: set_acquaintance 4 of_actors_pedtype 9 to_actors_pedtype 0
0767: set_zone 'MARKST' popcycle_group_for_peds_and_cars_to 14
0767: set_zone 'UNITY' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'LAIR1' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'LAIR2A' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'LAIR2B' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'LBAG1' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'LBAG2' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'LBAG3' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'BLUF1A' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'BLUF2' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'SUN1' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'SUN1' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'SUN3A' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'SUN3B' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'SUN3C' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'SUN4' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'COM1A' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'COM1B' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'COM2' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'COM3' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'COM4' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'PER1' popcycle_group_for_peds_and_cars_to 9
0767: set_zone 'CHC1A' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'CHC1B' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'CHC2A' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'CHC2B' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'CHC3' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'CHC4A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'CHC4B' popcycle_group_for_peds_and_cars_to 7 
0874: set_zone 'CHC1A' popcycle_group_for_peds_to 9 
0874: set_zone 'CHC1B' popcycle_group_for_peds_to 9 
0874: set_zone 'CHC2A' popcycle_group_for_peds_to 9 
0874: set_zone 'CHC2B' popcycle_group_for_peds_to 9 
0874: set_zone 'CHC3' popcycle_group_for_peds_to 9 
0874: set_zone 'CHC4A' popcycle_group_for_peds_to 9 
0874: set_zone 'CHC4B' popcycle_group_for_peds_to 9 
0767: set_zone 'CONF1A' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'CONF1B' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'THALL1' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDOC1A' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDOC1B' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDOC2' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDOC3A' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDOC3B' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDOC3C' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDOC4' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LDT1A' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDT1B' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDT1C' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDT3' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDT4' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'LDT5' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDT6' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'LDT7' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'EBE1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'EBE2A' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'EBE2B' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'EBE3C' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'ELCO1' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'ELCO2' popcycle_group_for_peds_and_cars_to 7 
0874: set_zone 'ELCO1' popcycle_group_for_peds_to 9 
0874: set_zone 'ELCO2' popcycle_group_for_peds_to 9 
0767: set_zone 'GAN1' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'GAN2' popcycle_group_for_peds_and_cars_to 7 
0874: set_zone 'GAN1' popcycle_group_for_peds_to 1 
0874: set_zone 'GAN2' popcycle_group_for_peds_to 1 
0767: set_zone 'GLN1' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'GLN2A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'LIND1A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'LIND1B' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LIND2A' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LIND2B' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LIND3' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'IWD1' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'IWD2' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'IWD3A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'IWD3B' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'IWD4' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'IWD5' popcycle_group_for_peds_and_cars_to 7 
0874: set_zone 'IWD1' popcycle_group_for_peds_to 1 
0874: set_zone 'IWD2' popcycle_group_for_peds_to 1 
0874: set_zone 'IWD3A' popcycle_group_for_peds_to 1 
0874: set_zone 'IWD3B' popcycle_group_for_peds_to 1 
0874: set_zone 'IWD4' popcycle_group_for_peds_to 1 
0874: set_zone 'IWD5' popcycle_group_for_peds_to 1 
0767: set_zone 'JEF1A' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JEF1B' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JEF2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JEF3A' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JEF3B' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JEF3C' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'LFL1A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'LFL1B' popcycle_group_for_peds_and_cars_to 7 
0874: set_zone 'LFL1A' popcycle_group_for_peds_to 9 
0874: set_zone 'LFL1B' popcycle_group_for_peds_to 9 
0767: set_zone 'LMEX1A' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'LMEX1B' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'ELS1A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'ELS1B' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'ELS2' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'ELS3A' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'ELS3B' popcycle_group_for_peds_and_cars_to 7 
0767: set_zone 'ELS4' popcycle_group_for_peds_and_cars_to 7 
0874: set_zone 'ELS1A' popcycle_group_for_peds_to 10 
0874: set_zone 'ELS1B' popcycle_group_for_peds_to 10 
0874: set_zone 'ELS2' popcycle_group_for_peds_to 10 
0874: set_zone 'ELS3A' popcycle_group_for_peds_to 10 
0874: set_zone 'ELS3B' popcycle_group_for_peds_to 10 
0874: set_zone 'ELS4' popcycle_group_for_peds_to 10 
0767: set_zone 'MAR1' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'MAR2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'MAR3' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'MKT1' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'MKT2' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'MKT3' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'MKT4' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'MUL1A' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL1B' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL1C' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL2A' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'MUL2B' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'MUL3' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'MUL4' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL5A' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL5B' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL5C' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL6' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL7A' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'MUL7B' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'PLS' popcycle_group_for_peds_and_cars_to 8
0767: set_zone 'RIH1A' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'RIH1B' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'RIH2' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'RIH3A' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'RIH3B' popcycle_group_for_peds_and_cars_to 15 
0767: set_zone 'RIH4' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'RIH5A' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'RIH6B' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'RIH5A' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'RIH6B' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'ROD1A' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD1B' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD1C' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD2A' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD2B' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD3A' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD3B' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD4A' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD4B' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD4C' popcycle_group_for_peds_and_cars_to 14 
0767: set_zone 'ROD5A' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'ROD5B' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'SMB1' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'SMB2' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'VIN2' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'VIN3' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'VIN1A' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'VIN1B' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'VERO1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'VERO2' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'VERO3' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'VERO4A' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'VERO4B' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'CRANB' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'CALT' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'SUNMA' popcycle_group_for_peds_and_cars_to 4
0767: set_zone 'SUNNN' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'BATTP' popcycle_group_for_peds_and_cars_to 2
0767: set_zone 'ESPN1' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'ESPN2' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'ESPN3' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'BAYV' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'PARA' popcycle_group_for_peds_and_cars_to 4
0767: set_zone 'JUNIHO' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'JUNIHI' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'CIVI' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'CHINA' popcycle_group_for_peds_and_cars_to 9
0874: set_zone 'CHINA' popcycle_group_for_peds_to 6
0767: set_zone 'SFDWT1' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SFDWT2' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SFDWT3' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SFDWT4' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'SFDWT5' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'SFDWT6' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'FINA' popcycle_group_for_peds_and_cars_to 0
0767: set_zone 'CITYS' popcycle_group_for_peds_and_cars_to 0
0767: set_zone 'WESTP1' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'WESTP2' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'WESTP3' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'THEA1' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'THEA2' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'THEA3' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'GARC' popcycle_group_for_peds_and_cars_to 7
0767: set_zone 'HASH' popcycle_group_for_peds_and_cars_to 6
0767: set_zone 'OCEAF1' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'OCEAF2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'OCEAF3' popcycle_group_for_peds_and_cars_to 8 
0767: set_zone 'DOH1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'DOH2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'CUNTC1' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'CUNTC2' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'CUNTC3' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'SFGLF1' popcycle_group_for_peds_and_cars_to 17 
0767: set_zone 'SFGLF2' popcycle_group_for_peds_and_cars_to 17 
0767: set_zone 'SFGLF3' popcycle_group_for_peds_and_cars_to 17 
0767: set_zone 'SFGLF4' popcycle_group_for_peds_and_cars_to 17 
0767: set_zone 'HILLP' popcycle_group_for_peds_and_cars_to 10
0767: set_zone 'SILLY1' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SILLY2' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SILLY3' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SILLY4' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'SFAIR1' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'SFAIR2' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'SFAIR3' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'SFAIR4' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'SFAIR5' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'SFBAG1' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'SFBAG2' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'SFBAG3' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'EASB1' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'EASB2' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'ESPE1' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'ESPE2' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'ESPE3' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'LINDEN' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'YELLOW' popcycle_group_for_peds_and_cars_to 4
0767: set_zone 'BFC1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'BFC2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'RIE' popcycle_group_for_peds_and_cars_to 0
0767: set_zone 'LDM' popcycle_group_for_peds_and_cars_to 6
0767: set_zone 'RSW1' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'RSW2' popcycle_group_for_peds_and_cars_to 6 
0767: set_zone 'RSE' popcycle_group_for_peds_and_cars_to 6
0767: set_zone 'LDS' popcycle_group_for_peds_and_cars_to 11
0767: set_zone 'SRY' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'JTS1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTS2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'LVA1' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LVA2' popcycle_group_for_peds_and_cars_to 18 
0767: set_zone 'LVA3' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'LVA4' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'VAIR1' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'VAIR2' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'VAIR3' popcycle_group_for_peds_and_cars_to 16 
0767: set_zone 'LVBAG' popcycle_group_for_peds_and_cars_to 19 
0767: set_zone 'GGC1' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'GGC2' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'BFLD1' popcycle_group_for_peds_and_cars_to 10 
0767: set_zone 'BFLD2' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'WWE' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'WWE1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'PINT' popcycle_group_for_peds_and_cars_to 5
0767: set_zone 'YBELL2' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'YBELL1' popcycle_group_for_peds_and_cars_to 17 
0767: set_zone 'JTW1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTW2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN3' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN4' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN5' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN6' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN7' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTN8' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTE1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTE2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTE3' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'JTE4' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'HGP' popcycle_group_for_peds_and_cars_to 4
0767: set_zone 'SPIN' popcycle_group_for_peds_and_cars_to 11
0767: set_zone 'BINT1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'BINT2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'BINT3' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'BINT4' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'PRP1' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'PRP2' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'PRP3' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'PRP4' popcycle_group_for_peds_and_cars_to 4 
0767: set_zone 'REDE1' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'REDE2' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'REDE3' popcycle_group_for_peds_and_cars_to 2 
0767: set_zone 'REDW1' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'REDW2' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'REDW3' popcycle_group_for_peds_and_cars_to 11 
0767: set_zone 'REDW4' popcycle_group_for_peds_and_cars_to 5 
0767: set_zone 'ROCE1' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'ROCE2' popcycle_group_for_peds_and_cars_to 0 
0767: set_zone 'OVS' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'CREE' popcycle_group_for_peds_and_cars_to 9
0767: set_zone 'STRIP1' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'STRIP2' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'STRIP3' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'STRIP4' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'PILL1' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'PILL2' popcycle_group_for_peds_and_cars_to 9 
0767: set_zone 'RING' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'ISLE' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'STAR1' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'STAR2' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'ROY' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'CAM' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'LOT' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'PIRA' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'VISA1' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'VISA2' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'CALI1' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'CALI2' popcycle_group_for_peds_and_cars_to 12 
0767: set_zone 'DRAG' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'PINK' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'HIGH' popcycle_group_for_peds_and_cars_to 12
0767: set_zone 'CONST1' popcycle_group_for_peds_and_cars_to 18 
0767: set_zone 'ANGPI' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'SHACA' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'BACKO' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'BEACO' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'FARM' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'PALO' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'MONT' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'MONT1' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'MTCHI1' popcycle_group_for_peds_and_cars_to 3 
0767: set_zone 'MTCHI2' popcycle_group_for_peds_and_cars_to 3 
0767: set_zone 'MTCHI3' popcycle_group_for_peds_and_cars_to 3 
0767: set_zone 'MTCHI4' popcycle_group_for_peds_and_cars_to 3 
0767: set_zone 'HBARNS' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'DILLI' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'TOPFA' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'BLUEB' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'BLUEB1' popcycle_group_for_peds_and_cars_to 3 
0767: set_zone 'PANOP' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'BLUAC' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'CREEK' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'CREEK1' popcycle_group_for_peds_and_cars_to 3 
0767: set_zone 'MAKO' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'TOPFA' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'FERN' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'NROCK' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'HANKY' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'LEAFY' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'RED' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'FLINTC' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'WHET' popcycle_group_for_peds_and_cars_to 3
0767: set_zone 'BIGE' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'ELQUE' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'BARRA' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'CARSO' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'PAYAS' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'PROBE' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'ELCA' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'FLINTR' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'ARCO' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'VALLE' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'FLINTI' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'MONINT' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'ROBINT' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'TOM' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'ALDEA' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'BRUJA' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'ROBAD' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'BONE' popcycle_group_for_peds_and_cars_to 1
0767: set_zone 'HAUL' popcycle_group_for_peds_and_cars_to 18
0767: set_zone 'QUARY' popcycle_group_for_peds_and_cars_to 18
0767: set_zone 'OCTAN' popcycle_group_for_peds_and_cars_to 18
0767: set_zone 'PALMS' popcycle_group_for_peds_and_cars_to 18
0767: set_zone 'EBAY' popcycle_group_for_peds_and_cars_to 18
0767: set_zone 'EBAY2' popcycle_group_for_peds_and_cars_to 18 
0767: set_zone 'DAM' popcycle_group_for_peds_and_cars_to 18
014B: $MY_CAR = init_parked_car_generator #BULLET color -1 -1 0 alarm 0 door_lock 0 1 10000 at 2474.2131 -1690.8783 12.1239 angle 180.0
014C: set_parked_car_generator $MY_CAR cars_to_generate_to 101
0213: $PICKUP_0001 = create_pickup #BODYARMOUR type 15 at 2491.0 -1685.8561 13.5107
032B: $PICKUP_0002 = create_weapon_pickup #MINIGUN group 15 ammo 60 at 2493.0 -1685.8561 13.5107 
02E1: $PICKUP_0003 = create_cash_pickup 500 at 2495.0 -1685.8561 13.5107 permanence_flag 1 
04A6: $PICKUP_0004 = create_asset_money_pickup_at 2497.0 -1685.8561 13.5107 money 10000 10000
016C: restart_if_wasted_at 2027.77 -1420.52 15.99 angle 137.0 town_number 0 
016C: restart_if_wasted_at 1180.85 -1325.57 12.58 angle 271.4 town_number 0
016D: restart_if_busted_at 1550.68 -1675.49 14.51 angle 90.0 town_number 0
016C: restart_if_wasted_at 1244.437 331.2261 18.5547 angle 7.5465 town_number 1
016D: restart_if_busted_at 632.2344 -571.7104 15.3515 angle 267.2 town_number 1
016C: restart_if_wasted_at -2199.719 -2308.075 29.6181 angle 322.8928 town_number 1
016D: restart_if_busted_at -2163.829 -2387.817 29.625 angle 134.2066 town_number 1
016C: restart_if_wasted_at -2670.285 616.4364 13.4531 angle 183.1042 town_number 1
016D: restart_if_busted_at -1605.792 716.8598 11.0241 angle 355.2978 town_number 1
016C: restart_if_wasted_at -316.3832 1056.045 18.7344 angle 1.6017 town_number 2
016D: restart_if_busted_at -212.1889 979.4168 18.3219 angle 278.0478 town_number 2
016C: restart_if_wasted_at -1514.823 2527.119 54.7443 angle 2.3546 town_number 2
016D: restart_if_busted_at -1393.072 2633.116 54.9491 angle 86.0424 town_number 2
016C: restart_if_wasted_at 1578.446 1770.682 9.8358 angle 99.7567 town_number 2
016D: restart_if_busted_at 2337.083 2453.802 13.9765 angle 90.7643 town_number 2
fade 1 0
create_thread @SAVE 
create_thread @STARTER
create_thread @STARTER_NEW
create_thread @STARTER_3 // наш новый код
end_thread 

:SAVE
thread 'SAVE'
wait 0
if AND
$ONMISSION == 0
0AB0: key_pressed 115
then
03D8: show_save_screen 
wait 250
end
jump @SAVE

:STARTER 
thread 'STARTER'
wait 0
$ICON = marker.CreateIconAndSphere(15, 2287.793, -1667.109, 15.0317)

:STARTER_1
wait 0
if AND
$ONMISSION == 0
00EC: actor $PLAYER_ACTOR 0 near_point 2287.793 -1667.109 radius 15.0317 3.0 
jf @STARTER_1
marker.Disable($ICON)
00BA: show_text_styled GXT 'MIS_01' time 1000 style 2 
start_mission 0
end_thread

:STARTER_NEW 
thread 'STARTER_NEW'
wait 0
$ICON_NEW = marker.CreateIconAndSphere(38, 2510.8367, -1672.7837, 12.442)

:STARTER_NEW_1
wait 0
if AND
$ONMISSION == 0
0102: actor $PLAYER_ACTOR in_sphere 2510.8367 -1672.7837 12.442 radius 2.0 2.0 2.0 sphere 0 stopped_on_foot 
jf @STARTER_NEW_1
if AND
8741: not actor $PLAYER_ACTOR busted 
not actor.Dead($PLAYER_ACTOR)
jf @STARTER_NEW_1
if
not actor.Driving($PLAYER_ACTOR)
jf @STARTER_NEW_1
marker.Disable($ICON_NEW)
00BA: show_text_styled GXT 'MIS_02' time 1000 style 2 
start_mission 1
end_thread

:STARTER_3 
thread 'STARTER_3'
wait 0
$ICON3 = marker.CreateIconAndSphere(28, 2486.7761, -1650.9607, 12.4845)

:STARTER_3_1
wait 0
if AND
$ONMISSION == 0
0102: actor $PLAYER_ACTOR in_sphere 2486.7761 -1650.9607 12.4845 radius 2.0 2.0 2.0 sphere 0 stopped_on_foot 
jf @STARTER_3_1
if AND
8741: not actor $PLAYER_ACTOR busted 
not actor.Dead($PLAYER_ACTOR)
jf @STARTER_3_1
if
not actor.Driving($PLAYER_ACTOR)
jf @STARTER_3_1
marker.Disable($ICON3)
player.CanMove($PLAYER_CHAR) = false
actor.SetImmunities($PLAYER_ACTOR, 1, 1, 1, 1, 1)
00BA: show_text_styled GXT 'MIS_03' time 1000 style 2 
fade 0 2000
wait 2000
start_mission 2
end_thread

//-------------Mission 0---------------
// Originally: MISSION_0

:MISSION_0
thread 'MISSION_0'
gosub @MISSION_0_29_57 
if 
wasted_or_busted 
jf @MISSION_0_29_46 
gosub @MISSION_0_29_144 

:MISSION_0_29_46
$ONMISSION = 0 
mission_cleanup 
end_thread 

:MISSION_0_29_57
increment_mission_attempts 
$ONMISSION = 1 
018A: 1@ = create_checkpoint_at 2184.3604 -1774.8608 12.3665
03BC: 2@ = create_sphere_at 2184.3604 -1774.8608 12.3665 radius 2.0 
00BB: show_text_lowpriority GXT 'MS_0101' time 3000 flag 1

:MISSION_0_A
wait 0
if
00EC: actor $PLAYER_ACTOR 0 near_point 2184.3604 -1774.8608 radius 12.3665 3.0
jf @MISSION_0_A
marker.Disable(1@)
03BD: destroy_sphere 2@ 
model.Load(#BARREL4)
038B: load_requested_models 

:MISSION_0_B
wait 0
if
model.Available(#BARREL4)
jf @MISSION_0_B
0@ = object.Create(#BARREL4, 2153.9919, -1796.8591, 12.5507)
object.Angle(0@) = 277.5201
model.Destroy(#BARREL4)
3@ = marker.CreateAboveObject(0@)
00BB: show_text_lowpriority GXT 'MS_0102' time 3000 flag 1

:MISSION_0_C
wait 0
if
0366: object 0@ damaged
jf @MISSION_0_C
0318: set_latest_mission_passed 'MIS_01' 
01E3: show_text_1number_styled GXT 'M_PASS' number 5000 time 4000 style 1 
Player.Money($PLAYER_CHAR) += 5000
play_music 1
gosub @MISSION_0_END
create_thread @STARTER
return 

:MISSION_0_29_144
wait 0 
gosub @MISSION_0_END
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1 
create_thread @STARTER
return

:MISSION_0_END
wait 0
if
03CA: object 0@ exists
then
object.RemoveReferences(0@)
object.Destroy(0@)
end 
marker.Disable(1@)
marker.Disable(3@)
03BD: destroy_sphere 2@ 
return 

//-------------Mission 1---------------
// Originally: MISSION_1

:MISSION_1
thread 'MISSION_1'
gosub @MISSION_1_29_57 
if 
wasted_or_busted 
jf @MISSION_1_29_46 
gosub @MISSION_1_29_144 

:MISSION_1_29_46
$ONMISSION = 0 
mission_cleanup 
end_thread 

:MISSION_1_29_57
increment_mission_attempts 
$ONMISSION = 1 
actor.SetImmunities($PLAYER_ACTOR, 1, 1, 1, 1, 1)
player.CanMove($PLAYER_CHAR) = false
0169: set_fade_color_RGB 0 128 128 
016A: fade 0 time 1000 
wait 3000
03DE: set_pedestrians_density_multiplier_to 0.0 
01EB: set_traffic_density_multiplier_to 0.0 
0395: clear_area 0 at 2506.3228 -1666.5116 12.3863 radius 300.0 
0826: enable_hud 0 
02A3: enable_widescreen 1 
model.Load(#GREENWOO)
038B: load_requested_models 

:MISSION_1_A
wait 0
if
model.Available(#GREENWOO)
jf @MISSION_1_A
0@ = car.Create(#GREENWOO, 2506.3228, -1666.5116, 12.3863)
car.Angle(0@) = 90.795
car.SetImmunities(0@, 1, 1, 1, 1, 1)
model.Destroy(#GREENWOO)
05CB: AS_actor $PLAYER_ACTOR enter_car 0@ as_driver 0 ms 

:MISSION_1_B
wait 0
if
actor.InCar($PLAYER_ACTOR, 0@)
jf @MISSION_1_B
04E4: unknown_refresh_game_renderer_at 2501.5085 -1669.8973
Camera.SetAtPos(2501.5085, -1669.8973, 13.3562)
Camera.SetPosition(2501.5085, -1669.8973, 13.3562, 0.0, 0.0, 0.0)
Camera.PointAt(2506.3228, -1666.5116, 12.3863, 2)
wait 2000
03E6: remove_text_box 
00BE: text_clear_all 
016A: fade 1 time 1000
wait 1000
00BC: show_text_highpriority GXT 'MS01_01' time 4000 flag 1 
wait 4000
0936: set_camera 2501.5085 -1669.8973 13.3562 position_to 2501.0186 -1665.4775 13.3554 time 7000 drop_mode 1 
0920: point_camera 2506.3228 -1666.5116 12.3863 transverse_to 2506.3228 -1666.5116 12.3863 time 7000 mode 1 
wait 6990 
Camera.SetPosition(2501.0186, -1665.4775, 13.3554, 0.0, 0.0, 0.0)
Camera.PointAt(2506.3228, -1666.5116, 12.3863, 2) 
00BC: show_text_highpriority GXT 'MS01_02' time 5000 flag 1 
wait 5000
0169: set_fade_color_RGB 0 128 128 
016A: fade 0 time 1000 
wait 1000
car.RemoveReferences(0@)
03DE: set_pedestrians_density_multiplier_to 1.0 
01EB: set_traffic_density_multiplier_to 1.0 
0826: enable_hud 1 
02A3: enable_widescreen 0 
Camera.Restore_WithJumpCut
Camera.SetBehindPlayer 
03E6: remove_text_box 
00BE: text_clear_all 
wait 2000
0169: set_fade_color_RGB 0 128 128 
016A: fade 1 time 1000 
actor.SetImmunities($PLAYER_ACTOR, 0, 0, 0, 0, 0)
player.CanMove($PLAYER_CHAR) = true
0318: set_latest_mission_passed 'MIS_02' 
01E3: show_text_1number_styled GXT 'M_PASS' number 5000 time 4000 style 1 
Player.Money($PLAYER_CHAR) += 5000
play_music 1
gosub @MISSION_1_END
create_thread @STARTER_NEW
return 

:MISSION_1_29_144
wait 0 
gosub @MISSION_1_END
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1 
create_thread @STARTER_NEW 
return

:MISSION_1_END
wait 0 
return 

// код новой миссии
//-------------Mission 2---------------
// Originally: MISSION_2

:MISSION_2
thread 'MISSION_2'
gosub @MISSION_2_29_57 
if 
wasted_or_busted 
jf @MISSION_2_29_46 
gosub @MISSION_2_29_144 

:MISSION_2_29_46
$ONMISSION = 0 
mission_cleanup 
end_thread 

:MISSION_2_29_57
increment_mission_attempts 
$ONMISSION = 1 
03DE: set_pedestrians_density_multiplier_to 0.0 
01EB: set_traffic_density_multiplier_to 0.0 
0395: clear_area 0 at 2478.7612 -1651.6365 13.4687 radius 300.0 
0826: enable_hud 0 
02A3: enable_widescreen 1 
model.Load(#CELLPHONE)
038B: load_requested_models 

:MISSION_2_A
wait 0
if
model.Available(#CELLPHONE)
jf @MISSION_2_A
actor.PutAt($PLAYER_ACTOR, 2478.7612, -1651.6365, 13.4687)
actor.Angle($PLAYER_ACTOR) = 108.0285
04E4: unknown_refresh_game_renderer_at 2476.7725 -1655.647
Camera.SetAtPos(2476.7725, -1655.647, 13.3275)
Camera.SetPosition(2476.7725, -1655.647, 13.3275, 0.0, 0.0, 0.0)
Camera.PointAt(2478.7612, -1651.6365, 13.4687, 2)
wait 2000
03E6: remove_text_box 
00BE: text_clear_all 
016A: fade 1 time 1000
wait 1000
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1 
wait 2000
00BC: show_text_highpriority GXT 'MS03_01' time 6000 flag 1 
wait 6000
0967: actor $PLAYER_ACTOR move_mouth 4000 ms 
00BC: show_text_highpriority GXT 'MS03_02' time 4000 flag 1
wait 4000 
0968: actor $PLAYER_ACTOR stop_mouth 
0729: AS_actor $PLAYER_ACTOR hold_cellphone 0 
wait 2000
016A: fade 0 time 1000
wait 2000
03DE: set_pedestrians_density_multiplier_to 1.0 
01EB: set_traffic_density_multiplier_to 1.0 
0826: enable_hud 1 
02A3: enable_widescreen 0 

:MISSION_2_B
wait 0
model.Load(#BALLAS1)
038B: load_requested_models 

:MISSION_2_C
wait 0
if
model.Available(#BALLAS1)
jf @MISSION_2_C
0@ = actor.Create(8, #BALLAS1, 2419.8154, -1687.3512, 13.7861)
actor.SetImmunities(0@, 1, 1, 1, 1, 1) 
actor.Angle(0@) = 359.3008
actor.Health(0@) = 500
1@ = marker.CreateAboveActor(0@)
Camera.Restore_WithJumpCut
Camera.SetBehindPlayer 
03E6: remove_text_box 
00BE: text_clear_all
016A: fade 1 time 1000 
wait 1000
actor.SetImmunities($PLAYER_ACTOR, 0, 0, 0, 0, 0)
player.CanMove($PLAYER_CHAR) = true
00BC: show_text_highpriority GXT 'MS03_03' time 3000 flag 1 

:MISSION_2_D
wait 0
if
00F2: actor $PLAYER_ACTOR near_actor 0@ radius 4.0 4.0 0 
jf @MISSION_2_D
actor.SetImmunities($PLAYER_ACTOR, 1, 1, 1, 1, 1)
player.CanMove($PLAYER_CHAR) = false
016A: fade 0 time 1000
wait 1000
actor.PutAt($PLAYER_ACTOR, 2419.7251, -1683.7125, 13.7646)
actor.Angle($PLAYER_ACTOR) = 180.0
actor.PutAt(0@, 2419.8154, -1687.3512, 13.7861)
actor.Angle(0@) = 0.0
04E4: unknown_refresh_game_renderer_at 2419.7251 -1683.7125
Camera.SetAtPos(2419.7251, -1683.7125, 14.7626)
Camera.SetPosition(2419.7251, -1683.7125, 14.7626, 0.0, 0.0, 0.0)
Camera.PointAt(2420.2771, -1686.0566, 13.7886, 2)
0826: enable_hud 0 
02A3: enable_widescreen 1
04ED: load_animation "BAR" 

:MISSION_2_E
wait 0
if
04EE: animation "BAR" loaded 
jf @MISSION_2_E
wait 1500
016A: fade 1 time 1000
wait 1000
0967: actor 0@ move_mouth 3500 ms 
0605: actor 0@ perform_animation_sequence "Barcustom_order" IFP_file "BAR" 4.0 loop 0 0 0 0 time 3500 
00BC: show_text_highpriority GXT 'MS03_04' time 3500 flag 1
wait 3500
0968: actor 0@ stop_mouth 
0967: actor $PLAYER_ACTOR move_mouth 2330 ms 
0605: actor $PLAYER_ACTOR perform_animation_sequence "Barserve_loop" IFP_file "BAR" 4.0 loop 0 0 0 0 time 2330
00BC: show_text_highpriority GXT 'MS03_05' time 2330 flag 1
wait 2330
0968: actor $PLAYER_ACTOR stop_mouth 
016A: fade 0 time 1000
wait 1000 
04EF: release_animation "BAR" 
0826: enable_hud 1 
02A3: enable_widescreen 0
Camera.Restore_WithJumpCut
Camera.SetBehindPlayer 
03E6: remove_text_box 
00BE: text_clear_all
wait 1500
016A: fade 1 time 1000
wait 1000 
05E2: AS_actor 0@ kill_actor $PLAYER_ACTOR 
actor.SetImmunities(0@, 0, 0, 0, 0, 0)
actor.SetImmunities($PLAYER_ACTOR, 0, 0, 0, 0, 0)
player.CanMove($PLAYER_CHAR) = true

:MISSION_2_F
wait 0
if
actor.Dead(0@)
jf @MISSION_2_F
marker.Disable(1@)
wait 2000
0318: set_latest_mission_passed 'MIS_03' 
01E3: show_text_1number_styled GXT 'M_PASS' number 10000 time 4000 style 1 
Player.Money($PLAYER_CHAR) += 10000
play_music 1
gosub @MISSION_2_END
create_thread @STARTER_3
return 

:MISSION_2_29_144
wait 0 
gosub @MISSION_2_END
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1 
create_thread @STARTER_3 
return

:MISSION_2_END
wait 0 
if
075C: marker 1@ enabled 
then
marker.Disable(1@)
end
if
056D: actor 0@ defined
then
actor.RemoveReferences(0@)
actor.DestroyInstantly(0@)
end
return
```

Неплохо вышло, только камера во втором ролике не совсем корректно стоит. Ваша задача - сделать её нормальной :)|1294|1|0|15513934`png`731`445`400`243``\|77197739`png`729`445`400`244``\|84390702`png`478`127`400`106``||animacija\_osnovnye\_komandy\_i\_primery\_ikh\_ispolzovanija|1498919369


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://lessons.sannybuilder.com/00100/00200/00037.-animaciya.-osnovnye-komandy-i-primery-ikh-ispolzovaniya.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
