Death·Exportlar

Exportlar

DS-Death; herhangi bir scriptten tetikleyebileceğin birkaç net event, durum sorgusu ve yakındakini revive etme için üç client tarafı export ve ölüm, revive, respawn gibi anlarda kendi trigger'larını takman için config seviyesinde bir dizi hook sunar.

Eventler

Eventler en kolay entegrasyon noktasıdır: ambulance jobnden, telefondan, mini oyundan veya admin aracından tetikle.

DS-Death:revive

Yerel oyuncuyu (sunucudan tetiklendiğinde hedeflenen oyuncuyu) revive eder. DS-Death'i, ESX ambulance jobnin esx_ambulancejob:revive handler'ı gibi mevcut revive akışlarına bağlamak için bunu kullan.

Lua
-- Client side
TriggerEvent('DS-Death:revive')

-- Server side (revives the player whose source is passed in)
TriggerClientEvent('DS-Death:revive', source)

DS-Death:lockAnim

DS-Death'in ölüm animasyonunu kilitler veya kilidini açar. Başka bir sistem (ambulance job, özel revive mini oyunu) oyuncuyu DS-Death'in bayılma durumunda tutarken kendi animasyonunu oynatmak istediğinde işe yarar. Kilitlemek için true, bırakmak için false gönder.

Lua
-- Client side
TriggerEvent('DS-Death:lockAnim', true)   -- lock the death animation
TriggerEvent('DS-Death:lockAnim', false)  -- release it

-- Server side (target a specific player)
TriggerClientEvent('DS-Death:lockAnim', source, true)

Exportlar

Üç export da client tarafında çalışır. Durum sorguları isteğe bağlı bir server ID alır: hiçbir şey göndermezsen yerel oyuncu sorulur.

ReviveNear

client

Yerel oyuncunun çevresindeki bayılmış oyuncuları arar ve en yakındakini revive etmeye çalışır. Item kontrolünü, progress barı ve revive eventini script hallettiği için bu exportu yalnızca tercih ettiğin etkileşime bağlaman yeterli (item kullanımı, target seçeneği, keybind).

İmza

Lua
exports['DS-Death']:ReviveNear()

Örnek

Lua
-- e.g. from a usable-item handler or a target option
exports['DS-Death']:ReviveNear()

isPlayerDead

client

Belirtilen oyuncunun tamamen ölü olup olmadığını (respawn beklediğini) döndürür. Başka bir oyuncuyu sorgulamak için server ID gönder; yerel oyuncuyu kontrol etmek için hiçbir şey gönderme.

İmza

Lua
exports['DS-Death']:isPlayerDead(serverId)

Parametreler

AdTipAçıklama
serverId?numberSorgulanacak oyuncunun server ID'si. Varsayılan olarak kendin.

Döndürür

boolean

Oyuncu tamamen ölüyken true, aksi hâlde false.

Örnek

Lua
if exports['DS-Death']:isPlayerDead() then
  -- block phone, inventory, etc.
end

isPlayerKnocked

client

Belirtilen oyuncunun şu anda bayılmış olup olmadığını (yerde ama hâlâ revive edilebilir) döndürür. isPlayerDead ile aynı yapıda: server ID isteğe bağlıdır ve varsayılan olarak kendini gösterir.

İmza

Lua
exports['DS-Death']:isPlayerKnocked(serverId)

Parametreler

AdTipAçıklama
serverId?numberSorgulanacak oyuncunun server ID'si. Varsayılan olarak kendin.

Döndürür

boolean

Oyuncu bayılmış ve revive bekliyorken true.

Örnek

Lua
local target = GetClosestPlayer()
if exports['DS-Death']:isPlayerKnocked(GetPlayerServerId(target)) then
  -- show "Revive" prompt
end

Config hookları

Event ve exportların ötesinde config.lua, escrow'lu çekirdeğe dokunmadan genişletebileceğin birkaç boş fonksiyonla gelir. Kendi trigger'larını/exportlarını bunların herhangi birinin içine koy.

  • OnKnocked, OnDeath, OnRevive, OnRespawn: ilgili oyuncu durumu geçişinde tetiklenir.
  • CanDie: ölüm döngüsünü tamamen bastırmak için false döndür (örneğin bir mini oyunda, airsoft turunda veya PvP arenasında).
  • EMSCall: ölmekte olan oyuncunun koordinatlarını alır; bunu telefonunun acil arama trigger'ına yönlendir.
  • Notification: kendi bildirim sisteminle değiştir; metin bir mesaj alır.
  • CustomProgress / StopCustomProgress: config'te Progressbar = 'CUSTOM' olduğunda istediğin progress barı (ox_lib, özel UI vb.) bağla.
  • DisabledKeys: oyuncu tamamen ölüyken devre dışı bırakılan kontroller. Kendi kontrollerini kullanılabilir tutmak için üzerine yaz.
Hookları birlikte kullanmak
Hooklar ve exportlar iyi birleşir: diğer sistemleri (telefon, inventory, telsiz) polling yapmadan kısıtlamak için OnKnocked içinden exports['DS-Death']:isPlayerKnocked() çağır.

Hâlâ takıldın mı?

Discord'umuzdan bir ticket aç, sana yardım edelim.

Discord'a katıl →