> ## Documentation Index
> Fetch the complete documentation index at: https://rust-co.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Karakter slotları

> Oyunculara daha fazla karakter — Discord rolleri, VIP listesi veya kendi kurallarınız.

Varsayılan olarak herkes birkaç karakter slotu alır (`Config.DefaultCharacterSlots`, üst sınır `Config.MaxCharacters`). Yeterliyse bu sayfayı atlayın.

Supporter, staff veya belirli oyunculara daha fazla mı istiyorsunuz? Her şey sunucudaki `rco-creator/config/server.lua` içinde — oyuncular bu dosyayı görmez.

## Creator sayıyı nasıl seçer (önce bunu okuyun)

Biri karakter seçimini açtığında Creator **bu sırayla** sorar ve ilk cevapta durur:

1. **Özel fonksiyonunuz** — `ResolveCustomSlots` bir sayı döndürürse
2. **Discord rolleri** — yalnızca Discord entegrasyonu açıksa
3. **License ile manuel liste** — `PlayerSlots`, ama **yalnızca Discord kapalıyken**
4. **Framework limiti** — RSG/VORP'un bildirdiği
5. **Varsayılan** — `Config.DefaultCharacterSlots`

Kazanan ne olursa olsun **1** ile **`Config.MaxCharacters`** arasına sıkıştırılır.

<Warning>
  **İnsanları şaşırtan üç şey:**

  1. Sayılar **toplam slot**tur, "varsayılan + bonus" değil. VIP = 5 demek **beş karakter toplam**, dört artı bir değil.
  2. **Discord açık = `PlayerSlots` yok sayılır.** İkisi de mi lazım? `ResolveCustomSlots` içinde halledin.
  3. **Birden fazla Discord rolü toplanmaz.** Creator yalnızca **en yüksek** eşleşen rolü kullanır.
</Warning>

## Bir oyuncuya ekstra slot (Discord yok)

License'ını toplam slot sayısıyla eşleştirin:

```lua theme={"dark"}
CreatorServerConfig.PlayerSlots = {
    ['license:1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b'] = 5,
}
```

License'ları admin araçlarında veya bağlanırken sunucu konsolunda bulun.

## Discord rolleri

Slotları topluluk Discord'unuzdaki rollere bağlayın. Bot ve ID'ler `server.lua` içinde gerekir.

**İlk kez mi?** Adım adım: [Discord rol kurulumu](/tr/rco-creator/discord-roles-setup).

```lua theme={"dark"}
CreatorServerConfig.Discord = {
    enabled = true,
    guildId = '123456789012345678',
    botToken = 'YOUR_BOT_TOKEN',
    defaultSlots = 1,
    cacheSeconds = 600,
    timeoutMs = 8000,
    roleSlots = {
        ['ROLE_ID_SUPPORTER'] = 3,
        ['ROLE_ID_VIP'] = 5,
    },
}
```

Supporter (3) + VIP (5) birlikte = **5**, 8 değil. Discord bağlı değil = `defaultSlots`.

<Warning>
  Bot token = şifre. Asla Discord sohbetinde, ticket'ta veya public repo'da. `server.lua` yalnızca oyun sunucunuzda.
</Warning>

Discord açık ama boş `guildId` veya `botToken` → Creator **başlamaz**.

## Kendi kurallarınız (Tebex, veritabanı, whitelist)

Adım 1'i kullanın — sayı veya devam için `nil` döndürün:

```lua theme={"dark"}
CreatorServerConfig.ResolveCustomSlots = function(source, identifiers)
    -- identifiers.license, identifiers.discord kullanılabilir
    if identifiers.license == 'license:...' then
        return 5
    end
    return nil
end
```

Fonksiyon hata verirse o oyuncu için seçim açılmaz — basit tutun.

## Seçim ekranında kilitli slotlar

Oyuncunun henüz açmadığı ekstra slotlar soluk siluet olarak görünür. Gizlemek için `Config.Selection.hideLockedSlotGhosts = true`.
