Skip to main content
Entegrasyonlar sayfası, sunucundaki script paketlerini NODX FiveM Web Panel’e bağlamanı sağlar. Panel şu mantıkla çalışır:
KatmanGörevi
EntegrasyonHangi script veya paketin kullanılacağını belirtir
CapabilityO paketin panelden hangi işlemleri desteklediğini gösterir
ActionPaneldeki butonun sunucuda hangi işlemi çağıracağını belirler
TestAyarın gerçekten çalışıp çalışmadığını doğrular

Otomatik algılama

Panel bazı sistemleri otomatik algılayabilir. Örneğin:
Sistem türüÖrnek paketler
Ambulansars_ambulancejob
Bankatgiann-bank
Parkingtgiann-realparking
Police alerttgiann-policealert
MarketShop scriptleri
Kapı kilidiDoorlock scriptleri
Paket adları birebir önemlidir. Örneğin ars-ambulancejob yerine sunucunda ars_ambulancejob varsa entegrasyon adı buna göre ayarlanmalıdır.

Entegrasyon ekleme

1

Entegrasyon sayfasını aç

Panelden Entegrasyonlar alanına gir.
2

Sistem türünü seç

Market, kapı kilidi, banka, garaj, ambulans veya polis gibi türlerden birini seç.
3

Paket adını kontrol et

Sunucunda çalışan resource adıyla paneldeki adın aynı olduğundan emin ol.
4

Action ayarlarını doldur

Paneldeki işlem hangi export, event veya sorgu ile çalışacaksa onu seç.
5

Test et

Test et butonuna bas ve detaylı sonucu incele.
6

Aktif et

Test başarılıysa entegrasyonu aktif hale getir.

Action türleri

TürNe zaman kullanılır?
ExportScript dışarıya hazır fonksiyon veriyorsa
EventScript belirli event ile işlem yapıyorsa
DatabaseVeri doğrudan veritabanından okunacaksa
CustomPaket özel davranış istiyorsa

Örnek: Market listesi

Market entegrasyonunda panelin mağazaları okuyabilmesi için market listesini döndüren bir action gerekir. Örnek alanlar:
AlanÖrnek
Entegrasyonnodx-shops-setup
ActionGetPanelShops
Sonuç yolushops.list
Otomatik algılaAçık
AktifAçık
Marketler hâlâ boş görünüyorsa Test et sonucunda hangi adımın takıldığını kontrol et.

Örnek: Kapı kilidi

Kapı kilidi entegrasyonu, panelin kapı listesini okuyabilmesini ve destekleniyorsa kapı durumunu değiştirebilmesini sağlar.
İhtiyaçAçıklama
Kapı listesiPanelde kapıları göstermek için
Kapı IDKilit açma veya kapama işlemi için
Durum bilgisiKilitli, açık veya yetkili job bilgisi
Yetki kontrolüHer staff üyesinin kapı değiştirmemesi için

Özel paketlerde garanti çalışma nasıl sağlanır?

Her sunucu aynı paketi kullanmadığı için panelde ayarlanabilir mapping önemlidir. Sağlam bir entegrasyon için:
  • Resource adını doğru yaz.
  • Export veya event adını paketin dokümanına göre gir.
  • Sonuç yolunu doğru ayarla.
  • Test sonucunu başarılı görmeden entegrasyonu aktif etme.
  • Paket güncellenirse tekrar test et.
  • Aynı iş için birden fazla entegrasyon aktifse çakışma olmadığını kontrol et.
Bir entegrasyonun panelde görünmesi, o paketin tüm aksiyonlarının çalışacağı anlamına gelmez. Her action ayrı test edilmelidir.

Desteklenen paketler genişletilebilir mi?

Evet. Yeni bir paket için genelde şu bilgiler yeterlidir:
BilgiÖrnek
Resource adıcustom-garage
Okuma yöntemiExport veya database
Yazma yöntemiEvent veya export
Dönüş formatıListe, obje veya tablo
Yetki ihtiyacıKimler kullanabilir?
Bu bilgilerle panelde yeni capability ve action mapping tanımlanabilir.

Tam Action Mapping Örnekleri

Panelde Action Mapping, capability adı ile sunucuda çalışacak işlemi eşleştirir. Capability panelin çağırdığı komut adıdır; action ise bu komutun sunucuda export, event veya SQL ile nasıl çalışacağını anlatır.
Resource adı, server.cfg içindeki ensure adıyla birebir aynı olmalıdır. Örneğin ensure nodx-shops-setup yazıyorsa resource alanı nodx-shops-setup olmalıdır.

Capability Adı Birebir Panel Komutu Olmalı

Custom integration eklerken capability adını paketin kendi isimlendirmesine göre değil, panelin beklediği komut adına göre yazmalısın. Örneğin ev paketin kendi içinde houses diyebilir ama paneldeki Ev Sistemi sayfası housing.* capability’lerini bekler. Bu yüzden houses.list yerine housing.list kullanılmalıdır.
Panel bölümüDoğru capability örneğiSık yapılan yanlış
Dükkanlarshops.listshop.list, stores.list
Ev Sistemihousing.listhouses.list, house.list
Kapı Kilitleridoorlock.listdoors.list, door.list
Araç Anahtarlarıvehiclekeys.listvehkeys.list, keys.list
Garaj / Araçlarvehicle.owned.listgarage.list, vehicles.list
Envanterinventory.readitems.read, inventory.list
Kartın yeşil görünmesi resource’un tanındığını gösterir. Sayfanın gerçekten veri çekmesi için action mapping içindeki capability adı da panelin beklediği adla aynı olmalıdır.

Örnek: Market Listesini Export İle Okuma

Bu örnek, paneldeki Dükkanlar sayfasını doldurmak için kullanılır.
AlanDeğer
Capabilityshops.list
Typeexport
Sideserver
Resourcenodx-shops-setup
NameGetPanelShops
{
  "shops.list": {
    "type": "export",
    "side": "server",
    "resource": "nodx-shops-setup",
    "name": "GetPanelShops"
  }
}
Bu mapping şunu söyler: Panel shops.list istediğinde, sunucuda nodx-shops-setup resource’u içindeki GetPanelShops server export’u çağrılır.

Örnek: Oyuncuya Event İle Bildirim Gönderme

Event kullanan paketlerde action tipi event seçilir.
{
  "notify.send": {
    "type": "event",
    "side": "server",
    "resource": "my-notify",
    "name": "my-notify:server:send",
    "args": ["player_id", "payload.message", "payload.type"]
  }
}
Args değeriAnlamı
player_idPanelde seçilen oyuncu ID’si
payload.messagePanelden gelen mesaj
payload.typeBildirim tipi

Örnek: Kapı Listesini SQL İle Okuma

Bazı paketler export vermez; veriyi veritabanından okumak gerekir. Bu durumda type sql olur.
{
  "doorlock.list": {
    "type": "sql",
    "query": "SELECT id, name, locked, job FROM doorlocks ORDER BY id ASC",
    "result_path": "doors"
  }
}
Bu örnek, sorgudan dönen kapı listesini panelin doors alanı olarak okumasını sağlar.

Alanlar Ne İşe Yarar?

AlanZorunlu mu?Açıklama
typeEvetexport, event veya sql olur
sideExport/event için önerilirserver veya client tarafını belirtir
resourceExport/event için evetserver.cfg içindeki ensure adı
nameExport/event için evetÇağrılacak export veya event adı
argsİhtiyaca göreEvent/export’a gidecek parametre sırası
querySQL için evetÇalıştırılacak okuma sorgusu
result_pathİhtiyaca göreDönen sonucun panelde hangi alandan okunacağı

Kaydettikten Sonra Test Et

Mapping’i kaydettikten sonra entegrasyon kartındaki Test et butonunu kullan. Test sonucu şunları kontrol eder:
TestNe kontrol edilir?
Resource durumuResource sunucuda başlatılmış mı?
Export veya event adıGirilen ad gerçekten var mı?
Capability eşleşmesiPaneldeki capability ile action mapping aynı mı?
SQL sorgusuSorgu çalışıyor ve veri döndürüyor mu?
Önce tek capability ile başla. Örneğin sadece shops.list çalışıyorsa entegrasyonu aktif et, sonra diğer action’ları ekle.