Death·Kurulum

Kurulum

DS-Death, ambulance jobndeki varsayılan ölüm/bayılma/revive döngüsünün yerini alır. Kurulum çoğunlukla drag-and-drop; mevcut revive akışının DS-Death'e devredebilmesi için esx_ambulancejob ya da qb-ambulancejob üzerinde birkaç küçük yama var.

İndir

Scripti portal.cfx.re üzerinden indir. Scripti satın alırken kullandığın FiveM hesabıyla giriş yaptığından emin ol.

Arşivden çıkar

Arşivi çıkar ve oluşan DS-Death klasörünü sunucunun resources klasörünün herhangi bir yerine bırak.

Bağımlılıklar
DS-Death mysql-async gerektirir. ESX ve QBCore desteklenir ve çalışma anında otomatik algılanır.

SQL'i çalıştır

Frameworküne uyan SQL dosyasını çalıştır. Bu dosya, ölüm durumunu bağlantı kopmalarına rağmen saklamak için tek bir ds_death sütunu ekler.

ESX

Veritabanında INSTALLATION_GUIDE/ESX.sql dosyasını çalıştır: users tablosuna ds_death TINYINT(1) ekler.

QBCore

Veritabanında INSTALLATION_GUIDE/QBCore.sql dosyasını çalıştır: players tablosuna ds_death TINYINT(1) ekler.

Revive itemini kur

DS-Death, bayılmış oyuncuları ayağa kaldırmak için bir aidkit itemine ihtiyaç duyar. Kullandığın inventory hangisiyse ona ekle.

ESX (varsayılan inventory)

Itemi kaydetmek için veritabanında INSTALLATION_GUIDE/INSTALL_ITEM/ESX/item.sql dosyasını çalıştır.

ESX (ox_inventory)

INSTALLATION_GUIDE/INSTALL_ITEM/ESX/OX_INVENTORY_ITEM.md dosyasını aç, parçayı kopyalayıp ox_inventory/data/items.lua içine yapıştır:

ox_inventory/data/items.lua
['aidkit'] = {
    label = 'Aid Kit',
    weight = 100,
    stack = true,
    consume = 0,
    allowArmed = true
},

QBCore

INSTALLATION_GUIDE/INSTALL_ITEM/QBCORE/item.md dosyasını aç, parçayı kopyalayıp qb-core/shared/items.lua içine yapıştır:

qb-core/shared/items.lua
['aidkit'] = {['name'] = 'aidkit', ['label'] = 'Aid Kit', ['weight'] = 0, ['type'] = 'item', ['image'] = 'aidkit.png', ['unique'] = false, ['useable'] = false, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Useful to revive knocked people'},
Farklı bir item kullan
Kullanmayı tercih ettiğin bir tıbbi item zaten varsa, aidkit kurmak yerine config.lua içindeki ItemRevive ve ItemLabel değerlerini değiştir.

Ambulans mesleğini yamala

DS-Death ölüm/revive akışını devraldığı için esx_ambulancejob / qb-ambulancejob içindeki mevcut handler'ların kaldırılması ya da yönlendirilmesi gerekir. Silinecek ve değiştirilecek blokların birebir hâli resource'un içinde geliyor:

ESX (esx_ambulancejob)

INSTALLATION_GUIDE/ESX.txt dosyasını takip et; toplam üç düzenleme:

  • esx_ambulancejob/client/main.lua: isDead değerini sıfırlayan esx:onPlayerSpawn handler'ını kaldır (ya da yorum satırı yap).
  • esx_ambulancejob/client/main.lua: esx_ambulancejob:revive event handler'ını, işi DS-Death'e devreden tek satırla değiştir:
    esx_ambulancejob/client/main.lua
    RegisterNetEvent('esx_ambulancejob:revive')
    AddEventHandler('esx_ambulancejob:revive', function()
        TriggerEvent('DS-Death:revive')
    end)
  • esx_ambulancejob/client/job.lua: revivePlayer fonksiyonunda if IsPedDeadOrDying(closestPlayerPed, 1) then satırını if closestPlayerPed then yap ki DS-Death'in bayılma durumu da revive edilebilir sayılsın.

QBCore (qb-ambulancejob)

INSTALLATION_GUIDE/QBCORE.txt dosyasını takip et; iki düzenleme:

  • qb-ambulancejob/server/main.lua: mevcut QBCore.Commands.Add("revive", ...) bloğunu kaldır (ya da yorum satırı yap). DS-Death kendi komutunu kaydeder.
  • qb-ambulancejob/client/dead.lua: laststand / ölüm sayacını çalıştıran gameEventTriggered handler'ını kaldır. DS-Death bu akışın yerini alır.
Yamadan önce yedek al
Bu yamalar framework resource'larını değiştirir. Düzenlemeye başlamadan önce orijinal esx_ambulancejob / qb-ambulancejob klasörünün bir kopyasını sakla ki kurulumundaki başka bir şey eski davranışa bağlıysa geri dönebilesin.

Admin yetkilerini ver

QBCore

Adminlerin revive komutlarını kullanabilmesi için server.cfg dosyana ace yetkisini ekle:

server.cfg
add_ace group.admin ds_death allow

ESX

Yetkiler config.lua içindeki AuthorizedGroup dizisi üzerinden yönetilir. Varsayılan {'admin'} zaten çoğu kurulumu kapsar.

Resource'u başlat

Scripti server.cfg dosyana ekle:

server.cfg
ensure DS-Death
Resource sırası
Frameworkünün (ESX / QBCore) ve yamalanmış ambulance jobnin yükleme sırasında DS-Death'ten önce başladığından emin ol.

Yapılandır

config.lua dosyasını açıp scripti sunucuna göre ayarla. En işe yarayan ayarlar:

  • KnockoutTime / RespawnTime: oyuncuların ne kadar süre bayılı kalacağı ve respawn'ın ne zaman açılacağı.
  • HeadShotDeath: kafadan vuruşta bayılma aşamasını atlayıp anında öldür.
  • RespawnPosition / RespawnSamePos / RespawnCost: oyuncuların nerede döneceği ve respawn'ın nakit ya da banka parası isteyip istemediği.
  • CombatLogging: oyuncu tekrar girdiğinde ölü kalsın (CheckDeath) ya da otomatik respawn olsun (RespawnOnJoin).
  • RemoveItemsAfterRPDeath: RP ölümünde para, silah ve itemleri düşür; belge gibi şeyler için KeepItems whitelist'i var.
  • Progressbar: NATIVE, RPROGRESS ya da CUSTOM (kendi barını CustomProgress / StopCustomProgress içine bağla).
  • EMSCall: telefonunun arama trigger'ını bu fonksiyonun içine koy ki dünyadaki EMS çağrısı varsayılan bildirim yerine telefonuna gitsin.
  • EnableLogs: Discord webhook loglarını aç ve webhooks.lua içinde yapılandır.
Özel hooklar
config.lua içindeki OnKnocked, OnDeath, OnRevive ve OnRespawn, kendi trigger'larını/exportlarını takman için hazır bekleyen boş fonksiyonlardır. CanDie ile ölüm döngüsünü koşullu olarak kapatabilirsin: minigame bölgeleri, airsoft etkinlikleri veya PvP arenaları için işe yarar.

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

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

Discord'a katıl →