Rent a Car AppYeniÜcretsiz

Rent a Car App: Export ve Event'ler

Uygulamanın hype-rentacar ile nasıl konuştuğu, diğer kaynaklardan nasıl yenileneceği ve uygulamanın kendi export'ları.

v1.0.0Açık kaynakÜcretsizQBox · QBCore · ESX

Kaynak adı

Kaynak adında tire olduğu için export'ları exports.hype-rentacar-app yerine exports["hype-rentacar-app"] şeklinde çağır.

Uygulama nasıl çalışır

Uygulama hiçbir kiralama durumu tutmaz. Sunucu tarafı her telefon isteğini fiyatları, ödemeleri, bekleme sürelerini ve doğrulamayı yöneten şu hype-rentacar sunucu export'larına iletir:

hype-rentacar export'uKullanım amacı
GetCatalog()Araçlar, süreler, ofisler, hesaplar ve telefon kuralları
GetPlayerData(source)Bakiye, ehliyet durumu ve aktif kiralamalar
Rent(source, { model, hours, payment })Telefondan kiralama, daha sonra bir ofiste teslim alınır
Respawn(source, rentalId, spawnPoint)Kaybolan kiralık aracı oyuncunun yanına getirir

hype-rentacar çalışmıyorsa uygulama Rent a Car servisine ulaşılamıyor mesajını gösterir.

Uygulama lb-phone'a AddCustomApp ile kaydedilir, SendCustomAppMessage ile yenilenir ve kaynak durduğunda RemoveCustomApp ile kaldırılır.

Event'ler

hype-rentacar:client:updated

hype-rentacar bu istemci event'ini her tetiklediğinde uygulama yenilenir: kiralama, teslim alma, iade, yeniden çıkarma ve süre dolumunda. Diğer kaynaklar da bir oyuncunun uygulamasını aynı şekilde yenileyebilir:

server.lua
TriggerClientEvent("hype-rentacar:client:updated", source)

Uygulama ayrıca açıldığında, nakit veya banka değiştiğinde (framework varsa) ve Kiralamalarım sekmesinde her 15 saniyede bir yenilenir.

İstemci export'ları

GetFrameworkObject

GetFrameworkName() ve OnMoneyChange(handler) fonksiyonlarını içeren istemci framework köprüsünü döndürür.

client.lua
local framework = exports["hype-rentacar-app"]:GetFrameworkObject()
print(framework.GetFrameworkName and framework.GetFrameworkName())

GetModules

İstemci modül tablosunu döndürür. İsim verilirse sadece o modülü döndürür. Tek modül, lb-phone köprüsü olan Phone'dur.

client.lua
local phone = exports["hype-rentacar-app"]:GetModules("Phone")
if phone.IsReady() then
    phone.SendAppMessage("hype-rentacar", { action = "refresh" })
end

Seçenek

Tür

Phone fonksiyonuAmaç
IsReady()lb-phone'un çalışıp çalışmadığı
AddApp(app)Uygulamayı kaydeder, added, error döndürür
RemoveApp(identifier)Uygulamayı telefondan kaldırır
SendAppMessage(identifier, data)Uygulamanın arayüzüne mesaj gönderir

Köprüler

frameworks/ içindeki framework köprüleri ve modules/phone/ içindeki lb-phone köprüsü escrow korumalı değildir. Değiştirilmiş bir lb-phone veya özel bir para event'i kullanıyorsan onları burada değiştir.

main.lua
cl-main.lua

Bu sayfada