@ox_lib/init.lua bulunamadı ve ox_lib hataları: nasıl düzeltilir

@ox_lib/init.lua hakkında hatalar, ox_lib kaynağında hiçbir ihracat yok veya ox_lib başlamıyor: yayın derlemesini kullanın, ilk başlatın, shared_script ekleyin, lua54 etkinleştirin.

ox_lib kullanan bir betik konsolunuzda yüklemede başarısız olur ve ileti @ox_lib/init.lua'yı belirtir veya bunu başarısız olur:

text
No such export <name> in resource ox_lib

veya ox_lib'in kendisi hiçbir zaman başlamaz. Bunların tümü aynı birkaç nedenlerden gelir: yanlış indirme, yanlış klasör adı, yanlış başlangıç sırası veya bildirimde eksik satır. Her birine karşı düzeltme aşağıdadır.

ox_lib Nedir

ox_lib, birçok betiğin güvendiği paylaşılan kütüphanedir: geri aramalar, bildirimler, menüler, ilerleme çubukları, yerelleştirmeler. Bir betik bildiriminde bir satırla katılır:

lua
shared_script '@ox_lib/init.lua'

@ox_lib/ öneki FiveM'e dosyayı betiğin kendi klasöründen değil, ox_lib adında kaynaktan okumasını söyler. Böylece ox_lib var olmalı, tam olarak bu ada sahip ve başlatılmalı.

1. Kaynağı Değil Yayını İndirin

Bu insanların çoğunun çarptığı neden. GitHub'da, yeşil Kod düğmesi size kaynak zip'i verir. ox_lib'nin kaynak dosyalardan oluşturulmuş bir web arayüzü (menüler, ilerleme çubukları) vardır. Kaynak zip yerleşik dosyaları içermez, bu nedenle ox_lib UI'yi yüklemeyi başarısız olur veya UI'nin oluşturulmadığı hakkında ileti günlüğe kaydeder.

Bunun yerine:

  1. GitHub'da ox_lib deposunu açın, sonra Yayınlar.
  2. En son sürümde, Varlıklar altında ox_lib.zip adlı dosyayı indirin.
  3. Açın. İçindeki klasör ox_lib olmalı ve fxmanifest.lua doğrudan içinde olmalı.
text
resources/[standalone]/ox_lib/fxmanifest.lua

ox_lib-main adında bir kaynak klasöründe bir klasörünüz varsa, kaldırın ve bunun yerine yayını kurun. Klasör adı sorunları için Bağımlılık bulunamadı bölümüne bakın.

2. ox_lib'i Betiklerden Önce Başlatma

server.cfg içinde, ox_lib'i içe aktaran herhangi bir kaynaktan önce gelmelidir:

cfg
ensure oxmysql
ensure ox_lib
ensure es_extended   # or qb-core / qbx_core

ensure my_script

my_script ox_lib'in üzerinde başlatılırsa, ilk yükleyebilir ve başarısız olabilir. Aşağı taşıma çözümdür. server.cfg'de doğru ensure sırası bölümüne bakın.

Bağımlılığı betiğin bildiriminde de ekleyin, böylece FiveM kontrol eder:

lua
dependency 'ox_lib'

3. Paylaşılan Betik ve lua54 Ekleme

lib. işlevlerini kullanan betiklerin fxmanifest.lua içinde iki satıra ihtiyacı vardır. İthalatı olmadan, lib betiğinde nil'dir ve attempt to index a nil value (global 'lib') gibi hatalar alırsınız:

lua
fx_version 'cerulean'
game 'gta5'

lua54 'yes'

shared_script '@ox_lib/init.lua'

client_scripts { 'client/*.lua' }
server_scripts { 'server/*.lua' }

Sıra önemlidir: shared_script '@ox_lib/init.lua' lib çağıran betik dosyaları yüklemeden önce yüklenmesi için listelenmelidir. client_scripts ve server_scripts üzerine koyun.

4. ox_lib Kaynağında Hiçbir İhracat Yok

text
No such export <name> in resource ox_lib

Bu, betiğin sunucuda var olmayan ox_lib ihracatını çağırdığı anlamına gelir. İki neden vardır:

  • Eski ox_lib. Betik daha yeni bir yayın için yazılmıştır. En son yayın yapısına güncelleyin.
  • ox_lib başlamadan başarısız, bu nedenle hiçbir ihracatı var. ox_lib'inin başladığı konsolu kontrol edin. Orada hata yazdırdıysa, önce bunu düzeltme.

ox_lib temiz başladığını kontrol edin: sunucu konsolunda ensure ox_lib çalıştırın ve ne yazdırıldığını okuyun. Sağlıklı başlangıç hiçbir hata ve başarısız satır yazdırmaz.

5. Sunucu Yapıtını Kontrol Etme

ox_lib'i makul derecede güncel bir FiveM sunucu derlemesine ihtiyaç duyar. Eğer ox_lib başlamayı reddederse ve ileti sunucu sürümünü belirtirse, yapılarınızı güncelleyin. Adımlar FiveM sunucu yapılarını güncelleme bölümündedir.

6. Betik'in Kendisi Suçlu Değil

Eğer ox_lib kurulu ve başlatılmışsa, ancak bir betik hala kopuyorsa, onayı:

  • Betiğin kendi klasörü ensure satırının söylediği şekilde adlandırılmış.
  • ox_lib'i betiğin klasörüne kopyalamadınız. resources'ın üst düzeyinde (veya köşeli parantez klasöründe) bir ox_lib kaynağı olmalı.
  • Başka bir kategori klasöründe ox_lib'nin ikinci kopyası yok. Aynı kaynak adında iki klasör öngörülemeyen davranışa neden olur.

İpucu: ox_lib güncelleştirdiğinizde, eski klasörü üzerine açmak yerine önce silin. Geride kalan eski dosyalar yenilerle karışabilir.

Kontrol Listesi

Belirti Çözüm
@ox_lib/init.lua başarısız olur ox_lib'i tam olarak bu klasör adıyla kurun
ox_lib'in UI kısımları eksik Kaynak zip değil, Yayınlardan ox_lib.zip kullanın
No such export ... in resource ox_lib ox_lib güncelleyin; hatasız başladığını kontrol edin
lib betiğinde nil'dir Bildiriminde shared_script '@ox_lib/init.lua' ekleyin
Betik ox_lib'den önce yükler server.cfg'de betikten önce ensure ox_lib
Lua söz dizimi hataları yüklemede Bildirime lua54 'yes' ekleyin

Kısa yanıtlar

ox_lib'i nereden indiririm?

ox_lib deposunun Yayınlar sayfasından, en son sürüme eklenmiş ox_lib.zip dosyası kullanılarak. Yerleşik web dosyaları olmayan yeşil Kod, ZIP İndir düğmesini kullanmayın.

Neden betik @ox_lib/init.lua ile başarısız olur?

FiveM bu dosyayı ox_lib kaynağından yükler. Klasör eksikse, yanlış isimlendirilmişse veya başlamadan başarısız olursa, yol çözülemez ve betik başarısız olur.

ox_lib için lua54'e ihtiyacım var mı?

Evet. @ox_lib/init.lua içe aktaran bir kaynak, ox_lib'in kendisi Lua 5.4 kullandığı için, bildiriminde lua54 'yes' bildirmelidir.

Bu sorunu yaşatmayan scriptler

Mic PhoneTablete dönüşen katlanabilir bir telefon; oyuncunun gerçek telefonuna da taşınır.Scripti gör →Item Creator V2Animasyonlar, proplar, efektler ve daha fazlasıyla kullanılabilir eşyalar oluşturun — kod yazmadan.Scripti gör →Quest CreatorGörevler ve NPC diyalogları için oyun içinde düğüm düğüm kurulan görsel editör.Scripti gör →

Okumaya devam edin