---
metadata:
  - name: generator
    content: Diplodoc Platform v5.66.0
alternate:
  - https://yandex.com.tr/dev/games/doc/en/sdk/construct-3/multiplayer.md
  - https://yandex.com.tr/dev/games/doc/ru/sdk/construct-3/multiplayer.md
  - https://yandex.com.tr/dev/games/doc/tr/sdk/construct-3/multiplayer.md
  - https://yandex.com.tr/dev/games/doc/zh/sdk/construct-3/multiplayer.md
  - href: https://yandex.com.tr/dev/games/doc/tr/sdk/construct-3/multiplayer.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.com.tr/dev/games/doc/tr/llms.txt?revision=r21993288
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/dev/games/doc/tr/llms.txt?revision=r21993288

# Asenkron çok oyunculu

<!-- source: tr/_includes/script-common.md -->
<!-- source: tr/_includes/script/index-js.md -->

<!-- endsource: tr/_includes/script/index-js.md -->

<!-- source: tr/_includes/script/requirements-js.md -->

<!-- endsource: tr/_includes/script/requirements-js.md -->

<!-- source: tr/_includes/script/image-modal-js.md -->

<!-- endsource: tr/_includes/script/image-modal-js.md -->
<!-- endsource: tr/_includes/script-common.md -->

Construct 3 eklentisi asenkron çok oyunculu desteği sağlar. Daha fazla bilgi için [HTML5](https://yandex.com.tr/dev/games/doc/tr/sdk/sdk-multiplayer-sessions.md) bölümüne bakın.

## Çok oyunculu başlatma {#init}

Başlamak için **Initialize multiplayer** eylemini kullanın. Bu eylem, başlangıç ​​başlatmasını gerçekleştirir ve rakiplerin oyun oturumlarını yükler.

Başlatma parametreleri:

#|
|| **Parametre** | **Tür** | **Açıklama** ||
|| **Sessions count** | `number` | Yüklenecek oturum sayısı (en fazla 10). ||
|| **Turn time** | `number` | Rakibin hamle süresi için maksimum milisaniye. ||
|| **Meta** | `JSON` | Oturum seçimi için veri nesnesi. ||
|#

Parametreler hakkında daha fazla bilgi için [ana makaleye](https://yandex.com.tr/dev/games/doc/tr/sdk/sdk-multiplayer-sessions.md#init) bakın.

Çok oyunculu başarıyla başlatıldıktan sonra, **On multiplayer initialization** tetikleyicisi etkinleştirilecektir. Alınan rakip oturumlarını işlemek için içinde **For each opponent** döngüsünü kullanın. Döngüde aşağıdaki ifadeler kullanılabilir:

- **Current session player data** — `avatar` veya `name` anahtarıyla mevcut oturumdaki oyuncu verileri.
- **Current session ID in sessions list**.

Oturum meta verilerini almak için **Get current session metadata** eylemini kullanın.

## Oyun oturumu kaydetme {#record}

Kullanılabilir eylemler:

- **Commit transaction** — işlemleri kaydetmek için kullanın. Bu eylem, verilerle birlikte bir JSON nesnesi kabul eder.

- **Push session** — oturumu kaydetmek için kullanın. Bu eylem, oturum meta verileriyle bir JSON nesnesi kabul eder.

Daha fazla bilgi için [ana makaleye](https://yandex.com.tr/dev/games/doc/tr/sdk/sdk-multiplayer-sessions.md#record) bakın.

## Oturumlarla çalışma {#use}

Construct 3'te oturumlarla çalışma yalnızca olaylar aracılığıyla yapılır. Bunun için **On multiplayer session transactions** ve **On multiplayer session finish** tetikleyicileri kullanılır.

**On multiplayer session transactions** tetikleyicisinde aşağıdakiler kullanılabilir:

- **Session ID in event** ifadesi.
- **For each transaction** döngüsü — gelen rakip işlemlerinin listesini işlemek için. Döngüde aşağıdaki ifadeler kullanılabilir:
    - **Current transaction ID in transactions list**.
    - **Current transaction time in transactions list**.

    İşlem verilerini almak için **Get current transaction data** eylemini kullanın.

**On multiplayer session finish** tetikleyicisinde **Session ID in finish event** ifadesi kullanılabilir.

Oturumları işleyicilere göndermeyi başlatmak için **Mark gameplay start** eylemini çağırın. Duraklatma, **Mark gameplay stop** çağrılarak yapılır.

Oturumlarla çalışma hakkında daha fazla bilgi için [ana makaleye](https://yandex.com.tr/dev/games/doc/tr/sdk/sdk-multiplayer-sessions.md#use) bakın.

## Kullanım örneği {#example}

![Construct 3 ekran görüntüsü: YandexGamesSDK eklentisi kullanılarak asenkron çok oyunculu ayar ekranı. Üç sütunlu tablo (üçüncü sütunun her hücresinde "+ Eylem ekle" ve "+ Ekle..." düğmeleri vardır) ve 8 satır. 1. satır — "OK" simgesi ve "start" metni, "Tıklandığında", "{:} InitMeta | JSON dizesi ayrıştırma "{""meta1"":{""min"":7,""max"":9}}"" \n "YandexG... | Çok oyunculu oturumu başlatma. Oturum sayısı: 1, hamle süresi: 20000 ms, meta: {:} InitMeta" \n "Sistem" ayarlar simgesi | Önceki eylemlerin tamamlanmasını bekle" \n "YandexG... | Oynanışın başlangıcını işaretle". 2. satır — "YandexGames…", "Çok oyunculu oyun başlatıldı", boş hücre. 3. satır — "YandexGames…", "Her rakip için", kesikli kare içinde "T" harfi simgesi ve "Metin2 | Metni YandexGamesSDK.Oturum listesindeki geçerli oturum kimliği olarak ayarla" metni. 4. satır — "YandexGames…", "Oturum işlemleri alındı", boş hücre. 5. satır — "YandexGames…", "Her işlem için", "YandexG… | Geçerli işlemin verilerini al ve {:} payload içine kaydet" \n kesikli kare içinde "T" harfi simgesi ve "Metin2 | Metni payload.Al("data") olarak ayarla" metni. 6. satır — "YandexGames…", "Oturum sona erdi", kesikli kare içinde "T" harfi simgesi ve "Metin2 | Metni "Son" olarak ayarla" metni. 7. satır — "OK" simgesi ve "commit" metni, "Tıklandığında", ""Sistem" ayarlar simgesi | hp değerinden 1 çıkar" \n "{:} transacti... | JSON dizesi ayrıştırma "{""data"":"&hp&"}"" \n "YandexG... | {:} transaction verileriyle işlem yaz". 8. satır — "OK" simgesi ve "end" metni, "Tıklandığında", "{:} pushMeta | JSON dizesi ayrıştırma "{""meta1"":8}"" \n "YandexG... | Oturumu {:} pushMeta meta verileriyle kaydet".](../../_images/construct-3/multiplayer/example.webp)

---


<!-- source: tr/_includes/sdk/button-git.md -->
<a href="https://github.com/yandex-games-plugins/construct3">
  <span class="button">Depo</span>
</a>
<!-- endsource: tr/_includes/sdk/button-git.md -->
