diff --git a/server-data/resources/[esx_addons]/esx_ambulancejob/client/job.lua b/server-data/resources/[esx_addons]/esx_ambulancejob/client/job.lua
index 64d823b38..a71db3fa2 100644
--- a/server-data/resources/[esx_addons]/esx_ambulancejob/client/job.lua
+++ b/server-data/resources/[esx_addons]/esx_ambulancejob/client/job.lua
@@ -1,18 +1,18 @@
local CurrentAction, CurrentActionMsg, CurrentActionData = nil, "", {}
local HasAlreadyEnteredMarker, LastHospital, LastPart, LastPartNum
-local isBusy, deadPlayers, deadPlayerBlips, isOnDuty = false, {}, {}, false
+local isBusy, deadPlayers, deadPlayerBlips, isOnDuty, vehicle = false, {}, {}, false, {}
isInShopMenu = false
function OpenAmbulanceActionsMenu()
local elements = {
{ unselectable = true, icon = "fas fa-shirt", title = "Ambulance Actions" },
- { icon = "fas fa-shirt", title = _U("cloakroom"), value = "cloakroom" },
+ { icon = "fas fa-shirt", title = TranslateCap("cloakroom"), value = "cloakroom" },
}
if Config.EnablePlayerManagement and ESX.PlayerData.job.grade_name == "boss" then
elements[#elements + 1] = {
icon = "fas fa-ambulance",
- title = _U("boss_actions"),
+ title = TranslateCap("boss_actions"),
value = "boss_actions",
}
end
@@ -30,20 +30,20 @@ end
function OpenMobileAmbulanceActionsMenu()
local elements = {
- { unselectable = true, icon = "fas fa-ambulance", title = _U("ambulance") },
- { icon = "fas fa-ambulance", title = _U("ems_menu"), value = "citizen_interaction" },
+ { unselectable = true, icon = "fas fa-ambulance", title = TranslateCap("ambulance") },
+ { icon = "fas fa-ambulance", title = TranslateCap("ems_menu"), value = "citizen_interaction" },
}
ESX.OpenContext("right", elements, function(_, element)
if element.value == "citizen_interaction" then
local elements2 = {
{ unselectable = true, icon = "fas fa-ambulance", title = element.title },
- { icon = "fas fa-syringe", title = _U("ems_menu_revive"), value = "revive" },
- { icon = "fas fa-bandage", title = _U("ems_menu_small"), value = "small" },
- { icon = "fas fa-bandage", title = _U("ems_menu_big"), value = "big" },
- { icon = "fas fa-car", title = _U("ems_menu_putincar"), value = "put_in_vehicle" },
- { icon = "fas fa-syringe", title = _U("ems_menu_search"), value = "search" },
- { icon = "fas fa-syringe", title = _U("billing"), value = "billing" },
+ { icon = "fas fa-syringe", title = TranslateCap("ems_menu_revive"), value = "revive" },
+ { icon = "fas fa-bandage", title = TranslateCap("ems_menu_small"), value = "small" },
+ { icon = "fas fa-bandage", title = TranslateCap("ems_menu_big"), value = "big" },
+ { icon = "fas fa-car", title = TranslateCap("ems_menu_putincar"), value = "put_in_vehicle" },
+ { icon = "fas fa-syringe", title = TranslateCap("ems_menu_search"), value = "search" },
+ { icon = "fas fa-syringe", title = TranslateCap("billing"), value = "billing" },
}
ESX.OpenContext("right", elements2, function(_, element2)
@@ -56,7 +56,7 @@ function OpenMobileAmbulanceActionsMenu()
if element2.value == "search" then
TriggerServerEvent("esx_ambulancejob:svsearch")
elseif closestPlayer == -1 or closestDistance > 1.0 then
- ESX.ShowNotification(_U("no_players"))
+ ESX.ShowNotification(TranslateCap("no_players"))
else
if element2.value == "revive" then
revivePlayer(closestPlayer)
@@ -70,7 +70,7 @@ function OpenMobileAmbulanceActionsMenu()
local playerPed = PlayerPedId()
isBusy = true
- ESX.ShowNotification(_U("heal_inprogress"))
+ ESX.ShowNotification(TranslateCap("heal_inprogress"))
TaskStartScenarioInPlace(playerPed, "CODE_HUMAN_MEDIC_TEND_TO_DEAD", 0, true)
Wait(10000)
ClearPedTasks(playerPed)
@@ -81,13 +81,13 @@ function OpenMobileAmbulanceActionsMenu()
GetPlayerServerId(closestPlayer),
"small"
)
- ESX.ShowNotification(_U("heal_complete", GetPlayerName(closestPlayer)))
+ ESX.ShowNotification(TranslateCap("heal_complete", GetPlayerName(closestPlayer)))
isBusy = false
else
- ESX.ShowNotification(_U("player_not_conscious"))
+ ESX.ShowNotification(TranslateCap("player_not_conscious"))
end
else
- ESX.ShowNotification(_U("not_enough_bandage"))
+ ESX.ShowNotification(TranslateCap("not_enough_bandage"))
end
end, "bandage")
elseif element2.value == "big" then
@@ -100,20 +100,20 @@ function OpenMobileAmbulanceActionsMenu()
local playerPed = PlayerPedId()
isBusy = true
- ESX.ShowNotification(_U("heal_inprogress"))
+ ESX.ShowNotification(TranslateCap("heal_inprogress"))
TaskStartScenarioInPlace(playerPed, "CODE_HUMAN_MEDIC_TEND_TO_DEAD", 0, true)
Wait(10000)
ClearPedTasks(playerPed)
TriggerServerEvent("esx_ambulancejob:removeItem", "medikit")
TriggerServerEvent("esx_ambulancejob:heal", GetPlayerServerId(closestPlayer), "big")
- ESX.ShowNotification(_U("heal_complete", GetPlayerName(closestPlayer)))
+ ESX.ShowNotification(TranslateCap("heal_complete", GetPlayerName(closestPlayer)))
isBusy = false
else
- ESX.ShowNotification(_U("player_not_conscious"))
+ ESX.ShowNotification(TranslateCap("player_not_conscious"))
end
else
- ESX.ShowNotification(_U("not_enough_medikit"))
+ ESX.ShowNotification(TranslateCap("not_enough_medikit"))
end
end, "medikit")
elseif element2.value == "put_in_vehicle" then
@@ -130,16 +130,16 @@ local billing
if billing == "billing" then
ESX.UI.Menu.Open("dialog", GetCurrentResourceName(), "billing", {
- title = _U("invoice_amount"),
+ title = TranslateCap("invoice_amount"),
}, function(data, menu)
local amount = tonumber(data.value)
if amount == nil then
- ESX.ShowNotification(_U("amount_invalid"))
+ ESX.ShowNotification(TranslateCap("amount_invalid"))
else
menu.close()
local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
if closestPlayer == -1 or closestDistance > 3.0 then
- ESX.ShowNotification(_U("no_players_near"))
+ ESX.ShowNotification(TranslateCap("no_players_near"))
else
TriggerServerEvent(
"esx_billing:sendBill",
@@ -148,7 +148,7 @@ if billing == "billing" then
"Ambulance",
amount
)
- ESX.ShowNotification(_U("billing_sent"))
+ ESX.ShowNotification(TranslateCap("billing_sent"))
end
end
end, function(_, menu)
@@ -167,7 +167,7 @@ function revivePlayer(closestPlayer)
if IsPedDeadOrDying(closestPlayerPed, 1) then
local playerPed = PlayerPedId()
local lib, anim = "mini@cpr@char_a@cpr_str", "cpr_pumpchest"
- ESX.ShowNotification(_U("revive_inprogress"))
+ ESX.ShowNotification(TranslateCap("revive_inprogress"))
for _ = 1, 15 do
Wait(900)
@@ -180,10 +180,10 @@ function revivePlayer(closestPlayer)
TriggerServerEvent("esx_ambulancejob:removeItem", "medikit")
TriggerServerEvent("esx_ambulancejob:revive", GetPlayerServerId(closestPlayer))
else
- ESX.ShowNotification(_U("player_not_unconscious"))
+ ESX.ShowNotification(TranslateCap("player_notTranslateCapnconscious"))
end
else
- ESX.ShowNotification(_U("not_enough_medikit"))
+ ESX.ShowNotification(TranslateCap("not_enough_medikit"))
end
isBusy = false
end, "medikit")
@@ -422,15 +422,15 @@ end)
AddEventHandler("esx_ambulancejob:hasEnteredMarker", function(hospital, part, partNum)
if part == "AmbulanceActions" then
CurrentAction = part
- CurrentActionMsg = _U("actions_prompt")
+ CurrentActionMsg = TranslateCap("actions_prompt")
CurrentActionData = {}
elseif part == "Vehicles" then
CurrentAction = part
- CurrentActionMsg = _U("garage_prompt")
+ CurrentActionMsg = TranslateCap("garage_prompt")
CurrentActionData = { hospital = hospital, partNum = partNum }
elseif part == "Helicopters" then
CurrentAction = part
- CurrentActionMsg = _U("helicopter_prompt")
+ CurrentActionMsg = TranslateCap("helicopter_prompt")
CurrentActionData = { hospital = hospital, partNum = partNum }
end
end)
@@ -504,9 +504,9 @@ end)
function OpenCloakroomMenu()
local elements = {
- { unselectable = true, icon = "fas fa-shirt", title = _U("cloakroom") },
- { icon = "fas fa-shirt", title = _U("ems_clothes_civil"), value = "citizen_wear" },
- { icon = "fas fa-shirt", title = _U("ems_clothes_ems"), value = "ambulance_wear" },
+ { unselectable = true, icon = "fas fa-shirt", title = TranslateCap("cloakroom") },
+ { icon = "fas fa-shirt", title = TranslateCap("ems_clothes_civil"), value = "citizen_wear" },
+ { icon = "fas fa-shirt", title = TranslateCap("ems_clothes_ems"), value = "ambulance_wear" },
}
ESX.OpenContext("right", elements, function(_, element)
@@ -549,7 +549,7 @@ AddEventHandler("esx_ambulancejob:heal", function(healType, quiet)
end
if not quiet then
- ESX.ShowNotification(_U("healed"))
+ ESX.ShowNotification(TranslateCap("healed"))
end
end)
@@ -587,7 +587,7 @@ AddEventHandler("esx_ambulancejob:setDeadPlayers", function(_deadPlayers)
SetBlipCategory(blip, 7)
BeginTextCommandSetBlipName("STRING")
- AddTextComponentSubstringPlayerName(_U("blip_dead"))
+ AddTextComponentSubstringPlayerName(TranslateCap("blip_dead"))
EndTextCommandSetBlipName(blip)
deadPlayerBlips[playerId] = blip
diff --git a/server-data/resources/[esx_addons]/esx_ambulancejob/client/main.lua b/server-data/resources/[esx_addons]/esx_ambulancejob/client/main.lua
index 51844b155..10ef47fb3 100644
--- a/server-data/resources/[esx_addons]/esx_ambulancejob/client/main.lua
+++ b/server-data/resources/[esx_addons]/esx_ambulancejob/client/main.lua
@@ -60,7 +60,7 @@ CreateThread(function()
SetBlipAsShortRange(blip, true)
BeginTextCommandSetBlipName("STRING")
- AddTextComponentSubstringPlayerName(_U("blip_hospital"))
+ AddTextComponentSubstringPlayerName(TranslateCap("blip_hospital"))
EndTextCommandSetBlipName(blip)
end
end)
@@ -161,7 +161,7 @@ AddEventHandler("esx_ambulancejob:useItem", function(itemName)
end
TriggerEvent("esx_ambulancejob:heal", "big", true)
- ESX.ShowNotification(_U("used_medikit"))
+ ESX.ShowNotification(TranslateCap("used_medikit"))
end)
elseif itemName == "bandage" then
local lib, anim = "anim@heists@narcotics@funding@gang_idle", "gang_chatting_idle01" -- TODO better animations
@@ -177,7 +177,7 @@ AddEventHandler("esx_ambulancejob:useItem", function(itemName)
end
TriggerEvent("esx_ambulancejob:heal", "small", true)
- ESX.ShowNotification(_U("used_bandage"))
+ ESX.ShowNotification(TranslateCap("used_bandage"))
end)
end
end)
@@ -197,7 +197,7 @@ function StartDistressSignal()
SetTextDropShadow()
SetTextOutline()
BeginTextCommandDisplayText("STRING")
- AddTextComponentSubstringPlayerName(_U("distress_send"))
+ AddTextComponentSubstringPlayerName(TranslateCap("distress_send"))
EndTextCommandDisplayText(0.175, 0.805)
if IsControlJustReleased(0, 47) then
@@ -212,7 +212,7 @@ function SendDistressSignal()
local playerPed = PlayerPedId()
local coords = GetEntityCoords(playerPed)
- ESX.ShowNotification(_U("distress_sent"))
+ ESX.ShowNotification(TranslateCap("distress_sent"))
TriggerServerEvent("esx_ambulancejob:onPlayerDistress")
end
@@ -278,7 +278,7 @@ function StartDeathTimer()
-- early respawn timer
while earlySpawnTimer > 0 and isDead do
Wait(0)
- text = _U("respawn_available_in", secondsToClock(earlySpawnTimer))
+ text = TranslateCap("respawn_available_in", secondsToClock(earlySpawnTimer))
DrawGenericTextThisFrame()
@@ -290,17 +290,17 @@ function StartDeathTimer()
-- bleedout timer
while bleedoutTimer > 0 and isDead do
Wait(0)
- text = _U("respawn_bleedout_in", secondsToClock(bleedoutTimer))
+ text = TranslateCap("respawn_bleedout_in", secondsToClock(bleedoutTimer))
if not Config.EarlyRespawnFine then
- text = text .. _U("respawn_bleedout_prompt")
+ text = text .. TranslateCap("respawn_bleedout_prompt")
if IsControlPressed(0, 38) and timeHeld > 60 then
RemoveItemsAfterRPDeath()
break
end
elseif Config.EarlyRespawnFine and canPayFine then
- text = text .. _U("respawn_bleedout_fine", ESX.Math.GroupDigits(Config.EarlyRespawnFineAmount))
+ text = text .. TranslateCap("respawn_bleedout_fine", ESX.Math.GroupDigits(Config.EarlyRespawnFineAmount))
if IsControlPressed(0, 38) and timeHeld > 60 then
TriggerServerEvent("esx_ambulancejob:payFine")
diff --git a/server-data/resources/[esx_addons]/esx_ambulancejob/client/vehicle.lua b/server-data/resources/[esx_addons]/esx_ambulancejob/client/vehicle.lua
index f87f6421c..30bb24b4b 100644
--- a/server-data/resources/[esx_addons]/esx_ambulancejob/client/vehicle.lua
+++ b/server-data/resources/[esx_addons]/esx_ambulancejob/client/vehicle.lua
@@ -3,10 +3,10 @@ local spawnedVehicles = {}
function OpenVehicleSpawnerMenu(type, hospital, part, partNum)
local playerCoords = GetEntityCoords(PlayerPedId())
local elements = {
- { unselectable = true, icon = "fas fa-car", title = _U("garage_title") },
- { icon = "fas fa-car", title = _U("garage_storeditem"), action = "garage" },
- { icon = "fas fa-car", title = _U("garage_storeitem"), action = "store_garage" },
- { icon = "fas fa-car", title = _U("garage_buyitem"), action = "buy_vehicle" },
+ { unselectable = true, icon = "fas fa-car", title = TranslateCap("garage_title") },
+ { icon = "fas fa-car", title = TranslateCap("garage_storeditem"), action = "garage" },
+ { icon = "fas fa-car", title = TranslateCap("garage_storeitem"), action = "store_garage" },
+ { icon = "fas fa-car", title = TranslateCap("garage_buyitem"), action = "buy_vehicle" },
}
ESX.OpenContext("right", elements, function(_, element)
if element.action == "buy_vehicle" then
@@ -23,7 +23,7 @@ function OpenVehicleSpawnerMenu(type, hospital, part, partNum)
icon = "fas fa-car",
title = ('%s - %s'):format(
vehicleLabel,
- _U("shop_item", ESX.Math.GroupDigits(vehicle.price))
+ TranslateCap("shop_item", ESX.Math.GroupDigits(vehicle.price))
),
name = vehicleLabel,
model = vehicle.model,
@@ -37,10 +37,10 @@ function OpenVehicleSpawnerMenu(type, hospital, part, partNum)
if #shopElements > 0 then
OpenShopMenu(shopElements, playerCoords, shopCoords)
else
- ESX.ShowNotification(_U("garage_notauthorized"))
+ ESX.ShowNotification(TranslateCap("garage_notauthorized"))
end
else
- ESX.ShowNotification(_U("garage_notauthorized"))
+ ESX.ShowNotification(TranslateCap("garage_notauthorized"))
end
elseif element.action == "garage" then
local garage = {
@@ -62,10 +62,10 @@ function OpenVehicleSpawnerMenu(type, hospital, part, partNum)
)
if v.stored then
- label = label .. ('%s'):format(_U("garage_stored"))
+ label = label .. ('%s'):format(TranslateCap("garage_stored"))
else
label = label
- .. ('%s'):format(_U("garage_notstored"))
+ .. ('%s'):format(TranslateCap("garage_notstored"))
end
garage[#garage + 1] = {
@@ -100,19 +100,19 @@ function OpenVehicleSpawnerMenu(type, hospital, part, partNum)
elementG.plate,
false
)
- ESX.ShowNotification(_U("garage_released"))
+ ESX.ShowNotification(TranslateCap("garage_released"))
end
)
end
else
- ESX.ShowNotification(_U("garage_notavailable"))
+ ESX.ShowNotification(TranslateCap("garage_notavailable"))
end
end)
else
- ESX.ShowNotification(_U("garage_empty"))
+ ESX.ShowNotification(TranslateCap("garage_empty"))
end
else
- ESX.ShowNotification(_U("garage_empty"))
+ ESX.ShowNotification(TranslateCap("garage_empty"))
end
end, type)
elseif element.action == "store_garage" then
@@ -135,7 +135,7 @@ function StoreNearbyVehicle(playerCoords)
end
end
else
- ESX.ShowNotification(_U("garage_store_nearby"))
+ ESX.ShowNotification(TranslateCap("garage_store_nearby"))
return
end
@@ -149,7 +149,7 @@ function StoreNearbyVehicle(playerCoords)
CreateThread(function()
while isBusy do
Wait(0)
- drawLoadingText(_U("garage_storing"), 255, 255, 255, 255)
+ drawLoadingText(TranslateCap("garage_storing"), 255, 255, 255, 255)
end
end)
@@ -175,9 +175,9 @@ function StoreNearbyVehicle(playerCoords)
end
isBusy = false
- ESX.ShowNotification(_U("garage_has_stored"))
+ ESX.ShowNotification(TranslateCap("garage_has_stored"))
else
- ESX.ShowNotification(_U("garage_has_notstored"))
+ ESX.ShowNotification(TranslateCap("garage_has_notstored"))
end
end, vehiclePlates)
end
@@ -196,7 +196,7 @@ function GetAvailableVehicleSpawnPoint(hospital, part, partNum)
if found then
return true, foundSpawnPoint
else
- ESX.ShowNotification(_U("garage_blocked"))
+ ESX.ShowNotification(TranslateCap("garage_blocked"))
return false
end
end
@@ -251,7 +251,7 @@ function OpenShopMenu(elements, restoreCoords, shopCoords)
ESX.TriggerServerCallback("esx_ambulancejob:buyJobVehicle", function(bought)
if bought then
ESX.ShowNotification(
- _U("vehicleshop_bought", element.name, ESX.Math.GroupDigits(element.price))
+ TranslateCap("vehicleshop_bought", element.name, ESX.Math.GroupDigits(element.price))
)
isInShopMenu = false
@@ -262,7 +262,7 @@ function OpenShopMenu(elements, restoreCoords, shopCoords)
ESX.Game.Teleport(playerPed, restoreCoords)
else
- ESX.ShowNotification(_U("vehicleshop_money"))
+ ESX.ShowNotification(TranslateCap("vehicleshop_money"))
ESX.CloseContext()
end
end, props, element.type)
@@ -301,7 +301,7 @@ function WaitForVehicleToLoad(modelHash)
RequestModel(modelHash)
BeginTextCommandBusyspinnerOn("STRING")
- AddTextComponentSubstringPlayerName(_U("vehicleshop_awaiting_model"))
+ AddTextComponentSubstringPlayerName(TranslateCap("vehicleshop_awaiting_model"))
EndTextCommandBusyspinnerOn(4)
while not HasModelLoaded(modelHash) do
diff --git a/server-data/resources/[esx_addons]/esx_ambulancejob/server/main.lua b/server-data/resources/[esx_addons]/esx_ambulancejob/server/main.lua
index cb6dac6d1..5ace2dc5f 100644
--- a/server-data/resources/[esx_addons]/esx_ambulancejob/server/main.lua
+++ b/server-data/resources/[esx_addons]/esx_ambulancejob/server/main.lua
@@ -22,18 +22,18 @@ AddEventHandler("esx_ambulancejob:revive", function(playerId)
if xTarget then
if deadPlayers[playerId] then
if Config.ReviveReward > 0 then
- xPlayer.showNotification(_U("revive_complete_award", xTarget.name, Config.ReviveReward))
+ xPlayer.showNotification(TranslateCap("revive_complete_award", xTarget.name, Config.ReviveReward))
xPlayer.addMoney(Config.ReviveReward, "Revive Reward")
xTarget.triggerEvent("esx_ambulancejob:revive")
else
- xPlayer.showNotification(_U("revive_complete", xTarget.name))
+ xPlayer.showNotification(TranslateCap("revive_complete", xTarget.name))
xTarget.triggerEvent("esx_ambulancejob:revive")
end
else
- xPlayer.showNotification(_U("player_not_unconscious"))
+ xPlayer.showNotification(TranslateCap("player_notTranslateCapnconscious"))
end
else
- xPlayer.showNotification(_U("revive_fail_offline"))
+ xPlayer.showNotification(TranslateCap("revive_fail_offline"))
end
end
end)
@@ -148,7 +148,7 @@ if Config.EarlyRespawnFine then
local xPlayer = ESX.GetPlayerFromId(source)
local fineAmount = Config.EarlyRespawnFineAmount
- xPlayer.showNotification(_U("respawn_bleedout_fine_msg", ESX.Math.GroupDigits(fineAmount)))
+ xPlayer.showNotification(TranslateCap("respawn_bleedout_fine_msg", ESX.Math.GroupDigits(fineAmount)))
xPlayer.removeAccountMoney("bank", fineAmount, "Respawn Fine")
end)
end
@@ -250,9 +250,9 @@ AddEventHandler("esx_ambulancejob:removeItem", function(item)
xPlayer.removeInventoryItem(item, 1)
if item == "bandage" then
- xPlayer.showNotification(_U("used_bandage"))
+ xPlayer.showNotification(TranslateCap("used_bandage"))
elseif item == "medikit" then
- xPlayer.showNotification(_U("used_medikit"))
+ xPlayer.showNotification(TranslateCap("used_medikit"))
end
end)
@@ -271,7 +271,7 @@ AddEventHandler("esx_ambulancejob:giveItem", function(itemName, amount)
if xPlayer.canCarryItem(itemName, amount) then
xPlayer.addInventoryItem(itemName, amount)
else
- xPlayer.showNotification(_U("max_item"))
+ xPlayer.showNotification(TranslateCap("max_item"))
end
end)
@@ -283,7 +283,7 @@ ESX.RegisterCommand(
end,
true,
{
- help = _U("revive_help"),
+ help = TranslateCap("revive_help"),
validate = true,
arguments = {
{ name = "playerId", help = "The player id", type = "player" },