Error: CPed::SetVariation: Invalid variation (slotId, drawblId, texId)
Bir script, bir karaktere onda olmayan bir kıyafeti giydirmeye çalıştı — genelde başka bir karakter modelinden kalma kayıtlı kıyafet verisi.
Önce şunu yap
Tek başına zararsız. Birinin kıyafeti yanlış görünüyorsa, kayıtlı görünümü başka bir modelden gelmiştir.
Ne anlama gelir
Bir şey, bir ped'den modeli için var olmayan bir kıyafet bileşenini ya da dokusunu giymesini istedi. Üç sayı mesajın tamamıdır:
• slotId — hangi bileşen yuvası (0 yüz, 1 maske, 3 kollar, 4 bacaklar, 6 ayakkabı, 8 içlik, 11 üst, ve böyle devam eder)
• drawblId — o yuvanın içindeki hangi drawable
• texId — o drawable'ın hangi doku varyantı
Oyun reddeder ve ped'i ne giyiyorsa onunla bırakır. Hiçbir şey çökmez, o yüzden bu bir şeyi bozmaktan çok konsolu doldurur — ama sessizce uygulanmayan bir yuva, genelde susturmak yerine düzeltmeye değer bir gardırop ya da add-on ped sorunudur.
Neden olur
Ne sıklıkla doğru cevap olduğuna göre sıralı.
- 1
Drawable ya da doku o model için yok
Her ped modelinin yuva başına farklı bir sayısı vardır.
mp_m_freemode_01için geçerli bir sayı, birmp_f_freemode_01ya da bir add-on ped için menzil dışı olabilir, ve sayılar aralarında taşınmaz. - 2
Başka bir model için kaydedilmiş kıyafet verisi
Oyuncu model değiştirdi (erkekten kadına, freemode'dan bir add-on ped'e) ve eski görünüm verisi yenisine uygulandı. Açık ara en yaygın sürüm budur, ve spawn'da bunlardan birkaçını aynı anda tetikler.
- 3
Stream edilmeyen add-on kıyafet
Gardırop menüsü, sunucunun gerçekte stream etmediği bir drawable listeler, yani indeks config'te vardır, oyunda yoktur.
- 4
Model yüklenmeden önce uygulanan bileşen
Modeli tam yüklenmemiş bir ped'de varyasyon ayarlamak, henüz seçilecek varyasyonu olmayan bir ped verir.
- 5
Yanlış tabandan saymak
GetNumberOfPedDrawableVariationsbir SAYI döndürür; geçerli drawable'lar 0 ile sayı-1 arasıdır. Sayının kendisini geçirmek birer birer kaymadır, ve son yuvada her seferinde tam olarak bunu üretir.
Hangisinin seninki olduğu nasıl anlaşılır
Çağrıdan hemen önce, oyuna o ped için neyin geçerli olduğunu sor:
local ped = PlayerPedId()
print(GetEntityModel(ped),
GetNumberOfPedDrawableVariations(ped, 11),
GetNumberOfPedTextureVariations(ped, 11, drawable))Ayarladığın sayı bildirdiğine eşit ya da ondan büyükse, bu model için menzil dışıdır. Spawn'da bir salvo hâlinde tetikleniyorsa, başka bir modelden kalma kayıtlı veridir.
Nereye bakmalı
Görünümü uygulayan her şey: kıyafet ya da deri kaynağı, ve o oyuncunun kayıtlı görünüm satırı.
Nasıl düzeltilir
Modelin gerçekte sahip olduğuna göre sınırla, ve zorlamak yerine atla:
local function setComponent(ped, slot, drawable, texture)
local maxDrawable = GetNumberOfPedDrawableVariations(ped, slot)
if drawable >= maxDrawable then return end -- 0..max-1
local maxTexture = GetNumberOfPedTextureVariations(ped, slot, drawable)
if texture >= maxTexture then texture = 0 end
SetPedComponentVariation(ped, slot, drawable, texture, 0)
endVe modeli görünümün yanında sakla, böylece bir ped'in verisi hiçbir zaman başkasına uygulanmasın:
if saved.model ~= GetEntityModel(ped) then
return applyDefaultAppearance(ped)
endHâlâ kendi kodunda mı takıldın?
Bu sayfa, bu hatanın genelde ne anlama geldiğini anlatır. Konsolunu Server Fixer'a yapıştır; içindeki her şeyi sıraya dizer ve önce ne yapman gerektiğini söyler. Kendin uğraşmak istemiyorsan ORBIE script'i onarır ve kaynağı sunucuna atmaya hazır geri verir.
bug_reportServer Fixer'ı açBu tür bir hata için GLB to FiveM Converter ilk seferde yüklenen, akışa uygun varlıklar oluşturur.