Walkstyle Entegrasyonu
XDEV Appearance override sistemi üzerinden opsiyonel walkstyle entegrasyonu desteği sunar.
Bu yapı geliştiricilerin:
- walkstyle kaydetmesini
- walkstyle geri yüklemesini
- hareket stillerini senkronize etmesini
- emote sistemlerini entegre etmesini
- harici walkstyle sistemlerini değiştirmesini
sağlar.
Tüm bunlar korunan dosyaları düzenlemeden yapılabilir.
Sistem Mantığı
Walkstyle sistemi bilinçli olarak opsiyonel tasarlanmıştır.
Amaç:
framework bağımsızlığı
özel entegrasyonlar
harici emote desteği
standalone uyumluluğu
Resource dahili olarak herhangi bir walkstyle sistemini zorunlu tutmaz.
Override Fonksiyonu
Walkstyle yönetimi şu yapı üzerinden kontrol edilir:
Config.Override.ClientSide.Functions.Walkstyle()
Şu dosya içerisinde bulunur:
shared/client.lua
Varsayılan Yapı
Varsayılan override:
function Config.Override.ClientSide.Functions.Walkstyle()
end
Geliştiricilerin kendi mantığını yazması beklenir.
Beklenen Davranış
Override sistemi iki davranışı destekleyecek şekilde tasarlanmıştır:
1. Mevcut walkstyle değerini almak
2. Kaydedilmiş walkstyle değerini uygulamak
Mevcut Walkstyle Verisini Alma
Fonksiyon parametresiz çağrıldığında şunu döndürmelidir:
mevcut walkstyle adı
Örnek:
function Config.Override.ClientSide.Functions.Walkstyle()
return "move_m@casual@a"
end
Walkstyle Uygulama
Fonksiyona bir değer gönderildiğinde walkstyle geri yüklenmelidir.
Örnek:
function Config.Override.ClientSide.Functions.Walkstyle(style)
RequestAnimSet(style)
while not HasAnimSetLoaded(style) do
Wait(0)
end
SetPedMovementClipset(PlayerPedId(), style, 1.0)
end
Tam Örnek
Örnek birleşik işleyiş:
local CurrentWalkstyle = "move_m@casual@a"
function Config.Override.ClientSide.Functions.Walkstyle(style)
if not style then
return CurrentWalkstyle
end
CurrentWalkstyle = style
RequestAnimSet(style)
while not HasAnimSetLoaded(style) do
Wait(0)
end
SetPedMovementClipset(PlayerPedId(), style, 1.0)
end
Kayıt İşleyişi
Entegre edildiğinde walkstyle verileri şu işlemler sırasında kaydedilebilir:
appearance kaydı
kombin kaydı
önbellek kaydı
ped senkronizasyonu
kullanılan yapıya bağlı olarak değişebilir.
Geri Yükleme İşleyişi
Walkstyle verileri şu işlemlerden sonra geri yüklenebilir:
ped yeniden yükleme
appearance yeniden yükleme
menü kapatma
resource yeniden başlatma
Amaç karakter kimliğini korumaktır.
RPEmotes Uyumluluğu
Override sistemi özellikle:
RPEmotes
ve benzeri animasyon resource'larıyla çalışacak şekilde tasarlanmıştır.
Geliştiriciler mevcut export yapılarını doğrudan override içerisine bağlayabilir.
Örnek RPEmotes Entegrasyonu
Örnek:
function Config.Override.ClientSide.Functions.Walkstyle(style)
if not style then
return exports["rpemotes"]:getWalk()
end
exports["rpemotes"]:setWalk(style)
end
Özel Sistemler
Geliştiriciler ayrıca şunları da entegre edebilir:
özel emote sistemleri
animasyon frameworkleri
hareket sistemleri
karakter kimlik sistemleri
Aynı override yapısı üzerinden çalıştırılabilir.
Freemode ve Custom Pedler
Walkstyle sistemleri genel olarak şu yapılarda çalışır:
freemode pedler
custom pedler
Ancak bazı custom pedler animasyon uyumluluğuna bağlı olarak farklı davranabilir.
Senkronizasyon Notları
Resource dahili olarak walkstyle kaydetme sistemini bilinçli şekilde hardcode kullanmaz.
Amaç:
çakışmaları önlemek
uyumluluğu korumak
özel işleyişleri desteklemek
Geliştiriciler implementasyon üzerinde tam kontrol sahibi olur.
Önerilen Kullanım
Önerilen kullanım alanları:
kimlik sistemleri
RP sunucuları
kalıcı karakter davranışları
emote entegrasyonları
Geliştirici Notları
Birçok appearance sistemi hareket kimliğini tamamen görmezden gelir.
XDEV walkstyle entegrasyonunu override sistemi üzerinden sunarak şunları destekler:
tam karakter kimlik işleyişleri
Herhangi bir harici bağımlılığı zorunlu tutmadan çalışır.