FiveM araç mağazasına araç ekleyin (ESX vehicles tablosu, QBCore, QBox)

Bayiliğe nasıl araç ekleyin: ESX vehicles ve vehicle_categories tabloları, QBCore ve QBox shared vehicles.lua girişleri ve araç neden fiyatsız gösterilir.

Tipik semptomlar:

text
The addon car works with /car, but the dealership does not sell it. Or it shows with no name, no price, or in the wrong category.

Bayilik, verilerinde listeleneni satar, oyunda olanı değil. Araç eklemek iki adım alır: model oyuna aktarılmalı, sonra çerçeveniz tarafından kullanılan verilerde listelenmelidir. Bu makale ESX, QBCore ve QBox için ikinci adımı kapsar.

Adım Bir: model aktarılmalıdır

Model yüklenmemişse, bayilik onu gösteremez ve satın alma hiçbir şey oluşturmaz. Önce otomobili bir kaynak olarak ekleyin ve oyunda çalışıp çalışmadığını kontrol edin:

text
/car mycar

Oluşturma adını kullanın; bu araç vehicles.meta dosyasından gelir. /car başarısız olursa, mağazaya dokunmadan önce bunu düzeltin; bkz. addon otolar ekleme.

ESX: vehicles tablosu

ESX bayiliği iki SQL tablosunu okur. vehicle_categories mağaza menüsünde gösterilen kategorileri tutarken, vehicles otomobilleri tutar.

sql
DESCRIBE vehicle_categories;
DESCRIBE vehicles;

Standart bir ESX Legacy veritabanında şöyle görünürler:

Tablo Sütunlar
vehicle_categories name, label
vehicles name, model, price, category

Yeni birine ihtiyacınız varsa bir kategori ekleyin:

sql
INSERT INTO vehicle_categories (name, label) VALUES ('mycars', 'My cars');

Sonra otomobili ekleyin:

sql
INSERT INTO vehicles (name, model, price, category)
VALUES ('My Car', 'mycar', 85000, 'mycars');
  • name mağazada gösterilen etikettir.
  • model oluşturma adıdır, /car gibi. Küçük harf, tam.
  • price tam sayı.
  • category, vehicle_categories içindeki satırın name ile eşleşmelidir veya araç hiçbir kategoride görünmez.

Bayilik kaynağını veya tüm mağazayı yeniden başlatın, böylece tabloyu yeniden okur. DESCRIBE yerine bu tabloya güvenmek için sütun listeniz özelleştirilmiş bir araç mağazası kullanıyorsanız farklı olabilir.

İpucu: çalışan bir otomobilin nasıl göründüğünü görmek için SELECT * FROM vehicles LIMIT 5; ile mağazada zaten olanların değerlerini kopyalayın ve düzenleyin.

QBCore: shared/vehicles.lua

QBCore araç listesini bir Lua dosyasında tutar: qb-core/shared/vehicles.lua. Her giriş bir otomobildir:

lua
['mycar'] = {
    model = 'mycar',
    name = 'My Car',
    brand = 'Mic',
    price = 85000,
    category = 'sports',
    categoryLabel = 'Sports',
    hash = `mycar`,
    shop = 'pdm',
},

Alanlar:

  • model: oluşturma adı, tablo anahtarı ile aynı.
  • name ve brand: mağazanın gösterdiği şeydir.
  • price: satış fiyatı.
  • category ve categoryLabel: menüdeki grup.
  • hash: model hash'i. Ters tırnak formu sizin için hesaplar.
  • shop: bunu satan bayiliğin kimliği, örneğin varsayılan. Var olmayan bir mağaza adı, mağazanın araçı satmadığı anlamına gelir.

Tam düzen qb-core'un sürümüne bağlıdır. Bazı sürümler model tarafından anahtarlanan bir tablo kullanır, diğerleri düz bir liste. Kendi dosyanızı açın ve yanındaki girişi kopyalayın, ardından değerleri değiştirin, böylece yapı her zaman eşleşir.

Düzenlendikten sonra qb-core ve bayilik kaynağını yeniden başlatın. Canlı sunucuda çekirdeği yeniden başlatmak bazı kurulumlarda oyuncuları kesiyor, bu nedenle sessiz bir zamanda yapın veya tüm sunucuyu yeniden başlatın.

QBox: qbx_core shared vehicles

QBox araçları kendi çekirdeğinde tutar: qbx_core/shared/vehicles.lua. Fikir QBCore'dakiyle aynıdır: model, ad, marka, fiyat, kategori ve mağaza ile bir giriş. QBox, sürümler arasında veri düzenini değiştirir, bu nedenle dosyayı açın ve sürümünde zaten çalışan bir girişi kopyalayın, ardından düzenleyin.

qbx_core ve bayiliğinizi yeniden başlatın. Yanında ayrı bir qb-core klasörü çalıştırmayın; bkz. QBCore betiklerini QBox'a dönüştürme.

Kendi yapılandırmasına sahip bayilik betikleri

Her bayilik çerçeve listesini kullanmaz. Bazıları kendi yapılandırma dosyasını veya veritabanı tablosunu okur ve vehicles tablosu veya paylaşılan dosya göz ardı edilir. Önce betiğin yapılandırmasında bir araç listesini kontrol edin. Biri varsa, otomobili de orada ekleyin.

Ad, fiyat ve kategori sorunları

Araç hiçbir ad gösterilmez. name alanı boştur veya bayilik oyunun görünen adını kullanır. Oyundaki görünen ad, vehicles.meta içindeki modelinin gameName ile AddTextEntry ile gelir. Olmadan mağaza NULL veya modeli gösterebilir. Verilerinizde etiketi ayarlayın.

0 veya ücretsiz maliyeti olan bir araç. Fiyat eksik veya sayı değil. Etrafında tırnak işaretlerini kaldırın.

Kategori gösterilmez. ESX'de category değerinin vehicle_categories içinde satırı yok. QBCore'da kategori etiketi eksik veya mağaza bilmediği bir kategoriye göre filtreler.

Yanlış oluşturma adı. Mycar ve mycar veri aramaları için aynı değildir. Adı tam olarak tanımlandığı gibi, küçük harfle kullanın.

Satın alındı, ama araç yok. Satın alma işe yaradı ve oluşturma yapmadı. Model istemcide aktarılmadı veya plaka ve sahibi kaydedilmedi. Konsolu ve veritabanını kontrol edin; bkz. garaj tabloları.

Addon otolarının handling'i ve performansı

Kötü handling veya ağır model ile eklenen bir araç tüm sunucuya zarar verir. Satmadan önce handling'i kontrol edin; araç handling'i düzenleyin ve modeli doku belleği için test edin; bkz. aşırı boyutlu varlıklar.

Bir kerede çok araç ekleyin

Bir oto paketi için, SQL'deki bir döngü ESX'de zaman kazandırır. Satırları tek bir ifadede yazın:

sql
INSERT INTO vehicles (name, model, price, category) VALUES
('Car A', 'cara', 60000, 'mycars'),
('Car B', 'carb', 75000, 'mycars'),
('Car C', 'carc', 90000, 'mycars');

QBCore ve QBox'da, Lua dosyasında girişleri birbiri ardına yapıştırın; her birinden sonra virgül.

Kontrol Listesi

Semptom Çözüm
Araç /car ile çalışıyor ama satılmıyor vehicles tablosuna veya shared/vehicles.lua dosyasına ekleyin
Araç ESX'de kategoride eksik category, vehicle_categories içindeki name ile eşleşmelidir
Ad veya fiyat gösterilmez name ve price doldurun; fiyat sayı olarak
QBCore veya QBox'da hiçbir şey satmıyor shop değeri bayiliğiyle eşleştiğini kontrol edin
Satın alma hiçbir şey oluşturmaz Model aktarılmadı: addon otomobili önce düzeltin
Düzenlenen verinin hiçbir etkisi yok Veri kaynağını ve bayiliği yeniden başlatın
Lua dosyası düzenledikten sonra hata Yeni girişin etrafındaki virgülleri ve küme ayraçlarını kontrol edin

Kısa yanıtlar

Addon otomobilim neden bayilikte değil?

Mağaza yalnızca verilerinde olanları listeler: ESX'de vehicles tablosu veya QBCore ve QBox'da shared/vehicles.lua. Otomobili sunucu akışına ekleme ayrı bir adımdır ve her ikisi de gereklidir.

Tabloya koyduğum model adı nedir?

Aracın oluşturma adı, /car içinde kullanılan ad; bu araç vehicles.meta dosyasında tanımlanır. Tam olarak, küçük harfle eşleşmelidir.

Araç ekledikten sonra sunucuyu yeniden başlatmam gerekiyor mu?

Verileri tutan kaynağı ve bayilik betiğini yeniden başlatın. ESX'de mağaza genellikle başlatıldığında tabloyu okur, bu nedenle onu yeniden başlatmak yeterlidir.

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 →Shop CreatorBir dakikadan kısa sürede dükkân kurun — sahipler, çalışanlar, kasalar ve soygunlar dahil.Scripti gör →

Okumaya devam edin