# Conditions

{% tabs %}
{% tab title="With one pattern" %}
{% code title="Syntax" %}

```
[local] condition <pattern>:
  parse:
    # code, optional
  check:
    # code, required
```

{% endcode %}
{% endtab %}

{% tab title="With multiple patterns" %}
{% code title="Syntax" %}

```
[local] condition:
  patterns:
    # patterns, one per line
  parse:
    # code, optional
  check:
    # code, required
```

{% endcode %}
{% endtab %}

{% tab title="Property condition" %}
{% code title="Syntax" %}

```
[local] <skript type> property condition <pattern>:
  parse:
    # code, optional
  check:
    # code, required
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Flag `local`

Specifying that a condition is `local` makes the condition only usable from within the script that it is defined in. This allows you to create condition that do not interfere with conditions from other addons or scripts.

{% hint style="info" %}
Local conditions are guaranteed to be parsed before other custom conditions, but not necessarily before conditions from other addons.
{% endhint %}

### Section `parse`

Code in this section is executed whenever the condition is parsed. This section may be used to emit errors if the condition is used in an improper context.

If this section is included, you must also [`continue`](https://skript-mirror.gitbook.io/docs/advanced/custom-syntax/..#continue) if the effect was parsed successfully.

{% hint style="info" %}
Local variables created in this section are copied by-value to other sections.

{% code title="example.sk" %}

```
condition example:
  parse:
    set {_test} to 1
  check:
    # {_test} always starts at 1 here
    add 1 to {_test}
    # 2 is always broadcast
    broadcast "%{_test}%"
```

{% endcode %}
{% endhint %}

### Section `check`

Code in this section is executed whenever the condition is checked. This section must [`continue`](https://skript-mirror.gitbook.io/docs/advanced/custom-syntax/..#continue) if the condition is met. The section may exit without continuing if the condition fails.


---

# 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://skript-mirror.gitbook.io/docs/advanced/custom-syntax/conditions.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.
