Opposite Mapping
Opposite mapping sistemi geliştiricilerin şu yapılar arasında eşleşen değerleri tanımlamasını sağlar:
- erkek kıyafetleri
- kadın kıyafetleri
ve isteğe bağlı olarak diğer appearance kategorileri arasında da kullanılabilir.
Yapılandırma şu dosya içerisinde bulunur:
shared/data/opposites.lua
Sistem Amacı
Sistem şunlara yardımcı olmak için tasarlanmıştır:
- cinsiyet değiştirme
- UI önizlemeleri
- karşı cins kombin önerileri
- kıyafet senkronizasyonu
- uyumluluk işleyişleri
Manuel olarak uygulanmadığı sürece kıyafetleri otomatik değiştirmez.
Temel Yapı
Örnek:
Config.Opposites = {
mask = {
{30, 20},
{31, 21},
}
}
Mapping Formatı
Her giriş şu yapıyı kullanır:
{ maleValue, femaleValue }
Örnek:
{30, 20}
Anlamı:
erkek drawable 30
=
kadın drawable 20
Desteklenen Kategoriler
Desteklenen kıyafet kategorileri:
mask
hair
arms
t-shirt
torso2
vest
decals
pants
shoes
bag
hat
glass
ear
watch
bracelet
accessory
Desteklenen Yüz Kategorileri
Desteklenen appearance kategorileri:
facemix
face
face2
eyebrows
beard
blush
lipstick
makeup
ageing
eye_color
moles
Desteklenen Yüz Özelliği Kategorileri
Desteklenen yüz özelliği mapping sistemleri:
nose_0
nose_1
nose_2
nose_3
nose_4
nose_5
cheek_1
cheek_2
cheek_3
eye_opening
lips_thickness
jaw_bone_width
jaw_bone_back_length
eyebrown_high
eyebrown_forward
chimp_bone_lowering
chimp_bone_length
chimp_bone_width
chimp_hole
neck_thickness
Örnek Kıyafet Mapping Sistemi
Örnek:
pants = {
{10, 5},
}
Anlamı:
erkek pantolon drawable 10
=
kadın pantolon drawable 5
Örnek Prop Mapping Sistemi
Örnek:
hat = {
{15, 8},
}
Şu durumlarda kullanışlıdır:
- erkek/kadın props sistemleri farklı drawable index kullanıyorsa
- addon paketleri farklı modeller kullanıyorsa
- üniformalar cinsiyete göre değişiyorsa
UI Entegrasyonu
Opposite mapping sistemi temel olarak şunlar için tasarlanmıştır:
- önizleme sistemleri
- otomatik öneriler
- dönüştürme yardımcıları
- senkronizasyon işleyişleri
Resource UI içerisinde opposite değerleri gösterebilir.
Otomatik Dönüştürme
Sistem bilinçli olarak dahili otomatik dönüştürme zorlamaz.
Amaç:
- bozuk kombinleri önlemek
- hatalı mapping sistemlerinden kaçınmak
- geliştirici kontrolünü korumak
- custom mantıkları desteklemek
Geliştiriciler isterse kendi dönüştürme sistemlerini uygulayabilir.
Önerilen Kullanım
Önerilen kullanım alanları:
cinsiyet değiştirme
üniforma senkronizasyonu
addon kıyafet uyumluluğu
otomatik kombin yeniden oluşturma
Addon Kıyafet Desteği
Addon kıyafet paketleri çoğunlukla cinsiyetler arasında farklı drawable index değerleri kullanır.
Opposite mapping sistemi şu problemleri çözmeye yardımcı olur:
erkek drawable uyuşmazlığı
kadın drawable uyuşmazlığı
Korunan dosyalar içerisine hardcode mantık yazmadan çalışır.
Framework Bağımsızlığı
Opposite sistemi tamamen standalone çalışır.
Şunlara bağımlı değildir:
- QBCore
- ESX
- Illenium
- harici appearance sistemleri
Geliştirici Notları
Birçok appearance sistemi cinsiyetler arası eşdeğer kıyafet ilişkilerini tamamen yok sayar.
XDEV şunları kolaylaştırmak için özel bir mapping katmanı sunar:
- gelecekteki uyumluluk sistemleri
- otomatik dönüştürücüler
- kombin geçiş işleyişleri
- custom senkronizasyon sistemleri
Önerilen İşleyiş
Önerilen işleyiş:
1. Eşleşen erkek/kadın değerlerini belirle
2. Opposite mapping sistemlerini oluştur
3. Cinsiyet değiştirmeyi test et
4. Texture uyumluluğunu doğrula
5. Addon kıyafet davranışlarını doğrula