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.
-- 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.
-- 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
clientYerel 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
exports['DS-Death']:ReviveNear()Örnek
-- e.g. from a usable-item handler or a target option
exports['DS-Death']:ReviveNear()isPlayerDead
clientBelirtilen 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
exports['DS-Death']:isPlayerDead(serverId)Parametreler
| Ad | Tip | Açıklama |
|---|---|---|
| serverId? | number | Sorgulanacak oyuncunun server ID'si. Varsayılan olarak kendin. |
Döndürür
Oyuncu tamamen ölüyken true, aksi hâlde false.
Örnek
if exports['DS-Death']:isPlayerDead() then
-- block phone, inventory, etc.
endisPlayerKnocked
clientBelirtilen 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
exports['DS-Death']:isPlayerKnocked(serverId)Parametreler
| Ad | Tip | Açıklama |
|---|---|---|
| serverId? | number | Sorgulanacak oyuncunun server ID'si. Varsayılan olarak kendin. |
Döndürür
Oyuncu bayılmış ve revive bekliyorken true.
Örnek
local target = GetClosestPlayer()
if exports['DS-Death']:isPlayerKnocked(GetPlayerServerId(target)) then
-- show "Revive" prompt
endConfig 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
falsedö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.
OnKnocked içinden exports['DS-Death']:isPlayerKnocked() çağır.