mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-30 17:58:54 +00:00
Merge branch 'master' into master
This commit is contained in:
+21
-14
@@ -3,6 +3,12 @@ local firstSpawn, PlayerLoaded = true, false
|
||||
isDead, isSearched, medic = false, false, 0
|
||||
ESX = nil
|
||||
|
||||
AddEventHandler("onClientMapStart", function()
|
||||
exports.spawnmanager:spawnPlayer()
|
||||
Citizen.Wait(5000)
|
||||
exports.spawnmanager:setAutoSpawn(false)
|
||||
end)
|
||||
|
||||
Citizen.CreateThread(function()
|
||||
while ESX == nil do
|
||||
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
|
||||
@@ -28,24 +34,24 @@ AddEventHandler('esx:setJob', function(job)
|
||||
ESX.PlayerData.job = job
|
||||
end)
|
||||
|
||||
AddEventHandler('playerSpawned', function()
|
||||
AddEventHandler('esx:onPlayerSpawn', function()
|
||||
isDead = false
|
||||
TriggerServerEvent('esx_ambulancejob:onPlayerSpawn')
|
||||
|
||||
if firstSpawn then
|
||||
exports.spawnmanager:setAutoSpawn(false) -- disable respawn
|
||||
firstSpawn = false
|
||||
|
||||
ESX.TriggerServerCallback('esx_ambulancejob:getDeathStatus', function(shouldDie)
|
||||
if shouldDie and Config.AntiCombatLog then
|
||||
while not PlayerLoaded do
|
||||
Citizen.Wait(1000)
|
||||
end
|
||||
|
||||
ESX.ShowNotification(_U('combatlog_message'))
|
||||
RemoveItemsAfterRPDeath()
|
||||
if Config.AntiCombatLog then
|
||||
while not PlayerLoaded do
|
||||
Citizen.Wait(1000)
|
||||
end
|
||||
end)
|
||||
|
||||
ESX.TriggerServerCallback('esx_ambulancejob:getDeathStatus', function(shouldDie)
|
||||
if shouldDie then
|
||||
ESX.ShowNotification(_U('combatlog_message'))
|
||||
RemoveItemsAfterRPDeath()
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
@@ -343,10 +349,11 @@ function RespawnPed(ped, coords, heading)
|
||||
SetEntityCoordsNoOffset(ped, coords.x, coords.y, coords.z, false, false, false, true)
|
||||
NetworkResurrectLocalPlayer(coords.x, coords.y, coords.z, heading, true, false)
|
||||
SetPlayerInvincible(ped, false)
|
||||
TriggerEvent('playerSpawned', coords.x, coords.y, coords.z)
|
||||
ClearPedBloodDamage(ped)
|
||||
|
||||
ESX.UI.Menu.CloseAll()
|
||||
TriggerServerEvent('esx:onPlayerSpawn')
|
||||
TriggerEvent('esx:onPlayerSpawn')
|
||||
TriggerEvent('playerSpawned') -- compatibility with old scripts, will be removed soon
|
||||
end
|
||||
|
||||
RegisterNetEvent('esx_phone:loaded')
|
||||
|
||||
+6
-6
@@ -1,19 +1,19 @@
|
||||
Config = {}
|
||||
|
||||
Config.DrawDistance = 100.0
|
||||
Config.DrawDistance = 20.0 -- How close do you need to be in order for the markers to be drawn (in GTA units).
|
||||
|
||||
Config.Marker = {type = 1, x = 1.5, y = 1.5, z = 0.5, r = 102, g = 0, b = 102, a = 100, rotate = false}
|
||||
|
||||
Config.ReviveReward = 700 -- revive reward, set to 0 if you don't want it enabled
|
||||
Config.AntiCombatLog = true -- enable anti-combat logging?
|
||||
Config.LoadIpl = true -- disable if you're using fivem-ipl or other IPL loaders
|
||||
Config.ReviveReward = 700 -- Revive reward, set to 0 if you don't want it enabled
|
||||
Config.AntiCombatLog = true -- Enable anti-combat logging? (Removes Items when a player logs back after intentionally logging out while dead.)
|
||||
Config.LoadIpl = true -- Disable if you're using fivem-ipl or other IPL loaders
|
||||
|
||||
Config.Locale = 'fr'
|
||||
Config.Locale = 'en'
|
||||
|
||||
Config.EarlyRespawnTimer = 60000 * 1 -- time til respawn is available
|
||||
Config.BleedoutTimer = 60000 * 10 -- time til the player bleeds out
|
||||
|
||||
Config.EnablePlayerManagement = false
|
||||
Config.EnablePlayerManagement = false -- Enable society managing (If you are using esx_society).
|
||||
|
||||
Config.RemoveWeaponsAfterRPDeath = true
|
||||
Config.RemoveCashAfterRPDeath = true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
USE `essentialmode`;
|
||||
USE `es_extended`;
|
||||
|
||||
INSERT INTO `addon_account` (name, label, shared) VALUES
|
||||
('society_ambulance', 'Ambulance', 1)
|
||||
|
||||
@@ -17,6 +17,7 @@ server_scripts {
|
||||
'locales/sv.lua',
|
||||
'locales/pl.lua',
|
||||
'locales/cs.lua',
|
||||
'locales/nl.lua',
|
||||
'config.lua',
|
||||
'server/main.lua'
|
||||
}
|
||||
@@ -31,6 +32,7 @@ client_scripts {
|
||||
'locales/sv.lua',
|
||||
'locales/pl.lua',
|
||||
'locales/cs.lua',
|
||||
'locales/nl.lua',
|
||||
'config.lua',
|
||||
'client/main.lua',
|
||||
'client/job.lua',
|
||||
|
||||
+65
-63
@@ -1,86 +1,88 @@
|
||||
-- Traducción by https://github.com/ItsManueh
|
||||
|
||||
Locales['es'] = {
|
||||
-- Cloakroom
|
||||
['cloakroom'] = 'Guardarropa',
|
||||
['ems_clothes_civil'] = 'Camiseta',
|
||||
['ems_clothes_ems'] = 'Equipo de ambulancia',
|
||||
-- Vehicles
|
||||
['ambulance'] = 'ambulance',
|
||||
['helicopter_prompt'] = 'press ~INPUT_CONTEXT~ to access the ~y~Helicopter Actions~s~.',
|
||||
['garage_prompt'] = 'press ~INPUT_CONTEXT~ to access the ~y~Vehicle Actions~s~.',
|
||||
['garage_title'] = 'vehicle Actions',
|
||||
['garage_stored'] = 'stored',
|
||||
['garage_notstored'] = 'not in garage',
|
||||
['garage_storing'] = 'we\'re attempting to remove the vehicle, make sure no players are around it.',
|
||||
['garage_has_stored'] = 'the vehicle has been stored in your garage',
|
||||
['garage_has_notstored'] = 'no nearby owned vehicles were found',
|
||||
['garage_notavailable'] = 'your vehicle is not stored in the garage.',
|
||||
['garage_blocked'] = 'there\'s no available spawn points!',
|
||||
['garage_empty'] = 'you dont have any vehicles in your garage.',
|
||||
['garage_released'] = 'your vehicle has been released from the garage.',
|
||||
['garage_store_nearby'] = 'there is no nearby vehicles.',
|
||||
['garage_storeditem'] = 'open garage',
|
||||
['garage_storeitem'] = 'store vehicle in garage',
|
||||
['garage_buyitem'] = 'vehicle shop',
|
||||
['ambulance'] = 'Ambulancia',
|
||||
['helicopter_prompt'] = 'Presiona ~INPUT_CONTEXT~ para acceder al ~y~Acciones de helicópteros~s~.',
|
||||
['garage_prompt'] = 'Presiona ~INPUT_CONTEXT~ para acceder al ~y~Acciones de vehículos~s~.',
|
||||
['garage_title'] = 'Acciones de vehículos',
|
||||
['garage_stored'] = 'Almacenado',
|
||||
['garage_notstored'] = 'No en el garaje',
|
||||
['garage_storing'] = 'Estamos intentando retirar el vehículo, asegúrese de que no haya jugadores a su alrededor.',
|
||||
['garage_has_stored'] = 'El vehículo se ha guardado en su garaje',
|
||||
['garage_has_notstored'] = 'No se encontraron vehículos de propiedad cercana',
|
||||
['garage_notavailable'] = 'Su vehículo no está guardado en el garaje.',
|
||||
['garage_blocked'] = '¡No hay puntos de generación disponibles!',
|
||||
['garage_empty'] = 'No tiene ningún vehículo en su garaje.',
|
||||
['garage_released'] = 'Su vehículo ha sido sacado del garaje.',
|
||||
['garage_store_nearby'] = 'No hay vehículos cercanos.',
|
||||
['garage_storeditem'] = 'Garaje abierto',
|
||||
['garage_storeitem'] = 'Almacenar vehículo en garaje',
|
||||
['garage_buyitem'] = 'Tienda de vehículos',
|
||||
['shop_item'] = '$%s',
|
||||
['vehicleshop_title'] = 'vehicle Shop',
|
||||
['vehicleshop_confirm'] = 'do you want to buy this vehicle?',
|
||||
['vehicleshop_bought'] = 'you have bought ~y~%s~s~ for ~g~$%s~s~',
|
||||
['vehicleshop_money'] = 'you cannot afford that vehicle',
|
||||
['vehicleshop_awaiting_model'] = 'the vehicle is currently ~g~DOWNLOADING & LOADING~s~ please wait',
|
||||
['confirm_no'] = 'no',
|
||||
['confirm_yes'] = 'yes',
|
||||
['vehicleshop_title'] = 'Tienda de vehículos',
|
||||
['vehicleshop_confirm'] = '¿Quieres comprar este vehículo?',
|
||||
['vehicleshop_bought'] = 'Usted ha comprado ~y~%s~s~ para ~g~$%s~s~',
|
||||
['vehicleshop_money'] = 'No puedes pagar ese vehículo',
|
||||
['vehicleshop_awaiting_model'] = 'El vehículo está actualmente ~g~DESCARGANDO & CARGANDO~s~ por favor espere.',
|
||||
['confirm_no'] = 'No',
|
||||
['confirm_yes'] = 'Si',
|
||||
-- Action Menu
|
||||
['revive_inprogress'] = 'reanimación en curso',
|
||||
['revive_complete'] = 'has sido reanimado ~y~%s~s~',
|
||||
['revive_complete_award'] = 'has sido reanimado ~y~%s~s~, ~g~$%s~s~',
|
||||
['revive_fail_offline'] = 'that player is no longer online',
|
||||
['heal_inprogress'] = 'you are healing!',
|
||||
['heal_complete'] = 'you have healed ~y~%s~s~',
|
||||
['no_players'] = 'ningún jugador cerca',
|
||||
['player_not_unconscious'] = 'n\'estás inconsciente',
|
||||
['player_not_conscious'] = 'that player is not conscious!',
|
||||
['revive_inprogress'] = 'Reanimación en curso',
|
||||
['revive_complete'] = 'Has sido reanimado ~y~%s~s~',
|
||||
['revive_complete_award'] = 'Has sido reanimado ~y~%s~s~, ~g~$%s~s~',
|
||||
['revive_fail_offline'] = 'Ese jugador ya no está en línea',
|
||||
['heal_inprogress'] = '!Te estas curando!',
|
||||
['heal_complete'] = 'Te has curado ~y~%s~s~',
|
||||
['no_players'] = 'Ningún jugador cerca',
|
||||
['player_not_unconscious'] = 'n\'Estás inconsciente',
|
||||
['player_not_conscious'] = '¡Ese jugador no está consciente!',
|
||||
-- Boss Menu
|
||||
['boss_actions'] = 'boss Actions',
|
||||
['boss_actions'] = 'Acciones del jefe',
|
||||
-- Misc
|
||||
['invalid_amount'] = '~r~cantidad no válida',
|
||||
['actions_prompt'] = 'press ~INPUT_CONTEXT~ access the ~y~Ambulance Actions~s~.',
|
||||
['deposit_amount'] = 'cantidad de fianza depositada',
|
||||
['money_withdraw'] = 'cantidad de fianza retirada',
|
||||
['fast_travel'] = 'Press ~INPUT_CONTEXT~ to fast travel.',
|
||||
['open_pharmacy'] = 'Press ~INPUT_CONTEXT~ to open the pharmacy.',
|
||||
['pharmacy_menu_title'] = 'Pharmacy',
|
||||
['pharmacy_take'] = 'take <span style="color:blue;">%s</span>',
|
||||
['medikit'] = 'medikit',
|
||||
['bandage'] = 'bandage',
|
||||
['max_item'] = 'You are already carrying enough on yourself.',
|
||||
['invalid_amount'] = '~r~Cantidad no válida',
|
||||
['actions_prompt'] = 'Presiona ~INPUT_CONTEXT~ acceder al ~y~Acciones de ambulancia~s~.',
|
||||
['deposit_amount'] = 'Cantidad de fianza depositada',
|
||||
['money_withdraw'] = 'Cantidad de fianza retirada',
|
||||
['fast_travel'] = 'Presiona ~INPUT_CONTEXT~ para viajar rápido.',
|
||||
['open_pharmacy'] = 'Presiona ~INPUT_CONTEXT~ para abrir la farmacia.',
|
||||
['pharmacy_menu_title'] = 'Farmacia',
|
||||
['pharmacy_take'] = 'tomar <span style="color:blue;">%s</span>',
|
||||
['medikit'] = 'Kit médico',
|
||||
['bandage'] = 'Vendas',
|
||||
['max_item'] = 'Ya has ocupado el máximo número de items disponibles.',
|
||||
-- F6 Menu
|
||||
['ems_menu'] = 'ayuda ciudadana',
|
||||
['ems_menu_title'] = 'ambulancia - Ayuda Ciudadana',
|
||||
['ems_menu_revive'] = 'reanimar',
|
||||
['ems_menu_putincar'] = 'meter en el vehículo',
|
||||
['ems_menu_small'] = 'heal small wounds',
|
||||
['ems_menu_big'] = 'treat serious injuries',
|
||||
['ems_menu_small'] = 'Curar pequeñas heridas',
|
||||
['ems_menu_big'] = 'Tratar lesiones graves',
|
||||
['ems_menu_search'] = 'Paciente no encontrado',
|
||||
-- Phone
|
||||
['alert_ambulance'] = 'Alerta de ambulancia',
|
||||
-- Death
|
||||
['respawn_available_in'] = 'respawn available in ~b~%s minutes %s seconds~s~',
|
||||
['respawn_bleedout_in'] = 'you will bleed out in ~b~%s minutes %s seconds~s~\n',
|
||||
['respawn_bleedout_prompt'] = 'hold [~b~E~s~] to respawn',
|
||||
['respawn_bleedout_fine'] = 'hold [~b~E~s~] to respawn for ~g~$%s~s~',
|
||||
['respawn_bleedout_fine_msg'] = 'you paid ~r~$%s~s~ to respawn.',
|
||||
['distress_send'] = 'press [~b~G~s~] to send distress signal',
|
||||
['distress_sent'] = 'distress signal has been sent to available units!',
|
||||
['combatlog_message'] = 'you have been force-respawned because you\'ve previously left the server when dead.',
|
||||
['respawn_available_in'] = 'Reaparición disponible en ~b~%s minutes %s seconds~s~',
|
||||
['respawn_bleedout_in'] = 'te desangrarás en ~b~%s minutes %s seconds~s~\n',
|
||||
['respawn_bleedout_prompt'] = 'Mantén [~b~E~s~] reaparecer',
|
||||
['respawn_bleedout_fine'] = 'Mantén [~b~E~s~] para reaparecer ~g~$%s~s~',
|
||||
['respawn_bleedout_fine_msg'] = 'Tu pagaste ~r~$%s~s~ para reaparecer.',
|
||||
['distress_send'] = 'Presiona [~b~G~s~] para enviar señal de socorro',
|
||||
['distress_sent'] = 'Se ha enviado una señal de socorro a las unidades disponibles.',
|
||||
['combatlog_message'] = 'Ha sido reaparecido a la fuerza porque anteriormente abandonó el servidor cuando estaba muerto.',
|
||||
-- Revive
|
||||
['revive_help'] = 'reviver un jugador',
|
||||
['revive_help'] = 'Revivir un jugador',
|
||||
-- Item
|
||||
['used_medikit'] = 'You have used ~y~1x~s~ medikit',
|
||||
['used_bandage'] = 'You have used ~y~1x~s~ bandage',
|
||||
['not_enough_medikit'] = 'You do not have ~b~medikit~s~.',
|
||||
['not_enough_bandage'] = 'You do not have ~b~bandage~s~.',
|
||||
['healed'] = 'you have been treated.',
|
||||
['used_medikit'] = 'Has usado ~y~1x~s~ Kit médico',
|
||||
['used_bandage'] = 'Has usado ~y~1x~s~ Vendas',
|
||||
['not_enough_medikit'] = 'Usted no tiene ~b~Kit médico~s~.',
|
||||
['not_enough_bandage'] = 'Usted no tiene ~b~Vendas~s~.',
|
||||
['healed'] = 'Has sido tratado.',
|
||||
-- Blips
|
||||
['blip_hospital'] = 'hospital',
|
||||
['blip_dead'] = 'unconscious player',
|
||||
['blip_hospital'] = 'Hospital',
|
||||
['blip_dead'] = 'Jugador inconsciente',
|
||||
}
|
||||
|
||||
+3
-3
@@ -33,7 +33,7 @@ Locales['fr'] = {
|
||||
['revive_inprogress'] = 'réanimation en cours',
|
||||
['revive_complete'] = 'vous avez réanimé ~y~%s~s~',
|
||||
['revive_complete_award'] = 'vous avez réanimé ~y~%s~s~, ~g~$%s~s~',
|
||||
['revive_fail_offline'] = 'that player is no longer online',
|
||||
['revive_fail_offline'] = 'ce joueur n\'est plus en ligne',
|
||||
['heal_inprogress'] = 'vous soignez...',
|
||||
['heal_complete'] = 'vous avez soigné ~y~%s~s~',
|
||||
['no_players'] = 'aucun joueur à proximité',
|
||||
@@ -43,7 +43,7 @@ Locales['fr'] = {
|
||||
['boss_actions'] = 'action Patron',
|
||||
-- Misc
|
||||
['invalid_amount'] = '~r~montant invalide~s~',
|
||||
['actions_prompt'] = 'press ~INPUT_CONTEXT~ access the ~y~Ambulance Actions~s~.',
|
||||
['actions_prompt'] = 'appuyez sur ~INPUT_CONTEXT~ accédez aux ~y~Actions d\'Ambulance~s~.',
|
||||
['deposit_amount'] = 'montant du dépôt',
|
||||
['money_withdraw'] = 'montant du retrait',
|
||||
['fast_travel'] = 'appuyez sur ~INPUT_CONTEXT~ pour vous déplacer rapidement.',
|
||||
@@ -82,5 +82,5 @@ Locales['fr'] = {
|
||||
['healed'] = 'vous avez été soigné.',
|
||||
-- Blips
|
||||
['blip_hospital'] = 'hôpital',
|
||||
['blip_dead'] = 'unconscious player',
|
||||
['blip_dead'] = 'joueur inconscient',
|
||||
}
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
Locales['nl'] = {
|
||||
-- Cloakroom
|
||||
['cloakroom'] = 'Kleedkamer',
|
||||
['ems_clothes_civil'] = 'Burgerkleding',
|
||||
['ems_clothes_ems'] = 'Ambulance Kleding',
|
||||
-- Vehicles
|
||||
['ambulance'] = 'Ambulance',
|
||||
['helicopter_prompt'] = 'Druk op ~INPUT_CONTEXT~ om de ~y~Lifeliners~s~ te beheren.',
|
||||
['garage_prompt'] = 'Druk op ~INPUT_CONTEXT~ om de ~y~Garage~s~ te openen.',
|
||||
['garage_title'] = 'Garage',
|
||||
['garage_stored'] = 'In Garage',
|
||||
['garage_notstored'] = 'Niet In Garage',
|
||||
['garage_storing'] = 'We proberen je voertuig op te bergen, zorg dat er niemand in de buurt is.',
|
||||
['garage_has_stored'] = 'Je voertuig is in de garage gezet',
|
||||
['garage_has_notstored'] = 'Er zijn geen voertuigen in de buurt gevonden die van jou zijn',
|
||||
['garage_notavailable'] = 'Je voertuig staat niet in de garage.',
|
||||
['garage_blocked'] = 'Er is geen spawnplek beschikbaar!',
|
||||
['garage_empty'] = 'Er staat geen voertuig in je garage.',
|
||||
['garage_released'] = 'Je voertuig is uit de garage gehaald.',
|
||||
['garage_store_nearby'] = 'Er zijn geen voertuigen in de buurt.',
|
||||
['garage_storeditem'] = 'Open garage',
|
||||
['garage_storeitem'] = 'Zet voertuig in de garage',
|
||||
['garage_buyitem'] = 'Voertuigwinkel',
|
||||
['shop_item'] = '€%s',
|
||||
['vehicleshop_title'] = 'Voertuigwinkel',
|
||||
['vehicleshop_confirm'] = 'Wil je dit voertuig kopen?',
|
||||
['vehicleshop_bought'] = 'Je hebt een ~y~%s~s~ gekocht voor ~g~€%s~s~',
|
||||
['vehicleshop_money'] = 'Je kan dit voertuig niet betalen',
|
||||
['vehicleshop_awaiting_model'] = 'Het voertuig is aan het ~g~DOWNLOADEN & LADEN~s~, even geduld',
|
||||
['confirm_no'] = 'Nee',
|
||||
['confirm_yes'] = 'Ja',
|
||||
-- Action Menu
|
||||
['revive_inprogress'] = 'Reanimatie is in gang gezet!',
|
||||
['revive_complete'] = 'Je hebt ~y~%s~s~ gereanimeerd',
|
||||
['revive_complete_award'] = 'Je hebt ~y~%s~s~ gereanimeerd en ~g~€%s~s~ verdient!',
|
||||
['revive_fail_offline'] = 'Deze speler is niet langer online',
|
||||
['heal_inprogress'] = 'Je wordt genezen!',
|
||||
['heal_complete'] = 'Je hebt ~y~%s~s~ genezen',
|
||||
['no_players'] = 'Geen spelers in de buurt',
|
||||
['player_not_unconscious'] = 'Deze persoon is niet bewusteloos!',
|
||||
['player_not_conscious'] = 'Deze persoon is bewusteloos!',
|
||||
-- Boss Menu
|
||||
['boss_actions'] = 'Manager Acties',
|
||||
-- Misc
|
||||
['invalid_amount'] = '~r~Ongeldig aantal',
|
||||
['actions_prompt'] = 'Druk op ~INPUT_CONTEXT~ om de ~y~Ambulance Acties~s~ te bekijken.',
|
||||
['deposit_amount'] = 'Bedrag om te storten',
|
||||
['money_withdraw'] = 'Bedrag om op te nemen',
|
||||
['fast_travel'] = 'Druk op ~INPUT_CONTEXT~ om snel te reizen.',
|
||||
['open_pharmacy'] = 'Druk op ~INPUT_CONTEXT~ om de apotheek te openen.',
|
||||
['pharmacy_menu_title'] = 'Apotheek',
|
||||
['pharmacy_take'] = 'Pak <span style="color:blue;">%s</span>',
|
||||
['medikit'] = 'Spoedkoffer',
|
||||
['bandage'] = 'Verbanddoos',
|
||||
['max_item'] = 'Je draagt al genoeg bij je.',
|
||||
-- F6 Menu
|
||||
['ems_menu'] = 'Ambulance Menu',
|
||||
['ems_menu_title'] = 'Ambulance - Menu',
|
||||
['ems_menu_revive'] = 'Reanimeer speler',
|
||||
['ems_menu_putincar'] = 'Zet in voertuig',
|
||||
['ems_menu_small'] = 'Behandel kleine verwondingen',
|
||||
['ems_menu_big'] = 'Behandel grote verwondingen',
|
||||
-- Phone
|
||||
['alert_ambulance'] = 'alert Ambulance',
|
||||
-- Death
|
||||
['respawn_available_in'] = 'Respawn beschikbaar in ~b~%s minuten en %s seconden~s~',
|
||||
['respawn_bleedout_in'] = 'Je zal doodbloeden in ~b~%s minuten %s seconden~s~\n',
|
||||
['respawn_bleedout_prompt'] = 'Houd [~b~E~s~] ingedrukt om te respawnen',
|
||||
['respawn_bleedout_fine'] = 'Houd [~b~E~s~] ingedrukt om te respawnen voor ~g~€%s~s~',
|
||||
['respawn_bleedout_fine_msg'] = 'Je hebt ~r~€%s~s~ betaald om te respawnen.',
|
||||
['distress_send'] = 'Druk op [~b~G~s~] om een noodsignaal te verzenden',
|
||||
['distress_sent'] = 'Noodsignaal verzonden naar alle beschikbare eenheden!',
|
||||
['combatlog_message'] = 'Je bent gerespawned omdat je uitgelogt bent terwijl je dood was.',
|
||||
-- Revive
|
||||
['revive_help'] = 'Revive een speler',
|
||||
-- Item
|
||||
['used_medikit'] = 'Je hebt ~y~1~s~ spoedkoffer gebruikt',
|
||||
['used_bandage'] = 'Je hebt ~y~1~s~ verbandkoffer gebruikt',
|
||||
['not_enough_medikit'] = 'Je hebt geen ~b~spoedkoffer~s~ bij.',
|
||||
['not_enough_bandage'] = 'Je hebt geen ~b~verbandkoffer~s~ bij.',
|
||||
['healed'] = 'Je bent behandeld.',
|
||||
-- Blips
|
||||
['blip_hospital'] = 'Ziekenhuis',
|
||||
['blip_dead'] = 'Bewusteloze speler',
|
||||
}
|
||||
+6
-6
@@ -32,7 +32,7 @@ Locales['sv'] = {
|
||||
-- Action Menu
|
||||
['revive_inprogress'] = 'en återupplivning har börjats',
|
||||
['revive_complete'] = 'du har återupplivat ~y~%s~s~, bra jobbat!',
|
||||
['revive_complete_award'] = 'du har återupplivat ~y~%s~s~ och tjärnat ~g~%s SEK~s~ för dina tjänster, bra jobbat!',
|
||||
['revive_complete_award'] = 'du har återupplivat ~y~%s~s~ och tjänat ~g~%s SEK~s~ för dina tjänster, bra jobbat!',
|
||||
['revive_fail_offline'] = 'den spelaren har lämnat servern',
|
||||
['heal_inprogress'] = 'du behandlar patienten!',
|
||||
['heal_complete'] = 'du har behandlat ~y~%s~s~',
|
||||
@@ -40,7 +40,7 @@ Locales['sv'] = {
|
||||
['player_not_unconscious'] = 'spelaren är inte medvetslös!',
|
||||
['player_not_conscious'] = 'spelaren är inte vid medvetande!',
|
||||
-- Boss Menu
|
||||
['boss_actions'] = 'chef meny',
|
||||
['boss_actions'] = 'chefsmeny',
|
||||
-- Misc
|
||||
['invalid_amount'] = '~r~Ogiltig mängd',
|
||||
['actions_prompt'] = 'tryck ~INPUT_CONTEXT~ för att öppna menyn.',
|
||||
@@ -50,7 +50,7 @@ Locales['sv'] = {
|
||||
['open_pharmacy'] = 'tryck på ~INPUT_CONTEXT~ för att öppna apoteket.',
|
||||
['pharmacy_menu_title'] = 'apotek',
|
||||
['pharmacy_take'] = 'ta <span style="color:blue;">%s</span>',
|
||||
['medikit'] = 'medicinkit',
|
||||
['medikit'] = 'akutväska',
|
||||
['bandage'] = 'bandage',
|
||||
['max_item'] = 'du har redan tillräckligt mycket på dig.',
|
||||
-- F6 Menu
|
||||
@@ -65,7 +65,7 @@ Locales['sv'] = {
|
||||
['alert_ambulance'] = 'ambulanssamtal',
|
||||
-- Death
|
||||
['respawn_available_in'] = 'respawn tillgänglig om ~b~%s:%s~s~',
|
||||
['respawn_bleedout_in'] = 'du kommer att blöda ut om ~b~%s:%s~s~\n',
|
||||
['respawn_bleedout_in'] = 'du kommer att förblöda om ~b~%s:%s~s~\n',
|
||||
['respawn_bleedout_prompt'] = 'håll [~b~E~s~] för att respawna',
|
||||
['respawn_bleedout_fine'] = 'håll [~b~E~s~] för att respawna, kostar ~g~%s SEK~s~',
|
||||
['respawn_bleedout_fine_msg'] = 'du betalade ~r~%s SEK~s~ för att respawna.',
|
||||
@@ -75,9 +75,9 @@ Locales['sv'] = {
|
||||
-- Revive
|
||||
['revive_help'] = 'återuppliva en spelare',
|
||||
-- Item
|
||||
['used_medikit'] = 'du har använt ~y~1x~s~ ~b~Medecinkit~s~',
|
||||
['used_medikit'] = 'du har använt ~y~1x~s~ ~b~Akutväska~s~',
|
||||
['used_bandage'] = 'du har använt ~y~1x~s~ ~b~Bandage~s~',
|
||||
['not_enough_medikit'] = 'du har inget ~b~Medecinkit~s~.',
|
||||
['not_enough_medikit'] = 'du har ingen ~b~Akutväska~s~.',
|
||||
['not_enough_bandage'] = 'du har inget ~b~Bandage~s~.',
|
||||
['healed'] = 'dina skador har blivit behandlade.',
|
||||
-- Blips
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
USE `essentialmode`;
|
||||
USE `es_extended`;
|
||||
|
||||
INSERT INTO `addon_account` (name, label, shared) VALUES
|
||||
('society_ambulance', 'EMS', 1)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
USE `essentialmode`;
|
||||
USE `es_extended`;
|
||||
|
||||
INSERT INTO `addon_account` (name, label, shared) VALUES
|
||||
('society_ambulance', 'Záchranka', 1)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
USE `essentialmode`;
|
||||
USE `es_extended`;
|
||||
|
||||
INSERT INTO `addon_account` (name, label, shared) VALUES
|
||||
('society_ambulance', 'Notdienst', 1)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
USE `essentialmode`;
|
||||
USE `es_extended`;
|
||||
|
||||
INSERT INTO `addon_account` (name, label, shared) VALUES
|
||||
('society_ambulance', 'EMS', 1)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
USE `essentialmode`;
|
||||
USE `es_extended`;
|
||||
|
||||
INSERT INTO `addon_account` (name, label, shared) VALUES
|
||||
('society_ambulance', 'Ensihoito', 1)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
USE `essentialmode`;
|
||||
USE `es_extended`;
|
||||
|
||||
INSERT INTO `addon_account` (name, label, shared) VALUES
|
||||
('society_ambulance', 'Ambulance', 1)
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
USE `es_extended`;
|
||||
|
||||
INSERT INTO `addon_account` (name, label, shared) VALUES
|
||||
('society_ambulance', 'Sjukvård', 1)
|
||||
;
|
||||
|
||||
INSERT INTO `addon_inventory` (name, label, shared) VALUES
|
||||
('society_ambulance', 'Sjukvård', 1)
|
||||
;
|
||||
|
||||
INSERT INTO `datastore` (name, label, shared) VALUES
|
||||
('society_ambulance', 'Sjukvård', 1)
|
||||
;
|
||||
|
||||
INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
|
||||
('ambulance',0,'ambulance','Undersköterska',20,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
|
||||
('ambulance',1,'doctor','Ambulanssjuksköterska',40,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
|
||||
('ambulance',2,'chief_doctor','Läkare',60,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}'),
|
||||
('ambulance',3,'boss','Överläkare',80,'{\"tshirt_2\":0,\"hair_color_1\":5,\"glasses_2\":3,\"shoes\":9,\"torso_2\":3,\"hair_color_2\":0,\"pants_1\":24,\"glasses_1\":4,\"hair_1\":2,\"sex\":0,\"decals_2\":0,\"tshirt_1\":15,\"helmet_1\":8,\"helmet_2\":0,\"arms\":92,\"face\":19,\"decals_1\":60,\"torso_1\":13,\"hair_2\":0,\"skin\":34,\"pants_2\":5}','{\"tshirt_2\":3,\"decals_2\":0,\"glasses\":0,\"hair_1\":2,\"torso_1\":73,\"shoes\":1,\"hair_color_2\":0,\"glasses_1\":19,\"skin\":13,\"face\":6,\"pants_2\":5,\"tshirt_1\":75,\"pants_1\":37,\"helmet_1\":57,\"torso_2\":0,\"arms\":14,\"sex\":1,\"glasses_2\":0,\"decals_1\":0,\"hair_2\":0,\"helmet_2\":0,\"hair_color_1\":0}')
|
||||
;
|
||||
|
||||
INSERT INTO `jobs` (name, label) VALUES
|
||||
('ambulance','Sjukvårdare')
|
||||
;
|
||||
|
||||
INSERT INTO `items` (name, label, weight) VALUES
|
||||
('bandage','Bandage', 2),
|
||||
('medikit','Akutväska', 2)
|
||||
;
|
||||
|
||||
ALTER TABLE `users`
|
||||
ADD `is_dead` TINYINT(1) NULL DEFAULT '0'
|
||||
;
|
||||
+23
-25
@@ -16,10 +16,16 @@ AddEventHandler('esx_ambulancejob:revive', function(playerId)
|
||||
|
||||
if xTarget then
|
||||
if deadPlayers[playerId] then
|
||||
xPlayer.showNotification(_U('revive_complete_award', xTarget.name, Config.ReviveReward))
|
||||
xPlayer.addMoney(Config.ReviveReward)
|
||||
xTarget.triggerEvent('esx_ambulancejob:revive')
|
||||
deadPlayers[playerId] = nil
|
||||
if Config.ReviveReward > 0 then
|
||||
xPlayer.showNotification(_U('revive_complete_award', xTarget.name, Config.ReviveReward))
|
||||
xPlayer.addMoney(Config.ReviveReward)
|
||||
xTarget.triggerEvent('esx_ambulancejob:revive')
|
||||
deadPlayers[playerId] = nil
|
||||
else
|
||||
xPlayer.showNotification(_U('revive_complete', xTarget.name))
|
||||
xTarget.triggerEvent('esx_ambulancejob:revive')
|
||||
deadPlayers[playerId] = nil
|
||||
end
|
||||
else
|
||||
xPlayer.showNotification(_U('player_not_unconscious'))
|
||||
end
|
||||
@@ -48,8 +54,8 @@ AddEventHandler('esx_ambulancejob:onPlayerDistress', function()
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterNetEvent('esx_ambulancejob:onPlayerSpawn')
|
||||
AddEventHandler('esx_ambulancejob:onPlayerSpawn', function()
|
||||
RegisterNetEvent('esx:onPlayerSpawn')
|
||||
AddEventHandler('esx:onPlayerSpawn', function()
|
||||
if deadPlayers[source] then
|
||||
deadPlayers[source] = nil
|
||||
TriggerClientEvent('esx_ambulancejob:setDeadPlayers', -1, deadPlayers)
|
||||
@@ -255,20 +261,11 @@ AddEventHandler('esx_ambulancejob:giveItem', function(itemName, amount)
|
||||
end
|
||||
end)
|
||||
|
||||
TriggerEvent('es:addGroupCommand', 'revive', 'admin', function(source, args, user)
|
||||
if args[1] then
|
||||
local playerId = tonumber(args[1])
|
||||
if playerId and ESX.GetPlayerFromId(playerId) then
|
||||
TriggerClientEvent('esx_ambulancejob:revive', playerId)
|
||||
else
|
||||
TriggerClientEvent('chat:addMessage', source, { args = { '^1SYSTEM', 'Player not online.' } })
|
||||
end
|
||||
else
|
||||
TriggerClientEvent('esx_ambulancejob:revive', source)
|
||||
end
|
||||
end, function(source, args, user)
|
||||
TriggerClientEvent('chat:addMessage', source, { args = { '^1SYSTEM', 'Insufficient Permissions.' } })
|
||||
end, { help = _U('revive_help'), params = {{ name = 'playerId' }} })
|
||||
ESX.RegisterCommand('revive', 'admin', function(xPlayer, args, showError)
|
||||
args.playerId.triggerEvent('esx_ambulancejob:revive')
|
||||
end, true, {help = _U('revive_help'), validate = true, arguments = {
|
||||
{name = 'playerId', help = 'The player id', type = 'player'}
|
||||
}})
|
||||
|
||||
ESX.RegisterUsableItem('medikit', function(source)
|
||||
if not playersHealing[source] then
|
||||
@@ -297,13 +294,14 @@ ESX.RegisterUsableItem('bandage', function(source)
|
||||
end)
|
||||
|
||||
ESX.RegisterServerCallback('esx_ambulancejob:getDeathStatus', function(source, cb)
|
||||
local identifier = GetPlayerIdentifiers(source)[1]
|
||||
local xPlayer = ESX.GetPlayerFromId(source)
|
||||
|
||||
MySQL.Async.fetchScalar('SELECT is_dead FROM users WHERE identifier = @identifier', {
|
||||
['@identifier'] = identifier
|
||||
['@identifier'] = xPlayer.identifier
|
||||
}, function(isDead)
|
||||
|
||||
if isDead then
|
||||
print(('[esx_ambulancejob] [^2INFO^7] "%s" attempted combat logging'):format(identifier))
|
||||
print(('[esx_ambulancejob] [^2INFO^7] "%s" attempted combat logging'):format(xPlayer.identifier))
|
||||
end
|
||||
|
||||
cb(isDead)
|
||||
@@ -312,11 +310,11 @@ end)
|
||||
|
||||
RegisterNetEvent('esx_ambulancejob:setDeathStatus')
|
||||
AddEventHandler('esx_ambulancejob:setDeathStatus', function(isDead)
|
||||
local identifier = GetPlayerIdentifiers(source)[1]
|
||||
local xPlayer = ESX.GetPlayerFromId(source)
|
||||
|
||||
if type(isDead) == 'boolean' then
|
||||
MySQL.Sync.execute('UPDATE users SET is_dead = @isDead WHERE identifier = @identifier', {
|
||||
['@identifier'] = identifier,
|
||||
['@identifier'] = xPlayer.identifier,
|
||||
['@isDead'] = isDead
|
||||
})
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user