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.
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:
['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:
['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'},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:
isDeaddeğerini sıfırlayanesx:onPlayerSpawnhandler'ını kaldır (ya da yorum satırı yap). - esx_ambulancejob/client/main.lua:
esx_ambulancejob:reviveevent handler'ını, işi DS-Death'e devreden tek satırla değiştir:esx_ambulancejob/client/main.luaRegisterNetEvent('esx_ambulancejob:revive') AddEventHandler('esx_ambulancejob:revive', function() TriggerEvent('DS-Death:revive') end) - esx_ambulancejob/client/job.lua:
revivePlayerfonksiyonundaif IsPedDeadOrDying(closestPlayerPed, 1) thensatırınıif closestPlayerPed thenyap 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
gameEventTriggeredhandler'ını kaldır. DS-Death bu akışın yerini alır.
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:
add_ace group.admin ds_death allowESX
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:
ensure DS-DeathDS-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
KeepItemswhitelist'i var. - Progressbar:
NATIVE,RPROGRESSya daCUSTOM(kendi barınıCustomProgress/StopCustomProgressiç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.luaiçinde yapılandır.
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.