diff --git a/server-data/resources/[bpt_addons]/bpt_menu/client/main.lua b/server-data/resources/[bpt_addons]/bpt_menu/client/main.lua index ad7835676..9dccc8a03 100644 --- a/server-data/resources/[bpt_addons]/bpt_menu/client/main.lua +++ b/server-data/resources/[bpt_addons]/bpt_menu/client/main.lua @@ -1,8 +1,6 @@ local PersonalMenu = { ItemSelected = {}, ItemIndex = {}, - WalletIndex = {}, - WalletList = {}, BillData = {}, ClothesButtons = { "torso", "pants", "shoes", "bag", "bproof" }, AccessoriesButtons = { "ears", "glasses", "helmet", "mask" }, @@ -16,10 +14,10 @@ local PersonalMenu = { }, DoorIndex = 1, DoorList = { - _U("vehicle_door_frontleft"), - _U("vehicle_door_frontright"), - _U("vehicle_door_backleft"), - _U("vehicle_door_backright"), + TranslateCap("vehicle_door_frontleft"), + TranslateCap("vehicle_door_frontright"), + TranslateCap("vehicle_door_backleft"), + TranslateCap("vehicle_door_backright"), }, GPSIndex = 1, GPSList = {}, @@ -78,7 +76,7 @@ end local mainMenu = RageUI.CreateMenu( Config.MenuTitle, - _U("mainmenu_subtitle"), + TranslateCap("mainmenu_subtitle"), 0, 0, "commonmenu", @@ -104,26 +102,25 @@ local function getPersonalMenuCategory(id) return personalMenuCategoriesById[id] end -local billingCategory = addPersonalMenuCategory("billing", _U("bills_title")) -addPersonalMenuCategory("clothes", _U("clothes_title")) -addPersonalMenuCategory("accessories", _U("accessories_title")) -local animationCategory = addPersonalMenuCategory("animation", _U("animation_title")) +local clothesCategory = addPersonalMenuCategory("clothes", TranslateCap("clothes_title")) +addPersonalMenuCategory("accessories", TranslateCap("accessories_title")) +local animationCategory = addPersonalMenuCategory("animation", TranslateCap("animation_title")) -addPersonalMenuCategory("vehicle", _U("vehicle_title"), function() +addPersonalMenuCategory("vehicle", TranslateCap("vehicle_title"), function() return IsPedSittingInAnyVehicle(plyPed) and GetPedInVehicleSeat(GetVehiclePedIsIn(plyPed, false), -1) == plyPed end) -addPersonalMenuCategory("boss", _U("bossmanagement_title"), function() +addPersonalMenuCategory("boss", TranslateCap("bossmanagement_title"), function() return GetPlayerJob().isBoss end) if Config.DoubleJob then - addPersonalMenuCategory("boss2", _U("bossmanagement2_title"), function() + addPersonalMenuCategory("boss2", TranslateCap("bossmanagement2_title"), function() return GetPlayerJob2().isBoss end) end -addPersonalMenuCategory("admin", _U("admin_title"), function() +addPersonalMenuCategory("admin", TranslateCap("admin_title"), function() return adminGroups[PlayerVars.group] ~= nil end) @@ -144,8 +141,8 @@ AddEventHandler("playerSpawned", function() PlayerVars.isDead = false end) --- Admin Menu -RegisterNetEvent("bpt_menu:Admin_BringC", function(plyCoords) +-- Admin Menu -- +RegisterNetEvent("bpt_personalmenu:Admin_BringC", function(plyCoords) SetEntityCoords(plyPed, plyCoords) end) @@ -294,7 +291,7 @@ function setAccessory(accessoryId) TriggerServerCallback("esx_accessories:get", function(hasAccessory, accessorySkin) if not hasAccessory then local localeKey = ("accessories_no_%s"):format(accessoryId) - GameNotification(_U(localeKey)) + GameNotification(TranslateCap(localeKey)) return end @@ -371,7 +368,7 @@ function DrawPersonalMenu() end RageUI.List( - _U("mainmenu_gps_button"), + TranslateCap("mainmenu_gps_button"), PersonalMenu.GPSList, PersonalMenu.GPSIndex, nil, @@ -392,46 +389,22 @@ function DrawPersonalMenu() DeleteWaypoint() end - GameNotification(_U("gps", gpsCfg.name)) + GameNotification(TranslateCap("gps", gpsCfg.name)) end ) end) end -getPersonalMenuCategory("billing").drawer = function() - for i = 1, #PersonalMenu.BillData do - local billData = PersonalMenu.BillData[i] - - RageUI.Button( - billData.label, - nil, - { RightLabel = ("$%s"):format(GroupDigits(billData.amount)) }, - true, - function(_, _, Selected) - if not Selected then - return - end - - TriggerServerCallback("esx_billing:payBill", function() - TriggerServerCallback("bpt_menu:Bill_getBills", function(bills) - PersonalMenu.BillData = bills - end) - end, billData.id) - end - ) - end -end - getPersonalMenuCategory("clothes").drawer = function() for i = 1, #PersonalMenu.ClothesButtons do local clotheId = PersonalMenu.ClothesButtons[i] RageUI.Button( - _U(("clothes_%s"):format(clotheId)), + TranslateCap(("clothes_%s"):format(clotheId)), nil, { RightBadge = RageUI.BadgeStyle.Clothes }, true, - function(_, _, Selected) + function(Hovered, Active, Selected) if not Selected then return end @@ -446,11 +419,11 @@ getPersonalMenuCategory("accessories").drawer = function() local accessoryId = PersonalMenu.AccessoriesButtons[i] RageUI.Button( - _U(("accessories_%s"):format(accessoryId)), + TranslateCap(("accessories_%s"):format(accessoryId)), nil, { RightBadge = RageUI.BadgeStyle.Clothes }, true, - function(_, _, Selected) + function(Hovered, Active, Selected) if not Selected then return end @@ -472,7 +445,7 @@ function DrawAnimationsCategory(animationCfg) for i = 1, #animationCfg.items do local animItemCfg = animationCfg.items[i] - RageUI.Button(animItemCfg.name, nil, nil, true, function(_, _, Selected) + RageUI.Button(animItemCfg.name, nil, nil, true, function(Hovered, Active, Selected) if not Selected then return end @@ -490,13 +463,13 @@ function DrawAnimationsCategory(animationCfg) end getPersonalMenuCategory("vehicle").drawer = function() - RageUI.Button(_U("vehicle_engine_button"), nil, nil, true, function(Hovered, Active, Selected) + RageUI.Button(TranslateCap("vehicle_engine_button"), nil, nil, true, function(Hovered, Active, Selected) if not Selected then return end if not IsPedSittingInAnyVehicle(plyPed) then - GameNotification(_U("no_vehicle")) + GameNotification(TranslateCap("no_vehicle")) return end @@ -512,7 +485,7 @@ getPersonalMenuCategory("vehicle").drawer = function() end) RageUI.List( - _U("vehicle_door_button"), + TranslateCap("vehicle_door_button"), PersonalMenu.DoorList, PersonalMenu.DoorIndex, nil, @@ -526,7 +499,7 @@ getPersonalMenuCategory("vehicle").drawer = function() end if not IsPedSittingInAnyVehicle(plyPed) then - GameNotification(_U("no_vehicle")) + GameNotification(TranslateCap("no_vehicle")) return end @@ -568,13 +541,13 @@ getPersonalMenuCategory("vehicle").drawer = function() end ) - RageUI.Button(_U("vehicle_hood_button"), nil, nil, true, function(Hovered, Active, Selected) + RageUI.Button(TranslateCap("vehicle_hood_button"), nil, nil, true, function(Hovered, Active, Selected) if not Selected then return end if not IsPedSittingInAnyVehicle(plyPed) then - GameNotification(_U("no_vehicle")) + GameNotification(TranslateCap("no_vehicle")) return end @@ -589,13 +562,13 @@ getPersonalMenuCategory("vehicle").drawer = function() end end) - RageUI.Button(_U("vehicle_trunk_button"), nil, nil, true, function(Hovered, Active, Selected) + RageUI.Button(TranslateCap("vehicle_trunk_button"), nil, nil, true, function(Hovered, Active, Selected) if not Selected then return end if not IsPedSittingInAnyVehicle(plyPed) then - GameNotification(_U("no_vehicle")) + GameNotification(TranslateCap("no_vehicle")) return end @@ -614,7 +587,7 @@ end getPersonalMenuCategory("boss").drawer = function() if societyMoney then RageUI.Button( - _U("bossmanagement_chest_button"), + TranslateCap("bossmanagement_chest_button"), nil, { RightLabel = ("$%s"):format(GroupDigits(societyMoney)) }, true, @@ -622,7 +595,7 @@ getPersonalMenuCategory("boss").drawer = function() ) end - RageUI.Button(_U("bossmanagement_hire_button"), nil, nil, true, function(Hovered, Active, Selected) + RageUI.Button(TranslateCap("bossmanagement_hire_button"), nil, nil, true, function(Hovered, Active, Selected) if not Selected then return end @@ -630,20 +603,20 @@ getPersonalMenuCategory("boss").drawer = function() local playerJob = GetPlayerJob() if not playerJob.isBoss then - GameNotification(_U("missing_rights")) + GameNotification(TranslateCap("missing_rights")) return end local closestPlayer, closestDistance = GetClosestPlayer() if closestPlayer == -1 or closestDistance > 3.0 then - GameNotification(_U("players_nearby")) + GameNotification(TranslateCap("players_nearby")) return end - TriggerServerEvent("bpt_menu:Boss_recruterplayer", GetPlayerServerId(closestPlayer)) + TriggerServerEvent("bpt_personalmenu:Boss_recruterplayer", GetPlayerServerId(closestPlayer)) end) - RageUI.Button(_U("bossmanagement_fire_button"), nil, nil, true, function(Hovered, Active, Selected) + RageUI.Button(TranslateCap("bossmanagement_fire_button"), nil, nil, true, function(Hovered, Active, Selected) if not Selected then return end @@ -651,20 +624,20 @@ getPersonalMenuCategory("boss").drawer = function() local playerJob = GetPlayerJob() if not playerJob.isBoss then - GameNotification(_U("missing_rights")) + GameNotification(TranslateCap("missing_rights")) return end local closestPlayer, closestDistance = GetClosestPlayer() if closestPlayer == -1 or closestDistance > 3.0 then - GameNotification(_U("players_nearby")) + GameNotification(TranslateCap("players_nearby")) return end - TriggerServerEvent("bpt_menu:Boss_virerplayer", GetPlayerServerId(closestPlayer)) + TriggerServerEvent("bpt_personalmenu:Boss_virerplayer", GetPlayerServerId(closestPlayer)) end) - RageUI.Button(_U("bossmanagement_promote_button"), nil, nil, true, function(Hovered, Active, Selected) + RageUI.Button(TranslateCap("bossmanagement_promote_button"), nil, nil, true, function(Hovered, Active, Selected) if not Selected then return end @@ -672,20 +645,20 @@ getPersonalMenuCategory("boss").drawer = function() local playerJob = GetPlayerJob() if not playerJob.isBoss then - GameNotification(_U("missing_rights")) + GameNotification(TranslateCap("missing_rights")) return end local closestPlayer, closestDistance = GetClosestPlayer() if closestPlayer == -1 or closestDistance > 3.0 then - GameNotification(_U("players_nearby")) + GameNotification(TranslateCap("players_nearby")) return end - TriggerServerEvent("bpt_menu:Boss_promouvoirplayer", GetPlayerServerId(closestPlayer)) + TriggerServerEvent("bpt_personalmenu:Boss_promouvoirplayer", GetPlayerServerId(closestPlayer)) end) - RageUI.Button(_U("bossmanagement_demote_button"), nil, nil, true, function(Hovered, Active, Selected) + RageUI.Button(TranslateCap("bossmanagement_demote_button"), nil, nil, true, function(Hovered, Active, Selected) if not Selected then return end @@ -693,17 +666,17 @@ getPersonalMenuCategory("boss").drawer = function() local playerJob = GetPlayerJob() if not playerJob.isBoss then - GameNotification(_U("missing_rights")) + GameNotification(TranslateCap("missing_rights")) return end local closestPlayer, closestDistance = GetClosestPlayer() if closestPlayer == -1 or closestDistance > 3.0 then - GameNotification(_U("players_nearby")) + GameNotification(TranslateCap("players_nearby")) return end - TriggerServerEvent("bpt_menu:Boss_destituerplayer", GetPlayerServerId(closestPlayer)) + TriggerServerEvent("bpt_personalmenu:Boss_destituerplayer", GetPlayerServerId(closestPlayer)) end) end @@ -711,7 +684,7 @@ if Config.DoubleJob then getPersonalMenuCategory("boss2").drawer = function() if societyMoney ~= nil then RageUI.Button( - _U("bossmanagement2_chest_button"), + TranslateCap("bossmanagement2_chest_button"), nil, { RightLabel = ("$%s"):format(GroupDigits(societyMoney2)) }, true, @@ -719,7 +692,7 @@ if Config.DoubleJob then ) end - RageUI.Button(_U("bossmanagement2_hire_button"), nil, nil, true, function(Hovered, Active, Selected) + RageUI.Button(TranslateCap("bossmanagement2_hire_button"), nil, nil, true, function(Hovered, Active, Selected) if not Selected then return end @@ -727,20 +700,20 @@ if Config.DoubleJob then local playerJob = GetPlayerJob2() if not playerJob.isBoss then - GameNotification(_U("missing_rights")) + GameNotification(TranslateCap("missing_rights")) return end local closestPlayer, closestDistance = GetClosestPlayer() if closestPlayer == -1 or closestDistance > 3.0 then - GameNotification(_U("players_nearby")) + GameNotification(TranslateCap("players_nearby")) return end - TriggerServerEvent("bpt_menu:Boss_recruterplayer2", GetPlayerServerId(closestPlayer)) + TriggerServerEvent("bpt_personalmenu:Boss_recruterplayer2", GetPlayerServerId(closestPlayer)) end) - RageUI.Button(_U("bossmanagement2_fire_button"), nil, nil, true, function(Hovered, Active, Selected) + RageUI.Button(TranslateCap("bossmanagement2_fire_button"), nil, nil, true, function(Hovered, Active, Selected) if not Selected then return end @@ -748,41 +721,47 @@ if Config.DoubleJob then local playerJob = GetPlayerJob2() if not playerJob.isBoss then - GameNotification(_U("missing_rights")) + GameNotification(TranslateCap("missing_rights")) return end local closestPlayer, closestDistance = GetClosestPlayer() if closestPlayer == -1 or closestDistance > 3.0 then - GameNotification(_U("players_nearby")) + GameNotification(TranslateCap("players_nearby")) return end - TriggerServerEvent("bpt_menu:Boss_virerplayer2", GetPlayerServerId(closestPlayer)) + TriggerServerEvent("bpt_personalmenu:Boss_virerplayer2", GetPlayerServerId(closestPlayer)) end) - RageUI.Button(_U("bossmanagement2_promote_button"), nil, nil, true, function(Hovered, Active, Selected) - if not Selected then - return - end + RageUI.Button( + TranslateCap("bossmanagement2_promote_button"), + nil, + nil, + true, + function(Hovered, Active, Selected) + if not Selected then + return + end - local playerJob = GetPlayerJob2() + local playerJob = GetPlayerJob2() - if not playerJob.isBoss then - GameNotification(_U("missing_rights")) - return - end + if not playerJob.isBoss then + GameNotification(TranslateCap("missing_rights")) + return + end - local closestPlayer, closestDistance = GetClosestPlayer() - if closestPlayer == -1 or closestDistance > 3.0 then - GameNotification(_U("players_nearby")) - return - end + local closestPlayer, closestDistance = GetClosestPlayer() + if closestPlayer == -1 or closestDistance > 3.0 then + GameNotification(TranslateCap("players_nearby")) + return + end - TriggerServerEvent("bpt_menu:Boss_promouvoirplayer2", GetPlayerServerId(closestPlayer)) - end) + TriggerServerEvent("bpt_personalmenu:Boss_promouvoirplayer2", GetPlayerServerId(closestPlayer)) + end + ) - RageUI.Button(_U("bossmanagement2_demote_button"), nil, nil, true, function(Hovered, Active, Selected) + RageUI.Button(TranslateCap("bossmanagement2_demote_button"), nil, nil, true, function(Hovered, Active, Selected) if not Selected then return end @@ -790,17 +769,17 @@ if Config.DoubleJob then local playerJob = GetPlayerJob2() if not playerJob.isBoss then - GameNotification(_U("missing_rights")) + GameNotification(TranslateCap("missing_rights")) return end local closestPlayer, closestDistance = GetClosestPlayer() if closestPlayer == -1 or closestDistance > 3.0 then - GameNotification(_U("players_nearby")) + GameNotification(TranslateCap("players_nearby")) return end - TriggerServerEvent("bpt_menu:Boss_destituerplayer2", GetPlayerServerId(closestPlayer)) + TriggerServerEvent("bpt_personalmenu:Boss_destituerplayer2", GetPlayerServerId(closestPlayer)) end) end end @@ -826,26 +805,23 @@ RegisterCommand("+openpersonal", function() if PlayerVars.isDead then return end + if RageUI.Visible(mainMenu) then return end - TriggerServerCallback("bpt_menu:Admin_getUsergroup", function(plyGroup) + TriggerServerCallback("bpt_personalmenu:Admin_getUsergroup", function(plyGroup) PlayerVars.group = plyGroup end) - TriggerServerCallback("bpt_menu:Bill_getBills", function(bills) - PersonalMenu.BillData = bills - end) - - TriggerEvent("bpt_menu:menuOpening") + TriggerEvent("bpt_personalmenu:menuOpening") RageUI.Visible(mainMenu, true) DrawPersonalMenu() end, false) RegisterCommand("-openpersonal", function() end, false) -RegisterKeyMapping("+openpersonal", "Open personal menu", "KEYBOARD", Config.Controls.OpenMenu.keyboard) +RegisterKeyMapping("+openpersonal", "Ouvrir le menu personnel", "KEYBOARD", Config.Controls.OpenMenu.keyboard) TriggerEvent("chat:removeSuggestion", "/+openpersonal") TriggerEvent("chat:removeSuggestion", "/-openpersonal") @@ -910,7 +886,7 @@ function tpMarker() local waypointHandle = GetFirstBlipInfoId(8) if not DoesBlipExist(waypointHandle) then - GameNotification(_U("admin_nomarker")) + GameNotification(TranslateCap("admin_nomarker")) return end @@ -930,7 +906,7 @@ function tpMarker() end SetPedCoordsKeepVehicle(plyPed, waypointCoords.x, waypointCoords.y, zPos) - GameNotification(_U("admin_tpmarker")) + GameNotification(TranslateCap("admin_tpmarker")) end) end @@ -950,7 +926,7 @@ CreateThread(function() and IsUsingKeyboard(2) and not PlayerVars.isDead then - TriggerServerCallback("bpt_menu:Admin_getUsergroup", function(plyGroup) + TriggerServerCallback("bpt_personalmenu:Admin_getUsergroup", function(plyGroup) if not adminGroups[plyGroup] then return end diff --git a/server-data/resources/[bpt_addons]/bpt_menu/client/utils.lua b/server-data/resources/[bpt_addons]/bpt_menu/client/utils.lua index cf18f9bab..a145c018f 100644 --- a/server-data/resources/[bpt_addons]/bpt_menu/client/utils.lua +++ b/server-data/resources/[bpt_addons]/bpt_menu/client/utils.lua @@ -88,16 +88,6 @@ if Config.Framework == "esx" then end end - RegisterNetEvent("esx:playerLoaded", function(xPlayer) - parsePlayerData(xPlayer) - - refreshMoney() - - if Config.DoubleJob then - refreshMoney2() - end - end) - RegisterNetEvent("esx:setJob", function(job) parsePlayerJob(playerData.job, job) refreshMoney() @@ -108,10 +98,6 @@ if Config.Framework == "esx" then refreshMoney2() end) - AddEventHandler("bpt_menu:menuOpening", function() - ESX.GetPlayerData() - end) - RegisterNetEvent("esx_addonaccount:setMoney", function(societyId, money) local playerJob = GetPlayerJob() if playerJob.isBoss and ("society_%s"):format(playerJob.id) == societyId then @@ -154,5 +140,6 @@ if Config.Framework == "esx" then Wait(100) end end + end) end diff --git a/server-data/resources/[bpt_addons]/bpt_menu/config.lua b/server-data/resources/[bpt_addons]/bpt_menu/config.lua index b542a5188..0d771ac31 100644 --- a/server-data/resources/[bpt_addons]/bpt_menu/config.lua +++ b/server-data/resources/[bpt_addons]/bpt_menu/config.lua @@ -82,13 +82,13 @@ Config = {} Config.Framework = "esx" -- change it to 'qb' if you're using qbcore -- LANGUAGE -- -Config.Locale = "it" +Config.Locale = "en" -- GENERAL -- -Config.MenuTitle = "ServerName" -- change it to you're server name +Config.MenuTitle = "EmpireTown" -- change it to you're server name Config.DoubleJob = false -- enable if you're using esx double job Config.NoclipSpeed = 1.0 -- change it to change the speed in noclip -Config.JSFourIDCard = false -- enable if you're using jsfour-idcard +Config.JSFourIDCard = true -- enable if you're using jsfour-idcard -- CONTROLS -- Config.Controls = { @@ -102,60 +102,68 @@ Config.Controls = { -- GPS -- Config.GPS = { - { name = _U("none"), coords = nil }, - { name = _U("police_station"), coords = vec2(425.13, -979.55) }, - { name = _U("central_garage"), coords = vec2(-449.67, -340.83) }, - { name = _U("hospital"), coords = vec2(-33.88, -1102.37) }, - { name = _U("dealer"), coords = vec2(215.06, -791.56) }, - { name = _U("bennys_custom"), coords = vec2(-212.13, -1325.27) }, - { name = _U("job_center"), coords = vec2(-264.83, -964.54) }, - { name = _U("driving_school"), coords = vec2(-829.22, -696.99) }, - { name = _U("tequila-la"), coords = vec2(-565.09, 273.45) }, - { name = _U("bahama_mamas"), coords = vec2(-1391.06, -590.34) }, + { name = TranslateCap("none"), coords = nil }, + { name = TranslateCap("police_station"), coords = vec2(425.13, -979.55) }, + { name = TranslateCap("central_garage"), coords = vec2(-449.67, -340.83) }, + { name = TranslateCap("hospital"), coords = vec2(-33.88, -1102.37) }, + { name = TranslateCap("dealer"), coords = vec2(215.06, -791.56) }, + { name = TranslateCap("bennys_custom"), coords = vec2(-212.13, -1325.27) }, + { name = TranslateCap("job_center"), coords = vec2(-264.83, -964.54) }, + { name = TranslateCap("driving_school"), coords = vec2(-829.22, -696.99) }, + { name = TranslateCap("tequila-la"), coords = vec2(-565.09, 273.45) }, + { name = TranslateCap("bahama_mamas"), coords = vec2(-1391.06, -590.34) }, } -- ANIMATIONS -- Config.Animations = { { name = "party", - name = _U("animation_party_title"), + name = TranslateCap("animation_party_title"), items = { - { name = _U("animation_party_smoke"), type = "scenario", scenarioName = "WORLD_HUMAN_SMOKING" }, - { name = _U("animation_party_playsong"), type = "scenario", scenarioName = "WORLD_HUMAN_MUSICIAN" }, + { name = TranslateCap("animation_party_smoke"), type = "scenario", scenarioName = "WORLD_HUMAN_SMOKING" }, { - name = _U("animation_party_dj"), + name = TranslateCap("animation_party_playsong"), + type = "scenario", + scenarioName = "WORLD_HUMAN_MUSICIAN", + }, + { + name = TranslateCap("animation_party_dj"), type = "anim", animDict = "anim@mp_player_intcelebrationmale@dj", animName = "dj", }, - { name = _U("animation_party_beer"), type = "scenario", scenarioName = "WORLD_HUMAN_DRINKING" }, - { name = _U("animation_party_dancing"), type = "scenario", scenarioName = "WORLD_HUMAN_PARTYING" }, + { name = TranslateCap("animation_party_beer"), type = "scenario", scenarioName = "WORLD_HUMAN_DRINKING" }, { - name = _U("animation_party_airguitar"), + name = TranslateCap("animation_party_dancing"), + type = "scenario", + scenarioName = "WORLD_HUMAN_PARTYING", + }, + { + name = TranslateCap("animation_party_airguitar"), type = "anim", animDict = "anim@mp_player_intcelebrationmale@air_guitar", animName = "air_guitar", }, { - name = _U("animation_party_shagging"), + name = TranslateCap("animation_party_shagging"), type = "anim", animDict = "anim@mp_player_intcelebrationfemale@air_shagging", animName = "air_shagging", }, { - name = _U("animation_party_rock"), + name = TranslateCap("animation_party_rock"), type = "anim", animDict = "mp_player_int_upperrock", animName = "mp_player_int_rock", }, { - name = _U("animation_party_drunk"), + name = TranslateCap("animation_party_drunk"), type = "anim", animDict = "amb@world_human_bum_standing@drunk@idle_a", animName = "idle_a", }, { - name = _U("animation_party_vomit"), + name = TranslateCap("animation_party_vomit"), type = "anim", animDict = "oddjobs@taxi@tie", animName = "vomit_outside", @@ -164,29 +172,34 @@ Config.Animations = { }, { name = "salute", - name = _U("animation_salute_title"), + name = TranslateCap("animation_salute_title"), items = { { - name = _U("animation_salute_saluate"), + name = TranslateCap("animation_salute_saluate"), type = "anim", animDict = "gestures@m@standing@casual", animName = "gesture_hello", }, - { name = _U("animation_salute_serrer"), type = "anim", animDict = "mp_common", animName = "givetake1_a" }, { - name = _U("animation_salute_tchek"), + name = TranslateCap("animation_salute_serrer"), + type = "anim", + animDict = "mp_common", + animName = "givetake1_a", + }, + { + name = TranslateCap("animation_salute_tchek"), type = "anim", animDict = "mp_ped_interaction", animName = "handshake_guy_a", }, { - name = _U("animation_salute_bandit"), + name = TranslateCap("animation_salute_bandit"), type = "anim", animDict = "mp_ped_interaction", animName = "hugs_guy_a", }, { - name = _U("animation_salute_military"), + name = TranslateCap("animation_salute_military"), type = "anim", animDict = "mp_player_int_uppersalute", animName = "mp_player_int_salute", @@ -195,202 +208,245 @@ Config.Animations = { }, { name = "work", - name = _U("animation_work_title"), + name = TranslateCap("animation_work_title"), items = { { - name = _U("animation_work_suspect"), + name = TranslateCap("animation_work_suspect"), type = "anim", animDict = "random@arrests@busted", animName = "idle_c", }, - { name = _U("animation_work_fisherman"), type = "scenario", scenarioName = "world_human_stand_fishing" }, { - name = _U("animation_work_inspect"), + name = TranslateCap("animation_work_fisherman"), + type = "scenario", + scenarioName = "world_human_stand_fishing", + }, + { + name = TranslateCap("animation_work_inspect"), type = "anim", animDict = "amb@code_human_police_investigate@idle_b", animName = "idle_f", }, { - name = _U("animation_work_radio"), + name = TranslateCap("animation_work_radio"), type = "anim", animDict = "random@arrests", animName = "generic_radio_chatter", }, { - name = _U("animation_work_circulation"), + name = TranslateCap("animation_work_circulation"), type = "scenario", scenarioName = "WORLD_HUMAN_CAR_PARK_ATTENDANT", }, - { name = _U("animation_work_binoculars"), type = "scenario", scenarioName = "WORLD_HUMAN_BINOCULARS" }, - { name = _U("animation_work_harvest"), type = "scenario", scenarioName = "world_human_gardener_plant" }, - { name = _U("animation_work_repair"), type = "anim", animDict = "mini@repair", animName = "fixing_a_ped" }, - { name = _U("animation_work_observe"), type = "scenario", scenarioName = "CODE_HUMAN_MEDIC_KNEEL" }, { - name = _U("animation_work_talk"), + name = TranslateCap("animation_work_binoculars"), + type = "scenario", + scenarioName = "WORLD_HUMAN_BINOCULARS", + }, + { + name = TranslateCap("animation_work_harvest"), + type = "scenario", + scenarioName = "world_human_gardener_plant", + }, + { + name = TranslateCap("animation_work_repair"), + type = "anim", + animDict = "mini@repair", + animName = "fixing_a_ped", + }, + { + name = TranslateCap("animation_work_observe"), + type = "scenario", + scenarioName = "CODE_HUMAN_MEDIC_KNEEL", + }, + { + name = TranslateCap("animation_work_talk"), type = "anim", animDict = "oddjobs@taxi@driver", animName = "leanover_idle", }, { - name = _U("animation_work_bill"), + name = TranslateCap("animation_work_bill"), type = "anim", animDict = "oddjobs@taxi@cyi", animName = "std_hand_off_ps_passenger", }, { - name = _U("animation_work_buy"), + name = TranslateCap("animation_work_buy"), type = "anim", animDict = "mp_am_hold_up", animName = "purchase_beerbox_shopkeeper", }, { - name = _U("animation_work_shot"), + name = TranslateCap("animation_work_shot"), type = "anim", animDict = "mini@drinking", animName = "shots_barman_b", }, - { name = _U("animation_work_picture"), type = "scenario", scenarioName = "WORLD_HUMAN_PAPARAZZI" }, - { name = _U("animation_work_notes"), type = "scenario", scenarioName = "WORLD_HUMAN_CLIPBOARD" }, - { name = _U("animation_work_hammer"), type = "scenario", scenarioName = "WORLD_HUMAN_HAMMERING" }, - { name = _U("animation_work_beg"), type = "scenario", scenarioName = "WORLD_HUMAN_BUM_FREEWAY" }, - { name = _U("animation_work_statue"), type = "scenario", scenarioName = "WORLD_HUMAN_HUMAN_STATUE" }, + { + name = TranslateCap("animation_work_picture"), + type = "scenario", + scenarioName = "WORLD_HUMAN_PAPARAZZI", + }, + { name = TranslateCap("animation_work_notes"), type = "scenario", scenarioName = "WORLD_HUMAN_CLIPBOARD" }, + { name = TranslateCap("animation_work_hammer"), type = "scenario", scenarioName = "WORLD_HUMAN_HAMMERING" }, + { name = TranslateCap("animation_work_beg"), type = "scenario", scenarioName = "WORLD_HUMAN_BUM_FREEWAY" }, + { + name = TranslateCap("animation_work_statue"), + type = "scenario", + scenarioName = "WORLD_HUMAN_HUMAN_STATUE", + }, }, }, { name = "mood", - name = _U("animation_mood_title"), + name = TranslateCap("animation_mood_title"), items = { - { name = _U("animation_mood_felicitate"), type = "scenario", scenarioName = "WORLD_HUMAN_CHEERING" }, - { name = _U("animation_mood_nice"), type = "anim", animDict = "mp_action", animName = "thanks_male_06" }, { - name = _U("animation_mood_you"), + name = TranslateCap("animation_mood_felicitate"), + type = "scenario", + scenarioName = "WORLD_HUMAN_CHEERING", + }, + { + name = TranslateCap("animation_mood_nice"), + type = "anim", + animDict = "mp_action", + animName = "thanks_male_06", + }, + { + name = TranslateCap("animation_mood_you"), type = "anim", animDict = "gestures@m@standing@casual", animName = "gesture_point", }, { - name = _U("animation_mood_come"), + name = TranslateCap("animation_mood_come"), type = "anim", animDict = "gestures@m@standing@casual", animName = "gesture_come_here_soft", }, { - name = _U("animation_mood_what"), + name = TranslateCap("animation_mood_what"), type = "anim", animDict = "gestures@m@standing@casual", animName = "gesture_bring_it_on", }, { - name = _U("animation_mood_me"), + name = TranslateCap("animation_mood_me"), type = "anim", animDict = "gestures@m@standing@casual", animName = "gesture_me", }, { - name = _U("animation_mood_seriously"), + name = TranslateCap("animation_mood_seriously"), type = "anim", animDict = "anim@am_hold_up@male", animName = "shoplift_high", }, { - name = _U("animation_mood_tired"), + name = TranslateCap("animation_mood_tired"), type = "anim", animDict = "amb@world_human_jog_standing@male@idle_b", animName = "idle_d", }, { - name = _U("animation_mood_shit"), + name = TranslateCap("animation_mood_shit"), type = "anim", animDict = "amb@world_human_bum_standing@depressed@idle_a", animName = "idle_a", }, { - name = _U("animation_mood_facepalm"), + name = TranslateCap("animation_mood_facepalm"), type = "anim", animDict = "anim@mp_player_intcelebrationmale@face_palm", animName = "face_palm", }, { - name = _U("animation_mood_calm"), + name = TranslateCap("animation_mood_calm"), type = "anim", animDict = "gestures@m@standing@casual", animName = "gesture_easy_now", }, { - name = _U("animation_mood_why"), + name = TranslateCap("animation_mood_why"), type = "anim", animDict = "oddjobs@assassinate@multi@", animName = "react_big_variations_a", }, { - name = _U("animation_mood_fear"), + name = TranslateCap("animation_mood_fear"), type = "anim", animDict = "amb@code_human_cower_stand@male@react_cowering", animName = "base_right", }, { - name = _U("animation_mood_fight"), + name = TranslateCap("animation_mood_fight"), type = "anim", animDict = "anim@deathmatch_intros@unarmed", animName = "intro_male_unarmed_e", }, { - name = _U("animation_mood_notpossible"), + name = TranslateCap("animation_mood_notpossible"), type = "anim", animDict = "gestures@m@standing@casual", animName = "gesture_damn", }, { - name = _U("animation_mood_embrace"), + name = TranslateCap("animation_mood_embrace"), type = "anim", animDict = "mp_ped_interaction", animName = "kisses_guy_a", }, { - name = _U("animation_mood_fuckyou"), + name = TranslateCap("animation_mood_fuckyou"), type = "anim", animDict = "mp_player_int_upperfinger", animName = "mp_player_int_finger_01_enter", }, { - name = _U("animation_mood_wanker"), + name = TranslateCap("animation_mood_wanker"), type = "anim", animDict = "mp_player_int_upperwank", animName = "mp_player_int_wank_01", }, - { name = _U("animation_mood_suicide"), type = "anim", animDict = "mp_suicide", animName = "pistol" }, + { + name = TranslateCap("animation_mood_suicide"), + type = "anim", + animDict = "mp_suicide", + animName = "pistol", + }, }, }, { name = "sports", - name = _U("animation_sports_title"), + name = TranslateCap("animation_sports_title"), items = { { - name = _U("animation_sports_muscle"), + name = TranslateCap("animation_sports_muscle"), type = "anim", animDict = "amb@world_human_muscle_flex@arms_at_side@base", animName = "base", }, { - name = _U("animation_sports_weightbar"), + name = TranslateCap("animation_sports_weightbar"), type = "anim", animDict = "amb@world_human_muscle_free_weights@male@barbell@base", animName = "base", }, { - name = _U("animation_sports_pushup"), + name = TranslateCap("animation_sports_pushup"), type = "anim", animDict = "amb@world_human_push_ups@male@base", animName = "base", }, { - name = _U("animation_sports_abs"), + name = TranslateCap("animation_sports_abs"), type = "anim", animDict = "amb@world_human_sit_ups@male@base", animName = "base", }, { - name = _U("animation_sports_yoga"), + name = TranslateCap("animation_sports_yoga"), type = "anim", animDict = "amb@world_human_yoga@male@base", animName = "base_a", @@ -399,28 +455,48 @@ Config.Animations = { }, { name = "other", - name = _U("animation_other_title"), + name = TranslateCap("animation_other_title"), items = { { - name = _U("animation_other_sit"), + name = TranslateCap("animation_other_sit"), type = "anim", animDict = "anim@heists@prison_heistunfinished_biztarget_idle", animName = "target_idle", }, - { name = _U("animation_other_waitwall"), type = "scenario", scenarioName = "world_human_leaning" }, - { name = _U("animation_other_ontheback"), type = "scenario", scenarioName = "WORLD_HUMAN_SUNBATHE_BACK" }, - { name = _U("animation_other_stomach"), type = "scenario", scenarioName = "WORLD_HUMAN_SUNBATHE" }, - { name = _U("animation_other_clean"), type = "scenario", scenarioName = "world_human_maid_clean" }, - { name = _U("animation_other_cooking"), type = "scenario", scenarioName = "PROP_HUMAN_BBQ" }, { - name = _U("animation_other_search"), + name = TranslateCap("animation_other_waitwall"), + type = "scenario", + scenarioName = "world_human_leaning", + }, + { + name = TranslateCap("animation_other_ontheback"), + type = "scenario", + scenarioName = "WORLD_HUMAN_SUNBATHE_BACK", + }, + { + name = TranslateCap("animation_other_stomach"), + type = "scenario", + scenarioName = "WORLD_HUMAN_SUNBATHE", + }, + { + name = TranslateCap("animation_other_clean"), + type = "scenario", + scenarioName = "world_human_maid_clean", + }, + { name = TranslateCap("animation_other_cooking"), type = "scenario", scenarioName = "PROP_HUMAN_BBQ" }, + { + name = TranslateCap("animation_other_search"), type = "anim", animDict = "mini@prostitutes@sexlow_veh", animName = "low_car_bj_to_prop_female", }, - { name = _U("animation_other_selfie"), type = "scenario", scenarioName = "world_human_tourist_mobile" }, { - name = _U("animation_other_door"), + name = TranslateCap("animation_other_selfie"), + type = "scenario", + scenarioName = "world_human_tourist_mobile", + }, + { + name = TranslateCap("animation_other_door"), type = "anim", animDict = "mini@safe_cracking", animName = "idle_base", @@ -429,69 +505,69 @@ Config.Animations = { }, { name = "pegi", - name = _U("animation_pegi_title"), + name = TranslateCap("animation_pegi_title"), items = { { - name = _U("animation_pegi_hsuck"), + name = TranslateCap("animation_pegi_hsuck"), type = "anim", animDict = "oddjobs@towing", animName = "m_blow_job_loop", }, { - name = _U("animation_pegi_fsuck"), + name = TranslateCap("animation_pegi_fsuck"), type = "anim", animDict = "oddjobs@towing", animName = "f_blow_job_loop", }, { - name = _U("animation_pegi_hfuck"), + name = TranslateCap("animation_pegi_hfuck"), type = "anim", animDict = "mini@prostitutes@sexlow_veh", animName = "low_car_sex_loop_player", }, { - name = _U("animation_pegi_ffuck"), + name = TranslateCap("animation_pegi_ffuck"), type = "anim", animDict = "mini@prostitutes@sexlow_veh", animName = "low_car_sex_loop_female", }, { - name = _U("animation_pegi_scratch"), + name = TranslateCap("animation_pegi_scratch"), type = "anim", animDict = "mp_player_int_uppergrab_crotch", animName = "mp_player_int_grab_crotch", }, { - name = _U("animation_pegi_charm"), + name = TranslateCap("animation_pegi_charm"), type = "anim", animDict = "mini@strip_club@idles@stripper", animName = "stripper_idle_02", }, { - name = _U("animation_pegi_golddigger"), + name = TranslateCap("animation_pegi_golddigger"), type = "scenario", scenarioName = "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS", }, { - name = _U("animation_pegi_breast"), + name = TranslateCap("animation_pegi_breast"), type = "anim", animDict = "mini@strip_club@backroom@", animName = "stripper_b_backroom_idle_b", }, { - name = _U("animation_pegi_strip1"), + name = TranslateCap("animation_pegi_strip1"), type = "anim", animDict = "mini@strip_club@lap_dance@ld_girl_a_song_a_p1", animName = "ld_girl_a_song_a_p1_f", }, { - name = _U("animation_pegi_strip2"), + name = TranslateCap("animation_pegi_strip2"), type = "anim", animDict = "mini@strip_club@private_dance@part2", animName = "priv_dance_p2", }, { - name = _U("animation_pegi_stripfloor"), + name = TranslateCap("animation_pegi_stripfloor"), type = "anim", animDict = "mini@strip_club@private_dance@part3", animName = "priv_dance_p3", @@ -500,7 +576,7 @@ Config.Animations = { }, { name = "attitudes", - name = _U("animation_attitudes_title"), + name = TranslateCap("animation_attitudes_title"), items = { { name = "Normal", type = "attitude" }, { name = "Confiant", type = "attitude", animSet = "move_m@confident" }, @@ -534,10 +610,10 @@ Config.Animations = { Config.AdminCommands = { { id = "goto", - name = _U("admin_goto_button"), + name = TranslateCap("admin_goto_button"), groups = { "_dev", "owner", "superadmin", "admin", "mod" }, command = function() - local targetServerId = KeyboardInput("PM_BOX_ID", _U("dialogbox_playerid"), "", 8) + local targetServerId = KeyboardInput("PM_BOX_ID", TranslateCap("dialogbox_playerid"), "", 8) if not targetServerId then return end @@ -547,16 +623,16 @@ Config.AdminCommands = { return end - TriggerServerEvent("bpt_menu:Admin_BringS", GetPlayerServerId(PlayerId()), targetServerId) + TriggerServerEvent("bpt_personalmenu:Admin_BringS", GetPlayerServerId(PlayerId()), targetServerId) RageUI.CloseAll() end, }, { id = "bring", - name = _U("admin_bring_button"), + name = TranslateCap("admin_bring_button"), groups = { "_dev", "owner", "superadmin", "admin", "mod" }, command = function() - local targetServerId = KeyboardInput("PM_BOX_ID", _U("dialogbox_playerid"), "", 8) + local targetServerId = KeyboardInput("PM_BOX_ID", TranslateCap("dialogbox_playerid"), "", 8) if not targetServerId then return end @@ -566,16 +642,16 @@ Config.AdminCommands = { return end - TriggerServerEvent("bpt_menu:Admin_BringS", targetServerId, GetPlayerServerId(PlayerId())) + TriggerServerEvent("bpt_personalmenu:Admin_BringS", targetServerId, GetPlayerServerId(PlayerId())) RageUI.CloseAll() end, }, { id = "tpxyz", - name = _U("admin_tpxyz_button"), + name = TranslateCap("admin_tpxyz_button"), groups = { "_dev", "owner", "superadmin", "admin" }, command = function() - local pos = KeyboardInput("PM_BOX_XYZ", _U("dialogbox_xyz"), "", 50) + local pos = KeyboardInput("PM_BOX_XYZ", TranslateCap("dialogbox_xyz"), "", 50) if pos ~= nil and pos ~= "" then local _, _, x, y, z = string.find(pos, "([%d%.]+) ([%d%.]+) ([%d%.]+)") @@ -590,7 +666,7 @@ Config.AdminCommands = { }, { id = "noclip", - name = _U("admin_noclip_button"), + name = TranslateCap("admin_noclip_button"), groups = { "_dev", "owner", "superadmin", "admin", "mod" }, command = function() PlayerVars.noclip = not PlayerVars.noclip @@ -649,7 +725,7 @@ Config.AdminCommands = { end end) - GameNotification(_U("admin_noclipon")) + GameNotification(TranslateCap("admin_noclipon")) else local plyPed = PlayerPedId() @@ -663,7 +739,7 @@ Config.AdminCommands = { SetEveryoneIgnorePlayer(playerId, false) SetPoliceIgnorePlayer(playerId, false) - GameNotification(_U("admin_noclipoff")) + GameNotification(TranslateCap("admin_noclipoff")) end RageUI.CloseAll() @@ -671,42 +747,42 @@ Config.AdminCommands = { }, { id = "godmode", - name = _U("admin_godmode_button"), + name = TranslateCap("admin_godmode_button"), groups = { "_dev", "owner", "superadmin" }, command = function() PlayerVars.godmode = not PlayerVars.godmode if PlayerVars.godmode then SetEntityInvincible(plyPed, true) - GameNotification(_U("admin_godmodeon")) + GameNotification(TranslateCap("admin_godmodeon")) else SetEntityInvincible(plyPed, false) - GameNotification(_U("admin_godmodeoff")) + GameNotification(TranslateCap("admin_godmodeoff")) end end, }, { id = "ghostmode", - name = _U("admin_ghostmode_button"), + name = TranslateCap("admin_ghostmode_button"), groups = { "_dev", "owner", "superadmin" }, command = function() PlayerVars.ghostmode = not PlayerVars.ghostmode if PlayerVars.ghostmode then SetEntityVisible(plyPed, false, false) - GameNotification(_U("admin_ghoston")) + GameNotification(TranslateCap("admin_ghoston")) else SetEntityVisible(plyPed, true, false) - GameNotification(_U("admin_ghostoff")) + GameNotification(TranslateCap("admin_ghostoff")) end end, }, { id = "spawnveh", - name = _U("admin_spawnveh_button"), + name = TranslateCap("admin_spawnveh_button"), groups = { "_dev", "owner", "superadmin" }, command = function() - local modelName = KeyboardInput("PM_BOX_VEHICLE_NAME", _U("dialogbox_vehiclespawner"), "", 50) + local modelName = KeyboardInput("PM_BOX_VEHICLE_NAME", TranslateCap("dialogbox_vehiclespawner"), "", 50) if not modelName then return end @@ -725,7 +801,7 @@ Config.AdminCommands = { }, { id = "repairveh", - name = _U("admin_repairveh_button"), + name = TranslateCap("admin_repairveh_button"), groups = { "_dev", "owner", "superadmin", "admin" }, command = function() local plyVeh = GetVehiclePedIsIn(plyPed, false) @@ -735,22 +811,22 @@ Config.AdminCommands = { }, { id = "flipveh", - name = _U("admin_flipveh_button"), + name = TranslateCap("admin_flipveh_button"), groups = { "_dev", "owner", "superadmin", "admin" }, command = function() local plyCoords = GetEntityCoords(plyPed) local closestVeh = GetClosestVehicle(plyCoords, 10.0, 0, 70) SetVehicleOnGroundProperly(closestVeh) - GameNotification(_U("admin_vehicleflip")) + GameNotification(TranslateCap("admin_vehicleflip")) end, }, { id = "givemoney", - name = _U("admin_givemoney_button"), + name = TranslateCap("admin_givemoney_button"), groups = { "_dev", "owner", "superadmin" }, command = function() - local amount = KeyboardInput("PM_BOX_AMOUNT", _U("dialogbox_amount"), "", 8) + local amount = KeyboardInput("PM_BOX_AMOUNT", TranslateCap("dialogbox_amount"), "", 8) if not amount then return end @@ -760,16 +836,16 @@ Config.AdminCommands = { return end - TriggerServerEvent("bpt_menu:Admin_giveCash", amount) + TriggerServerEvent("bpt_personalmenu:Admin_giveCash", amount) RageUI.CloseAll() end, }, { id = "givebank", - name = _U("admin_givebank_button"), + name = TranslateCap("admin_givebank_button"), groups = { "_dev", "owner", "superadmin" }, command = function() - local amount = KeyboardInput("PM_BOX_AMOUNT", _U("dialogbox_amount"), "", 8) + local amount = KeyboardInput("PM_BOX_AMOUNT", TranslateCap("dialogbox_amount"), "", 8) if not amount then return end @@ -779,16 +855,16 @@ Config.AdminCommands = { return end - TriggerServerEvent("bpt_menu:Admin_giveBank", amount) + TriggerServerEvent("bpt_personalmenu:Admin_giveBank", amount) RageUI.CloseAll() end, }, { id = "givedirtymoney", - name = _U("admin_givedirtymoney_button"), + name = TranslateCap("admin_givedirtymoney_button"), groups = { "_dev", "owner", "superadmin" }, command = function() - local amount = KeyboardInput("PM_BOX_AMOUNT", _U("dialogbox_amount"), "", 8) + local amount = KeyboardInput("PM_BOX_AMOUNT", TranslateCap("dialogbox_amount"), "", 8) if not amount then return end @@ -798,13 +874,13 @@ Config.AdminCommands = { return end - TriggerServerEvent("bpt_menu:Admin_giveDirtyMoney", amount) + TriggerServerEvent("bpt_personalmenu:Admin_giveDirtyMoney", amount) RageUI.CloseAll() end, }, { id = "showxyz", - name = _U("admin_showxyz_button"), + name = TranslateCap("admin_showxyz_button"), groups = { "_dev", "owner", "superadmin", "admin", "mod" }, command = function() PlayerVars.showCoords = not PlayerVars.showCoords @@ -812,7 +888,7 @@ Config.AdminCommands = { }, { id = "showname", - name = _U("admin_showname_button"), + name = TranslateCap("admin_showname_button"), groups = { "_dev", "owner", "superadmin", "admin", "mod" }, command = function() PlayerVars.showName = not PlayerVars.showName @@ -833,7 +909,7 @@ Config.AdminCommands = { }, { id = "tpmarker", - name = _U("admin_tpmarker_button"), + name = TranslateCap("admin_tpmarker_button"), groups = { "_dev", "owner", "superadmin", "admin" }, command = function() tpMarker() @@ -841,10 +917,10 @@ Config.AdminCommands = { }, { id = "revive", - name = _U("admin_revive_button"), + name = TranslateCap("admin_revive_button"), groups = { "_dev", "owner", "superadmin", "admin" }, command = function() - local targetServerId = KeyboardInput("PM_BOX_ID", _U("dialogbox_playerid"), "", 8) + local targetServerId = KeyboardInput("PM_BOX_ID", TranslateCap("dialogbox_playerid"), "", 8) if not targetServerId then return end @@ -860,7 +936,7 @@ Config.AdminCommands = { }, { id = "changeskin", - name = _U("admin_changeskin_button"), + name = TranslateCap("admin_changeskin_button"), groups = { "_dev", "owner", "superadmin" }, command = function() RageUI.CloseAll() @@ -870,7 +946,7 @@ Config.AdminCommands = { }, { id = "saveskin", - name = _U("admin_saveskin_button"), + name = TranslateCap("admin_saveskin_button"), groups = { "_dev", "owner", "superadmin" }, command = function() TriggerEvent("esx_skin:requestSaveSkin") diff --git a/server-data/resources/[bpt_addons]/bpt_menu/dependencies/menu/Menu.lua b/server-data/resources/[bpt_addons]/bpt_menu/dependencies/menu/Menu.lua index 9a460ea9e..f42a139d5 100644 --- a/server-data/resources/[bpt_addons]/bpt_menu/dependencies/menu/Menu.lua +++ b/server-data/resources/[bpt_addons]/bpt_menu/dependencies/menu/Menu.lua @@ -71,12 +71,12 @@ function RageUI.CreateMenu(Title, Subtitle, X, Y, TextureDictionary, TextureName end end - CreateThread(function() + Citizen.CreateThread(function() if not HasScaleformMovieLoaded(Menu.InstructionalScaleform) then Menu.InstructionalScaleform = RequestScaleformMovie("INSTRUCTIONAL_BUTTONS") while not HasScaleformMovieLoaded(Menu.InstructionalScaleform) do - Wait(0) + Citizen.Wait(0) end end end) diff --git a/server-data/resources/[bpt_addons]/bpt_menu/dependencies/menu/items/UIButton.lua b/server-data/resources/[bpt_addons]/bpt_menu/dependencies/menu/items/UIButton.lua index 9eaadcdae..24db82a1c 100644 --- a/server-data/resources/[bpt_addons]/bpt_menu/dependencies/menu/items/UIButton.lua +++ b/server-data/resources/[bpt_addons]/bpt_menu/dependencies/menu/items/UIButton.lua @@ -1,11 +1,11 @@ ---@type table local SettingsButton = { - Rectangle = { Y = 0, Width = 431, Height = 38 }, - Text = { X = 8, Y = 3, Scale = 0.33 }, - LeftBadge = { Y = -2, Width = 40, Height = 40 }, - RightBadge = { X = 385, Y = -2, Width = 40, Height = 40 }, - RightText = { X = 420, Y = 4, Scale = 0.35 }, - SelectedSprite = { Dictionary = "commonmenu", Texture = "gradient_nav", Y = 0, Width = 431, Height = 38 } + Rectangle = { Y = 0, Width = 431, Height = 38 }, + Text = { X = 8, Y = 3, Scale = 0.33 }, + LeftBadge = { Y = -2, Width = 40, Height = 40 }, + RightBadge = { X = 385, Y = -2, Width = 40, Height = 40 }, + RightText = { X = 420, Y = 4, Scale = 0.35 }, + SelectedSprite = { Dictionary = "commonmenu", Texture = "gradient_nav", Y = 0, Width = 431, Height = 38 } } ---Button @@ -17,101 +17,101 @@ local SettingsButton = { ---@return nil ---@public function RageUI.Button(Label, Description, Style, Enabled, Callback, Submenu) - ---@type table - local CurrentMenu = RageUI.CurrentMenu - - if CurrentMenu ~= nil then - if CurrentMenu() then - ---@type number - local Option = RageUI.Options + 1 - - if CurrentMenu.Pagination.Minimum <= Option and CurrentMenu.Pagination.Maximum >= Option then - ---@type boolean - local Selected = CurrentMenu.Index == Option - RageUI.ItemsSafeZone(CurrentMenu) - - local LeftBadgeOffset = ((Style?.LeftBadge == RageUI.BadgeStyle.None or tonumber(Style?.LeftBadge) == nil) and 0 or 27) - local RightBadgeOffset = ((Style?.RightBadge == RageUI.BadgeStyle.None or tonumber(Style?.RightBadge) == nil) and 0 or 32) - local Hovered = false - - if Style?.Color?.BackgroundColor ~= nil then - RenderRectangle(CurrentMenu.X, CurrentMenu.Y + SettingsButton.SelectedSprite.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.SelectedSprite.Width + CurrentMenu.WidthOffset, SettingsButton.SelectedSprite.Height, Style.Color.BackgroundColor[1],Style.Color.BackgroundColor[2],Style.Color.BackgroundColor[3]) - end - - ---@type boolean - if CurrentMenu.EnableMouse == true then - Hovered = RageUI.ItemsMouseBounds(CurrentMenu, Selected, Option, SettingsButton) - end - - if Selected then - if Style?.Color then - if Style.Color.HightLightColor then - RenderRectangle(CurrentMenu.X, CurrentMenu.Y + SettingsButton.SelectedSprite.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.SelectedSprite.Width + CurrentMenu.WidthOffset, SettingsButton.SelectedSprite.Height, Style.Color.HightLightColor[1],Style.Color.HightLightColor[2],Style.Color.HightLightColor[3]) - else - RenderSprite(SettingsButton.SelectedSprite.Dictionary, SettingsButton.SelectedSprite.Texture, CurrentMenu.X, CurrentMenu.Y + SettingsButton.SelectedSprite.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.SelectedSprite.Width + CurrentMenu.WidthOffset, SettingsButton.SelectedSprite.Height) - end - else - RenderSprite(SettingsButton.SelectedSprite.Dictionary, SettingsButton.SelectedSprite.Texture, CurrentMenu.X, CurrentMenu.Y + SettingsButton.SelectedSprite.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.SelectedSprite.Width + CurrentMenu.WidthOffset, SettingsButton.SelectedSprite.Height) - end - end - - if type(Style) == 'table' then - if Style.LeftBadge ~= nil then - if Style.LeftBadge ~= RageUI.BadgeStyle.None and tonumber(Style.LeftBadge) ~= nil then - RenderSprite(RageUI.GetBadgeDictionary(Style.LeftBadge, Selected), RageUI.GetBadgeTexture(Style.LeftBadge, Selected), CurrentMenu.X, CurrentMenu.Y + SettingsButton.LeftBadge.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.LeftBadge.Width, SettingsButton.LeftBadge.Height, RageUI.GetBadgeColour(Style.LeftBadge, Selected)) - end - end - - if Style.RightBadge ~= nil then - if Style.RightBadge ~= RageUI.BadgeStyle.None and tonumber(Style.RightBadge) ~= nil then - RenderSprite(RageUI.GetBadgeDictionary(Style.RightBadge, Selected), RageUI.GetBadgeTexture(Style.RightBadge, Selected), CurrentMenu.X + SettingsButton.RightBadge.X + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsButton.RightBadge.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.RightBadge.Width, SettingsButton.RightBadge.Height, 0, RageUI.GetBadgeColour(Style.RightBadge, Selected)) - end - end - end - - if (Enabled) then - if Selected then - if Style?.RightLabel ~= nil and Style.RightLabel ~= "" then - RenderText(Style.RightLabel, CurrentMenu.X + SettingsButton.RightText.X - RightBadgeOffset + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsButton.RightText.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.RightText.Scale, 0, 0, 0, 255, 2) - end - - RenderText(Label, CurrentMenu.X + SettingsButton.Text.X + LeftBadgeOffset, CurrentMenu.Y + SettingsButton.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.Text.Scale, 0, 0, 0, 255) - else - if Style?.RightLabel ~= nil and Style.RightLabel ~= "" then - RenderText(Style.RightLabel, CurrentMenu.X + SettingsButton.RightText.X - RightBadgeOffset + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsButton.RightText.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.RightText.Scale, 245, 245, 245, 255, 2) - end - - RenderText(Label, CurrentMenu.X + SettingsButton.Text.X + LeftBadgeOffset, CurrentMenu.Y + SettingsButton.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.Text.Scale, 245, 245, 245, 255) - end - else - RenderText(Label, CurrentMenu.X + SettingsButton.Text.X + LeftBadgeOffset, CurrentMenu.Y + SettingsButton.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.Text.Scale, 163, 159, 148, 255) - end - - RageUI.ItemOffset = RageUI.ItemOffset + SettingsButton.Rectangle.Height - RageUI.ItemsDescription(CurrentMenu, Description, Selected) - - if (Enabled) then - if Callback then - Callback(Hovered, Selected, ((CurrentMenu.Controls.Select.Active or (Hovered and CurrentMenu.Controls.Click.Active)) and Selected)) - end - end - - if Selected and (CurrentMenu.Controls.Select.Active or (Hovered and CurrentMenu.Controls.Click.Active)) then - local Audio = RageUI.Settings.Audio - - if (Enabled) then - RageUI.PlaySound(Audio[Audio.Use].Select.audioName, Audio[Audio.Use].Select.audioRef) - - if Submenu and Submenu() then - RageUI.NextMenu = Submenu - end - else - RageUI.PlaySound(Audio[Audio.Use].Error.audioName, Audio[Audio.Use].Error.audioRef) - end - end - end - - RageUI.Options = RageUI.Options + 1 - end - end + ---@type table + local CurrentMenu = RageUI.CurrentMenu + + if CurrentMenu ~= nil then + if CurrentMenu() then + ---@type number + local Option = RageUI.Options + 1 + + if CurrentMenu.Pagination.Minimum <= Option and CurrentMenu.Pagination.Maximum >= Option then + ---@type boolean + local Selected = CurrentMenu.Index == Option + RageUI.ItemsSafeZone(CurrentMenu) + + local LeftBadgeOffset = ((Style?.LeftBadge == RageUI.BadgeStyle.None or tonumber(Style?.LeftBadge) == nil) and 0 or 27) + local RightBadgeOffset = ((Style?.RightBadge == RageUI.BadgeStyle.None or tonumber(Style?.RightBadge) == nil) and 0 or 32) + local Hovered = false + + if Style?.Color?.BackgroundColor ~= nil then + RenderRectangle(CurrentMenu.X, CurrentMenu.Y + SettingsButton.SelectedSprite.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.SelectedSprite.Width + CurrentMenu.WidthOffset, SettingsButton.SelectedSprite.Height, Style.Color.BackgroundColor[1],Style.Color.BackgroundColor[2],Style.Color.BackgroundColor[3]) + end + + ---@type boolean + if CurrentMenu.EnableMouse == true then + Hovered = RageUI.ItemsMouseBounds(CurrentMenu, Selected, Option, SettingsButton) + end + + if Selected then + if Style?.Color then + if Style.Color.HightLightColor then + RenderRectangle(CurrentMenu.X, CurrentMenu.Y + SettingsButton.SelectedSprite.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.SelectedSprite.Width + CurrentMenu.WidthOffset, SettingsButton.SelectedSprite.Height, Style.Color.HightLightColor[1],Style.Color.HightLightColor[2],Style.Color.HightLightColor[3]) + else + RenderSprite(SettingsButton.SelectedSprite.Dictionary, SettingsButton.SelectedSprite.Texture, CurrentMenu.X, CurrentMenu.Y + SettingsButton.SelectedSprite.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.SelectedSprite.Width + CurrentMenu.WidthOffset, SettingsButton.SelectedSprite.Height) + end + else + RenderSprite(SettingsButton.SelectedSprite.Dictionary, SettingsButton.SelectedSprite.Texture, CurrentMenu.X, CurrentMenu.Y + SettingsButton.SelectedSprite.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.SelectedSprite.Width + CurrentMenu.WidthOffset, SettingsButton.SelectedSprite.Height) + end + end + + if type(Style) == 'table' then + if Style.LeftBadge ~= nil then + if Style.LeftBadge ~= RageUI.BadgeStyle.None and tonumber(Style.LeftBadge) ~= nil then + RenderSprite(RageUI.GetBadgeDictionary(Style.LeftBadge, Selected), RageUI.GetBadgeTexture(Style.LeftBadge, Selected), CurrentMenu.X, CurrentMenu.Y + SettingsButton.LeftBadge.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.LeftBadge.Width, SettingsButton.LeftBadge.Height, RageUI.GetBadgeColour(Style.LeftBadge, Selected)) + end + end + + if Style.RightBadge ~= nil then + if Style.RightBadge ~= RageUI.BadgeStyle.None and tonumber(Style.RightBadge) ~= nil then + RenderSprite(RageUI.GetBadgeDictionary(Style.RightBadge, Selected), RageUI.GetBadgeTexture(Style.RightBadge, Selected), CurrentMenu.X + SettingsButton.RightBadge.X + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsButton.RightBadge.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.RightBadge.Width, SettingsButton.RightBadge.Height, 0, RageUI.GetBadgeColour(Style.RightBadge, Selected)) + end + end + end + + if (Enabled) then + if Selected then + if Style?.RightLabel ~= nil and Style.RightLabel ~= "" then + RenderText(Style.RightLabel, CurrentMenu.X + SettingsButton.RightText.X - RightBadgeOffset + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsButton.RightText.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.RightText.Scale, 0, 0, 0, 255, 2) + end + + RenderText(Label, CurrentMenu.X + SettingsButton.Text.X + LeftBadgeOffset, CurrentMenu.Y + SettingsButton.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.Text.Scale, 0, 0, 0, 255) + else + if Style?.RightLabel ~= nil and Style.RightLabel ~= "" then + RenderText(Style.RightLabel, CurrentMenu.X + SettingsButton.RightText.X - RightBadgeOffset + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsButton.RightText.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.RightText.Scale, 245, 245, 245, 255, 2) + end + + RenderText(Label, CurrentMenu.X + SettingsButton.Text.X + LeftBadgeOffset, CurrentMenu.Y + SettingsButton.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.Text.Scale, 245, 245, 245, 255) + end + else + RenderText(Label, CurrentMenu.X + SettingsButton.Text.X + LeftBadgeOffset, CurrentMenu.Y + SettingsButton.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.Text.Scale, 163, 159, 148, 255) + end + + RageUI.ItemOffset = RageUI.ItemOffset + SettingsButton.Rectangle.Height + RageUI.ItemsDescription(CurrentMenu, Description, Selected) + + if (Enabled) then + if Callback then + Callback(Hovered, Selected, ((CurrentMenu.Controls.Select.Active or (Hovered and CurrentMenu.Controls.Click.Active)) and Selected)) + end + end + + if Selected and (CurrentMenu.Controls.Select.Active or (Hovered and CurrentMenu.Controls.Click.Active)) then + local Audio = RageUI.Settings.Audio + + if (Enabled) then + RageUI.PlaySound(Audio[Audio.Use].Select.audioName, Audio[Audio.Use].Select.audioRef) + + if Submenu and Submenu() then + RageUI.NextMenu = Submenu + end + else + RageUI.PlaySound(Audio[Audio.Use].Error.audioName, Audio[Audio.Use].Error.audioRef) + end + end + end + + RageUI.Options = RageUI.Options + 1 + end + end end \ No newline at end of file diff --git a/server-data/resources/[bpt_addons]/bpt_menu/dependencies/menu/items/UIList.lua b/server-data/resources/[bpt_addons]/bpt_menu/dependencies/menu/items/UIList.lua index c3a705829..83b56708a 100644 --- a/server-data/resources/[bpt_addons]/bpt_menu/dependencies/menu/items/UIList.lua +++ b/server-data/resources/[bpt_addons]/bpt_menu/dependencies/menu/items/UIList.lua @@ -1,18 +1,18 @@ ---@type table local SettingsButton = { - Rectangle = { Y = 0, Width = 431, Height = 38 }, - Text = { X = 8, Y = 3, Scale = 0.33 }, - LeftBadge = { Y = -2, Width = 40, Height = 40 }, - RightBadge = { X = 385, Y = -2, Width = 40, Height = 40 }, - RightText = { X = 420, Y = 4, Scale = 0.35 }, - SelectedSprite = { Dictionary = "commonmenu", Texture = "gradient_nav", Y = 0, Width = 431, Height = 38 } + Rectangle = { Y = 0, Width = 431, Height = 38 }, + Text = { X = 8, Y = 3, Scale = 0.33 }, + LeftBadge = { Y = -2, Width = 40, Height = 40 }, + RightBadge = { X = 385, Y = -2, Width = 40, Height = 40 }, + RightText = { X = 420, Y = 4, Scale = 0.35 }, + SelectedSprite = { Dictionary = "commonmenu", Texture = "gradient_nav", Y = 0, Width = 431, Height = 38 } } ---@type table local SettingsList = { - LeftArrow = { Dictionary = "commonmenu", Texture = "arrowleft", X = 378, Y = 3, Width = 30, Height = 30 }, - RightArrow = { Dictionary = "commonmenu", Texture = "arrowright", X = 400, Y = 3, Width = 30, Height = 30 }, - Text = { X = 403, Y = 3, Scale = 0.35 } + LeftArrow = { Dictionary = "commonmenu", Texture = "arrowleft", X = 378, Y = 3, Width = 30, Height = 30 }, + RightArrow = { Dictionary = "commonmenu", Texture = "arrowright", X = 400, Y = 3, Width = 30, Height = 30 }, + Text = { X = 403, Y = 3, Scale = 0.35 } } ---List @@ -25,163 +25,163 @@ local SettingsList = { ---@return nil ---@public function RageUI.List(Label, Items, Index, Description, Style, Enabled, Callback, Submenu) - ---@type table - local CurrentMenu = RageUI.CurrentMenu - - if CurrentMenu ~= nil then - if CurrentMenu() then - ---@type number - local Option = RageUI.Options + 1 - - if CurrentMenu.Pagination.Minimum <= Option and CurrentMenu.Pagination.Maximum >= Option then - ---@type number - local Selected = CurrentMenu.Index == Option - - ---@type boolean - local LeftArrowHovered, RightArrowHovered = false, false - - RageUI.ItemsSafeZone(CurrentMenu) - - local Hovered = false - local LeftBadgeOffset = ((Style?.LeftBadge == RageUI.BadgeStyle.None or tonumber(Style?.LeftBadge) == nil) and 0 or 27) - local RightBadgeOffset = ((Style?.RightBadge == RageUI.BadgeStyle.None or tonumber(Style?.RightBadge) == nil) and 0 or 32) - local RightOffset = 0 - - ---@type boolean - if CurrentMenu.EnableMouse == true then - Hovered = RageUI.ItemsMouseBounds(CurrentMenu, Selected, Option, SettingsButton) - end - - local ListText = (type(Items[Index]) == "table") and tostring(Items[Index].Name) or tostring(Items[Index]) or "NIL" - - local name = ListText - :gsub("é", "e") - :gsub("â", "a") - :gsub("à", "a") - :gsub("è", "e") - :gsub("ê", "e") - :gsub("î", "i") - :gsub("ç", "c") - :gsub("ô", "o") - :gsub("É", "E") - - local TextOffset = MeasureStringWidth(name, 0, 0.35) - - if Selected then - RenderSprite(SettingsButton.SelectedSprite.Dictionary, SettingsButton.SelectedSprite.Texture, CurrentMenu.X, CurrentMenu.Y + SettingsButton.SelectedSprite.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.SelectedSprite.Width + CurrentMenu.WidthOffset, SettingsButton.SelectedSprite.Height) - LeftArrowHovered = RageUI.IsMouseInBounds(CurrentMenu.X + SettingsList.LeftArrow.X - TextOffset + CurrentMenu.SafeZoneSize.X + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.LeftArrow.Y + CurrentMenu.SafeZoneSize.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsList.LeftArrow.Width, SettingsList.LeftArrow.Height) - RightArrowHovered = RageUI.IsMouseInBounds(CurrentMenu.X + SettingsList.RightArrow.X + CurrentMenu.SafeZoneSize.X + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.RightArrow.Y + CurrentMenu.SafeZoneSize.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsList.RightArrow.Width, SettingsList.RightArrow.Height) - end - - if Enabled == true or Enabled == nil then - if Selected then - if Style?.RightLabel ~= nil and Style.RightLabel ~= "" then - RenderText(Style.RightLabel, CurrentMenu.X + SettingsButton.RightText.X - RightBadgeOffset + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsButton.RightText.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.RightText.Scale, 0, 0, 0, 255, 2) - RightOffset = MeasureStringWidth(Style.RightLabel,0,0.35) - end - else - if Style?.RightLabel ~= nil and Style.RightLabel ~= "" then - RightOffset = MeasureStringWidth(Style.RightLabel,0,0.35) - RenderText(Style.RightLabel, CurrentMenu.X + SettingsButton.RightText.X - RightBadgeOffset + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsButton.RightText.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.RightText.Scale, 245, 245, 245, 255, 2) - end - end - end - - RightOffset = RightBadgeOffset * 1.3 + RightOffset - - if Enabled == true or Enabled == nil then - if Selected then - RenderText(Label, CurrentMenu.X + SettingsButton.Text.X + LeftBadgeOffset, CurrentMenu.Y + SettingsButton.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.Text.Scale, 0, 0, 0, 255) - - RenderSprite(SettingsList.LeftArrow.Dictionary, SettingsList.LeftArrow.Texture, CurrentMenu.X + SettingsList.LeftArrow.X - TextOffset- RightOffset + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.LeftArrow.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsList.LeftArrow.Width, SettingsList.LeftArrow.Height, 0, 0, 0, 0, 255) - RenderSprite(SettingsList.RightArrow.Dictionary, SettingsList.RightArrow.Texture, CurrentMenu.X + SettingsList.RightArrow.X + CurrentMenu.WidthOffset - RightOffset, CurrentMenu.Y + SettingsList.RightArrow.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsList.RightArrow.Width, SettingsList.RightArrow.Height, 0, 0, 0, 0, 255) - - RenderText(ListText, CurrentMenu.X + SettingsList.Text.X + CurrentMenu.WidthOffset- RightOffset, CurrentMenu.Y + SettingsList.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsList.Text.Scale, 0, 0, 0, 255, 2) - else - RenderText(Label, CurrentMenu.X + SettingsButton.Text.X + LeftBadgeOffset, CurrentMenu.Y + SettingsButton.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.Text.Scale, 245, 245, 245, 255) - RenderText(ListText, CurrentMenu.X + SettingsList.Text.X + 15 + CurrentMenu.WidthOffset-RightOffset, CurrentMenu.Y + SettingsList.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsList.Text.Scale, 245, 245, 245, 255, 2) - end - else - RenderText(Label, CurrentMenu.X + SettingsButton.Text.X + LeftBadgeOffset, CurrentMenu.Y + SettingsButton.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.Text.Scale, 163, 159, 148, 255) - - if Selected then - RenderSprite(SettingsList.LeftArrow.Dictionary, SettingsList.LeftArrow.Texture, CurrentMenu.X + SettingsList.LeftArrow.X - TextOffset + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.LeftArrow.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsList.LeftArrow.Width, SettingsList.LeftArrow.Height, 0, 163, 159, 148, 255) - RenderSprite(SettingsList.RightArrow.Dictionary, SettingsList.RightArrow.Texture, CurrentMenu.X + SettingsList.RightArrow.X + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.RightArrow.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsList.RightArrow.Width, SettingsList.RightArrow.Height, 0, 163, 159, 148, 255) - - RenderText(ListText, CurrentMenu.X + SettingsList.Text.X + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsList.Text.Scale, 163, 159, 148, 255, 2) - else - RenderText(ListText, CurrentMenu.X + SettingsList.Text.X + 15 + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsList.Text.Scale, 163, 159, 148, 255, 2) - end - end - - if type(Style) == "table" then - if Style.Enabled == true or Style.Enabled == nil then - if type(Style) == 'table' then - if Style.LeftBadge ~= nil then - if Style.LeftBadge ~= RageUI.BadgeStyle.None and tonumber(Style.LeftBadge) ~= nil then - RenderSprite(RageUI.GetBadgeDictionary(Style.LeftBadge, Selected), RageUI.GetBadgeTexture(Style.LeftBadge, Selected), CurrentMenu.X, CurrentMenu.Y + SettingsButton.LeftBadge.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.LeftBadge.Width, SettingsButton.LeftBadge.Height, RageUI.GetBadgeColour(Style.LeftBadge, Selected)) - end - end - - if Style.RightBadge ~= nil then - if Style.RightBadge ~= RageUI.BadgeStyle.None and tonumber(Style.RightBadge) ~= nil then - RenderSprite(RageUI.GetBadgeDictionary(Style.RightBadge, Selected), RageUI.GetBadgeTexture(Style.RightBadge, Selected), CurrentMenu.X + SettingsButton.RightBadge.X + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsButton.RightBadge.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.RightBadge.Width, SettingsButton.RightBadge.Height, 0, RageUI.GetBadgeColour(Style.RightBadge, Selected)) - end - end - end - else - ---@type table - local LeftBadge = RageUI.BadgeStyle.Lock - - ---@type number - local LeftBadgeOffset = ((LeftBadge == RageUI.BadgeStyle.None or tonumber(LeftBadge) == nil) and 0 or 27) - - if LeftBadge ~= RageUI.BadgeStyle.None and tonumber(LeftBadge) ~= nil then - RenderSprite(RageUI.GetBadgeDictionary(LeftBadge, Selected), RageUI.GetBadgeTexture(LeftBadge, Selected), CurrentMenu.X, CurrentMenu.Y + SettingsButton.LeftBadge.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.LeftBadge.Width, SettingsButton.LeftBadge.Height, nil, CheckBoxLockBadgeColor(Selected)) - end - end - end - - RageUI.ItemOffset = RageUI.ItemOffset + SettingsButton.Rectangle.Height - RageUI.ItemsDescription(CurrentMenu, Description, Selected) - - if Selected and (CurrentMenu.Controls.Left.Active or (CurrentMenu.Controls.Click.Active and LeftArrowHovered)) and not (CurrentMenu.Controls.Right.Active or (CurrentMenu.Controls.Click.Active and RightArrowHovered)) then - Index = Index - 1 - - if Index < 1 then - Index = #Items - end - - local Audio = RageUI.Settings.Audio - RageUI.PlaySound(Audio[Audio.Use].LeftRight.audioName, Audio[Audio.Use].LeftRight.audioRef) - elseif Selected and (CurrentMenu.Controls.Right.Active or (CurrentMenu.Controls.Click.Active and RightArrowHovered)) and not (CurrentMenu.Controls.Left.Active or (CurrentMenu.Controls.Click.Active and LeftArrowHovered)) then - Index = Index + 1 - - if Index > #Items then - Index = 1 - end - - local Audio = RageUI.Settings.Audio - RageUI.PlaySound(Audio[Audio.Use].LeftRight.audioName, Audio[Audio.Use].LeftRight.audioRef) - end - - if (Enabled) then - if Callback then - Callback(Hovered, Selected, ((CurrentMenu.Controls.Select.Active or ((Hovered and CurrentMenu.Controls.Click.Active) and (not LeftArrowHovered and not RightArrowHovered))) and Selected), Index) - end - end - - if Selected and (CurrentMenu.Controls.Select.Active or ((Hovered and CurrentMenu.Controls.Click.Active) and (not LeftArrowHovered and not RightArrowHovered))) then - local Audio = RageUI.Settings.Audio - RageUI.PlaySound(Audio[Audio.Use].Select.audioName, Audio[Audio.Use].Select.audioRef) - - if Submenu and Submenu() then - RageUI.NextMenu = Submenu - end - end - end - - RageUI.Options = RageUI.Options + 1 - end - end + ---@type table + local CurrentMenu = RageUI.CurrentMenu + + if CurrentMenu ~= nil then + if CurrentMenu() then + ---@type number + local Option = RageUI.Options + 1 + + if CurrentMenu.Pagination.Minimum <= Option and CurrentMenu.Pagination.Maximum >= Option then + ---@type number + local Selected = CurrentMenu.Index == Option + + ---@type boolean + local LeftArrowHovered, RightArrowHovered = false, false + + RageUI.ItemsSafeZone(CurrentMenu) + + local Hovered = false + local LeftBadgeOffset = ((Style?.LeftBadge == RageUI.BadgeStyle.None or tonumber(Style?.LeftBadge) == nil) and 0 or 27) + local RightBadgeOffset = ((Style?.RightBadge == RageUI.BadgeStyle.None or tonumber(Style?.RightBadge) == nil) and 0 or 32) + local RightOffset = 0 + + ---@type boolean + if CurrentMenu.EnableMouse == true then + Hovered = RageUI.ItemsMouseBounds(CurrentMenu, Selected, Option, SettingsButton) + end + + local ListText = (type(Items[Index]) == "table") and tostring(Items[Index].Name) or tostring(Items[Index]) or "NIL" + + local name = ListText + :gsub("é", "e") + :gsub("â", "a") + :gsub("à", "a") + :gsub("è", "e") + :gsub("ê", "e") + :gsub("î", "i") + :gsub("ç", "c") + :gsub("ô", "o") + :gsub("É", "E") + + local TextOffset = MeasureStringWidth(name, 0, 0.35) + + if Selected then + RenderSprite(SettingsButton.SelectedSprite.Dictionary, SettingsButton.SelectedSprite.Texture, CurrentMenu.X, CurrentMenu.Y + SettingsButton.SelectedSprite.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.SelectedSprite.Width + CurrentMenu.WidthOffset, SettingsButton.SelectedSprite.Height) + LeftArrowHovered = RageUI.IsMouseInBounds(CurrentMenu.X + SettingsList.LeftArrow.X - TextOffset + CurrentMenu.SafeZoneSize.X + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.LeftArrow.Y + CurrentMenu.SafeZoneSize.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsList.LeftArrow.Width, SettingsList.LeftArrow.Height) + RightArrowHovered = RageUI.IsMouseInBounds(CurrentMenu.X + SettingsList.RightArrow.X + CurrentMenu.SafeZoneSize.X + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.RightArrow.Y + CurrentMenu.SafeZoneSize.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsList.RightArrow.Width, SettingsList.RightArrow.Height) + end + + if Enabled == true or Enabled == nil then + if Selected then + if Style?.RightLabel ~= nil and Style.RightLabel ~= "" then + RenderText(Style.RightLabel, CurrentMenu.X + SettingsButton.RightText.X - RightBadgeOffset + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsButton.RightText.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.RightText.Scale, 0, 0, 0, 255, 2) + RightOffset = MeasureStringWidth(Style.RightLabel,0,0.35) + end + else + if Style?.RightLabel ~= nil and Style.RightLabel ~= "" then + RightOffset = MeasureStringWidth(Style.RightLabel,0,0.35) + RenderText(Style.RightLabel, CurrentMenu.X + SettingsButton.RightText.X - RightBadgeOffset + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsButton.RightText.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.RightText.Scale, 245, 245, 245, 255, 2) + end + end + end + + RightOffset = RightBadgeOffset * 1.3 + RightOffset + + if Enabled == true or Enabled == nil then + if Selected then + RenderText(Label, CurrentMenu.X + SettingsButton.Text.X + LeftBadgeOffset, CurrentMenu.Y + SettingsButton.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.Text.Scale, 0, 0, 0, 255) + + RenderSprite(SettingsList.LeftArrow.Dictionary, SettingsList.LeftArrow.Texture, CurrentMenu.X + SettingsList.LeftArrow.X - TextOffset- RightOffset + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.LeftArrow.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsList.LeftArrow.Width, SettingsList.LeftArrow.Height, 0, 0, 0, 0, 255) + RenderSprite(SettingsList.RightArrow.Dictionary, SettingsList.RightArrow.Texture, CurrentMenu.X + SettingsList.RightArrow.X + CurrentMenu.WidthOffset - RightOffset, CurrentMenu.Y + SettingsList.RightArrow.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsList.RightArrow.Width, SettingsList.RightArrow.Height, 0, 0, 0, 0, 255) + + RenderText(ListText, CurrentMenu.X + SettingsList.Text.X + CurrentMenu.WidthOffset- RightOffset, CurrentMenu.Y + SettingsList.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsList.Text.Scale, 0, 0, 0, 255, 2) + else + RenderText(Label, CurrentMenu.X + SettingsButton.Text.X + LeftBadgeOffset, CurrentMenu.Y + SettingsButton.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.Text.Scale, 245, 245, 245, 255) + RenderText(ListText, CurrentMenu.X + SettingsList.Text.X + 15 + CurrentMenu.WidthOffset-RightOffset, CurrentMenu.Y + SettingsList.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsList.Text.Scale, 245, 245, 245, 255, 2) + end + else + RenderText(Label, CurrentMenu.X + SettingsButton.Text.X + LeftBadgeOffset, CurrentMenu.Y + SettingsButton.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsButton.Text.Scale, 163, 159, 148, 255) + + if Selected then + RenderSprite(SettingsList.LeftArrow.Dictionary, SettingsList.LeftArrow.Texture, CurrentMenu.X + SettingsList.LeftArrow.X - TextOffset + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.LeftArrow.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsList.LeftArrow.Width, SettingsList.LeftArrow.Height, 0, 163, 159, 148, 255) + RenderSprite(SettingsList.RightArrow.Dictionary, SettingsList.RightArrow.Texture, CurrentMenu.X + SettingsList.RightArrow.X + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.RightArrow.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsList.RightArrow.Width, SettingsList.RightArrow.Height, 0, 163, 159, 148, 255) + + RenderText(ListText, CurrentMenu.X + SettingsList.Text.X + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsList.Text.Scale, 163, 159, 148, 255, 2) + else + RenderText(ListText, CurrentMenu.X + SettingsList.Text.X + 15 + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsList.Text.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, 0, SettingsList.Text.Scale, 163, 159, 148, 255, 2) + end + end + + if type(Style) == "table" then + if Style.Enabled == true or Style.Enabled == nil then + if type(Style) == 'table' then + if Style.LeftBadge ~= nil then + if Style.LeftBadge ~= RageUI.BadgeStyle.None and tonumber(Style.LeftBadge) ~= nil then + RenderSprite(RageUI.GetBadgeDictionary(Style.LeftBadge, Selected), RageUI.GetBadgeTexture(Style.LeftBadge, Selected), CurrentMenu.X, CurrentMenu.Y + SettingsButton.LeftBadge.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.LeftBadge.Width, SettingsButton.LeftBadge.Height, RageUI.GetBadgeColour(Style.LeftBadge, Selected)) + end + end + + if Style.RightBadge ~= nil then + if Style.RightBadge ~= RageUI.BadgeStyle.None and tonumber(Style.RightBadge) ~= nil then + RenderSprite(RageUI.GetBadgeDictionary(Style.RightBadge, Selected), RageUI.GetBadgeTexture(Style.RightBadge, Selected), CurrentMenu.X + SettingsButton.RightBadge.X + CurrentMenu.WidthOffset, CurrentMenu.Y + SettingsButton.RightBadge.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.RightBadge.Width, SettingsButton.RightBadge.Height, 0, RageUI.GetBadgeColour(Style.RightBadge, Selected)) + end + end + end + else + ---@type table + local LeftBadge = RageUI.BadgeStyle.Lock + + ---@type number + local LeftBadgeOffset = ((LeftBadge == RageUI.BadgeStyle.None or tonumber(LeftBadge) == nil) and 0 or 27) + + if LeftBadge ~= RageUI.BadgeStyle.None and tonumber(LeftBadge) ~= nil then + RenderSprite(RageUI.GetBadgeDictionary(LeftBadge, Selected), RageUI.GetBadgeTexture(LeftBadge, Selected), CurrentMenu.X, CurrentMenu.Y + SettingsButton.LeftBadge.Y + CurrentMenu.SubtitleHeight + RageUI.ItemOffset, SettingsButton.LeftBadge.Width, SettingsButton.LeftBadge.Height, nil, CheckBoxLockBadgeColor(Selected)) + end + end + end + + RageUI.ItemOffset = RageUI.ItemOffset + SettingsButton.Rectangle.Height + RageUI.ItemsDescription(CurrentMenu, Description, Selected) + + if Selected and (CurrentMenu.Controls.Left.Active or (CurrentMenu.Controls.Click.Active and LeftArrowHovered)) and not (CurrentMenu.Controls.Right.Active or (CurrentMenu.Controls.Click.Active and RightArrowHovered)) then + Index = Index - 1 + + if Index < 1 then + Index = #Items + end + + local Audio = RageUI.Settings.Audio + RageUI.PlaySound(Audio[Audio.Use].LeftRight.audioName, Audio[Audio.Use].LeftRight.audioRef) + elseif Selected and (CurrentMenu.Controls.Right.Active or (CurrentMenu.Controls.Click.Active and RightArrowHovered)) and not (CurrentMenu.Controls.Left.Active or (CurrentMenu.Controls.Click.Active and LeftArrowHovered)) then + Index = Index + 1 + + if Index > #Items then + Index = 1 + end + + local Audio = RageUI.Settings.Audio + RageUI.PlaySound(Audio[Audio.Use].LeftRight.audioName, Audio[Audio.Use].LeftRight.audioRef) + end + + if (Enabled) then + if Callback then + Callback(Hovered, Selected, ((CurrentMenu.Controls.Select.Active or ((Hovered and CurrentMenu.Controls.Click.Active) and (not LeftArrowHovered and not RightArrowHovered))) and Selected), Index) + end + end + + if Selected and (CurrentMenu.Controls.Select.Active or ((Hovered and CurrentMenu.Controls.Click.Active) and (not LeftArrowHovered and not RightArrowHovered))) then + local Audio = RageUI.Settings.Audio + RageUI.PlaySound(Audio[Audio.Use].Select.audioName, Audio[Audio.Use].Select.audioRef) + + if Submenu and Submenu() then + RageUI.NextMenu = Submenu + end + end + end + + RageUI.Options = RageUI.Options + 1 + end + end end \ No newline at end of file diff --git a/server-data/resources/[bpt_addons]/bpt_menu/fxmanifest.lua b/server-data/resources/[bpt_addons]/bpt_menu/fxmanifest.lua index e5556d997..87fd16564 100644 --- a/server-data/resources/[bpt_addons]/bpt_menu/fxmanifest.lua +++ b/server-data/resources/[bpt_addons]/bpt_menu/fxmanifest.lua @@ -4,17 +4,19 @@ game("gta5") lua54("yes") author("bitpredator") -description("bpt_menu developed for fivem, compatible with esx") +description("Roleplay personal menu supporting ESX") version("1.0.1") +dependency("es_extended") + shared_scripts({ - "@es_extended/locale.lua", + "locale.lua", "locales/*.lua", "config.lua", }) server_scripts({ - "@oxmysql/lib/MySQL.lua", + "@mysql-async/lib/MySQL.lua", "server/main.lua", }) @@ -22,11 +24,12 @@ client_scripts({ "dependencies/menu/RageUI.lua", "dependencies/menu/Menu.lua", "dependencies/menu/MenuController.lua", + "dependencies/menu/elements/*.lua", "dependencies/menu/items/*.lua", - "client/*.lua", -}) -shared_script("@es_extended/imports.lua") - -dependency("es_extended") + "client/utils.lua", + "client/main.lua", + "client/showName.lua", + "client/other.lua", +}) diff --git a/server-data/resources/[bpt_addons]/bpt_menu/locale.lua b/server-data/resources/[bpt_addons]/bpt_menu/locale.lua new file mode 100644 index 000000000..8af754b2c --- /dev/null +++ b/server-data/resources/[bpt_addons]/bpt_menu/locale.lua @@ -0,0 +1,28 @@ +Locales = {} + +function i18n(str, ...) -- Translate string + if not str then + print(("[^1ERROR^7] Resource ^5%s^7 You did not specify a parameter for the Translate function or the value is nil!"):format(GetInvokingResource() or GetCurrentResourceName())) + return 'Given translate function parameter is nil!' + end + + local localeCfg = Locales[Config.Locale] + + if localeCfg then + if localeCfg[str] then + return string.format(localeCfg[str], ...) + elseif Config.Locale ~= 'en' and Locales['en'] and Locales['en'][str] then + return string.format(Locales['en'][str], ...) + else + return 'Translation [' .. Config.Locale .. '][' .. str .. '] does not exist' + end + elseif Config.Locale ~= 'en' and Locales['en'] and Locales['en'][str] then + return string.format(Locales['en'][str], ...) + else + return 'Locale [' .. Config.Locale .. '] does not exist' + end +end + +function TranslateCap(str, ...) -- Translate string first char uppercase + return (i18n(str, ...):gsub("^%l", string.upper)) +end \ No newline at end of file diff --git a/server-data/resources/[bpt_addons]/bpt_menu/locales/br.lua b/server-data/resources/[bpt_addons]/bpt_menu/locales/br.lua new file mode 100644 index 000000000..484c23229 --- /dev/null +++ b/server-data/resources/[bpt_addons]/bpt_menu/locales/br.lua @@ -0,0 +1,216 @@ +Locales["br"] = { + -- DialogBox Name + ["dialogbox_playerid"] = "ID do jogador:", + ["dialogbox_amount"] = "Quantidade (Max. Caracteres (8) :", + ["dialogbox_amount_ammo"] = "Quantidade de Munições (Max. Caracteres (8) ):", + ["dialogbox_vehiclespawner"] = "Nome do Veículo (Max. Caracteres (8) ):", + ["dialogbox_xyz"] = "Posição X Y Z (Max. Caracteres (50) ):", + + -- Menu Default Vars + ["default_gps"] = "Desmacar", + ["default_attitude"] = "Normal", + ["default_voice"] = "Normal", + + -- Menu Notification + ["missing_rights"] = "Você n'não tem os ~r~direitos~w~", + ["no_vehicle"] = "Você n'não está em um veículo", + ["players_nearby"] = "Nenhum jogador por perto", + ["amount_invalid"] = "Quantidade inválida", + ["in_vehicle_give"] = "Impossível dar %s em um veículo", + ["in_vehicle_drop"] = "Impossível jogar %s em um veículo", + ["not_usable"] = "%s n'não é utilizável", + ["not_droppable"] = "%s n'não é descartável", + ["gave_ammo"] = "Você deu x%s munições para %s", + ["no_ammo"] = "Você não tem munição", + ["not_enough_ammo"] = "Você não tem tantas munições", + ["accessories_no_ears"] = "Vous ne possédez pas d'Accessoire d'Oreilles", + ["accessories_no_glasses"] = "Você não tem um óculos", + ["accessories_no_helmet"] = "Você não tem um capacete / chapéu", + ["accessories_no_mask"] = "Você não tem uma máscara", + ["admin_noclipon"] = "NoClip ~g~ativado", + ["admin_noclipoff"] = "NoClip ~r~desativado", + ["admin_godmodeon"] = "Godmod ~g~ativado", + ["admin_godmodeoff"] = "Godmod ~r~desativado", + ["admin_ghoston"] = "Ghostmod ~g~ativado", + ["admin_ghostoff"] = "Ghostmod ~r~desativado", + ["admin_vehicleflip"] = "Carro devolvido", + ["admin_tpmarker"] = "Teleportado no marcador!", + ["admin_nomarker"] = "Nenhum marcador no mapa!", + + -- Main Menu + ["mainmenu_subtitle"] = "INTERAÇÃO MENU", + ["mainmenu_gps_button"] = "GPS", + ["mainmenu_voice_button"] = "Voz", + ["gps"] = "GPS: ~b~%s", + ["approach"] = "Estilo de andar: ~b~%s", + ["voice"] = "Voz: ~b~%s", + + -- Menu Voice Level + ["voice_whisper"] = "Sussurar", + ["voice_normal"] = "Normal", + ["voice_cry"] = "Gritar", + + -- Clothes Menu + ["clothes_title"] = "Vestuário", + ["clothes_torso"] = "Peito", + ["clothes_pants"] = "Pernas", + ["clothes_shoes"] = "Sapatos", + ["clothes_bag"] = "Sac", + ["clothes_bproof"] = "Colete", + + -- Accessories Menu + ["accessories_title"] = "Acessórios", + ["accessories_ears"] = "Accessórios para as Orelhas", + ["accessories_glasses"] = "Óculos", + ["accessories_helmet"] = "Chapeú / Capacete", + ["accessories_mask"] = "Mascará", + + -- Animation Menu + ["animation_title"] = "Animações", + + ["animation_party_title"] = "Festivo", + ["animation_party_smoke"] = "Fumar um cigarro", + ["animation_party_playsong"] = "Tocando música", + ["animation_party_dj"] = "DJ", + ["animation_party_beer"] = "Festejando com refrigerante", + ["animation_party_dancing"] = "Comemorar", + ["animation_party_airguitar"] = "Guitarra no Ar", + ["animation_party_shagging"] = "Air Shagging", + ["animation_party_rock"] = "Rock'n'roll", + ["animation_party_drunk"] = "Bourré sur place", + ["animation_party_vomit"] = "Vômito de carro ", + ["animation_salute_title"] = "Saudações", + ["animation_salute_saluate"] = "Cumprimentar", + ["animation_salute_serrer"] = "Apertar as mãos", + ["animation_salute_tchek"] = "Eae mano!", + ["animation_salute_bandit"] = "Cumprimentar de Bandido", + ["animation_salute_military"] = "Cumprimentar de Militar", + ["animation_work_title"] = "Trabalhar", + ["animation_work_suspect"] = "Se render", + ["animation_work_fisherman"] = "Pescador", + ["animation_work_inspect"] = "Police : Investigar", + ["animation_work_radio"] = "Police : Falar no rádio", + ["animation_work_circulation"] = "Police : Circular", + ["animation_work_binoculars"] = "Police : Binóculo", + ["animation_work_harvest"] = "Agricultor : Colheita", + ["animation_work_repair"] = "Dépanneur : réparer le moteur", + ["animation_work_observe"] = "Médico : Observar", + ["animation_work_talk"] = "Taxi : Falar com o cliente ", + ["animation_work_bill"] = "Taxi : Cobrar a viagem", + ["animation_work_buy"] = "Empilhador : Empilhar caixas ", + ["animation_work_shot"] = "Barman : Servir um shot", + ["animation_work_picture"] = "Jornalista : Tirar fotos", + ["animation_work_notes"] = "Variados : Prancheta", + ["animation_work_hammer"] = "Variados : Martelar paredes", + ["animation_work_beg"] = "SDF : Esmola", + ["animation_work_statue"] = "SDF : Estátua", + ["animation_mood_title"] = "Humor", + ["animation_mood_felicitate"] = "Palmas", + ["animation_mood_nice"] = "Joinha", + ["animation_mood_you"] = "Você", + ["animation_mood_come"] = "Vem", + ["animation_mood_what"] = "Qual foi mano ?", + ["animation_mood_me"] = "A moi", + ["animation_mood_seriously"] = "Eu sabia disso", + ["animation_mood_tired"] = "Estou exausto", + ["animation_mood_shit"] = "Estou fudido", + ["animation_mood_facepalm"] = "Desapontado", + ["animation_mood_calm"] = "Calma", + ["animation_mood_why"] = "Qu'est ce que j'ai fait ?", + ["animation_mood_fear"] = "Assustado", + ["animation_mood_fight"] = "Se aquecendo para lutar", + ["animation_mood_notpossible"] = "Não é possível", + ["animation_mood_embrace"] = "Enlacer", + ["animation_mood_fuckyou"] = "Foda-se", + ["animation_mood_wanker"] = "Punheta", + ["animation_mood_suicide"] = "Suicídio", + ["animation_sports_title"] = "Esportes", + ["animation_sports_muscle"] = "Mostrar músculos", + ["animation_sports_weightbar"] = "Levantar barra de musculação", + ["animation_sports_pushup"] = "Faire des pompes", + ["animation_sports_abs"] = "Faire des abdos", + ["animation_sports_yoga"] = "Faire du yoga", + ["animation_other_title"] = "Variados", + ["animation_other_sit"] = "Sauce", + ["animation_other_waitwall"] = "Encostado fumando um cigarro", + ["animation_other_ontheback"] = "Deitado pra cima", + ["animation_other_stomach"] = "Deitado de costa", + ["animation_other_clean"] = "Limpar", + ["animation_other_cooking"] = "Preparar refeição", + ["animation_other_search"] = "Position de Fouille", + ["animation_other_selfie"] = "Tirar uma selfie", + ["animation_other_door"] = "Escutar uma porta", + ["animation_pegi_title"] = "PEGI 21", + ["animation_pegi_hsuck"] = "Boquete no carro", + ["animation_pegi_fsuck"] = "Femme suc** en voiture", + ["animation_pegi_hfuck"] = "Homme bais** en voiture", + ["animation_pegi_ffuck"] = "Femme bais** en voiture", + ["animation_pegi_scratch"] = "Mãos nas bolas", + ["animation_pegi_charm"] = "Fazer charme", + ["animation_pegi_golddigger"] = "Fumar com pose", + ["animation_pegi_breast"] = "Mostar peitinhos", + ["animation_pegi_strip1"] = "Strip Tease 1", + ["animation_pegi_strip2"] = "Strip Tease 2", + ["animation_pegi_stripfloor"] = "Strip Tease au sol", + ["animation_attitudes_title"] = "Estilo de andar", + + -- Vehicle Menu + ["vehicle_title"] = "Gestão do veículo", + ["vehicle_engine_button"] = "Ligar / Desligar Motor", + ["vehicle_door_button"] = "Abrir / Fechar Porta", + ["vehicle_hood_button"] = "Abrir / Fechar Capô", + ["vehicle_trunk_button"] = "Abrir / Fechar Porta-malas", + ["vehicle_door_frontleft"] = "Frente Esquerda", + ["vehicle_door_frontright"] = "Frente Direita", + ["vehicle_door_backleft"] = "Traseira esquerda", + ["vehicle_door_backright"] = "Traseira direita", + + -- Boss Management Menu + ["bossmanagement_title"] = "Gestão Empresarial", + ["bossmanagement_chest_button"] = "Cofre empresarial:", + ["bossmanagement_hire_button"] = "Recruta", + ["bossmanagement_fire_button"] = "Virer", + ["bossmanagement_promote_button"] = "Promover", + ["bossmanagement_demote_button"] = "Remover", + + -- Boss Management 2 Menu + ["bossmanagement2_title"] = "Gestão Organização", + ["bossmanagement2_chest_button"] = "Cofre da organização:", + ["bossmanagement2_hire_button"] = "Recruta", + ["bossmanagement2_fire_button"] = "Virer", + ["bossmanagement2_promote_button"] = "Promouvoir", + ["bossmanagement2_demote_button"] = "Destituer", + + -- Admin Menu + ["admin_title"] = "Administração", + ["admin_goto_button"] = "Teleportar no jogador", + ["admin_bring_button"] = "Teleportar jogador pra você", + ["admin_tpxyz_button"] = "Teleportar para as coordenadas", + ["admin_noclip_button"] = "NoClip", + ["admin_godmode_button"] = "Godmod", + ["admin_ghostmode_button"] = "Ghostmod", + ["admin_spawnveh_button"] = "Spawnar Veículo", + ["admin_repairveh_button"] = "Reparar veículo", + ["admin_flipveh_button"] = "Puxar veículo", + ["admin_givemoney_button"] = "Conceder dinheiro", + ["admin_givebank_button"] = "Conceder dinheiro(Banco)", + ["admin_givedirtymoney_button"] = "Conceda dinheiro sujo", + ["admin_showxyz_button"] = "Mostrar / Ocultar coordenadas", + ["admin_showname_button"] = "Mostrar / Ocultar nomes dos jogadores", + ["admin_tpmarker_button"] = "Teleporte para a localização marcada", + ["admin_revive_button"] = "Reviver jogador", + ["admin_changeskin_button"] = "Mudar aparência", + ["admin_saveskin_button"] = "Salvar aparência", + + -- GPS + ["none"] = "No Location", -- No translated + ["police_station"] = "Police Station", -- No translated + ["central_garage"] = "Central garage", -- No translated + ["hospital"] = "Hospital", -- No translated + ["dealer"] = "Cardealer", -- No translated + ["bennys_custom"] = "Bennys Custom", -- No translated + ["job_center"] = "Employment center", -- No translated + ["driving_school"] = "Driving school", -- No translated + ["tequila-la"] = "tequila-la", -- No translated + ["bahama_mamas"] = "bahama_mamas", -- No translated +} diff --git a/server-data/resources/[bpt_addons]/bpt_menu/locales/de.lua b/server-data/resources/[bpt_addons]/bpt_menu/locales/de.lua new file mode 100644 index 000000000..57bd2a2e8 --- /dev/null +++ b/server-data/resources/[bpt_addons]/bpt_menu/locales/de.lua @@ -0,0 +1,216 @@ +Locales["de"] = { + -- DialogBox Name + ["dialogbox_playerid"] = "Player ID (8 Zeichen Maximum):", + ["dialogbox_amount"] = "Amount (8 Zeichen Maximum):", + ["dialogbox_amount_ammo"] = "Amount Amount (8 Zeichen Maximum):", + ["dialogbox_vehiclespawner"] = "Vehicle Name (50 Zeichen Maximum):", + ["dialogbox_xyz"] = "XYZ Position (50 Zeichen Maximum):", + + -- Menu Default Vars + ["default_gps"] = "None", + ["default_attitude"] = "Normal", + ["default_voice"] = "Normal", + + -- Menu Notification + ["missing_rights"] = "Du hast nicht die ~r~Rechte~w~", + ["no_vehicle"] = "Du bist in keinem Fahrzeug", + ["players_nearby"] = "Keine Spieler in der Nähe", + ["amount_invalid"] = "Ungültiger Betrag", + ["in_vehicle_give"] = "%s kann nicht im Auto gegeben werden", + ["in_vehicle_drop"] = "Can not throw %s in a vehicle", + ["not_usable"] = "%s ist nicht verwendbar", + ["not_droppable"] = "%s ist nicht wegwerfbar", + ["gave_ammo"] = "Du hast x %s Munition an %s gegeben", + ["no_ammo"] = "Du hast keine Munition", + ["not_enough_ammo"] = "Du hast nicht so viel Munition", + ["accessories_no_ears"] = "Du hast kein Ohr Zubehör", + ["accessories_no_glasses"] = "Du hast keine Brille", + ["accessories_no_helmet"] = "Du hast keinen Helm/Hut", + ["accessories_no_mask"] = "Du hast keine Maske", + ["admin_noclipon"] = "NoClip ~g~ aktiviert", + ["admin_noclipoff"] = "NoClip ~r~ deaktiviert", + ["admin_godmodeon"] = "Invincible ~g~ aktiviert", + ["admin_godmodeoff"] = "Invincible ~r~ deaktiviert", + ["admin_ghoston"] = "Ghost mode ~g~ aktiviert", + ["admin_ghostoff"] = "Ghost mode ~r~ deaktiviert", + ["admin_vehicleflip"] = "Auto zurückgegeben", + ["admin_tpmarker"] = "Teleportiert zur Markierung!", + ["admin_nomarker"] = "Keine Markierung auf der Karte", + + -- Main Menu + ["mainmenu_subtitle"] = "INTERAKTIONSMENÜ", + ["mainmenu_gps_button"] = "GPS", + ["mainmenu_voice_button"] = "Stimme", + ["gps"] = "GPS: ~b~%s", + ["approach"] = "Approach: ~b~%s", + ["voice"] = "Stimme: ~b~%s", + + -- Menu Voice Level + ["voice_whisper"] = " Flüstern", + ["voice_normal"] = "Normal", + ["voice_cry"] = "Schreien", + + -- Clothes Menu + ["clothes_title"] = "Kleidungsmenü", + ["clothes_torso"] = "Oberteil", + ["clothes_pants"] = "Hose", + ["clothes_shoes"] = "Schuhe", + ["clothes_bag"] = "Rucksack", + ["clothes_bproof"] = "Schusssichere Weste", + + -- Accessories Menu + ["accessories_title"] = "Zubehör", + ["accessories_ears"] = "Ohren Zubehör", + ["accessories_glasses"] = "Brille", + ["accessories_helmet"] = "Hut / Helm", + ["accessories_mask"] = "Maske", + + -- Animation Menu + ["animation_title"] = "Animationen", + + ["animation_party_title"] = "Festivals", + ["animation_party_smoke"] = "Smoking a cigarette", + ["animation_party_playsong"] = "Play music", + ["animation_party_dj"] = "DJ", + ["animation_party_beer"] = "Beer en Zik", + ["animation_party_dancing"] = "Make the party", + ["animation_party_airguitar"] = "Air Guitar", + ["animation_party_shagging"] = "Air Shagging", + ["animation_party_rock"] = "Rock n roll", + ["animation_party_drunk"] = "Stuck on the spot", + ["animation_party_vomit"] = "Vomit by car", + ["animation_salute_title"] = "Greetings", + ["animation_salute_saluate"] = "Greet", + ["animation_salute_serrer"] = "Shake hands", + ["animation_salute_tchek"] = "Chek", + ["animation_salute_bandit"] = "Hi bandit", + ["animation_salute_military"] = "Hi Military", + ["animation_work_title"] = "Work", + ["animation_work_suspect"] = "surrender", + ["animation_work_fisherman"] = "Fisherman", + ["animation_work_inspect"] = "Font: investigate", + ["animation_work_radio"] = "Font: talk on the radio", + ["animation_work_circulation"] = "Font: circulation", + ["animation_work_binoculars"] = "Font: binoculars", + ["animation_work_harvest"] = "Agriculture: harvest", + ["animation_work_repair"] = "Troubleshooter: repair the engine", + ["animation_work_observe"] = "Doctor: observe", + ["animation_work_talk"] = "Taxi: talk to the customer", + ["animation_work_bill"] = "Taxi: give the bill", + ["animation_work_buy"] = "Grocer: give the groceries", + ["animation_work_shot"] = "Bartender: serve a shot", + ["animation_work_picture"] = "Reporter: Take a picture", + ["animation_work_notes"] = "All: Take notes", + ["animation_work_hammer"] = "All: Hammer blow", + ["animation_work_beg"] = "SDF: Make the round", + ["animation_work_statue"] = "SDF: Make the statue", + ["animation_mood_title"] = "Moods", + ["animation_mood_felicitate"] = "Congratulate", + ["animation_mood_nice"] = "Super", + ["animation_mood_you"] = "You", + ["animation_mood_come"] = "Come", + ["animation_mood_what"] = "Keskya?", + ["animation_mood_me"] = "To me", + ["animation_mood_seriously"] = "I knew it, fuckin", + ["animation_mood_tired"] = "To be exhausted", + ["animation_mood_shit"] = "Im in the shit", + ["animation_mood_facepalm"] = "Facepalm", + ["animation_mood_calm"] = "Calm down", + ["animation_mood_why"] = "What did I do?", + ["animation_mood_fear"] = "Be afraid", + ["animation_mood_fight"] = "Fight?", + ["animation_mood_notpossible"] = "Its not Possible!", + ["animation_mood_embrace"] = "Enlacer", + ["animation_mood_fuckyou"] = "Finger of Honor", + ["animation_mood_wanker"] = "Wanker", + ["animation_mood_suicide"] = "Ball in the head", + ["animation_sports_title"] = "Sports", + ["animation_sports_muscle"] = "Show your muscles", + ["animation_sports_weightbar"] = "Weight bar", + ["animation_sports_pushup"] = "Make pumps", + ["animation_sports_abs"] = "Make abs", + ["animation_sports_yoga"] = "Do yoga", + ["animation_other_title"] = "Miscellaneous", + ["animation_other_sit"] = "Sit ", + ["animation_other_waitwall"] = "Wait against a wall", + ["animation_other_ontheback"] = "Lying on the back", + ["animation_other_stomach"] = "Lying on the stomach", + ["animation_other_clean"] = "Clean", + ["animation_other_cooking"] = "Prepare to eat", + ["animation_other_search"] = "Search Position", + ["animation_other_selfie"] = "Take a selfie", + ["animation_other_door"] = "Listen to a door", + ["animation_pegi_title"] = "PEGI 21", + ["animation_pegi_hsuck"] = "Man getting sucked in the car", + ["animation_pegi_fsuck"] = "Woman sucks in the car", + ["animation_pegi_hfuck"] = "Man kiss ** by car", + ["animation_pegi_ffuck"] = "Woman fucked by car", + ["animation_pegi_scratch"] = "Scratching the balls", + ["animation_pegi_charm"] = "Make charm", + ["animation_pegi_golddigger"] = "pose michto", + ["animation_pegi_breast"] = "Show his chest", + ["animation_pegi_strip1"] = "Strip Tease 1", + ["animation_pegi_strip2"] = "Strip Tease 2", + ["animation_pegi_stripfloor"] = "Strip Tease on the ground", + ["animation_attitudes_title"] = "Approach", + + -- Vehicle Menu + ["vehicle_title"] = "Fahrzeugmenü", + ["vehicle_engine_button"] = "Motor an/aus schalten", + ["vehicle_door_button"] = "Tür öffnen/schließen", + ["vehicle_hood_button"] = "Motorhaube öffnen/schließen", + ["vehicle_trunk_button"] = "Kofferraum öffnen/schließen", + ["vehicle_door_frontleft"] = "Vorne Links", + ["vehicle_door_frontright"] = "Vorne Rechts", + ["vehicle_door_backleft"] = "Hinten Links", + ["vehicle_door_backright"] = "Hinten Rechts", + + -- Boss Management Menu + ["bossmanagement_title"] = "Firmen Managment", + ["bossmanagement_chest_button"] = "Tresor: ", + ["bossmanagement_hire_button"] = "Einstellen", + ["bossmanagement_fire_button"] = "Entlassen", + ["bossmanagement_promote_button"] = "Befördern", + ["bossmanagement_demote_button"] = "Degradieren", + + -- Boss Management 2 Menu + ["bossmanagement2_title"] = "Organisation Management", + ["bossmanagement2_chest_button"] = "Organisation Truhe:", + ["bossmanagement2_hire_button"] = "Einstellen", + ["bossmanagement2_fire_button"] = "Entlassen", + ["bossmanagement2_promote_button"] = "Befördern", + ["bossmanagement2_demote_button"] = "Degradieren", + + -- Admin Menu + ["admin_title"] = "Administration", + ["admin_goto_button"] = "TP zu Spieler", + ["admin_bring_button"] = "TP Spieler zu mir", + ["admin_tpxyz_button"] = "TP zu Koordinaten", + ["admin_noclip_button"] = "NoClip", + ["admin_godmode_button"] = "GodMode", + ["admin_ghostmode_button"] = "Unsichtbarer Modus", + ["admin_spawnveh_button"] = "Fahrzeug spawnen", + ["admin_repairveh_button"] = "Fahrzeug reparieren", + ["admin_flipveh_button"] = "Rückgabe des Fahrzeugs", + ["admin_givemoney_button"] = "Geld geben ", + ["admin_givebank_button"] = "Geld geben (bank) ", + ["admin_givedirtymoney_button"] = "Schwarzgeld senden", + ["admin_showxyz_button"] = "Koordinaten ein-/ausblenden", + ["admin_showname_button"] = "Spielernamen ein-/ausblenden", + ["admin_tpmarker_button"] = "Zur Markierung teleportieren", + ["admin_revive_button"] = "Spieler wiederbeleben", + ["admin_changeskin_button"] = "Aussehen ändern", + ["admin_saveskin_button"] = "Aussehen speichern", + + -- GPS + ["none"] = "No Location", -- No translated + ["police_station"] = "Police Station", -- No translated + ["central_garage"] = "Central garage", -- No translated + ["hospital"] = "Hospital", -- No translated + ["dealer"] = "Cardealer", -- No translated + ["bennys_custom"] = "Bennys Custom", -- No translated + ["job_center"] = "Employment center", -- No translated + ["driving_school"] = "Driving school", -- No translated + ["tequila-la"] = "tequila-la", -- No translated + ["bahama_mamas"] = "bahama_mamas", -- No translated +} diff --git a/server-data/resources/[bpt_addons]/bpt_menu/locales/en.lua b/server-data/resources/[bpt_addons]/bpt_menu/locales/en.lua new file mode 100644 index 000000000..8e7be6e5a --- /dev/null +++ b/server-data/resources/[bpt_addons]/bpt_menu/locales/en.lua @@ -0,0 +1,215 @@ +Locales["en"] = { + -- DialogBox Name + ["dialogbox_playerid"] = "Player ID (8 Characters Maximum):", + ["dialogbox_amount"] = "Amount (8 Characters Maximum):", + ["dialogbox_amount_ammo"] = "Ammo Amount (8 Characters Maximum):", + ["dialogbox_vehiclespawner"] = "Vehicle Name (50 Characters Maximum):", + ["dialogbox_xyz"] = "XYZ Position (50 Characters Maximum):", + + -- Menu Default Vars + ["default_gps"] = "None", + ["default_attitude"] = "Normal", + ["default_voice"] = "Normal", + + -- Menu Notification + ["missing_rights"] = "You do not have the ~r~rights~w~", + ["no_vehicle"] = "You are not in a vehicle", + ["players_nearby"] = "No players nearby", + ["amount_invalid"] = "Invalid amount", + ["in_vehicle_give"] = "Can not give %s in a vehicle", + ["in_vehicle_drop"] = "Can not throw %s in a vehicle", + ["not_usable"] = "%s is not usable", + ["not_droppable"] = "%s is not disposable", + ["gave_ammo"] = "You have given x %s ammo to %s", + ["no_ammo"] = "You do not have any ammo", + ["not_enough_ammo"] = "You do not have as many ammo", + ["accessories_no_ears"] = "You do not have an ear accessory", + ["accessories_no_glasses"] = "You do not have glasses", + ["accessories_no_helmet"] = "You do not have a helmet / hat", + ["accessories_no_mask"] = "You do not have a mask", + ["admin_noclipon"] = "NoClip ~g~ enabled", + ["admin_noclipoff"] = "NoClip ~r~ disabled", + ["admin_godmodeon"] = "Invincible ~g~ enabled", + ["admin_godmodeoff"] = "Invincible ~r~ disabled", + ["admin_ghoston"] = "Ghost mode ~g~ enabled", + ["admin_ghostoff"] = "Ghost mode ~r~ disabled", + ["admin_vehicleflip"] = "Car returned", + ["admin_tpmarker"] = "Teleported on the marker!", + ["admin_nomarker"] = "No marker on the map!", + + -- Main Menu + ["mainmenu_subtitle"] = "INTERACTION MENU", + ["mainmenu_gps_button"] = "GPS", + ["mainmenu_voice_button"] = "Voice", + ["gps"] = "GPS: ~b~%s", + ["approach"] = "Approach: ~b~%s", + ["voice"] = "Voice: ~b~%s", + + -- Menu Voice Level + ["voice_whisper"] = "Whisper", + ["voice_normal"] = "Normal", + ["voice_cry"] = "Shout", + + -- Clothes Menu + ["clothes_title"] = "Clothing", + ["clothes_torso"] = "High", + ["clothes_pants"] = "Pants", + ["clothes_shoes"] = "Shoes", + ["clothes_bag"] = "Bag", + ["clothes_bproof"] = "Bullet proof vest", + + -- Accessories Menu + ["accessories_title"] = "Accessories", + ["accessories_ears"] = "Ears Accessory", + ["accessories_glasses"] = "Glasses", + ["accessories_helmet"] = "Hat / Helmet", + ["accessories_mask"] = "Mask", + + -- Animation Menu + ["animation_title"] = "Animations", + ["animation_party_title"] = "Festivals", + ["animation_party_smoke"] = "Smoking a cigarette", + ["animation_party_playsong"] = "Play music", + ["animation_party_dj"] = "DJ", + ["animation_party_beer"] = "Beer en Zik", + ["animation_party_dancing"] = "Make the party", + ["animation_party_airguitar"] = "Air Guitar", + ["animation_party_shagging"] = "Air Shagging", + ["animation_party_rock"] = "Rock n roll", + ["animation_party_drunk"] = "Stuck on the spot", + ["animation_party_vomit"] = "Vomit by car", + ["animation_salute_title"] = "Greetings", + ["animation_salute_saluate"] = "Greet", + ["animation_salute_serrer"] = "Shake hands", + ["animation_salute_tchek"] = "Chek", + ["animation_salute_bandit"] = "Hi bandit", + ["animation_salute_military"] = "Hi Military", + ["animation_work_title"] = "Work", + ["animation_work_suspect"] = "surrender", + ["animation_work_fisherman"] = "Fisherman", + ["animation_work_inspect"] = "Font: investigate", + ["animation_work_radio"] = "Font: talk on the radio", + ["animation_work_circulation"] = "Font: circulation", + ["animation_work_binoculars"] = "Font: binoculars", + ["animation_work_harvest"] = "Agriculture: harvest", + ["animation_work_repair"] = "Troubleshooter: repair the engine", + ["animation_work_observe"] = "Doctor: observe", + ["animation_work_talk"] = "Taxi: talk to the customer", + ["animation_work_bill"] = "Taxi: give the bill", + ["animation_work_buy"] = "Grocer: give the groceries", + ["animation_work_shot"] = "Bartender: serve a shot", + ["animation_work_picture"] = "Reporter: Take a picture", + ["animation_work_notes"] = "All: Take notes", + ["animation_work_hammer"] = "All: Hammer blow", + ["animation_work_beg"] = "SDF: Make the round", + ["animation_work_statue"] = "SDF: Make the statue", + ["animation_mood_title"] = "Moods", + ["animation_mood_felicitate"] = "Congratulate", + ["animation_mood_nice"] = "Super", + ["animation_mood_you"] = "You", + ["animation_mood_come"] = "Come", + ["animation_mood_what"] = "Keskya?", + ["animation_mood_me"] = "To me", + ["animation_mood_seriously"] = "I knew it, fuckin", + ["animation_mood_tired"] = "To be exhausted", + ["animation_mood_shit"] = "Im in the shit", + ["animation_mood_facepalm"] = "Facepalm", + ["animation_mood_calm"] = "Calm down", + ["animation_mood_why"] = "What did I do?", + ["animation_mood_fear"] = "Be afraid", + ["animation_mood_fight"] = "Fight?", + ["animation_mood_notpossible"] = "Its not Possible!", + ["animation_mood_embrace"] = "Enlacer", + ["animation_mood_fuckyou"] = "Finger of Honor", + ["animation_mood_wanker"] = "Wanker", + ["animation_mood_suicide"] = "Ball in the head", + ["animation_sports_title"] = "Sports", + ["animation_sports_muscle"] = "Show your muscles", + ["animation_sports_weightbar"] = "Weight bar", + ["animation_sports_pushup"] = "Make pumps", + ["animation_sports_abs"] = "Make abs", + ["animation_sports_yoga"] = "Do yoga", + ["animation_other_title"] = "Miscellaneous", + ["animation_other_sit"] = "Sit ", + ["animation_other_waitwall"] = "Wait against a wall", + ["animation_other_ontheback"] = "Lying on the back", + ["animation_other_stomach"] = "Lying on the stomach", + ["animation_other_clean"] = "Clean", + ["animation_other_cooking"] = "Prepare to eat", + ["animation_other_search"] = "Search Position", + ["animation_other_selfie"] = "Take a selfie", + ["animation_other_door"] = "Listen to a door", + ["animation_pegi_title"] = "PEGI 21", + ["animation_pegi_hsuck"] = "Man getting sucked in the car", + ["animation_pegi_fsuck"] = "Woman sucks in the car", + ["animation_pegi_hfuck"] = "Man kiss ** by car", + ["animation_pegi_ffuck"] = "Woman fucked by car", + ["animation_pegi_scratch"] = "Scratching the balls", + ["animation_pegi_charm"] = "Make charm", + ["animation_pegi_golddigger"] = "pose michto", + ["animation_pegi_breast"] = "Show his chest", + ["animation_pegi_strip1"] = "Strip Tease 1", + ["animation_pegi_strip2"] = "Strip Tease 2", + ["animation_pegi_stripfloor"] = "Strip Tease on the ground", + ["animation_attitudes_title"] = "Approach", + + -- Vehicle Menu + ["vehicle_title"] = "Vehicle Management", + ["vehicle_engine_button"] = "Switch on / off the engine", + ["vehicle_door_button"] = "Open / Close Door", + ["vehicle_hood_button"] = "Open / Close Hood", + ["vehicle_trunk_button"] = "Open / Close Safe", + ["vehicle_door_frontleft"] = "Front Left", + ["vehicle_door_frontright"] = "Before Right", + ["vehicle_door_backleft"] = "Back Left", + ["vehicle_door_backright"] = "Rear Right", + + -- Boss Management Menu + ["bossmanagement_title"] = "Company Management", + ["bossmanagement_chest_button"] = "Company Safe:", + ["bossmanagement_hire_button"] = "Recruit", + ["bossmanagement_fire_button"] = "Fire", + ["bossmanagement_promote_button"] = "Promote", + ["bossmanagement_demote_button"] = "Demote", + + -- Boss Management 2 Menu + ["bossmanagement2_title"] = "Organization Management", + ["bossmanagement2_chest_button"] = "Organization Chest:", + ["bossmanagement2_hire_button"] = "Recruit", + ["bossmanagement2_fire_button"] = "Fire", + ["bossmanagement2_promote_button"] = "Promote", + ["bossmanagement2_demote_button"] = "Demote", + + -- Admin Menu + ["admin_title"] = "Administration", + ["admin_goto_button"] = "TP on Player", + ["admin_bring_button"] = "TP Player on me", + ["admin_tpxyz_button"] = "TP on Coordinates", + ["admin_noclip_button"] = "NoClip", + ["admin_godmode_button"] = "Invincible Mode", + ["admin_ghostmode_button"] = "Ghost Mode", + ["admin_spawnveh_button"] = "Spawn a Vehicle", + ["admin_repairveh_button"] = "Repair Vehicle", + ["admin_flipveh_button"] = "Return the vehicle", + ["admin_givemoney_button"] = "Grant money ", + ["admin_givebank_button"] = "Grant money (bank) ", + ["admin_givedirtymoney_button"] = "Sending dirty money", + ["admin_showxyz_button"] = "Show / Hide Coordinates", + ["admin_showname_button"] = "Show / Hide Player Names", + ["admin_tpmarker_button"] = "TP on the Marker", + ["admin_revive_button"] = "Revive a Player", + ["admin_changeskin_button"] = "Change Appearance", + ["admin_saveskin_button"] = "Save Appearance", + + -- GPS + ["none"] = "No Location", + ["police_station"] = "Police Station", + ["central_garage"] = "Central garage", + ["hospital"] = "Hospital", + ["dealer"] = "Cardealer", + ["bennys_custom"] = "Bennys Custom", + ["job_center"] = "Employment center", + ["driving_school"] = "Driving school", + ["tequila-la"] = "tequila-la", + ["bahama_mamas"] = "bahama_mamas", +} diff --git a/server-data/resources/[bpt_addons]/bpt_menu/locales/es.lua b/server-data/resources/[bpt_addons]/bpt_menu/locales/es.lua new file mode 100644 index 000000000..e26eef086 --- /dev/null +++ b/server-data/resources/[bpt_addons]/bpt_menu/locales/es.lua @@ -0,0 +1,215 @@ +Locales["es"] = { + -- DialogBox Name + ["dialogbox_playerid"] = "ID Jugador (8 Caracteres Máximo):", + ["dialogbox_amount"] = "Cantidad (8 Caracteres Máximo):", + ["dialogbox_amount_ammo"] = "Cantidad Cantidad (8 Caracteres Máximo):", + ["dialogbox_vehiclespawner"] = "Nombre vehiculo (50 Caracteres Máximo):", + ["dialogbox_xyz"] = "Posicion XYZ (50 Caracteres Máximo):", + + -- Menu Default Vars + ["default_gps"] = "Ninguna", + ["default_attitude"] = "Normal", + ["default_voice"] = "Normal", + + -- Menu Notification + ["missing_rights"] = "No tienes los suficientes derechos ~r~derechos~w~", + ["no_vehicle"] = "No estás en un vehículo", + ["players_nearby"] = "No hay jugadores cerca", + ["amount_invalid"] = "Cantidad no válida", + ["in_vehicle_give"] = "No puedes dar %s en un vehiculo", + ["in_vehicle_drop"] = "No puedes tirar %s en un vehiculo", + ["not_usable"] = "%s no se puede usar", + ["not_droppable"] = "%s no se puede tirar", + ["gave_ammo"] = "Distes x %s munición a %s", + ["no_ammo"] = "No tienes munición", + ["not_enough_ammo"] = "No tienes suficiente munición", + ["accessories_no_ears"] = "No tienes un accesorio de oreja", + ["accessories_no_glasses"] = "No tienes gafas", + ["accessories_no_helmet"] = "No tienes casco / gorra / gorro", + ["accessories_no_mask"] = "No tienes una máscara", + ["admin_noclipon"] = "NoClip ~g~ habilitado", + ["admin_noclipoff"] = "NoClip ~r~ deshabilitado", + ["admin_godmodeon"] = "Invencible ~g~ habilitado", + ["admin_godmodeoff"] = "Invencible ~r~ deshabilitado", + ["admin_ghoston"] = "Modo Ghost ~g~ habilitado", + ["admin_ghostoff"] = "Modo Ghost ~r~ deshabilitado", + ["admin_vehicleflip"] = "Coche devuelto", + ["admin_tpmarker"] = "¡Teletransportado al marcador!", + ["admin_nomarker"] = "¡No hay marcador en el mapa!", + + -- Main Menu + ["mainmenu_subtitle"] = "MENU INTERACCION", + ["mainmenu_gps_button"] = "GPS", + ["mainmenu_voice_button"] = "Voz", + ["gps"] = "GPS: ~b~%s", + ["approach"] = "Aproximar: ~b~%s", + ["voice"] = "Voz: ~b~%s", + + -- Menu Voice Level + ["voice_whisper"] = "Susurrar", + ["voice_normal"] = "Normal", + ["voice_cry"] = "Gritar", + + -- Clothes Menu + ["clothes_title"] = "Ropa", + ["clothes_torso"] = "Torso", + ["clothes_pants"] = "Pantalones", + ["clothes_shoes"] = "Zapatos", + ["clothes_bag"] = "Bolso/a", + ["clothes_bproof"] = "Chaleco Anti-Balas", + + -- Accessories Menu + ["accessories_title"] = "Accesorios", + ["accessories_ears"] = "Accesorios de oreja", + ["accessories_glasses"] = "Gafas", + ["accessories_helmet"] = "Gorra / Casco", + ["accessories_mask"] = "Máscara", + + -- Animation Menu + ["animation_title"] = "Animaciones", + ["animation_party_title"] = "Festivales", + ["animation_party_smoke"] = "Fumar un cigarro", + ["animation_party_playsong"] = "Poner música", + ["animation_party_dj"] = "DJ", + ["animation_party_beer"] = "Cerveza", + ["animation_party_dancing"] = "Montar una fiesta", + ["animation_party_airguitar"] = "Tocar la guitarra", + ["animation_party_shagging"] = "Fornicar al aire", + ["animation_party_rock"] = "Rock n roll", + ["animation_party_drunk"] = "Borracho", + ["animation_party_vomit"] = "Vomitar", + ["animation_salute_title"] = "Saludos", + ["animation_salute_saluate"] = "Saludar", + ["animation_salute_serrer"] = "Dar la mano", + ["animation_salute_tchek"] = "Chek", + ["animation_salute_bandit"] = "Saludo bandido", + ["animation_salute_military"] = "Saludo militar", + ["animation_work_title"] = "Trabajo", + ["animation_work_suspect"] = "Rendirse", + ["animation_work_fisherman"] = "Pescadero", + ["animation_work_inspect"] = "Policia: investigar", + ["animation_work_radio"] = "Policia: hablar en la radio", + ["animation_work_circulation"] = "Policia: circulación", + ["animation_work_binoculars"] = "Font: prismáticos", + ["animation_work_harvest"] = "Agricultura: cosecha", + ["animation_work_repair"] = "Mecánico: arreglar el motor", + ["animation_work_observe"] = "Médico: observar", + ["animation_work_talk"] = "Taxi: hablar con el cliente", + ["animation_work_bill"] = "Taxi: entregar factura", + ["animation_work_buy"] = "Dependiente: entregar la compra", + ["animation_work_shot"] = "Camarero: servir un chupito", + ["animation_work_picture"] = "Reportero: sacar una foto", + ["animation_work_notes"] = "Todos: Tomar notas", + ["animation_work_hammer"] = "Todos: Golpe de martillo", + ["animation_work_beg"] = "SDF: hacer la ronda", + ["animation_work_statue"] = "SDF: hacer la estatua", + ["animation_mood_title"] = "Estado", + ["animation_mood_felicitate"] = "Felicitar", + ["animation_mood_nice"] = "Guay", + ["animation_mood_you"] = "Tu", + ["animation_mood_come"] = "Vienes", + ["animation_mood_what"] = "Que?", + ["animation_mood_me"] = "A mi", + ["animation_mood_seriously"] = "Lo sabia, joder", + ["animation_mood_tired"] = "Exhausto", + ["animation_mood_shit"] = "Estoy en la mierda", + ["animation_mood_facepalm"] = "Facepalm", + ["animation_mood_calm"] = "Tranquilizate", + ["animation_mood_why"] = "Que hice?", + ["animation_mood_fear"] = "Cagate", + ["animation_mood_fight"] = "Pelea?", + ["animation_mood_notpossible"] = "No es posible!", + ["animation_mood_embrace"] = "Abrazar", + ["animation_mood_fuckyou"] = "Dedo del medio", + ["animation_mood_wanker"] = "Una buena paja", + ["animation_mood_suicide"] = "Bala en la cabeza", + ["animation_sports_title"] = "Deportes", + ["animation_sports_muscle"] = "Mostrar tus músculos", + ["animation_sports_weightbar"] = "Barra de pesas", + ["animation_sports_pushup"] = "Hacer flexiones", + ["animation_sports_abs"] = "Hacer abdominales", + ["animation_sports_yoga"] = "Hacer yoga", + ["animation_other_title"] = "Random", + ["animation_other_sit"] = "Sentarse", + ["animation_other_waitwall"] = "Apoyarse contra el muro", + ["animation_other_ontheback"] = "Tumbarse de frente", + ["animation_other_stomach"] = "Tumbarse de espaldas", + ["animation_other_clean"] = "Limpiar", + ["animation_other_cooking"] = "Preparar la comida", + ["animation_other_search"] = "Buscar posición", + ["animation_other_selfie"] = "Sacar un selfie", + ["animation_other_door"] = "Escuchar por la puerta", + ["animation_pegi_title"] = "PEGI 18", + ["animation_pegi_hsuck"] = "Hombre recibiendo felación", + ["animation_pegi_fsuck"] = "Mujer chupa en el coche", + ["animation_pegi_hfuck"] = "Hombre fornica ** en el coche", + ["animation_pegi_ffuck"] = "Mujer fornicando en coche", + ["animation_pegi_scratch"] = "Rascarse la pelotas", + ["animation_pegi_charm"] = "Producir encanto", + ["animation_pegi_golddigger"] = "Pose de flipao", + ["animation_pegi_breast"] = "Mostrar tetas", + ["animation_pegi_strip1"] = "Strip Tease 1", + ["animation_pegi_strip2"] = "Strip Tease 2", + ["animation_pegi_stripfloor"] = "Strip Tease en el suelo", + ["animation_attitudes_title"] = "Acercarse", + + -- Vehicle Menu + ["vehicle_title"] = "Vehículos", + ["vehicle_engine_button"] = "Encender / Apagar motor", + ["vehicle_door_button"] = "Abrir / Cerrar Puerta", + ["vehicle_hood_button"] = "Abrir / Cerrar Capó", + ["vehicle_trunk_button"] = "Abrir / Cerrar Maletero", + ["vehicle_door_frontleft"] = "Puerta delantera izquierda", + ["vehicle_door_frontright"] = "Puerta delantera derecha", + ["vehicle_door_backleft"] = "Puerta trasera izquierda", + ["vehicle_door_backright"] = "Puerta trasera derecha", + + -- Boss Management Menu + ["bossmanagement_title"] = "Negocios", + ["bossmanagement_chest_button"] = "Negocio Cofre:", + ["bossmanagement_hire_button"] = "Reclutar", + ["bossmanagement_fire_button"] = "Despedir", + ["bossmanagement_promote_button"] = "Promocionar", + ["bossmanagement_demote_button"] = "Degradar", + + -- Boss Management 2 Menu + ["bossmanagement2_title"] = "Organización", + ["bossmanagement2_chest_button"] = "Organization Cofre:", + ["bossmanagement2_hire_button"] = "Reclutar", + ["bossmanagement2_fire_button"] = "Despedir", + ["bossmanagement2_promote_button"] = "Promocionar", + ["bossmanagement2_demote_button"] = "Degradar", + + -- Admin Menu + ["admin_title"] = "Administración", + ["admin_goto_button"] = "TP a jugador", + ["admin_bring_button"] = "TP jugador a mí", + ["admin_tpxyz_button"] = "TP a coordenadas", + ["admin_noclip_button"] = "NoClip", + ["admin_godmode_button"] = "Modo invencible", + ["admin_ghostmode_button"] = "Modo invisible", + ["admin_spawnveh_button"] = "Respawnear vehiculo", + ["admin_repairveh_button"] = "Reparar vehiculo", + ["admin_flipveh_button"] = "Devolver un vehiculo", + ["admin_givemoney_button"] = "Dar dinero ", + ["admin_givebank_button"] = "Dar dinero (banco) ", + ["admin_givedirtymoney_button"] = "Dar dinero sucio", + ["admin_showxyz_button"] = "Mostrar / Ocultar Coordenadas", + ["admin_showname_button"] = "Mostrar / Ocultar Nombres de jugadores", + ["admin_tpmarker_button"] = "TP al marcador", + ["admin_revive_button"] = "Revivir un jugador", + ["admin_changeskin_button"] = "Cambiar apariencia", + ["admin_saveskin_button"] = "Guardar apariencia", + + -- GPS + ["none"] = "No Location", -- No translated + ["police_station"] = "Police Station", -- No translated + ["central_garage"] = "Central garage", -- No translated + ["hospital"] = "Hospital", -- No translated + ["dealer"] = "Cardealer", -- No translated + ["bennys_custom"] = "Bennys Custom", -- No translated + ["job_center"] = "Employment center", -- No translated + ["driving_school"] = "Driving school", -- No translated + ["tequila-la"] = "tequila-la", -- No translated + ["bahama_mamas"] = "bahama_mamas", -- No translated +} diff --git a/server-data/resources/[bpt_addons]/bpt_menu/locales/fr.lua b/server-data/resources/[bpt_addons]/bpt_menu/locales/fr.lua new file mode 100644 index 000000000..69ac9af70 --- /dev/null +++ b/server-data/resources/[bpt_addons]/bpt_menu/locales/fr.lua @@ -0,0 +1,216 @@ +Locales["fr"] = { + -- DialogBox Name + ["dialogbox_playerid"] = "ID du Joueur (8 Caractères Maximum):", + ["dialogbox_amount"] = "Montant (8 Caractères Maximum):", + ["dialogbox_amount_ammo"] = "Montant de Munitions (8 Caractères Maximum):", + ["dialogbox_vehiclespawner"] = "Nom du Véhicule (50 Caractères Maximum):", + ["dialogbox_xyz"] = "Position XYZ (50 Caractères Maximum):", + + -- Menu Default Vars + ["default_gps"] = "Aucun", + ["default_attitude"] = "Normal", + ["default_voice"] = "Normal", + + -- Menu Notification + ["missing_rights"] = "Vous n'avez pas les ~r~droits~w~", + ["no_vehicle"] = "Vous n'êtes pas dans un véhicule", + ["players_nearby"] = "Aucun joueur à proximité", + ["amount_invalid"] = "Montant Invalide", + ["in_vehicle_give"] = "Impossible de donner %s dans un véhicule", + ["in_vehicle_drop"] = "Impossible de jeter %s dans un véhicule", + ["not_usable"] = "%s n'est pas utilisable", + ["not_droppable"] = "%s n'est pas jetable", + ["gave_ammo"] = "Vous avez donné x%s munitions à %s", + ["no_ammo"] = "Vous ne possédez pas de munitions", + ["not_enough_ammo"] = "Vous ne possédez pas autant de munitions", + ["accessories_no_ears"] = "Vous ne possédez pas d'accessoire d'oreilles", + ["accessories_no_glasses"] = "Vous ne possédez pas de lunettes", + ["accessories_no_helmet"] = "Vous ne possédez pas de casque / chapeau", + ["accessories_no_mask"] = "Vous ne possédez pas de masque", + ["admin_noclipon"] = "NoClip ~g~activé", + ["admin_noclipoff"] = "NoClip ~r~désactivé", + ["admin_godmodeon"] = "Mode invincible ~g~activé", + ["admin_godmodeoff"] = "Mode invincible ~r~désactivé", + ["admin_ghoston"] = "Mode fantôme ~g~activé", + ["admin_ghostoff"] = "Mode fantôme ~r~désactivé", + ["admin_vehicleflip"] = "Voiture retourné", + ["admin_tpmarker"] = "Téléporté sur le marqueur !", + ["admin_nomarker"] = "Pas de marqueur sur la carte !", + + -- Main Menu + ["mainmenu_subtitle"] = "MENU INTERACTION", + ["mainmenu_gps_button"] = "Destination GPS", + ["mainmenu_voice_button"] = "Voix", + ["gps"] = "GPS: ~b~%s", + ["approach"] = "Démarche: ~b~%s", + ["voice"] = "Voix: ~b~%s", + + -- Menu Voice Level + ["voice_whisper"] = "Chuchoter", + ["voice_normal"] = "Normal", + ["voice_cry"] = "Crier", + + -- Clothes Menu + ["clothes_title"] = "Vêtements", + ["clothes_torso"] = "Haut", + ["clothes_pants"] = "Bas", + ["clothes_shoes"] = "Chaussures", + ["clothes_bag"] = "Sac", + ["clothes_bproof"] = "Gilet par Balle", + + -- Accessories Menu + ["accessories_title"] = "Accessoires", + ["accessories_ears"] = "Accessoire d'Oreilles", + ["accessories_glasses"] = "Lunettes", + ["accessories_helmet"] = "Chapeau/Casque", + ["accessories_mask"] = "Masque", + + -- Animation Menu + ["animation_title"] = "Animations", + + ["animation_party_title"] = "Festives", + ["animation_party_smoke"] = "Fumer une cigarette", + ["animation_party_playsong"] = "Jouer de la musique", + ["animation_party_dj"] = "DJ", + ["animation_party_beer"] = "Bière en Zik", + ["animation_party_dancing"] = "Faire la Fête", + ["animation_party_airguitar"] = "Air Guitar", + ["animation_party_shagging"] = "Air Shagging", + ["animation_party_rock"] = "Rock'n'roll", + ["animation_party_drunk"] = "Bourré sur place", + ["animation_party_vomit"] = "Vomir en voiture", + ["animation_salute_title"] = "Salutations", + ["animation_salute_saluate"] = "Saluer", + ["animation_salute_serrer"] = "Serrer la main", + ["animation_salute_tchek"] = "Tchek", + ["animation_salute_bandit"] = "Salut bandit", + ["animation_salute_military"] = "Salut Militaire", + ["animation_work_title"] = "Travail", + ["animation_work_suspect"] = "Se rendre", + ["animation_work_fisherman"] = "Pêcheur", + ["animation_work_inspect"] = "Police : enquêter", + ["animation_work_radio"] = "Police : parler à la radio", + ["animation_work_circulation"] = "Police : circulation", + ["animation_work_binoculars"] = "Police : jumelles", + ["animation_work_harvest"] = "Agriculture : récolter", + ["animation_work_repair"] = "Dépanneur : réparer le moteur", + ["animation_work_observe"] = "Médecin : observer", + ["animation_work_talk"] = "Taxi : parler au client", + ["animation_work_bill"] = "Taxi : donner la facture", + ["animation_work_buy"] = "Epicier : donner les courses", + ["animation_work_shot"] = "Barman : servir un shot", + ["animation_work_picture"] = "Journaliste : Prendre une photo", + ["animation_work_notes"] = "Tout : Prendre des notes", + ["animation_work_hammer"] = "Tout : Coup de marteau", + ["animation_work_beg"] = "SDF : Faire la manche", + ["animation_work_statue"] = "SDF : Faire la statue", + ["animation_mood_title"] = "Humeurs", + ["animation_mood_felicitate"] = "Féliciter", + ["animation_mood_nice"] = "Super", + ["animation_mood_you"] = "Toi", + ["animation_mood_come"] = "Viens", + ["animation_mood_what"] = "Keskya ?", + ["animation_mood_me"] = "A moi", + ["animation_mood_seriously"] = "Je le savais, putain", + ["animation_mood_tired"] = "Etre épuisé", + ["animation_mood_shit"] = "Je suis dans la merde", + ["animation_mood_facepalm"] = "Facepalm", + ["animation_mood_calm"] = "Calme-toi", + ["animation_mood_why"] = "Qu'est ce que j'ai fait ?", + ["animation_mood_fear"] = "Avoir peur", + ["animation_mood_fight"] = "Fight ?", + ["animation_mood_notpossible"] = "C'est pas Possible !", + ["animation_mood_embrace"] = "Enlacer", + ["animation_mood_fuckyou"] = "Doigt d'honneur", + ["animation_mood_wanker"] = "Branleur", + ["animation_mood_suicide"] = "Balle dans la tête", + ["animation_sports_title"] = "Sports", + ["animation_sports_muscle"] = "Montrer ses muscles", + ["animation_sports_weightbar"] = "Barre de musculation", + ["animation_sports_pushup"] = "Faire des pompes", + ["animation_sports_abs"] = "Faire des abdos", + ["animation_sports_yoga"] = "Faire du yoga", + ["animation_other_title"] = "Divers", + ["animation_other_sit"] = "S'asseoir", + ["animation_other_waitwall"] = "Attendre contre un mur", + ["animation_other_ontheback"] = "Couché sur le dos", + ["animation_other_stomach"] = "Couché sur le ventre", + ["animation_other_clean"] = "Nettoyer", + ["animation_other_cooking"] = "Préparer à manger", + ["animation_other_search"] = "Position de Fouille", + ["animation_other_selfie"] = "Prendre un selfie", + ["animation_other_door"] = "Ecouter à une porte", + ["animation_pegi_title"] = "PEGI 21", + ["animation_pegi_hsuck"] = "Homme se faire suc** en voiture", + ["animation_pegi_fsuck"] = "Femme suc** en voiture", + ["animation_pegi_hfuck"] = "Homme bais** en voiture", + ["animation_pegi_ffuck"] = "Femme bais** en voiture", + ["animation_pegi_scratch"] = "Se gratter les couilles", + ["animation_pegi_charm"] = "Faire du charme", + ["animation_pegi_golddigger"] = "Pose michto", + ["animation_pegi_breast"] = "Montrer sa poitrine", + ["animation_pegi_strip1"] = "Strip Tease 1", + ["animation_pegi_strip2"] = "Strip Tease 2", + ["animation_pegi_stripfloor"] = "Strip Tease au sol", + ["animation_attitudes_title"] = "Démarche", + + -- Vehicle Menu + ["vehicle_title"] = "Gestion Véhicule", + ["vehicle_engine_button"] = "Allumer/Eteindre le Moteur", + ["vehicle_door_button"] = "Ouvrir/Fermer Porte", + ["vehicle_hood_button"] = "Ouvrir/Fermer Capot", + ["vehicle_trunk_button"] = "Ouvrir/Fermer Coffre", + ["vehicle_door_frontleft"] = "Avant Gauche", + ["vehicle_door_frontright"] = "Avant Droite", + ["vehicle_door_backleft"] = "Arrière Gauche", + ["vehicle_door_backright"] = "Arrière Droite", + + -- Boss Management Menu + ["bossmanagement_title"] = "Gestion Entreprise", + ["bossmanagement_chest_button"] = "Coffre Entreprise:", + ["bossmanagement_hire_button"] = "Recruter", + ["bossmanagement_fire_button"] = "Virer", + ["bossmanagement_promote_button"] = "Promouvoir", + ["bossmanagement_demote_button"] = "Destituer", + + -- Boss Management 2 Menu + ["bossmanagement2_title"] = "Gestion Organisation", + ["bossmanagement2_chest_button"] = "Coffre Organisation:", + ["bossmanagement2_hire_button"] = "Recruter", + ["bossmanagement2_fire_button"] = "Virer", + ["bossmanagement2_promote_button"] = "Promouvoir", + ["bossmanagement2_demote_button"] = "Destituer", + + -- Admin Menu + ["admin_title"] = "Administration", + ["admin_goto_button"] = "TP sur Joueur", + ["admin_bring_button"] = "TP Joueur sur moi", + ["admin_tpxyz_button"] = "TP sur Coordonées", + ["admin_noclip_button"] = "NoClip", + ["admin_godmode_button"] = "Mode Invincible", + ["admin_ghostmode_button"] = "Mode Fantôme", + ["admin_spawnveh_button"] = "Faire apparaître un Véhicule", + ["admin_repairveh_button"] = "Réparer Véhicule", + ["admin_flipveh_button"] = "Retourner le véhicule", + ["admin_givemoney_button"] = "S'octroyer de l'argent", + ["admin_givebank_button"] = "S'octroyer de l'argent (banque)", + ["admin_givedirtymoney_button"] = "S'octroyer de l'argent sale", + ["admin_showxyz_button"] = "Afficher/Cacher Coordonnées", + ["admin_showname_button"] = "Afficher/Cacher Noms des Joueurs", + ["admin_tpmarker_button"] = "TP sur le Marqueur", + ["admin_revive_button"] = "Réanimer un Joueur", + ["admin_changeskin_button"] = "Changer l'Apparence", + ["admin_saveskin_button"] = "Sauvegarder l'Apparence", + + -- GPS + ["none"] = "Aucun", + ["police_station"] = "Poste de Police", + ["central_garage"] = "Garage Central", + ["hospital"] = "Hôpital", + ["dealer"] = "Concessionnaire", + ["bennys_custom"] = "Benny's Custom", + ["job_center"] = "Pôle Emploie", + ["driving_school"] = "Auto école", + ["tequila-la"] = "Téquila-la", + ["bahama_mamas"] = "Bahama Mamas", +} diff --git a/server-data/resources/[bpt_addons]/bpt_menu/locales/it.lua b/server-data/resources/[bpt_addons]/bpt_menu/locales/it.lua index 16f52aa3f..ef3c20191 100644 --- a/server-data/resources/[bpt_addons]/bpt_menu/locales/it.lua +++ b/server-data/resources/[bpt_addons]/bpt_menu/locales/it.lua @@ -32,7 +32,6 @@ Locales["it"] = { ["admin_nomarker"] = "Nessun indicatore sulla mappa!", ["mainmenu_subtitle"] = "MENU INTERAZIONE", ["approach"] = "Approccio: ~b~%s", - ["bills_title"] = "Fatture", ["clothes_title"] = "Capi di abbigliamento", ["clothes_torso"] = "Torso", ["clothes_pants"] = "Pants", diff --git a/server-data/resources/[bpt_addons]/bpt_menu/server/main.lua b/server-data/resources/[bpt_addons]/bpt_menu/server/main.lua index fa87170d8..3b2fc51fc 100644 --- a/server-data/resources/[bpt_addons]/bpt_menu/server/main.lua +++ b/server-data/resources/[bpt_addons]/bpt_menu/server/main.lua @@ -5,9 +5,9 @@ do local origEsxRegisterServerCallback = ESX.RegisterServerCallback RegisterServerEvent = function(eventName, ...) - local endIdx = ("bpt_menu:"):len() + local endIdx = ("bpt_personalmenu:"):len() - if eventName:sub(1, endIdx) == "bpt_menu" then + if eventName:sub(1, endIdx) == "bpt_personalmenu" then local oldEventName = ("bpt-PersonalMenu:%s"):format(eventName:sub(endIdx + 1)) origRegisterServerEvent(oldEventName) @@ -29,9 +29,9 @@ do end ESX.RegisterServerCallback = function(eventName, ...) - local endIdx = ("bpt_menu:"):len() + local endIdx = ("bpt_personalmenu:"):len() - if eventName:sub(1, endIdx) == "bpt_menu" then + if eventName:sub(1, endIdx) == "bpt_personalmenu" then local oldEventName = ("bpt-PersonalMenu:%s"):format(eventName:sub(endIdx + 1)) origEsxRegisterServerCallback(oldEventName, function(source) @@ -88,27 +88,7 @@ function isAuthorized(index, group) return false end -ESX.RegisterServerCallback("bpt_menu:Bill_getBills", function(source, cb) - local xPlayer = ESX.GetPlayerFromId(source) - - MySQL.Async.fetchAll("SELECT * FROM billing WHERE identifier = @identifier", { - ["@identifier"] = xPlayer.identifier, - }, function(result) - local bills = {} - - for i = 1, #result do - bills[#bills + 1] = { - id = result[i].id, - label = result[i].label, - amount = result[i].amount, - } - end - - cb(bills) - end) -end) - -ESX.RegisterServerCallback("bpt_menu:Admin_getUsergroup", function(source, cb) +ESX.RegisterServerCallback("bpt_personalmenu:Admin_getUsergroup", function(source, cb) cb(ESX.GetPlayerFromId(source).getGroup() or "user") end) @@ -122,56 +102,56 @@ local function makeTargetedEventFunction(fn) end -- Admin Menu -- -RegisterServerEvent("bpt_menu:Admin_BringS") +RegisterServerEvent("bpt_personalmenu:Admin_BringS") AddEventHandler( - "bpt_menu:Admin_BringS", + "bpt_personalmenu:Admin_BringS", makeTargetedEventFunction(function(playerId, target) local xPlayer = ESX.GetPlayerFromId(source) local plyGroup = xPlayer.getGroup() if isAuthorized(getAdminCommand("bring"), plyGroup) or isAuthorized(getAdminCommand("goto"), plyGroup) then - TriggerClientEvent("bpt_menu:Admin_BringC", playerId, GetEntityCoords(GetPlayerPed(target))) + TriggerClientEvent("bpt_personalmenu:Admin_BringC", playerId, GetEntityCoords(GetPlayerPed(target))) end end) ) -RegisterServerEvent("bpt_menu:Admin_giveCash") -AddEventHandler("bpt_menu:Admin_giveCash", function(amount) +RegisterServerEvent("bpt_personalmenu:Admin_giveCash") +AddEventHandler("bpt_personalmenu:Admin_giveCash", function(amount) local xPlayer = ESX.GetPlayerFromId(source) local plyGroup = xPlayer.getGroup() if isAuthorized(getAdminCommand("givemoney"), plyGroup) then xPlayer.addAccountMoney("cash", amount) - TriggerClientEvent("esx:showNotification", xPlayer.source, _U("received_money_cash"):format(amount)) + TriggerClientEvent("esx:showNotification", xPlayer.source, TranslateCap("received_money_cash"):format(amount)) end end) -RegisterServerEvent("bpt_menu:Admin_giveBank") -AddEventHandler("bpt_menu:Admin_giveBank", function(amount) +RegisterServerEvent("bpt_personalmenu:Admin_giveBank") +AddEventHandler("bpt_personalmenu:Admin_giveBank", function(amount) local xPlayer = ESX.GetPlayerFromId(source) local plyGroup = xPlayer.getGroup() if isAuthorized(getAdminCommand("givebank"), plyGroup) then xPlayer.addAccountMoney("bank", amount) - TriggerClientEvent("esx:showNotification", xPlayer.source, _U("givebank"):format(amount)) + TriggerClientEvent("esx:showNotification", xPlayer.source, TranslateCap("givebank"):format(amount)) end end) -RegisterServerEvent("bpt_menu:Admin_giveDirtyMoney") -AddEventHandler("bpt_menu:Admin_giveDirtyMoney", function(amount) +RegisterServerEvent("bpt_personalmenu:Admin_giveDirtyMoney") +AddEventHandler("bpt_personalmenu:Admin_giveDirtyMoney", function(amount) local xPlayer = ESX.GetPlayerFromId(source) local plyGroup = xPlayer.getGroup() if isAuthorized(getAdminCommand("givedirtymoney"), plyGroup) then xPlayer.addAccountMoney("black_money", amount) - TriggerClientEvent("esx:showNotification", xPlayer.source, _U("givedirtymoney"):format(amount)) + TriggerClientEvent("esx:showNotification", xPlayer.source, TranslateCap("givedirtymoney"):format(amount)) end end) -- Grade Menu -- -RegisterServerEvent("bpt_menu:Boss_promoteplayer") +RegisterServerEvent("bpt_personalmenu:Boss_promoteplayer") AddEventHandler( - "bpt_menu:Boss_promoteplayer", + "bpt_personalmenu:Boss_promoteplayer", makeTargetedEventFunction(function(target) local sourceXPlayer = ESX.GetPlayerFromId(source) local sourceJob = sourceXPlayer.getJob() @@ -188,24 +168,24 @@ AddEventHandler( TriggerClientEvent( "esx:showNotification", sourceXPlayer.source, - _U("promoted"):format(targetXPlayer.name) + TranslateCap("promoted"):format(targetXPlayer.name) ) - TriggerClientEvent("esx:showNotification", target, _U("you_promoted"):format(sourceXPlayer.name)) + TriggerClientEvent("esx:showNotification", target, TranslateCap("you_promoted"):format(sourceXPlayer.name)) else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("not_permission")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("not_permission")) end else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("player_not_your_company")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("player_not_your_company")) end else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("not_permission")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("not_permission")) end end) ) -RegisterServerEvent("bpt_menu:Boss_dismissplayer") +RegisterServerEvent("bpt_personalmenu:Boss_dismissplayer") AddEventHandler( - "bpt_menu:Boss_dismissplayer", + "bpt_personalmenu:Boss_dismissplayer", makeTargetedEventFunction(function(target) local sourceXPlayer = ESX.GetPlayerFromId(source) local sourceJob = sourceXPlayer.getJob() @@ -222,24 +202,24 @@ AddEventHandler( TriggerClientEvent( "esx:showNotification", sourceXPlayer.source, - _U("you_been_relegated"):format(targetXPlayer.name) + TranslateCap("you_been_relegated"):format(targetXPlayer.name) ) - TriggerClientEvent("esx:showNotification", target, _U("demoted_from"):format(sourceXPlayer.name)) + TriggerClientEvent("esx:showNotification", target, TranslateCap("demoted_from"):format(sourceXPlayer.name)) else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("not_downgrade")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("not_downgrade")) end else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("player_not_your_company")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("player_not_your_company")) end else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("not_permission")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("not_permission")) end end) ) -RegisterServerEvent("bpt_menu:Boss_recruitplayer") +RegisterServerEvent("bpt_personalmenu:Boss_recruitplayer") AddEventHandler( - "bpt_menu:Boss_recruitplayer", + "bpt_personalmenu:Boss_recruitplayer", makeTargetedEventFunction(function(target) local sourceXPlayer = ESX.GetPlayerFromId(source) local sourceJob = sourceXPlayer.getJob() @@ -248,15 +228,15 @@ AddEventHandler( local targetXPlayer = ESX.GetPlayerFromId(target) targetXPlayer.setJob(sourceJob.name, 0) - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("you_hired"):format(targetXPlayer.name)) - TriggerClientEvent("esx:showNotification", target, _U("you_hired_by"):format(sourceXPlayer.name)) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("you_hired"):format(targetXPlayer.name)) + TriggerClientEvent("esx:showNotification", target, TranslateCap("you_hired_by"):format(sourceXPlayer.name)) end end) ) -RegisterServerEvent("bpt_menu:Boss_fireplayer") +RegisterServerEvent("bpt_personalmenu:Boss_fireplayer") AddEventHandler( - "bpt_menu:Boss_fireplayer", + "bpt_personalmenu:Boss_fireplayer", makeTargetedEventFunction(function(target) local sourceXPlayer = ESX.GetPlayerFromId(source) local sourceJob = sourceXPlayer.getJob() @@ -270,21 +250,21 @@ AddEventHandler( TriggerClientEvent( "esx:showNotification", sourceXPlayer.source, - _U("you_fired"):format(targetXPlayer.name) + TranslateCap("you_fired"):format(targetXPlayer.name) ) - TriggerClientEvent("esx:showNotification", target, _U("you_were_fired"):format(sourceXPlayer.name)) + TriggerClientEvent("esx:showNotification", target, TranslateCap("you_were_fired"):format(sourceXPlayer.name)) else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("player_not_your_company")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("player_not_your_company")) end else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("not_permission")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("not_permission")) end end) ) -RegisterServerEvent("bpt_menu:Boss_promoteplayer2") +RegisterServerEvent("bpt_personalmenu:Boss_promoteplayer2") AddEventHandler( - "bpt_menu:Boss_promoteplayer2", + "bpt_personalmenu:Boss_promoteplayer2", makeTargetedEventFunction(function(target) local sourceXPlayer = ESX.GetPlayerFromId(source) local sourceJob2 = sourceXPlayer.getJob2() @@ -301,24 +281,24 @@ AddEventHandler( TriggerClientEvent( "esx:showNotification", sourceXPlayer.source, - _U("promoted"):format(targetXPlayer.name) + TranslateCap("promoted"):format(targetXPlayer.name) ) - TriggerClientEvent("esx:showNotification", target, _U("you_promoted"):format(sourceXPlayer.name)) + TriggerClientEvent("esx:showNotification", target, TranslateCap("you_promoted"):format(sourceXPlayer.name)) else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("not_permission")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("not_permission")) end else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("player_not_your_company")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("player_not_your_company")) end else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("not_permission")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("not_permission")) end end) ) -RegisterServerEvent("bpt_menu:Boss_dismissplayer2") +RegisterServerEvent("bpt_personalmenu:Boss_dismissplayer2") AddEventHandler( - "bpt_menu:Boss_dismissplayer2", + "bpt_personalmenu:Boss_dismissplayer2", makeTargetedEventFunction(function(target) local sourceXPlayer = ESX.GetPlayerFromId(source) local sourceJob2 = sourceXPlayer.getJob2() @@ -337,22 +317,22 @@ AddEventHandler( sourceXPlayer.source, _("you_been_relegated"):format(targetXPlayer.name) ) - TriggerClientEvent("esx:showNotification", target, _U("demoted_from"):format(sourceXPlayer.name)) + TriggerClientEvent("esx:showNotification", target, TranslateCap("demoted_from"):format(sourceXPlayer.name)) else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("not_downgrade")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("not_downgrade")) end else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("player_not_your_company")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("player_not_your_company")) end else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("not_permission")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("not_permission")) end end) ) -RegisterServerEvent("bpt_menu:Boss_recruitplayer2") +RegisterServerEvent("bpt_personalmenu:Boss_recruitplayer2") AddEventHandler( - "bpt_menu:Boss_recruitplayer2", + "bpt_personalmenu:Boss_recruitplayer2", makeTargetedEventFunction(function(target) local sourceXPlayer = ESX.GetPlayerFromId(source) local sourceJob2 = sourceXPlayer.getJob2() @@ -361,15 +341,15 @@ AddEventHandler( local targetXPlayer = ESX.GetPlayerFromId(target) targetXPlayer.setJob2(sourceJob2.name, 0) - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("you_hired"):format(targetXPlayer.name)) - TriggerClientEvent("esx:showNotification", target, _U("you_hired_by"):format(sourceXPlayer.name)) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("you_hired"):format(targetXPlayer.name)) + TriggerClientEvent("esx:showNotification", target, TranslateCap("you_hired_by"):format(sourceXPlayer.name)) end end) ) -RegisterServerEvent("bpt_menu:Boss_fireplayer2") +RegisterServerEvent("bpt_personalmenu:Boss_fireplayer2") AddEventHandler( - "bpt_menu:Boss_fireplayer2", + "bpt_personalmenu:Boss_fireplayer2", makeTargetedEventFunction(function(target) local sourceXPlayer = ESX.GetPlayerFromId(source) local sourceJob2 = sourceXPlayer.getJob2() @@ -383,14 +363,14 @@ AddEventHandler( TriggerClientEvent( "esx:showNotification", sourceXPlayer.source, - _U("you_fired"):format(targetXPlayer.name) + TranslateCap("you_fired"):format(targetXPlayer.name) ) - TriggerClientEvent("esx:showNotification", target, _U("you_were_fired"):format(sourceXPlayer.name)) + TriggerClientEvent("esx:showNotification", target, TranslateCap("you_were_fired"):format(sourceXPlayer.name)) else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("player_not_your_company")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("player_not_your_company")) end else - TriggerClientEvent("esx:showNotification", sourceXPlayer.source, _U("not_permission")) + TriggerClientEvent("esx:showNotification", sourceXPlayer.source, TranslateCap("not_permission")) end end) )