FiveM'de handling.meta düzenleyin: hız, tutuş, frenler ve HANDLING_FILE

FiveM'de araç handling.meta düzenleyin: anahtar alanları (fInitialDriveForce, fBrakeForce, fTractionCurveMax, fMass), HANDLING_FILE, eşleşen handlingName, test ve çalışma zamanı.

Araç daha hızlı hızlanmasını, daha iyi tutmasını veya daha sert frenleme etmesini ve değerlerin handling.meta içinde bulunmasını istiyorsunuz. Bu rehber anahtar alanların ne yaptığını, dosyanın nasıl yüklendiğini, otomobille nasıl bağlı olduğunu ve tahmin etmeden değişikliklerinizi nasıl test edeceğini gösterir.

Handling arabayla nasıl bağlı

Bir araç handling girişine sahiptir ve araç ada göre bunu gösterir:

xml
<!-- vehicles.meta -->
<Item>
  <modelName>mycar</modelName>
  <handlingId>MYCAR</handlingId>
  ...
</Item>
xml
<!-- handling.meta -->
<Item type="CHandlingData">
  <handlingName>MYCAR</handlingName>
  ...
</Item>

handling.meta içindeki handlingName, vehicles.meta içindeki handlingId ile aynı olmalıdır. Farklılarsa oyun girişi bulamaz ve araç varsayılan bir tane kullanırsa. İki paket aynı handlingName kullanırsa, birini kazanır ve diğer araç yanlış handling yapıyor, bu nedenle adları benzersiz tutun.

Dosyayı yükleyin

Kaynak fxmanifest.lua içinde dosyayı bildirmelidir:

lua
fx_version 'cerulean'
game 'gta5'

files {
    'data/handling.meta',
    'data/vehicles.meta',
}

data_file 'HANDLING_FILE' 'data/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta'

HANDLING_FILE satırı olmadan dosya kullanılmaz ve düzenlemeleriniz hiçbir şey yapmaz. Addon arabasının tam dosya seti addon otolar nasıl eklenir içindedir.

Anahtar alanları

Handling dosyası birçok değere sahiptir. Bunlar en çok değiştireceklerinizdir:

xml
<fMass value="1500.000000" />
<fInitialDriveForce value="0.320000" />
<fInitialDriveMaxFlatVel value="160.000000" />
<fBrakeForce value="0.800000" />
<fTractionCurveMax value="2.400000" />
  • fMass: kilogram cinsinden araç ağırlığı. Ağır araç halkası etrafında itilmesi ve durdurulması zordur ve hafif araçlarla çarpışmada kazanır.
  • fInitialDriveForce: ivme. Daha yüksek değer hattın dışında daha sert itme verir. Temel oyundaki otolar genellikle 1.0'ın iyi altında oturur, bu nedenle birkaç yüzde değişiklik zaten görülebilir.
  • fInitialDriveMaxFlatVel: motornun düz zeminde ulaşabileceği üst hız; km/h'ye yakın birim. Oyunda gösterilen hız tam olarak eşleşmez, çünkü sürükleme ve dişli de rol oynar.
  • fBrakeForce: frenler gücü. Daha kısa frenlemek mesafeleri için yükseltin; çok yüksek araç kilitlemesi veya burnuyu aşağı çevirir.
  • fTractionCurveMax: virajda lastiklerin tutuşu. Daha yüksek daha fazla tutuş anlamına gelir, araç yola yapışmış hissedene kadar.

Karşılaşabileceğiniz diğerleri fInitialDragCoeff (hava sürükleme), fTractionCurveMin (araç kaydığında tutuş), fSteeringLock ve fSuspensionForce. Sonucu bildiğiniz şeydir değiştirin.

İpucu: başlamadan önce orijinal dosyayı kopyalayın ve değerleri küçük adımlarla değiştirin, yaklaşık yüzde 10 ila 20. Aynı anda birkaç büyük değişiklik arabayı anlaşılması zor ve geri almak zor yapılır.

Değişikliklerinizi test edin

Handling araç oluşturulduğunda okunur, bu nedenle:

  1. Kaynağı yeniden başlatın (restart mycar) veya kaynağın yeniden başlatılması uygulanmıyorsa tüm sunucu.
  2. Arabayı silin ve yeni bir tane oluşturun. Zaten oluşturulmuş bir araç eski değerleri tutarsa.
  3. Her seferinde aynı test rotasını sürün: üst hız ve ivme için düz yol, tutuş için uzun viraj, frenler için ani durma.
  4. Bir değeri değiştirin, test edin, değişen şeyi yazın.

Araç yine de önceki gibi davranırsa, nedenleri çalışın: data_file satırı, handlingName eşleşmesi ve başka bir kaynağın aynı handling adını tanımlayıp tanımlamadığı.

Çalışma zamanında handling değiştirin

Nitro artırma, iş arabası veya hasar motoru gibi duruşa bağlı değer için, istemci betiğinden bir aracın handling'ini değiştirebilirsiniz:

lua
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)

if vehicle ~= 0 then
    local mass = GetVehicleHandlingFloat(vehicle, 'CHandlingData', 'fMass')
    SetVehicleHandlingFloat(vehicle, 'CHandlingData', 'fMass', mass + 200.0)
    SetVehicleHandlingFloat(vehicle, 'CHandlingData', 'fInitialDriveForce', 0.35)
end

SetVehicleHandlingFloat o bir araçla değiştirir, var olduğu sürece. Dosyaya dokunmaz, aynı modelin diğer otolar veya oluşturduğunuz sonraki araç. Geçici etkiler için doğru araç ve kalıcı ayarlama için yanlış: bunları handling.meta'ya koyun, böylece modelin her otomobili onları alır.

Dikkat: değişikliği her kare döngüde çalıştırmayın. Durum başladığında bir kez ayarlayın ve bittiğinde orijinal değeri geri ayarlayın.

Temel oyun otosunu değiştirme

Temel oyun otosunun adı ile handling girişi; bir kaynakta; her oyuncu ve her oluşturma için; trafik dahil o otomobili değiştirir. Bu "gerçekçi handling" paketi için isteyebileceğiniz şey olabilir, ancak test edin; o modelin tüm otolar aynı anda değişir çünkü.

Yaygın sorunlar

  • Hiç değişiklik. HANDLING_FILE satırını, handlingName ve handlingId kontrol edin ve yeni araç oluşturun.
  • Kaynak başlamıyor. files içindeki yol yanlış veya XML kapanış etiketi eksik gibi hata yaptığında. Bkz. kaynağı başlatılamadı.
  • Araç yuvarlanır veya döner. fInitialDriveForce veya fTractionCurveMax kütle için çok yüksek. Bir adım geri gidin.
  • Farklı araç değişti. İki dosya aynı handlingName kullanır. Sizinkini ve eşleşen handlingId'yi yeniden adlandırın.

Kontrol Listesi

Semptom Çözüm
Düzenlemeler hiçbir etkisi yok data_file 'HANDLING_FILE' ekleyin ve arabayı yeniden oluşturun
Araç varsayılan handling kullanıyor vehicles.meta içinde handlingName eşit yapın handlingId
Daha fazla ivmeye ihtiyaç Küçük adımlarla fInitialDriveForce yükseltin
Daha yüksek üst hıza ihtiyaç fInitialDriveMaxFlatVel yükseltin
Çok az tutuş fTractionCurveMax yükseltin; çok fazla doğal hissetmez
Geçici etki İstemcide SetVehicleHandlingFloat, bir kez ve daha sonra geri yükle

Kısa yanıtlar

Neden handling.meta değişikliğim hiçbir şey yapmıyor?

Genellikle dosya data_file 'HANDLING_FILE' ile yüklenmedi veya handlingName, vehicles.meta içindeki handlingId ile eşleşmiyor. Ayrıca otomobili yeniden oluşturun: zaten var olan araç eski değerleri tutarsa.

Arabayı nasıl daha hızlı yaparım?

Küçük adımlarla üst hız için fInitialDriveMaxFlatVel ve ivme için fInitialDriveForce yükseltin. Büyük sıçramalar arabayı hızlı veya gerçekçi olmaz yapırlar.

Sunucu çalışırken bir betiğin handling'ini değiştirebilir miyim?

Evet, istemcide SetVehicleHandlingFloat ile. Yalnızca bir aracı değiştirir ve araç silindiğinde kaybolur, bu nedenle dosyayı değiştirmez.

Bu sorunu yaşatmayan scriptler

Advanced BoostingTabletten araç boosting: D’den S+ sınıfına kontratlar, ekipler ve canlı sıra.Scripti gör →Chameleon PaintsTek tıkla uygulanan bir menüde 82 renk değiştiren bukalemun boya.Scripti gör →Car BombAraç bombası yerleştirin, tespit edin ve etkisiz hale getirin — detonatör telefon ve C4 mini oyunuyla.Scripti gör →

Okumaya devam edin