# Yapılandırma

Bu sayfadaki ayarlar `config.lua` dosyasındadır. Mevcut tabloların alanlarını düzenleyin ve değişiklikleri uygulamak için kaynağı yeniden başlatın.

## Başlangıç değerleri ve kaydedilmiş ayarlar

Dosyadaki mağazalar ve ilerleme kuralları başlangıç yapılandırması olarak kullanılır. Yönetici panelinden kaydedildikten sonra geçerli değerleri yeniden başlatmalar arasında korunur. Dosyada yapılan değişiklikler kaydedilmiş ayarların yerini otomatik olarak almaz: ilk yapılandırması yapılmış mağazaları, kuralları ve sistem seçeneklerini güncellemek için paneli kullanın.

Dil, provider'lar, bridge'ler, kamera ve önizleme kıyafetleri dosyada yapılandırılır. Kaynaklar ve dövmeler [katalog](https://docs.cxgstudios.com/docs/tr/01-cxg-tattoos/04-catalogo.md) bölümünde açıklanır.

## Genel dil

```lua
Config.Locale = 'es'
Config.LocaleFallback = 'en'
```

`Locale`, tüm oyuncular için arayüzün ve mesajların dilini belirler. Değiştirdikten sonra kaynağı yeniden başlatın; oyuncu bunu NUI içinden değiştiremez. `LocaleFallback` yedek dildir.

Dahil edilen diller: `en`, `es`, `pt-BR`, `fr`, `de`, `it`, `pl`, `ru`, `tr`, `th` ve `ar`. Arapça arayüz sağdan sola okuma yönünü kullanır.

## Kimlik sistemi

`Config.Identity`, sunucunun kimlik sistemiyle entegrasyonu yapılandırır. Kaynağın dövmeleri, XP'yi ve blueprint'leri kaydetmek ve geri almak için kullanacağı karakter veya hesap tanımlayıcısının nasıl elde edileceğini belirler.

```lua
Config.Identity.mode = 'auto'
Config.Identity.qbxResource = 'qbx_core'
```

| Mod | Kullanım |
| --- | --- |
| `auto` | Qbox'ta etkin karakterin tanımlayıcısını (`citizenid`) kullanır. Diğer sunucularda FiveM'in kalıcı tanımlayıcısını kullanır. |
| `qbx_character` | Qbox karakter tanımlayıcısını (`citizenid`) açıkça kullanır. |
| `license` | Hesap tanımlayıcısı olarak FiveM lisansını kullanır. Bu hesaptaki karakterler dövmeleri, XP'yi ve blueprint'leri paylaşır. |

Kaynağı oyunculara açmadan önce modu seçin. Sonradan değiştirmeniz, verilerin sorgulandığı kimliği değiştirir; verileri modlar arasında otomatik olarak taşımaz. Dövmeleri aynı hesaptaki karakterler arasında ayırmak istiyorsanız `license` seçmeyin.

## Etkileşim bildirimi

```lua
Config.HelpText.enabled = true
Config.HelpText.provider = 'auto'
Config.HelpText.position = 'left-center'
```

| Alan | Değerler veya etkisi |
| --- | --- |
| `enabled` | İşaretçili mağazaların etkileşim bildirimini gösterir veya gizler. |
| `provider` | `auto`, `ox_lib` veya `native`. `auto`, kullanılabilir durumdaysa TextUI'ı; değilse yerel bildirimi kullanır. |
| `position` | TextUI için `left-center`, `right-center`, `top-center` veya `bottom-center`. |
| `style` | TextUI renkleri, kenarlığı, gölgesi, yazı tipi ve iç boşluğu. |

Stil örneği:

```lua
Config.HelpText.style.backgroundColor = '#172328'
Config.HelpText.style.color = '#eef3f3'
Config.HelpText.style.fontSize = '15px'
```

## Başlangıç mağazaları

`Config.Shops` altı konum içerir. Başlangıç girdisini değiştirmek için yapısını koruyun:

```lua
{
    label = 'Tattoo Studio',
    coords = vector3(322.62, 180.34, 103.59),
    heading = 156.2,
    drawDistance = 10.0,
    interactDistance = 1.5,
    shopRadius = 4.0,
    marker = {
        type = 1,
        scale = vector3(1.0, 1.0, 1.0),
        color = { r = 255, g = 100, b = 0, a = 100 },
    },
},
```

| Alan | Kullanım |
| --- | --- |
| `label` | Mağazanın adı. |
| `coords`, `heading` | Konum ve yön. |
| `drawDistance` | İşaretçinin görüntülenme mesafesi. |
| `interactDistance` | Etkileşim mesafesi. |
| `shopRadius` | Mağaza işlemlerine izin verilen yarıçap. |
| `marker.type`, `scale`, `color` | İşaretçinin görünümü. |

`interactDistance` değerini `shopRadius` içinde tutun. Önceden oluşturulmuş mağazalarda yönetici panelinin mağazalar bölümünü kullanın; dosyayı düzenlemenin mevcut mağazaları yeniden oluşturmasını veya değiştirmesini beklemeyin.

## Seviyeler ve XP

| `Config.Levels` ayarı | Başlangıç değeri | Kullanım |
| --- | --- | --- |
| `enabled` | `true` | İlerlemeyi, gereksinimleri ve indirimleri etkinleştirir. |
| `maxLevel` | `10` | Seviye üst sınırı. |
| `defaultXpPerTattoo` | `10` | `Xp` belirtmeyen bir dövmenin XP değeri. |
| `thresholds` | 1–10. seviyeler | Her seviyeye ulaşmak için gereken toplam XP. |
| `formula.base`, `formula.exponent` | `100`, `1.5` | Alternatif eşik formülünün parametreleri. |
| `zoneRequirements` | Her bölge için `1` | Tekil bir gereksinim tanımlı değilse bölge gereksinimi. |
| `discounts` | Etkin, seviye başına `3`, en fazla `25` | Yüzde cinsinden indirim. |
| `blueprintSlots` | Başlangıç `5`, artış `3` | Seviyeye göre blueprint yuvası sayısı. |

Eşikler 1. seviyede 0 XP ile başlamalı, seviyeleri atlamadan ilerlemeli ve gereken XP artmalıdır:

```lua
Config.Levels.thresholds = {
    { level = 1, xpRequired = 0 },
    { level = 2, xpRequired = 100 },
    { level = 3, xpRequired = 250 },
}
Config.Levels.maxLevel = 3
```

İndirim, `seviye × perLevel` olarak hesaplanır ve `maxDiscount` ile sınırlandırılır. Başlangıç değerleriyle 5. seviye %15 indirim alır; üst sınır %25'tir.

Yuva sayısı `base + (seviye - 1) × perLevel` olarak hesaplanır. Başlangıç yapılandırmasında 1. seviyede 5, 5. seviyede 17 yuva bulunur.

Katalogdaki tekil bir `RequiredLevel`, bölge gereksiniminden önceliklidir. [Katalog alanları](https://docs.cxgstudios.com/docs/tr/01-cxg-tattoos/04-catalogo.md) bölümüne bakın.

Seviyeler devre dışı bırakıldığında seviye engelleri, XP veya indirim uygulanmaz; blueprint sınırı `Config.Blueprints.maxPerPlayer` değerini kullanır. Sistemi devre dışı bırakmak kaydedilmiş XP'yi silmez. İlk yapılandırması yapılmış kurulumlarda etkin durumu panelden de güncelleyin.

## Blueprint'ler

Blueprint'ler dövme gruplarını kaydeder ve bunları kodlarla paylaşmaya olanak tanır. Başlangıç sınırları `Config.Blueprints` içindedir:

| Alan | Başlangıç değeri | Kullanım |
| --- | --- | --- |
| `enabled` | `true` | Sistemi etkinleştirir. |
| `codePrefix` | `INK` | Kodların öneki; örneğin `INK-A3X9`. |
| `codeLength` | `4` | Önekten sonraki karakter sayısı. |
| `maxPerPlayer` | İlerleme etkin değilken kullanılan `20` yuva | Oyuncu başına sınır. |
| `maxTattoosPerBlueprint` | `50` | Bir gruptaki en fazla dövme sayısı. |
| `nameMaxLength` | `60` | İsim için en fazla karakter sayısı. |

Bir kodu kullanmak dövmeleri satın alma akışına hazırlar; ücretsiz satın alma sağlamaz. Ekonomi [entegrasyonlar](https://docs.cxgstudios.com/docs/tr/01-cxg-tattoos/05-integraciones.md) bölümünde yapılandırılır.

## Kamera

| Tablo | Denetlediği ayarlar |
| --- | --- |
| `CameraOffsets` | Her bölge için hedef kemik, mesafe, ofsetler ve görüş alanı. |
| `CameraFraming` | Genel kadraj ve odak noktasının kaydırılması. |
| `CameraFramingBySide` | Ön ve arka görünümler için ek ayarlar. |
| `CameraManualControls` | Elle denetimler, hareket adımları, dönüş, yakınlaştırma ve sınırlar. |

Yapılandırılmış bölgeler `ZONE_HEAD`, `ZONE_TORSO`, `ZONE_LEFT_ARM`, `ZONE_RIGHT_ARM`, `ZONE_LEFT_LEG` ve `ZONE_RIGHT_LEG` şeklindedir.

Belirli ayarları değiştirme örnekleri:

```lua
Config.CameraOffsets['ZONE_TORSO'].fov = 50.0
Config.CameraFraming.screenOffset = 0.35
Config.CameraManualControls.enabled = true
Config.CameraManualControls.step = 0.035
Config.CameraManualControls.zoomStep = 0.08
```

Pozitif `screenOffset`, sağdaki menüye yer açmak için karakteri sola kaydırır. `lookAtOffsetX/Y/Z` odak noktasını değiştirir; tarafa göre ayarlardaki `camOffsetX/Y/Z` kamera konumunu değiştirir.

Elle denetimlerde `horizontalDegrees` ve `rotationStepDegrees` dönüşü ayarlar. `ranges.y/z`, `radialClamp` ve `maxDistance` hareketleri sınırlar. `zoomCompositionMinBias`, yakınlaştırırken merkezlemeyi ayarlar. Her seferinde bir değeri değiştirin ve altı bölgenin tümünü erkek ve kadın karakterlerle deneyin.

## Önizleme kıyafetleri

`Config.PreviewOutfit`, arayüz açıkken dövme bölgelerinin görünür olmasını sağlar:

```lua
Config.PreviewOutfit.enabled = true
Config.PreviewOutfit.useDefaultVariation = false
Config.PreviewOutfit.presets['mp_m_freemode_01'].components[11] = {
    drawable = 15,
    texture = 0,
}
```

Dahil edilen hazır ayarlar `mp_m_freemode_01` ve `mp_f_freemode_01` için ayrıdır. Her bileşen `drawable` ve `texture` belirtir; `clearProps`, önizleme sırasında aksesuarları kaldırır. İndeksleri sunucunuzda kurulu kıyafetlere göre ayarlayın. Görünümü genel olarak sıfırlamadan yalnızca hazır ayardaki bileşenleri uygulamak istiyorsanız `useDefaultVariation = false` değerini koruyun.

## İzinler, ekonomi ve Qbox

`Config.Permissions`, `Config.AdminCommand`, `Config.Purchases` ve `Config.QbxMulticharacterPreview` [entegrasyonlar](https://docs.cxgstudios.com/docs/tr/01-cxg-tattoos/05-integraciones.md) bölümünde açıklanır. Kaynak adları varsayılanlardan farklıysa gerçek adları yapılandırın.

## Sorun giderme

`Config.Debug` genel tanılamayı etkinleştirir. `Config.Permissions.debug` erişim kararlarını incelemeyi sağlar. İşiniz bitince ikisini de devre dışı bırakın.

`Config.DebugCommands.clientTattooCommand` başlangıçta devre dışıdır. Bu görsel komutu yalnızca test için etkinleştirin: dövmeleri kaydetmez ve satın alma işleminin yerini tutmaz.

[Kataloğa devam edin](https://docs.cxgstudios.com/docs/tr/01-cxg-tattoos/04-catalogo.md).
