__resource.lua to fxmanifest.lua: eski script nasıl dönüştürülür

Eski FiveM script'i hala __resource.lua kullanıyor ve deprecated uyarısı gösteriyor mi? fx_version, game, lua54, ui_page ve files ile fxmanifest.lua'ya nasıl dönüştürülür.

Eski bir script başlarsınız ve konsol hala __resource.lua kullandığından uyarı verir, bu deprecated'dir. Script'i hala çalışabilir, ancak eski manifest formatinde takılıdır ve Lua 5.4 gibi daha yeni seçenekler kullanamaz. Bu kılavuz bunu birkaç dakikada fxmanifest.lua öğesine dönüştürür.

Ne değişti

Her resource, FiveM'e hangi dosyaların yüklenecek olduğunu söyleyen bir manifest gerekir. Eski format __resource.lua idi. Mevcut format fxmanifest.lua dır. Bildiğiniz yönergeleri (client_script, server_script, ui_page, files) aynıdır. Değişen şey header'dır.

Eski bir manifest şöyle görünür:

lua
resource_manifest_version '44febabe-d386-4d18-afbe-5e627f4af937'

client_script 'client.lua'
server_script 'server.lua'

ui_page 'html/index.html'
files {
    'html/index.html',
    'html/script.js',
    'html/style.css',
}

Yeni header

resource_manifest_version satırını iki satırla değiştirin:

lua
fx_version 'cerulean'
game 'gta5'

fx_version gereklidir. Manifest davranışını seçer ve cerulean, mevcut script'lerin kullandığı sürümdür. game 'gta5' resource'un GTA V için olduğunu söyler. resource_manifest_version içindeki eski UUID, fx_version ile değiştirilir: onu belirli eski sürüm adına çevirmenize gerek yok, sadece silin.

Tam dönüştürülen dosya

lua
fx_version 'cerulean'
game 'gta5'

lua54 'yes'

author 'Your name'
description 'What the resource does'
version '1.0.0'

client_scripts {
    'client.lua',
}

server_scripts {
    'server.lua',
}

ui_page 'html/index.html'

files {
    'html/index.html',
    'html/script.js',
    'html/style.css',
}

Her bölüme ilişkin notlar:

  • client_scripts ve server_scripts bir liste alırlar. Tekil client_script 'file.lua' bir dosya için hala çalışır.
  • shared_scripts her iki tarafta da yükler. '@ox_lib/init.lua' gibi bir framework import oraya gider.
  • ui_page NUI'nin HTML dosyasını işaret eder. Sayfanın yüklediği her dosya (JS, CSS, resimler, fontlar) files içinde olmalı, yoksa oyuncuya gönderilmez. Joker kartlar çalışır: 'html/**/*'.
  • files ayrıca client'ın ihtiyaç duyduğu ama çalıştırmadığı meta dosyalar gibi verileri listelediğiniz yerdir.
  • author, description ve version isteğe bağlı ve sadece bilgilendiricilir.

Lua 5.4

lua54 'yes' resource'u Lua 5.4 üzerinde çalışmasını sağlar. Birçok mevcut resource bunu gerektirir. Bunu eski bir script için açmak genellikle güvenlidir, ancak iki şeyi kontrol edin: eski Lua 5.3 davranışına dayanan bir script küçük bir düzeltme gerekebilir ve ox_lib kullanan script'ler Lua 5.4'ün etkinleştirilmesine ihtiyaç duyar. Eski script'i farklı davranıyorsa bırakın ve test edin.

Haritalar, veri dosyaları ve aktarılan varlıklar

Eski manifest, araç veya silah meta için data_file satırları varsa, bunları tutun. fxmanifest.lua içinde aynı söz dizimi var:

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

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

stream klasöründe aktarılan modeller ve dokular hiçbir giriş olması gerekmez. Yalnızca harita resource'u için this_is_a_map 'yes' ekleyin.

Eski dosyayı kaldırın

Dönüştürüldükten sonra klasörden __resource.lua silin. Her iki dosyayı da yerinde bırakmak, sunucuyu daha sonra koruyan kimse için kafa karıştırıcı ve sadece biri resource'u tanımlamalıdır.

Ardından resource'u yeniden başlatın:

text
refresh
ensure my_script

Manifest değiştiğinden refresh gereklidir. Manifest hata varsa, resource başlamaz: Couldn't start resource öğesini görmek için bu satırın üstündeki hatayı okumalısınız.

Dönüştürme sonra yaygın hatalar

  • Eksik fx_version veya game. Manifest reddedilir.
  • { } içinde eksik virgül. Liste içindeki her giriş bir virgülle ayrılır.
  • files içinden eksik dosyalar. NUI yükler ancak görüntüler veya script'ler boş olur, çünkü sayfa gönderilmeyen bir şey istedi. Başarısız istekler için F8 konsolunu ve NUI devtools'u kontrol edin.
  • Beyan edilmeyen bir bağımlılık. Script'i kullanıyorsa dependency 'ox_lib' ekleyin, böylece başlangıç sırası kontrol edilir. Could not find dependency bkz.

Dikkat: script'in yaşıyla eşleştirmek için 2019 eğitiminden kopyalanan eski bir ad olarak fx_version öğesini çok eski bir ada ayarlamayın. cerulean kullanın ve kırılan herhangi bir şeyi düzeltin.

Kontrol listesi

Belirti Fix
Konsol __resource.lua hakkında uyarı verir fxmanifest.lua oluşturun, eski dosyayı silin
resource_manifest_version satırı fx_version 'cerulean' ve game 'gta5' ile değiştirin
Dönüştürme sonra NUI boş files altında her NUI dosyasını listeleyin ve ui_page tutun
ox_lib fonksiyonları eksik lua54 'yes' ve @ox_lib/init.lua paylaşılan script'i ekleyin
Değişimden sonra Resource bulunamadı refresh çalıştırın, sonra ensure
Resource başlamıyor Couldn't start resource üzerindeki satırları okuyun

Kısa yanıtlar

__resource.lua hala desteklenyor mu?

FiveM eski resource'lar için okumaya devam eder, ancak deprecated'dir ve uyarı yazdırır. lua54 gibi yeni özellikler yalnızca fxmanifest.lua içinde var olduğundan, dönüştürün.

Hangi fx_version'u kullanmalıyım?

cerulean bugün yaygın bir seçimdir. Çoğu mevcut script'in bildirdiği sürüm ve mevcut bir server yapı üzerinde çalışır.

resource_manifest_version'ı tutmak zorunda mıyım?

Hayır. fx_version onu değiştirir. Dönüştürürken resource_manifest_version satırını silin.

Bu sorunu yaşatmayan scriptler

Clothing DesignerFiveM içinde kıyafet tasarlayın — fırça, katmanlar, görsel içe aktarma ve yapay zekâ — sonra giyin.Scripti gör →Drag RopeOyuncuları iple sürükleyin ve araçlara bağlayın; ip uzunluğu canlı değişir.Scripti gör →Item Creator V2Animasyonlar, proplar, efektler ve daha fazlasıyla kullanılabilir eşyalar oluşturun — kod yazmadan.Scripti gör →

Okumaya devam edin