# Лейблы



# Определение лейблов

Лейблы — это своеобразные маркеры внутри сценария, по которым может осуществляться переход.

Лейблы определяются при помощи команды `label`:

```
label [name]
```

Здесь параметр `name` — это имя лейбла, которое может содержать латинские буквы, цифры и нижнее подчёркивание.

Все команды, идущие после команды `label`, будут находится внутри данного лейбла — до следующего лейбла, если такой есть.

<p class="callout warning">Лейблы не могут определяться внутри других команд и условий.</p>

Пример определения лейблов `day1_1` и `day1_2`:

```
label day1_1
    # остальные команды 

label day1_2
    # остальные команды
```

У каждого сценария есть лейбл `init`, который автоматически ставится игрой в самом начале. Т.к., это имя зарезервировано игрой, его нельзя использовать в качестве значения для параметра `name`.

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

# goto

Осуществляет переход на заданный лейбл.

##### **Синтаксис**

```
goto [name]
```

##### **Параметры**

- `name` — название лейбла.  
    Обязательный параметр.

##### **Пример использования**

```
# переход на лейбл day1_1
goto day1_1
```