diff --git a/client/main.lua b/client/main.lua index 3746ee40..4750f55b 100644 --- a/client/main.lua +++ b/client/main.lua @@ -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') diff --git a/config.lua b/config.lua index 7bb21f18..9993ff39 100644 --- a/config.lua +++ b/config.lua @@ -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 diff --git a/esx_ambulancejob.sql b/esx_ambulancejob.sql index c7a4097e..09c3d72b 100644 --- a/esx_ambulancejob.sql +++ b/esx_ambulancejob.sql @@ -1,4 +1,4 @@ -USE `essentialmode`; +USE `es_extended`; INSERT INTO `addon_account` (name, label, shared) VALUES ('society_ambulance', 'Ambulance', 1) diff --git a/fxmanifest.lua b/fxmanifest.lua index ba925897..a06b05ca 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -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', diff --git a/locales/es.lua b/locales/es.lua index afd81dac..1a49ee32 100644 --- a/locales/es.lua +++ b/locales/es.lua @@ -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 %s', - ['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 %s', + ['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', } diff --git a/locales/fr.lua b/locales/fr.lua index ce6c7e83..b639cd85 100644 --- a/locales/fr.lua +++ b/locales/fr.lua @@ -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', } diff --git a/locales/nl.lua b/locales/nl.lua new file mode 100644 index 00000000..91b54447 --- /dev/null +++ b/locales/nl.lua @@ -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 %s', + ['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', +} diff --git a/locales/sv.lua b/locales/sv.lua index 71f4740e..26b244f5 100644 --- a/locales/sv.lua +++ b/locales/sv.lua @@ -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 %s', - ['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 diff --git a/localization/br_esx_ambulancejob.sql b/localization/br_esx_ambulancejob.sql index 98357560..0665e65e 100644 --- a/localization/br_esx_ambulancejob.sql +++ b/localization/br_esx_ambulancejob.sql @@ -1,4 +1,4 @@ -USE `essentialmode`; +USE `es_extended`; INSERT INTO `addon_account` (name, label, shared) VALUES ('society_ambulance', 'EMS', 1) diff --git a/localization/cs_esx_ambulancejob.sql b/localization/cs_esx_ambulancejob.sql index b5264a06..9f51a9ec 100644 --- a/localization/cs_esx_ambulancejob.sql +++ b/localization/cs_esx_ambulancejob.sql @@ -1,4 +1,4 @@ -USE `essentialmode`; +USE `es_extended`; INSERT INTO `addon_account` (name, label, shared) VALUES ('society_ambulance', 'Záchranka', 1) diff --git a/localization/de_esx_ambulancejob.sql b/localization/de_esx_ambulancejob.sql index bd1ff039..e902c92c 100644 --- a/localization/de_esx_ambulancejob.sql +++ b/localization/de_esx_ambulancejob.sql @@ -1,4 +1,4 @@ -USE `essentialmode`; +USE `es_extended`; INSERT INTO `addon_account` (name, label, shared) VALUES ('society_ambulance', 'Notdienst', 1) diff --git a/localization/en_esx_ambulancejob.sql b/localization/en_esx_ambulancejob.sql index 6ba8b1a6..bec419d8 100644 --- a/localization/en_esx_ambulancejob.sql +++ b/localization/en_esx_ambulancejob.sql @@ -1,4 +1,4 @@ -USE `essentialmode`; +USE `es_extended`; INSERT INTO `addon_account` (name, label, shared) VALUES ('society_ambulance', 'EMS', 1) diff --git a/localization/fi_esx_ambulancejob.sql b/localization/fi_esx_ambulancejob.sql index 1508ad3d..c4e4e286 100644 --- a/localization/fi_esx_ambulancejob.sql +++ b/localization/fi_esx_ambulancejob.sql @@ -1,4 +1,4 @@ -USE `essentialmode`; +USE `es_extended`; INSERT INTO `addon_account` (name, label, shared) VALUES ('society_ambulance', 'Ensihoito', 1) diff --git a/localization/pl_esx_ambulancejob.sql b/localization/pl_esx_ambulancejob.sql index 2f52bad6..c739fefa 100644 --- a/localization/pl_esx_ambulancejob.sql +++ b/localization/pl_esx_ambulancejob.sql @@ -1,4 +1,4 @@ -USE `essentialmode`; +USE `es_extended`; INSERT INTO `addon_account` (name, label, shared) VALUES ('society_ambulance', 'Ambulance', 1) diff --git a/localization/sv_esx_ambulancejob.sql b/localization/sv_esx_ambulancejob.sql new file mode 100644 index 00000000..ea22777f --- /dev/null +++ b/localization/sv_esx_ambulancejob.sql @@ -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' +; diff --git a/server/main.lua b/server/main.lua index eb92dfdc..3a1dfd81 100644 --- a/server/main.lua +++ b/server/main.lua @@ -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