> For the complete documentation index, see [llms.txt](https://docs.bestway.com.ua/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bestway.com.ua/gem-rts-v1-ru/animacii/anymatsyonnaia_systema_yunytov/animation_selector/usloviya-dlya-aktera-human.md).

# Условия для актера human

Ниже перечислены условия выбора анимации в **Animation Selector**, специфичные для актеров типа `human`.

<table><thead><tr><th width="389.0078125" valign="top">Условие</th><th>Описание</th></tr></thead><tbody><tr><td valign="top"><code>human_fsm_semaphore "&#x3C;name>"</code></td><td>Проверяет, активен ли семафор с указанным именем.<br><a href="/gem-rts-v1-ru/animacii/anymatsyonnaia_systema_yunytov/animation_selector/nastroika-idle.md#semafory-v-selektore-idle-zaprosov">Подробнее про семафоры</a></td></tr><tr><td valign="top"><code>human_fsm_state "&#x3C;state_name>"</code></td><td>Проверяет, совпадает ли текущее FSM-состояние с заданным.<br>Зарегистрированные имена FSM-состояний можно посмотреть в описании FSM (блоки <code>state</code>)</td></tr><tr><td valign="top"><code>human_kill_flags "&#x3C;kill_flag_name>" [..]</code></td><td>Проверяет, активны ли все перечисленные флаги обстоятельств гибели актера human.<br><a href="#spravka-po-flagam-obstoyatelstv-smerti-aktera-human">См. справку по флагам обстоятельств смерти</a>.</td></tr><tr><td valign="top"><code>human_fsm_counter</code></td><td>Проверяет значение FSM-счётчика для актера human.<br><a href="#usloviya-proverki-fsm-schyotchikov">См. справку по счётчикам FSM</a>.</td></tr><tr><td valign="top"><code>human_hold_strap</code></td><td>Проверяет, нужно ли юниту придерживать ремень оружия, висящего за спиной.</td></tr><tr><td valign="top"><code>human_throw_type</code></td><td>Проверяет, какой способ броска гранаты был выбран.<br><a href="/gem-rts-v1-ru/animacii/anymatsyonnaia_systema_yunytov/animation_selector/vybor-sposoba-broska-granaty.md">Выбор способа броска гранаты</a>.</td></tr><tr><td valign="top"><code>human_stuff [holding | mounting | picking] "&#x3C;item_type[ &#x3C;item_type>...]>"</code></td><td><p>Проверяет взаимодействие юнита с указанными предметами в данный момент времени:</p><ul><li><code>holding</code> - предмет удерживается в руках;</li><li><code>mounting</code> - предмет берется в руки;</li><li><code>picking</code> - предмет поднимается с земли.</li></ul><p>Тип предмета определяется согласно именам props в <code>.def</code> файле предмета.<br>В проверке может участвовать сразу несколько типов предметов.<br><a href="#sootvetstvie-props-tipa-predmetov">Справка по типам предметов.</a></p></td></tr></tbody></table>

<details>

<summary>Соответствие props типа предметов</summary>

<table><thead><tr><th width="146.16015625">Тип предмета</th><th width="248.328125">Имена props</th><th width="268.546875">Описание</th></tr></thead><tbody><tr><td><code>nothing</code></td><td>—</td><td>В руках солдата ничего нет</td></tr><tr><td><code>bazooka</code></td><td><code>weapon</code>, <code>rocketlauncher</code></td><td>Базука, стреляющая с плеча</td></tr><tr><td><code>mgun</code></td><td><code>weapon</code>, <code>mgun</code></td><td>Пулемёт</td></tr><tr><td><code>smg</code></td><td><code>weapon</code>, <code>smg</code></td><td>Автомат</td></tr><tr><td><code>rifle</code></td><td><code>weapon</code>, <code>rifle</code></td><td>Винтовка</td></tr><tr><td><code>pistol</code></td><td><code>weapon</code>, <code>pistol</code></td><td>Пистолет</td></tr><tr><td><code>flamer</code></td><td><code>weapon</code>, <code>flame_thrower</code></td><td>Огнемёт</td></tr><tr><td><code>small</code></td><td><code>smallitemin1hand</code></td><td>Мелкий предмет, например граната</td></tr><tr><td><code>1hand</code></td><td><code>itemin1hand</code></td><td>Предмет, который юнит держит в одной руке (например, канистра)</td></tr><tr><td><code>2hands</code></td><td><code>itemin2hands</code></td><td>Предмет, который юнит держит в двух руках (например, ящик)</td></tr><tr><td><code>body</code></td><td><code>human</code></td><td>Труп</td></tr><tr><td><code>flag</code></td><td><code>flag</code></td><td>Флаг</td></tr></tbody></table>

</details>

<details>

<summary>Справка по флагам обстоятельств смерти актера human</summary>

<table data-header-hidden><thead><tr><th width="165.19921875">Флаг</th><th>Значение</th></tr></thead><tbody><tr><td>front</td><td>Убит спереди</td></tr><tr><td>back</td><td>Убит сзади</td></tr><tr><td>blast</td><td>Убит взрывом</td></tr><tr><td>piercing</td><td>Убит пулей</td></tr><tr><td>go</td><td>Солдат двигался</td></tr><tr><td>run</td><td>Солдат бежал</td></tr><tr><td>cover_in_trench</td><td><p>Солдат находился в окопе в состоянии snipe</p><p>Стандартная проверка <code>linked</code> не сработает, так как в момент смерти юнит уже отлинкован.</p></td></tr></tbody></table>

</details>

### Условия проверки FSM-счётчиков

> Синтаксис
>
> ```
> if human_fsm_counter <name> [inc|get|once] <value> of <loop_number>
> ```
>
> где
>
> `<name>` — название счетчика
>
> Варианты проверки:
>
> * `inc` — увеличить счётчик на 1 и сравнить значение с `value` ;
> * `get` — проверить текущее значение, не изменяя его;
> * `once` — если значение счётчика > 0, вернуть истину и сбросить значение в 0;

<details>

<summary>Имена FSM-счётчиков для актера human</summary>

* `knife` — бросок ножа
* `down` — залегание
* `alert` — отпрыгивание от гранаты
* `pose` — выбор позы
* `forced_smoke` — запрос на курение из скрипта

</details>

<details>

<summary>Пример проверки FSM-счетчика</summary>

```
{if human_fsm_counter "down" inc 0 of 2 [...]}
{if human_fsm_counter "down" get 0 of 2 [...]}
```

</details>
