Instalacja
DS-Death zastępuje domyślną pętlę śmierci/nokautu/reanimacji w twojej ambulance joba. Instalacja to w większości drag-and-drop, plus kilka drobnych poprawek w esx_ambulancejob albo qb-ambulancejob, żeby dotychczasowy przepływ reanimacji przekazywał sterowanie do DS-Death.
Pobierz
Pobierz skrypt z portal.cfx.re. Upewnij się, że jesteś zalogowany na koncie FiveM, z którego kupiłeś skrypt.
Rozpakuj
Rozpakuj archiwum i wrzuć powstały folder DS-Death w dowolne miejsce w folderze resources swojego serwera.
mysql-async. ESX i QBCore są obsługiwane i wykrywane automatycznie w trakcie działania.Wykonaj SQL
Wykonaj plik SQL odpowiadający twojemu frameworkowi. Dodaje on jedną kolumnę ds_death, w której zapisywany jest stan śmierci między rozłączeniami.
ESX
Wykonaj INSTALLATION_GUIDE/ESX.sql w swojej bazie danych: dodaje ds_death TINYINT(1) do tabeli users.
QBCore
Wykonaj INSTALLATION_GUIDE/QBCore.sql w swojej bazie danych: dodaje ds_death TINYINT(1) do tabeli players.
Zainstaluj item do reanimacji
DS-Death potrzebuje itemu aidkit, żeby reanimować znokautowanych graczy. Dodaj go do inventory, którego używasz.
ESX (domyślne inventory)
Wykonaj INSTALLATION_GUIDE/INSTALL_ITEM/ESX/item.sql w swojej bazie danych, żeby zarejestrować item.
ESX (ox_inventory)
Otwórz INSTALLATION_GUIDE/INSTALL_ITEM/ESX/OX_INVENTORY_ITEM.md, skopiuj fragment i wklej go do ox_inventory/data/items.lua:
['aidkit'] = {
label = 'Aid Kit',
weight = 100,
stack = true,
consume = 0,
allowArmed = true
},QBCore
Otwórz INSTALLATION_GUIDE/INSTALL_ITEM/QBCORE/item.md, skopiuj fragment i wklej go do 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'},aidkit zmień ItemRevive i ItemLabel w config.lua.Popraw swoją pracę ambulansu
DS-Death przejmuje przepływ śmierci i reanimacji, więc dotychczasowe handlery w esx_ambulancejob / qb-ambulancejob trzeba usunąć albo przekierować. Dokładne bloki do usunięcia i podmiany są dołączone do resource'a:
ESX (esx_ambulancejob)
Postępuj zgodnie z INSTALLATION_GUIDE/ESX.txt, w sumie trzy zmiany:
- esx_ambulancejob/client/main.lua: usuń (albo zakomentuj) handler
esx:onPlayerSpawn, który resetujeisDead. - esx_ambulancejob/client/main.lua: podmień handler eventu
esx_ambulancejob:revivena jedną linijkę przekazującą sterowanie do DS-Death:esx_ambulancejob/client/main.luaRegisterNetEvent('esx_ambulancejob:revive') AddEventHandler('esx_ambulancejob:revive', function() TriggerEvent('DS-Death:revive') end) - esx_ambulancejob/client/job.lua: w funkcji
revivePlayerzmieńif IsPedDeadOrDying(closestPlayerPed, 1) thennaif closestPlayerPed then, żeby stan znokautowania z DS-Death liczył się jako możliwy do reanimacji.
QBCore (qb-ambulancejob)
Postępuj zgodnie z INSTALLATION_GUIDE/QBCORE.txt, dwie zmiany:
- qb-ambulancejob/server/main.lua: usuń (albo zakomentuj) istniejący blok
QBCore.Commands.Add("revive", ...). DS-Death rejestruje własny. - qb-ambulancejob/client/dead.lua: usuń handler
gameEventTriggered, który obsługuje laststand / licznik śmierci. DS-Death zastępuje ten przepływ.
esx_ambulancejob / qb-ambulancejob, żeby móc się wycofać, jeśli coś innego w twoim zestawie zależy od starego zachowania.Nadaj uprawnienia administracyjne
QBCore
Dodaj uprawnienie ace do swojego server.cfg, żeby admini mogli korzystać z komend reanimacji:
add_ace group.admin ds_death allowESX
Uprawnieniami zarządza tablica AuthorizedGroup w config.lua. Domyślne {'admin'} pokrywa już większość konfiguracji.
Uruchom resource
Dodaj skrypt do swojego server.cfg:
ensure DS-DeathDS-Death.Skonfiguruj
Otwórz config.lua i dostosuj skrypt do swojego serwera. Najbardziej przydatne ustawienia:
- KnockoutTime / RespawnTime: jak długo gracze leżą znokautowani i kiedy odblokowuje się respawn.
- HeadShotDeath: pomiń stan nokautu i zabij od razu przy strzale w głowę.
- RespawnPosition / RespawnSamePos / RespawnCost: gdzie gracze wracają i czy respawn kosztuje gotówkę albo środki z banku.
- CombatLogging: albo zostaw gracza martwego po ponownym wejściu (
CheckDeath), albo respawnuj go automatycznie (RespawnOnJoin). - RemoveItemsAfterRPDeath: wyrzucanie pieniędzy, broni i itemów przy śmierci RP, z whitelistą
KeepItemsna przykład na dokumenty. - Progressbar:
NATIVE,RPROGRESSalboCUSTOM(podepnij własny pasek wCustomProgress/StopCustomProgress). - EMSCall: wrzuć do tej funkcji trigger połączenia ze swojego telefonu, żeby wezwanie EMS trafiało do telefonu zamiast do domyślnego powiadomienia.
- EnableLogs: włącz logi na webhooka Discorda i skonfiguruj je w
webhooks.lua.
OnKnocked, OnDeath, OnRevive i OnRespawn w config.lua to puste funkcje gotowe na twoje własne triggery/eksporty. CanDie pozwala warunkowo wyłączyć pętlę śmierci: przydaje się w strefach minigier, na eventach airsoftowych albo arenach PvP.