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ı.
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'u | Kullanı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:
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.
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.
local phone = exports["hype-rentacar-app"]:GetModules("Phone")
if phone.IsReady() then
phone.SendAppMessage("hype-rentacar", { action = "refresh" })
endSeçenek
Tür
| Phone fonksiyonu | Amaç |
|---|---|
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.