From 36892e6df36556e9c7b761598d43258f8d0937f1 Mon Sep 17 00:00:00 2001 From: SAMURAI Date: Fri, 26 Dec 2025 17:00:07 +0100 Subject: [PATCH 01/11] fix(ci): attempt 2 - Don't create release if no changes. - editorconfig: Limit to Lua and Python source files only. Stop reformatting YAML with tabs. --- .editorconfig | 4 +--- .github/workflows/zip-release.yml | 6 +++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.editorconfig b/.editorconfig index a71ed8c..d7aa82e 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,10 +1,8 @@ root = true -[*] +[*.{lua,py}] indent_style = tab indent_size = 4 end_of_line = crlf insert_final_newline = true - -[*.{lua,py}] charset = utf-8 diff --git a/.github/workflows/zip-release.yml b/.github/workflows/zip-release.yml index 9b333c7..e0a801f 100644 --- a/.github/workflows/zip-release.yml +++ b/.github/workflows/zip-release.yml @@ -60,7 +60,7 @@ jobs: - name: Check Changes id: check_changes run: | - if git diff --name-only HEAD^ HEAD | grep '\.lua$' > /dev/null; then + if git diff --name-only origin/main | grep '\.lua$' > /dev/null; then echo "should_release=true" >> $GITHUB_OUTPUT else echo "should_release=false" >> $GITHUB_OUTPUT @@ -74,6 +74,7 @@ jobs: - name: Increment Tag id: increment_tag + if: steps.check_changes.outputs.should_release == 'true' uses: actions/github-script@v7 with: script: | @@ -107,6 +108,7 @@ jobs: core.setOutput("old_tag", old_tag); - name: Bump Version + if: steps.check_changes.outputs.should_release == 'true' run: | sed -i "s|return \".*\"|return \"${{steps.increment_tag.outputs.no_prefix}}\"|" includes/version.lua sed -i "s|https://img.shields.io/badge/Script%20Version-v[0-9]\+\.[0-9]\+\.[0-9]\+-blue|https://img.shields.io/badge/Script%20Version-${{steps.increment_tag.outputs.version_number}}-blue|g" README.md @@ -117,6 +119,7 @@ jobs: git push - name: Create Archive + if: steps.check_changes.outputs.should_release == 'true' uses: thedoctor0/zip-release@0.7.6 with: type: 'zip' @@ -124,6 +127,7 @@ jobs: exclusions: /.git* /scripts* /docs* *.json *.md *.editorconfig *.py - name: Upload Release + if: steps.check_changes.outputs.should_release == 'true' uses: softprops/action-gh-release@v2 with: name: Samurai's Scripts ${{steps.increment_tag.outputs.version_number}} From 6e8c1559c9bcb8ba24085e29d65858fca6d37e10 Mon Sep 17 00:00:00 2001 From: SAMURAI Date: Sun, 28 Dec 2025 08:53:45 +0100 Subject: [PATCH 02/11] fix(CVehicle): fix GetAdvancedFlag - Exit early if the vehicle isn't a car. --- includes/features/YimResupplierV3.lua | 54 +++++++++++------------ includes/features/self/miscellaneous.lua | 10 +++-- includes/features/vehicle/car_crashes.lua | 6 +-- includes/features/vehicle/drift_mode.lua | 2 +- includes/modules/PlayerVehicle.lua | 47 +++++++++++--------- includes/modules/Self.lua | 4 +- includes/modules/Vehicle.lua | 4 +- includes/structs/HandlingEditor.lua | 18 +++++--- 8 files changed, 79 insertions(+), 66 deletions(-) diff --git a/includes/features/YimResupplierV3.lua b/includes/features/YimResupplierV3.lua index 7e47120..7ce6de0 100644 --- a/includes/features/YimResupplierV3.lua +++ b/includes/features/YimResupplierV3.lua @@ -1254,28 +1254,28 @@ YRV3.t_SellScripts = { } YRV3.t_CEOwarehouses = { - { id = 1, size = 0, max = 16, coords = vec3:new(51.311188, -2568.470947, 6.004591) }, - { id = 2, size = 0, max = 16, coords = vec3:new(-1081.083740, -1261.013184, 5.648909) }, - { id = 3, size = 0, max = 16, coords = vec3:new(898.484314, -1031.882446, 34.966454) }, - { id = 4, size = 0, max = 16, coords = vec3:new(249.246918, -1955.651978, 23.161957) }, - { id = 5, size = 0, max = 16, coords = vec3:new(-424.773499, 184.146530, 80.752899) }, - { id = 6, size = 2, max = 111, coords = vec3:new(-1045.004395, -2023.150146, 13.161570) }, - { id = 7, size = 1, max = 42, coords = vec3:new(-1269.286133, -813.215820, 17.107399) }, - { id = 8, size = 2, max = 111, coords = vec3:new(-876.108032, -2734.502930, 13.844264) }, - { id = 9, size = 0, max = 16, coords = vec3:new(272.409424, -3015.267090, 5.707359) }, - { id = 10, size = 1, max = 42, coords = vec3:new(1563.832031, -2135.110840, 77.616447) }, - { id = 11, size = 1, max = 42, coords = vec3:new(-308.772247, -2698.393799, 6.000292) }, - { id = 12, size = 1, max = 42, coords = vec3:new(503.738037, -653.082642, 24.751144) }, - { id = 13, size = 1, max = 42, coords = vec3:new(-528.074585, -1782.701904, 21.483055) }, - { id = 14, size = 1, max = 42, coords = vec3:new(-328.013458, -1354.755371, 31.296524) }, - { id = 15, size = 1, max = 42, coords = vec3:new(349.901184, 327.976440, 104.303856) }, - { id = 16, size = 2, max = 111, coords = vec3:new(922.555481, -1560.048950, 30.756647) }, - { id = 17, size = 2, max = 111, coords = vec3:new(762.672363, -909.193054, 25.250854) }, - { id = 18, size = 2, max = 111, coords = vec3:new(1041.059814, -2172.653076, 31.488876) }, - { id = 19, size = 2, max = 111, coords = vec3:new(1015.361633, -2510.986572, 28.302608) }, - { id = 20, size = 2, max = 111, coords = vec3:new(-245.651718, 202.504669, 83.792648) }, - { id = 21, size = 1, max = 42, coords = vec3:new(541.587646, -1944.362793, 24.985096) }, - { id = 22, size = 2, max = 111, coords = vec3:new(93.278641, -2216.144775, 6.033320) }, + { size = 0, max = 16, coords = vec3:new(51.311188, -2568.470947, 6.004591) }, + { size = 0, max = 16, coords = vec3:new(-1081.083740, -1261.013184, 5.648909) }, + { size = 0, max = 16, coords = vec3:new(898.484314, -1031.882446, 34.966454) }, + { size = 0, max = 16, coords = vec3:new(249.246918, -1955.651978, 23.161957) }, + { size = 0, max = 16, coords = vec3:new(-424.773499, 184.146530, 80.752899) }, + { size = 2, max = 111, coords = vec3:new(-1045.004395, -2023.150146, 13.161570) }, + { size = 1, max = 42, coords = vec3:new(-1269.286133, -813.215820, 17.107399) }, + { size = 2, max = 111, coords = vec3:new(-876.108032, -2734.502930, 13.844264) }, + { size = 0, max = 16, coords = vec3:new(272.409424, -3015.267090, 5.707359) }, + { size = 1, max = 42, coords = vec3:new(1563.832031, -2135.110840, 77.616447) }, + { size = 1, max = 42, coords = vec3:new(-308.772247, -2698.393799, 6.000292) }, + { size = 1, max = 42, coords = vec3:new(503.738037, -653.082642, 24.751144) }, + { size = 1, max = 42, coords = vec3:new(-528.074585, -1782.701904, 21.483055) }, + { size = 1, max = 42, coords = vec3:new(-328.013458, -1354.755371, 31.296524) }, + { size = 1, max = 42, coords = vec3:new(349.901184, 327.976440, 104.303856) }, + { size = 2, max = 111, coords = vec3:new(922.555481, -1560.048950, 30.756647) }, + { size = 2, max = 111, coords = vec3:new(762.672363, -909.193054, 25.250854) }, + { size = 2, max = 111, coords = vec3:new(1041.059814, -2172.653076, 31.488876) }, + { size = 2, max = 111, coords = vec3:new(1015.361633, -2510.986572, 28.302608) }, + { size = 2, max = 111, coords = vec3:new(-245.651718, 202.504669, 83.792648) }, + { size = 1, max = 42, coords = vec3:new(541.587646, -1944.362793, 24.985096) }, + { size = 2, max = 111, coords = vec3:new(93.278641, -2216.144775, 6.033320) }, } YRV3.t_BikerBusinessIDs = { @@ -1287,11 +1287,11 @@ YRV3.t_BikerBusinessIDs = { } YRV3.t_Hangars = { - [1] = { name = "LSIA Hangar 1", coords = vec3:new(-1148.908447, -3406.064697, 13.945053) }, - [2] = { name = "LSIA Hangar A17", coords = vec3:new(-1393.322021, -3262.968262, 13.944828) }, - [3] = { name = "Fort Zancudo Hangar A2", coords = vec3:new(-2022.336304, 3154.936768, 32.810272) }, - [4] = { name = "Fort Zancudo Hangar 3497", coords = vec3:new(-1879.105957, 3106.792969, 32.810234) }, - [5] = { name = "Fort Zancudo Hangar 3499", coords = vec3:new(-2470.278076, 3274.427734, 32.835461) }, + { name = "LSIA Hangar 1", coords = vec3:new(-1148.908447, -3406.064697, 13.945053) }, + { name = "LSIA Hangar A17", coords = vec3:new(-1393.322021, -3262.968262, 13.944828) }, + { name = "Fort Zancudo Hangar A2", coords = vec3:new(-2022.336304, 3154.936768, 32.810272) }, + { name = "Fort Zancudo Hangar 3497", coords = vec3:new(-1879.105957, 3106.792969, 32.810234) }, + { name = "Fort Zancudo Hangar 3499", coords = vec3:new(-2470.278076, 3274.427734, 32.835461) }, } YRV3.t_Bunkers = { diff --git a/includes/features/self/miscellaneous.lua b/includes/features/self/miscellaneous.lua index 1c2cff8..fb446f2 100644 --- a/includes/features/self/miscellaneous.lua +++ b/includes/features/self/miscellaneous.lua @@ -281,10 +281,12 @@ function SelfMisc:UpdateFlagBasedFeatures() GVars.features.self.sprint_inside_interiors ) - self:TogglePedConfigFlag( - Enums.ePedConfigFlags.AllowBikeAlternateAnimations, - GVars.features.self.mc_alt_bike_anims - ) + if (Game.IsOnline()) then + self:TogglePedConfigFlag( + Enums.ePedConfigFlags.AllowBikeAlternateAnimations, + GVars.features.self.mc_alt_bike_anims + ) + end if (GVars.features.self.sprint_inside_interiors and not Self:IsOutside()) then Self:SetPedResetFlag(Enums.ePedResetFlags.DisablePlayerJumping, false) diff --git a/includes/features/vehicle/car_crashes.lua b/includes/features/vehicle/car_crashes.lua index f997cc1..34de2c6 100644 --- a/includes/features/vehicle/car_crashes.lua +++ b/includes/features/vehicle/car_crashes.lua @@ -93,12 +93,12 @@ function CarCrash:Init() end function CarCrash:ShouldRun() - return (self.m_entity + return (GVars.features.vehicle.strong_crash + and self.m_entity and self.m_entity:IsValid() - and self.m_entity:IsLandVehicle() + and self.m_entity:IsCar() and Self:IsAlive() and Self:IsDriving() - and GVars.features.vehicle.strong_crash and not VEHICLE.IS_VEHICLE_STUCK_ON_ROOF(self.m_entity:GetHandle()) ) end diff --git a/includes/features/vehicle/drift_mode.lua b/includes/features/vehicle/drift_mode.lua index ca2afc1..8bcd6b6 100644 --- a/includes/features/vehicle/drift_mode.lua +++ b/includes/features/vehicle/drift_mode.lua @@ -37,7 +37,7 @@ function DriftMode:IsActive() end function DriftMode:UpdateFX() - if (not GVars.features.vehicle.drift.smoke_fx.enabled) then + if (not GVars.features.vehicle.drift.smoke_fx.enabled or not self.m_entity:IsCar()) then return end diff --git a/includes/modules/PlayerVehicle.lua b/includes/modules/PlayerVehicle.lua index b29b474..041cb30 100644 --- a/includes/modules/PlayerVehicle.lua +++ b/includes/modules/PlayerVehicle.lua @@ -181,13 +181,16 @@ function PlayerVehicle:Set(handle) self.m_autopilot.eligible = self:IsAircraft() self.m_handling_editor:Apply() + if (GVars.features.vehicle.no_turbulence and VEHICLE.IS_THIS_MODEL_A_PLANE(new_model)) then + VEHICLE.SET_PLANE_TURBULENCE_MULTIPLIER(handle, 0.0) + end -- self:ResumeThreads() -- self.m_feat_mgr:OnEnable() end function PlayerVehicle:Reset() - -- self.m_feat_mgr:OnDisable() -- self:SuspendThreads() + -- self.m_feat_mgr:Cleanup() if (self:IsLocked()) then VEHICLE.SET_VEHICLE_DOORS_LOCKED(self:GetHandle(), 1) self.m_generic_toggleables["autolockdoors"] = nil @@ -281,7 +284,7 @@ function PlayerVehicle:ResetAllGenericToggleables() return end - for name, generic in pairs(self.m_generic_toggleables) do + for _, generic in pairs(self.m_generic_toggleables) do local toggled = generic.is_toggled local func = generic.onDisable local args = generic.args @@ -442,13 +445,15 @@ function PlayerVehicle:AutolockDoors() end ---@param gvarKey string -function PlayerVehicle:SetVehicleFlag(gvarKey, toggle) +---@param toggle boolean +---@param reset? boolean +function PlayerVehicle:SetVehicleFlag(gvarKey, toggle, reset) local obj = self.m_handling_editor:GetFlagObject(gvarKey) if (not obj) then return end - self.m_handling_editor:SetFlag(obj, toggle) + self.m_handling_editor:SetFlag(obj, toggle, reset) table.set_nested_key(GVars, gvarKey, toggle) end @@ -609,7 +614,7 @@ PlayerVehicle.m_flag_registry = { Self:GetVehicle():SetVehicleFlag("features.vehicle.no_engine_brake", true) end, on_cb_disable = function() - Self:GetVehicle():SetVehicleFlag("features.vehicle.no_engine_brake", false) + Self:GetVehicle():SetVehicleFlag("features.vehicle.no_engine_brake", false, true) end, }, ["features.vehicle.kers_boost"] = { @@ -638,7 +643,7 @@ PlayerVehicle.m_flag_registry = { Self:GetVehicle():SetVehicleFlag("features.vehicle.kers_boost", true) end, on_cb_disable = function() - Self:GetVehicle():SetVehicleFlag("features.vehicle.kers_boost", false) + Self:GetVehicle():SetVehicleFlag("features.vehicle.kers_boost", false, true) end, }, ["features.vehicle.offroad_abilities"] = { @@ -653,7 +658,7 @@ PlayerVehicle.m_flag_registry = { Self:GetVehicle():SetVehicleFlag("features.vehicle.offroad_abilities", true) end, on_cb_disable = function() - Self:GetVehicle():SetVehicleFlag("features.vehicle.offroad_abilities", false) + Self:GetVehicle():SetVehicleFlag("features.vehicle.offroad_abilities", false, true) end, }, ["features.vehicle.rallye_tyres"] = { @@ -683,7 +688,7 @@ PlayerVehicle.m_flag_registry = { Self:GetVehicle():SetVehicleFlag("features.vehicle.no_traction_control", true) end, on_cb_disable = function() - Self:GetVehicle():SetVehicleFlag("features.vehicle.no_traction_control", false) + Self:GetVehicle():SetVehicleFlag("features.vehicle.no_traction_control", false, true) end, }, ["features.vehicle.low_speed_wheelies"] = { @@ -698,7 +703,7 @@ PlayerVehicle.m_flag_registry = { Self:GetVehicle():SetVehicleFlag("features.vehicle.low_speed_wheelies", true) end, on_cb_disable = function() - Self:GetVehicle():SetVehicleFlag("features.vehicle.low_speed_wheelies", false) + Self:GetVehicle():SetVehicleFlag("features.vehicle.low_speed_wheelies", false, true) end, }, ["features.vehicle.rocket_boost"] = { @@ -717,7 +722,7 @@ PlayerVehicle.m_flag_registry = { Self:GetVehicle():SetVehicleFlag("features.vehicle.rocket_boost", true) end, on_cb_disable = function() - Self:GetVehicle():SetVehicleFlag("features.vehicle.rocket_boost", false) + Self:GetVehicle():SetVehicleFlag("features.vehicle.rocket_boost", false, true) end, cb_label = "VEH_ROCKET_BOOST", cb_tt = "VEH_ROCKET_BOOST_TT", @@ -746,7 +751,7 @@ PlayerVehicle.m_flag_registry = { Self:GetVehicle():SetVehicleFlag("features.vehicle.jump_capability", true) end, on_cb_disable = function() - Self:GetVehicle():SetVehicleFlag("features.vehicle.jump_capability", false) + Self:GetVehicle():SetVehicleFlag("features.vehicle.jump_capability", false, true) end, cb_label = "VEH_JUMP", cb_tt = "VEH_JUMP_TT", @@ -761,7 +766,7 @@ PlayerVehicle.m_flag_registry = { Self:GetVehicle():SetVehicleFlag("features.vehicle.parachute", true) end, on_cb_disable = function() - Self:GetVehicle():SetVehicleFlag("features.vehicle.parachute", false) + Self:GetVehicle():SetVehicleFlag("features.vehicle.parachute", false, true) end, cb_label = "VEH_PARACHUTE", cb_tt = "VEH_PARACHUTE_TT", @@ -775,11 +780,11 @@ PlayerVehicle.m_flag_registry = { on_cb_enable = function() local PV = Self:GetVehicle() PV:SetVehicleFlag("features.vehicle.steer_rear_wheels", true) - PV:SetVehicleFlag("features.vehicle.steer_all_wheels", false) - PV:SetVehicleFlag("features.vehicle.steer_handbrake", false) + PV:SetVehicleFlag("features.vehicle.steer_all_wheels", false, true) + PV:SetVehicleFlag("features.vehicle.steer_handbrake", false, true) end, on_cb_disable = function() - Self:GetVehicle():SetVehicleFlag("features.vehicle.steer_rear_wheels", false) + Self:GetVehicle():SetVehicleFlag("features.vehicle.steer_rear_wheels", false, true) end, cb_label = "VEH_STEER_REAR_WHEELS", }, @@ -792,11 +797,11 @@ PlayerVehicle.m_flag_registry = { on_cb_enable = function() local PV = Self:GetVehicle() PV:SetVehicleFlag("features.vehicle.steer_all_wheels", true) - PV:SetVehicleFlag("features.vehicle.steer_rear_wheels", false) - PV:SetVehicleFlag("features.vehicle.steer_handbrake", false) + PV:SetVehicleFlag("features.vehicle.steer_rear_wheels", false, true) + PV:SetVehicleFlag("features.vehicle.steer_handbrake", false, true) end, on_cb_disable = function() - Self:GetVehicle():SetVehicleFlag("features.vehicle.steer_all_wheels", false) + Self:GetVehicle():SetVehicleFlag("features.vehicle.steer_all_wheels", false, true) end, cb_label = "VEH_STEER_ALL_WHEELS", }, @@ -809,11 +814,11 @@ PlayerVehicle.m_flag_registry = { on_cb_enable = function() local PV = Self:GetVehicle() PV:SetVehicleFlag("features.vehicle.steer_handbrake", true) - PV:SetVehicleFlag("features.vehicle.steer_rear_wheels", false) - PV:SetVehicleFlag("features.vehicle.steer_all_wheels", false) + PV:SetVehicleFlag("features.vehicle.steer_rear_wheels", false, true) + PV:SetVehicleFlag("features.vehicle.steer_all_wheels", false, true) end, on_cb_disable = function() - Self:GetVehicle():SetVehicleFlag("features.vehicle.steer_handbrake", false) + Self:GetVehicle():SetVehicleFlag("features.vehicle.steer_handbrake", false, true) end, cb_label = "VEH_STEER_HANDBRAKE", cb_tt = "VEH_STEER_HANDBRAKE_TT", diff --git a/includes/modules/Self.lua b/includes/modules/Self.lua index 09e2f1e..00eed3d 100644 --- a/includes/modules/Self.lua +++ b/includes/modules/Self.lua @@ -238,7 +238,7 @@ end function Self:IsPedMyEnemy(pedHandle) local ped = Ped(pedHandle) - if not ped:IsValid() then + if (not ped or not ped:IsValid()) then return false end @@ -463,7 +463,7 @@ ThreadManager:RegisterLooped("SS_PV_HANDLER", function() Self.m_vehicle:Set(Self:GetVehicleNative()) end - if (Self.m_vehicle:GetHandle() ~= 0 and Self.m_vehicle:IsAnyThreadRunning() and not Self.m_vehicle:IsValid()) then + if (Self.m_vehicle:GetHandle() ~= 0 and not Self.m_vehicle:IsValid()) then Self.m_vehicle:Reset() sleep(1000) end diff --git a/includes/modules/Vehicle.lua b/includes/modules/Vehicle.lua index 85cb261..fe1a0b6 100644 --- a/includes/modules/Vehicle.lua +++ b/includes/modules/Vehicle.lua @@ -1190,7 +1190,7 @@ end ---@param flag eVehicleAdvancedFlags ---@return boolean function Vehicle:GetAdvancedFlag(flag) - if not self:IsValid() then + if (not self:IsValid() or not self:IsCar()) then return false end @@ -1201,7 +1201,7 @@ end ---@param flag eVehicleAdvancedFlags ---@param toggle boolean function Vehicle:SetAdvancedFlag(flag, toggle) - if not self:IsValid() then + if (not self:IsValid() or not self:IsCar()) then return end diff --git a/includes/structs/HandlingEditor.lua b/includes/structs/HandlingEditor.lua index 41e9a6b..a540458 100644 --- a/includes/structs/HandlingEditor.lua +++ b/includes/structs/HandlingEditor.lua @@ -1,7 +1,7 @@ ---@enum eHandlingEditorTypes Enums.eHandlingEditorTypes = { - TYPE_HF = 0, -- handling flag - TYPE_AF = 1, -- advanced flag + TYPE_HF = 0, -- handling flag + TYPE_AF = 1, -- advanced flag TYPE_MIF = 2, -- model info flag } @@ -75,7 +75,7 @@ end function HandlingEditor:GetFlagDefault(obj) return Switch(obj.m_type) { [Enums.eHandlingEditorTypes.TYPE_HF] = self.m_pv:GetHandlingFlag(obj.m_flag), - [Enums.eHandlingEditorTypes.TYPE_AF] = self.m_pv:GetHandlingFlag(obj.m_flag), + [Enums.eHandlingEditorTypes.TYPE_AF] = self.m_pv:GetAdvancedFlag(obj.m_flag), [Enums.eHandlingEditorTypes.TYPE_MIF] = self.m_pv:GetModelInfoFlag(obj.m_flag), default = false } @@ -89,7 +89,8 @@ end ---@param obj HandlingObject ---@param toggle boolean -function HandlingEditor:SetFlag(obj, toggle) +---@param reset? boolean +function HandlingEditor:SetFlag(obj, toggle, reset) if (not self.m_pv or not self.m_pv:IsValid()) then return end @@ -123,7 +124,12 @@ function HandlingEditor:SetFlag(obj, toggle) callback() end - obj.m_was_edited = toggle + if (reset) then + obj.m_was_edited = false + return + end + + obj.m_was_edited = true end ---@param obj HandlingObject @@ -137,7 +143,7 @@ function HandlingEditor:ResetFlag(obj) end obj.m_was_edited = false - self:SetFlag(obj, obj.m_default) + self:SetFlag(obj, obj.m_default, true) if (type(obj.m_on_disable) == "function") then obj.m_on_disable() end From 9b5793ff0c84876a3bd7f092fbc7be1251449861 Mon Sep 17 00:00:00 2001 From: SAMURAI Date: Mon, 29 Dec 2025 01:55:27 +0100 Subject: [PATCH 03/11] chore(compat): prepare for cross-compatibility Prepare for cross-compatibility with GTA V Enhanced using tupoy-ya's YimLuaAPI. --- includes/backend.lua | 33 +-- includes/data/globals_locals.lua | 352 +++++++++++++++++++++++++----- includes/data/pointers.lua | 165 +++++++++----- includes/lib/compat.lua | 6 +- includes/version.lua | 2 +- scripts/offsets/update_offsets.py | 75 +++---- 6 files changed, 462 insertions(+), 171 deletions(-) diff --git a/includes/backend.lua b/includes/backend.lua index 3887506..48f7f8f 100644 --- a/includes/backend.lua +++ b/includes/backend.lua @@ -88,24 +88,29 @@ end ---@return eAPIVersion function Backend:GetAPIVersion() - if self.api_version then - return self.api_version - end - - if (script and (type(script) == "table")) then - if (menu_event and menu_event.Wndproc) then - return Enums.eAPIVersion.V1 - end + if (not self.api_version) then + if (script and (type(script) == "table")) then + if (menu_event and menu_event.Wndproc) then + if (type(_G["get_game_branch"]) == "function") then + self.api_version = _G["get_game_branch"]() + 1 + else + self.api_version = Enums.eAPIVersion.V1 + end + end - if (type(script["run_in_callback"]) == "function") then - return Enums.eAPIVersion.V2 + if (type(script["run_in_callback"]) == "function") then + error( + "YmMenu V2 is not supported. If you want to run this script in GTA V Enhanced, download YimLuaAPI.") -- test error; add copyable link later + end + ---@diagnostic disable-next-line: undefined-global + elseif (util or (menu and menu.root) or SCRIPT_SILENT_START or (_VERSION ~= "Lua 5.4")) then -- should probably place these in a lookup table + error("Failed to load: Unknown or unsupported Lua environment.") + else + self.api_version = Enums.eAPIVersion.L54 end - ---@diagnostic disable-next-line: undefined-global - elseif (util or (menu and menu.root) or SCRIPT_SILENT_START or (_VERSION ~= "Lua 5.4")) then -- should probably place these in a lookup table - error("Failed to load: Unknown or unsupported environment.") end - return Enums.eAPIVersion.L54 + return self.api_version end ---@return boolean diff --git a/includes/data/globals_locals.lua b/includes/data/globals_locals.lua index 0ae5ecb..52becde 100644 --- a/includes/data/globals_locals.lua +++ b/includes/data/globals_locals.lua @@ -7,17 +7,25 @@ return { pattern = [[switch \((Global_\w{6})\.f_\w{4}\)]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 262145, + pattern = [[switch \((Global_\w{6})\.f_\w{4}\)]], + capture_group = 1 + } }, freemode_business_global = { description = "Freemode Business Global", file = "freemode.c", LEGACY = { value = 1673807, - pattern = [[if \(\((Global_\w{7})\[\w+0\] != 0 && func_\w{5}\(\w+0\)\) && \w+2\)]], + pattern = [[if \(Global_\d{7}\[.*?\] != 0 && func_\w+\(.*?\) && \w+\)]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 1673830, + pattern = [[if \(Global_\d{7}\[PLAYER::PLAYER_ID\(\) /\*883\*/\]\.f_\d{3}\.f_\d{3}\[.*?/\*13\*/\] != HUD_COLOUR_PURE_WHITE && (Global_\d{7})\[.*?\] != 0\)]], + capture_group = 1 + } }, personal_vehicle_global = { description = "Personal Vehicle Global", @@ -27,7 +35,11 @@ return { pattern = [[if \(VEHICLE::GET_IS_VEHICLE_ENGINE_RUNNING\((Global_\w{7})\)\)]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 1572199, + pattern = [[if \(VEHICLE::GET_IS_VEHICLE_ENGINE_RUNNING\((Global_\w{7})\)\)]], + capture_group = 1 + } }, business_hub_global_1 = { description = "Business Hub Global 1", @@ -37,70 +49,100 @@ return { pattern = [[else if \(Global_\w{7}\)]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 1950567, + pattern = [[else if \(Global_\w{7}\)]], + capture_group = 1 + } }, business_hub_global_2 = { description = "Business Hub Global 2", file = "apparcadebusinesshub.c", LEGACY = { value = 1970093, - pattern = [[if \(MISC::IS_STRING_NULL_OR_EMPTY\(\w+\) \|\| (Global_\w{7}) == -1\)]], + pattern = [[if \(MISC::IS_STRING_NULL_OR_EMPTY\(\w+\) \|\| (Global_\w{7}) ==.*?\)]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 1970664, + pattern = [[if \(MISC::IS_STRING_NULL_OR_EMPTY\(\w+\) \|\| (Global_\w{7}) ==.*?\)]], + capture_group = 1 + } }, gb_contraband_buy_local_1 = { description = "Contraband Buy Local 1", file = "gb_contraband_buy.c", LEGACY = { value = 625, - pattern = [[switch \(((?:[buisf]?Local_\d{3}))\.f_5\)]], + pattern = [[switch \(((.*?Local_\d{3}))\.f_5]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 627, + pattern = [[switch \(((.*?Local_\d{3}))\.f_5]], + capture_group = 1 + } }, gb_contraband_buy_local_2 = { description = "Contraband Buy Local 2", file = "fm_content_cargo.c", LEGACY = { value = 5991, - pattern = [[if \(func_\w{2}\(&((?:[buisf]?Local_[5-7]\d{3})), \w+0\)\)]], + pattern = [[func_303\(&u(Local_59..?), \w+\);]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 5993, + pattern = [[func_303\(&u(Local_59..?), \w+\);]], + capture_group = 1 + } }, gb_contraband_buy_local_3 = { description = "Contraband Buy Local 3", file = "fm_content_cargo.c", LEGACY = { - value = 1180, - pattern = [[if \((?:[buisf]?Local_[5-9]\d{3})(\.f_\d{4}) == 0]], + value = 6110, + pattern = [[if \(.*?(Local_\d{4})\.(f_\d{4}) == 0]], capture_group = 1, offsets = { { - value = 6110, + value = 1180, capture_group = 2 } } }, - ENHANCED = {} + ENHANCED = { + value = 6112, + pattern = [[if \(.*?(Local_\d{4})\.(f_\d{4}) == 0]], + capture_group = 1, + offsets = { + { + value = 1180, + capture_group = 2 + } + } + } }, gb_contraband_sell_local = { description = "Contraband Sell Local", file = "gb_contraband_sell.c", LEGACY = { value = 567, - pattern = [[MISC::CLEAR_BIT\(&\((?:[buisf]?Local_\d{3})\.f_\d{1,2}\), \w+0]], + pattern = [[MISC::CLEAR_BIT\(&\((.*?Local_\d{3})\.f_\d{1,2}\), \w+0]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 569, + pattern = [[MISC::CLEAR_BIT\(&\((.*?Local_\d{3})\.f_\d{1,2}\), \w+0]], + capture_group = 1 + } }, gb_biker_contraband_sell_local = { description = "Biker Contraband Sell Local", file = "gb_biker_contraband_sell.c", LEGACY = { value = 729, - pattern = [[else if \(!func_\w+\(1\) && ((?:[buisf]?Local_\d{3}))(\.f_\d{3}) > 0\)]], + pattern = [[else if \(!func_\w+\(.*?\) &&.*?(Local_\d{3})(\.f_\d{3}) > 0\)]], capture_group = 1, offsets = { { @@ -109,14 +151,24 @@ return { } } }, - ENHANCED = {} + ENHANCED = { + value = 731, + pattern = [[else if \(!func_\w+\(.*?\) &&.*?(Local_\d{3})(\.f_\d{3}) > 0\)]], + capture_group = 1, + offsets = { + { + value = 122, + capture_group = 2 + } + } + } }, gb_smuggler_sell_air_local_1 = { description = "Hangar Sell Local 1 (air)", file = "gb_smuggler.c", LEGACY = { value = 1989, - pattern = [[while \(\w+ < func_\w{2}\(func_\w{4}\(\), func_\w{2}\(\), ((?:[buisf]?Local_\d{4}))(\.f_\d{4}), -1]], + pattern = [[for \(i = 0; i < func_\w{2}\(func_\w{4}\(\), func_\w{2}\(\), .*?(Local_\d{4})\.(f_\d{4}), -1\); i = i \+ 1\)]], capture_group = 1, offsets = { { @@ -125,14 +177,24 @@ return { } } }, - ENHANCED = {} + ENHANCED = { + value = 1991, + pattern = [[for \(i = 0; i < func_\w{2}\(func_\w{4}\(\), func_\w{2}\(\), .*?(Local_\d{4})\.(f_\d{4}), -1\); i = i \+ 1\)]], + capture_group = 1, + offsets = { + { + value = 1035, + capture_group = 2 + } + } + } }, gb_smuggler_sell_air_local_2 = { description = "Hangar Sell Local 2 (air)", file = "gb_smuggler.c", LEGACY = { value = 1989, - pattern = [[if .*?((?:[buisf]?Local_\d{4}))(\.f_\d{4}) > 0 && func_.*?&.*?Local_\d{4}\.f_\d{4}\), 30000, 0]], + pattern = [[if .*?(Local_\d{4})\.(f_\d{4}) > 0 && func_.*?&.*?Local_\d{4}\.f_\d{4}\), 30000, \w+]], capture_group = 1, offsets = { { @@ -141,72 +203,116 @@ return { } } }, - ENHANCED = {} + ENHANCED = { + value = 1991, + pattern = [[if .*?(Local_\d{4})\.(f_\d{4}) > 0 && func_.*?&.*?Local_\d{4}\.f_\d{4}\), 30000, \w+]], + capture_group = 1, + offsets = { + { + value = 1078, + capture_group = 2 + } + } + } }, gb_gunrunning_sell_local_1 = { description = "Bunker Sell Local 1", file = "gb_gunrunning.c", LEGACY = { - value = 774, - pattern = [[(?:[buisf]?Local_1\d{3}?)(\.f_\d{3}) = func_\w+\(func_\w+\(\),.*?Local_1\d{3}\.f_\d{3}, \w+, -1\);]], + value = 1266, + pattern = [[Local_1\d{3}\.f_\d{3} = func_\w+\(func_\w+\(\),.*?(Local_1\d{3})\.(f_\d{3}), \w+, -1\);]], capture_group = 1, offsets = { { - value = 1266, + value = 762, capture_group = 2 } } }, - ENHANCED = {} + ENHANCED = { + value = 1268, + pattern = [[Local_1\d{3}\.f_\d{3} = func_\w+\(func_\w+\(\),.*?(Local_1\d{3})\.(f_\d{3}), \w+, -1\);]], + capture_group = 1, + offsets = { + { + value = 762, + capture_group = 2 + } + } + } }, gb_gunrunning_sell_local_2 = { description = "Bunker Sell Local 2", file = "gb_gunrunning.c", LEGACY = { - value = 816, - pattern = [[func_\w+\((?:[buisf]?Local_\d{4})(\.f_\d{3}), \w+, "GR_HUD_TOT", \w+, 1, 4, 0, 0, 0, 0, 0, 1, 1, 0, 255, 0\);]], + value = 1266, + pattern = [[func_\w+\((.*?Local_\d{4})(\.f_\d{3}), \w+, "GR_HUD_TOT".*?, 255, 0\);]], capture_group = 1, offsets = { { - value = 2976, + value = 816, capture_group = 2 } } }, - ENHANCED = {} + ENHANCED = { + value = 1268, + pattern = [[func_\w+\((.*?Local_\d{4})(\.f_\d{3}), \w+, "GR_HUD_TOT".*?, 255, 0\);]], + capture_group = 1, + offsets = { + { + value = 816, + capture_group = 2 + } + } + } }, acid_lab_sell_local = { description = "Acid Lab Sell Local", file = "fm_content_acid_lab_sell.c", LEGACY = { - value = 1339, - pattern = [[if \((?:[buisf]?Local_5\d{3})(\.f_\d{4}) == 0\)]], + value = 5723, + pattern = [[if \((.*?Local_5\d{3})(\.f_\d{4}) == 0\)]], capture_group = 1, offsets = { { - value = 5723, + value = 1339, capture_group = 2 } } }, - ENHANCED = {} + ENHANCED = { + value = 5725, + pattern = [[if \((.*?Local_5\d{3})(\.f_\d{4}) == 0\)]], + capture_group = 1, + offsets = { + { + value = 1339, + capture_group = 2 + } + } + } }, acid_lab_sell_bitset = { description = "Acid Lab Sell Generic Bitset", file = "fm_content_acid_lab_sell.c", LEGACY = { - value = 7613, - pattern = [[if \(func_\w+\((?:[buisf]?Local_5\d{3}), \w+\)\)]], + value = 301, + pattern = [[func_\w{3}\(&.?Local_5\d+, \w+\)]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 301, + pattern = [[func_\w{3}\(&.?Local_5\d+, \w+\)]], + capture_group = 1 + } }, three_card_poker_table = { description = "Three Card Poker Table Local", file = "three_card_poker.c", LEGACY = { value = 771, - pattern = [[if \((.*?Local_\d{3})\[.*? /\*(\d+)\*/\]\.f_\d+ == \w+ && \(.*?Local_\d{3}\[.*?\]\.f_\d+ > 0 \|\| .*?Local_\d{3}\[.*?\]\.f_\d+ > 0\)\)]], + pattern = [[if \((.*?Local_\d{3})\[.*? /\*(\d+)\*/\]\.f_\d+ ==.*?&&.*?Local_\d{3}\[.*?\]\.f_\d+ > 0 \|\| .*?Local_\d{3}\[.*?\]\.f_\d+ > 0\)]], capture_group = 1, offsets = { { @@ -215,7 +321,17 @@ return { } } }, - ENHANCED = {} + ENHANCED = { + value = 773, + pattern = [[if \((.*?Local_\d{3})\[.*? /\*(\d+)\*/\]\.f_\d+ ==.*?&&.*?Local_\d{3}\[.*?\]\.f_\d+ > 0 \|\| .*?Local_\d{3}\[.*?\]\.f_\d+ > 0\)]], + capture_group = 1, + offsets = { + { + value = 9, + capture_group = 2 + } + } + } }, three_card_poker_cards = { description = "Three Card Poker Cards Local", @@ -232,7 +348,18 @@ return { } } }, - ENHANCED = {} + ENHANCED = { + value = 140, + pattern = [[STREAMING::REQUEST_MODEL\(func_\d+\(.*?(Local_\d{3})(\.f_\d{3})\[.*?\]\.f_\d+\[.*?\], .*?Local_\d{4}\.f_\d+\)\);]], + capture_group = 1, + offsets = { + { + value = 168, + capture_group = 2, + description = "current deck" + } + } + } }, three_card_poker_deck_size = { description = "Three Card Poker Deck Size", @@ -242,14 +369,18 @@ return { pattern = [[if \(!NETWORK::NETWORK_HAS_CONTROL_OF_NETWORK_ID\(.*?Local_\d{3}(\.f_\d{2})\[\w+\(\w+, 0\)\]\)\)]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 55, + pattern = [[if \(!NETWORK::NETWORK_HAS_CONTROL_OF_NETWORK_ID\(.*?Local_\d{3}(\.f_\d{2})\[\w+\(\w+, 0\)\]\)\)]], + capture_group = 1 + } }, three_card_poker_anti_cheat = { description = "Three Card Poker Anti Cheat", file = "three_card_poker.c", LEGACY = { value = 1060, - pattern = [[if \(.*?(Local_\d{4})(\.f_\d{3})\.f_\d+\[.*?\] != Local_\d{3}\.f_\d+\[PLAYER::PLAYER_ID\(\) .*?\]\.f_1\[.*?\]\)]], + pattern = [[if \(.*?(Local_\d{4})(\.f_\d{3})\.f_\d+\[.*?\] !=.*?Local_\d{3}\.f_\d+\[PLAYER::PLAYER_ID\(\) .*?\]\.f_1\[.*?\]\)]], capture_group = 1, offsets = { { @@ -259,7 +390,18 @@ return { } } }, - ENHANCED = {} + ENHANCED = { + value = 1062, + pattern = [[if \(.*?(Local_\d{4})(\.f_\d{3})\.f_\d+\[.*?\] !=.*?Local_\d{3}\.f_\d+\[PLAYER::PLAYER_ID\(\) .*?\]\.f_1\[.*?\]\)]], + capture_group = 1, + offsets = { + { + value = 856, + capture_group = 2, + description = "anti cheat deck" + } + } + } }, blackjack_table_players = { description = "Blackjack Table Players Local", @@ -275,7 +417,17 @@ return { } } }, - ENHANCED = {} + ENHANCED = { + value = 1800, + pattern = [[if \(.*?Local_\d{4}\[.*?/\*(\d+)\*/\]\.f_\d+ == \w+ && \w+\(.*?Local_\d{4}\[.*?\], \d+\)\)]], + capture_group = 2, + offsets = { + { + value = 8, + capture_group = 1 + } + } + } }, blackjack_cards = { description = "Blackjack Cards Local", @@ -291,7 +443,17 @@ return { } } }, - ENHANCED = {} + ENHANCED = { + value = 140, + pattern = [[if \(func_\w+\(.*?(Local_\d{3})(\.f_\d{3})\[.*?\]\) == 10 \|\| func_\d+\(.*?Local_\d{3}\.f_\d{3}\[.*?\]\) == 11\)]], + capture_group = 1, + offsets = { + { + value = 846, + capture_group = 2 + } + } + } }, roulette_master_table = { description = "Roulette Master Table Local", @@ -308,7 +470,18 @@ return { } } }, - ENHANCED = {} + ENHANCED = { + value = 148, + pattern = [[NETWORK::NETWORK_REGISTER_HOST_BROADCAST_VARIABLES\(&\(.*?(Local_\d{3})(\.f_\d{4})\), 295, 0\);]], + capture_group = 1, + offsets = { + { + value = 1357, + capture_group = 2, + description = "roulette outcomes table" + } + } + } }, roulette_ball_table_offset = { description = "Roulette Ball Table Offset", @@ -318,7 +491,11 @@ return { pattern = [[\w+\.f_1 = \w+->f_\d{4}(\.f_\d{3})\[.*?\];]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 153, + pattern = [[\w+\.f_1 = \w+->f_\d{4}(\.f_\d{3})\[.*?\];]], + capture_group = 1 + } }, slots_random_result_table = { description = "Slots Random Results Table Local", @@ -328,7 +505,11 @@ return { pattern = [[\w+ = func_\d+\(.*?(Local_\d{4})\.f_1\[.*?\]\[.*?Local_\d+\[0\]\], .*?Local_\d+?\.f_1\[.*?\]\[.*?Local_\d+\[1\]\], .*?Local_\d{4}\.f_1\[.*?\]\[.*?Local_\d+\[2\]\]\);]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 1374, + pattern = [[\w+ = func_\d+\(.*?(Local_\d{4})\.f_1\[.*?\]\[.*?Local_\d+\[0\]\], .*?Local_\d+?\.f_1\[.*?\]\[.*?Local_\d+\[1\]\], .*?Local_\d{4}\.f_1\[.*?\]\[.*?Local_\d+\[2\]\]\);]], + capture_group = 1 + } }, slots_slot_machine_state = { description = "Slots Slot Machine State", @@ -338,23 +519,37 @@ return { pattern = [[MISC::CLEAR_BIT\(&.*?(Local_\d{4}), 18\)]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 1664, + pattern = [[MISC::CLEAR_BIT\(&.*?(Local_\d{4}), 18\)]], + capture_group = 1 + } }, prize_wheel_win_state = { description = "Prize Wheel Win State Local", file = "casino_lucky_wheel.c", LEGACY = { - value = 14, - pattern = [[(?:[buisf]?Local_\d{3})(\.f_\d{2}) = \(.*?Local_\d{3}\.f_\d{2} % 20\);]], + value = 302, + pattern = [[(Local_\d{3})(\.f_\d{2}) =.*?Local_\d{3}\.f_\d{2} % 20]], capture_group = 1, offsets = { { - value = 302, + value = 14, capture_group = 2 } } }, - ENHANCED = {} + ENHANCED = { + value = 304, + pattern = [[(Local_\d{3})(\.f_\d{2}) =.*?Local_\d{3}\.f_\d{2} % 20]], + capture_group = 1, + offsets = { + { + value = 14, + capture_group = 2 + } + } + } }, prize_wheel_prize_state = { description = "Prize Wheel Prize State Offset", @@ -370,17 +565,31 @@ return { } } }, - ENHANCED = {} + ENHANCED = { + value = 304, + pattern = [[if \(.?(Local_\d{3})(\.f_..) >= 5 && .?Local_\d{3}\.f_\d{2} <= 12\)]], + capture_group = 1, + offsets = { + { + value = 45, + capture_group = 2 + } + } + } }, gb_casino_heist_planning = { description = "Casino Heist Planning Global", file = "gb_casino_heist_planning.c", LEGACY = { value = 1971952, - pattern = [[if \(Global_\d{7}\.f_\d{4} == func_\d{2}\(\) \|\| !NETWORK::NETWORK_IS_PLAYER_ACTIVE\(Global_\d{7}\.f_\d{4}\)\)]], + pattern = [[!NETWORK::NETWORK_IS_PLAYER_ACTIVE\(Global_\d{7}\.f_\d{4}]], capture_group = 1 }, - ENHANCED = {} + ENHANCED = { + value = 1973231, + pattern = [[!NETWORK::NETWORK_IS_PLAYER_ACTIVE\(Global_\d{7}\.f_\d{4}]], + capture_group = 1 + } }, gb_casino_heist_planning_cut_offset = { description = "Casino Heist Planning Cut Offset", @@ -400,7 +609,21 @@ return { } } }, - ENHANCED = {} + ENHANCED = { + value = 1497, + pattern = [[\w+->(f_\d{4})(\.f_\d{3})(\.f_\d{2})\[4\] > 0]], + capture_group = 1, + offsets = { + { + value = 736, + capture_group = 2 + }, + { + value = 92, + capture_group = 3 + } + } + } }, fm_mission_controller_cart_grab = { description = "FM Mission Controller Cart Grab Local", @@ -417,6 +640,17 @@ return { } } }, - ENHANCED = {} + ENHANCED = { + value = 10697, + pattern = [[PED::SET_SYNCHRONIZED_SCENE_RATE\(NETWORK::NETWORK_GET_LOCAL_SCENE_FROM_NETWORK_ID\(.?Local_\d{5}\.f_\d+\), .?(Local_\d{5})(\.f_\d+\))]], + capture_group = 1, + offsets = { + { + value = 14, + capture_group = 2, + description = "grab speed" + } + } + } } } diff --git a/includes/data/pointers.lua b/includes/data/pointers.lua index 255af58..2e57349 100644 --- a/includes/data/pointers.lua +++ b/includes/data/pointers.lua @@ -1,6 +1,5 @@ PatternScanner = require("includes.services.PatternScanner"):init() - -- ### A place to store pointers globally. -- -- You can add new indexes to this global table from any other file @@ -9,74 +8,132 @@ PatternScanner = require("includes.services.PatternScanner"):init() -- -- **NOTE:** Please make sure no modules/files try to use a pointer before the scan is complete. -- --- You can call `PointerScanner:IsDone()` to double check. +-- You can call `PatternScanner:IsDone()` to double check. ---@class GPointers +---@field ScriptGlobals pointer ---@field GameState pointer ---@field GameTime pointer +---@field GameVersion { _build: string, _online: string } +---@field ScreenResolution vec2 local GPointers = { - Init = function() - PatternScanner:Scan() - end, - Retry = function() - PatternScanner:RetryScan() - end + Init = function() PatternScanner:Scan() end, + Retry = function() PatternScanner:RetryScan() end, + ScriptGlobals = NULLPTR, + GameState = NULLPTR, + GameTime = NULLPTR, + GameVersion = { _build = "nil", _online = "nil" }, + ScreenResolution = vec2:zero(), } -PatternScanner:Add("ScriptGlobals", "48 8D 15 ? ? ? ? 4C 8B C0 E8 ? ? ? ? 48 85 FF 48 89 1D", function(ptr) - GPointers.ScriptGlobals = ptr:add(0x3):rip() -end) +---@class MemoryBatch +---@field m_name string +---@field m_pattern string +---@field m_callback fun(ptr: pointer) +local MemoryBatch = {} +MemoryBatch.__index = {} +---@param name string +---@param ida_sig string +---@param callback fun(ptr: pointer) +function MemoryBatch.new(name, ida_sig, callback) + return { + m_name = name, + m_pattern = ida_sig, + m_callback = callback + } +end --- PatternScanner:Add("CWheelOffset", "3B B7 ? ? ? ? 7D 0D", function(ptr) --- if ptr:is_null() then --- GPointers.CWheelOffset = 0 --- return --- end +---@type table> +local mem_batches = { + [Enums.eAPIVersion.V1] = { + MemoryBatch.new("ScriptGlobals", "48 8D 15 ? ? ? ? 4C 8B C0 E8 ? ? ? ? 48 85 FF 48 89 1D", function(ptr) + if ptr:is_null() then + return + end --- GPointers.CWheelOffset = ptr:get_disp32(0x2) -- cmp esi, [rdi+0000C38h] (b3586.0) --- end) + GPointers.ScriptGlobals = ptr:add(0x3):rip() + end), + MemoryBatch.new("GameVersion", "8B C3 33 D2 C6 44 24 20", function(ptr) + if ptr:is_null() then + return + end -PatternScanner:Add("GameVersion", "8B C3 33 D2 C6 44 24 20", function(ptr) - if ptr:is_null() then - GPointers.GameVersion = { _build = "nil", _online = "nil" } - return - end + local pGameBuild = ptr:add(0x24):rip() + local pOnlineVersion = pGameBuild:add(0x20) + GPointers.GameVersion = { + _build = pGameBuild:get_string(), + _online = pOnlineVersion:get_string() + } + end), + MemoryBatch.new("GameState", "83 3D ? ? ? ? ? 75 17 8B 43 20 25", function(ptr) + if ptr:is_null() then + return + end - local pGameBuild = ptr:add(0x24):rip() - local pOnlineVersion = pGameBuild:add(0x20) - GPointers.GameVersion = { - _build = pGameBuild:get_string(), - _online = pOnlineVersion:get_string() - } -end) + GPointers.GameState = ptr:add(0x2):rip():add(0x1) + end), + MemoryBatch.new("GameTime", "8B 05 ? ? ? ? 89 ? 48 8D 4D C8", function(ptr) + if ptr:is_null() then + return + end -PatternScanner:Add("GameState", "83 3D ? ? ? ? ? 75 17 8B 43 20 25", function(ptr) - if ptr:is_null() then - GPointers.GameState = ptr - return - end + GPointers.GameTime = ptr:add(0x2):rip() + end), + MemoryBatch.new("ScreenResolution", "66 0F 6E 0D ? ? ? ? 0F B7 3D", function(ptr) + if ptr:is_null() then + return + end - GPointers.GameState = ptr:add(0x2):rip():add(0x1) -end) + GPointers.ScreenResolution = vec2:new( + ptr:sub(0x4):rip():get_word(), + ptr:add(0x4):rip():get_word() + ) + end), + }, + [Enums.eAPIVersion.V2] = { + MemoryBatch.new("ScriptGlobals", "48 8B 8E B8 00 00 00 48 8D 15 ? ? ? ? 49 89 D8", function(ptr) + if ptr:is_null() then + return + end -PatternScanner:Add("GameTime", "8B 05 ? ? ? ? 89 ? 48 8D 4D C8", function(ptr) - if ptr:is_null() then - GPointers.GameTime = ptr - return - end + GPointers.ScriptGlobals = ptr:add(0x7):add(0x3):rip() + end), + MemoryBatch.new("GameVersion", "4C 8D 0D ? ? ? ? 48 8D 5C 24 ? 48 89 D9 48 89 FA", function(ptr) + if ptr:is_null() then + return + end - GPointers.GameTime = ptr:add(0x2):rip() -end) + GPointers.GameVersion = { + _build = ptr:add(0x3):rip():get_string(), + _online = ptr:add(0x47):add(0x3):rip():get_string() + } + end), + MemoryBatch.new("GameState", "83 3D ? ? ? ? ? 0F 85 ? ? ? ? BA ? 00", function(ptr) + if ptr:is_null() then + return + end -PatternScanner:Add("ScreenResolution", "66 0F 6E 0D ? ? ? ? 0F B7 3D", function(ptr) - if ptr:is_null() then - GPointers.ScreenResolution = vec2:zero() - return - end + GPointers.GameState = ptr:add(0x2):rip():add(0x1) + end), + MemoryBatch.new("ScreenResolution", "75 39 0F 57 C0 F3 0F 2A 05", function(ptr) + if ptr:is_null() then + return + end + + GPointers.ScreenResolution = vec2:new( + ptr:add(0x5):add(0x4):rip():get_word(), + ptr:add(0x1E):add(0x4):rip():get_word() + ) + end), + }, + [Enums.eAPIVersion.L54] = { + -- dummy + }, +} - GPointers.ScreenResolution = vec2:new( - ptr:sub(0x4):rip():get_word(), - ptr:add(0x4):rip():get_word() - ) -end) +local API_VERSON = Backend:GetAPIVersion() +local batches = mem_batches[API_VERSON] +for _, batch in ipairs(batches) do + PatternScanner:Add(batch.m_name, batch.m_pattern, batch.m_callback) +end return GPointers diff --git a/includes/lib/compat.lua b/includes/lib/compat.lua index 180240d..85dc911 100644 --- a/includes/lib/compat.lua +++ b/includes/lib/compat.lua @@ -4,9 +4,9 @@ local Compat = {} Compat.__index = Compat ----@param version integer eAPIVersion +---@param version eAPIVersion function Compat.SetupEnvironment(version) - if (version == Enums.eAPIVersion.V1) then + if (version == Enums.eAPIVersion.V1 or version == Enums.eAPIVersion.V2) then print = function(...) local out = {} @@ -53,8 +53,6 @@ function Compat.SetupEnvironment(version) end end end - elseif (version == Enums.eAPIVersion.V2) then - error("YmMenu V2 is not supported. Please remove the script.") elseif (version == Enums.eAPIVersion.L54) then require("includes.lib.mock_env") end diff --git a/includes/version.lua b/includes/version.lua index 9f1d104..37824ed 100644 --- a/includes/version.lua +++ b/includes/version.lua @@ -2,4 +2,4 @@ CI only. Do not edit. --]] -return "1.7.5" +return "1.7.4" diff --git a/scripts/offsets/update_offsets.py b/scripts/offsets/update_offsets.py index 3146733..3ba8ae2 100644 --- a/scripts/offsets/update_offsets.py +++ b/scripts/offsets/update_offsets.py @@ -2,12 +2,8 @@ # # Usage: # python update_offsets.py : normal run (just hit F5 if in VS Code and have Python Debugger installed, reads raw files from a remote repository) -# python update_offsets.py --version : 1: Legacy | 2: Enhanced; defaults to 1: Legacy +# python update_offsets.py --version : 0: Legacy | 1: Enhanced; defaults to 0: Legacy # python update_offsets.py --local : Read from local files; this must be followed by the path to local decompiled scritps -# python update_offsets.py --owner : Repository owner (if reading from remote repository) -# python update_offsets.py --repo : Repository name (if reading from remote repository) -# python update_offsets.py --branch : Repository branch (if reading from remote repository) -# python update_offsets.py --folder : Repository folder (if reading from remote repository. Optional, must end with a forward slash if provided) # # CI Run: Don't pass any arguments @@ -31,6 +27,10 @@ PARENT_PATH = Path(__file__).resolve().parent SCRIPT_ROOT = PARENT_PATH.parent.parent +REPO_URLS = [ + "https://raw.githubusercontent.com/acidlabsgg/gtav-legacy-scripts/refs/heads/main/scripts", + "https://raw.githubusercontent.com/acidlabsgg/gtav-enhanced-scripts/refs/heads/main/scripts", +] def has_c_file(path) -> bool: @@ -41,8 +41,8 @@ def has_c_file(path) -> bool: return False -def read_raw_file(file_name: str, owner: str, repo: str, branch: str, folder: str) -> str: - url = f"https://raw.githubusercontent.com/{owner}/{repo}/refs/heads/{branch}/{folder}{file_name}" +def read_raw_file(file_name: str, version: int=0) -> str: + url = f"{REPO_URLS[version]}/{file_name}" try: resp = requests.get(url) resp.raise_for_status() @@ -61,14 +61,14 @@ def read_local_file(file_path: str) -> str: return f.read() -def read_file(local: bool, file_name: str, decomps_path: str, owner: str, repo: str, branch: str, folder: str): +def read_file(local: bool, file_name: str, decomps_path: str, version: int): if local: if not (os.path.isdir(decomps_path) and has_c_file(decomps_path)): print("The path specified is invalid.") sys.exit(1) return read_local_file(script_file_path(decomps_path, file_name)) else: - return read_raw_file(file_name, owner, repo, branch, folder) + return read_raw_file(file_name, version) def read_lua_table(path: str): @@ -171,35 +171,8 @@ def serialize_lua(v, indent=1): return f'"{s}"' -def main(): - table_path = SCRIPT_ROOT / "includes/data/globals_locals.lua" - if not os.path.exists(table_path): - print("Lookup file not found: globals_locals.lua") - sys.exit(1) - - - parser = ArgParser(description="Update offsets from local path or GitHub repository.") - parser.add_argument("--version", type=int, help="Choose game version. (1: Legacy | 2: Enhanced)") - parser.add_argument("--local", action="store_true", help="Read from local decompiled scripts") - parser.add_argument("decomps_path", type=str, nargs="?", default="", help="Path to your local decompiled scripts") - parser.add_argument("--owner", type=str, default="calamity-inc", help="GitHub repo owner for remote files") - parser.add_argument("--repo", type=str, default="GTA-V-Decompiled-Scripts", help="GitHub repo name for remote files") - parser.add_argument("--branch", type=str, default="senpai", help="GitHub repo branch for remote files") - parser.add_argument("--folder", type=str, default="decompiled_scripts/", help="Optional GitHub repo folder. If provided, it must end with a forward slash.") - args = parser.parse_args() - - version: int = args.version or 1 - offsets_table = read_lua_table(table_path) - version = args.version or 1 - local = args.local - path = args.decomps_path - owner = args.owner - repo = args.repo - branch = args.branch - folder = args.folder - - offsets_table = read_lua_table(table_path) - version_key = "LEGACY" if version == 1 else "ENHANCED" +def generate(offsets_table: list, version: int, local: bool, path: str): + version_key = "LEGACY" if version == 0 else "ENHANCED" for name, data in offsets_table.items(): ver = data.get(version_key) @@ -208,7 +181,7 @@ def main(): print(f"\n--- Scanning for: {name} ({version_key}) ---") file_name = data["file"] - file_content = read_file(local, file_name, path, owner, repo, branch, folder) + file_content = read_file(local, file_name, path, version) result = scan_entry(ver, file_content, file_name) if not result: print(f"[MISS] {name} (pattern not found in {file_name})") @@ -225,6 +198,30 @@ def main(): print(f"\tFound offset for {name} ({version_key}): .f_{newv}") ver["offsets"][i]["value"] = newv + + +def main(auto: bool = True): + table_path = SCRIPT_ROOT / "includes/data/globals_locals.lua" + if not os.path.exists(table_path): + print("Lookup file not found: globals_locals.lua") + sys.exit(1) + + offsets_table = read_lua_table(table_path) + + if auto: + generate(offsets_table, 0, False, "") + generate(offsets_table, 1, False, "") + else: + parser = ArgParser(description="Update offsets from local path or GitHub repository.") + parser.add_argument("--version", type=int, help="Choose game version. (0: Legacy | 1: Enhanced)") + parser.add_argument("--local", action="store_true", help="Read from local decompiled scripts") + parser.add_argument("decomps_path", type=str, nargs="?", default="", help="Path to your local decompiled scripts") + args = parser.parse_args() + version = args.version or 0 + local = args.local + path = args.decomps_path + generate(offsets_table, version, local, path) + data = serialize_lua(offsets_table) with open(table_path, "w", encoding="utf-8") as f: f.write("return ") From a8b98b7dc0024786c08f1c5d6c023a4bb8a52867 Mon Sep 17 00:00:00 2001 From: SAMURAI Date: Mon, 29 Dec 2025 02:00:22 +0100 Subject: [PATCH 04/11] fix(version): revert version file --- includes/version.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/version.lua b/includes/version.lua index 37824ed..9f1d104 100644 --- a/includes/version.lua +++ b/includes/version.lua @@ -2,4 +2,4 @@ CI only. Do not edit. --]] -return "1.7.4" +return "1.7.5" From 1c49d23cb5e7e61aeff880fd5163a456fce222e6 Mon Sep 17 00:00:00 2001 From: SAMURAI Date: Mon, 29 Dec 2025 19:48:09 +0100 Subject: [PATCH 05/11] fix(misc): several fixes & improvements - Features/PlayerVehicle - Refactored Launch Control: Feture now has two modes (realistic/ridiculous) and performs a lot better than before. - Refactored Fast Jets: No more air drag loss when speed is increased. Jets now handle the same as default, only faster. - Fixed Brake Force Display toggling ABS when the vehicle is moving in reverse. - Fixed tyre smoke color in the Drift Mode feature. - Fixed script entry point. --- includes/backend.lua | 2 +- includes/classes/CVehicle.lua | 86 ++++++++++--------- includes/data/config.lua | 1 + includes/data/pointers.lua | 2 +- .../features/vehicle/brake_force_display.lua | 3 +- includes/features/vehicle/drift_mode.lua | 4 +- includes/features/vehicle/launch_control.lua | 54 ++++++++---- includes/features/vehicle/misc_vehicle.lua | 42 ++++++--- includes/frontend/vehicle/vehicle_ui.lua | 8 ++ includes/init.lua | 12 +-- includes/lib/translations/en-US.lua | 4 + includes/modules/Memory.lua | 1 + samurais_scripts.lua | 1 + scripts/offsets/.last_commit_hash | 2 +- 14 files changed, 140 insertions(+), 82 deletions(-) diff --git a/includes/backend.lua b/includes/backend.lua index 48f7f8f..42b7d6b 100644 --- a/includes/backend.lua +++ b/includes/backend.lua @@ -100,7 +100,7 @@ function Backend:GetAPIVersion() if (type(script["run_in_callback"]) == "function") then error( - "YmMenu V2 is not supported. If you want to run this script in GTA V Enhanced, download YimLuaAPI.") -- test error; add copyable link later + "YmMenu V2 is not supported. If you want to run this script in GTA V Enhanced, download YimLuaAPI.") -- test error; add Github link later end ---@diagnostic disable-next-line: undefined-global elseif (util or (menu and menu.root) or SCRIPT_SILENT_START or (_VERSION ~= "Lua 5.4")) then -- should probably place these in a lookup table diff --git a/includes/classes/CVehicle.lua b/includes/classes/CVehicle.lua index 3b7e5ed..1e266da 100644 --- a/includes/classes/CVehicle.lua +++ b/includes/classes/CVehicle.lua @@ -50,7 +50,7 @@ local SubHandlingCtorMap = { ---@field public m_is_targetable pointer `bool` ---@field public m_door_lock_status pointer ---@field public m_model_info_flags pointer ----@field public m_mass pointer -- //0x000C +---@field public m_mass pointer -- 0x000C ---@field public m_initial_drag_coeff pointer ---@field public m_drive_bias_rear pointer ---@field public m_drive_bias_front pointer @@ -62,6 +62,8 @@ local SubHandlingCtorMap = { ---@field public m_steering_lock pointer ---@field public m_steering_lock_ratio pointer ---@field public m_traction_curve_max pointer +---@field public m_low_speed_traction_loss_mult pointer -- 0x00A8 +---@field public m_traction_loss_mult pointer -- 0x00B8 ---@field public m_monetary_value pointer ---@field public m_model_flags pointer ---@field public m_handling_flags pointer @@ -69,8 +71,8 @@ local SubHandlingCtorMap = { ---@field public m_deform_mult pointer ---@field public m_wheel_scale pointer ---@field public m_wheel_scale_rear pointer ----@field public m_wheels atArray // 0xC30 ----@field public m_num_wheels number // 0xC38 +---@field public m_wheels atArray -- 0xC30 +---@field public m_num_wheels number -- 0xC38 ---@field private DumpFlags fun(self: CVehicle, enum_flags: Enum, get_func: fun(self: CVehicle, flag: integer): boolean): nil ---@overload fun(vehicle: integer): CVehicle|nil local CVehicle = Class("CVehicle", CEntity, 0xC40) @@ -90,44 +92,46 @@ function CVehicle:init(vehicle) ---@diagnostic disable-next-line: param-type-mismatch instance:super().init(instance, vehicle) - instance.m_ptr = ptr - instance.m_model_info = ptr:add(0x20):deref() - instance.m_vehicle_damage = ptr:add(0x0420) - instance.m_handling_data = ptr:add(0x0960):deref() - instance.m_sub_handling_data = atArray(instance.m_handling_data:add(0x158), CCarHandlingData) - instance.m_model_info_layout = instance.m_model_info:add(0x00B0):deref() - instance.m_physics_fragments = phFragInst(ptr:add(0x30):deref()) - instance.m_can_boost_jump = ptr:add(0x03A4) - instance.m_deform_god = ptr:add(0x096C) - instance.m_is_targetable = ptr:add(0x0AEE) - instance.m_door_lock_status = ptr:add(0x13D0) - instance.m_water_damage = ptr:add(0xD8) - instance.m_next_gear = ptr:add(0x0880) - instance.m_current_gear = ptr:add(0x0882) - instance.m_top_gear = ptr:add(0x0886) - instance.m_engine_health = ptr:add(0x0910) - instance.m_model_info_flags = instance.m_model_info:add(0x057C) - instance.m_mass = instance.m_handling_data:add(0x000C) - instance.m_initial_drag_coeff = instance.m_handling_data:add(0x0010) - instance.m_drive_bias_rear = instance.m_handling_data:add(0x0044) - instance.m_drive_bias_front = instance.m_handling_data:add(0x0048) - instance.m_acceleration = instance.m_handling_data:add(0x004C) - instance.m_initial_drive_gears = instance.m_handling_data:add(0x0050) - instance.m_initial_drive_force = instance.m_handling_data:add(0x0060) - instance.m_drive_max_flat_velocity = instance.m_handling_data:add(0x0064) - instance.m_initial_drive_max_flat_vel = instance.m_handling_data:add(0x0068) - instance.m_steering_lock = instance.m_handling_data:add(0x0080) - instance.m_steering_lock_ratio = instance.m_handling_data:add(0x0084) - instance.m_traction_curve_max = instance.m_handling_data:add(0x0088) - instance.m_monetary_value = instance.m_handling_data:add(0x0118) - instance.m_model_flags = instance.m_handling_data:add(0x0124) - instance.m_handling_flags = instance.m_handling_data:add(0x0128) - instance.m_damage_flags = instance.m_handling_data:add(0x012C) - instance.m_deform_mult = instance.m_handling_data:add(0x00F8) - instance.m_wheel_scale = instance.m_model_info:add(0x048C) - instance.m_wheel_scale_rear = instance.m_model_info:add(0x0490) - instance.m_wheels = atArray(ptr:add(0xC30), CWheel) - instance.m_num_wheels = ptr:add(0xC38):get_int() + instance.m_ptr = ptr + instance.m_model_info = ptr:add(0x20):deref() + instance.m_vehicle_damage = ptr:add(0x0420) + instance.m_handling_data = ptr:add(0x0960):deref() + instance.m_sub_handling_data = atArray(instance.m_handling_data:add(0x158), CCarHandlingData) + instance.m_model_info_layout = instance.m_model_info:add(0x00B0):deref() + instance.m_physics_fragments = phFragInst(ptr:add(0x30):deref()) + instance.m_can_boost_jump = ptr:add(0x03A4) + instance.m_deform_god = ptr:add(0x096C) + instance.m_is_targetable = ptr:add(0x0AEE) + instance.m_door_lock_status = ptr:add(0x13D0) + instance.m_water_damage = ptr:add(0xD8) + instance.m_next_gear = ptr:add(0x0880) + instance.m_current_gear = ptr:add(0x0882) + instance.m_top_gear = ptr:add(0x0886) + instance.m_engine_health = ptr:add(0x0910) + instance.m_model_info_flags = instance.m_model_info:add(0x057C) + instance.m_mass = instance.m_handling_data:add(0x000C) + instance.m_initial_drag_coeff = instance.m_handling_data:add(0x0010) + instance.m_drive_bias_rear = instance.m_handling_data:add(0x0044) + instance.m_drive_bias_front = instance.m_handling_data:add(0x0048) + instance.m_acceleration = instance.m_handling_data:add(0x004C) + instance.m_initial_drive_gears = instance.m_handling_data:add(0x0050) + instance.m_initial_drive_force = instance.m_handling_data:add(0x0060) + instance.m_drive_max_flat_velocity = instance.m_handling_data:add(0x0064) + instance.m_initial_drive_max_flat_vel = instance.m_handling_data:add(0x0068) + instance.m_steering_lock = instance.m_handling_data:add(0x0080) + instance.m_steering_lock_ratio = instance.m_handling_data:add(0x0084) + instance.m_traction_curve_max = instance.m_handling_data:add(0x0088) + instance.m_low_speed_traction_loss_mult = instance.m_handling_data:add(0x00A8) + instance.m_traction_loss_mult = instance.m_handling_data:add(0x00B8) + instance.m_monetary_value = instance.m_handling_data:add(0x0118) + instance.m_model_flags = instance.m_handling_data:add(0x0124) + instance.m_handling_flags = instance.m_handling_data:add(0x0128) + instance.m_damage_flags = instance.m_handling_data:add(0x012C) + instance.m_deform_mult = instance.m_handling_data:add(0x00F8) + instance.m_wheel_scale = instance.m_model_info:add(0x048C) + instance.m_wheel_scale_rear = instance.m_model_info:add(0x0490) + instance.m_wheels = atArray(ptr:add(0xC30), CWheel) + instance.m_num_wheels = ptr:add(0xC38):get_int() return instance end diff --git a/includes/data/config.lua b/includes/data/config.lua index 9bc4dbb..d89a8ab 100644 --- a/includes/data/config.lua +++ b/includes/data/config.lua @@ -137,6 +137,7 @@ local Config = { performance_only = false, burble_tune = false, launch_control = false, + launch_control_mode = 0, abs_lights = false, subwoofer = false, horn_beams = false, diff --git a/includes/data/pointers.lua b/includes/data/pointers.lua index 2e57349..d63ab1e 100644 --- a/includes/data/pointers.lua +++ b/includes/data/pointers.lua @@ -30,7 +30,7 @@ local GPointers = { ---@field m_pattern string ---@field m_callback fun(ptr: pointer) local MemoryBatch = {} -MemoryBatch.__index = {} +MemoryBatch.__index = MemoryBatch ---@param name string ---@param ida_sig string ---@param callback fun(ptr: pointer) diff --git a/includes/features/vehicle/brake_force_display.lua b/includes/features/vehicle/brake_force_display.lua index 421982c..3531445 100644 --- a/includes/features/vehicle/brake_force_display.lua +++ b/includes/features/vehicle/brake_force_display.lua @@ -42,7 +42,8 @@ function BFD:Toggle() if VEHICLE.IS_VEHICLE_ON_ALL_WHEELS(PV:GetHandle()) and PAD.IS_CONTROL_PRESSED(0, 72) - and (PV:GetSpeed() >= 19.44) then + and (PV:GetSpeed() >= 19.44) + and (PV:GetCurrentGear() > 0) then self.m_is_toggled = not self.m_is_toggled else self.m_is_toggled = false diff --git a/includes/features/vehicle/drift_mode.lua b/includes/features/vehicle/drift_mode.lua index 8bcd6b6..15d02aa 100644 --- a/includes/features/vehicle/drift_mode.lua +++ b/includes/features/vehicle/drift_mode.lua @@ -72,7 +72,7 @@ function DriftMode:UpdateFX() Color(r, g, b) ) end - elseif self.m_smoke_fx then + elseif (self.m_smoke_fx) then Game.StopParticleEffects(self.m_smoke_fx, "scr_ba_bb") self.m_smoke_fx = nil end @@ -102,7 +102,7 @@ function DriftMode:UpdateFX() if (self.m_smoke_fx and #self.m_smoke_fx > 0) then for _, fx in ipairs(self.m_smoke_fx) do - GRAPHICS.SET_PARTICLE_FX_LOOPED_COLOUR(fx, col.x, col.y, col.z, false) + GRAPHICS.SET_PARTICLE_FX_LOOPED_COLOUR(fx, r, g, b, false) end end end diff --git a/includes/features/vehicle/launch_control.lua b/includes/features/vehicle/launch_control.lua index 5194be4..8e0457c 100644 --- a/includes/features/vehicle/launch_control.lua +++ b/includes/features/vehicle/launch_control.lua @@ -2,6 +2,11 @@ local FeatureBase = require("includes.modules.FeatureBase") +local eLaunchMode = { + REALISTIC = 0, + RIDICULOUS = 1 +} + ---@enum eLaunchControlState local eLaunchControlState = { NONE = 1, @@ -44,9 +49,10 @@ function LaunchControl:ShouldRun() return self.m_entity and self.m_entity:IsValid() and self.m_entity:IsCar() + and Self:IsAlive() + and Self:IsDriving() and (not GVars.features.vehicle.performance_only or self.m_entity:IsPerformanceCar()) and (GVars.features.vehicle.launch_control or GVars.features.vehicle.burble_tune) - and not self.m_entity:IsElectric() end -- function LaunchControl:OnEnable() @@ -193,8 +199,7 @@ function LaunchControl:OnTick() if (not PV:IsMoving() and PV:IsEngineOn()) then if (PAD.IS_CONTROL_PRESSED(0, 71) and PAD.IS_CONTROL_PRESSED(0, 72) and not PV:IsDriftButtonPressed()) then if (PV:GetEngineHealth() <= 400) then - Toast:ShowWarning("Samurai's Scripts", - "Launch control is unavailable at the moment. Your engine is damaged.", false, 5) + Toast:ShowWarning("Samurai's Scripts", _T("VEH_LAUNCH_CTRL_ERR"), false, 5) sleep(5000) return end @@ -209,7 +214,7 @@ function LaunchControl:OnTick() Game.DrawText( vec2:new(0.42, 0.936), - "Launch Control", + _T("VEH_LAUNCH_CTRL"), Color(r, g, b, a), vec2:new(0, 0.35), 2 @@ -229,7 +234,7 @@ function LaunchControl:OnTick() self.m_timer:pause() end elseif (self.m_state ~= eLaunchControlState.NONE and self.m_state ~= eLaunchControlState.READY) then - if (PAD.IS_CONTROL_RELEASED(0, 71) or PAD.IS_CONTROL_RELEASED(0, 72)) then + if (PAD.IS_CONTROL_RELEASED(0, 71) or PAD.IS_CONTROL_RELEASED(0, 72) or not self:ShouldRun()) then r, g, b, a = 255, 255, 255, 255 PV:Unfreeze() self.m_timer:reset() @@ -240,19 +245,38 @@ function LaunchControl:OnTick() end if (self.m_state == eLaunchControlState.READY) then - if PAD.IS_CONTROL_PRESSED(0, 71) and PAD.IS_CONTROL_RELEASED(0, 72) then + if (PAD.IS_CONTROL_PRESSED(0, 71) and PAD.IS_CONTROL_RELEASED(0, 72)) then + local realistic = GVars.features.vehicle.launch_control_mode == eLaunchMode.REALISTIC + local max_speed = realistic and PV:GetDefaultMaxSpeed() - 1 or PV:GetMaxSpeed() - 1 + local max_force = realistic and 2000 or 5000 + local max_push = realistic and max_speed * 0.55 or max_speed + local start_time = Game.GetGameTimer() + local end_time = start_time + 1200 + PHYSICS.SET_IN_ARENA_MODE(true) - VEHICLE.SET_VEHICLE_MAX_LAUNCH_ENGINE_REVS_(handle, -1) + VEHICLE.SET_VEHICLE_MAX_LAUNCH_ENGINE_REVS_(handle, 0) PV:Unfreeze() - for i = 5, 0.1, -1 do - VEHICLE.SET_VEHICLE_CHEAT_POWER_INCREASE(handle, 10) - VEHICLE.MODIFY_VEHICLE_TOP_SPEED(handle, 100) - VEHICLE.SET_VEHICLE_FORWARD_SPEED(handle, PV:GetSpeed() + i) - end self.m_state = eLaunchControlState.RUNNING - sleep(4269) - VEHICLE.MODIFY_VEHICLE_TOP_SPEED(handle, -1) - VEHICLE.SET_VEHICLE_CHEAT_POWER_INCREASE(handle, 1.0) + + while (PAD.IS_CONTROL_PRESSED(0, 71) and PV:GetSpeed() < max_push) do + local now = Game.GetGameTimer() + local t = math.min(1.0, (now - start_time) / (end_time - start_time)) + local power = math.lerp(0.0, max_force, t) + ENTITY.APPLY_FORCE_TO_ENTITY_CENTER_OF_MASS( + handle, + 1, + 0.0, + power, + 0.0, + false, + true, + false, + false + ) + + yield() + end + VEHICLE.SET_VEHICLE_MAX_LAUNCH_ENGINE_REVS_(handle, 1.0) PHYSICS.SET_IN_ARENA_MODE(false) self.m_state = eLaunchControlState.NONE diff --git a/includes/features/vehicle/misc_vehicle.lua b/includes/features/vehicle/misc_vehicle.lua index 740be30..2133be2 100644 --- a/includes/features/vehicle/misc_vehicle.lua +++ b/includes/features/vehicle/misc_vehicle.lua @@ -220,20 +220,38 @@ function MiscVehicle:Update() local handle = PV:GetHandle() if (GVars.features.vehicle.fast_jets and PV:IsPlane() and (VEHICLE.GET_VEHICLE_FLIGHT_NOZZLE_POSITION(handle) ~= 1.0)) then - local speedIncrement = 0.21 - local planeRotation = ENTITY.GET_ENTITY_ROTATION(handle, 2) - local speed = self.m_entity:GetSpeed() - - if (planeRotation.x >= 30) then - speedIncrement = 0.4 - elseif (planeRotation.x >= 60) then - speedIncrement = 0.8 + local speed = PV:GetSpeed() + local gearState = PV:GetLandingGearState() + local rot = PV:GetRotation(2) + local pitch = rot.x + local baseThrust = 2e4 + local minThrust = 5e3 + local maxSpeed = 164.0 + local thrustMult = 1.0 + + if (pitch >= 60) then + thrustMult = 2.0 + elseif (pitch >= 30) then + thrustMult = 1.4 end - if (speed >= 73 and speed < 160) then - if (PAD.IS_CONTROL_PRESSED(0, 87) and PV:GetLandingGearState() == Enums.eLandingGearState.RETRACTED) then - VEHICLE.SET_VEHICLE_FORWARD_SPEED(handle, (speed + speedIncrement)) - end + if speed >= 72 and speed < maxSpeed + and PAD.IS_CONTROL_PRESSED(0, 87) + and gearState == Enums.eLandingGearState.RETRACTED + then + local lerp = math.min(1.0, (speed) / (maxSpeed)) + local thrust = math.min(minThrust, baseThrust * thrustMult * (1.0 - lerp)) + ENTITY.APPLY_FORCE_TO_ENTITY_CENTER_OF_MASS( + handle, + 1, + 0.0, + thrust, + 0.0, + false, + true, + false, + false + ) end end diff --git a/includes/frontend/vehicle/vehicle_ui.lua b/includes/frontend/vehicle/vehicle_ui.lua index 0dc61e6..24a3048 100644 --- a/includes/frontend/vehicle/vehicle_ui.lua +++ b/includes/frontend/vehicle/vehicle_ui.lua @@ -453,6 +453,7 @@ vehicleTab:RegisterGUI(function() "%.0f RPM", GVars.features.vehicle.bangs_rpm_max ) end + if (GVars.features.vehicle.rgb_lights.enabled) then GVars.features.vehicle.rgb_lights.speed, _ = ImGui.SliderInt("RGB Lights Speed", GVars.features.vehicle.rgb_lights.speed, @@ -498,6 +499,13 @@ vehicleTab:RegisterGUI(function() nosOptionsWindow.m_should_draw = true end end + + if (GVars.features.vehicle.launch_control) then + GVars.features.vehicle.launch_control_mode, _ = ImGui.Combo(_T("VEH_LAUNCH_CTRL_MODE"), + GVars.features.vehicle.launch_control_mode, + _F("%s\0%s\0", _T("VEH_LAUNCH_CTRL_REALISTIC"), _T("VEH_LAUNCH_CTRL_RIDICULOUS")) + ) + end end) --#region Handling Editor diff --git a/includes/init.lua b/includes/init.lua index 4f4dddc..a529c7a 100644 --- a/includes/init.lua +++ b/includes/init.lua @@ -32,10 +32,6 @@ require("includes.classes.Set") require("includes.classes.fMatrix44") require("includes.classes.atArray") -GPointers = require("includes.data.pointers") -Memory = require("includes.modules.Memory") -require("includes.modules.Game") - -- ### Global Runtime Variables -- @@ -45,18 +41,18 @@ require("includes.modules.Game") -- -- For temporary or internal state that should not be saved, use `_G` directly. ---@class GVars : Config -GVars = {} +GVars = {} ---------------------------------------------------------------------------------------------------- -- These services must be loaded before any class that registers with/uses them ------------------- ThreadManager = require("includes.services.ThreadManager"):init() -GPointers:Init() -- needs ThreadManager -Serializer = require("includes.services.Serializer"):init("ssv2", DEFAULT_CONFIG, GVars) - +Serializer = require("includes.services.Serializer"):init("ssv2", DEFAULT_CONFIG, GVars) require("includes.classes.Vector2") require("includes.classes.Vector3") require("includes.classes.Vector4") +GPointers = require("includes.data.pointers") +Memory = require("includes.modules.Memory") KeyManager = require("includes.services.KeyManager"):init() GUI = require("includes.services.GUI"):init() Toast = require("includes.services.ToastNotifier").new() diff --git a/includes/lib/translations/en-US.lua b/includes/lib/translations/en-US.lua index a90723e..3c4a9da 100644 --- a/includes/lib/translations/en-US.lua +++ b/includes/lib/translations/en-US.lua @@ -348,6 +348,10 @@ return { "Automatically locks your vehicle when you move away from it and unlocks it again when you try to re-enter or switch to a different vehicle.", ["VEH_LAUNCH_CTRL"] = "Launch Control", ["VEH_LAUNCH_CTRL_TT"] = "Simulates launch control. Only available for performance cars.", + ["VEH_LAUNCH_CTRL_MODE"] = "Launch Control Mode", + ["VEH_LAUNCH_CTRL_REALISTIC"] = "Realistic", + ["VEH_LAUNCH_CTRL_RIDICULOUS"] = "Ridiculous", + ["VEH_LAUNCH_CTRL_ERR"] = "Launch control is unavailable at the moment. Your engine is damaged.", ["VEH_IV_EXIT"] = "IV-Style Exit", ["VEH_IV_EXIT_TT"] = "Imitates GTA IV's vehicle exit style: Hold [F] for one second to turn off the engine or normal press to leave it running.", diff --git a/includes/modules/Memory.lua b/includes/modules/Memory.lua index ff0ff84..c73cb9f 100644 --- a/includes/modules/Memory.lua +++ b/includes/modules/Memory.lua @@ -310,5 +310,6 @@ function Memory:SetWeaponEffectGroup(dword) end --]] +require("includes.modules.Game") -- inline return Memory() diff --git a/samurais_scripts.lua b/samurais_scripts.lua index 96b1c16..1831ee0 100644 --- a/samurais_scripts.lua +++ b/samurais_scripts.lua @@ -3,6 +3,7 @@ local commandRegistry = require("includes.lib.commands") require("includes.init") +GPointers:Init() Serializer:FlushObjectQueue() Backend:RegisterHandlers() Translator:Load() diff --git a/scripts/offsets/.last_commit_hash b/scripts/offsets/.last_commit_hash index d72b459..f289a5a 100644 --- a/scripts/offsets/.last_commit_hash +++ b/scripts/offsets/.last_commit_hash @@ -1 +1 @@ -6c18d3e8b447d919a4d4310ecadcefb2fe295173 +b7cbd9809843017a959df818c17e3275de6506c5 From f98b54d60031b3d88be4638fd20a2b2d59346fca Mon Sep 17 00:00:00 2001 From: SAMURAI Date: Mon, 29 Dec 2025 20:09:54 +0100 Subject: [PATCH 06/11] refactor(CI): refactor offset updater workflow - Check both repositories instead of legacy only. --- .github/workflows/offsets.yml | 57 ++++++++++++------- scripts/offsets/enhanced.last_commit_hash | 1 + ...st_commit_hash => legacy.last_commit_hash} | 0 3 files changed, 36 insertions(+), 22 deletions(-) create mode 100644 scripts/offsets/enhanced.last_commit_hash rename scripts/offsets/{.last_commit_hash => legacy.last_commit_hash} (100%) diff --git a/.github/workflows/offsets.yml b/.github/workflows/offsets.yml index f20998e..11e0d97 100644 --- a/.github/workflows/offsets.yml +++ b/.github/workflows/offsets.yml @@ -7,7 +7,7 @@ on: concurrency: - group: offsets-${{ github.ref }} + group: ss_offsets-${{ github.ref }} cancel-in-progress: true @@ -21,54 +21,67 @@ jobs: - name: Fetch Upstream run: | - git ls-remote https://github.com/calamity-inc/GTA-V-Decompiled-Scripts HEAD | cut -f1 > upstream_commit.txt + git ls-remote https://github.com/acidlabsgg/gtav-legacy-scripts HEAD | cut -f1 > legacy_upstream.txt + git ls-remote https://github.com/acidlabsgg/gtav-enhanced-scripts HEAD | cut -f1 > enhanced_upstream.txt - - name: Read Last Commit Hash - id: last + - name: Read Saved Commit Hashes + id: saved_commits run: | - if [ -f scripts/offsets/.last_commit_hash ]; then - cat scripts/offsets/.last_commit_hash > last_commit.txt + if [ -f scripts/offsets/legacy.last_commit_hash ]; then + cat scripts/offsets/legacy.last_commit_hash > last_commit_legacy else - echo "none" > last_commit.txt + echo "none" > last_commit_legacy fi - - name: Compare Commit - id: compare_commit + if [ -f scripts/offsets/enhanced.last_commit_hash ]; then + cat scripts/offsets/enhanced.last_commit_hash > last_commit_enhanced + else + echo "none" > last_commit_enhanced + fi + + - name: Compare Commits + id: compare_commits run: | - UPSTREAM=$(cat upstream_commit.txt) - LAST=$(cat last_commit.txt) + LEGACY_UPSTREAM=$(cat legacy_upstream.txt) + ENHANCED_UPSTREAM=$(cat enhanced_upstream.txt) + LEGACY_LAST=$(cat last_commit_legacy) + ENHANCED_LAST=$(cat last_commit_enhanced) - echo "Upstream: $UPSTREAM" - echo "Last run: $LAST" + echo "Legacy Upstream: $LEGACY_UPSTREAM" + echo "Legacy Last Run: $LEGACY_LAST" + echo "Enhanced Upstream: $ENHANCED_UPSTREAM" + echo "Enhanced Last Run: $ENHANCED_LAST" - if [ "$UPSTREAM" = "$LAST" ] && [ "${{ github.event_name }}" != "workflow_dispatch" ]; then + if [ "$LEGACY_UPSTREAM" = "$LEGACY_LAST" ] && [ "$ENHANCED_UPSTREAM" = "$ENHANCED_LAST" ] && [ "${{ github.event_name }}" != "workflow_dispatch" ]; then echo "run=false" >> $GITHUB_OUTPUT else echo "run=true" >> $GITHUB_OUTPUT fi - name: Setup Python - if: steps.compare_commit.outputs.run == 'true' + if: steps.compare_commits.outputs.run == 'true' uses: actions/setup-python@v5 with: python-version: "3.12.x" - name: Run Offset Updater - if: steps.compare_commit.outputs.run == 'true' + if: steps.compare_commits.outputs.run == 'true' run: | python ./scripts/offsets/update_offsets.py - - name: Save New Commit Hash - if: steps.compare_commit.outputs.run == 'true' + - name: Save New Commit Hashes + if: steps.compare_commits.outputs.run == 'true' run: | - cp upstream_commit.txt ./scripts/offsets/.last_commit_hash + cp legacy_upstream.txt ./scripts/offsets/legacy.last_commit_hash + cp enhanced_upstream.txt ./scripts/offsets/enhanced.last_commit_hash - name: Commit Changes - if: steps.compare_commit.outputs.run == 'true' + if: steps.compare_commits.outputs.run == 'true' run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" - git add scripts/offsets/.last_commit_hash + git add scripts/offsets/legacy.last_commit_hash + git add scripts/offsets/enhanced.last_commit_hash git add includes/data/globals_locals.lua - git diff --cached --quiet || git commit -m "chore(offsets): update script globals & locals from upstream" + git diff --cached --quiet || git commit -m "chore(offsets): update script globals & locals" git push diff --git a/scripts/offsets/enhanced.last_commit_hash b/scripts/offsets/enhanced.last_commit_hash new file mode 100644 index 0000000..e4a5de1 --- /dev/null +++ b/scripts/offsets/enhanced.last_commit_hash @@ -0,0 +1 @@ +c9635c0ae26b9d960a9e0dfcff25521a796e8056 diff --git a/scripts/offsets/.last_commit_hash b/scripts/offsets/legacy.last_commit_hash similarity index 100% rename from scripts/offsets/.last_commit_hash rename to scripts/offsets/legacy.last_commit_hash From 41f80f35bde45f2461ba1920da9254285db3c0de Mon Sep 17 00:00:00 2001 From: SAMURAI Date: Tue, 30 Dec 2025 00:45:01 +0100 Subject: [PATCH 07/11] fix(GUI): fix ImGui asserts - Fix return inside ImGui.Begin without calling ImGui.End --- README.md | 2 +- includes/backend.lua | 5 ++++ includes/features/Speedometer.lua | 1 + includes/features/self/laser_sights.lua | 20 ++++++++----- includes/frontend/self_ui.lua | 6 ++-- includes/services/GUI.lua | 40 ++++++++++++------------- includes/services/ThreadManager.lua | 9 ++++-- 7 files changed, 50 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index fa6cac9..f0948e2 100644 --- a/README.md +++ b/README.md @@ -38,4 +38,4 @@ ___ | [NiiV3AU](https://github.com/NiiV3AU) | German translations | | [gir489returns](https://github.com/gir489returns) | [Casino Pacino](https://github.com/YimMenu-Lua/Casino-Pacino) | | [tupoy-ya](https://github.com/tupoy-ya) | Several contributions and shared knowledge | -| [szalikdev](https://github.com/szalikdev) | Revived the project | +| [szalikdev](https://github.com/szalikdev) | Revived the project and joined the dev team | diff --git a/includes/backend.lua b/includes/backend.lua index 42b7d6b..2f82100 100644 --- a/includes/backend.lua +++ b/includes/backend.lua @@ -92,6 +92,11 @@ function Backend:GetAPIVersion() if (script and (type(script) == "table")) then if (menu_event and menu_event.Wndproc) then if (type(_G["get_game_branch"]) == "function") then + local branch = _G["get_game_branch"]() + if (type(branch) ~= "number" or branch > 1) then + error("Unknown or unsupported game branch.") + end + self.api_version = _G["get_game_branch"]() + 1 else self.api_version = Enums.eAPIVersion.V1 diff --git a/includes/features/Speedometer.lua b/includes/features/Speedometer.lua index 6a5c23e..d061fe8 100644 --- a/includes/features/Speedometer.lua +++ b/includes/features/Speedometer.lua @@ -523,6 +523,7 @@ function Speedometer:Draw(offset) ImGui.SetNextWindowPos(GVars.features.speedometer.pos.x, GVars.features.speedometer.pos.y, ImGuiCond.Always) if ImGui.Begin("##SpeedometerWindow", windowFlags | ImGuiWindowFlags.NoBackground) then if (not self._state.should_draw) then + ImGui.End() return end diff --git a/includes/features/self/laser_sights.lua b/includes/features/self/laser_sights.lua index 7f52dd6..379e097 100644 --- a/includes/features/self/laser_sights.lua +++ b/includes/features/self/laser_sights.lua @@ -40,13 +40,19 @@ function LaserSights:Init() KeyManager:RegisterKeybind( GVars.features.weapon.laser_sights.keybind, function() - GVars.features.weapon.laser_sights.enabled = not GVars.features.weapon.laser_sights.enabled - AUDIO.PLAY_SOUND_FRONTEND( - -1, - "TARGET_COUNTER_TICK", - "DLC_SM_GENERIC_MISSION_SOUNDS", - false - ) + ThreadManager:Run(function() + if (not PLAYER.IS_PLAYER_FREE_AIMING(Self:GetPlayerID())) then + return + end + + GVars.features.weapon.laser_sights.enabled = not GVars.features.weapon.laser_sights.enabled + AUDIO.PLAY_SOUND_FRONTEND( + -1, + "TARGET_COUNTER_TICK", + "DLC_SM_GENERIC_MISSION_SOUNDS", + false + ) + end) end, false ) diff --git a/includes/frontend/self_ui.lua b/includes/frontend/self_ui.lua index f1a9837..c94a9d7 100644 --- a/includes/frontend/self_ui.lua +++ b/includes/frontend/self_ui.lua @@ -206,7 +206,7 @@ local function SelfUI() if (GVars.features.weapon.katana.enabled) then if (ImGui.BeginCombo(_T("SELF_KATANA_REPLACE_MODEL"), GVars.features.weapon.katana.name)) then for _, pair in pairs(katana_replace_weapons) do - local is_selected = GVars.features.weapon.katana.name == pair.first + local is_selected = GVars.features.weapon.katana.model == pair.second if (ImGui.Selectable(pair.first, is_selected)) then GVars.features.weapon.katana.name = pair.first GVars.features.weapon.katana.model = pair.second @@ -216,11 +216,11 @@ local function SelfUI() end local handle = Self:GetHandle() - if WEAPON.IS_PED_ARMED(handle, 7) then + if (WEAPON.IS_PED_ARMED(handle, 7)) then WEAPON.SET_CURRENT_PED_WEAPON(handle, 0xA2719263, true) end - if WEAPON.HAS_PED_GOT_WEAPON(handle, pair.second, false) then + if (WEAPON.HAS_PED_GOT_WEAPON(handle, pair.second, false)) then sleep(300) WEAPON.SET_CURRENT_PED_WEAPON(handle, pair.second, true) end diff --git a/includes/services/GUI.lua b/includes/services/GUI.lua index f39b96c..76453fa 100644 --- a/includes/services/GUI.lua +++ b/includes/services/GUI.lua @@ -329,35 +329,35 @@ end function GUI:DrawDummyTab() ImGui.SetNextWindowBgAlpha(0) + ImGui.BeginChild("##clock", 480, 400) DrawClock() ImGui.Dummy(1, 10) ImGui.SetWindowFontScale(1.2) ImGui.SeparatorText(_T("GENERIC_IMPORTANT")) ImGui.SetWindowFontScale(1.0) - ImGui.Text(_F(_T("GUI_NEW_LAYOUT_NOTICE"), GVars.keyboard_keybinds.gui_toggle)) + ImGui.TextWrapped(_F(_T("GUI_NEW_LAYOUT_NOTICE"), GVars.keyboard_keybinds.gui_toggle)) ImGui.Spacing() - ImGui.Separator() + ImGui.EndChild() ImGui.SetNextWindowBgAlpha(0) - if ImGui.BeginChild("##footer", -1, 40, false) then - ImGui.Spacing() - ImGui.TextDisabled(("v%s"):format(Backend.__version)) - if (self:IsItemClicked(self.MouseButtons.LEFT)) then - debug_counter = debug_counter + 1 - - if (debug_counter == 7) then - self:PlaySound(GUI.Sounds.Nav) - log.debug("Debug mode activated.") - GVars.backend.debug_mode = true - elseif (debug_counter > 7) then - self:PlaySound(GUI.Sounds.Cancel) - log.debug("Debug mode deactivated.") - GVars.backend.debug_mode = false - debug_counter = 0 - end + ImGui.BeginChild("##footer", 480, 40) + ImGui.Separator() + ImGui.TextDisabled(("v%s"):format(Backend.__version)) + if (self:IsItemClicked(self.MouseButtons.LEFT)) then + debug_counter = debug_counter + 1 + + if (debug_counter == 7) then + self:PlaySound(GUI.Sounds.Nav) + log.debug("Debug mode activated.") + GVars.backend.debug_mode = true + elseif (debug_counter > 7) then + self:PlaySound(GUI.Sounds.Cancel) + log.debug("Debug mode deactivated.") + GVars.backend.debug_mode = false + debug_counter = 0 end - ImGui.EndChild() end + ImGui.EndChild() end local underlineX = 0.0 @@ -519,8 +519,8 @@ function GUI:DrawSideBar(yPos) end end end + ImGui.End() end - ImGui.End() ThemeManager:PopTheme() self.m_is_drawing_sidebar = true elseif (ctabsCount == 1) then diff --git a/includes/services/ThreadManager.lua b/includes/services/ThreadManager.lua index 87fcc40..5130f18 100644 --- a/includes/services/ThreadManager.lua +++ b/includes/services/ThreadManager.lua @@ -282,11 +282,16 @@ function ThreadManager:init() }, [Enums.eAPIVersion.V2] = { dispatch = function(callback) - ---@diagnostic disable-next-line: undefined-field - script.run_in_callback(function(s) + script.run_in_fiber(function(s) callback(s) end) end + -- dispatch = function(callback) + -- ---@diagnostic disable-next-line: undefined-field + -- script.run_in_callback(function(s) + -- callback(s) + -- end) + -- end } } From 352a767cf355a4e5d046fbe32965f2e8a9e63d0f Mon Sep 17 00:00:00 2001 From: SAMURAI Date: Wed, 31 Dec 2025 06:46:10 +0100 Subject: [PATCH 08/11] feat(vehicle): add a test stancer --- includes/classes/CEntity.lua | 54 ++++---- includes/classes/CVehicle.lua | 7 +- includes/classes/CVehicleDrawData.lua | 17 +++ includes/classes/CWheel.lua | 77 ++++++----- includes/classes/fwDrawData.lua | 17 +++ includes/features/vehicle/stancer.lua | 158 +++++++++++++++++++++++ includes/frontend/settings/debug_ui.lua | 12 +- includes/frontend/vehicle/flatbed_ui.lua | 1 + includes/frontend/vehicle/stancer_ui.lua | 38 ++++++ includes/frontend/vehicle/vehicle_ui.lua | 4 + includes/modules/PlayerVehicle.lua | 21 ++- includes/modules/Vehicle.lua | 91 +++++++++++++ samurais_scripts.lua | 12 ++ 13 files changed, 424 insertions(+), 85 deletions(-) create mode 100644 includes/classes/CVehicleDrawData.lua create mode 100644 includes/classes/fwDrawData.lua create mode 100644 includes/features/vehicle/stancer.lua create mode 100644 includes/frontend/vehicle/stancer_ui.lua diff --git a/includes/classes/CEntity.lua b/includes/classes/CEntity.lua index 52f186e..5561e27 100644 --- a/includes/classes/CEntity.lua +++ b/includes/classes/CEntity.lua @@ -1,5 +1,7 @@ ---@diagnostic disable: param-type-mismatch +local fwDrawData = require("includes.classes.fwDrawData") + ---@ignore ---@class CBaseModelInfo : GenericClass local CBaseModelInfo = GenericClass @@ -14,18 +16,19 @@ local CAttackers = GenericClass ---@ignore ---@class CEntity: ClassMeta ---@field private m_ptr pointer ----@field m_model_info pointer // 0x0020 ----@field m_entity_type uint8_t // 0x0028 ----@field m_model_type pointer // CBaseModelInfo + 0x009D ----@field m_flags pointer // 0x002D ----@field m_transform_matrix pointer // 0x0060 ----@field m_render_focus_distance pointer // 0x00A8 ----@field m_shadow_flags pointer // 0x00B0 ----@field m_damage_bits pointer // 0x0188 ----@field m_hostility pointer // 0x018C ----@field m_health pointer // 0x0280 ----@field m_max_health pointer // 0x0284 ----@field m_max_attackers pointer // 0x0288 +---@field m_model_info pointer -- 0x0020 +---@field m_entity_type uint8_t -- 0x0028 +---@field m_model_type pointer -- CBaseModelInfo + 0x009D +---@field m_flags pointer -- 0x002D +---@field m_draw_data fwDrawData -- 0x0048 +---@field m_transform_matrix pointer -- 0x0060 +---@field m_render_focus_distance pointer -- 0x00A8 +---@field m_shadow_flags pointer -- 0x00B0 +---@field m_damage_bits pointer -- 0x0188 +---@field m_hostility pointer -- 0x018C +---@field m_health pointer -- 0x0280 +---@field m_max_health pointer -- 0x0284 +---@field m_max_attackers pointer -- 0x0288 ---@overload fun(entity: handle): CEntity local CEntity = Class("CEntity", nil, 0x290) @@ -36,22 +39,21 @@ function CEntity:init(entity) error("Invalid entity!") end - local ptr = memory.handle_to_ptr(entity) - + local ptr = memory.handle_to_ptr(entity) ---@type CEntity - local instance = setmetatable({}, CEntity) - - instance.m_ptr = ptr - instance.m_model_info = ptr:add(0x0020):deref() - instance.m_model_type = instance.m_model_info:add(0x009D) - instance.m_flags = ptr:add(0x002D) - instance.m_transform_matrix = ptr:add(0x0060) + local instance = setmetatable({}, CEntity) + instance.m_ptr = ptr + instance.m_model_info = ptr:add(0x0020):deref() + instance.m_model_type = instance.m_model_info:add(0x009D) + instance.m_flags = ptr:add(0x002D) + instance.m_draw_data = fwDrawData(ptr:add(0x0048):deref()) + instance.m_transform_matrix = ptr:add(0x0060) instance.m_render_focus_distance = ptr:add(0x00A8) - instance.m_shadow_flags = ptr:add(0x00B0) - instance.m_hostility = ptr:add(0x018C) - instance.m_health = ptr:add(0x0280) - instance.m_max_health = ptr:add(0x0284) - instance.m_max_attackers = ptr:add(0x0288) + instance.m_shadow_flags = ptr:add(0x00B0) + instance.m_hostility = ptr:add(0x018C) + instance.m_health = ptr:add(0x0280) + instance.m_max_health = ptr:add(0x0284) + instance.m_max_attackers = ptr:add(0x0288) return instance end diff --git a/includes/classes/CVehicle.lua b/includes/classes/CVehicle.lua index 1e266da..35e95c1 100644 --- a/includes/classes/CVehicle.lua +++ b/includes/classes/CVehicle.lua @@ -5,6 +5,7 @@ local CCarHandlingData = require("includes.classes.CCarHandlingData") local CBikeHandlingData = require("includes.classes.CBikeHandlingData") local CFlyingHandlingData = require("includes.classes.CFlyingHandlingData") local phFragInst = require("includes.structs.phFragInst") +local CVehicleDrawData = require("includes.classes.CVehicleDrawData") ---@class CAdvancedData : GenericClass local CAdvancedData = GenericClass @@ -34,6 +35,7 @@ local SubHandlingCtorMap = { ---@class CVehicle : CEntity ---@field private m_ptr pointer ---@field public m_physics_fragments phFragInst //0x30 `struct rage::phFragInst` +---@field public m_draw_data CVehicleDrawData ---@field public m_handling_data pointer ---@field public m_model_info pointer ---@field public m_vehicle_damage pointer @@ -98,7 +100,8 @@ function CVehicle:init(vehicle) instance.m_handling_data = ptr:add(0x0960):deref() instance.m_sub_handling_data = atArray(instance.m_handling_data:add(0x158), CCarHandlingData) instance.m_model_info_layout = instance.m_model_info:add(0x00B0):deref() - instance.m_physics_fragments = phFragInst(ptr:add(0x30):deref()) + instance.m_physics_fragments = phFragInst(ptr:add(0x0030):deref()) + instance.m_draw_data = CVehicleDrawData:init(ptr:add(0x0048):deref()) instance.m_can_boost_jump = ptr:add(0x03A4) instance.m_deform_god = ptr:add(0x096C) instance.m_is_targetable = ptr:add(0x0AEE) @@ -123,11 +126,11 @@ function CVehicle:init(vehicle) instance.m_traction_curve_max = instance.m_handling_data:add(0x0088) instance.m_low_speed_traction_loss_mult = instance.m_handling_data:add(0x00A8) instance.m_traction_loss_mult = instance.m_handling_data:add(0x00B8) + instance.m_deform_mult = instance.m_handling_data:add(0x00F8) instance.m_monetary_value = instance.m_handling_data:add(0x0118) instance.m_model_flags = instance.m_handling_data:add(0x0124) instance.m_handling_flags = instance.m_handling_data:add(0x0128) instance.m_damage_flags = instance.m_handling_data:add(0x012C) - instance.m_deform_mult = instance.m_handling_data:add(0x00F8) instance.m_wheel_scale = instance.m_model_info:add(0x048C) instance.m_wheel_scale_rear = instance.m_model_info:add(0x0490) instance.m_wheels = atArray(ptr:add(0xC30), CWheel) diff --git a/includes/classes/CVehicleDrawData.lua b/includes/classes/CVehicleDrawData.lua new file mode 100644 index 0000000..4655bd9 --- /dev/null +++ b/includes/classes/CVehicleDrawData.lua @@ -0,0 +1,17 @@ +local fwDrawData = require("includes.classes.fwDrawData") + +---@class CVehicleDrawData : fwDrawData +---@field m_stream_render_gfx pointer +---@field m_stream_wheel_size pointer +---@field m_stream_wheel_width pointer +local CVehicleDrawData = Class("CVehicleDrawData", fwDrawData) + +function CVehicleDrawData:init(ptr) + self.m_ptr = ptr + self.m_stream_render_gfx = ptr:add(0x370) + self.m_stream_wheel_size = self.m_stream_render_gfx:add(0x008) + self.m_stream_wheel_width = self.m_stream_render_gfx:add(0xBA0) + return self +end + +return CVehicleDrawData diff --git a/includes/classes/CWheel.lua b/includes/classes/CWheel.lua index 2ab535a..3a276f9 100644 --- a/includes/classes/CWheel.lua +++ b/includes/classes/CWheel.lua @@ -7,28 +7,28 @@ ---@class CWheel ---@field private m_ptr pointer ---@field private m_size uint16_t +---@field m_y_rotation pointer //0x008 +---@field m_y_rotation_inv pointer //0x010 ---@field m_offset_from_body pointer //0x020 ----@field m_unk_0030 pointer // ?? 0x030 ----@field m_world_pos pointer // 0x03C +---@field m_x_offset pointer // 0x030 same as offset from body? +---@field m_last_ground_pos pointer // 0x03C ---@field m_wheel_transform array> // 0x090 - 0x0BC `rage::fMatrix44` ---@field m_unk_flags pointer //0x0C8 ----@field m_rotation_speed pointer // 0x168 `radians` +---@field m_tire_radius pointer //0x110 +---@field m_tire_width pointer //0x118 +---@field m_suspension_compression pointer // 0x168 `radians` ---@field m_traction_loss pointer // 0x16C ----@field m_unk0170 pointer // ?? 0x170 +---@field m_rotation_speed pointer // 0x170 ---@field m_unk0190 pointer // ?? 0x190 ---@field m_unk0194 pointer // ?? 0x194 ---@field m_tire_drag_coeff pointer // 0x198 ---@field m_top_speed_mult pointer // 0x19C ----@field m_steer_angle pointer // 0x1C4 `radians` ----@field m_brake_pressure pointer // 0x1D4 ----@field m_throttle pointer // 0x1D8 ----@field m_cur_health pointer // 0x1E0 ----@field m_max_health pointer //0x1E4 ----@field unk_flags_1EC pointer // 0x1EC +---@field m_steering_angle pointer // 0x1CC `radians` +---@field m_brake_pressure pointer // 0x1D0 +---@field m_power pointer // 0x1D4 +---@field m_health pointer // 0x1E8 +---@field m_surface_id pointer // 0x1EC ---@field unk_flags_1F0 pointer // 0x1F0 ----@field m_surface_id pointer // 0x1F2 ----@field m_is_in_air pointer // 0x1F3 `bool` ----@field m_is_burst pointer // 0x1F4 `bool` ---@overload fun(addr: pointer): CWheel|nil local CWheel = { m_size = 0x1FC } CWheel.__index = CWheel @@ -45,31 +45,30 @@ function CWheel.new(addr) return nil end - local instance = setmetatable({}, CWheel) - - instance.m_ptr = addr - instance.m_offset_from_body = addr:add(0x020) - instance.m_unk_0030 = addr:add(0x030) - instance.m_world_pos = addr:add(0x03C) - instance.m_wheel_transform = { addr:add(0x090), addr:add(0x0A0), addr:add(0x0B0), addr:add(0x0C0) } - instance.m_unk_flags = addr:add(0x0C8) - instance.m_rotation_speed = addr:add(0x168) - instance.m_traction_loss = addr:add(0x16C) - instance.m_unk0170 = addr:add(0x170) - instance.m_unk0190 = addr:add(0x190) - instance.m_unk0194 = addr:add(0x194) - instance.m_tire_drag_coeff = addr:add(0x198) - instance.m_top_speed_mult = addr:add(0x19C) - instance.m_steer_angle = addr:add(0x1C4) - instance.m_brake_pressure = addr:add(0x1D4) - instance.m_throttle = addr:add(0x1D8) - instance.m_cur_health = addr:add(0x1E0) - instance.m_max_health = addr:add(0x1E4) - instance.unk_flags_1EC = addr:add(0x1EC) - instance.unk_flags_1F0 = addr:add(0x1F0) - instance.m_surface_id = addr:add(0x1F2) - instance.m_is_in_air = addr:add(0x1F3) - instance.m_is_burst = addr:add(0x1F4) + local instance = setmetatable({}, CWheel) + instance.m_ptr = addr + instance.m_y_rotation = addr:add(0x008) + instance.m_y_rotation_inv = addr:add(0x010) + instance.m_offset_from_body = addr:add(0x020) + instance.m_x_offset = addr:add(0x030) + instance.m_last_ground_pos = addr:add(0x03C) + instance.m_wheel_transform = { addr:add(0x090), addr:add(0x0A0), addr:add(0x0B0), addr:add(0x0C0) } + instance.m_unk_flags = addr:add(0x0C8) + instance.m_tire_radius = addr:add(0x110) + instance.m_tire_width = addr:add(0x118) + instance.m_suspension_compression = addr:add(0x168) + instance.m_traction_loss = addr:add(0x16C) + instance.m_rotation_speed = addr:add(0x170) + instance.m_unk0190 = addr:add(0x190) + instance.m_unk0194 = addr:add(0x194) + instance.m_tire_drag_coeff = addr:add(0x198) + instance.m_top_speed_mult = addr:add(0x19C) + instance.m_steering_angle = addr:add(0x1CC) + instance.m_brake_pressure = addr:add(0x1D0) + instance.m_power = addr:add(0x1D4) + instance.m_health = addr:add(0x1E8) + instance.m_surface_id = addr:add(0x1EC) + instance.unk_flags_1F0 = addr:add(0x1F0) return instance end @@ -90,7 +89,7 @@ function CWheel:GetWorldPosition() return vec3:zero() end - return self.m_world_pos:get_vec3() + return self.m_last_ground_pos:get_vec3() end -- test diff --git a/includes/classes/fwDrawData.lua b/includes/classes/fwDrawData.lua new file mode 100644 index 0000000..f07e922 --- /dev/null +++ b/includes/classes/fwDrawData.lua @@ -0,0 +1,17 @@ +---@class fwDrawData +---@field private m_ptr pointer +---@field m_stream_render_gfx pointer +---@overload fun(ptr: pointer): fwDrawData +local fwDrawData = Class("fwDrawData") + +---@param ptr pointer +---@return fwDrawData +function fwDrawData:init(ptr) + return setmetatable({ + m_ptr = ptr, + m_stream_render_gfx = ptr:add(0x370) + ---@diagnostic disable-next-line + }, fwDrawData) +end + +return fwDrawData diff --git a/includes/features/vehicle/stancer.lua b/includes/features/vehicle/stancer.lua new file mode 100644 index 0000000..b97a18d --- /dev/null +++ b/includes/features/vehicle/stancer.lua @@ -0,0 +1,158 @@ +---@diagnostic disable: param-type-mismatch, return-type-mismatch, assign-type-mismatch + +-- Unfinished, WIP + +local FeatureBase = require("includes.modules.FeatureBase") +local CWheel = require("includes.classes.CWheel") + +---@class StanceObject +---@field public m_front_track_width float +---@field public m_rear_track_width float +---@field public m_front_camber float +---@field public m_rear_camber float + + +---@class Stancer : FeatureBase +---@field private m_entity PlayerVehicle +---@field private m_wheel_array atArray +---@field private m_last_tick milliseconds +---@field private m_default_data array +---@field public m_object_queue array +local Stancer = setmetatable({}, FeatureBase) +Stancer.__index = Stancer + +---@param pv PlayerVehicle +---@return Stancer +function Stancer.new(pv) + local self = FeatureBase.new(pv) + return setmetatable(self, Stancer) +end + +function Stancer:Init() + self.m_last_tick = 0 + self.m_default_data = {} + self.m_object_queue = {} + + if (self.m_entity:IsValid()) then + self.m_wheel_array = self.m_entity:Resolve().m_wheels + end +end + +function Stancer:ReadDefaults() + if (not self.m_entity:IsValid()) then + return + end + + self.m_wheel_array = self.m_entity:Resolve().m_wheels + for i, ptr in self.m_wheel_array:Iter() do + local cwheel = CWheel(ptr) + if (not cwheel) then + return + end + + self.m_default_data[i] = { + m_front_camber = self:GetValueByWheelSide(i, cwheel.m_y_rotation:get_float()), + m_rear_camber = self:GetValueByWheelSide(i, cwheel.m_y_rotation:get_float()), + m_front_track_width = self:GetValueByWheelSide(i, cwheel.m_x_offset:get_float()), + m_rear_track_width = self:GetValueByWheelSide(i, cwheel.m_x_offset:get_float()), + } + + self.m_object_queue[i] = { + m_front_camber = self:GetValueByWheelSide(i, cwheel.m_y_rotation:get_float()), + m_rear_camber = self:GetValueByWheelSide(i, cwheel.m_y_rotation:get_float()), + m_front_track_width = self:GetValueByWheelSide(i, cwheel.m_x_offset:get_float()), + m_rear_track_width = self:GetValueByWheelSide(i, cwheel.m_x_offset:get_float()), + } + end +end + +function Stancer:ShouldRun() + return self.m_entity + and self.m_entity:IsValid() + and self.m_entity:IsCar() +end + +---@param wheelIndex integer +---@param value number +---@return number +function Stancer:GetValueByWheelSide(wheelIndex, value) + return wheelIndex % 2 == 0 and value or -value +end + +function Stancer:Cleanup() + if (not self.m_wheel_array) then + return + end + + for i, obj in ipairs(self.m_default_data) do + local cwheel = CWheel(self.m_wheel_array:Get(i)) + if (not cwheel) then + return + end + + if (i < 3) then + if (math.abs(obj.m_front_camber) ~= math.abs(cwheel.m_y_rotation:get_float())) then + local signed = self:GetValueByWheelSide(i, obj.m_front_camber) + cwheel.m_y_rotation:set_float(signed) + cwheel.m_y_rotation_inv:set_float(-signed) + end + + if (math.abs(obj.m_front_track_width) ~= math.abs(cwheel.m_x_offset:get_float())) then + cwheel.m_x_offset:set_float(self:GetValueByWheelSide(i, obj.m_front_track_width)) + end + else + if (math.abs(obj.m_rear_camber) ~= math.abs(cwheel.m_y_rotation:get_float())) then + local signed = self:GetValueByWheelSide(i, obj.m_rear_camber) + cwheel.m_y_rotation:set_float(signed) + cwheel.m_y_rotation_inv:set_float(-signed) + end + + if (math.abs(obj.m_rear_track_width) ~= math.abs(cwheel.m_x_offset:get_float())) then + cwheel.m_x_offset:set_float(self:GetValueByWheelSide(i, obj.m_rear_track_width)) + end + end + end +end + +function Stancer:Update() + if (not self.m_wheel_array) then + self:ReadDefaults() + end + + -- if (Time.millis() - self.m_last_tick < 5) then -- causes flicker when fighting the game's overrides + -- return + -- end + + for i, obj in ipairs(self.m_object_queue) do + local cwheel = CWheel(self.m_wheel_array:Get(i)) + if (not cwheel) then + return + end + + if (i < 3) then + if (math.abs(obj.m_front_camber) ~= math.abs(cwheel.m_y_rotation:get_float())) then + local signed = self:GetValueByWheelSide(i, obj.m_front_camber) + cwheel.m_y_rotation:set_float(signed) + cwheel.m_y_rotation_inv:set_float(-signed) + end + + if (math.abs(obj.m_front_track_width) ~= math.abs(cwheel.m_x_offset:get_float())) then + cwheel.m_x_offset:set_float(self:GetValueByWheelSide(i, obj.m_front_track_width)) + end + else + if (math.abs(obj.m_rear_camber) ~= math.abs(cwheel.m_y_rotation:get_float())) then + local signed = self:GetValueByWheelSide(i, obj.m_rear_camber) + cwheel.m_y_rotation:set_float(signed) + cwheel.m_y_rotation_inv:set_float(-signed) + end + + if (math.abs(obj.m_rear_track_width) ~= math.abs(cwheel.m_x_offset:get_float())) then + cwheel.m_x_offset:set_float(self:GetValueByWheelSide(i, obj.m_rear_track_width)) + end + end + end + + -- self.m_last_tick = Time.millis() +end + +return Stancer diff --git a/includes/frontend/settings/debug_ui.lua b/includes/frontend/settings/debug_ui.lua index 32569b9..784ca30 100644 --- a/includes/frontend/settings/debug_ui.lua +++ b/includes/frontend/settings/debug_ui.lua @@ -551,6 +551,7 @@ local function DrawMiscTests() PV:Resolve():DumpModelInfoFlags() end) end + ImGui.SameLine() if (ImGui.Button("Advanced Flags")) then script.run_in_fiber(function() @@ -561,17 +562,6 @@ local function DrawMiscTests() PV:Resolve():DumpAdvancedFlags() end) end - - if (ImGui.Button("Get Subhandling Data")) then - script.run_in_fiber(function() - local PV = Self:GetVehicle() - if (not PV:IsValid()) then - return - end - - print(PV:GetHandlingData()) - end) - end end return function() diff --git a/includes/frontend/vehicle/flatbed_ui.lua b/includes/frontend/vehicle/flatbed_ui.lua index 7f8e214..0d66108 100644 --- a/includes/frontend/vehicle/flatbed_ui.lua +++ b/includes/frontend/vehicle/flatbed_ui.lua @@ -1,5 +1,6 @@ local Flatbed = require("includes.features.vehicle.flatbed") local flatbed_tab = GUI:RegisterNewTab(Enums.eTabID.TAB_VEHICLE, "SUBTAB_FLATBED", nil, nil, true) + flatbed_tab:AddLoopedCommand("FLTBD_MAIN_CB", "features.flatbed.enabled", function() diff --git a/includes/frontend/vehicle/stancer_ui.lua b/includes/frontend/vehicle/stancer_ui.lua new file mode 100644 index 0000000..0287a24 --- /dev/null +++ b/includes/frontend/vehicle/stancer_ui.lua @@ -0,0 +1,38 @@ +local Stancer = Self:GetVehicle().m_stance_mgr +local stanceQueue = Stancer.m_object_queue + +return function() + if (self.get_veh() == 0) then + ImGui.Text(_T("GENERIC_NOT_IN_VEH")) + return + end + + for i, obj in ipairs(stanceQueue) do + if (i < 3 and i % 2 == 0) then + obj.m_front_camber, _ = ImGui.SliderFloat("Front Camber", obj.m_front_camber, -1.0, 1.0, "%.2f°") + obj.m_front_track_width, _ = ImGui.SliderFloat("Front Track Width", + obj.m_front_track_width, + 0.1, + 1.5, + "%.3f" + ) + stanceQueue[i - 1].m_front_camber = obj.m_front_camber + stanceQueue[i - 1].m_front_track_width = obj.m_front_track_width + elseif (i >= 3 and i % 2 ~= 0) then + obj.m_rear_camber, _ = ImGui.SliderFloat("Rear Camber", obj.m_rear_camber, -1.0, 1.0, "%.2f°") + obj.m_rear_track_width, _ = ImGui.SliderFloat("Rear Track Width", + obj.m_rear_track_width, + 0.1, + 1.5, + "%.3f" + ) + if (#stanceQueue > 3) then + stanceQueue[i + 1].m_rear_camber = obj.m_rear_camber + stanceQueue[i + 1].m_rear_track_width = obj.m_rear_track_width + end + end + end + + ImGui.Dummy(1, 10) + ImGui.TextDisabled("Work In Progress.") +end diff --git a/includes/frontend/vehicle/vehicle_ui.lua b/includes/frontend/vehicle/vehicle_ui.lua index 24a3048..b5faa81 100644 --- a/includes/frontend/vehicle/vehicle_ui.lua +++ b/includes/frontend/vehicle/vehicle_ui.lua @@ -534,6 +534,10 @@ handlingEditorTab:RegisterGUI(function() end) --#endregion +--#region stancer +vehicleTab:RegisterSubtab("Stancer", require("includes.frontend.vehicle.stancer_ui"), nil, false) +--#endregion + local swap_btn_size = vec2:new(140, 35) local swap_wnd_height = 260 vehicleTab:RegisterSubtab("VEH_ENGINE_SWAP", function() diff --git a/includes/modules/PlayerVehicle.lua b/includes/modules/PlayerVehicle.lua index 041cb30..2f31eeb 100644 --- a/includes/modules/PlayerVehicle.lua +++ b/includes/modules/PlayerVehicle.lua @@ -16,6 +16,7 @@ local VehMines = require("includes.features.vehicle.mines") local MiscVehicle = require("includes.features.vehicle.misc_vehicle") local CobraManeuver = require("includes.features.vehicle.cobra_maneuver") local HandlingEditor = require("includes.structs.HandlingEditor") +local Stancer = require("includes.features.vehicle.stancer") ---@class GenericToggleable ---@field is_toggled boolean @@ -47,6 +48,7 @@ local HandlingEditor = require("includes.structs.HandlingEditor") ---@field public m_engine_swap_compatible boolean ---@field public m_is_shooting_flares boolean ---@field public m_is_flatbed boolean cache it so we don't have to call natives in UI threads +---@field public m_stance_mgr Stancer ---@overload fun(handle: handle): PlayerVehicle local PlayerVehicle = Class("PlayerVehicle", Vehicle) @@ -90,10 +92,11 @@ function PlayerVehicle:AddFeature(feat) end function PlayerVehicle:InitFeatures() - self.m_feat_mgr = FeatureMgr.new(self) - self.m_lctrl_mgr = self.m_feat_mgr:Add(LaunchControlMgr.new(self)) - self.m_nos_mgr = self.m_feat_mgr:Add(NosMgr.new(self)) - self.m_abs_mgr = self.m_feat_mgr:Add(BFD.new(self)) + self.m_feat_mgr = FeatureMgr.new(self) + self.m_lctrl_mgr = self.m_feat_mgr:Add(LaunchControlMgr.new(self)) + self.m_nos_mgr = self.m_feat_mgr:Add(NosMgr.new(self)) + self.m_abs_mgr = self.m_feat_mgr:Add(BFD.new(self)) + self.m_stance_mgr = self.m_feat_mgr:Add(Stancer.new(self)) self.m_feat_mgr:Add(FlappyDoors.new(self)) self.m_feat_mgr:Add(DriftMode.new(self)) @@ -184,6 +187,8 @@ function PlayerVehicle:Set(handle) if (GVars.features.vehicle.no_turbulence and VEHICLE.IS_THIS_MODEL_A_PLANE(new_model)) then VEHICLE.SET_PLANE_TURBULENCE_MULTIPLIER(handle, 0.0) end + + self.m_stance_mgr:ReadDefaults() -- self:ResumeThreads() -- self.m_feat_mgr:OnEnable() end @@ -191,9 +196,10 @@ end function PlayerVehicle:Reset() -- self:SuspendThreads() -- self.m_feat_mgr:Cleanup() - if (self:IsLocked()) then + if (self:IsValid() and self:IsLocked()) then VEHICLE.SET_VEHICLE_DOORS_LOCKED(self:GetHandle(), 1) self.m_generic_toggleables["autolockdoors"] = nil + self.m_last_model = self:GetModelHash() end self:RestoreHeadlights() @@ -202,13 +208,14 @@ function PlayerVehicle:Reset() self:RestoreAllPatches() self:ResetAllGenericToggleables() self.m_handling_editor:Reset() + self.m_stance_mgr:Cleanup() self.m_autopilot = { eligible = false, state = self.eAutoPilotState.NONE, initial_nozzle_pos = 1, } - self.m_last_model = self:GetModelHash() + self:Destroy() self.m_handle = 0 end @@ -288,7 +295,7 @@ function PlayerVehicle:ResetAllGenericToggleables() local toggled = generic.is_toggled local func = generic.onDisable local args = generic.args - if (toggled and type(generic.onDisable) == "function") then + if (toggled and type(generic.onDisable) == "function" and self:IsValid()) then func(table.unpack(args)) end end diff --git a/includes/modules/Vehicle.lua b/includes/modules/Vehicle.lua index fe1a0b6..202852c 100644 --- a/includes/modules/Vehicle.lua +++ b/includes/modules/Vehicle.lua @@ -32,6 +32,7 @@ local collisionInvalidModels = Set.new( ---@field private m_num_seats number ---@field private m_max_passengers number ---@field private m_has_loud_radio boolean +---@field private m_last_ram_time seconds ---@field Resolve fun() : CVehicle ---@field Create fun(_, modelHash: joaat_t, entityType: eEntityType, pos?: vec3, heading?: number, isNetwork?: boolean, isScriptHostPed?: boolean): Vehicle ---@overload fun(handle: handle): Vehicle @@ -1245,10 +1246,20 @@ function Vehicle:GetHandlingData() return self:Resolve():GetSubHandlingData(handlingType) end +---@return integer function Vehicle:GetMaxPassengers() return VEHICLE.GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS(self:GetHandle()) end +---@return integer +function Vehicle:GetNumberOfWheels() + if (not self:IsValid()) then + return 0 + end + + return self:Resolve().m_num_wheels +end + ---@param seatIndex integer ---@param atGetIn? boolean ---@return handle @@ -1417,6 +1428,86 @@ function Vehicle:Wander(opts) ) end +function Vehicle:RamForward() + if (not self:IsValid() or not VEHICLE.IS_VEHICLE_ON_ALL_WHEELS(self:GetHandle())) then + return + end + + ThreadManager:Run(function() + self.m_last_ram_time = self.m_last_ram_time or 0 + if (Time.now() - self.m_last_ram_time < 3) then + return + end + + local last_speed = self:GetSpeed() + ENTITY.APPLY_FORCE_TO_ENTITY_CENTER_OF_MASS( + self:GetHandle(), + 1, + 0.0, + math.min(1e5, self:GetSpeed() * 3e3), + 0.0, + false, + true, + false, + false + ) + + sleep(500) + VEHICLE.SET_VEHICLE_FORWARD_SPEED(self:GetHandle(), last_speed) + self.m_last_ram_time = Time.now() + end) +end + +function Vehicle:RamLeft() + if (not self:IsValid() or not VEHICLE.IS_VEHICLE_ON_ALL_WHEELS(self:GetHandle())) then + return + end + + self.m_last_ram_time = self.m_last_ram_time or 0 + if (Time.now() - self.m_last_ram_time < 3) then + return + end + + ENTITY.APPLY_FORCE_TO_ENTITY_CENTER_OF_MASS( + self:GetHandle(), + 1, + -math.min(1e5, self:GetSpeed() * 3e3), + 0.0, + 0.0, + false, + true, + false, + false + ) + + self.m_last_ram_time = Time.now() +end + +function Vehicle:RamRight() + if (not self:IsValid() or not VEHICLE.IS_VEHICLE_ON_ALL_WHEELS(self:GetHandle())) then + return + end + + self.m_last_ram_time = self.m_last_ram_time or 0 + if (Time.now() - self.m_last_ram_time < 3) then + return + end + + ENTITY.APPLY_FORCE_TO_ENTITY_CENTER_OF_MASS( + self:GetHandle(), + 1, + math.min(1e5, self:GetSpeed() * 3e3), + 0.0, + 0.0, + false, + true, + false, + false + ) + + self.m_last_ram_time = Time.now() +end + -- Serializes a vehicle to JSON. -- -- If a file name isn't provided, the vehicle's name will be used. diff --git a/samurais_scripts.lua b/samurais_scripts.lua index 1831ee0..b5ca11b 100644 --- a/samurais_scripts.lua +++ b/samurais_scripts.lua @@ -53,6 +53,18 @@ script.run_in_fiber(function() end end + KeyManager:RegisterKeybind(eVirtualKeyCodes.NUMPAD8, function() + Self:GetVehicle():RamForward() + end) + + KeyManager:RegisterKeybind(eVirtualKeyCodes.NUMPAD4, function() + Self:GetVehicle():RamLeft() + end) + + KeyManager:RegisterKeybind(eVirtualKeyCodes.NUMPAD6, function() + Self:GetVehicle():RamRight() + end) + while not PatternScanner:IsDone() do yield() end From d59188bb7b1860ce40e8bcea2b564419c665b480 Mon Sep 17 00:00:00 2001 From: SAMURAI Date: Thu, 1 Jan 2026 09:18:41 +0100 Subject: [PATCH 09/11] slightly improved stancer --- includes/backend.lua | 10 +- includes/classes/CVehicle.lua | 35 +++ includes/classes/CVehicleDrawData.lua | 81 ++++++- includes/classes/atArray.lua | 8 +- includes/data/pointers.lua | 37 ++- includes/features/BillionaireServicesV2.lua | 4 +- includes/features/EntityForge.lua | 4 +- includes/features/vehicle/flatbed.lua | 12 +- includes/features/vehicle/stancer.lua | 244 +++++++++++++------- includes/frontend/settings/debug_ui.lua | 1 + includes/frontend/vehicle/stancer_ui.lua | 62 +++-- includes/frontend/vehicle/vehicle_ui.lua | 9 +- includes/lib/mock_env.lua | 2 +- includes/lib/translations/de-DE.lua | 170 +++++++++----- includes/lib/translations/en-US.lua | 2 +- includes/lib/translations/es-ES.lua | 152 ++++++++---- includes/lib/translations/fr-FR.lua | 164 ++++++++----- includes/lib/translations/it-IT.lua | 155 ++++++++----- includes/lib/translations/ja-JP.lua | 20 +- includes/lib/translations/ko-KR.lua | 17 +- includes/lib/translations/pl-PL.lua | 140 +++++++---- includes/lib/translations/pt-BR.lua | 146 ++++++++---- includes/lib/translations/ru-RU.lua | 152 ++++++++---- includes/lib/translations/zh-CN.lua | 8 +- includes/lib/translations/zh-TW.lua | 8 +- includes/lib/types.lua | 4 +- includes/modules/Accessor.lua | 2 +- includes/modules/Bodyguard.lua | 4 +- includes/modules/Decorator.lua | 87 ++++--- includes/modules/Entity.lua | 7 +- includes/modules/PrivateHeli.lua | 4 +- includes/modules/PrivateJet.lua | 6 +- includes/modules/Vehicle.lua | 80 ++++++- includes/services/CompanionManager.lua | 4 +- 34 files changed, 1272 insertions(+), 569 deletions(-) diff --git a/includes/backend.lua b/includes/backend.lua index 2f82100..e579800 100644 --- a/includes/backend.lua +++ b/includes/backend.lua @@ -258,15 +258,15 @@ end ---@param handle integer function Backend:CheckFeatureEntities(handle) - if Decorator:IsEntityRegistered(handle, "EntityForge") then + if Decorator:ExistsOn(handle, "EntityForge") then EntityForge:RemoveEntityByHandle(handle) end - if Decorator:IsEntityRegistered(handle, "BillionaireServices") then + if Decorator:ExistsOn(handle, "BillionaireServices") then BillionaireServices:RemoveEntityByHandle(handle) end - if Decorator:IsEntityRegistered(handle, "YimActions") then + if Decorator:ExistsOn(handle, "YimActions") then YimActions.CompanionManager:RemoveCompanionByHandle(handle) end end @@ -297,7 +297,7 @@ function Backend:EntitySweep() end function Backend:PoolMgr() - local timeout = self.debug_mode and 500 or 5e3 + local timeout = self.debug_mode and 500 or 2e3 for index, category in ipairs({ self.SpawnedEntities[Enums.eEntityType.Object], self.SpawnedEntities[Enums.eEntityType.Ped], self.SpawnedEntities[Enums.eEntityType.Vehicle] }) do if (next(category) == nil) then @@ -452,7 +452,7 @@ function Backend:RegisterHandlers() self:OnPlayerSwitch() self:OnSessionSwitch() PreviewService:Update() - + Decorator:CollectGarbage() yield() end) diff --git a/includes/classes/CVehicle.lua b/includes/classes/CVehicle.lua index 35e95c1..a40d0a4 100644 --- a/includes/classes/CVehicle.lua +++ b/includes/classes/CVehicle.lua @@ -421,4 +421,39 @@ function CVehicle:RotateBoneMatrix(boneIndex, axis, angle) self:SetBoneMatrix(boneIndex, new_matrix) end +---@param wheelIndex integer +---@return boolean +function CVehicle:IsWheelBrokenOff(wheelIndex) + if (not self:IsValid()) then + return false + end + + -- Thanks tupoy-ya + return (self.m_ptr:add(0xA98):get_dword() >> (wheelIndex & 0x1F) & 1) ~= 0 +end + +---@return float -- Wheel width or 0.f if invalid +function CVehicle:GetWheelWidth() + return self.m_draw_data:GetWheelWidth() +end + +---@return float -- Wheel size or 0.f if invalid +function CVehicle:GetWheelSize() + return self.m_draw_data:GetWheelSize() +end + +---@param fValue float +function CVehicle:SetWheelWidth(fValue) + self.m_draw_data:SetWheelWidth(fValue) +end + +---@param fValue float +function CVehicle:SetWheelSize(fValue) + self.m_draw_data:SetWheelSize(fValue) +end + +function CVehicle:HasWheelDrawData() + return self.m_draw_data:GetWheelDrawData():IsValid() +end + return CVehicle diff --git a/includes/classes/CVehicleDrawData.lua b/includes/classes/CVehicleDrawData.lua index 4655bd9..dffded3 100644 --- a/includes/classes/CVehicleDrawData.lua +++ b/includes/classes/CVehicleDrawData.lua @@ -1,17 +1,86 @@ local fwDrawData = require("includes.classes.fwDrawData") +---@class CWheelDrawData +---@field m_ptr pointer +---@field m_wheel_size pointer // 0x008 -- this seems to hold a float value equal to `CWheel.m_tire_radius * 2` and affects all 4 wheels +---@field m_wheel_width pointer // 0xBA0 -- this one is weird. the value is a little less that `CWheel.m_tire_width * 2` on 5 different cars and a little more on the Adder. Also affects all 4 wheels +local CWheelDrawData = {} +CWheelDrawData.__index = CWheelDrawData + +---@param ptr pointer +---@return CWheelDrawData +function CWheelDrawData.new(ptr) + return setmetatable({ + m_ptr = ptr, + m_wheel_size = ptr:add(0x008), + m_wheel_width = ptr:add(0xBA0), + }, CWheelDrawData) +end + +function CWheelDrawData:IsValid() + return self.m_ptr and self.m_ptr:is_valid() +end + ---@class CVehicleDrawData : fwDrawData ----@field m_stream_render_gfx pointer ----@field m_stream_wheel_size pointer ----@field m_stream_wheel_width pointer +---@field m_wheel_draw_data CWheelDrawData +---@overload fun(ptr: pointer): CVehicleDrawData local CVehicleDrawData = Class("CVehicleDrawData", fwDrawData) +---@param ptr pointer +---@return CVehicleDrawData function CVehicleDrawData:init(ptr) self.m_ptr = ptr - self.m_stream_render_gfx = ptr:add(0x370) - self.m_stream_wheel_size = self.m_stream_render_gfx:add(0x008) - self.m_stream_wheel_width = self.m_stream_render_gfx:add(0xBA0) + -- This will be null if the vehicle has stock wheels. + self.m_wheel_draw_data = CWheelDrawData.new(ptr:add(0x370):deref()) return self end +function CVehicleDrawData:GetWheelDrawData() + if not (self.m_wheel_draw_data and self.m_wheel_draw_data:IsValid()) then + self.m_wheel_draw_data = CWheelDrawData.new(self.m_ptr:add(0x370):deref()) + end + + return self.m_wheel_draw_data +end + +---@return float -- Wheel width or 0.f if invalid +function CVehicleDrawData:GetWheelWidth() + local cwdd = self:GetWheelDrawData() + if (not cwdd:IsValid()) then + return 0.0 + end + + return cwdd.m_wheel_width:get_float() +end + +---@return float -- Wheel size or 0.f if invalid +function CVehicleDrawData:GetWheelSize() + local cwdd = self:GetWheelDrawData() + if (not cwdd:IsValid()) then + return 0.0 + end + + return cwdd.m_wheel_size:get_float() +end + +---@param fValue float +function CVehicleDrawData:SetWheelWidth(fValue) + local cwdd = self:GetWheelDrawData() + if (not cwdd:IsValid()) then + return + end + + cwdd.m_wheel_width:set_float(fValue) +end + +---@param fValue float +function CVehicleDrawData:SetWheelSize(fValue) + local cwdd = self:GetWheelDrawData() + if (not cwdd:IsValid()) then + return + end + + cwdd.m_wheel_size:set_float(fValue) +end + return CVehicleDrawData diff --git a/includes/classes/atArray.lua b/includes/classes/atArray.lua index 6ee2ac9..d4bec6a 100644 --- a/includes/classes/atArray.lua +++ b/includes/classes/atArray.lua @@ -30,8 +30,8 @@ setmetatable(atArray, { function atArray.new(address, data_type) local instance = setmetatable( { - m_address = NULLPTR, - m_data_ptr = NULLPTR, + m_address = nullptr, + m_data_ptr = nullptr, m_size = 0x0, m_count = 0x0, m_data = {}, @@ -80,8 +80,8 @@ function atArray:IsEmpty() end function atArray:Clear() - self.m_address = NULLPTR - self.m_data_ptr = NULLPTR + self.m_address = nullptr + self.m_data_ptr = nullptr self.m_data = {} self.m_size = 0x0 self.m_count = 0x0 diff --git a/includes/data/pointers.lua b/includes/data/pointers.lua index d63ab1e..632ad49 100644 --- a/includes/data/pointers.lua +++ b/includes/data/pointers.lua @@ -1,5 +1,9 @@ PatternScanner = require("includes.services.PatternScanner"):init() +--- A place to store callable naems returned from `memory.dynamic_call` +---@class DynamicFuncNames +---@field dfn_IsVehicleWheelBrokenOff? string + -- ### A place to store pointers globally. -- -- You can add new indexes to this global table from any other file @@ -15,16 +19,22 @@ PatternScanner = require("includes.services.PatternScanner"):init() ---@field GameTime pointer ---@field GameVersion { _build: string, _online: string } ---@field ScreenResolution vec2 +---@field IsVehicleWheelBrokenOff pointer +---@field DynamicFuncNames DynamicFuncNames local GPointers = { - Init = function() PatternScanner:Scan() end, - Retry = function() PatternScanner:RetryScan() end, - ScriptGlobals = NULLPTR, - GameState = NULLPTR, - GameTime = NULLPTR, - GameVersion = { _build = "nil", _online = "nil" }, - ScreenResolution = vec2:zero(), + Init = function() PatternScanner:Scan() end, + Retry = function() PatternScanner:RetryScan() end, + ScriptGlobals = nullptr, + GameState = nullptr, + GameTime = nullptr, + IsVehicleWheelBrokenOff = nullptr, + GameVersion = { _build = "nil", _online = "nil" }, + ScreenResolution = vec2:zero(), } +GPointers.DynamicFuncNames = {} + + ---@class MemoryBatch ---@field m_name string ---@field m_pattern string @@ -88,6 +98,19 @@ local mem_batches = { ptr:add(0x4):rip():get_word() ) end), + -- MemoryBatch.new("IsVehicleWheelBrokenOff", "E8 ? ? ? ? 48 8B CD 41 88 84 1F", function(ptr) + -- if ptr:is_null() then + -- return + -- end + + -- local func_ptr = ptr:add(0x1):rip() + -- GPointers.IsVehicleWheelBrokenOff = func_ptr -- not needed for this but we'll just go ahead and store it + -- GPointers.DynamicFuncNames.dfn_IsVehicleWheelBrokenOff = memory.dynamic_call( + -- "bool", + -- { "void*", "int" }, + -- func_ptr + -- ) + -- end), }, [Enums.eAPIVersion.V2] = { MemoryBatch.new("ScriptGlobals", "48 8B 8E B8 00 00 00 48 8D 15 ? ? ? ? 49 89 D8", function(ptr) diff --git a/includes/features/BillionaireServicesV2.lua b/includes/features/BillionaireServicesV2.lua index be3a853..65edaae 100644 --- a/includes/features/BillionaireServicesV2.lua +++ b/includes/features/BillionaireServicesV2.lua @@ -105,12 +105,12 @@ end ---@param entity integer function BillionaireServices:RegisterEntity(entity) - Decorator:RegisterEntity(entity, "BillionaireServices", true) + Decorator:Register(entity, "BillionaireServices", true) end ---@param entity integer function BillionaireServices:UnregisterEntity(entity) - Decorator:RemoveEntity(entity, "BillionaireServices") + Decorator:RemoveEntity(entity) end function BillionaireServices:GetServiceCount() diff --git a/includes/features/EntityForge.lua b/includes/features/EntityForge.lua index dc7c0f7..d965a89 100644 --- a/includes/features/EntityForge.lua +++ b/includes/features/EntityForge.lua @@ -65,12 +65,12 @@ end ---@param entity handle function EntityForge:RegisterEntity(entity) - Decorator:RegisterEntity(entity, "EntityForge", true) + Decorator:Register(entity, "EntityForge", true) end ---@param entity handle function EntityForge:UnregisterEntity(entity) - Decorator:RemoveEntity(entity, "EntityForge") + Decorator:RemoveEntity(entity) end ---@return ForgeEntity diff --git a/includes/features/vehicle/flatbed.lua b/includes/features/vehicle/flatbed.lua index db4daa6..6351a9b 100644 --- a/includes/features/vehicle/flatbed.lua +++ b/includes/features/vehicle/flatbed.lua @@ -96,7 +96,7 @@ function Flatbed:Spawn() return end - Decorator:RegisterEntity(self.m_handle, "Flatbed", true) + Decorator:Register(self.m_handle, "Flatbed", true) PED.SET_PED_INTO_VEHICLE(Self:GetHandle(), self.m_handle, -1) STREAMING.SET_MODEL_AS_NO_LONGER_NEEDED(self.modelHash) ENTITY.SET_ENTITY_AS_NO_LONGER_NEEDED(self.m_handle) @@ -265,7 +265,7 @@ function Flatbed:Attach() tries = tries + 1 final_z = final_z + step until success or tries > (maxLift / step) - Decorator:RegisterEntity(self.m_towed_vehicle.m_handle, "Flatbed", true) + Decorator:Register(self.m_towed_vehicle.m_handle, "Flatbed", true) end ---@param x float @@ -406,7 +406,7 @@ function Flatbed:Detach() VEHICLE.SET_VEHICLE_ON_GROUND_PROPERLY(self.m_towed_vehicle.m_handle, 5.0) end - Decorator:RemoveEntity(self.m_towed_vehicle.m_handle, "Flatbed") + Decorator:RemoveEntity(self.m_towed_vehicle.m_handle) self.m_towed_vehicle = nil end end @@ -430,7 +430,7 @@ function Flatbed:ForceCleanup() false ) VEHICLE.SET_VEHICLE_ON_GROUND_PROPERLY(attachedVehicle, 5.0) - Decorator:RemoveEntity(self.m_towed_vehicle.m_handle, "Flatbed") + Decorator:RemoveEntity(self.m_towed_vehicle.m_handle) self.m_towed_vehicle = nil end end @@ -453,10 +453,10 @@ function Flatbed:Reset() } if self.m_towed_vehicle then - Decorator:RemoveEntity(self.m_towed_vehicle.m_handle, "Flatbed") + Decorator:RemoveEntity(self.m_towed_vehicle.m_handle) end - Decorator:RemoveEntity(self.m_handle, "Flatbed") + Decorator:RemoveEntity(self.m_handle) self.m_previous_handle = 0 self.m_search_pos = vec3:zero() self.m_fwd_vec = vec3:zero() diff --git a/includes/features/vehicle/stancer.lua b/includes/features/vehicle/stancer.lua index b97a18d..3a10b7d 100644 --- a/includes/features/vehicle/stancer.lua +++ b/includes/features/vehicle/stancer.lua @@ -5,21 +5,94 @@ local FeatureBase = require("includes.modules.FeatureBase") local CWheel = require("includes.classes.CWheel") ----@class StanceObject ----@field public m_front_track_width float ----@field public m_rear_track_width float ----@field public m_front_camber float ----@field public m_rear_camber float - ---@class Stancer : FeatureBase ---@field private m_entity PlayerVehicle ---@field private m_wheel_array atArray ---@field private m_last_tick milliseconds ----@field private m_default_data array ----@field public m_object_queue array -local Stancer = setmetatable({}, FeatureBase) +---@field public m_suspension_offsets { front: float, rear: float } +---@field public m_is_active boolean +local Stancer = setmetatable({}, FeatureBase) Stancer.__index = Stancer +Stancer.m_queue = { + m_front_track_width_queue = 0.0, + m_rear_track_width_queue = 0.0, + m_front_camber_queue = 0.0, + m_rear_camber_queue = 0.0, + m_wheel_width_queue = 0.0, + m_wheel_size_queue = 0.0 +} + +---@alias ptr_read fun(w: CWheel): anyval +---@type array<{ default_key: string, wheel_index: integer, read_func: ptr_read, write_func: fun(w: CWheel, v: anyval, veh?: PlayerVehicle), side_dont_care?: boolean}> +Stancer.decorators = { + { + default_key = "m_front_camber", + wheel_index = 2, + read_func = function(w) + return w.m_y_rotation:get_float() + end, + write_func = function(w, v) + w.m_y_rotation:set_float(v) + w.m_y_rotation_inv:set_float(-v) + end + }, + { + default_key = "m_front_track_width", + wheel_index = 2, + read_func = function(w) + return w.m_x_offset:get_float() + end, + write_func = function(w, v) + w.m_x_offset:set_float(v) + end + }, + { + default_key = "m_wheel_width", + wheel_index = 2, + side_dont_care = true, + read_func = function(w) + return w.m_tire_width:get_float() + end, + write_func = function(w, v, veh) + w.m_tire_width:set_float(v) + veh:SetVisualWheelWidth(v * 2) + end + }, + { + default_key = "m_wheel_size", + wheel_index = 2, + side_dont_care = true, + read_func = function(w) + return w.m_tire_radius:get_float() + end, + write_func = function(w, v, veh) + w.m_tire_radius:set_float(v) + veh:SetVisualWheelSize(v * 2) + end + }, + { + default_key = "m_rear_camber", + wheel_index = 4, + read_func = function(w) + return w.m_y_rotation:get_float() + end, + write_func = function(w, v) + w.m_y_rotation:set_float(v) + w.m_y_rotation_inv:set_float(-v) + end + }, + { + default_key = "m_rear_track_width", + wheel_index = 4, + read_func = function(w) + return w.m_x_offset:get_float() + end, + write_func = function(w, v) + w.m_x_offset:set_float(v) + end + }, +} ---@param pv PlayerVehicle ---@return Stancer @@ -30,46 +103,56 @@ end function Stancer:Init() self.m_last_tick = 0 - self.m_default_data = {} - self.m_object_queue = {} + self.m_suspension_offsets = { + front = 0.0, + rear = 0.0 + } if (self.m_entity:IsValid()) then self.m_wheel_array = self.m_entity:Resolve().m_wheels end end +---@return boolean +function Stancer:AreDefaultsRegistered() + local handle = self.m_entity:GetHandle() + for _, decor in ipairs(self.decorators) do + if (not Decorator:ExistsOn(handle, decor.default_key)) then + return false + end + end + + return true +end + function Stancer:ReadDefaults() - if (not self.m_entity:IsValid()) then + if (not self.m_entity:IsValid() or not self.m_entity:IsCar()) then + return + end + + if (self:AreDefaultsRegistered()) then return end self.m_wheel_array = self.m_entity:Resolve().m_wheels - for i, ptr in self.m_wheel_array:Iter() do - local cwheel = CWheel(ptr) - if (not cwheel) then - return + for _, v in ipairs(self.decorators) do + local key = v.default_key + local pending_key = key .. "_queue" + local read_func = v.read_func + local cwheel = CWheel(self.m_wheel_array:Get(v.wheel_index)) + if (not cwheel or not cwheel:IsValid()) then + break end - self.m_default_data[i] = { - m_front_camber = self:GetValueByWheelSide(i, cwheel.m_y_rotation:get_float()), - m_rear_camber = self:GetValueByWheelSide(i, cwheel.m_y_rotation:get_float()), - m_front_track_width = self:GetValueByWheelSide(i, cwheel.m_x_offset:get_float()), - m_rear_track_width = self:GetValueByWheelSide(i, cwheel.m_x_offset:get_float()), - } - - self.m_object_queue[i] = { - m_front_camber = self:GetValueByWheelSide(i, cwheel.m_y_rotation:get_float()), - m_rear_camber = self:GetValueByWheelSide(i, cwheel.m_y_rotation:get_float()), - m_front_track_width = self:GetValueByWheelSide(i, cwheel.m_x_offset:get_float()), - m_rear_track_width = self:GetValueByWheelSide(i, cwheel.m_x_offset:get_float()), - } + local default_val = read_func(cwheel) + Decorator:Register(self.m_entity:GetHandle(), key, default_val) + Decorator:Register(self.m_entity:GetHandle(), pending_key, default_val) + self.m_queue[pending_key] = default_val end end function Stancer:ShouldRun() - return self.m_entity - and self.m_entity:IsValid() - and self.m_entity:IsCar() + return self.m_entity and self.m_entity:IsValid() end ---@param wheelIndex integer @@ -79,80 +162,79 @@ function Stancer:GetValueByWheelSide(wheelIndex, value) return wheelIndex % 2 == 0 and value or -value end +---@return boolean +function Stancer:CanApplyDrawData() + return self.m_entity and self.m_entity:HasWheelDrawData() +end + function Stancer:Cleanup() if (not self.m_wheel_array) then return end - for i, obj in ipairs(self.m_default_data) do - local cwheel = CWheel(self.m_wheel_array:Get(i)) - if (not cwheel) then - return + if (not self:AreDefaultsRegistered()) then + return + end + + for _, v in ipairs(self.decorators) do + local num_wheels = self.m_entity:GetNumberOfWheels() + local wheel_range = v.wheel_index == 2 and Range(1, 2) or Range(3, num_wheels) + local default_val = Decorator:GetDecor(self.m_entity:GetHandle(), v.default_key) + if (not default_val or type(default_val) ~= "number") then + break end - if (i < 3) then - if (math.abs(obj.m_front_camber) ~= math.abs(cwheel.m_y_rotation:get_float())) then - local signed = self:GetValueByWheelSide(i, obj.m_front_camber) - cwheel.m_y_rotation:set_float(signed) - cwheel.m_y_rotation_inv:set_float(-signed) + for i in wheel_range:Iter() do + local cwheel = CWheel(self.m_wheel_array:Get(i)) + if (not cwheel) then + break end - if (math.abs(obj.m_front_track_width) ~= math.abs(cwheel.m_x_offset:get_float())) then - cwheel.m_x_offset:set_float(self:GetValueByWheelSide(i, obj.m_front_track_width)) - end - else - if (math.abs(obj.m_rear_camber) ~= math.abs(cwheel.m_y_rotation:get_float())) then - local signed = self:GetValueByWheelSide(i, obj.m_rear_camber) - cwheel.m_y_rotation:set_float(signed) - cwheel.m_y_rotation_inv:set_float(-signed) - end - - if (math.abs(obj.m_rear_track_width) ~= math.abs(cwheel.m_x_offset:get_float())) then - cwheel.m_x_offset:set_float(self:GetValueByWheelSide(i, obj.m_rear_track_width)) - end + local val = v.side_dont_care and default_val or self:GetValueByWheelSide(i, default_val) + v.write_func(cwheel, val, self.m_entity) end end end function Stancer:Update() - if (not self.m_wheel_array) then - self:ReadDefaults() + self.m_is_active = self.m_entity:IsCar() + + if (not self.m_is_active or not self.m_wheel_array) then + return end - -- if (Time.millis() - self.m_last_tick < 5) then -- causes flicker when fighting the game's overrides - -- return - -- end + -- thanks for making me reload this slow ass game 15 times. + -- here's a guard dog + if (not self:AreDefaultsRegistered()) then + return + end - for i, obj in ipairs(self.m_object_queue) do - local cwheel = CWheel(self.m_wheel_array:Get(i)) - if (not cwheel) then - return - end + if (Game.GetGameTimer() - self.m_last_tick < 5) then + return + end - if (i < 3) then - if (math.abs(obj.m_front_camber) ~= math.abs(cwheel.m_y_rotation:get_float())) then - local signed = self:GetValueByWheelSide(i, obj.m_front_camber) - cwheel.m_y_rotation:set_float(signed) - cwheel.m_y_rotation_inv:set_float(-signed) - end + for _, v in ipairs(self.decorators) do + local queued_key = v.default_key .. "_queue" + local queued_val = self.m_queue[queued_key] + local num_wheels = self.m_entity:GetNumberOfWheels() + local wheel_range = v.wheel_index == 2 and Range(1, 2) or Range(3, num_wheels) - if (math.abs(obj.m_front_track_width) ~= math.abs(cwheel.m_x_offset:get_float())) then - cwheel.m_x_offset:set_float(self:GetValueByWheelSide(i, obj.m_front_track_width)) - end - else - if (math.abs(obj.m_rear_camber) ~= math.abs(cwheel.m_y_rotation:get_float())) then - local signed = self:GetValueByWheelSide(i, obj.m_rear_camber) - cwheel.m_y_rotation:set_float(signed) - cwheel.m_y_rotation_inv:set_float(-signed) + for i in wheel_range:Iter() do + local cwheel = CWheel(self.m_wheel_array:Get(i)) + if (not cwheel) then + break end - if (math.abs(obj.m_rear_track_width) ~= math.abs(cwheel.m_x_offset:get_float())) then - cwheel.m_x_offset:set_float(self:GetValueByWheelSide(i, obj.m_rear_track_width)) + local current_val = v.read_func(cwheel) + if (math.abs(queued_val) ~= math.abs(current_val)) then + local val = v.side_dont_care and queued_val or self:GetValueByWheelSide(i, queued_val) + v.write_func(cwheel, val, self.m_entity) + Decorator:UpdateDecor(self.m_entity:GetHandle(), queued_key, queued_val) end end end - -- self.m_last_tick = Time.millis() + self.m_last_tick = Game.GetGameTimer() end return Stancer diff --git a/includes/frontend/settings/debug_ui.lua b/includes/frontend/settings/debug_ui.lua index 784ca30..4d69ddf 100644 --- a/includes/frontend/settings/debug_ui.lua +++ b/includes/frontend/settings/debug_ui.lua @@ -1,3 +1,4 @@ +local CWheel = require "includes.classes.CWheel" local RED = Color("red") local GREEN = Color("green") local BLUE = Color("blue") diff --git a/includes/frontend/vehicle/stancer_ui.lua b/includes/frontend/vehicle/stancer_ui.lua index 0287a24..a94bcfc 100644 --- a/includes/frontend/vehicle/stancer_ui.lua +++ b/includes/frontend/vehicle/stancer_ui.lua @@ -1,35 +1,47 @@ -local Stancer = Self:GetVehicle().m_stance_mgr -local stanceQueue = Stancer.m_object_queue +local PV = Self:GetVehicle() +local Stancer = PV.m_stance_mgr +local stanceQueue = Stancer.m_queue + +local ref = { + m_front_track_width_queue = { label = "Front Track Width", fmt = "%.3f", min = 0.1, max = 1.0 }, + m_rear_track_width_queue = { label = "Rear Track Width", fmt = "%.3f", min = 0.1, max = 1.0 }, + m_front_camber_queue = { label = "Front Camber", fmt = "%.2f°", min = -1.0, max = 1.0 }, + m_rear_camber_queue = { label = "Rear Camber", fmt = "%.2f°", min = -1.0, max = 1.0 }, + m_wheel_width_queue = { label = "Wheel Width", fmt = "%.2f", min = 0.1, max = 2.0 }, + m_wheel_size_queue = { label = "Wheel Size", fmt = "%.2f", min = 0.1, max = 2.0 }, +} + +local ref_order = { + "m_front_camber_queue", + "m_rear_camber_queue", + "m_front_track_width_queue", + "m_rear_track_width_queue", + "m_wheel_width_queue", + "m_wheel_size_queue", +} return function() if (self.get_veh() == 0) then ImGui.Text(_T("GENERIC_NOT_IN_VEH")) return + elseif (not Stancer.m_is_active) then + ImGui.Text(_T("GENERIC_CARS_ONLY")) + return end - for i, obj in ipairs(stanceQueue) do - if (i < 3 and i % 2 == 0) then - obj.m_front_camber, _ = ImGui.SliderFloat("Front Camber", obj.m_front_camber, -1.0, 1.0, "%.2f°") - obj.m_front_track_width, _ = ImGui.SliderFloat("Front Track Width", - obj.m_front_track_width, - 0.1, - 1.5, - "%.3f" - ) - stanceQueue[i - 1].m_front_camber = obj.m_front_camber - stanceQueue[i - 1].m_front_track_width = obj.m_front_track_width - elseif (i >= 3 and i % 2 ~= 0) then - obj.m_rear_camber, _ = ImGui.SliderFloat("Rear Camber", obj.m_rear_camber, -1.0, 1.0, "%.2f°") - obj.m_rear_track_width, _ = ImGui.SliderFloat("Rear Track Width", - obj.m_rear_track_width, - 0.1, - 1.5, - "%.3f" - ) - if (#stanceQueue > 3) then - stanceQueue[i + 1].m_rear_camber = obj.m_rear_camber - stanceQueue[i + 1].m_rear_track_width = obj.m_rear_track_width - end + for i = 1, #ref_order do + local k = ref_order[i] + local should_disable = (k == "m_wheel_width_queue" or k == "m_wheel_size_queue") and not PV:HasWheelDrawData() + + if (should_disable) then + ImGui.BeginDisabled() + end + stanceQueue[k], _ = ImGui.SliderFloat(ref[k].label, stanceQueue[k], ref[k].min, ref[k].max, ref[k].fmt) + if (should_disable) then + ImGui.EndDisabled() + end + if (should_disable) then + GUI:Tooltip("You can not modify wheel diameter and width on stock wheels.") end end diff --git a/includes/frontend/vehicle/vehicle_ui.lua b/includes/frontend/vehicle/vehicle_ui.lua index b5faa81..3a73526 100644 --- a/includes/frontend/vehicle/vehicle_ui.lua +++ b/includes/frontend/vehicle/vehicle_ui.lua @@ -530,6 +530,11 @@ for key, data in pairs(Self:GetVehicle().m_flag_registry) do end handlingEditorTab:RegisterGUI(function() + if (self.get_veh() == 0) then + ImGui.Text(_T("GENERIC_NOT_IN_VEH")) + return + end + handlingEditorTab:GetGridRenderer():Draw() end) --#endregion @@ -541,13 +546,13 @@ vehicleTab:RegisterSubtab("Stancer", require("includes.frontend.vehicle.stancer_ local swap_btn_size = vec2:new(140, 35) local swap_wnd_height = 260 vehicleTab:RegisterSubtab("VEH_ENGINE_SWAP", function() - if (Self:GetVehicle():GetHandle() == 0) then + if (self.get_veh() == 0) then ImGui.Text(_T("GENERIC_NOT_IN_VEH")) return end if (not Self:GetVehicle().m_engine_swap_compatible) then - ImGui.Text(_T("VEH_ENGINE_SWAP_INCOMPATIBE")) + ImGui.Text(_T("GENERIC_CARS_ONLY")) return end diff --git a/includes/lib/mock_env.lua b/includes/lib/mock_env.lua index 4429889..96db72e 100644 --- a/includes/lib/mock_env.lua +++ b/includes/lib/mock_env.lua @@ -105,7 +105,7 @@ if (not memory) then free = function(ptr) end, handle_to_ptr = function(handle) return memory.pointer end, ptr_to_handle = function(ptr) return 0x0 end, - dynamic_call = function(addr, ret_type, arg_types, ...) end + dynamic_call = function(ret_type, arg_types, ptr) end } end diff --git a/includes/lib/translations/de-DE.lua b/includes/lib/translations/de-DE.lua index 752e6e8..1167e63 100644 --- a/includes/lib/translations/de-DE.lua +++ b/includes/lib/translations/de-DE.lua @@ -27,7 +27,8 @@ return { ["VEH_NO_JET_STALL"] = "Deaktivieren Sie das Abwürgen des Motors", ["VEH_FAST_JETS"] = "Schnelle Flugzeuge", ["VEH_NO_JET_STALL_TT"] = "Flugzeugtriebwerke werden nicht mehr abgewürgt, wenn Sie die Bremstaste gedrückt halten.", - ["VEH_FAST_JETS_TT"] = "Macht die meisten Flugzeuge schneller, solange sie standardmäßig 240 km/h erreichen können. Ihre Höchstgeschwindigkeit wird auf 555 km/h erhöht.\n\nLangsamere Flugzeuge wie der Duster profitieren davon nicht, es sei denn, Sie zwingen sie durch einen Sturzflug dazu, die Geschwindigkeitsschwelle zu erreichen.\n\nHINWEIS: Ihr Gang (Flugzeugräder) muss eingelegt sein.", + ["VEH_FAST_JETS_TT"] = + "Macht die meisten Flugzeuge schneller, solange sie standardmäßig 240 km/h erreichen können. Ihre Höchstgeschwindigkeit wird auf 555 km/h erhöht.\n\nLangsamere Flugzeuge wie der Duster profitieren davon nicht, es sei denn, Sie zwingen sie durch einen Sturzflug dazu, die Geschwindigkeitsschwelle zu erreichen.\n\nHINWEIS: Ihr Gang (Flugzeugräder) muss eingelegt sein.", ["VEH_MG_TRIGGERBOT"] = "Maschinengewehr-Triggerbot", ["VEH_MG_TRIGGERBOT_ENEMY"] = "Nur Feinde", ["VEH_AUTOPILOT"] = "Autopilot", @@ -39,7 +40,8 @@ return { ["VEH_MG_MANUAL_AIM_TT"] = "Ermöglicht Ihnen, das Maschinengewehr Ihres Flugzeugs manuell auszurichten.", ["VEH_MG_MARKER_SIZE"] = "Manuelle Zielmarkierungsgröße", ["VEH_FLARES"] = "Flare-Gegenmaßnahmen", - ["VEH_FLARES_TT"] = "Ermöglicht den Einsatz von Leuchtraketen von jedem Flugzeug aus mithilfe der Standardschaltfläche für Gegenmaßnahmen.", + ["VEH_FLARES_TT"] = + "Ermöglicht den Einsatz von Leuchtraketen von jedem Flugzeug aus mithilfe der Standardschaltfläche für Gegenmaßnahmen.", ["WRLD_HNS"] = "Verstecken und suchen", ["VEH_SEAT_PREV"] = "Vorheriger Sitzplatz", ["VEH_SEAT_NEXT"] = "Nächster Platz", @@ -48,7 +50,8 @@ return { ["WRLD_EXTEND_BOUNDS_TT"] = "Ermöglicht es Ihnen, in jede Richtung weiter in die Welt zu reisen.", ["WRLD_FLIGHT_MUSIC"] = "Flugmusik deaktivieren", ["WRLD_EXTEND_BOUNDS"] = "Erweitern Sie die Weltgrenzen", - ["WRLD_HNS_TT"] = "Ermöglicht das Verstecken in Fahrzeugen, Kofferräumen oder Mülleimern. Wenn Sie eine Fahndungsstufe haben, wird die Polizei Sie verlieren, solange Sie sich verstecken, bevor sie entdeckt wird.", + ["WRLD_HNS_TT"] = + "Ermöglicht das Verstecken in Fahrzeugen, Kofferräumen oder Mülleimern. Wenn Sie eine Fahndungsstufe haben, wird die Polizei Sie verlieren, solange Sie sich verstecken, bevor sie entdeckt wird.", ["WRLD_WANTED_MUSIC"] = "Deaktivieren Sie „Gesuchte Musik“.", ["FLTBD_TOWING_TXT"] = "Abschleppfahrzeug:", ["FLTBD_MAIN_CB"] = "Skript aktivieren", @@ -57,29 +60,38 @@ return { ["FLTBD_TOW_BTN"] = "Schleppen", ["WRLD_CARPOOL_TT"] = "Ermöglicht Ihnen, als Beifahrer in NPC-Fahrzeuge einzusteigen.", ["FLTBD_SHOW_TOWBOX_TT"] = "Zeichnet eine ESP-Box um das Zielfahrzeug.", - ["YAV3_STOP_BTN_HINT"] = "TIPP: Sie können %s drücken, um die Wiedergabe einer Aktion zu beenden, oder die Taste eine Sekunde lang gedrückt halten, um alles zu bereinigen.", + ["YAV3_STOP_BTN_HINT"] = + "TIPP: Sie können %s drücken, um die Wiedergabe einer Aktion zu beenden, oder die Taste eine Sekunde lang gedrückt halten, um alles zu bereinigen.", ["FLTBD_FAST_ADJUST_TXT"] = "Halten Sie [SHIFT] gedrückt, um sich schneller zu bewegen.", ["FLTBD_SHOW_TOWBOX_CB"] = "Box ESP", ["FLTBD_TOW_ALL_CB"] = "Alles abschleppen", ["FLTBD_EXIT_VEH_ERR"] = "Verlassen Sie zunächst Ihr aktuelles Fahrzeug.", - ["FLTBD_ADJUST_POS_TT"] = "Damit die Pfeile einen Sinn ergeben, bewegen Sie die Wildkamera nach rechts. (Schau nach rechts)", + ["FLTBD_ADJUST_POS_TT"] = + "Damit die Pfeile einen Sinn ergeben, bewegen Sie die Wildkamera nach rechts. (Schau nach rechts)", ["FLTBD_ADJUST_POS_TXT"] = "Fahrzeugposition anpassen", ["FLTBD_NEARBY_VEH_TXT"] = "Nächstes Fahrzeug:", ["FLTBD_NO_VEH_TXT"] = "Keine Fahrzeuge in der Nähe gefunden.", ["FLTBD_SAME_NOT_ALLOWED_ERR"] = "Sie können keinen anderen Tieflader abschleppen.", ["FLTBD_CARS_ONLY_ERR"] = "Es dürfen nur Pkw, Lkw und Fahrräder abgeschleppt werden.", - ["FLTBD_TOW_ALL_TT"] = "Standardmäßig schleppt der Lkw nur Pkw, Lkw und Fahrräder. Diese Option hebt diese Einschränkung auf.", + ["FLTBD_TOW_ALL_TT"] = + "Standardmäßig schleppt der Lkw nur Pkw, Lkw und Fahrräder. Diese Option hebt diese Einschränkung auf.", ["SETTINGS_ENTITY_REPLACE"] = "Entitäten automatisch ersetzen", ["SETTINGS_CFG_RESET"] = "Gespeicherte Konfiguration zurücksetzen", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Optional: Wählen Sie Konfigurationselemente aus, die Sie behalten möchten.", - ["FTLBD_GET_IN_MSG"] = "Sie befinden sich derzeit nicht in einem Tieflader. Sie können einen von der Straße stehlen oder die Schaltfläche unten verwenden, um einen neuen zu erzeugen.", - ["SETTINGS_ENTITY_REPLACE_TT"] = "Bei diesem Projekt ist die Anzahl der Entitäten, die Sie erzeugen können (Fußgänger, Fahrzeuge, Objekte), begrenzt. Alle Funktionen halten sich an dieses Limit, um Entity-Spam oder eine Blockierung des Spiels zu verhindern. Mit dieser Option kann das Skript automatisch alte erzeugte Entitäten ersetzen, sobald Sie das Limit für einen bestimmten Entitätstyp erreichen und versuchen, eine neue zu erzeugen.", + ["FTLBD_GET_IN_MSG"] = + "Sie befinden sich derzeit nicht in einem Tieflader. Sie können einen von der Straße stehlen oder die Schaltfläche unten verwenden, um einen neuen zu erzeugen.", + ["SETTINGS_ENTITY_REPLACE_TT"] = + "Bei diesem Projekt ist die Anzahl der Entitäten, die Sie erzeugen können (Fußgänger, Fahrzeuge, Objekte), begrenzt. Alle Funktionen halten sich an dieses Limit, um Entity-Spam oder eine Blockierung des Spiels zu verhindern. Mit dieser Option kann das Skript automatisch alte erzeugte Entitäten ersetzen, sobald Sie das Limit für einen bestimmten Entitätstyp erreichen und versuchen, eine neue zu erzeugen.", ["GENERIC_UNAVAILABLE"] = "Derzeit nicht verfügbar.", - ["WARN_PED_SPAWN_LIMIT"] = "Ped-Spawn-Limit erreicht! Erwägen Sie die Aktivierung von „Entitäten automatisch ersetzen“ auf der Registerkarte „Einstellungen“, wenn Sie alte Entitäten automatisch ersetzen möchten, wenn Sie das Limit erreichen.", - ["WARN_VEH_SPAWN_LIMIT"] = "Fahrzeug-Spawn-Limit erreicht! Erwägen Sie die Aktivierung von „Entitäten automatisch ersetzen“ auf der Registerkarte „Einstellungen“, wenn Sie alte Entitäten automatisch ersetzen möchten, wenn Sie das Limit erreichen.", - ["GENERIC_OFFLINE_OR_OUTDATED"] = "Sie müssen online sein und über die neueste Version des Skripts verfügen, um auf diese Funktion zugreifen zu können!", + ["WARN_PED_SPAWN_LIMIT"] = + "Ped-Spawn-Limit erreicht! Erwägen Sie die Aktivierung von „Entitäten automatisch ersetzen“ auf der Registerkarte „Einstellungen“, wenn Sie alte Entitäten automatisch ersetzen möchten, wenn Sie das Limit erreichen.", + ["WARN_VEH_SPAWN_LIMIT"] = + "Fahrzeug-Spawn-Limit erreicht! Erwägen Sie die Aktivierung von „Entitäten automatisch ersetzen“ auf der Registerkarte „Einstellungen“, wenn Sie alte Entitäten automatisch ersetzen möchten, wenn Sie das Limit erreichen.", + ["GENERIC_OFFLINE_OR_OUTDATED"] = + "Sie müssen online sein und über die neueste Version des Skripts verfügen, um auf diese Funktion zugreifen zu können!", ["INF_ATTACHMENT_NONE"] = "An uns scheint nichts zu hängen.", - ["WARN_OBJ_SPAWN_LIMIT"] = "Objekt-Spawn-Limit erreicht! Erwägen Sie die Aktivierung von „Entitäten automatisch ersetzen“ auf der Registerkarte „Einstellungen“, wenn Sie alte Entitäten automatisch ersetzen möchten, wenn Sie das Limit erreichen.", + ["WARN_OBJ_SPAWN_LIMIT"] = + "Objekt-Spawn-Limit erreicht! Erwägen Sie die Aktivierung von „Entitäten automatisch ersetzen“ auf der Registerkarte „Einstellungen“, wenn Sie alte Entitäten automatisch ersetzen möchten, wenn Sie das Limit erreichen.", ["GENERIC_OPTIONS_LABEL"] = "Optionen", ["GENERIC_LEFT_RIGHT_LABEL"] = "Links rechts", ["GENERIC_POSITION_LABEL"] = "Position", @@ -88,7 +100,8 @@ return { ["GENERIC_UP_DOWN_LABEL"] = "Auf/Ab", ["INF_ATTACHMENT_DROP"] = "Anhänge gelöscht.", ["GENERIC_CANCEL"] = "Stornieren", - ["GENERIC_SG_SL_READ_FAIL"] = "Das globale/lokale Lesen des Skripts ist fehlgeschlagen. Bitte wenden Sie sich an einen Entwickler.", + ["GENERIC_SG_SL_READ_FAIL"] = + "Das globale/lokale Lesen des Skripts ist fehlgeschlagen. Bitte wenden Sie sich an einen Entwickler.", ["GENERIC_CONTACT_DEV"] = "Etwas ist schief gelaufen! Bitte wenden Sie sich an einen Entwickler.", ["GENERIC_RESET"] = "Zurücksetzen", ["GENERIC_TELEPORT"] = "Teleportieren", @@ -122,7 +135,8 @@ return { ["CP_COOLDOWN_BYPASS_ENABLE"] = "Aktivieren Sie die Umgehung", ["CP_COOLDOWN_BYPASS"] = "Abklingzeit der Casino-Chips umgehen", ["CP_COOLDOWN_BYPASS_STATUS_OFF"] = "Abklingzeit deaktiviert", - ["CP_COOLDOWN_BYPASS_TOOLTIP"] = "Deaktiviert die Abklingzeit des Casinos, kann zu einem Verbot führen. Die Nutzung erfolgt auf eigene Gefahr.", + ["CP_COOLDOWN_BYPASS_TOOLTIP"] = + "Deaktiviert die Abklingzeit des Casinos, kann zu einem Verbot führen. Die Nutzung erfolgt auf eigene Gefahr.", ["CP_POKER_FORCE_ROYAL_FLUSH"] = "Zwinge alle Spielerhände zum Royal Flush", ["CP_COOLDOWN_BYPASS_STATUS_FORMAT"] = "Abklingzeit für %.2f Minute(n).", ["CP_POKER_FORCE_BAD_BEAT"] = "Die Hand des Dealers auf „Bad Beat“ zwingen", @@ -207,7 +221,8 @@ return { ["YRV3_LSD_LAB_NOT_OWNED"] = "Sie besitzen kein Säurelabor.", ["YRV3_AUTO_FILL"] = "Automatisch ausfüllen", ["YRV3_AUTO_SELL"] = "Autosell", - ["YRV3_FINISH_SOURCE_MISSION_TT"] = "Starten Sie eine Quellmission und drücken Sie dann diese Taste, um sie zu beenden.", + ["YRV3_FINISH_SOURCE_MISSION_TT"] = + "Starten Sie eine Quellmission und drücken Sie dann diese Taste, um sie zu beenden.", ["YRV3_FINISH_SOURCE_MISSION"] = "Schließe die Mission „Frachtquelle“ ab", ["YRV3_AMT_TOTAL"] = "Gesamtbetrag", ["YRV3_POPULARITY"] = "Popularität", @@ -223,7 +238,8 @@ return { ["YRV3_NC_MANAGMENT_CB"] = "Nachtclub-Management", ["YRV3_NC_CHANCE_ENCOUNTER_CB"] = "Immer Unruhestifter", ["YRV3_CEO_BUY_CB"] = "CEO Crate Buy", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Spawnt immer die Unruhestifter-Nachtclub-Missionen und deaktiviert die ausgeknockten VIP-Missionen.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = + "Spawnt immer die Unruhestifter-Nachtclub-Missionen und deaktiviert die ausgeknockten VIP-Missionen.", ["YRV3_SECURITY_WORK_CB"] = "Sicherheitsmissionen", ["YRV3_DAX_WORK_CB"] = "Dax-Arbeit", ["YRV3_COOLDOWNS_LABEL"] = "Abklingzeiten", @@ -236,18 +252,22 @@ return { ["YRV3_IE_VEH_SELL_CB"] = "Verkauf von I/E-Fahrzeugen", ["YRV3_CB_UNCHECK_ALL"] = "Deaktivieren Sie „Alle“.", ["YRV3_CEO_SELL_CB"] = "CEO Crate Sell", - ["YRV3_SELL_MISSIONS_NOTE"] = "[HINWEIS]: Wenn Sie vorhaben, mehr als einmal für dasselbe Unternehmen zu verkaufen, wechseln Sie bitte nach Abschluss des ersten Verkaufs die Sitzung, um die Missionen zurückzusetzen, andernfalls wird ein zweiter Verkauf höchstwahrscheinlich nicht gestartet.", - ["YRV3_SEXY_SHINABI_NOTICE"] = "Verwenden Sie stattdessen das Payphone Hits-Skript von ShinyWasabi.\nDrücken Sie [TAB], um den GitHub-Link zu kopieren.", + ["YRV3_SELL_MISSIONS_NOTE"] = + "[HINWEIS]: Wenn Sie vorhaben, mehr als einmal für dasselbe Unternehmen zu verkaufen, wechseln Sie bitte nach Abschluss des ersten Verkaufs die Sitzung, um die Missionen zurückzusetzen, andernfalls wird ein zweiter Verkauf höchstwahrscheinlich nicht gestartet.", + ["YRV3_SEXY_SHINABI_NOTICE"] = + "Verwenden Sie stattdessen das Payphone Hits-Skript von ShinyWasabi.\nDrücken Sie [TAB], um den GitHub-Link zu kopieren.", ["YRV3_AUTOSELL_BUNKER_LABEL"] = "Bunker", ["YRV3_SELL_MISSIONS_NOTIF"] = "Disabled the most annoying %s sell missions.", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Hinweis: Nur diese Unternehmen werden unterstützt:", - ["YRV3_SELL_MISSIONS_TT"] = "Diese Optionen werden nicht gespeichert. Jede Schaltfläche deaktiviert die mühsamsten Verkaufsmissionen für dieses Unternehmen.", + ["YRV3_SELL_MISSIONS_TT"] = + "Diese Optionen werden nicht gespeichert. Jede Schaltfläche deaktiviert die mühsamsten Verkaufsmissionen für dieses Unternehmen.", ["YRV3_AUTOSELL_HANGAR_LABEL"] = "Hangar (nur Luft)", ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "Säurelabor", ["YRV3_AUTOSELL_CURRENT"] = "Derzeit im Verkauf: %s", ["YRV3_AUTOSELL_CEO_LABEL"] = "CEO Warehouses", ["YRV3_AUTOSELL_BIKER_LABEL"] = "Biker-Unternehmen", - ["YRV3_AUTOSELL_TT"] = "Beendet eine Verkaufsmission automatisch 20 Sekunden nach ihrem Start. Sie müssen nichts anderes tun, als die Mission zu starten.", + ["YRV3_AUTOSELL_TT"] = + "Beendet eine Verkaufsmission automatisch 20 Sekunden nach ihrem Start. Sie müssen nichts anderes tun, als die Mission zu starten.", ["YRV3_MCT_TITLE"] = "Hauptsteuerterminal", ["YRV3_AUTO_FILL_DELAY"] = "Globale Verzögerung beim automatischen Ausfüllen:", ["YRV3_HANGAR_LAND_ERR"] = "Hangar und Verkauf werden derzeit nicht unterstützt.", @@ -260,20 +280,27 @@ return { ["SELF_PHONE_ANIMS"] = "Aktivieren Sie Telefonanimationen", ["SELF_ACTION_MODE_TT"] = "Deaktiviert die ruckartige Bewegung des Spielers während des Kampfes.", ["SELF_PHONE_ANIMS_TT"] = "Stellt Handy-Animationen in GTA Online wieder her.", - ["SELF_STAND_ON_VEHS_TT"] = "Verhindert das Ragdolling, wenn Sie auf dem Dach eines Fahrzeugs stehen (Sie fallen trotzdem, wenn Sie gegen etwas stoßen).", + ["SELF_STAND_ON_VEHS_TT"] = + "Verhindert das Ragdolling, wenn Sie auf dem Dach eines Fahrzeugs stehen (Sie fallen trotzdem, wenn Sie gegen etwas stoßen).", ["SELF_HEADPROPS"] = "Kopfstützen in Fahrzeugen zulassen", - ["SELF_HEADPROPS_TT"] = "Verhindert, dass das Spiel Ihre Kopfbedeckung (Hüte, Helme, lange Harcuts usw.) beim Einsteigen in ein Fahrzeug abnimmt.", + ["SELF_HEADPROPS_TT"] = + "Verhindert, dass das Spiel Ihre Kopfbedeckung (Hüte, Helme, lange Harcuts usw.) beim Einsteigen in ein Fahrzeug abnimmt.", ["SELF_STAND_ON_VEHS"] = "Auf Fahrzeugen stehen", ["SELF_NO_CARJACKING"] = "Kein Carjacking", ["SELF_HANDS_UP"] = "Hände hoch", ["YRV3_MCT_UNAVAIL"] = "Das Master Control Terminal ist derzeit nicht verfügbar.", - ["SELF_NO_CARJACKING_TT"] = "Verhindert, dass NPCs Sie überfallen. Es sollte auch Spieler verhindern (nicht gegen Spieler getestet).", + ["SELF_NO_CARJACKING_TT"] = + "Verhindert, dass NPCs Sie überfallen. Es sollte auch Spieler verhindern (nicht gegen Spieler getestet).", ["SELF_SPRINT_INSIDE"] = "Sprint Inside Interiors", ["SELF_LOCKPICK_ANIM"] = "Lockpick-Animation", - ["SELF_HANDS_UP_TT"] = "Ersetzt die „Point At“-Aktion in GTA Online (Standard [B] auf der Tastatur) durch eine Kapitulationsanimation.", - ["SELF_SPRINT_INSIDE_TT"] = "Ermöglicht das Laufen mit voller Geschwindigkeit in den meisten Innenräumen (nicht in allen).", - ["SELF_CROUCH_TT"] = "Lässt Sie in die Hocke gehen, wenn Sie die Stealth-Taste drücken, ähnlich wie bei GTA San Andreas.", - ["SELF_LOCKPICK_ANIM_TT"] = "Erhöht die Chance, beim Diebstahl von Fahrzeugen die Schlösserknack-Animation zu verwenden, anstatt das Fenster einzuschlagen.", + ["SELF_HANDS_UP_TT"] = + "Ersetzt die „Point At“-Aktion in GTA Online (Standard [B] auf der Tastatur) durch eine Kapitulationsanimation.", + ["SELF_SPRINT_INSIDE_TT"] = + "Ermöglicht das Laufen mit voller Geschwindigkeit in den meisten Innenräumen (nicht in allen).", + ["SELF_CROUCH_TT"] = + "Lässt Sie in die Hocke gehen, wenn Sie die Stealth-Taste drücken, ähnlich wie bei GTA San Andreas.", + ["SELF_LOCKPICK_ANIM_TT"] = + "Erhöht die Chance, beim Diebstahl von Fahrzeugen die Schlösserknack-Animation zu verwenden, anstatt das Fenster einzuschlagen.", ["SELF_REGEN_SPEED"] = "Geschwindigkeit der Gesundheitsregeneration", ["SELF_CLUMSY"] = "Unbeholfen", ["SELF_CROUCH"] = "Hocken", @@ -290,20 +317,26 @@ return { ["VEH_POPS_N_BANGS"] = "Pops & Bangs", ["VEH_NOS_PURGE"] = "NOS-Bereinigung", ["VEH_ABS_LIGHTS"] = "Bremskraftanzeige", - ["VEH_NOS_PURGE_TT"] = "Drücken Sie die zugewiesene Tastenkombination (Standard [X]), um eine NOS-Bereinigung im 2Fast 2Furious-Stil durchzuführen.", - ["VEH_ABS_LIGHTS_TT"] = "Beim Bremsen aus hoher Geschwindigkeit blinken Ihre Bremslichter. Nur für Fahrzeuge mit ABS.", - ["VEH_POPS_N_BANGS_TT"] = "Ermöglicht ein lautes Knallen des Auspuffs, das jedes Mal ausgelöst wird, wenn Sie bei hoher Drehzahl das Gaspedal loslassen. PS: Es macht NPCs in der Nähe Angst.", + ["VEH_NOS_PURGE_TT"] = + "Drücken Sie die zugewiesene Tastenkombination (Standard [X]), um eine NOS-Bereinigung im 2Fast 2Furious-Stil durchzuführen.", + ["VEH_ABS_LIGHTS_TT"] = + "Beim Bremsen aus hoher Geschwindigkeit blinken Ihre Bremslichter. Nur für Fahrzeuge mit ABS.", + ["VEH_POPS_N_BANGS_TT"] = + "Ermöglicht ein lautes Knallen des Auspuffs, das jedes Mal ausgelöst wird, wenn Sie bei hoher Drehzahl das Gaspedal loslassen. PS: Es macht NPCs in der Nähe Angst.", ["VEH_SUBWOOFER"] = "Großer Subwoofer", ["VEH_STRONG_WINDOWS"] = "Unzerbrechliches Fenster", ["VEH_AUTO_BRAKE_LIGHTS"] = "Automatische Bremslichter", ["VEH_SUBWOOFER_TT"] = "Lässt die Lautsprecher Ihres Fahrzeugs etwas lauter klingen und einen tieferen Bass haben.", ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Schaltet Ihre Bremslichter ein, wenn Sie angehalten werden. (Motor muss laufen).", ["VEH_HIGH_BEAMS_TT"] = "Lässt Ihr Fernlicht aufleuchten, wenn Sie hupen", - ["VEH_STRONG_WINDOWS_TT"] = "Die Fenster Ihres Fahrzeugs werden niemals zerbrechen. Es sei denn natürlich, es wird in die Luft gesprengt.", + ["VEH_STRONG_WINDOWS_TT"] = + "Die Fenster Ihres Fahrzeugs werden niemals zerbrechen. Es sei denn natürlich, es wird in die Luft gesprengt.", ["VEH_FLAPPY_DOORS"] = "Flappige Türen", ["VEH_STRONG_CRASH"] = "Stärkere Abstürze", - ["VEH_RGB_LIGHTS_TT"] = "Startet eine RGB-Schleife auf den Scheinwerfern Ihres Fahrzeugs. Sie können die Geschwindigkeit unten in diesem Fenster anpassen.", - ["VEH_STRONG_CRASH_TT"] = "Macht Unfälle durch Kamerawackeln, Bildschirmeffekte, mehr Verformung und Schäden noch beängstigender. Kollisionen mit hoher Geschwindigkeit können tödlich sein.", + ["VEH_RGB_LIGHTS_TT"] = + "Startet eine RGB-Schleife auf den Scheinwerfern Ihres Fahrzeugs. Sie können die Geschwindigkeit unten in diesem Fenster anpassen.", + ["VEH_STRONG_CRASH_TT"] = + "Macht Unfälle durch Kamerawackeln, Bildschirmeffekte, mehr Verformung und Schäden noch beängstigender. Kollisionen mit hoher Geschwindigkeit können tödlich sein.", ["VEH_LAUNCH_CTRL"] = "Startsteuerung", ["VEH_FLAPPY_DOORS_TT"] = "Ich habe keine Ahnung, warum ich das gemacht habe.", ["VEH_AUTO_LOCK"] = "Automatische Sperre", @@ -312,9 +345,12 @@ return { ["VEH_IV_EXIT"] = "Ausgang im IV-Stil", ["VEH_KEEP_WHEELS_TURNED"] = "Halten Sie die Räder in Bewegung", ["VEH_LAUNCH_CTRL_TT"] = "Simuliert die Startsteuerung. Nur für Performance-Fahrzeuge verfügbar.", - ["VEH_AUTO_LOCK_TT"] = "Verriegelt Ihr Fahrzeug automatisch, wenn Sie sich von ihm entfernen, und entriegelt es wieder, wenn Sie versuchen, wieder einzusteigen oder zu einem anderen Fahrzeug zu wechseln.", - ["VEH_IV_EXIT_TT"] = "Imitiert den Fahrzeugausstiegsstil von GTA IV: Halten Sie [F] eine Sekunde lang gedrückt, um den Motor auszuschalten, oder drücken Sie normal, um ihn laufen zu lassen.", - ["VEH_KEEP_WHEELS_TURNED_TT"] = "Verhindert, dass Ihr Spielercharakter beim Verlassen eines Fahrzeugs die Räder neu zentriert, indem er Sie nach draußen teleportiert.", + ["VEH_AUTO_LOCK_TT"] = + "Verriegelt Ihr Fahrzeug automatisch, wenn Sie sich von ihm entfernen, und entriegelt es wieder, wenn Sie versuchen, wieder einzusteigen oder zu einem anderen Fahrzeug zu wechseln.", + ["VEH_IV_EXIT_TT"] = + "Imitiert den Fahrzeugausstiegsstil von GTA IV: Halten Sie [F] eine Sekunde lang gedrückt, um den Motor auszuschalten, oder drücken Sie normal, um ihn laufen zu lassen.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = + "Verhindert, dass Ihr Spielercharakter beim Verlassen eines Fahrzeugs die Räder neu zentriert, indem er Sie nach draußen teleportiert.", ["VEH_SPEED_UNIT"] = "Geschwindigkeitseinheit", ["VEH_MINES"] = "Fahrzeugminen", ["VEH_SPEED_BG"] = "Hintergrund", @@ -352,18 +388,21 @@ return { ["VEH_PAINT_NOT_SELECTED_ERR"] = "Bitte wählen Sie primär oder sekundär oder beides aus.", ["VEH_PAINT_MATTE_CB"] = "Matte Farbe", ["VEH_PAINT_MATTE_TT"] = "Wendet eine matte Oberfläche auf die ausgewählte Lackierung an oder entfernt sie.", - ["VEH_PAINT_SAVE_TT"] = "Um diese Farbe an einem Privatfahrzeug zu speichern, gehen Sie in einen Modshop und kaufen Sie etwas wie Scheibentönung, Plattenstil oder ähnliches.", + ["VEH_PAINT_SAVE_TT"] = + "Um diese Farbe an einem Privatfahrzeug zu speichern, gehen Sie in einen Modshop und kaufen Sie etwas wie Scheibentönung, Plattenstil oder ähnliches.", ["VEH_PAINT_SECONDARY_CB"] = "Als sekundär", ["VEH_PAINT_PRIMARY_CB"] = "Als Primär", ["VEH_COBRA_MANEUVER_NOT_LEVEL"] = "Bitte nivellieren Sie zuerst Ihren Jet.", ["VEH_COBRA_MANEUVER_TOO_lOW"] = "Ihre aktuelle Höhe ist zu niedrig, um ein Cobra-Manöver durchzuführen!", - ["VEH_ENGINE_SWAP_INCOMPATIBE"] = "Diese Funktion ist nur mit Pkw und Lkw kompatibel.", + ["GENERIC_CARS_ONLY"] = "Diese Funktion ist nur mit Pkw und Lkw kompatibel.", ["VEH_COBRA_MANEUVER_TOO_SlOW"] = "Ihre aktuelle Geschwindigkeit ist zu niedrig, um ein Cobra-Manöver durchzuführen!", ["VEH_COBRA_MANEUVER"] = "Cobra-Manöver", - ["VEH_COBRA_MANEUVER_TT"] = "Drücken Sie [X] auf der Tastatur, um ein Cobra-Manöver durchzuführen. Nur für Jets verfügbar.", + ["VEH_COBRA_MANEUVER_TT"] = + "Drücken Sie [X] auf der Tastatur, um ein Cobra-Manöver durchzuführen. Nur für Jets verfügbar.", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "Verzögerung zwischen Spielen", ["VEH_COBRA_MANEUVER_INTERRUPT"] = "Cobra-Manöver wurde unterbrochen! Dem Spieler die Kontrolle zurückgeben.", - ["VEH_COBRA_MANEUVER_CANCEL"] = "Cobra-Manöver durchführen. Drücken Sie [STRG], um abzubrechen und die Kontrolle zurückzugewinnen.", + ["VEH_COBRA_MANEUVER_CANCEL"] = + "Cobra-Manöver durchführen. Drücken Sie [STRG], um abzubrechen und die Kontrolle zurückzugewinnen.", ["GENERIC_ADD"] = "Hinzufügen", ["GENERIC_DETACH_ALL"] = "Alle trennen", ["GENERIC_DELETE"] = "Löschen", @@ -400,14 +439,18 @@ return { ["EF_IMPORT_DATA"] = "Import", ["EF_IMPORT_DATA_CLIPBOARD"] = "Aus der Zwischenablage einfügen", ["EF_CHILD_ALPHA"] = "Transparenz untergeordneter Elemente: %d", - ["EF_ENTITY_GUN_TT"] = "Richten Sie Ihre Waffe auf ein Wesen in der Spielwelt und drücken Sie [E], um es dem Schmiedepool hinzuzufügen. Sobald Sie es hinzugefügt haben, können Sie es mit der Maus verschieben und manipulieren.", + ["EF_ENTITY_GUN_TT"] = + "Richten Sie Ihre Waffe auf ein Wesen in der Spielwelt und drücken Sie [E], um es dem Schmiedepool hinzuzufügen. Sobald Sie es hinzugefügt haben, können Sie es mit der Maus verschieben und manipulieren.", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "Ihre Zwischenablage ist leer!", ["EF_IMPORT_SUCCESS"] = "Daten erfolgreich importiert.", - ["EF_IMPORT_DATA_NOTICE"] = "Sie haben eine Kreation mit demselben Namen. Dem Namen wurde ein [import]-Tag hinzugefügt. Sie können es später noch umbenennen.", - ["EF_SHARE_SUCCESS"] = "Ihre gespeicherte Kreation wurde in die Zwischenablage kopiert. Wenn Sie die kopierten Daten mit anderen Benutzern dieses Skripts teilen, können diese sie in ihre gespeicherten Kreationen importieren.", + ["EF_IMPORT_DATA_NOTICE"] = + "Sie haben eine Kreation mit demselben Namen. Dem Namen wurde ein [import]-Tag hinzugefügt. Sie können es später noch umbenennen.", + ["EF_SHARE_SUCCESS"] = + "Ihre gespeicherte Kreation wurde in die Zwischenablage kopiert. Wenn Sie die kopierten Daten mit anderen Benutzern dieses Skripts teilen, können diese sie in ihre gespeicherten Kreationen importieren.", ["GENERIC_USE"] = "Verwenden", ["SELF_MAGIC_BULLET"] = "Zauberkugel", - ["SELF_MAGIC_BULLET_TT"] = "Diese Funktion ermöglicht kein automatisches Zielen oder automatisches Feuern. Es merkt sich einfach das letzte Ziel, auf das Sie gezielt haben, und leitet Ihren Schuss beim Abfeuern auf dieses Ziel um, selbst wenn Sie woanders schießen. Das Ziel wird zurückgesetzt, wenn Sie aufhören zu zielen.", + ["SELF_MAGIC_BULLET_TT"] = + "Diese Funktion ermöglicht kein automatisches Zielen oder automatisches Feuern. Es merkt sich einfach das letzte Ziel, auf das Sie gezielt haben, und leitet Ihren Schuss beim Abfeuern auf dieses Ziel um, selbst wenn Sie woanders schießen. Das Ziel wird zurückgesetzt, wenn Sie aufhören zu zielen.", ["GENERIC_APPLY"] = "Anwenden", ["GENERIC_GENERAL_LABEL"] = "Allgemein", ["GENERIC_CLEAR"] = "Klar", @@ -417,17 +460,22 @@ return { ["SELF_LASER_SIGHTS_LENGTH"] = "Länge des Laserstrahls", ["VEH_NO_ENGINE_BRAKE"] = "Deaktivieren Sie die Motorbremsung", ["VEH_KERS_BOOST"] = "KERS-Boost", - ["VEH_KERS_BOOST_TT"] = "Rüstet Ihr Fahrzeug mit dem KERS-Boost (Kinetic Energy Recovery System) aus, ähnlich wie bei F1-Autos.", + ["VEH_KERS_BOOST_TT"] = + "Rüstet Ihr Fahrzeug mit dem KERS-Boost (Kinetic Energy Recovery System) aus, ähnlich wie bei F1-Autos.", ["SUBTAB_GUI"] = "Benutzeroberfläche", - ["VEH_NO_ENGINE_BRAKE_TT"] = "Ermöglicht das Leerlaufverhalten, ohne dass das Gaspedal betätigt wird, ohne dabei viel Geschwindigkeit einzubüßen.", + ["VEH_NO_ENGINE_BRAKE_TT"] = + "Ermöglicht das Leerlaufverhalten, ohne dass das Gaspedal betätigt wird, ohne dabei viel Geschwindigkeit einzubüßen.", ["VEH_FORCE_NO_TC"] = "Keine Traktionskontrolle", ["VEH_OFFROAD_ABILITIES"] = "Offroad-Fähigkeiten", ["VEH_RALLY_TYRES"] = "Rallye-Reifen", ["VEH_OFFROAD_ABILITIES_TT"] = "Erhöht die Offroad-Fähigkeiten Ihres Fahrzeugs.", ["VEH_RALLY_TYRES_TT"] = "Rüstet Ihr Fahrzeug mit Rallye-Reifen aus, die das Handling im Gelände weiter verbessern.", - ["SELF_LASER_SIGHTS_TT"] = "Ermöglicht Laservisiere für Ihre Schusswaffen. Sie können die Visiere ein- und ausschalten, indem Sie [%s] drücken.", - ["VEH_FORCE_NO_TC_TT"] = "Nur Fahrräder: Zwingt Ihr Fahrzeug dazu, keine Traktionskontrolle zu haben, sodass Sie mit Fahrrädern driften und ins Schleudern geraten können.", - ["VEH_LOW_SPEED_WHEELIE_TT"] = "Nur Fahrräder: Ermöglicht Ihnen, Wheelies bei sehr niedrigen Geschwindigkeiten zu machen, ähnlich wie beim „Manchez“.", + ["SELF_LASER_SIGHTS_TT"] = + "Ermöglicht Laservisiere für Ihre Schusswaffen. Sie können die Visiere ein- und ausschalten, indem Sie [%s] drücken.", + ["VEH_FORCE_NO_TC_TT"] = + "Nur Fahrräder: Zwingt Ihr Fahrzeug dazu, keine Traktionskontrolle zu haben, sodass Sie mit Fahrrädern driften und ins Schleudern geraten können.", + ["VEH_LOW_SPEED_WHEELIE_TT"] = + "Nur Fahrräder: Ermöglicht Ihnen, Wheelies bei sehr niedrigen Geschwindigkeiten zu machen, ähnlich wie beim „Manchez“.", ["VEH_LOW_SPEED_WHEELIE"] = "Low-Speed-Wheelie", ["VEH_ROCKET_BOOST"] = "Raketenschub", ["VEH_JUMP"] = "Sprungfähigkeit", @@ -439,20 +487,24 @@ return { ["VEH_STEER_HANDBRAKE"] = "Handbremslenkung", ["SETTING_WINDOW_MOVEABLE"] = "Bewegliches Fenster", ["SETTINGS_TOOLTIPS"] = "Tooltips deaktivieren", - ["VEH_STEER_HANDBRAKE_TT"] = "Lenkt die Hinterräder Ihres Fahrzeugs, wenn Sie die Handbremse anziehen, ähnlich wie bei Monsterautos.", + ["VEH_STEER_HANDBRAKE_TT"] = + "Lenkt die Hinterräder Ihres Fahrzeugs, wenn Sie die Handbremse anziehen, ähnlich wie bei Monsterautos.", ["SETTING_WINDOW_MOVEABLE_TT"] = "Ermöglicht Ihnen, das Fenster frei zu bewegen", ["SETTINGS_UI_SOUND"] = "Ton-Feedback deaktivieren", ["SETTING_WINDOW_GEOMETRY"] = "Fenstergeometrie", - ["VEH_PARACHUTE_TT"] = "Rüstet Ihr Fahrzeug mit einem Fallschirm aus, ähnlich dem „Ruiner 2000“.\n\nWichtig: Die Sprungfähigkeit muss ebenfalls aktiviert sein.", + ["VEH_PARACHUTE_TT"] = + "Rüstet Ihr Fahrzeug mit einem Fallschirm aus, ähnlich dem „Ruiner 2000“.\n\nWichtig: Die Sprungfähigkeit muss ebenfalls aktiviert sein.", ["VEH_JUMP_TT"] = "Rüstet Ihr Fahrzeug mit einer Sprungfähigkeit aus, ähnlich dem „Ruiner 2000“.", ["SETTING_WINDOW_WIDTH"] = "Fensterbreite", ["SETTING_WINDOW_POS_X"] = "X-Position", ["SETTING_WINDOW_POS_SNAP"] = "An Position einrasten", ["SETTING_WINDOW_STYLE"] = "Fensterstil", ["SETTING_WINDOW_POS_Y"] = "Y-Position", - ["SETTING_WINDOW_POS_TT"] = "Diese dienen nur der Anzeige. Aktivieren Sie „Bewegbares Fenster“ und ziehen Sie dann die obere Leiste, um das Fenster frei zu verschieben.", + ["SETTING_WINDOW_POS_TT"] = + "Diese dienen nur der Anzeige. Aktivieren Sie „Bewegbares Fenster“ und ziehen Sie dann die obere Leiste, um das Fenster frei zu verschieben.", ["SETTING_WINDOW_THEME"] = "Thema", - ["SETTING_WINDOW_HEIGHT_TT"] = "Das Fenster ist dynamisch, die Größe ändert sich vertikal basierend auf dem Inhalt.\n\nMit dieser Option können Sie die maximal zulässige Höhe festlegen.", + ["SETTING_WINDOW_HEIGHT_TT"] = + "Das Fenster ist dynamisch, die Größe ändert sich vertikal basierend auf dem Inhalt.\n\nMit dieser Option können Sie die maximal zulässige Höhe festlegen.", ["SETTING_WINDOW_ALPHA"] = "Fenstertransparenz", ["SETTING_HOTKEY_WAIT"] = "Drücken Sie eine beliebige Taste", ["SETTING_WINDOW_POS_RESET"] = "Position zurücksetzen", @@ -470,13 +522,16 @@ return { ["SELF_KATANA_TT"] = "Ersetzt eines von vier Nahkampfwaffenmodellen Ihrer Wahl durch ein Katana.", ["WRLD_KILL_ALL"] = "Töte alle Feinde", ["WRLD_FLEE_ALL"] = "Erschrecke alle Feinde", - ["WRLD_FLEE_ALL_TT"] = "Läuft in einer 5-Sekunden-Schleife: Zwingt alle Gegner in der Nähe, ihre Waffen fallen zu lassen und aus dem Bereich zu fliehen.", + ["WRLD_FLEE_ALL_TT"] = + "Läuft in einer 5-Sekunden-Schleife: Zwingt alle Gegner in der Nähe, ihre Waffen fallen zu lassen und aus dem Bereich zu fliehen.", ["WRLD_KILL_ALL_TT"] = "Tötet alle Feinde in der Nähe.", ["WRLD_FLEE_ALL_NOTIF"] = "Zwingt Feinde in der Nähe zur Flucht. Bitte warten.", ["WRLD_PUBLIC_ENEMY"] = "Staatsfeind Nr. 1", - ["WRLD_PUBLIC_ENEMY_TT"] = "Alle NPCs in der Nähe werden sich gegen dich verbünden und dir in den Arsch schlagen. Einschließlich Tiere und Polizisten.", + ["WRLD_PUBLIC_ENEMY_TT"] = + "Alle NPCs in der Nähe werden sich gegen dich verbünden und dir in den Arsch schlagen. Einschließlich Tiere und Polizisten.", ["GENERIC_IMPORTANT"] = "Wichtig", - ["GUI_NEW_LAYOUT_NOTICE"] = "Die Benutzeroberfläche des Skripts ist jetzt unabhängig vom Menü. Drücken Sie %s, um es umzuschalten.", + ["GUI_NEW_LAYOUT_NOTICE"] = + "Die Benutzeroberfläche des Skripts ist jetzt unabhängig vom Menü. Drücken Sie %s, um es umzuschalten.", ["SETTING_HOTKEY_FOUND"] = "Neuer Schlüssel:", ["YRV3_CWASH_CASH_CLEAN"] = "Sauber:", ["YRV3_CWASH_LABEL"] = "Waschanlage", @@ -489,5 +544,6 @@ return { ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Deaktivieren Sie die Abklingzeit für illegale Arbeit", ["YRV3_CWASH_LEGAL_WORK_CD"] = "Deaktivieren Sie die Abklingzeit für legale Arbeit", ["SELF_MC_BIKE_ANIMS"] = "Aktivieren Sie den MC-Fahrstil", - ["SELF_MC_BIKE_ANIMS_TT"] = "Stellt die alternativen Fahrradfahranimationen wieder her, die aus irgendeinem Grund deaktiviert waren. Damit diese Animationen funktionieren, müssen Sie als MC registriert sein und diese Option aktiviert haben." + ["SELF_MC_BIKE_ANIMS_TT"] = + "Stellt die alternativen Fahrradfahranimationen wieder her, die aus irgendeinem Grund deaktiviert waren. Damit diese Animationen funktionieren, müssen Sie als MC registriert sein und diese Option aktiviert haben." } diff --git a/includes/lib/translations/en-US.lua b/includes/lib/translations/en-US.lua index 3c4a9da..926ee59 100644 --- a/includes/lib/translations/en-US.lua +++ b/includes/lib/translations/en-US.lua @@ -88,6 +88,7 @@ return { ["GENERIC_NOT_IN_VEH"] = "You are not in a vehicle.", ["GENERIC_NOT_IN_PLANE"] = "You are not in an aircraft.", ["GENERIC_NOT_IN_COMBAT"] = "You are not in combat with anyone.", + ["GENERIC_CARS_ONLY"] = "This feature is only compatible with cars and trucks.", --#endregion --#region CasinoPacino @@ -403,7 +404,6 @@ return { ["VEH_SEAT_NEXT"] = "Next Seat", ["VEH_ENGINE_SWAP"] = "Engine Swap", ["VEH_ENGINE_SWAP_SAME_ERR"] = "Your vehicle already has this engine.", - ["VEH_ENGINE_SWAP_INCOMPATIBE"] = "This feature is only compatible with cars and trucks.", ["VEH_PAINT_NOTE"] = "Colors look different on game shaders.", ["VEH_PAINT_FILTER_TXT"] = "Filter By: ", ["VEH_PAINT_FILTER_ALL"] = "All", diff --git a/includes/lib/translations/es-ES.lua b/includes/lib/translations/es-ES.lua index 94c824e..ebcfdfd 100644 --- a/includes/lib/translations/es-ES.lua +++ b/includes/lib/translations/es-ES.lua @@ -25,12 +25,14 @@ return { ["VEH_DRIFT_SMOKE_TT"] = "Aumenta la cantidad de humo que generan sus neumáticos al derrapar o quemarse.", ["VEH_NO_JET_STALL"] = "Desactivar el motor calado", ["VEH_FAST_JETS"] = "Aviones rápidos", - ["VEH_NO_JET_STALL_TT"] = "Los motores de los aviones ya no se detendrán cuando mantengas presionado el botón del freno.", + ["VEH_NO_JET_STALL_TT"] = + "Los motores de los aviones ya no se detendrán cuando mantengas presionado el botón del freno.", ["VEH_NO_TURBULENCE"] = "Turbulencia de aire discapacitada", ["VEH_MG_TRIGGERBOT"] = "Robot disparador de ametralladora", ["VEH_MG_TRIGGERBOT_RANGE"] = "Alcance del robot disparador", ["VEH_MG_TRIGGERBOT_ENEMY"] = "Sólo enemigos", - ["VEH_FAST_JETS_TT"] = "Hace que la mayoría de los aviones sean más rápidos siempre que puedan alcanzar los 240 km/h de forma predeterminada, su velocidad máxima aumentará a 555 km/h.\n\nLos aviones más lentos como el Duster no se benefician de esto a menos que los obligues a alcanzar el umbral de velocidad en picada.\n\nNOTA: Su equipo (ruedas del avión) debe estar arriba.", + ["VEH_FAST_JETS_TT"] = + "Hace que la mayoría de los aviones sean más rápidos siempre que puedan alcanzar los 240 km/h de forma predeterminada, su velocidad máxima aumentará a 555 km/h.\n\nLos aviones más lentos como el Duster no se benefician de esto a menos que los obligues a alcanzar el umbral de velocidad en picada.\n\nNOTA: Su equipo (ruedas del avión) debe estar arriba.", ["VEH_MG_TRIGGERBOT_ENEMY_TT"] = "El robot disparador de ametralladora solo dispara a los enemigos.", ["VEH_MG_TRIGGERBOT_TT"] = "Dispara automáticamente la ametralladora de tu avión.", ["VEH_MG_MANUAL_AIM"] = "Objetivo manual de ametralladora", @@ -49,34 +51,44 @@ return { ["WRLD_CARPOOL"] = "Compartir coche", ["WRLD_CARPOOL_TT"] = "Te permite subir a vehículos NPC como pasajero.", ["FLTBD_TOWING_TXT"] = "Vehículo remolcado:", - ["VEH_FLARES_TT"] = "Le permite desplegar bengalas desde cualquier avión usando el botón de contramedidas predeterminado.", - ["WRLD_HNS_TT"] = "Le permite esconderse dentro de vehículos, baúles o contenedores de basura. Si tienes un nivel de búsqueda, la policía te perderá siempre que te escondas antes de ser descubierto.", + ["VEH_FLARES_TT"] = + "Le permite desplegar bengalas desde cualquier avión usando el botón de contramedidas predeterminado.", + ["WRLD_HNS_TT"] = + "Le permite esconderse dentro de vehículos, baúles o contenedores de basura. Si tienes un nivel de búsqueda, la policía te perderá siempre que te escondas antes de ser descubierto.", ["FLTBD_MAIN_CB"] = "Habilitar secuencia de comandos", ["FLTBD_SHOW_TOWPOS_CB"] = "Mostrar posición de remolque", - ["YAV3_STOP_BTN_HINT"] = "CONSEJO: Puedes presionar %s para detener la reproducción de cualquier acción o mantenerlo presionado durante un segundo para limpiar todo.", + ["YAV3_STOP_BTN_HINT"] = + "CONSEJO: Puedes presionar %s para detener la reproducción de cualquier acción o mantenerlo presionado durante un segundo para limpiar todo.", ["WRLD_EXTEND_BOUNDS_TT"] = "Le permite viajar más lejos en el mundo en cualquier dirección.", ["FLTBD_SHOW_TOWBOX_CB"] = "Caja ESP", ["FLTBD_TOW_ALL_CB"] = "remolcar todo", ["FLTBD_SHOW_TOWBOX_TT"] = "Dibuja un cuadro especial alrededor del vehículo objetivo.", ["FLTBD_TOW_BTN"] = "Remolcar", ["FLTBD_SHOW_TOWPOS_TT"] = "Marca la posición en la que el script detecta vehículos cercanos.", - ["FLTBD_ADJUST_POS_TT"] = "Para que las flechas tengan sentido, mueve la cámara del juego hacia la derecha. (Mira a la derecha)", + ["FLTBD_ADJUST_POS_TT"] = + "Para que las flechas tengan sentido, mueve la cámara del juego hacia la derecha. (Mira a la derecha)", ["FLTBD_FAST_ADJUST_TXT"] = "Mantenga presionado [SHIFT] para moverse más rápido.", ["FLTBD_ADJUST_POS_TXT"] = "Ajustar la posición del vehículo", ["FLTBD_EXIT_VEH_ERR"] = "Salga de su vehículo actual primero.", ["FLTBD_NO_VEH_TXT"] = "No se encontraron vehículos cercanos.", ["FLTBD_CARS_ONLY_ERR"] = "Sólo puedes remolcar coches, camiones y bicicletas.", - ["FLTBD_TOW_ALL_TT"] = "Por defecto, el camión sólo remolca coches, camiones y bicicletas. Esta opción elimina esa limitación.", + ["FLTBD_TOW_ALL_TT"] = + "Por defecto, el camión sólo remolca coches, camiones y bicicletas. Esta opción elimina esa limitación.", ["SETTINGS_CFG_RESET"] = "Restablecer configuración guardada", ["FLTBD_SAME_NOT_ALLOWED_ERR"] = "No se puede remolcar otro camión de plataforma.", ["FLTBD_NEARBY_VEH_TXT"] = "Vehículo más cercano:", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Opcional: elija los elementos de configuración que desea conservar.", - ["FTLBD_GET_IN_MSG"] = "Actualmente no estás en un camión de plataforma. Puedes robar uno de la calle o usar el botón de abajo para generar uno nuevo.", + ["FTLBD_GET_IN_MSG"] = + "Actualmente no estás en un camión de plataforma. Puedes robar uno de la calle o usar el botón de abajo para generar uno nuevo.", ["SETTINGS_ENTITY_REPLACE"] = "Entidades de reemplazo automático", - ["SETTINGS_ENTITY_REPLACE_TT"] = "Este proyecto tiene un límite en la cantidad de entidades que puedes generar (peds, vehículos, objetos). Todas las funciones cumplen con ese límite para evitar spam de entidades o ahogar el juego. Esta opción permite que el script reemplace automáticamente las entidades generadas antiguas una vez que alcance el límite para un determinado tipo de entidad e intente generar una nueva.", - ["WARN_PED_SPAWN_LIMIT"] = "¡Se alcanzó el límite de generación de ped! Considere habilitar 'Reemplazar automáticamente entidades' en la pestaña Configuración si desea reemplazar automáticamente entidades antiguas cuando alcance el límite.", - ["WARN_VEH_SPAWN_LIMIT"] = "¡Se alcanzó el límite de generación de vehículos! Considere habilitar 'Reemplazar automáticamente entidades' en la pestaña Configuración si desea reemplazar automáticamente entidades antiguas cuando alcance el límite.", - ["WARN_OBJ_SPAWN_LIMIT"] = "¡Se alcanzó el límite de generación de objetos! Considere habilitar 'Reemplazar automáticamente entidades' en la pestaña Configuración si desea reemplazar automáticamente entidades antiguas cuando alcance el límite.", + ["SETTINGS_ENTITY_REPLACE_TT"] = + "Este proyecto tiene un límite en la cantidad de entidades que puedes generar (peds, vehículos, objetos). Todas las funciones cumplen con ese límite para evitar spam de entidades o ahogar el juego. Esta opción permite que el script reemplace automáticamente las entidades generadas antiguas una vez que alcance el límite para un determinado tipo de entidad e intente generar una nueva.", + ["WARN_PED_SPAWN_LIMIT"] = + "¡Se alcanzó el límite de generación de ped! Considere habilitar 'Reemplazar automáticamente entidades' en la pestaña Configuración si desea reemplazar automáticamente entidades antiguas cuando alcance el límite.", + ["WARN_VEH_SPAWN_LIMIT"] = + "¡Se alcanzó el límite de generación de vehículos! Considere habilitar 'Reemplazar automáticamente entidades' en la pestaña Configuración si desea reemplazar automáticamente entidades antiguas cuando alcance el límite.", + ["WARN_OBJ_SPAWN_LIMIT"] = + "¡Se alcanzó el límite de generación de objetos! Considere habilitar 'Reemplazar automáticamente entidades' en la pestaña Configuración si desea reemplazar automáticamente entidades antiguas cuando alcance el límite.", ["INF_ATTACHMENT_NONE"] = "No parece haber nada apegado a nosotros.", ["GENERIC_LEFT_RIGHT_LABEL"] = "Izquierda/Derecha", ["GENERIC_COLORS_LABEL"] = "Bandera", @@ -84,7 +96,8 @@ return { ["GENERIC_OPTIONS_LABEL"] = "Opciones", ["GENERIC_POSITION_LABEL"] = "Posición", ["GENERIC_UNAVAILABLE"] = "Actualmente no disponible.", - ["GENERIC_OFFLINE_OR_OUTDATED"] = "¡Debe estar en línea y tener la última versión del script para acceder a esta función!", + ["GENERIC_OFFLINE_OR_OUTDATED"] = + "¡Debe estar en línea y tener la última versión del script para acceder a esta función!", ["GENERIC_CANCEL"] = "Cancelar", ["GENERIC_CONFIRM"] = "Confirmar", ["GENERIC_RESET"] = "Reiniciar", @@ -118,7 +131,8 @@ return { ["CP_CARD_HEARTS"] = "Copas", ["CP_CARD_DIAMONDS"] = "diamantes", ["CP_CARD_SPADES"] = "Espadas", - ["CP_COOLDOWN_BYPASS_TOOLTIP"] = "Desactiva el tiempo de reutilización del casino y puede resultar en una prohibición. Úselo bajo su propio riesgo.", + ["CP_COOLDOWN_BYPASS_TOOLTIP"] = + "Desactiva el tiempo de reutilización del casino y puede resultar en una prohibición. Úselo bajo su propio riesgo.", ["CP_COOLDOWN_BYPASS_STATUS"] = "Estado:", ["CP_COOLDOWN_BYPASS_ENABLE"] = "Habilitar omisión", ["CP_COOLDOWN_BYPASS_STATUS_OFF"] = "Fuera de tiempo de reutilización", @@ -220,7 +234,8 @@ return { ["YRV3_INCOME_APPROX_MC"] = "Ingresos comerciales totales aproximados de MC", ["YRV3_PRICE_NOTICE"] = "Los precios pueden ser más altos dependiendo de las actualizaciones comerciales.", ["YRV3_CLUB_WORK_CB"] = "Trabajo del club de motociclistas", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Siempre genera las misiones del club nocturno alborotador y desactiva las misiones VIP eliminadas.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = + "Siempre genera las misiones del club nocturno alborotador y desactiva las misiones VIP eliminadas.", ["YRV3_FINISH_SOURCE_MISSION_TT"] = "Inicie una misión fuente y luego presione este botón para finalizarla.", ["YRV3_HANGAR_STEAL_CB"] = "Robo de cajas de hangar", ["YRV3_CEO_BUY_CB"] = "Compra de caja del CEO", @@ -231,12 +246,15 @@ return { ["YRV3_DAX_WORK_CB"] = "Trabajo Dax", ["YRV3_CFR_CD_CB"] = "Asalto a una fábrica de pollos", ["YRV3_IE_VEH_STEAL_CB"] = "Abastecimiento de vehículos I/E", - ["YRV3_SEXY_SHINABI_NOTICE"] = "Utilice el script Payphone Hits de ShinyWasabi en su lugar.\nPresione [TAB] para copiar el enlace de GitHub.", - ["YRV3_SELL_MISSIONS_TT"] = "Estas opciones no se guardarán. Cada botón desactiva las misiones de venta más tediosas para ese negocio.", + ["YRV3_SEXY_SHINABI_NOTICE"] = + "Utilice el script Payphone Hits de ShinyWasabi en su lugar.\nPresione [TAB] para copiar el enlace de GitHub.", + ["YRV3_SELL_MISSIONS_TT"] = + "Estas opciones no se guardarán. Cada botón desactiva las misiones de venta más tediosas para ese negocio.", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Nota: Solo se admiten estas empresas:", ["YRV3_SELL_MISSIONS_NOTIF"] = "Deshabilitadas las misiones de venta de %s más molestas.", ["YRV3_CB_CHECK_ALL"] = "Verificar todo", - ["YRV3_SELL_MISSIONS_NOTE"] = "[NOTA]: Si planeas vender más de una vez para el mismo negocio, cambia de sesión después de finalizar la primera venta para restablecer las misiones; de lo contrario, es muy probable que no se inicie una segunda.", + ["YRV3_SELL_MISSIONS_NOTE"] = + "[NOTA]: Si planeas vender más de una vez para el mismo negocio, cambia de sesión después de finalizar la primera venta para restablecer las misiones; de lo contrario, es muy probable que no se inicie una segunda.", ["YRV3_CB_UNCHECK_ALL"] = "Desmarcar todo", ["YRV3_SELL_MISSIONS_LABEL"] = "Vender Misiones", ["YRV3_IE_VEH_SELL_CB"] = "Venta de vehículos I/E", @@ -248,7 +266,8 @@ return { ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "Laboratorio de ácido", ["YRV3_AUTO_FILL_DELAY"] = "Retraso de autocompletar global:", ["YRV3_AUTOSELL_CURRENT"] = "Actualmente vendiendo: %s", - ["YRV3_AUTOSELL_TT"] = "Finaliza automáticamente una misión de venta 20 segundos después de su inicio. No requiere que interactúes con nada más que comenzar la misión.", + ["YRV3_AUTOSELL_TT"] = + "Finaliza automáticamente una misión de venta 20 segundos después de su inicio. No requiere que interactúes con nada más que comenzar la misión.", ["SELF_AUTOHEAL"] = "Curación automática", ["YRV3_MCT_TITLE"] = "Terminal de control maestro", ["YRV3_INCOME_APPROX_ALL_TT"] = "Pase por todas las pestañas para actualizar el monto total.", @@ -263,16 +282,21 @@ return { ["SELF_ACTION_MODE_TT"] = "Desactiva el movimiento loco del jugador durante el combate.", ["SELF_HEADPROPS"] = "Permitir accesorios para la cabeza en vehículos", ["SELF_CROUCH"] = "Agacharse", - ["SELF_HEADPROPS_TT"] = "Evita que el juego te quite el equipo para la cabeza (gorras, cascos, cortes largos, etc.) al entrar a un vehículo.", + ["SELF_HEADPROPS_TT"] = + "Evita que el juego te quite el equipo para la cabeza (gorras, cascos, cortes largos, etc.) al entrar a un vehículo.", ["SELF_HANDS_UP"] = "Manos arriba", - ["SELF_LOCKPICK_ANIM_TT"] = "Aumenta la posibilidad de utilizar la animación de abrir cerraduras al robar vehículos en lugar de romper la ventana.", + ["SELF_LOCKPICK_ANIM_TT"] = + "Aumenta la posibilidad de utilizar la animación de abrir cerraduras al robar vehículos en lugar de romper la ventana.", ["SELF_STAND_ON_VEHS"] = "Pararse sobre vehículos", ["SELF_NO_CARJACKING"] = "Sin robo de auto", ["SELF_SPRINT_INSIDE"] = "Interiores interiores de Sprint", - ["SELF_NO_CARJACKING_TT"] = "Evita que los NPC te roben el auto. También debería prevenir a los jugadores (no probado contra jugadores).", + ["SELF_NO_CARJACKING_TT"] = + "Evita que los NPC te roben el auto. También debería prevenir a los jugadores (no probado contra jugadores).", ["SELF_CROUCH_TT"] = "Te hace agacharte cuando presionas el botón sigiloso, similar a GTA San Andreas.", - ["SELF_STAND_ON_VEHS_TT"] = "Evita que hagas un muñeco de trapo cuando estás parado encima de un vehículo (aún te caerás si golpeas algo).", - ["SELF_HANDS_UP_TT"] = "Reemplaza la acción 'Apuntar a' en GTA Online (predeterminada [B] en el teclado) con una animación de rendición.", + ["SELF_STAND_ON_VEHS_TT"] = + "Evita que hagas un muñeco de trapo cuando estás parado encima de un vehículo (aún te caerás si golpeas algo).", + ["SELF_HANDS_UP_TT"] = + "Reemplaza la acción 'Apuntar a' en GTA Online (predeterminada [B] en el teclado) con una animación de rendición.", ["SELF_REGEN_SPEED"] = "Velocidad de regeneración de salud", ["SELF_ROD"] = "Muñeca de trapo a pedido", ["SELF_LOCKPICK_ANIM"] = "Animación de ganzúa", @@ -287,14 +311,17 @@ return { ["SELF_RAGDOLL_SOUND_TT"] = "Tu personaje en línea emitirá un sonido de pánico cuando haga muñecos de trapo.", ["VEH_FAST_AF_TT"] = "Aumenta la velocidad máxima de cualquier vehículo terrestre que conduzcas.", ["VEH_NOS_PURGE"] = "Purga NOS", - ["VEH_NOS_PURGE_TT"] = "Presione la combinación de teclas asignada (predeterminada [X]) para realizar una purga NOS estilo 2Fast 2Furious.", + ["VEH_NOS_PURGE_TT"] = + "Presione la combinación de teclas asignada (predeterminada [X]) para realizar una purga NOS estilo 2Fast 2Furious.", ["VEH_NOS"] = "NOS", - ["VEH_ABS_LIGHTS_TT"] = "Enciende las luces de freno al frenar a alta velocidad. Sólo para vehículos equipados con ABS.", + ["VEH_ABS_LIGHTS_TT"] = + "Enciende las luces de freno al frenar a alta velocidad. Sólo para vehículos equipados con ABS.", ["VEH_ABS_LIGHTS"] = "Visualización de la fuerza de frenado", ["VEH_SUBWOOFER_TT"] = "Hace que los parlantes de su vehículo suenen un poco más alto y tengan graves más profundos.", ["VEH_SUBWOOFER"] = "Gran subwoofer", ["VEH_POPS_N_BANGS"] = "Estallidos y explosiones", - ["VEH_POPS_N_BANGS_TT"] = "Permite fuertes estallidos de escape que se activan cada vez que sueltas el acelerador desde altas RPM. PD: Asusta a los NPC cercanos.", + ["VEH_POPS_N_BANGS_TT"] = + "Permite fuertes estallidos de escape que se activan cada vez que sueltas el acelerador desde altas RPM. PD: Asusta a los NPC cercanos.", ["VEH_HIGH_BEAMS"] = "Luces altas en la bocina", ["VEH_AUTO_BRAKE_LIGHTS"] = "Luces de freno automático", ["VEH_STRONG_WINDOWS"] = "Ventanas irrompibles", @@ -302,21 +329,27 @@ return { ["VEH_HIGH_BEAMS_TT"] = "Enciende tus luces altas cada vez que tocas la bocina", ["VEH_FLAPPY_DOORS"] = "Puertas abatibles", ["VEH_STRONG_CRASH"] = "Choques más fuertes", - ["VEH_STRONG_CRASH_TT"] = "Hace que los choques sean más aterradores con vibraciones de la cámara, efectos de pantalla, más deformaciones y daños. Las colisiones a alta velocidad pueden ser fatales.", - ["VEH_RGB_LIGHTS_TT"] = "Inicia un bucle RGB en los faros de su vehículo. Puede modificar la velocidad en la parte inferior de esta ventana.", - ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Enciende las luces de freno cada vez que estás detenido. (El motor debe estar en marcha).", + ["VEH_STRONG_CRASH_TT"] = + "Hace que los choques sean más aterradores con vibraciones de la cámara, efectos de pantalla, más deformaciones y daños. Las colisiones a alta velocidad pueden ser fatales.", + ["VEH_RGB_LIGHTS_TT"] = + "Inicia un bucle RGB en los faros de su vehículo. Puede modificar la velocidad en la parte inferior de esta ventana.", + ["VEH_AUTO_BRAKE_LIGHTS_TT"] = + "Enciende las luces de freno cada vez que estás detenido. (El motor debe estar en marcha).", ["VEH_FLAPPY_DOORS_TT"] = "No tengo idea de por qué hice esto.", ["VEH_AUTO_LOCK"] = "Bloqueo automático", ["VEH_IV_EXIT"] = "Salida estilo IV", - ["VEH_AUTO_LOCK_TT"] = "Bloquea automáticamente su vehículo cuando se aleja de él y lo desbloquea nuevamente cuando intenta volver a ingresar o cambiar a un vehículo diferente.", + ["VEH_AUTO_LOCK_TT"] = + "Bloquea automáticamente su vehículo cuando se aleja de él y lo desbloquea nuevamente cuando intenta volver a ingresar o cambiar a un vehículo diferente.", ["VEH_LAUNCH_CTRL"] = "Control de lanzamiento", ["VEH_RGB_LIGHTS"] = "Faros RGB", ["VEH_LAUNCH_CTRL_TT"] = "Simula el control de lanzamiento. Sólo disponible para autos de alto rendimiento.", - ["VEH_IV_EXIT_TT"] = "Imita el estilo de salida del vehículo de GTA IV: mantén presionado [F] durante un segundo para apagar el motor o presiona normalmente para dejarlo funcionando.", + ["VEH_IV_EXIT_TT"] = + "Imita el estilo de salida del vehículo de GTA IV: mantén presionado [F] durante un segundo para apagar el motor o presiona normalmente para dejarlo funcionando.", ["VEH_MINES"] = "Minas de vehículos", ["VEH_KEEP_WHEELS_TURNED"] = "Mantenga las ruedas en marcha", ["VEH_SPEED_UNIT"] = "Unidad de velocidad", - ["VEH_KEEP_WHEELS_TURNED_TT"] = "Evita que tu personaje jugador vuelva a centrar las ruedas al salir de un vehículo al teletransportarte afuera.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = + "Evita que tu personaje jugador vuelva a centrar las ruedas al salir de un vehículo al teletransportarte afuera.", ["VEH_SPEED_CIRCLE"] = "Círculo", ["VEH_MINES_TT"] = "Te permite lanzar una mina desde cualquier vehículo terrestre.", ["VEH_SPEED_BG"] = "Fondo", @@ -354,14 +387,15 @@ return { ["VEH_PAINT_PRIMARY_CB"] = "Como Primaria", ["VEH_PAINT_SECONDARY_CB"] = "Como secundario", ["VEH_PAINT_NOT_SELECTED_ERR"] = "Seleccione primaria o secundaria o ambas.", - ["VEH_PAINT_SAVE_TT"] = "Para guardar este color en un vehículo personal, vaya a una tienda de modificaciones y compre algo como tinte para ventanas o estilo de placa o cualquier cosa.", + ["VEH_PAINT_SAVE_TT"] = + "Para guardar este color en un vehículo personal, vaya a una tienda de modificaciones y compre algo como tinte para ventanas o estilo de placa o cualquier cosa.", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "Retraso entre jugadas", ["VEH_COBRA_MANEUVER_NOT_LEVEL"] = "Primero nivele su avión.", ["VEH_COBRA_MANEUVER_TT"] = "Presiona [X] en el teclado para realizar una maniobra Cobra. Sólo disponible para jets.", ["VEH_COBRA_MANEUVER_TOO_lOW"] = "¡Tu altitud actual es demasiado baja para realizar una maniobra Cobra!", ["VEH_COBRA_MANEUVER_TOO_SlOW"] = "¡Tu velocidad actual es demasiado baja para realizar una maniobra Cobra!", ["VEH_COBRA_MANEUVER"] = "Maniobra de cobra", - ["VEH_ENGINE_SWAP_INCOMPATIBE"] = "Esta función sólo es compatible con automóviles y camionetas.", + ["GENERIC_CARS_ONLY"] = "Esta función sólo es compatible con automóviles y camionetas.", ["VEH_COBRA_MANEUVER_INTERRUPT"] = "¡La maniobra Cobra fue interrumpida! Devolver el control al jugador.", ["VEH_COBRA_MANEUVER_CANCEL"] = "Realizando maniobra de cobra. Presione [CTRL] para cancelar y recuperar el control.", ["GENERIC_REMOVE"] = "Eliminar", @@ -399,22 +433,27 @@ return { ["EF_SAVED_NONE"] = "No tienes ninguna creación guardada.", ["EF_NEW_NAME_HINT"] = "NOTA: Todo se eliminará una vez que guarde. Puedes generar tu creación más tarde.", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "¡Tu portapapeles está vacío!", - ["EF_ENTITY_GUN_TT"] = "Apunta tu arma a una entidad en el mundo del juego y presiona [E] para agregarla al grupo de forja. Una vez agregado, podrás usar el mouse para moverlo y manipularlo.", + ["EF_ENTITY_GUN_TT"] = + "Apunta tu arma a una entidad en el mundo del juego y presiona [E] para agregarla al grupo de forja. Una vez agregado, podrás usar el mouse para moverlo y manipularlo.", ["EF_IMPORT_DATA_CLIPBOARD"] = "Pegar desde el portapapeles", - ["EF_IMPORT_DATA_NOTICE"] = "Tienes una creación con el mismo nombre. Se ha agregado una etiqueta [importar] al nombre. Aún puedes cambiarle el nombre más tarde.", - ["EF_SHARE_SUCCESS"] = "Tu creación guardada se copió al portapapeles. Si comparte los datos copiados con otros usuarios de este script, podrán importarlos a sus creaciones guardadas.", + ["EF_IMPORT_DATA_NOTICE"] = + "Tienes una creación con el mismo nombre. Se ha agregado una etiqueta [importar] al nombre. Aún puedes cambiarle el nombre más tarde.", + ["EF_SHARE_SUCCESS"] = + "Tu creación guardada se copió al portapapeles. Si comparte los datos copiados con otros usuarios de este script, podrán importarlos a sus creaciones guardadas.", ["EF_CHILD_ALPHA"] = "Transparencia del elemento secundario: %d", ["EF_IMPORT_SUCCESS"] = "Datos importados exitosamente.", ["SELF_MAGIC_BULLET"] = "bala mágica", ["GENERIC_USE"] = "Usar", - ["SELF_MAGIC_BULLET_TT"] = "Esta función no apunta ni dispara automáticamente. Simplemente recuerda el último ped al que apuntaste y redirige tu disparo a ese ped cuando disparas, incluso si disparas a otro lugar. El objetivo se reinicia cuando dejas de apuntar.", + ["SELF_MAGIC_BULLET_TT"] = + "Esta función no apunta ni dispara automáticamente. Simplemente recuerda el último ped al que apuntaste y redirige tu disparo a ese ped cuando disparas, incluso si disparas a otro lugar. El objetivo se reinicia cuando dejas de apuntar.", ["GENERIC_APPLY"] = "Aplicar", ["SUBTAB_GUI"] = "Interfaz de usuario", ["GENERIC_GENERAL_LABEL"] = "General", ["GENERIC_CLEAR"] = "Claro", ["SUBTAB_HANDLING_EDITOR"] = "Editor de manejo", ["SELF_LASER_SIGHTS"] = "Miras láser", - ["SELF_LASER_SIGHTS_TT"] = "Habilita miras láser en sus armas de fuego. Puedes activar y desactivar las miras presionando [%s]", + ["SELF_LASER_SIGHTS_TT"] = + "Habilita miras láser en sus armas de fuego. Puedes activar y desactivar las miras presionando [%s]", ["SELF_LASER_SIGHTS_LENGTH"] = "Longitud del rayo láser", ["SELF_LASER_SIGHTS_COL"] = "Color láser", ["VEH_NO_ENGINE_BRAKE_TT"] = "Te permite deslizarte cuando no pisas el acelerador sin perder tanta velocidad.", @@ -425,21 +464,26 @@ return { ["VEH_RALLY_TYRES_TT"] = "Equipa su vehículo con neumáticos de rallye que mejoran aún más el manejo todoterreno.", ["VEH_OFFROAD_ABILITIES"] = "Habilidades todoterreno", ["VEH_OFFROAD_ABILITIES_TT"] = "Aumenta las capacidades todoterreno de su vehículo.", - ["VEH_KERS_BOOST_TT"] = "Equipa su vehículo con impulso KERS (Sistema de recuperación de energía cinética), similar a los autos de F1.", - ["VEH_FORCE_NO_TC_TT"] = "Solo bicicletas: obliga a tu vehículo a no tener control de tracción, lo que te permite hacer derrapes y derrapes con bicicletas.", + ["VEH_KERS_BOOST_TT"] = + "Equipa su vehículo con impulso KERS (Sistema de recuperación de energía cinética), similar a los autos de F1.", + ["VEH_FORCE_NO_TC_TT"] = + "Solo bicicletas: obliga a tu vehículo a no tener control de tracción, lo que te permite hacer derrapes y derrapes con bicicletas.", ["VEH_ROCKET_BOOST"] = "Impulso de cohete", ["VEH_PARACHUTE"] = "Capacidad de paracaídas", ["VEH_LOW_SPEED_WHEELIE"] = "Caballito de baja velocidad", ["VEH_JUMP"] = "Capacidad de salto", ["VEH_JUMP_TT"] = "Equipa tu vehículo con capacidad de salto, similar al 'Ruiner 2000'.", - ["VEH_PARACHUTE_TT"] = "Equipa tu vehículo con un paracaídas, similar al 'Ruiner 2000'.\n\nImportante: la capacidad de salto también debe estar habilitada.", - ["VEH_LOW_SPEED_WHEELIE_TT"] = "Solo bicicletas: te permite hacer caballitos a velocidades muy bajas, similar al 'Manchez'.", + ["VEH_PARACHUTE_TT"] = + "Equipa tu vehículo con un paracaídas, similar al 'Ruiner 2000'.\n\nImportante: la capacidad de salto también debe estar habilitada.", + ["VEH_LOW_SPEED_WHEELIE_TT"] = + "Solo bicicletas: te permite hacer caballitos a velocidades muy bajas, similar al 'Manchez'.", ["VEH_ROCKET_BOOST_TT"] = "Equipa tu vehículo con un propulsor de cohete, similar al 'Vigilante'.", ["VEH_STEER_ALL_WHEELS"] = "Dirección en todas las ruedas", ["VEH_STEER_HANDBRAKE"] = "Freno de mano", ["SETTINGS_TOOLTIPS"] = "Deshabilitar información sobre herramientas", ["SETTING_WINDOW_GEOMETRY"] = "Geometría de la ventana", - ["VEH_STEER_HANDBRAKE_TT"] = "Dirige las ruedas traseras de tu vehículo cuando mantienes el freno de mano, similar a los autos monstruosos.", + ["VEH_STEER_HANDBRAKE_TT"] = + "Dirige las ruedas traseras de tu vehículo cuando mantienes el freno de mano, similar a los autos monstruosos.", ["SETTING_WINDOW_MOVEABLE"] = "Ventana móvil", ["SETTING_WINDOW_POS_Y"] = "Posición Y", ["SETTINGS_LANGUAGE"] = "Idioma", @@ -450,13 +494,15 @@ return { ["SETTING_WINDOW_POS_SNAP"] = "Ajustar a posición", ["SETTING_WINDOW_STYLE"] = "Estilo de ventana", ["SETTING_WINDOW_THEME"] = "Tema", - ["SETTING_WINDOW_HEIGHT_TT"] = "La ventana es dinámica, cambia de tamaño verticalmente según el contenido.\n\nEsta opción le permite establecer la altura máxima permitida.", + ["SETTING_WINDOW_HEIGHT_TT"] = + "La ventana es dinámica, cambia de tamaño verticalmente según el contenido.\n\nEsta opción le permite establecer la altura máxima permitida.", ["SETTING_WINDOW_HEIGHT"] = "Altura máxima de la ventana", ["SETTINGS_UI_SOUND"] = "Deshabilitar la respuesta sonora", ["SETTING_WINDOW_ALPHA"] = "Transparencia de ventana", ["SETTING_WINDOW_POS_RESET"] = "Restablecer posición", ["SETTING_WINDOW_ACCENT_COL"] = "Color de acento", - ["SETTING_WINDOW_POS_TT"] = "Estos son sólo de visualización. Habilite 'Ventana móvil' y luego arrastre la barra superior para mover libremente la ventana.", + ["SETTING_WINDOW_POS_TT"] = + "Estos son sólo de visualización. Habilite 'Ventana móvil' y luego arrastre la barra superior para mover libremente la ventana.", ["SETTING_WINDOW_TOP_FRAME_BG"] = "Degradado del botón de la barra superior", ["SETTINGS_KEYBINDS_CONTROLLER"] = "Controlador", ["SETTINGS_KEYBINDS_KEYBOARD"] = "Teclado", @@ -466,7 +512,8 @@ return { ["SELF_KATANA"] = "Katana", ["GENERIC_NOT_IN_COMBAT"] = "No estás en combate con nadie.", ["SELF_KATANA_REPLACE_MODEL"] = "Modelo a reemplazar", - ["WRLD_FLEE_ALL_TT"] = "Se ejecuta en un bucle de 5 segundos: obliga a todos los enemigos cercanos a soltar sus armas y huir del área.", + ["WRLD_FLEE_ALL_TT"] = + "Se ejecuta en un bucle de 5 segundos: obliga a todos los enemigos cercanos a soltar sus armas y huir del área.", ["SELF_KATANA_TT"] = "Reemplaza uno de los cuatro modelos de armas cuerpo a cuerpo que elijas con una Katana.", ["WRLD_KILL_ALL_TT"] = "Mata a todos los enemigos cercanos.", ["WRLD_KILL_ALL_NOTIF"] = "Ejecutado 'Matar a todos los enemigos'", @@ -474,9 +521,11 @@ return { ["WRLD_FLEE_ALL"] = "Asusta a todos los enemigos", ["WRLD_FLEE_ALL_NOTIF"] = "Obligando a los enemigos cercanos a huir. Espere por favor.", ["WRLD_PUBLIC_ENEMY"] = "Enemigo público n.° 1", - ["WRLD_PUBLIC_ENEMY_TT"] = "Todos los NPC cercanos se unirán contra ti y te golpearán el trasero. Incluyendo animales y policías.", + ["WRLD_PUBLIC_ENEMY_TT"] = + "Todos los NPC cercanos se unirán contra ti y te golpearán el trasero. Incluyendo animales y policías.", ["GENERIC_IMPORTANT"] = "Importante", - ["GUI_NEW_LAYOUT_NOTICE"] = "La interfaz de usuario del script ahora es independiente del menú. Presione %s para alternarlo.", + ["GUI_NEW_LAYOUT_NOTICE"] = + "La interfaz de usuario del script ahora es independiente del menú. Presione %s para alternarlo.", ["SETTING_HOTKEY_FOUND"] = "Nueva clave:", ["YRV3_CWASH_CASH_CLEAN"] = "Limpio:", ["YRV3_CWASH_LABEL"] = "Lavado de autos", @@ -485,7 +534,8 @@ return { ["YRV3_CWASH_NOT_OWNED"] = "No eres dueño de un negocio de lavado de autos.", ["YRV3_CWASH_CASH_DIRTY"] = "Sucio:", ["SELF_MC_BIKE_ANIMS"] = "Habilitar estilo de conducción MC", - ["SELF_MC_BIKE_ANIMS_TT"] = "Restaura las animaciones alternativas de andar en bicicleta que se desactivaron por algún motivo. Debes estar registrado como MC y tener esta opción habilitada para que estas animaciones funcionen.", + ["SELF_MC_BIKE_ANIMS_TT"] = + "Restaura las animaciones alternativas de andar en bicicleta que se desactivaron por algún motivo. Debes estar registrado como MC y tener esta opción habilitada para que estas animaciones funcionen.", ["YRV3_CWASH_WORK_EARNINGS"] = "Ganancias laborales:", ["YRV3_WEED_SHOP_LABEL"] = "Tienda de marihuana", ["YRV3_HELITOURS_LABEL"] = "Helitours Higgins", diff --git a/includes/lib/translations/fr-FR.lua b/includes/lib/translations/fr-FR.lua index c5b40d1..5bef488 100644 --- a/includes/lib/translations/fr-FR.lua +++ b/includes/lib/translations/fr-FR.lua @@ -30,7 +30,8 @@ return { ["VEH_DRIFT_SMOKE_TT"] = "Augmente la quantité de fumée générée par vos pneus lors d'une dérive ou d'un burnout.", ["VEH_MG_TRIGGERBOT_RANGE"] = "Gamme Triggerbot", ["VEH_MG_TRIGGERBOT_TT"] = "Tire automatiquement la mitrailleuse de votre avion.", - ["VEH_FAST_JETS_TT"] = "Rend la plupart des avions plus rapides tant qu'ils peuvent atteindre 240 km/h par défaut, leur vitesse maximale sera augmentée à 555 km/h.\n\nLes avions plus lents comme le Duster n'en bénéficient pas à moins que vous ne les fassiez atteindre de force le seuil de vitesse en plongeant du nez.\n\nREMARQUE : votre équipement (roues d'avion) ​​doit être relevé.", + ["VEH_FAST_JETS_TT"] = + "Rend la plupart des avions plus rapides tant qu'ils peuvent atteindre 240 km/h par défaut, leur vitesse maximale sera augmentée à 555 km/h.\n\nLes avions plus lents comme le Duster n'en bénéficient pas à moins que vous ne les fassiez atteindre de force le seuil de vitesse en plongeant du nez.\n\nREMARQUE : votre équipement (roues d'avion) ​​doit être relevé.", ["VEH_MG_TRIGGERBOT_ENEMY_TT"] = "Le déclencheur de mitrailleuse ne tire que sur les ennemis.", ["VEH_MG_TRIGGERBOT"] = "Robot déclencheur de mitrailleuse", ["VEH_SEAT_PREV"] = "Siège précédent", @@ -41,11 +42,13 @@ return { ["VEH_FLARES"] = "Contre-mesures contre les fusées éclairantes", ["VEH_SEAT_NEXT"] = "Siège suivant", ["VEH_AUTOPILOT"] = "Pilote automatique", - ["VEH_FLARES_TT"] = "Vous permet de déployer des fusées éclairantes depuis n'importe quel avion en utilisant le bouton de contre-mesures par défaut.", + ["VEH_FLARES_TT"] = + "Vous permet de déployer des fusées éclairantes depuis n'importe quel avion en utilisant le bouton de contre-mesures par défaut.", ["WRLD_WANTED_MUSIC"] = "Désactiver la musique recherchée", ["WRLD_EXTEND_BOUNDS"] = "Élargir les frontières du monde", ["WRLD_FLIGHT_MUSIC"] = "Désactiver la musique de vol", - ["WRLD_HNS_TT"] = "Vous permet de vous cacher à l’intérieur des véhicules, des coffres de voitures ou des poubelles. Si vous avez un niveau de recherche, la police vous perdra tant que vous vous cacherez avant d'être repéré.", + ["WRLD_HNS_TT"] = + "Vous permet de vous cacher à l’intérieur des véhicules, des coffres de voitures ou des poubelles. Si vous avez un niveau de recherche, la police vous perdra tant que vous vous cacherez avant d'être repéré.", ["WRLD_CARPOOL"] = "Covoiturage", ["WRLD_DISABLE_WAVES"] = "Désactiver les vagues de l'océan", ["VEH_MG_MANUAL_AIM_TT"] = "Vous permet de viser manuellement la mitrailleuse de votre avion.", @@ -57,30 +60,39 @@ return { ["FLTBD_SHOW_TOWBOX_CB"] = "Boite ESP", ["FLTBD_TOWING_TXT"] = "Véhicule remorqué :", ["FLTBD_SHOW_TOWPOS_TT"] = "Marque la position à laquelle le script détecte les véhicules à proximité.", - ["YAV3_STOP_BTN_HINT"] = "CONSEIL : Vous pouvez appuyer sur %s pour arrêter de jouer une action ou la maintenir enfoncée pendant une seconde pour tout nettoyer.", + ["YAV3_STOP_BTN_HINT"] = + "CONSEIL : Vous pouvez appuyer sur %s pour arrêter de jouer une action ou la maintenir enfoncée pendant une seconde pour tout nettoyer.", ["FLTBD_TOW_BTN"] = "Remorquer", ["FLTBD_TOW_ALL_CB"] = "Remorquer tout", ["FLTBD_ADJUST_POS_TXT"] = "Ajuster la position du véhicule", ["FLTBD_FAST_ADJUST_TXT"] = "Maintenez [SHIFT] pour vous déplacer plus rapidement.", ["FLTBD_EXIT_VEH_ERR"] = "Quittez d’abord votre véhicule actuel.", ["FLTBD_SAME_NOT_ALLOWED_ERR"] = "Vous ne pouvez pas remorquer un autre camion à plateau.", - ["FLTBD_ADJUST_POS_TT"] = "Pour que les flèches aient un sens, déplacez la caméra de jeu vers la droite. (Regarde à droite)", - ["FLTBD_TOW_ALL_TT"] = "Par défaut, le camion ne remorque que des voitures, des camions et des vélos. Cette option supprime cette limitation.", + ["FLTBD_ADJUST_POS_TT"] = + "Pour que les flèches aient un sens, déplacez la caméra de jeu vers la droite. (Regarde à droite)", + ["FLTBD_TOW_ALL_TT"] = + "Par défaut, le camion ne remorque que des voitures, des camions et des vélos. Cette option supprime cette limitation.", ["FLTBD_CARS_ONLY_ERR"] = "Vous ne pouvez remorquer que des voitures, des camions et des vélos.", ["FLTBD_NO_VEH_TXT"] = "Aucun véhicule à proximité trouvé.", - ["FTLBD_GET_IN_MSG"] = "Vous n'êtes actuellement pas dans un camion à plateau. Vous pouvez en voler un dans la rue ou utiliser le bouton ci-dessous pour en générer un nouveau.", + ["FTLBD_GET_IN_MSG"] = + "Vous n'êtes actuellement pas dans un camion à plateau. Vous pouvez en voler un dans la rue ou utiliser le bouton ci-dessous pour en générer un nouveau.", ["SETTINGS_CFG_RESET"] = "Réinitialiser la configuration enregistrée", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Facultatif : Choisissez les éléments de configuration à conserver.", ["SETTINGS_ENTITY_REPLACE"] = "Entités de remplacement automatique", ["FLTBD_NEARBY_VEH_TXT"] = "Véhicule le plus proche :", - ["SETTINGS_ENTITY_REPLACE_TT"] = "Ce projet a une limite au nombre d'entités que vous pouvez générer (pédiatres, véhicules, objets). Toutes les fonctionnalités respectent cette limite pour éviter le spam d'entité ou l'étouffement du jeu. Cette option permet au script de remplacer automatiquement les anciennes entités générées une fois que vous atteignez la limite pour un certain type d'entité et que vous essayez d'en générer une nouvelle.", - ["GENERIC_OFFLINE_OR_OUTDATED"] = "Vous devez être en ligne et disposer de la dernière version du script pour accéder à cette fonctionnalité !", + ["SETTINGS_ENTITY_REPLACE_TT"] = + "Ce projet a une limite au nombre d'entités que vous pouvez générer (pédiatres, véhicules, objets). Toutes les fonctionnalités respectent cette limite pour éviter le spam d'entité ou l'étouffement du jeu. Cette option permet au script de remplacer automatiquement les anciennes entités générées une fois que vous atteignez la limite pour un certain type d'entité et que vous essayez d'en générer une nouvelle.", + ["GENERIC_OFFLINE_OR_OUTDATED"] = + "Vous devez être en ligne et disposer de la dernière version du script pour accéder à cette fonctionnalité !", ["GENERIC_UNAVAILABLE"] = "Actuellement indisponible.", ["GENERIC_OPTIONS_LABEL"] = "Possibilités", - ["WARN_VEH_SPAWN_LIMIT"] = "Limite d'apparition de véhicules atteinte ! Pensez à activer « Remplacement automatique des entités » dans l'onglet Paramètres si vous souhaitez remplacer automatiquement les anciennes entités lorsque vous atteignez la limite.", - ["WARN_PED_SPAWN_LIMIT"] = "Limite d'apparition de Ped atteinte ! Pensez à activer « Remplacement automatique des entités » dans l'onglet Paramètres si vous souhaitez remplacer automatiquement les anciennes entités lorsque vous atteignez la limite.", + ["WARN_VEH_SPAWN_LIMIT"] = + "Limite d'apparition de véhicules atteinte ! Pensez à activer « Remplacement automatique des entités » dans l'onglet Paramètres si vous souhaitez remplacer automatiquement les anciennes entités lorsque vous atteignez la limite.", + ["WARN_PED_SPAWN_LIMIT"] = + "Limite d'apparition de Ped atteinte ! Pensez à activer « Remplacement automatique des entités » dans l'onglet Paramètres si vous souhaitez remplacer automatiquement les anciennes entités lorsque vous atteignez la limite.", ["INF_ATTACHMENT_DROP"] = "Pièces jointes supprimées.", - ["WARN_OBJ_SPAWN_LIMIT"] = "Limite d'apparition d'objets atteinte ! Pensez à activer « Remplacement automatique des entités » dans l'onglet Paramètres si vous souhaitez remplacer automatiquement les anciennes entités lorsque vous atteignez la limite.", + ["WARN_OBJ_SPAWN_LIMIT"] = + "Limite d'apparition d'objets atteinte ! Pensez à activer « Remplacement automatique des entités » dans l'onglet Paramètres si vous souhaitez remplacer automatiquement les anciennes entités lorsque vous atteignez la limite.", ["GENERIC_LEFT_RIGHT_LABEL"] = "Gauche/Droite", ["GENERIC_UP_DOWN_LABEL"] = "Haut/Bas", ["GENERIC_POSITION_LABEL"] = "Position", @@ -126,7 +138,8 @@ return { ["CP_COOLDOWN_BYPASS_STATUS_OFF"] = "Hors temps de recharge", ["CP_POKER_FORCE_ROYAL_FLUSH"] = "Forcer toutes les mains des joueurs à Royal Flush", ["CP_POKER_FORCE_BAD_BEAT"] = "Forcer la main du croupier à « Bad Beat »", - ["CP_COOLDOWN_BYPASS_TOOLTIP"] = "Désactive le temps de recharge du casino, peut entraîner un bannissement. Utilisez à vos propres risques.", + ["CP_COOLDOWN_BYPASS_TOOLTIP"] = + "Désactive le temps de recharge du casino, peut entraîner un bannissement. Utilisez à vos propres risques.", ["CP_COOLDOWN_BYPASS_STATUS_FORMAT"] = "Temps de recharge de %.2f minute(s).", ["CP_BLACKJACK_DEALER_FACE_DOWN_CARD"] = "Carte face cachée du croupier :", ["CP_BLACKJACK_FORCE_DEALER_BUST"] = "Forcer le concessionnaire à faire faillite", @@ -220,7 +233,8 @@ return { ["YRV3_CLUB_WORK_CB"] = "Travail du club de moto", ["YRV3_NC_MANAGMENT_CB"] = "Gestion de discothèque", ["YRV3_HANGAR_STEAL_CB"] = "Vol de caisse de hangar", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Génère toujours les missions de boîte de nuit fauteurs de troubles et désactive les missions VIP éliminées.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = + "Génère toujours les missions de boîte de nuit fauteurs de troubles et désactive les missions VIP éliminées.", ["YRV3_POPULARITY_NOTIF"] = "La popularité des boîtes de nuit a augmenté.", ["YRV3_NC_CHANCE_ENCOUNTER_CB"] = "Toujours un fauteur de troubles", ["YRV3_CEO_SELL_CB"] = "Vente de caisse PDG", @@ -237,18 +251,22 @@ return { ["YRV3_CB_CHECK_ALL"] = "Tout vérifier", ["YRV3_CB_UNCHECK_ALL"] = "Décocher tout", ["YRV3_AUTOSELL_BUNKER_LABEL"] = "Bunker", - ["YRV3_SEXY_SHINABI_NOTICE"] = "Utilisez plutôt le script Payphone Hits de ShinyWasabi.\nAppuyez sur [TAB] pour copier le lien GitHub.", + ["YRV3_SEXY_SHINABI_NOTICE"] = + "Utilisez plutôt le script Payphone Hits de ShinyWasabi.\nAppuyez sur [TAB] pour copier le lien GitHub.", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Remarque : Seules ces entreprises sont prises en charge :", - ["YRV3_SELL_MISSIONS_TT"] = "Ces options ne seront pas enregistrées. Chaque bouton désactive les missions de vente les plus fastidieuses pour cette entreprise.", + ["YRV3_SELL_MISSIONS_TT"] = + "Ces options ne seront pas enregistrées. Chaque bouton désactive les missions de vente les plus fastidieuses pour cette entreprise.", ["YRV3_SELL_MISSIONS_NOTIF"] = "Désactivation des missions de vente %s les plus ennuyeuses.", - ["YRV3_SELL_MISSIONS_NOTE"] = "[REMARQUE] : Si vous envisagez de vendre plus d'une fois pour la même entreprise, veuillez changer de session après avoir terminé la première vente pour réinitialiser les missions, sinon une seconde ne démarrera probablement pas.", + ["YRV3_SELL_MISSIONS_NOTE"] = + "[REMARQUE] : Si vous envisagez de vendre plus d'une fois pour la même entreprise, veuillez changer de session après avoir terminé la première vente pour réinitialiser les missions, sinon une seconde ne démarrera probablement pas.", ["YRV3_AUTOSELL_CEO_LABEL"] = "Entrepôts du PDG", ["YRV3_AUTO_SELL_MANUAL"] = "Terminer manuellement la vente", ["YRV3_AUTOSELL_HANGAR_LABEL"] = "Hangar (Air seulement)", ["YRV3_HANGAR_LAND_ERR"] = "Le hangar et les ventes ne sont actuellement pas pris en charge.", ["YRV3_AUTOSELL_BIKER_LABEL"] = "Entreprises de motards", ["YRV3_MCT_TITLE"] = "Terminal de contrôle principal", - ["YRV3_AUTOSELL_TT"] = "Termine automatiquement une mission de vente 20 secondes après son début. Ne nécessite pas d'interaction avec autre chose que le début de la mission.", + ["YRV3_AUTOSELL_TT"] = + "Termine automatiquement une mission de vente 20 secondes après son début. Ne nécessite pas d'interaction avec autre chose que le début de la mission.", ["YRV3_MCT_UNAVAIL"] = "Le terminal de contrôle principal n'est pas disponible pour le moment.", ["YRV3_AUTO_FILL_DELAY"] = "Délai global de remplissage automatique :", ["SELF_AUTOHEAL"] = "Réparation automatique", @@ -264,17 +282,23 @@ return { ["SELF_PHONE_ANIMS_TT"] = "Restaure les animations du téléphone mobile dans GTA Online.", ["SELF_STAND_ON_VEHS"] = "Se tenir sur les véhicules", ["SELF_PHONE_ANIMS"] = "Activer les animations téléphoniques", - ["SELF_HEADPROPS_TT"] = "Empêche le jeu de retirer votre casque (chapeaux, casques, longs harcuts, etc.) lorsque vous entrez dans un véhicule.", + ["SELF_HEADPROPS_TT"] = + "Empêche le jeu de retirer votre casque (chapeaux, casques, longs harcuts, etc.) lorsque vous entrez dans un véhicule.", ["SELF_HANDS_UP"] = "Haut les mains", ["SELF_NO_CARJACKING"] = "Pas de détournement de voiture", - ["SELF_NO_CARJACKING_TT"] = "Empêche les PNJ de vous pirater. Cela devrait également empêcher les joueurs (non testé contre les joueurs).", - ["SELF_STAND_ON_VEHS_TT"] = "Vous empêche de vous déplacer lorsque vous vous tenez au sommet d'un véhicule (vous tomberez quand même si vous heurtez quelque chose).", - ["SELF_CROUCH_TT"] = "Vous fait vous accroupir lorsque vous appuyez sur le bouton furtif, similaire à GTA San Andreas.", + ["SELF_NO_CARJACKING_TT"] = + "Empêche les PNJ de vous pirater. Cela devrait également empêcher les joueurs (non testé contre les joueurs).", + ["SELF_STAND_ON_VEHS_TT"] = + "Vous empêche de vous déplacer lorsque vous vous tenez au sommet d'un véhicule (vous tomberez quand même si vous heurtez quelque chose).", + ["SELF_CROUCH_TT"] = + "Vous fait vous accroupir lorsque vous appuyez sur le bouton furtif, similaire à GTA San Andreas.", ["SELF_SPRINT_INSIDE_TT"] = "Vous permet de courir à pleine vitesse dans la plupart des intérieurs (pas dans tous).", ["SELF_SPRINT_INSIDE"] = "Sprint à l’intérieur des intérieurs", - ["SELF_HANDS_UP_TT"] = "Remplace l'action « Pointer sur » dans GTA Online (par défaut [B] sur le clavier) par une animation de reddition.", + ["SELF_HANDS_UP_TT"] = + "Remplace l'action « Pointer sur » dans GTA Online (par défaut [B] sur le clavier) par une animation de reddition.", ["SELF_LOCKPICK_ANIM"] = "Animation de crochetage", - ["SELF_LOCKPICK_ANIM_TT"] = "Augmente les chances d'utiliser l'animation de crochetage lors du vol de véhicules au lieu de briser la vitre.", + ["SELF_LOCKPICK_ANIM_TT"] = + "Augmente les chances d'utiliser l'animation de crochetage lors du vol de véhicules au lieu de briser la vitre.", ["SELF_REGEN_SPEED"] = "Vitesse de régénération de santé", ["SELF_ROD"] = "Ragdoll à la demande", ["SELF_CLUMSY"] = "Maladroit", @@ -290,26 +314,33 @@ return { ["VEH_NOS_PURGE"] = "Purge du SAI", ["VEH_FAST_AF"] = "Véhicules rapides", ["VEH_POPS_N_BANGS"] = "Pops et franges", - ["VEH_NOS_PURGE_TT"] = "Appuyez sur la touche assignée (par défaut [X]) pour effectuer une purge NOS de style 2Fast 2Furious.", + ["VEH_NOS_PURGE_TT"] = + "Appuyez sur la touche assignée (par défaut [X]) pour effectuer une purge NOS de style 2Fast 2Furious.", ["VEH_SUBWOOFER_TT"] = "Rend les haut-parleurs de votre véhicule légèrement plus forts et des basses plus profondes.", ["VEH_HIGH_BEAMS_TT"] = "Faites clignoter vos feux de route chaque fois que vous klaxonnez", - ["VEH_ABS_LIGHTS_TT"] = "Fait clignoter vos feux stop lors d'un freinage à grande vitesse. Uniquement pour les véhicules équipés d'ABS.", + ["VEH_ABS_LIGHTS_TT"] = + "Fait clignoter vos feux stop lors d'un freinage à grande vitesse. Uniquement pour les véhicules équipés d'ABS.", ["VEH_AUTO_BRAKE_LIGHTS"] = "Feux de freinage automatiques", - ["VEH_POPS_N_BANGS_TT"] = "Permet des bruits d'échappement forts qui se déclenchent à chaque fois que vous relâchez l'accélérateur à partir d'un régime élevé. PS : Cela fait peur aux PNJ à proximité.", + ["VEH_POPS_N_BANGS_TT"] = + "Permet des bruits d'échappement forts qui se déclenchent à chaque fois que vous relâchez l'accélérateur à partir d'un régime élevé. PS : Cela fait peur aux PNJ à proximité.", ["VEH_HIGH_BEAMS"] = "Feux de route sur le klaxon", ["VEH_SUBWOOFER"] = "Gros caisson de basses", ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Allume vos feux stop chaque fois que vous êtes arrêté. (Le moteur doit tourner).", ["VEH_STRONG_WINDOWS_TT"] = "Les vitres de votre véhicule ne se briseront jamais. À moins d'exploser, bien sûr.", ["VEH_STRONG_WINDOWS"] = "Fenêtres incassables", ["VEH_STRONG_CRASH"] = "Des accidents plus forts", - ["VEH_STRONG_CRASH_TT"] = "Rend les accidents plus effrayants avec des secousses de came, des effets d'écran, davantage de déformations et de dégâts. Les collisions à grande vitesse peuvent être mortelles.", + ["VEH_STRONG_CRASH_TT"] = + "Rend les accidents plus effrayants avec des secousses de came, des effets d'écran, davantage de déformations et de dégâts. Les collisions à grande vitesse peuvent être mortelles.", ["VEH_RGB_LIGHTS"] = "Phares RVB", - ["VEH_RGB_LIGHTS_TT"] = "Démarre une boucle RVB sur les phares de votre véhicule. Vous pouvez modifier la vitesse en bas de cette fenêtre.", - ["VEH_AUTO_LOCK_TT"] = "Verrouille automatiquement votre véhicule lorsque vous vous en éloignez et le déverrouille à nouveau lorsque vous essayez d'y entrer à nouveau ou de passer à un autre véhicule.", + ["VEH_RGB_LIGHTS_TT"] = + "Démarre une boucle RVB sur les phares de votre véhicule. Vous pouvez modifier la vitesse en bas de cette fenêtre.", + ["VEH_AUTO_LOCK_TT"] = + "Verrouille automatiquement votre véhicule lorsque vous vous en éloignez et le déverrouille à nouveau lorsque vous essayez d'y entrer à nouveau ou de passer à un autre véhicule.", ["VEH_FLAPPY_DOORS_TT"] = "Je n'ai aucune idée de pourquoi j'ai fait ça.", ["VEH_LAUNCH_CTRL"] = "Contrôle de lancement", ["VEH_AUTO_LOCK"] = "Verrouillage automatique", - ["VEH_KEEP_WHEELS_TURNED_TT"] = "Empêche votre personnage joueur de recentrer les roues en sortant d'un véhicule en vous téléportant à l'extérieur.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = + "Empêche votre personnage joueur de recentrer les roues en sortant d'un véhicule en vous téléportant à l'extérieur.", ["VEH_KEEP_WHEELS_TURNED"] = "Gardez les roues tournées", ["VEH_IV_EXIT"] = "Sortie de style IV", ["VEH_SPEED_BG"] = "Arrière-plan", @@ -317,7 +348,8 @@ return { ["VEH_MINES"] = "Mines de véhicules", ["VEH_LAUNCH_CTRL_TT"] = "Simule le contrôle de lancement. Uniquement disponible pour les voitures de performance.", ["VEH_FLAPPY_DOORS"] = "Portes battantes", - ["VEH_IV_EXIT_TT"] = "Imite le style de sortie du véhicule de GTA IV : maintenez [F] pendant une seconde pour éteindre le moteur ou appuyez normalement pour le laisser tourner.", + ["VEH_IV_EXIT_TT"] = + "Imite le style de sortie du véhicule de GTA IV : maintenez [F] pendant une seconde pour éteindre le moteur ou appuyez normalement pour le laisser tourner.", ["VEH_MINES_TT"] = "Vous permet de larguer une mine depuis n'importe quel véhicule terrestre.", ["VEH_SPEED_UNIT"] = "Unité de vitesse", ["VEH_SPEED_TEXT"] = "Texte", @@ -354,16 +386,19 @@ return { ["VEH_PAINT_FILTER_ALL"] = "Tous", ["VEH_PAINT_SECONDARY_CB"] = "Comme secondaire", ["VEH_PAINT_NOT_SELECTED_ERR"] = "Veuillez sélectionner primaire ou secondaire ou les deux.", - ["VEH_PAINT_SAVE_TT"] = "Pour enregistrer cette couleur sur un véhicule personnel, rendez-vous dans un magasin de mods et achetez quelque chose comme une teinte de vitre ou un style de plaque ou quoi que ce soit.", + ["VEH_PAINT_SAVE_TT"] = + "Pour enregistrer cette couleur sur un véhicule personnel, rendez-vous dans un magasin de mods et achetez quelque chose comme une teinte de vitre ou un style de plaque ou quoi que ce soit.", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "Délai entre les lectures", ["VEH_COBRA_MANEUVER_TOO_SlOW"] = "Votre vitesse actuelle est trop faible pour effectuer une manœuvre Cobra !", - ["VEH_COBRA_MANEUVER_TT"] = "Appuyez sur [X] sur le clavier pour effectuer une manœuvre Cobra. Uniquement disponible pour les jets.", + ["VEH_COBRA_MANEUVER_TT"] = + "Appuyez sur [X] sur le clavier pour effectuer une manœuvre Cobra. Uniquement disponible pour les jets.", ["VEH_COBRA_MANEUVER"] = "Manœuvre du Cobra", ["VEH_COBRA_MANEUVER_TOO_lOW"] = "Votre altitude actuelle est trop basse pour effectuer une manœuvre Cobra !", ["VEH_COBRA_MANEUVER_NOT_LEVEL"] = "Veuillez d'abord mettre votre jet à niveau.", ["VEH_COBRA_MANEUVER_INTERRUPT"] = "La manœuvre Cobra a été interrompue ! Redonner le contrôle au joueur.", - ["VEH_ENGINE_SWAP_INCOMPATIBE"] = "Cette fonctionnalité n'est compatible qu'avec les voitures et les camions.", - ["VEH_COBRA_MANEUVER_CANCEL"] = "Effectuer une manœuvre de cobra. Appuyez sur [CTRL] pour annuler et reprendre le contrôle.", + ["GENERIC_CARS_ONLY"] = "Cette fonctionnalité n'est compatible qu'avec les voitures et les camions.", + ["VEH_COBRA_MANEUVER_CANCEL"] = + "Effectuer une manœuvre de cobra. Appuyez sur [CTRL] pour annuler et reprendre le contrôle.", ["GENERIC_SAVE"] = "Sauvegarder", ["GENERIC_LOAD"] = "Charger", ["GENERIC_ADD"] = "Ajouter", @@ -390,7 +425,8 @@ return { ["VEH_DRIFT_MINIGAME_NEW_PB"] = "Nouveau record personnel atteint !", ["VEH_DRIFT_MINIGAME_SOUND_OPT_TT"] = "Jouer un son lorsque vous marquez des points", ["EF_NAME_EXISTS_ERR"] = "Ce nom existe déjà. Veuillez en choisir un autre.", - ["EF_NEW_NAME_HINT"] = "REMARQUE : Tout sera supprimé une fois que vous aurez enregistré. Vous pourrez générer votre création plus tard.", + ["EF_NEW_NAME_HINT"] = + "REMARQUE : Tout sera supprimé une fois que vous aurez enregistré. Vous pourrez générer votre création plus tard.", ["EF_SAVED_NONE"] = "Vous n'avez aucune création enregistrée.", ["EF_ROTATE_OBJECT"] = "Faire pivoter l'objet :", ["EF_MOVE_OBJECT"] = "Déplacer l'objet :", @@ -399,21 +435,27 @@ return { ["EF_ENTITY_GUN"] = "Pistolet d'entité", ["EF_IMPORT_DATA_INSTR"] = "Collez les données de Forge ici :", ["EF_CHILD_ALPHA"] = "Transparence de l'élément enfant : %d", - ["EF_IMPORT_DATA_NOTICE"] = "Vous disposez d'une création du même nom. Une balise [import] a été ajoutée au nom. Vous pourrez toujours le renommer plus tard.", - ["EF_SHARE_SUCCESS"] = "Votre création enregistrée a été copiée dans le presse-papiers. Si vous partagez les données copiées avec d'autres utilisateurs de ce script, ils pourront les importer dans leurs créations enregistrées.", - ["EF_ENTITY_GUN_TT"] = "Dirigez votre arme vers une entité dans le monde du jeu et appuyez sur [E] pour l'ajouter au pool de forge. Une fois ajouté, vous pourrez utiliser votre souris pour le déplacer et le manipuler.", + ["EF_IMPORT_DATA_NOTICE"] = + "Vous disposez d'une création du même nom. Une balise [import] a été ajoutée au nom. Vous pourrez toujours le renommer plus tard.", + ["EF_SHARE_SUCCESS"] = + "Votre création enregistrée a été copiée dans le presse-papiers. Si vous partagez les données copiées avec d'autres utilisateurs de ce script, ils pourront les importer dans leurs créations enregistrées.", + ["EF_ENTITY_GUN_TT"] = + "Dirigez votre arme vers une entité dans le monde du jeu et appuyez sur [E] pour l'ajouter au pool de forge. Une fois ajouté, vous pourrez utiliser votre souris pour le déplacer et le manipuler.", ["EF_IMPORT_SUCCESS"] = "Données importées avec succès.", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "Votre presse-papiers est vide !", ["EF_IMPORT_DATA_CLIPBOARD"] = "Coller à partir du presse-papiers", ["SELF_MAGIC_BULLET"] = "Balle magique", ["GENERIC_USE"] = "Utiliser", - ["SELF_MAGIC_BULLET_TT"] = "Cette fonctionnalité ne vise ni ne tire automatiquement. Il se souvient simplement du dernier pilier que vous avez visé et redirige votre tir vers ce pilier lorsque vous tirez, même si vous tirez ailleurs. La cible se réinitialise lorsque vous arrêtez de viser.", + ["SELF_MAGIC_BULLET_TT"] = + "Cette fonctionnalité ne vise ni ne tire automatiquement. Il se souvient simplement du dernier pilier que vous avez visé et redirige votre tir vers ce pilier lorsque vous tirez, même si vous tirez ailleurs. La cible se réinitialise lorsque vous arrêtez de viser.", ["GENERIC_APPLY"] = "Appliquer", ["GENERIC_CLEAR"] = "Clair", ["SUBTAB_GUI"] = "Interface utilisateur", ["GENERIC_GENERAL_LABEL"] = "Général", - ["VEH_RALLY_TYRES_TT"] = "Equipe votre véhicule de pneus rallye qui améliorent encore la tenue de route tout-terrain.", - ["VEH_NO_ENGINE_BRAKE_TT"] = "Vous permet de rouler en roue libre lorsque vous n’appuyez pas sur l’accélérateur sans perdre autant de vitesse.", + ["VEH_RALLY_TYRES_TT"] = + "Equipe votre véhicule de pneus rallye qui améliorent encore la tenue de route tout-terrain.", + ["VEH_NO_ENGINE_BRAKE_TT"] = + "Vous permet de rouler en roue libre lorsque vous n’appuyez pas sur l’accélérateur sans perdre autant de vitesse.", ["VEH_KERS_BOOST"] = "Boost KERS", ["VEH_RALLY_TYRES"] = "Pneus Rallye", ["SELF_LASER_SIGHTS_LENGTH"] = "Longueur du rayon laser", @@ -421,16 +463,21 @@ return { ["SELF_LASER_SIGHTS"] = "Viseur laser", ["VEH_OFFROAD_ABILITIES"] = "Capacités tout-terrain", ["VEH_OFFROAD_ABILITIES_TT"] = "Augmente les capacités tout-terrain de votre véhicule.", - ["VEH_KERS_BOOST_TT"] = "Équipe votre véhicule du boost KERS (Kinetic Energy Recovery System), similaire aux voitures de F1.", - ["SELF_LASER_SIGHTS_TT"] = "Permet des vues laser sur vos armes à feu. Vous pouvez activer et désactiver les viseurs en appuyant sur [%s]", + ["VEH_KERS_BOOST_TT"] = + "Équipe votre véhicule du boost KERS (Kinetic Energy Recovery System), similaire aux voitures de F1.", + ["SELF_LASER_SIGHTS_TT"] = + "Permet des vues laser sur vos armes à feu. Vous pouvez activer et désactiver les viseurs en appuyant sur [%s]", ["SUBTAB_HANDLING_EDITOR"] = "Éditeur de manipulation", ["SELF_LASER_SIGHTS_COL"] = "Couleur laser", - ["VEH_FORCE_NO_TC_TT"] = "Vélos uniquement : oblige votre véhicule à ne pas avoir de contrôle de traction, ce qui vous permet de faire des dérives et des dérapages avec des vélos.", + ["VEH_FORCE_NO_TC_TT"] = + "Vélos uniquement : oblige votre véhicule à ne pas avoir de contrôle de traction, ce qui vous permet de faire des dérives et des dérapages avec des vélos.", ["VEH_FORCE_NO_TC"] = "Pas de contrôle de traction", ["VEH_LOW_SPEED_WHEELIE"] = "Wheelie à basse vitesse", ["VEH_ROCKET_BOOST_TT"] = "Equipe votre véhicule avec un boost de fusée, similaire au « Vigilante ».", - ["VEH_LOW_SPEED_WHEELIE_TT"] = "Vélos uniquement : vous permet de faire des wheelies à très basse vitesse, comme le \"Manchez\".", - ["VEH_PARACHUTE_TT"] = "Equipe votre véhicule d'un parachute, similaire au \"Ruiner 2000\".\n\nImportant : la capacité de saut doit également être activée.", + ["VEH_LOW_SPEED_WHEELIE_TT"] = + "Vélos uniquement : vous permet de faire des wheelies à très basse vitesse, comme le \"Manchez\".", + ["VEH_PARACHUTE_TT"] = + "Equipe votre véhicule d'un parachute, similaire au \"Ruiner 2000\".\n\nImportant : la capacité de saut doit également être activée.", ["VEH_ROCKET_BOOST"] = "Boost de fusée", ["VEH_JUMP_TT"] = "Équipe votre véhicule d'une capacité de saut, similaire au « Ruiner 2000 ».", ["VEH_STEER_ALL_WHEELS"] = "Toutes roues directrices", @@ -446,14 +493,17 @@ return { ["SETTING_WINDOW_WIDTH"] = "Largeur de la fenêtre", ["SETTING_WINDOW_POS_SNAP"] = "Accrocher à la position", ["VEH_STEER_REAR_WHEELS"] = "Direction des roues arrière", - ["VEH_STEER_HANDBRAKE_TT"] = "Dirige les roues arrière de votre véhicule lorsque vous tenez le frein à main, comme les voitures monstres.", + ["VEH_STEER_HANDBRAKE_TT"] = + "Dirige les roues arrière de votre véhicule lorsque vous tenez le frein à main, comme les voitures monstres.", ["SETTING_WINDOW_POS_Y"] = "Position Y", ["VEH_STEER_HANDBRAKE"] = "Direction du frein à main", ["SETTING_WINDOW_STYLE"] = "Style de fenêtre", - ["SETTING_WINDOW_POS_TT"] = "Ce sont uniquement des affichages. Activez « Fenêtre mobile », puis faites glisser la barre supérieure pour déplacer librement la fenêtre.", + ["SETTING_WINDOW_POS_TT"] = + "Ce sont uniquement des affichages. Activez « Fenêtre mobile », puis faites glisser la barre supérieure pour déplacer librement la fenêtre.", ["SETTING_WINDOW_HEIGHT"] = "Hauteur maximale de la fenêtre", ["SETTINGS_TOOLTIPS"] = "Désactiver les info-bulles", - ["SETTING_WINDOW_HEIGHT_TT"] = "La fenêtre est dynamique, elle se redimensionne verticalement en fonction du contenu.\n\nCette option vous permet de définir la hauteur maximale autorisée.", + ["SETTING_WINDOW_HEIGHT_TT"] = + "La fenêtre est dynamique, elle se redimensionne verticalement en fonction du contenu.\n\nCette option vous permet de définir la hauteur maximale autorisée.", ["SETTING_WINDOW_THEME"] = "Thème", ["SETTINGS_KEYBINDS"] = "Raccourcis clavier", ["SETTING_WINDOW_ACCENT_COL"] = "Couleur d'accentuation", @@ -470,14 +520,17 @@ return { ["WRLD_KILL_ALL_TT"] = "Tue tous les ennemis proches.", ["WRLD_KILL_ALL_NOTIF"] = "Exécuté « Tuer tous les ennemis »", ["SELF_KATANA"] = "Katana", - ["WRLD_FLEE_ALL_TT"] = "Fonctionne en boucle de 5 secondes : oblige tous les ennemis à proximité à lâcher leurs armes et à fuir la zone.", + ["WRLD_FLEE_ALL_TT"] = + "Fonctionne en boucle de 5 secondes : oblige tous les ennemis à proximité à lâcher leurs armes et à fuir la zone.", ["SELF_KATANA_TT"] = "Remplace l'un des quatre modèles d'armes de mêlée de votre choix par un Katana.", ["WRLD_FLEE_ALL"] = "Effrayer tous les ennemis", ["WRLD_PUBLIC_ENEMY"] = "Ennemi public n°1", - ["WRLD_PUBLIC_ENEMY_TT"] = "Tous les PNJ à proximité se ligueront contre vous et vous botteront le cul. Y compris les animaux et les flics.", + ["WRLD_PUBLIC_ENEMY_TT"] = + "Tous les PNJ à proximité se ligueront contre vous et vous botteront le cul. Y compris les animaux et les flics.", ["GENERIC_IMPORTANT"] = "Important", ["SETTING_HOTKEY_FOUND"] = "Nouvelle clé :", - ["GUI_NEW_LAYOUT_NOTICE"] = "L'interface utilisateur du script est désormais indépendante du menu. Appuyez sur %s pour l'activer.", + ["GUI_NEW_LAYOUT_NOTICE"] = + "L'interface utilisateur du script est désormais indépendante du menu. Appuyez sur %s pour l'activer.", ["YRV3_CWASH_CASH_CLEAN"] = "Faire le ménage:", ["YRV3_CWASH_CASH_DIRTY"] = "Sale:", ["SELF_MC_BIKE_ANIMS"] = "Activer le style de conduite MC", @@ -488,6 +541,7 @@ return { ["YRV3_CWASH_HEAT"] = "Niveau de chaleur :", ["YRV3_HELITOURS_LABEL"] = "Higgins Hélitours", ["YRV3_WEED_SHOP_LABEL"] = "Magasin de mauvaises herbes", - ["SELF_MC_BIKE_ANIMS_TT"] = "Restaure les animations alternatives de conduite de vélo qui ont été désactivées pour une raison quelconque. Vous devez être enregistré en tant que MC et activer cette option pour que ces animations fonctionnent.", + ["SELF_MC_BIKE_ANIMS_TT"] = + "Restaure les animations alternatives de conduite de vélo qui ont été désactivées pour une raison quelconque. Vous devez être enregistré en tant que MC et activer cette option pour que ces animations fonctionnent.", ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Désactiver le temps de recharge du travail illégal" } diff --git a/includes/lib/translations/it-IT.lua b/includes/lib/translations/it-IT.lua index 8b52e89..7475710 100644 --- a/includes/lib/translations/it-IT.lua +++ b/includes/lib/translations/it-IT.lua @@ -23,7 +23,8 @@ return { ["GENERIC_SPAWN"] = "Generare", ["VEH_NO_JET_STALL_TT"] = "I motori degli aerei non si fermeranno più quando si tiene premuto il pulsante del freno.", ["VEH_MG_TRIGGERBOT_RANGE"] = "Gamma Triggerbot", - ["VEH_FAST_JETS_TT"] = "Rende la maggior parte degli aerei più veloci fintanto che possono raggiungere i 240 Km/h per impostazione predefinita, la loro velocità massima sarà aumentata a 555 Km/h.\n\nGli aerei più lenti come lo spolverino non ne beneficiano a meno che non li costringi a raggiungere con la forza la soglia di velocità tuffandosi dal muso.\n\nNOTA: il tuo equipaggiamento (ruote dell'aereo) deve essere alzato.", + ["VEH_FAST_JETS_TT"] = + "Rende la maggior parte degli aerei più veloci fintanto che possono raggiungere i 240 Km/h per impostazione predefinita, la loro velocità massima sarà aumentata a 555 Km/h.\n\nGli aerei più lenti come lo spolverino non ne beneficiano a meno che non li costringi a raggiungere con la forza la soglia di velocità tuffandosi dal muso.\n\nNOTA: il tuo equipaggiamento (ruote dell'aereo) deve essere alzato.", ["VEH_AUTOPILOT"] = "Autopilota", ["VEH_NO_TURBULENCE"] = "Turbolenza dell'aria disabilitata", ["VEH_NO_JET_STALL"] = "Disabilita lo stallo del motore", @@ -39,7 +40,8 @@ return { ["VEH_MG_TRIGGERBOT_ENEMY"] = "Solo nemici", ["VEH_MG_MANUAL_AIM"] = "Mira manuale della mitragliatrice", ["VEH_FLARES"] = "Contromisure per i fuochi d'artificio", - ["VEH_FLARES_TT"] = "Ti consente di lanciare razzi da qualsiasi aereo utilizzando il pulsante di contromisure predefinito.", + ["VEH_FLARES_TT"] = + "Ti consente di lanciare razzi da qualsiasi aereo utilizzando il pulsante di contromisure predefinito.", ["WRLD_HNS"] = "Nascondino", ["VEH_SEAT_NEXT"] = "Il prossimo posto", ["VEH_SEAT_PREV"] = "Posto precedente", @@ -52,8 +54,10 @@ return { ["WRLD_CARPOOL"] = "Car pooling", ["FLTBD_TOWING_TXT"] = "Veicolo rimorchiato:", ["FLTBD_SHOW_TOWPOS_CB"] = "Mostra la posizione di traino", - ["WRLD_HNS_TT"] = "Ti consente di nasconderti all'interno di veicoli, bagagliai o bidoni della spazzatura. Se hai un livello di ricercato, la polizia ti perderà fintanto che ti nascondi prima di essere individuato.", - ["YAV3_STOP_BTN_HINT"] = "SUGGERIMENTO: puoi premere %s per interrompere l'esecuzione di qualsiasi azione o tenerlo premuto per un secondo per pulire tutto.", + ["WRLD_HNS_TT"] = + "Ti consente di nasconderti all'interno di veicoli, bagagliai o bidoni della spazzatura. Se hai un livello di ricercato, la polizia ti perderà fintanto che ti nascondi prima di essere individuato.", + ["YAV3_STOP_BTN_HINT"] = + "SUGGERIMENTO: puoi premere %s per interrompere l'esecuzione di qualsiasi azione o tenerlo premuto per un secondo per pulire tutto.", ["FLTBD_TOW_BTN"] = "Trainare", ["WRLD_CARPOOL_TT"] = "Ti permette di salire sui veicoli NPC come passeggero.", ["FLTBD_SHOW_TOWBOX_TT"] = "Disegna una casella ESP attorno al veicolo bersaglio.", @@ -63,22 +67,29 @@ return { ["FLTBD_ADJUST_POS_TXT"] = "Regola la posizione del veicolo", ["FLTBD_NEARBY_VEH_TXT"] = "Veicolo più vicino:", ["SETTINGS_ENTITY_REPLACE"] = "Entità con sostituzione automatica", - ["FLTBD_ADJUST_POS_TT"] = "Affinché le frecce abbiano un senso, sposta la telecamera del gioco verso destra. (Guarda a destra)", + ["FLTBD_ADJUST_POS_TT"] = + "Affinché le frecce abbiano un senso, sposta la telecamera del gioco verso destra. (Guarda a destra)", ["FLTBD_CARS_ONLY_ERR"] = "Puoi trainare solo auto, camion e biciclette.", - ["FTLBD_GET_IN_MSG"] = "Al momento non ti trovi su un camion con pianale. Puoi rubarne uno dalla strada o utilizzare il pulsante in basso per generarne uno nuovo.", + ["FTLBD_GET_IN_MSG"] = + "Al momento non ti trovi su un camion con pianale. Puoi rubarne uno dalla strada o utilizzare il pulsante in basso per generarne uno nuovo.", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Facoltativo: scegli gli elementi di configurazione da conservare.", ["FLTBD_EXIT_VEH_ERR"] = "Esci prima dal tuo veicolo attuale.", ["FLTBD_NO_VEH_TXT"] = "Nessun veicolo nelle vicinanze trovato.", ["FLTBD_SAME_NOT_ALLOWED_ERR"] = "Non è possibile trainare un altro camion con pianale.", ["SETTINGS_CFG_RESET"] = "Reimposta la configurazione salvata", ["FLTBD_FAST_ADJUST_TXT"] = "Tieni premuto [SHIFT] per muoverti più velocemente.", - ["FLTBD_TOW_ALL_TT"] = "Per impostazione predefinita, il camion traina solo auto, camion e biciclette. Questa opzione rimuove tale limitazione.", - ["SETTINGS_ENTITY_REPLACE_TT"] = "Questo progetto ha un limite al numero di entità che puoi generare (pedoni, veicoli, oggetti). Tutte le funzionalità rispettano tale limite per prevenire spam di entità o soffocare il gioco. Questa opzione consente allo script di sostituire automaticamente le vecchie entità generate una volta raggiunto il limite per un determinato tipo di entità e provare a generarne una nuova.", + ["FLTBD_TOW_ALL_TT"] = + "Per impostazione predefinita, il camion traina solo auto, camion e biciclette. Questa opzione rimuove tale limitazione.", + ["SETTINGS_ENTITY_REPLACE_TT"] = + "Questo progetto ha un limite al numero di entità che puoi generare (pedoni, veicoli, oggetti). Tutte le funzionalità rispettano tale limite per prevenire spam di entità o soffocare il gioco. Questa opzione consente allo script di sostituire automaticamente le vecchie entità generate una volta raggiunto il limite per un determinato tipo di entità e provare a generarne una nuova.", ["GENERIC_UNAVAILABLE"] = "Attualmente non disponibile.", - ["WARN_PED_SPAWN_LIMIT"] = "Limite di spawn dei pedoni raggiunto! Valuta la possibilità di abilitare \"Sostituisci automaticamente entità\" nella scheda Impostazioni se desideri sostituire automaticamente le vecchie entità quando raggiungi il limite.", + ["WARN_PED_SPAWN_LIMIT"] = + "Limite di spawn dei pedoni raggiunto! Valuta la possibilità di abilitare \"Sostituisci automaticamente entità\" nella scheda Impostazioni se desideri sostituire automaticamente le vecchie entità quando raggiungi il limite.", ["INF_ATTACHMENT_NONE"] = "Sembra che non ci sia nulla legato a noi.", - ["WARN_OBJ_SPAWN_LIMIT"] = "Limite di generazione degli oggetti raggiunto! Valuta la possibilità di abilitare \"Sostituisci automaticamente entità\" nella scheda Impostazioni se desideri sostituire automaticamente le vecchie entità quando raggiungi il limite.", - ["WARN_VEH_SPAWN_LIMIT"] = "Limite di spawn dei veicoli raggiunto! Valuta la possibilità di abilitare \"Sostituisci automaticamente entità\" nella scheda Impostazioni se desideri sostituire automaticamente le vecchie entità quando raggiungi il limite.", + ["WARN_OBJ_SPAWN_LIMIT"] = + "Limite di generazione degli oggetti raggiunto! Valuta la possibilità di abilitare \"Sostituisci automaticamente entità\" nella scheda Impostazioni se desideri sostituire automaticamente le vecchie entità quando raggiungi il limite.", + ["WARN_VEH_SPAWN_LIMIT"] = + "Limite di spawn dei veicoli raggiunto! Valuta la possibilità di abilitare \"Sostituisci automaticamente entità\" nella scheda Impostazioni se desideri sostituire automaticamente le vecchie entità quando raggiungi il limite.", ["GENERIC_OPTIONS_LABEL"] = "Opzioni", ["GENERIC_POSITION_LABEL"] = "Posizione", ["GENERIC_UP_DOWN_LABEL"] = "Su/Giù", @@ -87,7 +98,8 @@ return { ["GENERIC_CANCEL"] = "Cancellare", ["GENERIC_RESET"] = "Reset", ["GENERIC_CONFIRM"] = "Confermare", - ["GENERIC_OFFLINE_OR_OUTDATED"] = "Devi essere online e avere l'ultima versione dello script per accedere a questa funzionalità!", + ["GENERIC_OFFLINE_OR_OUTDATED"] = + "Devi essere online e avere l'ultima versione dello script per accedere a questa funzionalità!", ["GENERIC_LEFT_RIGHT_LABEL"] = "Sinistra/destra", ["GENERIC_SG_SL_READ_FAIL"] = "Impossibile leggere lo script globale/locale. Contatta uno sviluppatore.", ["GENERIC_CONTACT_DEV"] = "Qualcosa è andato storto! Contatta uno sviluppatore.", @@ -120,7 +132,8 @@ return { ["CP_CARD_DIAMONDS"] = "Diamanti", ["CP_COOLDOWN_BYPASS_STATUS"] = "Stato:", ["CP_COOLDOWN_BYPASS_ENABLE"] = "Abilita bypass", - ["CP_COOLDOWN_BYPASS_TOOLTIP"] = "Disabilita il tempo di recupero del casinò, può comportare il ban. Utilizzare a proprio rischio.", + ["CP_COOLDOWN_BYPASS_TOOLTIP"] = + "Disabilita il tempo di recupero del casinò, può comportare il ban. Utilizzare a proprio rischio.", ["CP_COOLDOWN_BYPASS_STATUS_FORMAT"] = "Recupero per %.2f minuto/i.", ["CP_COOLDOWN_BYPASS_STATUS_OFF"] = "Spento raffreddamento", ["CP_COOLDOWN_BYPASS"] = "Evita il tempo di recupero delle fiches del casinò", @@ -214,7 +227,8 @@ return { ["YRV3_INCOME_APPROX_MC"] = "Reddito aziendale totale approssimativo di MC", ["YRV3_PRICE_NOTICE"] = "I prezzi potrebbero essere più alti a seconda degli aggiornamenti aziendali.", ["YRV3_HANGAR_STEAL_CB"] = "Ruba casse dell'hangar", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Genera sempre le missioni del nightclub piantagrane e disabilita le missioni VIP eliminate.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = + "Genera sempre le missioni del nightclub piantagrane e disabilita le missioni VIP eliminate.", ["YRV3_POPULARITY_NOTIF"] = "La popolarità dei nightclub è aumentata.", ["YRV3_CEO_BUY_CB"] = "Acquista cassa CEO", ["YRV3_CFR_CD_CB"] = "Raid alla fabbrica di polli", @@ -226,7 +240,8 @@ return { ["YRV3_NC_MANAGMENT_CB"] = "Gestione delle discoteche", ["YRV3_CLUB_WORK_CB"] = "Lavoro del club motociclistico", ["YRV3_SAFECASH_TOTAL"] = "Contanti totali in tutte le casseforti", - ["YRV3_SEXY_SHINABI_NOTICE"] = "Utilizza invece lo script Payphone Hits di ShinyWasabi.\nPremi [TAB] per copiare il collegamento GitHub.", + ["YRV3_SEXY_SHINABI_NOTICE"] = + "Utilizza invece lo script Payphone Hits di ShinyWasabi.\nPremi [TAB] per copiare il collegamento GitHub.", ["YRV3_IE_VEH_SELL_CB"] = "Vendita di veicoli I/E", ["YRV3_IE_VEH_STEAL_CB"] = "Approvvigionamento di veicoli I/E", ["YRV3_PAYHPONE_HITS_CB"] = "Hit del telefono pubblico", @@ -239,15 +254,18 @@ return { ["YRV3_SELL_MISSIONS_LABEL"] = "Vendi missioni", ["YRV3_CB_UNCHECK_ALL"] = "Deseleziona tutto", ["YRV3_SELL_MISSIONS_NOTIF"] = "Disabilitate le missioni di vendita %s più fastidiose.", - ["YRV3_SELL_MISSIONS_TT"] = "Queste opzioni non verranno salvate. Ciascun pulsante disabilita le missioni di vendita più noiose per quell'attività.", + ["YRV3_SELL_MISSIONS_TT"] = + "Queste opzioni non verranno salvate. Ciascun pulsante disabilita le missioni di vendita più noiose per quell'attività.", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Nota: sono supportate solo queste attività:", ["YRV3_AUTOSELL_BIKER_LABEL"] = "Imprese di motociclisti", ["YRV3_AUTOSELL_CEO_LABEL"] = "Magazzini CEO", ["YRV3_AUTOSELL_HANGAR_LABEL"] = "Hangar (solo aereo)", - ["YRV3_SELL_MISSIONS_NOTE"] = "[NOTA]: Se prevedi di vendere più di una volta per la stessa attività, cambia sessione dopo aver terminato la prima vendita per ripristinare le missioni, altrimenti molto probabilmente la seconda non verrà avviata.", + ["YRV3_SELL_MISSIONS_NOTE"] = + "[NOTA]: Se prevedi di vendere più di una volta per la stessa attività, cambia sessione dopo aver terminato la prima vendita per ripristinare le missioni, altrimenti molto probabilmente la seconda non verrà avviata.", ["YRV3_AUTOSELL_CURRENT"] = "Attualmente in vendita: %s", ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "Laboratorio degli acidi", - ["YRV3_AUTOSELL_TT"] = "Termina automaticamente una missione di vendita 20 secondi dopo il suo inizio. Non richiede che tu interagisca con nient'altro oltre all'avvio della missione.", + ["YRV3_AUTOSELL_TT"] = + "Termina automaticamente una missione di vendita 20 secondi dopo il suo inizio. Non richiede che tu interagisca con nient'altro oltre all'avvio della missione.", ["YRV3_MCT_TITLE"] = "Terminale di controllo principale", ["YRV3_AUTO_SELL_MANUAL"] = "Termina manualmente la vendita", ["YRV3_HANGAR_LAND_ERR"] = "Hangar e vendite non sono attualmente supportati.", @@ -261,20 +279,25 @@ return { ["YRV3_INCOME_APPROX_ALL"] = "Reddito approssimativo da tutte le imprese:", ["SELF_HEADPROPS"] = "Consenti oggetti di scena nei veicoli", ["YRV3_INCOME_APPROX_ALL_TT"] = "Scorri tutte le schede per aggiornare l'importo totale.", - ["SELF_HEADPROPS_TT"] = "Impedisce al gioco di rimuovere l'equipaggiamento per la testa (cappelli, elmetti, cappelli lunghi, ecc.) quando si entra in un veicolo.", + ["SELF_HEADPROPS_TT"] = + "Impedisce al gioco di rimuovere l'equipaggiamento per la testa (cappelli, elmetti, cappelli lunghi, ecc.) quando si entra in un veicolo.", ["SELF_ACTION_MODE_TT"] = "Disabilita il movimento stravagante del giocatore durante il combattimento.", ["SELF_CROUCH"] = "Accovacciati", ["SELF_STAND_ON_VEHS"] = "Salire sui veicoli", ["SELF_NO_CARJACKING"] = "Nessun furto d'auto", - ["SELF_NO_CARJACKING_TT"] = "Impedisce agli NPC di rubarti l'auto. Dovrebbe prevenire anche i giocatori (non testato contro i giocatori).", - ["SELF_STAND_ON_VEHS_TT"] = "Ti impedisce di rotolare quando sei sul tetto di un veicolo (cadrai comunque se colpisci qualcosa).", + ["SELF_NO_CARJACKING_TT"] = + "Impedisce agli NPC di rubarti l'auto. Dovrebbe prevenire anche i giocatori (non testato contro i giocatori).", + ["SELF_STAND_ON_VEHS_TT"] = + "Ti impedisce di rotolare quando sei sul tetto di un veicolo (cadrai comunque se colpisci qualcosa).", ["SELF_CROUCH_TT"] = "Ti fa accovacciare quando premi il pulsante invisibile, simile a GTA San Andreas.", ["SELF_HANDS_UP"] = "Mani in alto", ["SELF_SPRINT_INSIDE"] = "Sprint all'interno degli interni", - ["SELF_HANDS_UP_TT"] = "Sostituisce l'azione \"Punta a\" in GTA Online (impostazione predefinita [B] sulla tastiera) con un'animazione di resa.", + ["SELF_HANDS_UP_TT"] = + "Sostituisce l'azione \"Punta a\" in GTA Online (impostazione predefinita [B] sulla tastiera) con un'animazione di resa.", ["SELF_CLUMSY"] = "Goffo", ["SELF_ROD"] = "Ragdoll su richiesta", - ["SELF_LOCKPICK_ANIM_TT"] = "Aumenta la possibilità di utilizzare l'animazione di scasso quando si rubano veicoli invece di rompere la finestra.", + ["SELF_LOCKPICK_ANIM_TT"] = + "Aumenta la possibilità di utilizzare l'animazione di scasso quando si rubano veicoli invece di rompere la finestra.", ["SELF_SPRINT_INSIDE_TT"] = "Ti permette di correre a tutta velocità nella maggior parte degli interni (non tutti).", ["SELF_RAGDOLL_SOUND"] = "Suono Ragdoll", ["SELF_LOCKPICK_ANIM"] = "Animazione del grimaldello", @@ -287,25 +310,32 @@ return { ["VEH_FAST_AF"] = "Veicoli veloci", ["SELF_REGEN_SPEED"] = "Velocità di rigenerazione della salute", ["VEH_FAST_AF_TT"] = "Aumenta la velocità massima di qualsiasi veicolo terrestre che guidi.", - ["VEH_NOS_PURGE_TT"] = "Premere la combinazione di tasti assegnata (predefinita [X]) per eseguire un'eliminazione del NOS in stile 2Fast 2Furious.", + ["VEH_NOS_PURGE_TT"] = + "Premere la combinazione di tasti assegnata (predefinita [X]) per eseguire un'eliminazione del NOS in stile 2Fast 2Furious.", ["VEH_ABS_LIGHTS"] = "Visualizzazione della forza frenante", ["VEH_POPS_N_BANGS"] = "Pop e scoppi", ["VEH_NOS_PURGE"] = "Spurgo NOS", - ["VEH_ABS_LIGHTS_TT"] = "Fa lampeggiare le luci dei freni quando si frena ad alta velocità. Solo per veicoli dotati di ABS.", - ["VEH_POPS_N_BANGS_TT"] = "Abilita forti schiocchi di scarico che si attivano ogni volta che si rilascia l'acceleratore da un regime elevato. PS: spaventa gli NPC vicini.", + ["VEH_ABS_LIGHTS_TT"] = + "Fa lampeggiare le luci dei freni quando si frena ad alta velocità. Solo per veicoli dotati di ABS.", + ["VEH_POPS_N_BANGS_TT"] = + "Abilita forti schiocchi di scarico che si attivano ogni volta che si rilascia l'acceleratore da un regime elevato. PS: spaventa gli NPC vicini.", ["VEH_SUBWOOFER"] = "Grande subwoofer", ["VEH_AUTO_BRAKE_LIGHTS"] = "Luci dei freni automatici", ["VEH_HIGH_BEAMS"] = "Abbaglianti sul clacson", ["VEH_STRONG_CRASH"] = "Crash più forti", ["VEH_STRONG_WINDOWS"] = "Finestre infrangibili", - ["VEH_STRONG_WINDOWS_TT"] = "I finestrini del tuo veicolo non si romperanno mai. A meno che non venga fatto esplodere, ovviamente.", + ["VEH_STRONG_WINDOWS_TT"] = + "I finestrini del tuo veicolo non si romperanno mai. A meno che non venga fatto esplodere, ovviamente.", ["VEH_HIGH_BEAMS_TT"] = "Fa lampeggiare gli abbaglianti ogni volta che suoni il clacson", ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Accende le luci dei freni ogni volta che ti fermi. (Il motore deve essere acceso).", ["VEH_RGB_LIGHTS"] = "Fari RGB", ["VEH_SUBWOOFER_TT"] = "Rende gli altoparlanti del tuo veicolo leggermente più forti e hanno bassi più profondi.", - ["VEH_RGB_LIGHTS_TT"] = "Avvia un loop RGB sui fari del tuo veicolo. Puoi modificare la velocità nella parte inferiore di questa finestra.", - ["VEH_STRONG_CRASH_TT"] = "Rende gli arresti anomali più spaventosi con vibrazioni della cam, effetti dello schermo, maggiore deformazione e danni. Le collisioni ad alta velocità possono essere fatali.", - ["VEH_AUTO_LOCK_TT"] = "Blocca automaticamente il tuo veicolo quando ti allontani e lo sblocca nuovamente quando provi a rientrare o a passare a un veicolo diverso.", + ["VEH_RGB_LIGHTS_TT"] = + "Avvia un loop RGB sui fari del tuo veicolo. Puoi modificare la velocità nella parte inferiore di questa finestra.", + ["VEH_STRONG_CRASH_TT"] = + "Rende gli arresti anomali più spaventosi con vibrazioni della cam, effetti dello schermo, maggiore deformazione e danni. Le collisioni ad alta velocità possono essere fatali.", + ["VEH_AUTO_LOCK_TT"] = + "Blocca automaticamente il tuo veicolo quando ti allontani e lo sblocca nuovamente quando provi a rientrare o a passare a un veicolo diverso.", ["VEH_AUTO_LOCK"] = "Blocco automatico", ["VEH_FLAPPY_DOORS_TT"] = "Non ho idea del motivo per cui l'ho fatto.", ["VEH_KEEP_WHEELS_TURNED"] = "Mantieni le ruote girate", @@ -313,8 +343,10 @@ return { ["VEH_FLAPPY_DOORS"] = "Porte a soffietto", ["VEH_LAUNCH_CTRL_TT"] = "Simula il controllo del lancio. Disponibile solo per auto ad alte prestazioni.", ["VEH_SPEED_CIRCLE"] = "Cerchio", - ["VEH_KEEP_WHEELS_TURNED_TT"] = "Impedisce al tuo personaggio giocante di centrare nuovamente le ruote quando esce da un veicolo teletrasportandoti all'esterno.", - ["VEH_IV_EXIT_TT"] = "Imita lo stile di uscita del veicolo di GTA IV: tieni premuto [F] per un secondo per spegnere il motore o premi normalmente per lasciarlo acceso.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = + "Impedisce al tuo personaggio giocante di centrare nuovamente le ruote quando esce da un veicolo teletrasportandoti all'esterno.", + ["VEH_IV_EXIT_TT"] = + "Imita lo stile di uscita del veicolo di GTA IV: tieni premuto [F] per un secondo per spegnere il motore o premi normalmente per lasciarlo acceso.", ["VEH_SPEED_BG"] = "Sfondo", ["VEH_SPEED_TEXT"] = "Testo", ["VEH_LAUNCH_CTRL"] = "Avvia Controllo", @@ -354,8 +386,9 @@ return { ["VEH_PAINT_NOT_SELECTED_ERR"] = "Seleziona primario o secondario o entrambi.", ["VEH_PAINT_PRIMARY_CB"] = "Come Primario", ["VEH_PAINT_SECONDARY_CB"] = "Come secondario", - ["VEH_PAINT_SAVE_TT"] = "Per salvare questo colore su un veicolo personale, vai in un negozio di moda e acquista qualcosa come una tinta per i finestrini, uno stile per la targa o altro.", - ["VEH_ENGINE_SWAP_INCOMPATIBE"] = "Questa funzione è compatibile solo con auto e camion.", + ["VEH_PAINT_SAVE_TT"] = + "Per salvare questo colore su un veicolo personale, vai in un negozio di moda e acquista qualcosa come una tinta per i finestrini, uno stile per la targa o altro.", + ["GENERIC_CARS_ONLY"] = "Questa funzione è compatibile solo con auto e camion.", ["VEH_COBRA_MANEUVER_TOO_lOW"] = "La tua altitudine attuale è troppo bassa per eseguire una manovra Cobra!", ["VEH_COBRA_MANEUVER_TOO_SlOW"] = "La tua velocità attuale è troppo bassa per eseguire una manovra Cobra!", ["VEH_COBRA_MANEUVER"] = "Manovra del Cobra", @@ -363,7 +396,8 @@ return { ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "Ritardo tra le riproduzioni", ["VEH_COBRA_MANEUVER_NOT_LEVEL"] = "Per favore livella prima il tuo jet.", ["VEH_COBRA_MANEUVER_INTERRUPT"] = "La manovra Cobra è stata interrotta! Restituire il controllo al giocatore.", - ["VEH_COBRA_MANEUVER_CANCEL"] = "Esecuzione della manovra del cobra. Premi [CTRL] per annullare e riprendere il controllo.", + ["VEH_COBRA_MANEUVER_CANCEL"] = + "Esecuzione della manovra del cobra. Premi [CTRL] per annullare e riprendere il controllo.", ["GENERIC_ADD"] = "Aggiungere", ["GENERIC_DELETE"] = "Eliminare", ["GENERIC_LOAD"] = "Carico", @@ -400,15 +434,19 @@ return { ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "I tuoi appunti sono vuoti!", ["EF_IMPORT_DATA_INSTR"] = "Incolla qui i dati della fucina:", ["EF_SAVED_NONE"] = "Non hai nessuna creazione salvata.", - ["EF_IMPORT_DATA_NOTICE"] = "Hai una creazione con lo stesso nome. Al nome è stato aggiunto un tag [import]. Puoi comunque rinominarlo in seguito.", + ["EF_IMPORT_DATA_NOTICE"] = + "Hai una creazione con lo stesso nome. Al nome è stato aggiunto un tag [import]. Puoi comunque rinominarlo in seguito.", ["EF_CHILD_ALPHA"] = "Trasparenza dell'elemento secondario: %d", - ["EF_ENTITY_GUN_TT"] = "Punta la tua arma verso un'entità nel mondo di gioco e premi [E] per aggiungerla alla riserva della forgia. Una volta aggiunto, potrai utilizzare il mouse per spostarlo e manipolarlo.", - ["EF_SHARE_SUCCESS"] = "La tua creazione salvata è stata copiata negli appunti. Se condividi i dati copiati con altri utenti di questo script, potranno importarli nelle loro creazioni salvate.", + ["EF_ENTITY_GUN_TT"] = + "Punta la tua arma verso un'entità nel mondo di gioco e premi [E] per aggiungerla alla riserva della forgia. Una volta aggiunto, potrai utilizzare il mouse per spostarlo e manipolarlo.", + ["EF_SHARE_SUCCESS"] = + "La tua creazione salvata è stata copiata negli appunti. Se condividi i dati copiati con altri utenti di questo script, potranno importarli nelle loro creazioni salvate.", ["EF_IMPORT_SUCCESS"] = "Dati importati con successo.", ["GENERIC_APPLY"] = "Fare domanda a", ["GENERIC_USE"] = "Utilizzo", ["SELF_MAGIC_BULLET"] = "Proiettile magico", - ["SELF_MAGIC_BULLET_TT"] = "Questa funzione non mira né spara automaticamente. Ricorda semplicemente l'ultimo pedone a cui hai mirato e reindirizza il tuo tiro a quel pedone quando spari, anche se spari altrove. Il bersaglio si ripristina quando smetti di mirare.", + ["SELF_MAGIC_BULLET_TT"] = + "Questa funzione non mira né spara automaticamente. Ricorda semplicemente l'ultimo pedone a cui hai mirato e reindirizza il tuo tiro a quel pedone quando spari, anche se spari altrove. Il bersaglio si ripristina quando smetti di mirare.", ["SUBTAB_GUI"] = "Interfaccia utente", ["GENERIC_GENERAL_LABEL"] = "Generale", ["GENERIC_CLEAR"] = "Chiaro", @@ -418,22 +456,29 @@ return { ["SELF_LASER_SIGHTS"] = "Mirini laser", ["VEH_KERS_BOOST"] = "KERS potenziamento", ["VEH_OFFROAD_ABILITIES"] = "Abilità fuoristrada", - ["VEH_RALLY_TYRES_TT"] = "Equipaggia il tuo veicolo con pneumatici da rally che migliorano ulteriormente la manovrabilità fuoristrada.", - ["VEH_KERS_BOOST_TT"] = "Dota il tuo veicolo del potenziamento KERS (Kinetic Energy Recovery System), simile alle auto di F1.", - ["VEH_FORCE_NO_TC_TT"] = "Solo biciclette: impone al tuo veicolo di non avere il controllo della trazione, il che ti consente di eseguire derapate e sbandate con le biciclette.", - ["VEH_LOW_SPEED_WHEELIE_TT"] = "Solo bici: ti permette di fare impennate a velocità molto basse, simili al \"Manchez\".", - ["VEH_NO_ENGINE_BRAKE_TT"] = "Ti permette di procedere per inerzia quando non premi l'acceleratore senza perdere troppa velocità.", + ["VEH_RALLY_TYRES_TT"] = + "Equipaggia il tuo veicolo con pneumatici da rally che migliorano ulteriormente la manovrabilità fuoristrada.", + ["VEH_KERS_BOOST_TT"] = + "Dota il tuo veicolo del potenziamento KERS (Kinetic Energy Recovery System), simile alle auto di F1.", + ["VEH_FORCE_NO_TC_TT"] = + "Solo biciclette: impone al tuo veicolo di non avere il controllo della trazione, il che ti consente di eseguire derapate e sbandate con le biciclette.", + ["VEH_LOW_SPEED_WHEELIE_TT"] = + "Solo bici: ti permette di fare impennate a velocità molto basse, simili al \"Manchez\".", + ["VEH_NO_ENGINE_BRAKE_TT"] = + "Ti permette di procedere per inerzia quando non premi l'acceleratore senza perdere troppa velocità.", ["VEH_FORCE_NO_TC"] = "Nessun controllo della trazione", ["SELF_LASER_SIGHTS_LENGTH"] = "Lunghezza del raggio laser", ["VEH_LOW_SPEED_WHEELIE"] = "Impennata a bassa velocità", ["VEH_RALLY_TYRES"] = "Pneumatici Rally", - ["SELF_LASER_SIGHTS_TT"] = "Abilita i mirini laser sulle tue armi da fuoco. Puoi attivare e disattivare la vista premendo [%s]", + ["SELF_LASER_SIGHTS_TT"] = + "Abilita i mirini laser sulle tue armi da fuoco. Puoi attivare e disattivare la vista premendo [%s]", ["VEH_OFFROAD_ABILITIES_TT"] = "Aumenta le capacità fuoristrada del tuo veicolo.", ["VEH_ROCKET_BOOST"] = "Spinta del razzo", ["VEH_ROCKET_BOOST_TT"] = "Dota il tuo veicolo di un razzo potenziato, simile al \"Vigilante\".", ["VEH_PARACHUTE"] = "Capacità di paracadute", ["VEH_JUMP"] = "Capacità di salto", - ["VEH_PARACHUTE_TT"] = "Equipaggia il tuo veicolo con un paracadute, simile al \"Ruiner 2000\".\n\nImportante: anche la capacità di salto deve essere abilitata.", + ["VEH_PARACHUTE_TT"] = + "Equipaggia il tuo veicolo con un paracadute, simile al \"Ruiner 2000\".\n\nImportante: anche la capacità di salto deve essere abilitata.", ["SETTINGS_LANGUAGE"] = "Lingua", ["VEH_STEER_REAR_WHEELS"] = "Sterzo sulla ruota posteriore", ["VEH_STEER_HANDBRAKE"] = "Sterzo con freno a mano", @@ -447,14 +492,17 @@ return { ["SETTING_WINDOW_POS_Y"] = "Posizione Y", ["SETTING_WINDOW_MOVEABLE"] = "Finestra mobile", ["SETTINGS_TOOLTIPS"] = "Disabilita descrizioni comandi", - ["VEH_STEER_HANDBRAKE_TT"] = "Sterza le ruote posteriori del tuo veicolo quando tieni il freno a mano, in modo simile alle auto mostruose.", - ["SETTING_WINDOW_POS_TT"] = "Questi sono solo di visualizzazione. Abilita \"Finestra mobile\", quindi trascina la barra superiore per spostare liberamente la finestra.", + ["VEH_STEER_HANDBRAKE_TT"] = + "Sterza le ruote posteriori del tuo veicolo quando tieni il freno a mano, in modo simile alle auto mostruose.", + ["SETTING_WINDOW_POS_TT"] = + "Questi sono solo di visualizzazione. Abilita \"Finestra mobile\", quindi trascina la barra superiore per spostare liberamente la finestra.", ["SETTING_WINDOW_POS_SNAP"] = "Aggancia alla posizione", ["SETTING_WINDOW_HEIGHT"] = "Altezza massima della finestra", ["SETTING_WINDOW_WIDTH"] = "Larghezza della finestra", ["SETTING_WINDOW_THEME"] = "Tema", ["SETTING_HOTKEY_WAIT"] = "Premere un tasto qualsiasi", - ["SETTING_WINDOW_HEIGHT_TT"] = "La finestra è dinamica, si ridimensiona verticalmente in base al contenuto.\n\nQuesta opzione permette di impostare l'altezza massima consentita.", + ["SETTING_WINDOW_HEIGHT_TT"] = + "La finestra è dinamica, si ridimensiona verticalmente in base al contenuto.\n\nQuesta opzione permette di impostare l'altezza massima consentita.", ["SETTING_WINDOW_STYLE"] = "Stile finestra", ["SETTING_WINDOW_TOP_FRAME_BG"] = "Gradiente del pulsante della barra superiore", ["SETTINGS_HOTKEY_RESERVED"] = "Questa chiave è riservata. Scegline uno diverso.", @@ -470,11 +518,13 @@ return { ["SELF_KATANA_REPLACE_MODEL"] = "Modello da sostituire", ["WRLD_FLEE_ALL"] = "Spaventare tutti i nemici", ["WRLD_KILL_ALL_NOTIF"] = "Hai eseguito \"Uccidi tutti i nemici\"", - ["WRLD_FLEE_ALL_TT"] = "Viene eseguito in un ciclo di 5 secondi: costringe tutti i nemici vicini a lasciare cadere le armi e a fuggire dall'area.", + ["WRLD_FLEE_ALL_TT"] = + "Viene eseguito in un ciclo di 5 secondi: costringe tutti i nemici vicini a lasciare cadere le armi e a fuggire dall'area.", ["WRLD_KILL_ALL_TT"] = "Uccide tutti i nemici vicini.", ["WRLD_FLEE_ALL_NOTIF"] = "Costringere i nemici vicini a fuggire. Attendere prego.", ["WRLD_PUBLIC_ENEMY"] = "Nemico pubblico n. 1", - ["WRLD_PUBLIC_ENEMY_TT"] = "Tutti gli NPC vicini si alleeranno contro di te e ti faranno il culo. Compresi animali e poliziotti.", + ["WRLD_PUBLIC_ENEMY_TT"] = + "Tutti gli NPC vicini si alleeranno contro di te e ti faranno il culo. Compresi animali e poliziotti.", ["GENERIC_IMPORTANT"] = "Importante", ["SETTING_HOTKEY_FOUND"] = "Nuova chiave:", ["GUI_NEW_LAYOUT_NOTICE"] = "L'interfaccia utente dello script è ora indipendente dal menu. Premi %s per attivarlo.", @@ -489,5 +539,6 @@ return { ["YRV3_HELITOURS_LABEL"] = "Higgins Helitour", ["YRV3_CWASH_LEGAL_WORK_CD"] = "Disabilita il tempo di recupero del lavoro legale", ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Disabilita il tempo di recupero per lavoro illegale", - ["SELF_MC_BIKE_ANIMS_TT"] = "Ripristina le animazioni alternative di guida in bicicletta che erano state disabilitate per qualche motivo. Devi essere registrato come MC e avere questa opzione abilitata affinché queste animazioni funzionino." + ["SELF_MC_BIKE_ANIMS_TT"] = + "Ripristina le animazioni alternative di guida in bicicletta che erano state disabilitate per qualche motivo. Devi essere registrato come MC e avere questa opzione abilitata affinché queste animazioni funzionino." } diff --git a/includes/lib/translations/ja-JP.lua b/includes/lib/translations/ja-JP.lua index 602fa6e..a7a81c5 100644 --- a/includes/lib/translations/ja-JP.lua +++ b/includes/lib/translations/ja-JP.lua @@ -29,7 +29,8 @@ return { ["VEH_DRIFT_SMOKE_TT"] = "ドリフト時やバーンアウト時にタイヤから発生する煙の量が増加します。", ["VEH_DRIFT_SMOKE_COL"] = "タイヤのスモークカラー", ["VEH_MG_TRIGGERBOT_ENEMY"] = "敵のみ", - ["VEH_FAST_JETS_TT"] = "デフォルトで 240Km/h に達できる限り、ほとんどの飛行機が速くなり、最高速度は 555Km/h に増加します。\n\nダスターのような遅い飛行機は、機首降下によって強制的に速度しきい値に到達させない限り、この恩恵を受けられません。\n\n注: ギア (飛行機の車輪) が上がっている必要があります。", + ["VEH_FAST_JETS_TT"] = + "デフォルトで 240Km/h に達できる限り、ほとんどの飛行機が速くなり、最高速度は 555Km/h に増加します。\n\nダスターのような遅い飛行機は、機首降下によって強制的に速度しきい値に到達させない限り、この恩恵を受けられません。\n\n注: ギア (飛行機の車輪) が上がっている必要があります。", ["VEH_MG_TRIGGERBOT_RANGE"] = "トリガーボット範囲", ["VEH_MG_MANUAL_AIM"] = "マシンガンの手動照準", ["VEH_MG_TRIGGERBOT_TT"] = "航空機の機関銃を自動的に発砲します。", @@ -73,20 +74,23 @@ return { ["FLTBD_ADJUST_POS_TT"] = "矢印をわかりやすくするには、ゲームのカメラを右に動かします。 (右を見て)", ["SETTINGS_ENTITY_REPLACE"] = "エンティティの自動置換", ["FLTBD_TOW_ALL_TT"] = "デフォルトでは、トラックは乗用車、トラック、自転車のみを牽引します。このオプションはその制限を取り除きます。", - ["SETTINGS_ENTITY_REPLACE_TT"] = "このプロジェクトでは、スポーンできるエンティティ (足、車両、オブジェクト) の数に制限があります。エンティティのスパムやゲームの中断を防ぐために、すべての機能がその制限に準拠しています。このオプションを使用すると、特定のエンティティ タイプの制限に達し、新しいエンティティを生成しようとすると、スクリプトが古い生成エンティティを自動的に置き換えることができます。", + ["SETTINGS_ENTITY_REPLACE_TT"] = + "このプロジェクトでは、スポーンできるエンティティ (足、車両、オブジェクト) の数に制限があります。エンティティのスパムやゲームの中断を防ぐために、すべての機能がその制限に準拠しています。このオプションを使用すると、特定のエンティティ タイプの制限に達し、新しいエンティティを生成しようとすると、スクリプトが古い生成エンティティを自動的に置き換えることができます。", ["GENERIC_OPTIONS_LABEL"] = "オプション", ["GENERIC_POSITION_LABEL"] = "位置", ["GENERIC_OFFLINE_OR_OUTDATED"] = "この機能にアクセスするには、オンラインに接続し、最新バージョンのスクリプトを使用する必要があります。", ["GENERIC_COLORS_LABEL"] = "色", ["INF_ATTACHMENT_NONE"] = "私たちには何もついていないようです。", - ["WARN_PED_SPAWN_LIMIT"] = "Ped のスポーン制限に達しました!制限に達したときに古いエンティティを自動的に置き換える場合は、[設定] タブで [エンティティの自動置換] を有効にすることを検討してください。", + ["WARN_PED_SPAWN_LIMIT"] = + "Ped のスポーン制限に達しました!制限に達したときに古いエンティティを自動的に置き換える場合は、[設定] タブで [エンティティの自動置換] を有効にすることを検討してください。", ["GENERIC_UP_DOWN_LABEL"] = "上/下", ["GENERIC_CONFIRM"] = "確認する", ["GENERIC_UNAVAILABLE"] = "現在利用できません。", ["INF_ATTACHMENT_DROP"] = "添付ファイルが削除されました。", ["GENERIC_CANCEL"] = "キャンセル", ["GENERIC_RESET"] = "リセット", - ["WARN_OBJ_SPAWN_LIMIT"] = "オブジェクトのスポーン制限に達しました!制限に達したときに古いエンティティを自動的に置き換える場合は、[設定] タブで [エンティティの自動置換] を有効にすることを検討してください。", + ["WARN_OBJ_SPAWN_LIMIT"] = + "オブジェクトのスポーン制限に達しました!制限に達したときに古いエンティティを自動的に置き換える場合は、[設定] タブで [エンティティの自動置換] を有効にすることを検討してください。", ["WARN_VEH_SPAWN_LIMIT"] = "車両のスポーン制限に達しました!制限に達したときに古いエンティティを自動的に置き換える場合は、[設定] タブで [エンティティの自動置換] を有効にすることを検討してください。", ["GENERIC_LEFT_RIGHT_LABEL"] = "左/右", ["GENERIC_MISC"] = "その他", @@ -240,7 +244,8 @@ return { ["YRV3_SELL_MISSIONS_LABEL"] = "ミッションを販売する", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "注: 次のビジネスのみがサポートされています。", ["YRV3_SELL_MISSIONS_NOTIF"] = "最も迷惑な%s販売ミッションを無効にしました。", - ["YRV3_SELL_MISSIONS_NOTE"] = "[注意]: 同じビジネスで複数回販売する予定がある場合は、最初の販売が終了した後にセッションを切り替えてミッションをリセットしてください。そうしないと、2 番目の販売が開始できない可能性が高くなります。", + ["YRV3_SELL_MISSIONS_NOTE"] = + "[注意]: 同じビジネスで複数回販売する予定がある場合は、最初の販売が終了した後にセッションを切り替えてミッションをリセットしてください。そうしないと、2 番目の販売が開始できない可能性が高くなります。", ["YRV3_SELL_MISSIONS_TT"] = "これらのオプションは保存されません。各ボタンは、そのビジネスの最も面倒な販売ミッションを無効にします。", ["YRV3_HANGAR_LAND_ERR"] = "格納庫および販売は現在サポートされていません。", ["YRV3_AUTO_SELL_MANUAL"] = "販売を手動で終了する", @@ -355,7 +360,7 @@ return { ["VEH_PAINT_SAVE_TT"] = "この色を個人の車両に保存するには、MODSHOP に行って、窓の色合いやプレート スタイルなどを購入します。", ["VEH_PAINT_PRIMARY_CB"] = "プライマリとして", ["VEH_PAINT_NOT_SELECTED_ERR"] = "プライマリまたはセカンダリ、あるいはその両方を選択してください。", - ["VEH_ENGINE_SWAP_INCOMPATIBE"] = "この機能は乗用車とトラックのみに対応しています。", + ["GENERIC_CARS_ONLY"] = "この機能は乗用車とトラックのみに対応しています。", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "プレイ間の遅延", ["VEH_COBRA_MANEUVER_TOO_lOW"] = "現在の高度はコブラ マニューバーを実行するには低すぎます。", ["VEH_COBRA_MANEUVER_TOO_SlOW"] = "現在の速度はコブラ マニューバーを実行するには低すぎます。", @@ -407,7 +412,8 @@ return { ["EF_ENTITY_GUN_TT"] = "ゲーム世界内のエンティティに武器を向け、[E] を押してそれを鍛造プールに追加します。追加すると、マウスを使用して移動および操作できるようになります。", ["GENERIC_APPLY"] = "適用する", ["GENERIC_USE"] = "使用", - ["SELF_MAGIC_BULLET_TT"] = "この機能は自動照準や自動射撃を行いません。最後に狙ったペッドを記憶しており、たとえ他の場所で発砲したとしても、射撃時にショットをそのペッドにリダイレクトします。狙うのをやめるとターゲットはリセットされます。", + ["SELF_MAGIC_BULLET_TT"] = + "この機能は自動照準や自動射撃を行いません。最後に狙ったペッドを記憶しており、たとえ他の場所で発砲したとしても、射撃時にショットをそのペッドにリダイレクトします。狙うのをやめるとターゲットはリセットされます。", ["SELF_MAGIC_BULLET"] = "マジックブレット", ["GENERIC_CLEAR"] = "クリア", ["SUBTAB_HANDLING_EDITOR"] = "ハンドリングエディター", diff --git a/includes/lib/translations/ko-KR.lua b/includes/lib/translations/ko-KR.lua index 4c0800f..74edf5e 100644 --- a/includes/lib/translations/ko-KR.lua +++ b/includes/lib/translations/ko-KR.lua @@ -24,7 +24,8 @@ return { ["VEH_DRIFT_SMOKE"] = "타이어 연기", ["GENERIC_ENTITY_CTRL_FAIL"] = "엔터티 제어에 실패했습니다!", ["GENERIC_INTERIOR_ACTION_ERR"] = "이 작업은 내부에서는 허용되지 않습니다.", - ["VEH_FAST_JETS_TT"] = "기본적으로 240Km/h에 도달할 수 있는 한 대부분의 비행기를 더 빠르게 만들고 최대 속도는 555Km/h로 증가합니다.\n\n더스터와 같이 느린 비행기는 기수 다이빙으로 강제로 속도 임계값에 도달하지 않는 한 이 혜택을 누릴 수 없습니다.\n\n참고: 장비(비행기 바퀴)가 위로 올라와 있어야 합니다.", + ["VEH_FAST_JETS_TT"] = + "기본적으로 240Km/h에 도달할 수 있는 한 대부분의 비행기를 더 빠르게 만들고 최대 속도는 555Km/h로 증가합니다.\n\n더스터와 같이 느린 비행기는 기수 다이빙으로 강제로 속도 임계값에 도달하지 않는 한 이 혜택을 누릴 수 없습니다.\n\n참고: 장비(비행기 바퀴)가 위로 올라와 있어야 합니다.", ["VEH_MG_TRIGGERBOT_TT"] = "항공기의 기관총을 자동으로 발사합니다.", ["VEH_MG_TRIGGERBOT_ENEMY_TT"] = "기관총 방아쇠봇은 적에게만 사격합니다.", ["VEH_AUTOPILOT"] = "자동 조종 장치", @@ -73,7 +74,8 @@ return { ["FLTBD_SAME_NOT_ALLOWED_ERR"] = "다른 플랫베드 트럭을 견인할 수 없습니다.", ["SETTINGS_RESET_PRESERVE_KEYS"] = "선택 사항: 유지할 구성 항목을 선택합니다.", ["SETTINGS_ENTITY_REPLACE"] = "자동 교체 엔터티", - ["SETTINGS_ENTITY_REPLACE_TT"] = "이 프로젝트에는 생성할 수 있는 엔터티(보행자, 차량, 개체) 수에 제한이 있습니다. 엔터티 스팸이나 게임 질식을 방지하기 위해 모든 기능은 해당 제한을 준수합니다. 이 옵션을 사용하면 특정 엔터티 유형에 대한 제한에 도달하고 새 엔터티를 생성하려고 시도하면 스크립트가 이전에 생성된 엔터티를 자동으로 교체할 수 있습니다.", + ["SETTINGS_ENTITY_REPLACE_TT"] = + "이 프로젝트에는 생성할 수 있는 엔터티(보행자, 차량, 개체) 수에 제한이 있습니다. 엔터티 스팸이나 게임 질식을 방지하기 위해 모든 기능은 해당 제한을 준수합니다. 이 옵션을 사용하면 특정 엔터티 유형에 대한 제한에 도달하고 새 엔터티를 생성하려고 시도하면 스크립트가 이전에 생성된 엔터티를 자동으로 교체할 수 있습니다.", ["WARN_OBJ_SPAWN_LIMIT"] = "개체 생성 제한에 도달했습니다! 제한에 도달했을 때 이전 엔터티를 자동으로 교체하려면 설정 탭에서 '엔터티 자동 교체'를 활성화하는 것이 좋습니다.", ["INF_ATTACHMENT_NONE"] = "우리에게는 아무 것도 붙어 있지 않은 것 같습니다.", ["WARN_PED_SPAWN_LIMIT"] = "Ped 생성 제한에 도달했습니다! 제한에 도달했을 때 이전 엔터티를 자동으로 교체하려면 설정 탭에서 '엔터티 자동 교체'를 활성화하는 것이 좋습니다.", @@ -241,7 +243,8 @@ return { ["YRV3_SELL_MISSIONS_LABEL"] = "판매 임무", ["YRV3_SELL_MISSIONS_NOTIF"] = "가장 짜증나는 %s 판매 임무를 비활성화했습니다.", ["YRV3_SELL_MISSIONS_TT"] = "이 옵션은 저장되지 않습니다. 각 버튼은 해당 비즈니스에 대한 가장 지루한 판매 임무를 비활성화합니다.", - ["YRV3_SELL_MISSIONS_NOTE"] = "[참고]: 동일한 비즈니스에 대해 두 번 이상 판매할 계획이라면 첫 번째 판매를 마친 후 세션을 전환하여 임무를 재설정하세요. 그렇지 않으면 두 번째 판매가 시작되지 않을 가능성이 높습니다.", + ["YRV3_SELL_MISSIONS_NOTE"] = + "[참고]: 동일한 비즈니스에 대해 두 번 이상 판매할 계획이라면 첫 번째 판매를 마친 후 세션을 전환하여 임무를 재설정하세요. 그렇지 않으면 두 번째 판매가 시작되지 않을 가능성이 높습니다.", ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "산성 연구실", ["YRV3_HANGAR_LAND_ERR"] = "격납고 및 판매는 현재 지원되지 않습니다.", ["YRV3_AUTOSELL_HANGAR_LABEL"] = "격납고(항공 전용)", @@ -355,7 +358,7 @@ return { ["VEH_PAINT_MATTE_TT"] = "선택한 페인트 작업에 무광택 마감을 적용하거나 제거합니다.", ["VEH_PAINT_MATTE_CB"] = "무광택 색상", ["VEH_PAINT_SAVE_TT"] = "개인 차량에 이 색상을 저장하려면 개조 상점에 가서 창문 선팅이나 플레이트 스타일 등을 구입하세요.", - ["VEH_ENGINE_SWAP_INCOMPATIBE"] = "이 기능은 자동차 및 트럭에만 호환됩니다.", + ["GENERIC_CARS_ONLY"] = "이 기능은 자동차 및 트럭에만 호환됩니다.", ["VEH_COBRA_MANEUVER_TOO_lOW"] = "현재 고도가 너무 낮아서 Cobra Maneuver를 수행할 수 없습니다!", ["VEH_COBRA_MANEUVER_TOO_SlOW"] = "현재 속도가 너무 낮아 Cobra Maneuver를 수행할 수 없습니다!", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "재생 간 지연", @@ -402,12 +405,14 @@ return { ["EF_SAVED_NONE"] = "저장된 창작물이 없습니다.", ["EF_IMPORT_SUCCESS"] = "데이터를 성공적으로 가져왔습니다.", ["EF_CHILD_ALPHA"] = "하위 항목 투명도: %d", - ["EF_SHARE_SUCCESS"] = "저장된 창작물이 클립보드에 복사되었습니다. 복사된 데이터를 이 스크립트의 다른 사용자와 공유하면 해당 사용자는 해당 데이터를 저장된 생성 항목으로 가져올 수 있습니다.", + ["EF_SHARE_SUCCESS"] = + "저장된 창작물이 클립보드에 복사되었습니다. 복사된 데이터를 이 스크립트의 다른 사용자와 공유하면 해당 사용자는 해당 데이터를 저장된 생성 항목으로 가져올 수 있습니다.", ["EF_ENTITY_GUN_TT"] = "게임 세계의 개체를 향해 무기를 조준하고 [E]를 눌러 해당 개체를 대장간 풀에 추가하세요. 추가한 후에는 마우스를 사용하여 이동하고 조작할 수 있습니다.", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "클립보드가 비어 있습니다!", ["GENERIC_APPLY"] = "적용하다", ["GENERIC_USE"] = "사용", - ["SELF_MAGIC_BULLET_TT"] = "이 기능은 자동 조준이나 자동 발사를 지원하지 않습니다. 이는 단순히 마지막으로 겨냥한 페드를 기억하고 발사할 때 다른 곳에서 사격하더라도 샷을 해당 페드로 리디렉션합니다. 조준을 멈추면 대상이 재설정됩니다.", + ["SELF_MAGIC_BULLET_TT"] = + "이 기능은 자동 조준이나 자동 발사를 지원하지 않습니다. 이는 단순히 마지막으로 겨냥한 페드를 기억하고 발사할 때 다른 곳에서 사격하더라도 샷을 해당 페드로 리디렉션합니다. 조준을 멈추면 대상이 재설정됩니다.", ["SELF_MAGIC_BULLET"] = "마법탄", ["GENERIC_GENERAL_LABEL"] = "일반적인", ["GENERIC_CLEAR"] = "분명한", diff --git a/includes/lib/translations/pl-PL.lua b/includes/lib/translations/pl-PL.lua index 15c11c1..218b860 100644 --- a/includes/lib/translations/pl-PL.lua +++ b/includes/lib/translations/pl-PL.lua @@ -27,14 +27,16 @@ return { ["VEH_NO_TURBULENCE"] = "Niepełnosprawna turbulencja powietrza", ["VEH_NO_JET_STALL"] = "Wyłącz zgaśnięcie silnika", ["VEH_FAST_JETS"] = "Szybkie samoloty", - ["VEH_FAST_JETS_TT"] = "Sprawia, że ​​większość samolotów jest szybsza, o ile domyślnie mogą osiągnąć 240 km/h, ich maksymalna prędkość zostanie zwiększona do 555 km/h.\n\nWolniejsze samoloty, takie jak prochowiec, nie odniosą z tego korzyści, chyba że na siłę zmusisz je do osiągnięcia progu prędkości przez nurkowanie z nosem.\n\nUWAGA: Twoje wyposażenie (koła samolotu) musi być podniesione.", + ["VEH_FAST_JETS_TT"] = + "Sprawia, że ​​większość samolotów jest szybsza, o ile domyślnie mogą osiągnąć 240 km/h, ich maksymalna prędkość zostanie zwiększona do 555 km/h.\n\nWolniejsze samoloty, takie jak prochowiec, nie odniosą z tego korzyści, chyba że na siłę zmusisz je do osiągnięcia progu prędkości przez nurkowanie z nosem.\n\nUWAGA: Twoje wyposażenie (koła samolotu) musi być podniesione.", ["VEH_MG_TRIGGERBOT_TT"] = "Automatycznie strzela z karabinu maszynowego twojego samolotu.", ["VEH_MG_TRIGGERBOT_ENEMY_TT"] = "Bot spustowy karabinu maszynowego strzela tylko do wrogów.", ["VEH_MG_TRIGGERBOT_ENEMY"] = "Tylko wrogowie", ["VEH_MG_TRIGGERBOT"] = "Robot spustowy karabinu maszynowego", ["VEH_MG_MARKER_SIZE"] = "Rozmiar znacznika ręcznego celowania", ["VEH_MG_MANUAL_AIM"] = "Celowanie ręczne z karabinu maszynowego", - ["VEH_FLARES_TT"] = "Umożliwia wystrzelenie flar z dowolnego samolotu za pomocą domyślnego przycisku środków zaradczych.", + ["VEH_FLARES_TT"] = + "Umożliwia wystrzelenie flar z dowolnego samolotu za pomocą domyślnego przycisku środków zaradczych.", ["VEH_MG_TRIGGERBOT_RANGE"] = "Zasięg Triggerbota", ["VEH_MG_MANUAL_AIM_TT"] = "Umożliwia ręczne wycelowanie karabinu maszynowego samolotu.", ["VEH_AUTOPILOT"] = "Autopilot", @@ -45,7 +47,8 @@ return { ["VEH_MG_MARKER_COL"] = "Kolor znacznika ręcznego celowania", ["WRLD_DISABLE_WAVES"] = "Wyłącz fale oceaniczne", ["WRLD_WANTED_MUSIC"] = "Wyłącz poszukiwaną muzykę", - ["WRLD_HNS_TT"] = "Umożliwia ukrycie się wewnątrz pojazdów, bagażników samochodowych czy koszy na śmieci. Jeśli masz poziom poszukiwanego, policja cię straci, o ile będziesz się ukrywać, zanim zostaniesz wykryty.", + ["WRLD_HNS_TT"] = + "Umożliwia ukrycie się wewnątrz pojazdów, bagażników samochodowych czy koszy na śmieci. Jeśli masz poziom poszukiwanego, policja cię straci, o ile będziesz się ukrywać, zanim zostaniesz wykryty.", ["WRLD_EXTEND_BOUNDS_TT"] = "Umożliwia podróżowanie dalej w świat w dowolnym kierunku.", ["WRLD_HNS"] = "Ukryj i szukaj", ["VEH_SEAT_NEXT"] = "Następne miejsce", @@ -54,7 +57,8 @@ return { ["FLTBD_SHOW_TOWBOX_CB"] = "Pudełko ESP", ["FLTBD_MAIN_CB"] = "Włącz skrypt", ["FLTBD_TOWING_TXT"] = "Pojazd holowany:", - ["YAV3_STOP_BTN_HINT"] = "WSKAZÓWKA: Możesz nacisnąć %s, aby zatrzymać jakąkolwiek akcję lub przytrzymać go przez jedną sekundę, aby wszystko wyczyścić.", + ["YAV3_STOP_BTN_HINT"] = + "WSKAZÓWKA: Możesz nacisnąć %s, aby zatrzymać jakąkolwiek akcję lub przytrzymać go przez jedną sekundę, aby wszystko wyczyścić.", ["WRLD_CARPOOL_TT"] = "Umożliwia wsiadanie do pojazdów NPC jako pasażer.", ["FLTBD_SHOW_TOWBOX_TT"] = "Rysuje ramkę esp wokół docelowego pojazdu.", ["FLTBD_SHOW_TOWPOS_TT"] = "Oznacza pozycję, w której skrypt wykrywa pobliskie pojazdy.", @@ -69,21 +73,28 @@ return { ["FLTBD_EXIT_VEH_ERR"] = "Najpierw wyjdź ze swojego obecnego pojazdu.", ["SETTINGS_ENTITY_REPLACE"] = "Automatyczna zamiana elementów", ["FLTBD_NEARBY_VEH_TXT"] = "Najbliższy pojazd:", - ["FTLBD_GET_IN_MSG"] = "Obecnie nie znajdujesz się w ciężarówce z platformą. Możesz ukraść jednego z ulicy lub użyć przycisku poniżej, aby stworzyć nowy.", + ["FTLBD_GET_IN_MSG"] = + "Obecnie nie znajdujesz się w ciężarówce z platformą. Możesz ukraść jednego z ulicy lub użyć przycisku poniżej, aby stworzyć nowy.", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Opcjonalnie: wybierz elementy konfiguracji, które chcesz zachować.", - ["FLTBD_TOW_ALL_TT"] = "Domyślnie ciężarówka holuje tylko samochody osobowe, ciężarówki i rowery. Ta opcja usuwa to ograniczenie.", - ["SETTINGS_ENTITY_REPLACE_TT"] = "Ten projekt ma ograniczenie liczby bytów, które możesz odrodzić (pedałki, pojazdy, obiekty). Wszystkie funkcje mieszczą się w tym limicie, aby zapobiec spamowaniu przez jednostki lub zadławieniu gry. Ta opcja umożliwia skryptowi automatyczne zastępowanie starych, spawnowanych obiektów, gdy osiągniesz limit dla określonego typu bytów i spróbujesz odrodzić nowe.", + ["FLTBD_TOW_ALL_TT"] = + "Domyślnie ciężarówka holuje tylko samochody osobowe, ciężarówki i rowery. Ta opcja usuwa to ograniczenie.", + ["SETTINGS_ENTITY_REPLACE_TT"] = + "Ten projekt ma ograniczenie liczby bytów, które możesz odrodzić (pedałki, pojazdy, obiekty). Wszystkie funkcje mieszczą się w tym limicie, aby zapobiec spamowaniu przez jednostki lub zadławieniu gry. Ta opcja umożliwia skryptowi automatyczne zastępowanie starych, spawnowanych obiektów, gdy osiągniesz limit dla określonego typu bytów i spróbujesz odrodzić nowe.", ["SETTINGS_CFG_RESET"] = "Zresetuj zapisaną konfigurację", ["GENERIC_UNAVAILABLE"] = "Obecnie niedostępne.", ["GENERIC_COLORS_LABEL"] = "Zabarwienie", - ["WARN_VEH_SPAWN_LIMIT"] = "Osiągnięto limit pojawiania się pojazdów! Rozważ włączenie opcji „Automatyczna zamiana elementów” na karcie Ustawienia, jeśli chcesz automatycznie zastępować stare elementy po osiągnięciu limitu.", + ["WARN_VEH_SPAWN_LIMIT"] = + "Osiągnięto limit pojawiania się pojazdów! Rozważ włączenie opcji „Automatyczna zamiana elementów” na karcie Ustawienia, jeśli chcesz automatycznie zastępować stare elementy po osiągnięciu limitu.", ["GENERIC_POSITION_LABEL"] = "Pozycja", ["INF_ATTACHMENT_NONE"] = "Wygląda na to, że nic nas nie łączy.", - ["GENERIC_OFFLINE_OR_OUTDATED"] = "Aby uzyskać dostęp do tej funkcji, musisz być online i mieć najnowszą wersję skryptu!", + ["GENERIC_OFFLINE_OR_OUTDATED"] = + "Aby uzyskać dostęp do tej funkcji, musisz być online i mieć najnowszą wersję skryptu!", ["GENERIC_CANCEL"] = "Anulować", - ["WARN_OBJ_SPAWN_LIMIT"] = "Osiągnięto limit pojawiania się obiektów! Rozważ włączenie opcji „Automatyczna zamiana elementów” na karcie Ustawienia, jeśli chcesz automatycznie zastępować stare elementy po osiągnięciu limitu.", + ["WARN_OBJ_SPAWN_LIMIT"] = + "Osiągnięto limit pojawiania się obiektów! Rozważ włączenie opcji „Automatyczna zamiana elementów” na karcie Ustawienia, jeśli chcesz automatycznie zastępować stare elementy po osiągnięciu limitu.", ["GENERIC_CONFIRM"] = "Potwierdzać", - ["WARN_PED_SPAWN_LIMIT"] = "Osiągnięto limit pojawiania się pedałów! Rozważ włączenie opcji „Automatyczna zamiana elementów” na karcie Ustawienia, jeśli chcesz automatycznie zastępować stare elementy po osiągnięciu limitu.", + ["WARN_PED_SPAWN_LIMIT"] = + "Osiągnięto limit pojawiania się pedałów! Rozważ włączenie opcji „Automatyczna zamiana elementów” na karcie Ustawienia, jeśli chcesz automatycznie zastępować stare elementy po osiągnięciu limitu.", ["GENERIC_LEFT_RIGHT_LABEL"] = "Lewo/Prawo", ["INF_ATTACHMENT_DROP"] = "Załączniki zostały usunięte.", ["GENERIC_UP_DOWN_LABEL"] = "Góra/dół", @@ -224,7 +235,8 @@ return { ["YRV3_CLUB_WORK_CB"] = "Praca klubu motocyklowego", ["YRV3_SAFECASH_TOTAL"] = "Suma gotówki we wszystkich sejfach", ["YRV3_NC_CHANCE_ENCOUNTER_CB"] = "Zawsze sprawiający kłopoty", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Zawsze powoduje pojawienie się kłopotliwych misji w nocnym klubie i blokuje niewykonane misje VIP.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = + "Zawsze powoduje pojawienie się kłopotliwych misji w nocnym klubie i blokuje niewykonane misje VIP.", ["YRV3_CEO_SELL_CB"] = "Sprzedam skrzynię dyrektorską", ["YRV3_DAX_WORK_CB"] = "Praca Daxa", ["YRV3_HACKER_DEN_CD_CB"] = "Akta fabryki odzieży", @@ -239,29 +251,36 @@ return { ["YRV3_AUTOSELL_BUNKER_LABEL"] = "Bunkier", ["YRV3_SELL_MISSIONS_NOTIF"] = "Wyłączono najbardziej irytujące misje sprzedaży %s.", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Uwaga: obsługiwane są tylko te firmy:", - ["YRV3_SEXY_SHINABI_NOTICE"] = "Zamiast tego użyj skryptu Payphone Hits ShinyWasabi.\nNaciśnij [TAB], aby skopiować łącze GitHub.", - ["YRV3_SELL_MISSIONS_TT"] = "Opcje te nie zostaną zapisane. Każdy przycisk wyłącza najbardziej żmudne misje sprzedaży dla tej firmy.", - ["YRV3_SELL_MISSIONS_NOTE"] = "[UWAGA]: Jeśli planujesz sprzedawać więcej niż raz dla tej samej firmy, zmień sesje po zakończeniu pierwszej sprzedaży, aby zresetować misje, w przeciwnym razie druga najprawdopodobniej nie rozpocznie się.", + ["YRV3_SEXY_SHINABI_NOTICE"] = + "Zamiast tego użyj skryptu Payphone Hits ShinyWasabi.\nNaciśnij [TAB], aby skopiować łącze GitHub.", + ["YRV3_SELL_MISSIONS_TT"] = + "Opcje te nie zostaną zapisane. Każdy przycisk wyłącza najbardziej żmudne misje sprzedaży dla tej firmy.", + ["YRV3_SELL_MISSIONS_NOTE"] = + "[UWAGA]: Jeśli planujesz sprzedawać więcej niż raz dla tej samej firmy, zmień sesje po zakończeniu pierwszej sprzedaży, aby zresetować misje, w przeciwnym razie druga najprawdopodobniej nie rozpocznie się.", ["YRV3_AUTOSELL_CEO_LABEL"] = "Dyrektor Magazynów", ["YRV3_AUTOSELL_HANGAR_LABEL"] = "Hangar (tylko powietrze)", ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "Laboratorium Kwasowe", ["YRV3_AUTOSELL_CURRENT"] = "Obecnie sprzedaje: %s", - ["YRV3_AUTOSELL_TT"] = "Automatycznie kończy misję sprzedaży 20 sekund po jej rozpoczęciu. Nie wymaga interakcji z niczym innym niż rozpoczęcie misji.", + ["YRV3_AUTOSELL_TT"] = + "Automatycznie kończy misję sprzedaży 20 sekund po jej rozpoczęciu. Nie wymaga interakcji z niczym innym niż rozpoczęcie misji.", ["YRV3_MCT_UNAVAIL"] = "Główny terminal sterujący jest obecnie niedostępny.", ["YRV3_AUTOSELL_BIKER_LABEL"] = "Firmy motocyklowe", ["YRV3_MCT_TITLE"] = "Główny terminal sterujący", ["YRV3_AUTO_FILL_DELAY"] = "Globalne opóźnienie automatycznego wypełniania:", ["YRV3_AUTO_SELL_MANUAL"] = "Ręcznie Zakończ sprzedaż", ["SELF_PHONE_ANIMS"] = "Włącz animacje telefonu", - ["SELF_HEADPROPS_TT"] = "Zapobiega zdejmowaniu przez grę nakrycia głowy (czapki, hełmy, długie nakrycia głowy itp.) podczas wchodzenia do pojazdu.", + ["SELF_HEADPROPS_TT"] = + "Zapobiega zdejmowaniu przez grę nakrycia głowy (czapki, hełmy, długie nakrycia głowy itp.) podczas wchodzenia do pojazdu.", ["YRV3_INCOME_APPROX_ALL_TT"] = "Przejdź między wszystkimi kartami, aby zaktualizować łączną kwotę.", ["SELF_ACTION_MODE_TT"] = "Wyłącza niepewne ruchy gracza podczas walki.", ["SELF_ACTION_MODE"] = "Wyłącz tryb akcji", ["SELF_STAND_ON_VEHS"] = "Stań na pojazdach", ["SELF_CROUCH"] = "Kucanie", - ["SELF_NO_CARJACKING_TT"] = "Uniemożliwia NPC-om kradzież samochodu. Powinno to również zapobiegać graczom (nie testowano przeciwko graczom).", + ["SELF_NO_CARJACKING_TT"] = + "Uniemożliwia NPC-om kradzież samochodu. Powinno to również zapobiegać graczom (nie testowano przeciwko graczom).", ["SELF_NO_CARJACKING"] = "Żadnych kradzieży samochodów", - ["SELF_STAND_ON_VEHS_TT"] = "Zapobiega ragdollingowi, gdy stoisz na dachu pojazdu (nadal upadniesz, jeśli w coś uderzysz).", + ["SELF_STAND_ON_VEHS_TT"] = + "Zapobiega ragdollingowi, gdy stoisz na dachu pojazdu (nadal upadniesz, jeśli w coś uderzysz).", ["SELF_CROUCH_TT"] = "Sprawia, że ​​kucasz po naciśnięciu przycisku ukrywania się, podobnie jak w GTA San Andreas.", ["SELF_HANDS_UP"] = "Ręce do góry", ["SELF_SPRINT_INSIDE"] = "Wnętrza Sprintu", @@ -269,7 +288,8 @@ return { ["SELF_HANDS_UP_TT"] = "Zastępuje akcję „Wskaż” w GTA Online (domyślnie [B] na klawiaturze) animacją poddania się.", ["SELF_SPRINT_INSIDE_TT"] = "Umożliwia bieganie z pełną prędkością w większości wnętrz (nie we wszystkich).", ["SELF_CLUMSY"] = "Niezdarny", - ["SELF_LOCKPICK_ANIM_TT"] = "Zwiększa szansę na wykorzystanie animacji otwierania zamków podczas kradzieży pojazdów zamiast rozbijania szyby.", + ["SELF_LOCKPICK_ANIM_TT"] = + "Zwiększa szansę na wykorzystanie animacji otwierania zamków podczas kradzieży pojazdów zamiast rozbijania szyby.", ["SELF_PHONE_ANIMS_TT"] = "Przywraca animacje telefonu komórkowego w GTA Online.", ["SELF_REGEN_SPEED"] = "Szybkość regeneracji zdrowia", ["SELF_HEADPROPS"] = "Zezwalaj na podpórki pod głowę w pojazdach", @@ -290,31 +310,40 @@ return { ["VEH_SUBWOOFER"] = "Duży subwoofer", ["VEH_HIGH_BEAMS"] = "Wysokie światła na klaksonie", ["VEH_POPS_N_BANGS"] = "Popy i huki", - ["VEH_NOS_PURGE_TT"] = "Naciśnij przypisany klawisz (domyślnie [X]), aby wykonać czyszczenie NOS w stylu 2Fast 2Furious.", + ["VEH_NOS_PURGE_TT"] = + "Naciśnij przypisany klawisz (domyślnie [X]), aby wykonać czyszczenie NOS w stylu 2Fast 2Furious.", ["VEH_SUBWOOFER_TT"] = "Sprawia, że ​​głośniki pojazdu brzmią nieco głośniej i mają głębsze basy.", ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Włącza światła stopu za każdym razem, gdy się zatrzymasz. (Silnik musi pracować).", ["VEH_ABS_LIGHTS"] = "Wyświetlacz siły hamowania", - ["VEH_POPS_N_BANGS_TT"] = "Włącza głośne trzaski z rury wydechowej, które pojawiają się po każdym puszczeniu pedału przyspieszenia przy wysokich obrotach. PS: To przeraża pobliskich NPC-ów.", + ["VEH_POPS_N_BANGS_TT"] = + "Włącza głośne trzaski z rury wydechowej, które pojawiają się po każdym puszczeniu pedału przyspieszenia przy wysokich obrotach. PS: To przeraża pobliskich NPC-ów.", ["VEH_HIGH_BEAMS_TT"] = "Włącza światła drogowe za każdym razem, gdy trąbisz klaksonem", ["VEH_FAST_AF_TT"] = "Zwiększa prędkość maksymalną dowolnego pojazdu lądowego, którym jeździsz.", ["SELF_RAGDOLL_BLOCK_INFO"] = "Ta funkcja nie będzie działać, jeśli blokujesz ragdoll.", - ["VEH_ABS_LIGHTS_TT"] = "Miga światłami stopu podczas hamowania z dużej prędkości. Tylko do pojazdów wyposażonych w ABS.", - ["VEH_STRONG_WINDOWS_TT"] = "Szyby w Twoim pojeździe nigdy się nie stłuczą. O ile oczywiście nie zostanie wysadzony w powietrze.", + ["VEH_ABS_LIGHTS_TT"] = + "Miga światłami stopu podczas hamowania z dużej prędkości. Tylko do pojazdów wyposażonych w ABS.", + ["VEH_STRONG_WINDOWS_TT"] = + "Szyby w Twoim pojeździe nigdy się nie stłuczą. O ile oczywiście nie zostanie wysadzony w powietrze.", ["VEH_FLAPPY_DOORS"] = "Drzwi Flapowe", ["VEH_RGB_LIGHTS"] = "Reflektory RGB", ["VEH_STRONG_WINDOWS"] = "Niezniszczalne okna", ["VEH_FLAPPY_DOORS_TT"] = "Nie mam pojęcia, dlaczego to zrobiłem.", - ["VEH_STRONG_CRASH_TT"] = "Sprawia, że ​​awarie są bardziej przerażające z powodu drgań kamery, efektów ekranowych, większej deformacji i uszkodzeń. Kolizje przy dużej prędkości mogą być śmiertelne.", - ["VEH_RGB_LIGHTS_TT"] = "Uruchamia pętlę RGB w reflektorach pojazdu. Możesz dostosować prędkość w dolnej części tego okna.", + ["VEH_STRONG_CRASH_TT"] = + "Sprawia, że ​​awarie są bardziej przerażające z powodu drgań kamery, efektów ekranowych, większej deformacji i uszkodzeń. Kolizje przy dużej prędkości mogą być śmiertelne.", + ["VEH_RGB_LIGHTS_TT"] = + "Uruchamia pętlę RGB w reflektorach pojazdu. Możesz dostosować prędkość w dolnej części tego okna.", ["VEH_KEEP_WHEELS_TURNED"] = "Trzymaj koła skręcone", ["VEH_STRONG_CRASH"] = "Silniejsze awarie", ["VEH_LAUNCH_CTRL_TT"] = "Symuluje kontrolę startu. Dostępne tylko dla samochodów wyczynowych.", ["VEH_LAUNCH_CTRL"] = "Uruchom kontrolę", - ["VEH_IV_EXIT_TT"] = "Naśladuje styl opuszczania pojazdu z GTA IV: Przytrzymaj [F] przez jedną sekundę, aby wyłączyć silnik, lub naciśnij normalnie, aby pozostawić włączony.", + ["VEH_IV_EXIT_TT"] = + "Naśladuje styl opuszczania pojazdu z GTA IV: Przytrzymaj [F] przez jedną sekundę, aby wyłączyć silnik, lub naciśnij normalnie, aby pozostawić włączony.", ["VEH_MINES"] = "Kopalnie pojazdów", ["VEH_AUTO_LOCK"] = "Automatyczna blokada", - ["VEH_AUTO_LOCK_TT"] = "Automatycznie blokuje pojazd, gdy się od niego oddalisz i odblokowuje go ponownie, gdy spróbujesz ponownie wejść lub przełączyć się na inny pojazd.", - ["VEH_KEEP_WHEELS_TURNED_TT"] = "Uniemożliwia Twojej postaci gracza ponowne wycentrowanie kół podczas wychodzenia z pojazdu, teleportując Cię na zewnątrz.", + ["VEH_AUTO_LOCK_TT"] = + "Automatycznie blokuje pojazd, gdy się od niego oddalisz i odblokowuje go ponownie, gdy spróbujesz ponownie wejść lub przełączyć się na inny pojazd.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = + "Uniemożliwia Twojej postaci gracza ponowne wycentrowanie kół podczas wychodzenia z pojazdu, teleportując Cię na zewnątrz.", ["VEH_SPEED_BG"] = "Tło", ["VEH_SPEED_CIRCLE"] = "Koło", ["VEH_MINES_TT"] = "Umożliwia zrzucenie miny z dowolnego pojazdu lądowego.", @@ -352,10 +381,11 @@ return { ["VEH_PAINT_MATTE_TT"] = "Nakłada lub usuwa matowe wykończenie wybranego zadania malowania.", ["VEH_PAINT_MATTE_CB"] = "Kolor matowy", ["VEH_PAINT_NOT_SELECTED_ERR"] = "Proszę wybrać podstawowy, dodatkowy lub oba.", - ["VEH_PAINT_SAVE_TT"] = "Aby zapisać ten kolor w pojeździe osobistym, udaj się do modshopu i kup coś w rodzaju przyciemniacza szyb, wzoru tabliczki lub czegokolwiek innego.", + ["VEH_PAINT_SAVE_TT"] = + "Aby zapisać ten kolor w pojeździe osobistym, udaj się do modshopu i kup coś w rodzaju przyciemniacza szyb, wzoru tabliczki lub czegokolwiek innego.", ["VEH_PAINT_SECONDARY_CB"] = "Jako drugorzędne", ["VEH_PAINT_PRIMARY_CB"] = "Jako podstawowy", - ["VEH_ENGINE_SWAP_INCOMPATIBE"] = "Ta funkcja jest kompatybilna tylko z samochodami osobowymi i ciężarówkami.", + ["GENERIC_CARS_ONLY"] = "Ta funkcja jest kompatybilna tylko z samochodami osobowymi i ciężarówkami.", ["VEH_COBRA_MANEUVER_TOO_SlOW"] = "Twoja aktualna prędkość jest zbyt niska, aby wykonać Manewr Kobry!", ["VEH_COBRA_MANEUVER_TOO_lOW"] = "Twoja aktualna wysokość jest zbyt niska, aby wykonać Manewr Kobry!", ["VEH_COBRA_MANEUVER_TT"] = "Naciśnij [X] na klawiaturze, aby wykonać Manewr Kobry. Dostępne tylko dla odrzutowców.", @@ -398,27 +428,34 @@ return { ["EF_ENTITY_GUN"] = "Pistolet Istoty", ["EF_MULTIPLIER_LABEL"] = "Mnożnik %.2f", ["EF_MOVE_OBJECT"] = "Przesuń obiekt:", - ["EF_ENTITY_GUN_TT"] = "Wyceluj swoją bronią w istotę w świecie gry i naciśnij [E], aby dodać ją do puli kuźni. Po dodaniu będziesz mógł używać myszy do poruszania się i manipulowania nim.", - ["EF_IMPORT_DATA_NOTICE"] = "Masz dzieło o tej samej nazwie. Do nazwy dodano znacznik [import]. Nadal możesz zmienić jego nazwę później.", + ["EF_ENTITY_GUN_TT"] = + "Wyceluj swoją bronią w istotę w świecie gry i naciśnij [E], aby dodać ją do puli kuźni. Po dodaniu będziesz mógł używać myszy do poruszania się i manipulowania nim.", + ["EF_IMPORT_DATA_NOTICE"] = + "Masz dzieło o tej samej nazwie. Do nazwy dodano znacznik [import]. Nadal możesz zmienić jego nazwę później.", ["EF_IMPORT_SUCCESS"] = "Dane zostały pomyślnie zaimportowane.", ["EF_IMPORT_DATA_CLIPBOARD"] = "Wklej ze schowka", ["EF_CHILD_ALPHA"] = "Przezroczystość elementu podrzędnego: %d", - ["EF_SHARE_SUCCESS"] = "Twoje zapisane dzieło zostało skopiowane do schowka. Jeśli udostępnisz skopiowane dane innym użytkownikom tego skryptu, będą oni mogli zaimportować je do swoich zapisanych dzieł.", + ["EF_SHARE_SUCCESS"] = + "Twoje zapisane dzieło zostało skopiowane do schowka. Jeśli udostępnisz skopiowane dane innym użytkownikom tego skryptu, będą oni mogli zaimportować je do swoich zapisanych dzieł.", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "Twój schowek jest pusty!", ["GENERIC_APPLY"] = "Stosować", ["GENERIC_USE"] = "Używać", ["SELF_MAGIC_BULLET"] = "Magiczny Pocisk", - ["SELF_MAGIC_BULLET_TT"] = "Ta funkcja nie umożliwia automatycznego celowania ani automatycznego strzelania. Po prostu zapamiętuje ostatni punkt, w który celowałeś i przekierowuje twój strzał na ten punkt, kiedy strzelasz, nawet jeśli strzelasz gdzie indziej. Cel resetuje się, gdy przestajesz celować.", + ["SELF_MAGIC_BULLET_TT"] = + "Ta funkcja nie umożliwia automatycznego celowania ani automatycznego strzelania. Po prostu zapamiętuje ostatni punkt, w który celowałeś i przekierowuje twój strzał na ten punkt, kiedy strzelasz, nawet jeśli strzelasz gdzie indziej. Cel resetuje się, gdy przestajesz celować.", ["GENERIC_CLEAR"] = "Jasne", ["GENERIC_GENERAL_LABEL"] = "Ogólny", ["SUBTAB_GUI"] = "Interfejs użytkownika", ["SUBTAB_HANDLING_EDITOR"] = "Edytor obsługi", ["SELF_LASER_SIGHTS"] = "Celowniki laserowe", - ["SELF_LASER_SIGHTS_TT"] = "Włącza celowniki laserowe w broni palnej. Możesz włączać i wyłączać celowniki, naciskając [%s]", - ["VEH_FORCE_NO_TC_TT"] = "Tylko rowery: powoduje, że pojazd nie ma kontroli trakcji, co pozwala na pokonywanie driftów i poślizgów z rowerami.", + ["SELF_LASER_SIGHTS_TT"] = + "Włącza celowniki laserowe w broni palnej. Możesz włączać i wyłączać celowniki, naciskając [%s]", + ["VEH_FORCE_NO_TC_TT"] = + "Tylko rowery: powoduje, że pojazd nie ma kontroli trakcji, co pozwala na pokonywanie driftów i poślizgów z rowerami.", ["VEH_RALLY_TYRES_TT"] = "Wyposaża Twój pojazd w opony rajdowe, które dodatkowo poprawiają prowadzenie w terenie.", ["VEH_NO_ENGINE_BRAKE_TT"] = "Umożliwia jazdę bez naciskania pedału przyspieszenia bez utraty dużej prędkości.", - ["VEH_KERS_BOOST_TT"] = "Wyposaża Twój pojazd we wspomaganie KERS (system odzyskiwania energii kinetycznej), podobne do samochodów F1.", + ["VEH_KERS_BOOST_TT"] = + "Wyposaża Twój pojazd we wspomaganie KERS (system odzyskiwania energii kinetycznej), podobne do samochodów F1.", ["VEH_RALLY_TYRES"] = "Opony rajdowe", ["SELF_LASER_SIGHTS_LENGTH"] = "Długość promienia lasera", ["VEH_OFFROAD_ABILITIES"] = "Zdolności terenowe", @@ -427,13 +464,15 @@ return { ["SELF_LASER_SIGHTS_COL"] = "Kolor laserowy", ["VEH_KERS_BOOST"] = "Wzmocnienie KERS", ["VEH_OFFROAD_ABILITIES_TT"] = "Zwiększa możliwości terenowe Twojego pojazdu.", - ["VEH_LOW_SPEED_WHEELIE_TT"] = "Tylko rowery: umożliwia jazdę na kółkach przy bardzo małych prędkościach, podobnie jak w przypadku „Mancheza”.", + ["VEH_LOW_SPEED_WHEELIE_TT"] = + "Tylko rowery: umożliwia jazdę na kółkach przy bardzo małych prędkościach, podobnie jak w przypadku „Mancheza”.", ["VEH_ROCKET_BOOST"] = "Wzmocnienie rakiety", ["VEH_LOW_SPEED_WHEELIE"] = "Jazda na kółkach przy niskiej prędkości", ["VEH_JUMP_TT"] = "Wyposaża Twój pojazd w możliwość skoku, podobnie jak „Ruiner 2000”.", ["VEH_ROCKET_BOOST_TT"] = "Wyposaża Twój pojazd w doładowanie rakietowe, podobne do „Vigilante”.", ["SETTINGS_LANGUAGE"] = "Język", - ["VEH_PARACHUTE_TT"] = "Wyposaża twój pojazd w spadochron, podobny do „Ruiner 2000”.\n\nWażne: musi być również włączona możliwość skoku.", + ["VEH_PARACHUTE_TT"] = + "Wyposaża twój pojazd w spadochron, podobny do „Ruiner 2000”.\n\nWażne: musi być również włączona możliwość skoku.", ["VEH_STEER_ALL_WHEELS"] = "Sterowanie wszystkimi kołami", ["VEH_PARACHUTE"] = "Możliwość spadochronu", ["VEH_STEER_REAR_WHEELS"] = "Sterowanie tylnym kołem", @@ -441,7 +480,8 @@ return { ["SETTING_WINDOW_MOVEABLE"] = "Ruchome okno", ["VEH_STEER_HANDBRAKE"] = "Sterowanie hamulcem ręcznym", ["VEH_JUMP"] = "Możliwość skoku", - ["VEH_STEER_HANDBRAKE_TT"] = "Steruje tylnymi kołami pojazdu, gdy trzymasz hamulec ręczny, podobnie jak samochody-potwory.", + ["VEH_STEER_HANDBRAKE_TT"] = + "Steruje tylnymi kołami pojazdu, gdy trzymasz hamulec ręczny, podobnie jak samochody-potwory.", ["SETTING_WINDOW_POS_SNAP"] = "Przyciągaj do pozycji", ["SETTINGS_TOOLTIPS"] = "Wyłącz podpowiedzi", ["SETTINGS_UI_SOUND"] = "Wyłącz informację dźwiękową", @@ -452,11 +492,13 @@ return { ["SETTING_WINDOW_THEME"] = "Temat", ["SETTING_WINDOW_STYLE"] = "Styl okna", ["SETTING_WINDOW_WIDTH"] = "Szerokość okna", - ["SETTING_WINDOW_HEIGHT_TT"] = "Okno jest dynamiczne, zmienia rozmiar w pionie w zależności od zawartości.\n\nTa opcja pozwala ustawić maksymalną dozwoloną wysokość.", + ["SETTING_WINDOW_HEIGHT_TT"] = + "Okno jest dynamiczne, zmienia rozmiar w pionie w zależności od zawartości.\n\nTa opcja pozwala ustawić maksymalną dozwoloną wysokość.", ["SETTING_WINDOW_ACCENT_COL"] = "Kolor akcentujący", ["SETTING_WINDOW_HEIGHT"] = "Maksymalna wysokość okna", ["SETTING_WINDOW_ALPHA"] = "Przezroczystość okna", - ["SETTING_WINDOW_POS_TT"] = "Są to tylko wyświetlacze. Włącz opcję „Ruchome okno”, a następnie przeciągnij górny pasek, aby swobodnie przesuwać okno.", + ["SETTING_WINDOW_POS_TT"] = + "Są to tylko wyświetlacze. Włącz opcję „Ruchome okno”, a następnie przeciągnij górny pasek, aby swobodnie przesuwać okno.", ["SETTINGS_KEYBINDS_CONTROLLER"] = "Kontroler", ["SETTINGS_KEYBINDS_KEYBOARD"] = "Klawiatura", ["SETTING_WINDOW_TOP_FRAME_BG"] = "Gradient przycisku górnego paska", @@ -471,13 +513,16 @@ return { ["SELF_KATANA_TT"] = "Zastępuje jeden z czterech wybranych modeli broni białej kataną.", ["WRLD_FLEE_ALL"] = "Przestrasz wszystkich wrogów", ["WRLD_FLEE_ALL_NOTIF"] = "Zmuszanie pobliskich wrogów do ucieczki. Proszę czekać.", - ["WRLD_FLEE_ALL_TT"] = "Działa w pętli trwającej 5 sekund: Zmusza wszystkich znajdujących się w pobliżu wrogów do opuszczenia broni i ucieczki z obszaru.", + ["WRLD_FLEE_ALL_TT"] = + "Działa w pętli trwającej 5 sekund: Zmusza wszystkich znajdujących się w pobliżu wrogów do opuszczenia broni i ucieczki z obszaru.", ["WRLD_KILL_ALL_NOTIF"] = "Wykonano „Zabij wszystkich wrogów”", - ["WRLD_PUBLIC_ENEMY_TT"] = "Wszyscy pobliscy NPC złożą się na ciebie i skopią ci tyłek. Włącznie ze zwierzętami i policjantami.", + ["WRLD_PUBLIC_ENEMY_TT"] = + "Wszyscy pobliscy NPC złożą się na ciebie i skopią ci tyłek. Włącznie ze zwierzętami i policjantami.", ["WRLD_PUBLIC_ENEMY"] = "Wróg publiczny nr 1", ["GENERIC_IMPORTANT"] = "Ważny", ["SETTING_HOTKEY_FOUND"] = "Nowy klucz:", - ["GUI_NEW_LAYOUT_NOTICE"] = "Interfejs użytkownika skryptu jest teraz niezależny od menu. Naciśnij %s, aby to przełączyć.", + ["GUI_NEW_LAYOUT_NOTICE"] = + "Interfejs użytkownika skryptu jest teraz niezależny od menu. Naciśnij %s, aby to przełączyć.", ["YRV3_CWASH_LABEL"] = "Myjnia samochodowa", ["YRV3_CWASH_CASH_DIRTY"] = "Brudny:", ["YRV3_CWASH_NOT_OWNED"] = "Nie jesteś właścicielem myjni samochodowej.", @@ -487,7 +532,8 @@ return { ["SELF_MC_BIKE_ANIMS"] = "Włącz styl jazdy MC", ["YRV3_WEED_SHOP_LABEL"] = "Sklep z chwastami", ["YRV3_CWASH_WORK_EARNINGS"] = "Zarobki w pracy:", - ["SELF_MC_BIKE_ANIMS_TT"] = "Przywraca alternatywne animacje jazdy na rowerze, które z jakiegoś powodu zostały wyłączone. Aby te animacje działały, musisz być zarejestrowany jako MC i mieć włączoną tę opcję.", + ["SELF_MC_BIKE_ANIMS_TT"] = + "Przywraca alternatywne animacje jazdy na rowerze, które z jakiegoś powodu zostały wyłączone. Aby te animacje działały, musisz być zarejestrowany jako MC i mieć włączoną tę opcję.", ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Wyłącz czas odnowienia nielegalnej pracy", ["YRV3_CWASH_LEGAL_WORK_CD"] = "Wyłącz czas odnowienia legalnej pracy" } diff --git a/includes/lib/translations/pt-BR.lua b/includes/lib/translations/pt-BR.lua index 17270a3..d348b3f 100644 --- a/includes/lib/translations/pt-BR.lua +++ b/includes/lib/translations/pt-BR.lua @@ -25,7 +25,8 @@ return { ["VEH_DRIFT_SMOKE_TT"] = "Aumenta a quantidade de fumaça que seus pneus geram ao derrapar ou queimar.", ["GENERIC_CONFIRM_WARN"] = "Esta ação é irreversível. Tem certeza de que deseja prosseguir?", ["VEH_MG_TRIGGERBOT"] = "Gatilho de metralhadora", - ["VEH_FAST_JETS_TT"] = "Torna a maioria dos aviões mais rápidos, desde que possam atingir 240 km/h por padrão, sua velocidade máxima será aumentada para 555 km/h.\n\nAviões mais lentos como o Duster não se beneficiam disso, a menos que você os faça atingir o limite de velocidade à força mergulhando de nariz.\n\nNOTA: Seu equipamento (rodas do avião) deve estar elevado.", + ["VEH_FAST_JETS_TT"] = + "Torna a maioria dos aviões mais rápidos, desde que possam atingir 240 km/h por padrão, sua velocidade máxima será aumentada para 555 km/h.\n\nAviões mais lentos como o Duster não se beneficiam disso, a menos que você os faça atingir o limite de velocidade à força mergulhando de nariz.\n\nNOTA: Seu equipamento (rodas do avião) deve estar elevado.", ["VEH_MG_TRIGGERBOT_RANGE"] = "Alcance do Triggerbot", ["VEH_NO_TURBULENCE"] = "Turbulência Aérea Desativada", ["VEH_AUTOPILOT"] = "Piloto automático", @@ -39,17 +40,20 @@ return { ["VEH_MG_TRIGGERBOT_ENEMY"] = "Apenas inimigos", ["VEH_MG_MANUAL_AIM"] = "Mira manual da metralhadora", ["VEH_MG_MANUAL_AIM_TT"] = "Permite que você mire manualmente a metralhadora da sua aeronave.", - ["VEH_FLARES_TT"] = "Permite que você lance sinalizadores de qualquer aeronave usando o botão de contramedidas padrão.", + ["VEH_FLARES_TT"] = + "Permite que você lance sinalizadores de qualquer aeronave usando o botão de contramedidas padrão.", ["WRLD_HNS"] = "Esconde-esconde", ["VEH_SEAT_PREV"] = "Assento Anterior", - ["WRLD_HNS_TT"] = "Permite que você se esconda dentro de veículos, porta-malas ou lixeiras. Se você tiver um nível de procurado, a polícia irá perdê-lo, desde que você se esconda antes de ser localizado.", + ["WRLD_HNS_TT"] = + "Permite que você se esconda dentro de veículos, porta-malas ou lixeiras. Se você tiver um nível de procurado, a polícia irá perdê-lo, desde que você se esconda antes de ser localizado.", ["VEH_SEAT_NEXT"] = "Próximo assento", ["WRLD_FLIGHT_MUSIC"] = "Desativar música de voo", ["WRLD_DISABLE_WAVES"] = "Desativar ondas oceânicas", ["WRLD_EXTEND_BOUNDS"] = "Amplie as Fronteiras Mundiais", ["WRLD_EXTEND_BOUNDS_TT"] = "Permite que você viaje pelo mundo em qualquer direção.", ["WRLD_CARPOOL_TT"] = "Permite que você entre em veículos NPC como passageiro.", - ["YAV3_STOP_BTN_HINT"] = "DICA: Você pode pressionar %s para parar de executar qualquer ação ou mantê-lo pressionado por um segundo para limpar tudo.", + ["YAV3_STOP_BTN_HINT"] = + "DICA: Você pode pressionar %s para parar de executar qualquer ação ou mantê-lo pressionado por um segundo para limpar tudo.", ["FLTBD_MAIN_CB"] = "Habilitar script", ["FLTBD_SHOW_TOWPOS_CB"] = "Mostrar posição de reboque", ["WRLD_CARPOOL"] = "Carona", @@ -69,20 +73,27 @@ return { ["FLTBD_NEARBY_VEH_TXT"] = "Veículo mais próximo:", ["SETTINGS_ENTITY_REPLACE"] = "Substituir entidades automaticamente", ["FLTBD_CARS_ONLY_ERR"] = "Você só pode rebocar carros, caminhões e bicicletas.", - ["FLTBD_TOW_ALL_TT"] = "Por padrão, o caminhão reboca apenas carros, caminhões e bicicletas. Esta opção remove essa limitação.", - ["FTLBD_GET_IN_MSG"] = "No momento, você não está em um caminhão-plataforma. Você pode roubar um da rua ou usar o botão abaixo para gerar um novo.", + ["FLTBD_TOW_ALL_TT"] = + "Por padrão, o caminhão reboca apenas carros, caminhões e bicicletas. Esta opção remove essa limitação.", + ["FTLBD_GET_IN_MSG"] = + "No momento, você não está em um caminhão-plataforma. Você pode roubar um da rua ou usar o botão abaixo para gerar um novo.", ["SETTINGS_CFG_RESET"] = "Redefinir configuração salva", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Opcional: Escolha os itens de configuração a serem mantidos.", - ["SETTINGS_ENTITY_REPLACE_TT"] = "Este projeto tem um limite de quantas entidades você pode gerar (pedestres, veículos, objetos). Todos os recursos obedecem a esse limite para evitar spam de entidades ou sufocar o jogo. Esta opção permite que o script substitua automaticamente entidades antigas geradas quando você atingir o limite para um determinado tipo de entidade e tentar gerar uma nova.", - ["WARN_VEH_SPAWN_LIMIT"] = "Limite de geração de veículos atingido! Considere ativar 'Substituir automaticamente entidades' na guia Configurações se quiser substituir automaticamente entidades antigas quando atingir o limite.", + ["SETTINGS_ENTITY_REPLACE_TT"] = + "Este projeto tem um limite de quantas entidades você pode gerar (pedestres, veículos, objetos). Todos os recursos obedecem a esse limite para evitar spam de entidades ou sufocar o jogo. Esta opção permite que o script substitua automaticamente entidades antigas geradas quando você atingir o limite para um determinado tipo de entidade e tentar gerar uma nova.", + ["WARN_VEH_SPAWN_LIMIT"] = + "Limite de geração de veículos atingido! Considere ativar 'Substituir automaticamente entidades' na guia Configurações se quiser substituir automaticamente entidades antigas quando atingir o limite.", ["INF_ATTACHMENT_NONE"] = "Não parece haver nada ligado a nós.", ["GENERIC_POSITION_LABEL"] = "Posição", ["GENERIC_OPTIONS_LABEL"] = "Opções", ["INF_ATTACHMENT_DROP"] = "Anexos descartados.", ["GENERIC_UNAVAILABLE"] = "Atualmente indisponível.", - ["WARN_PED_SPAWN_LIMIT"] = "Limite de spawn de Ped atingido! Considere ativar 'Substituir automaticamente entidades' na guia Configurações se quiser substituir automaticamente entidades antigas quando atingir o limite.", - ["GENERIC_OFFLINE_OR_OUTDATED"] = "Você precisa estar online e ter a versão mais recente do script para acessar esse recurso!", - ["WARN_OBJ_SPAWN_LIMIT"] = "Limite de geração de objetos atingido! Considere ativar 'Substituir automaticamente entidades' na guia Configurações se quiser substituir automaticamente entidades antigas quando atingir o limite.", + ["WARN_PED_SPAWN_LIMIT"] = + "Limite de spawn de Ped atingido! Considere ativar 'Substituir automaticamente entidades' na guia Configurações se quiser substituir automaticamente entidades antigas quando atingir o limite.", + ["GENERIC_OFFLINE_OR_OUTDATED"] = + "Você precisa estar online e ter a versão mais recente do script para acessar esse recurso!", + ["WARN_OBJ_SPAWN_LIMIT"] = + "Limite de geração de objetos atingido! Considere ativar 'Substituir automaticamente entidades' na guia Configurações se quiser substituir automaticamente entidades antigas quando atingir o limite.", ["GENERIC_LEFT_RIGHT_LABEL"] = "Esquerda/Direita", ["GENERIC_UP_DOWN_LABEL"] = "Para cima/para baixo", ["GENERIC_COLORS_LABEL"] = "Cores", @@ -120,7 +131,8 @@ return { ["CP_MUST_BE_AT_WHEEL"] = "Você deve estar na Roda da Sorte para receber este prêmio!", ["CP_COOLDOWN_BYPASS"] = "Ignorar o tempo de espera das fichas de cassino", ["CP_COOLDOWN_BYPASS_STATUS"] = "Status:", - ["CP_COOLDOWN_BYPASS_TOOLTIP"] = "Desativa o tempo de espera do cassino, pode resultar em banimento. Use por sua conta e risco.", + ["CP_COOLDOWN_BYPASS_TOOLTIP"] = + "Desativa o tempo de espera do cassino, pode resultar em banimento. Use por sua conta e risco.", ["CP_COOLDOWN_BYPASS_ENABLE"] = "Habilitar Ignorar", ["CP_COOLDOWN_BYPASS_STATUS_FORMAT"] = "Recarga por %.2f minuto(s).", ["CP_COOLDOWN_BYPASS_STATUS_OFF"] = "Fora do tempo de espera", @@ -224,7 +236,8 @@ return { ["YRV3_CEO_SELL_CB"] = "Venda de caixa do CEO", ["YRV3_CEO_BUY_CB"] = "Compra de caixa do CEO", ["YRV3_DAX_WORK_CB"] = "Dax Trabalho", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Sempre gera as missões da boate encrenqueira e desativa as missões VIP eliminadas.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = + "Sempre gera as missões da boate encrenqueira e desativa as missões VIP eliminadas.", ["YRV3_SAFECASH_TOTAL"] = "Total de dinheiro em todos os cofres", ["YRV3_PAYHPONE_HITS_CB"] = "Acessos a telefones públicos", ["YRV3_IE_VEH_STEAL_CB"] = "Fornecimento de veículos I/E", @@ -232,11 +245,13 @@ return { ["YRV3_CFR_CD_CB"] = "Invasão à fábrica de frango", ["YRV3_HACKER_DEN_CD_CB"] = "Arquivos de fábrica de roupas", ["YRV3_SECURITY_WORK_CB"] = "Missões de Segurança", - ["YRV3_SEXY_SHINABI_NOTICE"] = "Use o script Payphone Hits do ShinyWasabi.\nPressione [TAB] para copiar o link do GitHub.", + ["YRV3_SEXY_SHINABI_NOTICE"] = + "Use o script Payphone Hits do ShinyWasabi.\nPressione [TAB] para copiar o link do GitHub.", ["YRV3_CB_CHECK_ALL"] = "Verifique tudo", ["YRV3_CB_UNCHECK_ALL"] = "Desmarque tudo", ["YRV3_COOLDOWNS_LABEL"] = "Recargas", - ["YRV3_SELL_MISSIONS_NOTE"] = "[NOTA]: Se você planeja vender mais de uma vez para o mesmo negócio, troque de sessão após terminar a primeira venda para redefinir as missões, caso contrário, uma segunda provavelmente não será iniciada.", + ["YRV3_SELL_MISSIONS_NOTE"] = + "[NOTA]: Se você planeja vender mais de uma vez para o mesmo negócio, troque de sessão após terminar a primeira venda para redefinir as missões, caso contrário, uma segunda provavelmente não será iniciada.", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Observação: apenas estas empresas são suportadas:", ["YRV3_SELL_MISSIONS_NOTIF"] = "Desativadas as missões de venda mais irritantes de %s.", ["YRV3_AUTOSELL_BUNKER_LABEL"] = "Bunker", @@ -244,9 +259,11 @@ return { ["YRV3_SELL_MISSIONS_LABEL"] = "Vender Missões", ["YRV3_AUTOSELL_CEO_LABEL"] = "Armazéns CEO", ["YRV3_AUTOSELL_BIKER_LABEL"] = "Negócios de motociclistas", - ["YRV3_AUTOSELL_TT"] = "Termina automaticamente uma missão de venda 20 segundos após seu início. Não exige que você interaja com nada além de iniciar a missão.", + ["YRV3_AUTOSELL_TT"] = + "Termina automaticamente uma missão de venda 20 segundos após seu início. Não exige que você interaja com nada além de iniciar a missão.", ["YRV3_AUTOSELL_CURRENT"] = "Vendendo atualmente: %s", - ["YRV3_SELL_MISSIONS_TT"] = "Essas opções não serão salvas. Cada botão desativa as missões de venda mais tediosas para aquele negócio.", + ["YRV3_SELL_MISSIONS_TT"] = + "Essas opções não serão salvas. Cada botão desativa as missões de venda mais tediosas para aquele negócio.", ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "Laboratório de Ácido", ["YRV3_AUTO_FILL_DELAY"] = "Atraso global de preenchimento automático:", ["YRV3_MCT_TITLE"] = "Terminal de controle mestre", @@ -257,21 +274,26 @@ return { ["YRV3_AUTO_SELL_MANUAL"] = "Concluir venda manualmente", ["SELF_AUTOHEAL_TT"] = "Regenera sua saúde e armadura.", ["SELF_ACTION_MODE_TT"] = "Desativa os movimentos bruscos do jogador durante o combate.", - ["SELF_HEADPROPS_TT"] = "Impede que o jogo remova seus equipamentos de cabeça (chapéus, capacetes, harcuts longos, etc.) ao entrar em um veículo.", + ["SELF_HEADPROPS_TT"] = + "Impede que o jogo remova seus equipamentos de cabeça (chapéus, capacetes, harcuts longos, etc.) ao entrar em um veículo.", ["SELF_PHONE_ANIMS"] = "Ativar animações do telefone", ["SELF_ACTION_MODE"] = "Desativar modo de ação", ["YRV3_MCT_UNAVAIL"] = "O Terminal de Controle Mestre não está disponível no momento.", ["SELF_HEADPROPS"] = "Permitir suportes de cabeça em veículos", ["SELF_PHONE_ANIMS_TT"] = "Restaura animações de celular no GTA Online.", ["SELF_NO_CARJACKING"] = "Sem roubo de carro", - ["SELF_NO_CARJACKING_TT"] = "Impede que NPCs roubem seu carro. Deve impedir jogadores também (não testado contra jogadores).", + ["SELF_NO_CARJACKING_TT"] = + "Impede que NPCs roubem seu carro. Deve impedir jogadores também (não testado contra jogadores).", ["SELF_CROUCH"] = "Agachar", - ["SELF_STAND_ON_VEHS_TT"] = "Impede que você faça ragdoll quando estiver em cima de um veículo (você ainda cairá se bater em alguma coisa).", + ["SELF_STAND_ON_VEHS_TT"] = + "Impede que você faça ragdoll quando estiver em cima de um veículo (você ainda cairá se bater em alguma coisa).", ["SELF_STAND_ON_VEHS"] = "Fique em veículos", ["SELF_SPRINT_INSIDE"] = "Sprint dentro de interiores", - ["SELF_HANDS_UP_TT"] = "Substitui a ação 'Point At' no GTA Online (padrão [B] no teclado) por uma animação de rendição.", + ["SELF_HANDS_UP_TT"] = + "Substitui a ação 'Point At' no GTA Online (padrão [B] no teclado) por uma animação de rendição.", ["SELF_CROUCH_TT"] = "Faz você se agachar ao pressionar o botão furtivo, semelhante ao GTA San Andreas.", - ["SELF_LOCKPICK_ANIM_TT"] = "Aumenta a chance de usar a animação de arrombamento ao roubar veículos em vez de quebrar a janela.", + ["SELF_LOCKPICK_ANIM_TT"] = + "Aumenta a chance de usar a animação de arrombamento ao roubar veículos em vez de quebrar a janela.", ["SELF_SPRINT_INSIDE_TT"] = "Permite que você corra a toda velocidade na maioria dos interiores (não em todos).", ["SELF_HANDS_UP"] = "Mãos ao alto", ["SELF_LOCKPICK_ANIM"] = "Animação de bloqueio", @@ -290,14 +312,19 @@ return { ["VEH_NOS"] = "N.S.", ["VEH_NOS_PURGE"] = "Purga do NOS", ["VEH_ABS_LIGHTS"] = "Exibição da força de freio", - ["VEH_ABS_LIGHTS_TT"] = "Pisca as luzes de freio ao frear em alta velocidade. Somente para veículos equipados com ABS.", - ["VEH_POPS_N_BANGS_TT"] = "Permite altos estalos de escapamento que são acionados cada vez que você solta o acelerador em altas rotações. PS: Isso assusta os NPCs próximos.", + ["VEH_ABS_LIGHTS_TT"] = + "Pisca as luzes de freio ao frear em alta velocidade. Somente para veículos equipados com ABS.", + ["VEH_POPS_N_BANGS_TT"] = + "Permite altos estalos de escapamento que são acionados cada vez que você solta o acelerador em altas rotações. PS: Isso assusta os NPCs próximos.", ["VEH_SUBWOOFER"] = "Subwoofer grande", ["VEH_POPS_N_BANGS"] = "Pops e franjas", ["VEH_HIGH_BEAMS_TT"] = "Pisca o farol alto sempre que você buzina", - ["VEH_SUBWOOFER_TT"] = "Faz com que os alto-falantes do seu veículo soem um pouco mais altos e tenham graves mais profundos.", - ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Acende as luzes de freio sempre que você está parado. (O motor deve estar funcionando).", - ["VEH_STRONG_CRASH_TT"] = "Torna as colisões mais assustadoras com tremores de câmera, efeitos de tela, mais deformação e danos. Colisões em alta velocidade podem ser fatais.", + ["VEH_SUBWOOFER_TT"] = + "Faz com que os alto-falantes do seu veículo soem um pouco mais altos e tenham graves mais profundos.", + ["VEH_AUTO_BRAKE_LIGHTS_TT"] = + "Acende as luzes de freio sempre que você está parado. (O motor deve estar funcionando).", + ["VEH_STRONG_CRASH_TT"] = + "Torna as colisões mais assustadoras com tremores de câmera, efeitos de tela, mais deformação e danos. Colisões em alta velocidade podem ser fatais.", ["VEH_HIGH_BEAMS"] = "Faróis altos na buzina", ["VEH_AUTO_BRAKE_LIGHTS"] = "Luzes de freio automático", ["VEH_STRONG_WINDOWS"] = "Janelas inquebráveis", @@ -305,10 +332,12 @@ return { ["VEH_FLAPPY_DOORS"] = "Portas basculantes", ["VEH_STRONG_WINDOWS_TT"] = "As janelas do seu veículo nunca quebrarão. A menos que seja explodido, é claro.", ["VEH_RGB_LIGHTS"] = "Faróis RGB", - ["VEH_RGB_LIGHTS_TT"] = "Inicia um loop RGB nos faróis do seu veículo. Você pode ajustar a velocidade na parte inferior desta janela.", + ["VEH_RGB_LIGHTS_TT"] = + "Inicia um loop RGB nos faróis do seu veículo. Você pode ajustar a velocidade na parte inferior desta janela.", ["VEH_FLAPPY_DOORS_TT"] = "Não tenho ideia de por que fiz isso.", ["VEH_IV_EXIT"] = "Saída estilo IV", - ["VEH_AUTO_LOCK_TT"] = "Tranca automaticamente o seu veículo quando você se afasta dele e destranca-o novamente quando você tenta entrar novamente ou mudar para um veículo diferente.", + ["VEH_AUTO_LOCK_TT"] = + "Tranca automaticamente o seu veículo quando você se afasta dele e destranca-o novamente quando você tenta entrar novamente ou mudar para um veículo diferente.", ["VEH_LAUNCH_CTRL_TT"] = "Simula o controle de lançamento. Disponível apenas para carros de alto desempenho.", ["VEH_KEEP_WHEELS_TURNED"] = "Mantenha as rodas giradas", ["VEH_AUTO_LOCK"] = "Bloqueio automático", @@ -319,10 +348,12 @@ return { ["VEH_MINES_TT"] = "Permite que você solte uma mina de qualquer veículo terrestre.", ["VEH_SPEED_UNIT"] = "Unidade de velocidade", ["VEH_SPEED_BG"] = "Fundo", - ["VEH_KEEP_WHEELS_TURNED_TT"] = "Impede que seu personagem centralize novamente as rodas ao sair de um veículo, teletransportando você para fora.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = + "Impede que seu personagem centralize novamente as rodas ao sair de um veículo, teletransportando você para fora.", ["VEH_SPEED_NEEDLE"] = "Agulha", ["VEH_MINES"] = "Minas de veículos", - ["VEH_IV_EXIT_TT"] = "Imita o estilo de saída do veículo do GTA IV: Segure [F] por um segundo para desligar o motor ou pressione normalmente para deixá-lo funcionando.", + ["VEH_IV_EXIT_TT"] = + "Imita o estilo de saída do veículo do GTA IV: Segure [F] por um segundo para desligar o motor ou pressione normalmente para deixá-lo funcionando.", ["VEH_DRIFT_MODE_STRONG"] = "Forte", ["VEH_DRIFT_MODE_SLIPPERY"] = "Escorregadio", ["VEH_SPEED_NEEDLE_BASE"] = "Base de agulha", @@ -354,11 +385,12 @@ return { ["VEH_PAINT_MATTE_TT"] = "Aplica ou remove um acabamento fosco na pintura selecionada.", ["VEH_PAINT_NOT_SELECTED_ERR"] = "Selecione primário ou secundário ou ambos.", ["VEH_PAINT_SECONDARY_CB"] = "Como secundário", - ["VEH_PAINT_SAVE_TT"] = "Para salvar essa cor em um veículo pessoal, vá a uma loja de moda e compre algo como tinta para janela ou estilo de placa ou qualquer coisa.", + ["VEH_PAINT_SAVE_TT"] = + "Para salvar essa cor em um veículo pessoal, vá a uma loja de moda e compre algo como tinta para janela ou estilo de placa ou qualquer coisa.", ["VEH_COBRA_MANEUVER"] = "Manobra da Cobra", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "Atraso entre jogadas", ["VEH_COBRA_MANEUVER_NOT_LEVEL"] = "Nivele seu jato primeiro.", - ["VEH_ENGINE_SWAP_INCOMPATIBE"] = "Este recurso é compatível apenas com carros e caminhões.", + ["GENERIC_CARS_ONLY"] = "Este recurso é compatível apenas com carros e caminhões.", ["VEH_COBRA_MANEUVER_CANCEL"] = "Realizando manobra de cobra. Pressione [CTRL] para cancelar e recuperar o controle.", ["VEH_COBRA_MANEUVER_INTERRUPT"] = "A Manobra Cobra foi interrompida! Devolvendo o controle ao jogador.", ["VEH_COBRA_MANEUVER_TOO_SlOW"] = "Sua velocidade atual é muito baixa para realizar uma Manobra Cobra!", @@ -397,43 +429,54 @@ return { ["EF_ENTITY_GUN"] = "Arma de Entidade", ["EF_SAVED_NONE"] = "Você não tem nenhuma criação salva.", ["EF_CHILD_ALPHA"] = "Transparência do item filho: %d", - ["EF_IMPORT_DATA_NOTICE"] = "Você tem uma criação com o mesmo nome. Uma tag [import] foi adicionada ao nome. Você ainda pode renomeá-lo mais tarde.", + ["EF_IMPORT_DATA_NOTICE"] = + "Você tem uma criação com o mesmo nome. Uma tag [import] foi adicionada ao nome. Você ainda pode renomeá-lo mais tarde.", ["EF_IMPORT_DATA_INSTR"] = "Cole os dados do Forge aqui:", ["EF_IMPORT_DATA_CLIPBOARD"] = "Colar da área de transferência", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "Sua área de transferência está vazia!", ["EF_MULTIPLIER_LABEL"] = "Multiplicador %.2f", - ["EF_ENTITY_GUN_TT"] = "Aponte sua arma para uma entidade no mundo do jogo e pressione [E] para adicioná-la ao conjunto de forja. Depois de adicionado, você poderá usar o mouse para movê-lo e manipulá-lo.", - ["EF_SHARE_SUCCESS"] = "Sua criação salva foi copiada para a área de transferência. Se você compartilhar os dados copiados com outros usuários deste script, eles poderão importá-los para suas criações salvas.", + ["EF_ENTITY_GUN_TT"] = + "Aponte sua arma para uma entidade no mundo do jogo e pressione [E] para adicioná-la ao conjunto de forja. Depois de adicionado, você poderá usar o mouse para movê-lo e manipulá-lo.", + ["EF_SHARE_SUCCESS"] = + "Sua criação salva foi copiada para a área de transferência. Se você compartilhar os dados copiados com outros usuários deste script, eles poderão importá-los para suas criações salvas.", ["EF_IMPORT_SUCCESS"] = "Dados importados com sucesso.", ["GENERIC_APPLY"] = "Aplicar", ["GENERIC_USE"] = "Usar", - ["SELF_MAGIC_BULLET_TT"] = "Este recurso não mira nem dispara automaticamente. Ele simplesmente lembra o último ped que você mirou e redireciona seu tiro para esse ped quando você dispara, mesmo se você atirar em outro lugar. O alvo é redefinido quando você para de mirar.", + ["SELF_MAGIC_BULLET_TT"] = + "Este recurso não mira nem dispara automaticamente. Ele simplesmente lembra o último ped que você mirou e redireciona seu tiro para esse ped quando você dispara, mesmo se você atirar em outro lugar. O alvo é redefinido quando você para de mirar.", ["SELF_MAGIC_BULLET"] = "Bala Mágica", ["SUBTAB_GUI"] = "Interface do usuário", ["GENERIC_CLEAR"] = "Claro", ["SELF_LASER_SIGHTS"] = "Miras Laser", - ["SELF_LASER_SIGHTS_TT"] = "Permite mira a laser em suas armas de fogo. Você pode ativar e desativar a mira pressionando [%s]", + ["SELF_LASER_SIGHTS_TT"] = + "Permite mira a laser em suas armas de fogo. Você pode ativar e desativar a mira pressionando [%s]", ["VEH_KERS_BOOST"] = "Impulso KERS", - ["VEH_KERS_BOOST_TT"] = "Equipa seu veículo com impulso KERS (Sistema de Recuperação de Energia Cinética), semelhante aos carros de F1.", + ["VEH_KERS_BOOST_TT"] = + "Equipa seu veículo com impulso KERS (Sistema de Recuperação de Energia Cinética), semelhante aos carros de F1.", ["GENERIC_GENERAL_LABEL"] = "Em geral", ["SELF_LASER_SIGHTS_LENGTH"] = "Comprimento do raio laser", ["SELF_LASER_SIGHTS_COL"] = "Laser colorido", - ["VEH_NO_ENGINE_BRAKE_TT"] = "Permite que você desacelere quando não estiver pressionando o acelerador sem perder tanta velocidade.", + ["VEH_NO_ENGINE_BRAKE_TT"] = + "Permite que você desacelere quando não estiver pressionando o acelerador sem perder tanta velocidade.", ["SUBTAB_HANDLING_EDITOR"] = "Editor de manipulação", ["VEH_NO_ENGINE_BRAKE"] = "Desativar a frenagem do motor", ["VEH_OFFROAD_ABILITIES"] = "Habilidades off-road", ["VEH_RALLY_TYRES"] = "Pneus de rali", ["VEH_RALLY_TYRES_TT"] = "Equipa seu veículo com pneus de rally que melhoram ainda mais o manuseio offroad.", - ["VEH_LOW_SPEED_WHEELIE_TT"] = "Somente bicicletas: permite que você faça cavalinhos em velocidades muito baixas, semelhante ao 'Manchez'.", + ["VEH_LOW_SPEED_WHEELIE_TT"] = + "Somente bicicletas: permite que você faça cavalinhos em velocidades muito baixas, semelhante ao 'Manchez'.", ["VEH_LOW_SPEED_WHEELIE"] = "Cavalinho de baixa velocidade", ["VEH_ROCKET_BOOST"] = "Impulso de foguete", ["VEH_OFFROAD_ABILITIES_TT"] = "Aumenta as capacidades offroad do seu veículo.", ["VEH_ROCKET_BOOST_TT"] = "Equipa seu veículo com impulso de foguete, semelhante ao 'Vigilante'.", ["VEH_FORCE_NO_TC"] = "Sem controle de tração", - ["VEH_FORCE_NO_TC_TT"] = "Somente bicicletas: Força seu veículo a não ter controle de tração, o que permite derrapagens e derrapagens com bicicletas.", - ["VEH_PARACHUTE_TT"] = "Equipa seu veículo com um pára-quedas, semelhante ao 'Ruiner 2000'.\n\nImportante: a capacidade de salto também deve estar ativada.", + ["VEH_FORCE_NO_TC_TT"] = + "Somente bicicletas: Força seu veículo a não ter controle de tração, o que permite derrapagens e derrapagens com bicicletas.", + ["VEH_PARACHUTE_TT"] = + "Equipa seu veículo com um pára-quedas, semelhante ao 'Ruiner 2000'.\n\nImportante: a capacidade de salto também deve estar ativada.", ["VEH_JUMP_TT"] = "Equipa seu veículo com capacidade de salto, semelhante ao 'Ruiner 2000'.", - ["VEH_STEER_HANDBRAKE_TT"] = "Dirige as rodas traseiras do seu veículo quando você segura o freio de mão, semelhante aos carros monstruosos.", + ["VEH_STEER_HANDBRAKE_TT"] = + "Dirige as rodas traseiras do seu veículo quando você segura o freio de mão, semelhante aos carros monstruosos.", ["VEH_STEER_ALL_WHEELS"] = "Direção em todas as rodas", ["VEH_PARACHUTE"] = "Capacidade de pára-quedas", ["VEH_STEER_HANDBRAKE"] = "Direção do freio de mão", @@ -444,8 +487,10 @@ return { ["SETTING_WINDOW_MOVEABLE_TT"] = "Permite que você mova livremente a janela", ["SETTING_WINDOW_POS_Y"] = "Posição Y", ["SETTING_WINDOW_POS_X"] = "Posição X", - ["SETTING_WINDOW_HEIGHT_TT"] = "A janela é dinâmica, ela se redimensiona verticalmente com base no conteúdo.\n\nEsta opção permite definir a altura máxima permitida.", - ["SETTING_WINDOW_POS_TT"] = "Estes são apenas para exibição. Habilite 'Janela Móvel' e arraste a barra superior para mover a janela livremente.", + ["SETTING_WINDOW_HEIGHT_TT"] = + "A janela é dinâmica, ela se redimensiona verticalmente com base no conteúdo.\n\nEsta opção permite definir a altura máxima permitida.", + ["SETTING_WINDOW_POS_TT"] = + "Estes são apenas para exibição. Habilite 'Janela Móvel' e arraste a barra superior para mover a janela livremente.", ["VEH_STEER_REAR_WHEELS"] = "Direção da roda traseira", ["VEH_JUMP"] = "Capacidade de salto", ["SETTING_WINDOW_WIDTH"] = "Largura da janela", @@ -466,7 +511,8 @@ return { ["SELF_KATANA"] = "Katana", ["SELF_KATANA_TT"] = "Substitui um dos quatro modelos de armas brancas de sua escolha por uma Katana.", ["GENERIC_NOT_IN_COMBAT"] = "Você não está em combate com ninguém.", - ["WRLD_FLEE_ALL_TT"] = "Funciona em um loop de 5 segundos: Força todos os inimigos próximos a largarem suas armas e fugirem da área.", + ["WRLD_FLEE_ALL_TT"] = + "Funciona em um loop de 5 segundos: Força todos os inimigos próximos a largarem suas armas e fugirem da área.", ["WRLD_KILL_ALL"] = "Mate todos os inimigos", ["WRLD_FLEE_ALL"] = "Assustar todos os inimigos", ["WRLD_FLEE_ALL_NOTIF"] = "Forçando os inimigos próximos a fugir. Por favor, aguarde.", @@ -474,7 +520,8 @@ return { ["WRLD_KILL_ALL_TT"] = "Mata todos os inimigos próximos.", ["WRLD_KILL_ALL_NOTIF"] = "Executado 'Matar todos os inimigos'", ["WRLD_PUBLIC_ENEMY"] = "Inimigo Público nº 1", - ["WRLD_PUBLIC_ENEMY_TT"] = "Todos os NPCs próximos irão se unir contra você e bater em você. Incluindo animais e policiais.", + ["WRLD_PUBLIC_ENEMY_TT"] = + "Todos os NPCs próximos irão se unir contra você e bater em você. Incluindo animais e policiais.", ["GENERIC_IMPORTANT"] = "Importante", ["GUI_NEW_LAYOUT_NOTICE"] = "A UI do script agora é independente do menu. Pressione %s para alternar.", ["SETTING_HOTKEY_FOUND"] = "Nova chave:", @@ -488,6 +535,7 @@ return { ["YRV3_CWASH_HEAT"] = "Nível de calor:", ["YRV3_CWASH_LEGAL_WORK_CD"] = "Desativar tempo de espera para trabalho jurídico", ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Desativar tempo de espera para trabalho ilegal", - ["SELF_MC_BIKE_ANIMS_TT"] = "Restaura as animações alternativas de andar de bicicleta que foram desativadas por algum motivo. Você deve estar registrado como MC e ter esta opção habilitada para que essas animações funcionem.", + ["SELF_MC_BIKE_ANIMS_TT"] = + "Restaura as animações alternativas de andar de bicicleta que foram desativadas por algum motivo. Você deve estar registrado como MC e ter esta opção habilitada para que essas animações funcionem.", ["SELF_MC_BIKE_ANIMS"] = "Ativar estilo de pilotagem MC" } diff --git a/includes/lib/translations/ru-RU.lua b/includes/lib/translations/ru-RU.lua index 77bed12..37f3d1a 100644 --- a/includes/lib/translations/ru-RU.lua +++ b/includes/lib/translations/ru-RU.lua @@ -31,7 +31,8 @@ return { ["VEH_MG_TRIGGERBOT_ENEMY_TT"] = "Робот-пулемет стреляет только по врагам.", ["VEH_MG_MANUAL_AIM_TT"] = "Позволяет вручную наводить пулемет вашего самолета.", ["VEH_MG_TRIGGERBOT_ENEMY"] = "Только враги", - ["VEH_FAST_JETS_TT"] = "Делает большинство самолетов быстрее, если они могут развивать скорость 240 км/ч по умолчанию, их максимальная скорость будет увеличена до 555 км/ч.\n\nМедленные самолеты, такие как Дастер, не получат от этого никакой выгоды, если вы принудительно не заставите их достичь порога скорости пикированием.\n\nПРИМЕЧАНИЕ: Ваше шасси (колеса самолета) должно быть поднято.", + ["VEH_FAST_JETS_TT"] = + "Делает большинство самолетов быстрее, если они могут развивать скорость 240 км/ч по умолчанию, их максимальная скорость будет увеличена до 555 км/ч.\n\nМедленные самолеты, такие как Дастер, не получат от этого никакой выгоды, если вы принудительно не заставите их достичь порога скорости пикированием.\n\nПРИМЕЧАНИЕ: Ваше шасси (колеса самолета) должно быть поднято.", ["VEH_MG_TRIGGERBOT_TT"] = "Автоматически стреляет из пулемета вашего самолета.", ["VEH_AUTOPILOT"] = "Автопилот", ["VEH_MG_MARKER_SIZE"] = "Размер маркера ручного прицеливания", @@ -39,20 +40,23 @@ return { ["VEH_MG_TRIGGERBOT_RANGE"] = "Диапазон триггерботов", ["VEH_MG_MARKER_COL"] = "Цвет маркера ручного прицеливания", ["WRLD_HNS"] = "Прятки", - ["VEH_FLARES_TT"] = "Позволяет запускать сигнальные ракеты с любого самолета с помощью кнопки противодействия по умолчанию.", + ["VEH_FLARES_TT"] = + "Позволяет запускать сигнальные ракеты с любого самолета с помощью кнопки противодействия по умолчанию.", ["VEH_SEAT_PREV"] = "Предыдущее место", ["VEH_FLARES"] = "Меры противодействия вспышкам", ["WRLD_FLIGHT_MUSIC"] = "Отключить музыку полета", ["VEH_SEAT_NEXT"] = "Следующее место", ["WRLD_DISABLE_WAVES"] = "Отключить океанские волны", - ["WRLD_HNS_TT"] = "Позволяет прятаться внутри транспортных средств, багажников автомобилей или мусорных баков. Если у вас есть уровень розыска, полиция потеряет вас, если вы спрячетесь, прежде чем вас заметят.", + ["WRLD_HNS_TT"] = + "Позволяет прятаться внутри транспортных средств, багажников автомобилей или мусорных баков. Если у вас есть уровень розыска, полиция потеряет вас, если вы спрячетесь, прежде чем вас заметят.", ["WRLD_EXTEND_BOUNDS"] = "Расширьте границы мира", ["WRLD_EXTEND_BOUNDS_TT"] = "Позволяет путешествовать дальше по миру в любом направлении.", ["WRLD_CARPOOL_TT"] = "Позволяет садиться в транспортные средства NPC в качестве пассажира.", ["WRLD_CARPOOL"] = "Автобаза", ["FLTBD_MAIN_CB"] = "Включить скрипт", ["WRLD_WANTED_MUSIC"] = "Отключить разыскиваемую музыку", - ["YAV3_STOP_BTN_HINT"] = "СОВЕТ: Вы можете нажать %s, чтобы остановить выполнение какого-либо действия, или удерживать ее в течение одной секунды, чтобы все очистить.", + ["YAV3_STOP_BTN_HINT"] = + "СОВЕТ: Вы можете нажать %s, чтобы остановить выполнение какого-либо действия, или удерживать ее в течение одной секунды, чтобы все очистить.", ["FLTBD_TOWING_TXT"] = "Буксируемый автомобиль:", ["FLTBD_TOW_ALL_CB"] = "Буксировать все", ["FLTBD_SHOW_TOWPOS_TT"] = "Отмечает позицию, в которой скрипт обнаруживает ближайшие транспортные средства.", @@ -69,26 +73,33 @@ return { ["FLTBD_NEARBY_VEH_TXT"] = "Ближайший автомобиль:", ["SETTINGS_ENTITY_REPLACE"] = "Автозамена объектов", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Необязательно: выберите элементы конфигурации, которые нужно сохранить.", - ["FTLBD_GET_IN_MSG"] = "В настоящее время вы находитесь не в бортовом грузовике. Вы можете украсть один на улице или использовать кнопку ниже, чтобы создать новый.", - ["FLTBD_TOW_ALL_TT"] = "По умолчанию грузовик буксирует только автомобили, грузовики и велосипеды. Эта опция снимает это ограничение.", + ["FTLBD_GET_IN_MSG"] = + "В настоящее время вы находитесь не в бортовом грузовике. Вы можете украсть один на улице или использовать кнопку ниже, чтобы создать новый.", + ["FLTBD_TOW_ALL_TT"] = + "По умолчанию грузовик буксирует только автомобили, грузовики и велосипеды. Эта опция снимает это ограничение.", ["SETTINGS_CFG_RESET"] = "Сбросить сохраненную конфигурацию", ["FLTBD_SAME_NOT_ALLOWED_ERR"] = "Вы не можете буксировать другой бортовой грузовик.", - ["SETTINGS_ENTITY_REPLACE_TT"] = "В этом проекте есть ограничение на количество объектов, которые вы можете создать (педов, транспортных средств, объектов). Все функции придерживаются этого ограничения, чтобы предотвратить спам от сущностей или затормозить игру. Эта опция позволяет сценарию автоматически заменять старые порожденные объекты, как только вы достигнете предела для определенного типа объектов, и попытаетесь создать новый.", + ["SETTINGS_ENTITY_REPLACE_TT"] = + "В этом проекте есть ограничение на количество объектов, которые вы можете создать (педов, транспортных средств, объектов). Все функции придерживаются этого ограничения, чтобы предотвратить спам от сущностей или затормозить игру. Эта опция позволяет сценарию автоматически заменять старые порожденные объекты, как только вы достигнете предела для определенного типа объектов, и попытаетесь создать новый.", ["GENERIC_POSITION_LABEL"] = "Позиция", ["INF_ATTACHMENT_DROP"] = "Вложения удалены.", ["GENERIC_OPTIONS_LABEL"] = "Параметры", - ["WARN_VEH_SPAWN_LIMIT"] = "Достигнут лимит появления транспортных средств! Рассмотрите возможность включения «Автоматической замены объектов» на вкладке «Настройки», если вы хотите автоматически заменять старые объекты при достижении предела.", - ["WARN_PED_SPAWN_LIMIT"] = "Достигнут лимит появления педов! Рассмотрите возможность включения «Автоматической замены объектов» на вкладке «Настройки», если вы хотите автоматически заменять старые объекты при достижении предела.", + ["WARN_VEH_SPAWN_LIMIT"] = + "Достигнут лимит появления транспортных средств! Рассмотрите возможность включения «Автоматической замены объектов» на вкладке «Настройки», если вы хотите автоматически заменять старые объекты при достижении предела.", + ["WARN_PED_SPAWN_LIMIT"] = + "Достигнут лимит появления педов! Рассмотрите возможность включения «Автоматической замены объектов» на вкладке «Настройки», если вы хотите автоматически заменять старые объекты при достижении предела.", ["GENERIC_UNAVAILABLE"] = "В настоящее время недоступен.", ["GENERIC_CONFIRM"] = "Подтверждать", ["GENERIC_COLORS_LABEL"] = "Цвета", ["GENERIC_UP_DOWN_LABEL"] = "Вверх/Вниз", ["GENERIC_LEFT_RIGHT_LABEL"] = "Левый/Правый", ["GENERIC_CANCEL"] = "Отмена", - ["WARN_OBJ_SPAWN_LIMIT"] = "Достигнут лимит появления объектов! Рассмотрите возможность включения «Автоматической замены объектов» на вкладке «Настройки», если вы хотите автоматически заменять старые объекты при достижении предела.", + ["WARN_OBJ_SPAWN_LIMIT"] = + "Достигнут лимит появления объектов! Рассмотрите возможность включения «Автоматической замены объектов» на вкладке «Настройки», если вы хотите автоматически заменять старые объекты при достижении предела.", ["INF_ATTACHMENT_NONE"] = "Кажется, к нам ничего не привязано.", ["GENERIC_RESET"] = "Перезагрузить", - ["GENERIC_OFFLINE_OR_OUTDATED"] = "Для доступа к этой функции вам необходимо быть онлайн и иметь последнюю версию скрипта!", + ["GENERIC_OFFLINE_OR_OUTDATED"] = + "Для доступа к этой функции вам необходимо быть онлайн и иметь последнюю версию скрипта!", ["GENERIC_CONTACT_DEV"] = "Что-то пошло не так! Пожалуйста, свяжитесь с разработчиком.", ["GENERIC_INACTIVE"] = "Неактивный", ["GENERIC_ENABLED"] = "Включено", @@ -96,7 +107,8 @@ return { ["GENERIC_TELEPORT"] = "Телепортироваться", ["GENERIC_DISABLED"] = "Неполноценный", ["GENERIC_QUICK_TP"] = "Быстрый телепорт", - ["GENERIC_SG_SL_READ_FAIL"] = "Не удалось прочитать глобальный/локальный скрипт. Пожалуйста, свяжитесь с разработчиком.", + ["GENERIC_SG_SL_READ_FAIL"] = + "Не удалось прочитать глобальный/локальный скрипт. Пожалуйста, свяжитесь с разработчиком.", ["GENERIC_SETTINGS_LABEL"] = "Настройки", ["GENERIC_MIN"] = "Минимум", ["GENERIC_SAFE"] = "Безопасный", @@ -119,7 +131,8 @@ return { ["CP_CARD_DIAMONDS"] = "Бриллианты", ["CP_CARD_SPADES"] = "Пики", ["CP_COOLDOWN_BYPASS"] = "Обход перезарядки фишек казино", - ["CP_COOLDOWN_BYPASS_TOOLTIP"] = "Отключает время восстановления казино, может привести к бану. Используйте на свой страх и риск.", + ["CP_COOLDOWN_BYPASS_TOOLTIP"] = + "Отключает время восстановления казино, может привести к бану. Используйте на свой страх и риск.", ["CP_BLACKJACK_SETTINGS"] = "Блэкджек", ["CP_COOLDOWN_BYPASS_STATUS_OFF"] = "Выкл. Перезарядка", ["CP_COOLDOWN_BYPASS_STATUS_FORMAT"] = "Время восстановления составляет %.2f минут.", @@ -222,7 +235,8 @@ return { ["YRV3_POPULARITY_NOTIF"] = "Популярность ночных клубов возросла.", ["YRV3_NC_MANAGMENT_CB"] = "Управление ночным клубом", ["YRV3_NC_CHANCE_ENCOUNTER_CB"] = "Всегда смутьян", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Всегда порождает миссии ночного клуба с нарушителями спокойствия и отключает выбитые VIP-миссии.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = + "Всегда порождает миссии ночного клуба с нарушителями спокойствия и отключает выбитые VIP-миссии.", ["YRV3_CEO_SELL_CB"] = "Генеральный директор Крейт Селл", ["YRV3_CEO_BUY_CB"] = "Генеральный директор Крейт Бай", ["YRV3_SECURITY_WORK_CB"] = "Миссии безопасности", @@ -232,7 +246,8 @@ return { ["YRV3_CB_CHECK_ALL"] = "Проверить все", ["YRV3_IE_VEH_STEAL_CB"] = "Поиск транспортных средств I/E", ["YRV3_COOLDOWNS_LABEL"] = "Кулдауны", - ["YRV3_SEXY_SHINABI_NOTICE"] = "Вместо этого используйте скрипт ShinyWasabi's Payphone Hits.\nНажмите [TAB], чтобы скопировать ссылку GitHub.", + ["YRV3_SEXY_SHINABI_NOTICE"] = + "Вместо этого используйте скрипт ShinyWasabi's Payphone Hits.\nНажмите [TAB], чтобы скопировать ссылку GitHub.", ["YRV3_PAYHPONE_HITS_CB"] = "Хиты таксофона", ["YRV3_SELL_MISSIONS_LABEL"] = "Продавать миссии", ["YRV3_IE_VEH_SELL_CB"] = "Продажа транспортных средств I/E", @@ -240,14 +255,17 @@ return { ["YRV3_AUTOSELL_CEO_LABEL"] = "Склады генерального директора", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Примечание. Поддерживаются только следующие компании:", ["YRV3_SELL_MISSIONS_NOTIF"] = "Отключены самые раздражающие миссии по продаже %s.", - ["YRV3_SELL_MISSIONS_TT"] = "Эти параметры не будут сохранены. Каждая кнопка отключает самые утомительные миссии по продаже для этого бизнеса.", + ["YRV3_SELL_MISSIONS_TT"] = + "Эти параметры не будут сохранены. Каждая кнопка отключает самые утомительные миссии по продаже для этого бизнеса.", ["YRV3_AUTOSELL_BIKER_LABEL"] = "Байкерский бизнес", ["YRV3_CB_UNCHECK_ALL"] = "Снимите все флажки", ["YRV3_AUTOSELL_HANGAR_LABEL"] = "Ангар (только воздух)", ["YRV3_AUTOSELL_CURRENT"] = "В настоящее время продается: %s", ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "Кислотная лаборатория", - ["YRV3_SELL_MISSIONS_NOTE"] = "[ПРИМЕЧАНИЕ]: Если вы планируете продавать один и тот же бизнес более одного раза, переключите сеансы после завершения первой продажи, чтобы сбросить миссии, в противном случае вторая, скорее всего, не начнется.", - ["YRV3_AUTOSELL_TT"] = "Автоматически завершает миссию по продаже через 20 секунд после ее начала. Не требует от вас взаимодействия ни с чем, кроме начала миссии.", + ["YRV3_SELL_MISSIONS_NOTE"] = + "[ПРИМЕЧАНИЕ]: Если вы планируете продавать один и тот же бизнес более одного раза, переключите сеансы после завершения первой продажи, чтобы сбросить миссии, в противном случае вторая, скорее всего, не начнется.", + ["YRV3_AUTOSELL_TT"] = + "Автоматически завершает миссию по продаже через 20 секунд после ее начала. Не требует от вас взаимодействия ни с чем, кроме начала миссии.", ["YRV3_MCT_UNAVAIL"] = "Главный терминал управления в данный момент недоступен.", ["YRV3_AUTO_FILL_DELAY"] = "Глобальная задержка автозаполнения:", ["YRV3_MCT_TITLE"] = "Главный терминал управления", @@ -259,21 +277,26 @@ return { ["YRV3_INCOME_APPROX_ALL_TT"] = "Перелистывайте все вкладки, чтобы обновить общую сумму.", ["SELF_PHONE_ANIMS"] = "Включить анимацию телефона", ["SELF_HEADPROPS"] = "Разрешить подпорки для головы в транспортных средствах", - ["SELF_HEADPROPS_TT"] = "Не позволяет игре снимать головные уборы (шапки, шлемы, длинные шлемы и т. д.) при посадке в транспортное средство.", + ["SELF_HEADPROPS_TT"] = + "Не позволяет игре снимать головные уборы (шапки, шлемы, длинные шлемы и т. д.) при посадке в транспортное средство.", ["SELF_ACTION_MODE_TT"] = "Отключает резкие движения игрока во время боя.", ["SELF_ACTION_MODE"] = "Отключить режим действия", ["SELF_PHONE_ANIMS_TT"] = "Восстанавливает анимацию мобильного телефона в GTA Online.", - ["SELF_STAND_ON_VEHS_TT"] = "Предотвращает вас от тряски, когда вы стоите на крыше транспортного средства (вы все равно упадете, если что-нибудь ударите).", + ["SELF_STAND_ON_VEHS_TT"] = + "Предотвращает вас от тряски, когда вы стоите на крыше транспортного средства (вы все равно упадете, если что-нибудь ударите).", ["SELF_STAND_ON_VEHS"] = "Стоять на транспортных средствах", ["SELF_NO_CARJACKING"] = "Никаких угонов автомобилей", ["SELF_HANDS_UP"] = "Руки вверх", - ["SELF_HANDS_UP_TT"] = "Заменяет действие «Указать на» в GTA Online (по умолчанию [B] на клавиатуре) на анимацию капитуляции.", + ["SELF_HANDS_UP_TT"] = + "Заменяет действие «Указать на» в GTA Online (по умолчанию [B] на клавиатуре) на анимацию капитуляции.", ["SELF_CROUCH"] = "Крауч", ["SELF_CROUCH_TT"] = "Заставляет вас приседать при нажатии кнопки скрытности, как в GTA San Andreas.", ["SELF_LOCKPICK_ANIM"] = "Анимация отмычек", ["SELF_SPRINT_INSIDE"] = "Спринт внутри интерьеров", - ["SELF_NO_CARJACKING_TT"] = "Не позволяет NPC угнать вашу машину. Это также должно препятствовать игрокам (не проверялось на игроках).", - ["SELF_LOCKPICK_ANIM_TT"] = "Увеличивает вероятность использования анимации взлома при угоне транспорта вместо разбивания окна.", + ["SELF_NO_CARJACKING_TT"] = + "Не позволяет NPC угнать вашу машину. Это также должно препятствовать игрокам (не проверялось на игроках).", + ["SELF_LOCKPICK_ANIM_TT"] = + "Увеличивает вероятность использования анимации взлома при угоне транспорта вместо разбивания окна.", ["SELF_SPRINT_INSIDE_TT"] = "Позволяет бегать на полной скорости внутри большинства интерьеров (не всех).", ["SELF_CLUMSY"] = "Неуклюжий", ["SELF_ROD"] = "Рэгдолл по требованию", @@ -283,41 +306,51 @@ return { ["SELF_RAGDOLL_BLOCK_INFO"] = "Эта функция не будет работать, если вы блокируете ragdoll.", ["SELF_RAGDOLL_SOUND_TT"] = "Ваш онлайн-персонаж будет издавать панический звук во время рэгдолла.", ["SELF_CLUMSY_TT"] = "Заставляет вас спотыкаться и трястись всякий раз, когда вы с чем-то сталкиваетесь.", - ["VEH_FAST_AF_TT"] = "Увеличивает максимальную скорость любого наземного транспортного средства, которым вы управляете.", + ["VEH_FAST_AF_TT"] = + "Увеличивает максимальную скорость любого наземного транспортного средства, которым вы управляете.", ["SELF_REGEN_SPEED"] = "Скорость восстановления здоровья", ["VEH_NOS"] = "БДУ", ["VEH_NOS_PURGE"] = "Очистка БДУ", ["VEH_ABS_LIGHTS"] = "Индикация тормозного усилия", ["VEH_FAST_AF"] = "Быстрые транспортные средства", ["VEH_POPS_N_BANGS"] = "Попса и челка", - ["VEH_NOS_PURGE_TT"] = "Нажмите назначенную комбинацию клавиш (по умолчанию [X]), чтобы выполнить очистку NOS в стиле 2Fast 2Furious.", - ["VEH_ABS_LIGHTS_TT"] = "Мигает стоп-сигналами при торможении с высокой скорости. Только для автомобилей, оборудованных ABS.", + ["VEH_NOS_PURGE_TT"] = + "Нажмите назначенную комбинацию клавиш (по умолчанию [X]), чтобы выполнить очистку NOS в стиле 2Fast 2Furious.", + ["VEH_ABS_LIGHTS_TT"] = + "Мигает стоп-сигналами при торможении с высокой скорости. Только для автомобилей, оборудованных ABS.", ["VEH_AUTO_BRAKE_LIGHTS"] = "Автоматические стоп-сигналы", ["VEH_SUBWOOFER"] = "Большой сабвуфер", - ["VEH_POPS_N_BANGS_TT"] = "Включает громкие хлопки выхлопа, которые срабатывают каждый раз, когда вы отпускаете педаль газа на высоких оборотах. PS: Это пугает ближайших NPC.", + ["VEH_POPS_N_BANGS_TT"] = + "Включает громкие хлопки выхлопа, которые срабатывают каждый раз, когда вы отпускаете педаль газа на высоких оборотах. PS: Это пугает ближайших NPC.", ["VEH_HIGH_BEAMS_TT"] = "Мигает дальним светом всякий раз, когда вы сигналите", ["VEH_SUBWOOFER_TT"] = "Динамики вашего автомобиля звучат немного громче и имеют более глубокие басы.", ["VEH_STRONG_CRASH"] = "Более сильные сбои", ["VEH_STRONG_WINDOWS"] = "Небьющиеся окна", ["VEH_HIGH_BEAMS"] = "Дальний свет на звуковом сигнале", - ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Включает стоп-сигналы всякий раз, когда вы останавливаетесь. (Двигатель должен работать).", + ["VEH_AUTO_BRAKE_LIGHTS_TT"] = + "Включает стоп-сигналы всякий раз, когда вы останавливаетесь. (Двигатель должен работать).", ["VEH_RGB_LIGHTS"] = "RGB-фары", - ["VEH_STRONG_CRASH_TT"] = "Делает аварии еще страшнее из-за дрожания камеры, эффектов экрана, большей деформации и повреждений. Столкновения на высокой скорости могут оказаться фатальными.", + ["VEH_STRONG_CRASH_TT"] = + "Делает аварии еще страшнее из-за дрожания камеры, эффектов экрана, большей деформации и повреждений. Столкновения на высокой скорости могут оказаться фатальными.", ["VEH_STRONG_WINDOWS_TT"] = "Стекла вашего автомобиля никогда не разобьются. Если не взорвется, конечно.", - ["VEH_RGB_LIGHTS_TT"] = "Запускает петлю RGB на фарах вашего автомобиля. Вы можете настроить скорость в нижней части этого окна.", + ["VEH_RGB_LIGHTS_TT"] = + "Запускает петлю RGB на фарах вашего автомобиля. Вы можете настроить скорость в нижней части этого окна.", ["VEH_AUTO_LOCK"] = "Автоматическая блокировка", ["VEH_FLAPPY_DOORS"] = "Хлопающие двери", - ["VEH_AUTO_LOCK_TT"] = "Автоматически запирает ваш автомобиль, когда вы отходите от него, и снова разблокирует его, когда вы пытаетесь снова войти или пересесть на другой автомобиль.", + ["VEH_AUTO_LOCK_TT"] = + "Автоматически запирает ваш автомобиль, когда вы отходите от него, и снова разблокирует его, когда вы пытаетесь снова войти или пересесть на другой автомобиль.", ["VEH_FLAPPY_DOORS_TT"] = "Я понятия не имею, почему я это сделал.", ["VEH_IV_EXIT"] = "Выход в стиле IV", ["VEH_LAUNCH_CTRL"] = "Контроль запуска", ["VEH_LAUNCH_CTRL_TT"] = "Имитирует управление запуском. Доступно только для высокопроизводительных автомобилей.", - ["VEH_IV_EXIT_TT"] = "Имитирует стиль выхода из автомобиля GTA IV: удерживайте [F] в течение одной секунды, чтобы выключить двигатель, или нажмите обычное нажатие, чтобы оставить его работающим.", + ["VEH_IV_EXIT_TT"] = + "Имитирует стиль выхода из автомобиля GTA IV: удерживайте [F] в течение одной секунды, чтобы выключить двигатель, или нажмите обычное нажатие, чтобы оставить его работающим.", ["VEH_SPEED_CIRCLE"] = "Круг", ["VEH_SPEED_BG"] = "Фон", ["VEH_SPEED_UNIT"] = "Единица скорости", ["VEH_KEEP_WHEELS_TURNED"] = "Держите колеса повернутыми", - ["VEH_KEEP_WHEELS_TURNED_TT"] = "Не позволяет вашему игровому персонажу повторно центрировать колеса при выходе из автомобиля, телепортируя вас наружу.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = + "Не позволяет вашему игровому персонажу повторно центрировать колеса при выходе из автомобиля, телепортируя вас наружу.", ["VEH_MINES"] = "Автомобильные мины", ["VEH_MINES_TT"] = "Позволяет сбрасывать мину с любого наземного транспорта.", ["VEH_SPEED_MARK"] = "Маркировка", @@ -351,14 +384,15 @@ return { ["VEH_ENGINE_SWAP_SAME_ERR"] = "На вашем автомобиле уже установлен этот двигатель.", ["VEH_PAINT_PRIMARY_CB"] = "Как основной", ["VEH_PAINT_MATTE_TT"] = "Применяет или удаляет матовое покрытие для выбранного задания покраски или из него.", - ["VEH_PAINT_SAVE_TT"] = "Чтобы сохранить этот цвет на личном автомобиле, зайдите в магазин модов и купите что-нибудь вроде тонировки стекол, пластин или чего-нибудь еще.", + ["VEH_PAINT_SAVE_TT"] = + "Чтобы сохранить этот цвет на личном автомобиле, зайдите в магазин модов и купите что-нибудь вроде тонировки стекол, пластин или чего-нибудь еще.", ["VEH_PAINT_SECONDARY_CB"] = "В качестве вторичного", ["VEH_PAINT_MATTE_CB"] = "Матовый цвет", ["VEH_PAINT_NOT_SELECTED_ERR"] = "Пожалуйста, выберите первичный или вторичный или оба.", ["VEH_COBRA_MANEUVER"] = "Маневр Кобры", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "Задержка между играми", ["VEH_COBRA_MANEUVER_TT"] = "Нажмите [X] на клавиатуре, чтобы выполнить маневр Кобры. Доступно только для самолетов.", - ["VEH_ENGINE_SWAP_INCOMPATIBE"] = "Эта функция совместима только с легковыми и грузовыми автомобилями.", + ["GENERIC_CARS_ONLY"] = "Эта функция совместима только с легковыми и грузовыми автомобилями.", ["VEH_COBRA_MANEUVER_TOO_lOW"] = "Ваша текущая высота слишком мала для выполнения маневра Кобры!", ["VEH_COBRA_MANEUVER_TOO_SlOW"] = "Ваша текущая скорость слишком мала для выполнения маневра Кобры!", ["VEH_COBRA_MANEUVER_NOT_LEVEL"] = "Пожалуйста, сначала выровняйте свой самолет.", @@ -396,19 +430,23 @@ return { ["EF_IMPORT_SUCCESS"] = "Данные успешно импортированы.", ["EF_SAVED_NONE"] = "У вас нет сохраненных творений.", ["EF_IMPORT_DATA_INSTR"] = "Вставьте сюда данные Forge:", - ["EF_IMPORT_DATA_NOTICE"] = "У вас есть творение с таким же названием. К имени добавлен тег [import]. Вы все равно можете переименовать его позже.", + ["EF_IMPORT_DATA_NOTICE"] = + "У вас есть творение с таким же названием. К имени добавлен тег [import]. Вы все равно можете переименовать его позже.", ["EF_MULTIPLIER_LABEL"] = "Множитель %.2f", ["EF_MOVE_OBJECT"] = "Переместить объект:", ["EF_IMPORT_DATA_CLIPBOARD"] = "Вставить из буфера обмена", ["EF_ENTITY_GUN"] = "Сущность Пистолет", - ["EF_ENTITY_GUN_TT"] = "Направьте свое оружие на объект в игровом мире и нажмите [E], чтобы добавить его в пул кузницы. После добавления вы сможете использовать мышь, чтобы перемещать его и манипулировать им.", - ["EF_SHARE_SUCCESS"] = "Ваше сохраненное творение было скопировано в буфер обмена. Если вы поделитесь скопированными данными с другими пользователями этого скрипта, они смогут импортировать их в свои сохраненные творения.", + ["EF_ENTITY_GUN_TT"] = + "Направьте свое оружие на объект в игровом мире и нажмите [E], чтобы добавить его в пул кузницы. После добавления вы сможете использовать мышь, чтобы перемещать его и манипулировать им.", + ["EF_SHARE_SUCCESS"] = + "Ваше сохраненное творение было скопировано в буфер обмена. Если вы поделитесь скопированными данными с другими пользователями этого скрипта, они смогут импортировать их в свои сохраненные творения.", ["EF_CHILD_ALPHA"] = "Прозрачность дочернего элемента: %d", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "Ваш буфер обмена пуст!", ["GENERIC_APPLY"] = "Применять", ["GENERIC_USE"] = "Использовать", ["SELF_MAGIC_BULLET"] = "Волшебная пуля", - ["SELF_MAGIC_BULLET_TT"] = "Эта функция не обеспечивает автоматическое прицеливание или автоматический огонь. Он просто запоминает последнего пешехода, в которого вы целились, и перенаправляет выстрел на него, когда вы стреляете, даже если вы стреляете в другое место. Цель сбрасывается, когда вы прекращаете прицеливаться.", + ["SELF_MAGIC_BULLET_TT"] = + "Эта функция не обеспечивает автоматическое прицеливание или автоматический огонь. Он просто запоминает последнего пешехода, в которого вы целились, и перенаправляет выстрел на него, когда вы стреляете, даже если вы стреляете в другое место. Цель сбрасывается, когда вы прекращаете прицеливаться.", ["SUBTAB_GUI"] = "Пользовательский интерфейс", ["GENERIC_GENERAL_LABEL"] = "Общий", ["SELF_LASER_SIGHTS"] = "Лазерные прицелы", @@ -420,31 +458,39 @@ return { ["VEH_KERS_BOOST"] = "КЕРС Буст", ["VEH_OFFROAD_ABILITIES"] = "Внедорожные способности", ["VEH_OFFROAD_ABILITIES_TT"] = "Увеличивает внедорожные возможности вашего автомобиля.", - ["SELF_LASER_SIGHTS_TT"] = "Включает лазерные прицелы на вашем огнестрельном оружии. Вы можете включать и выключать прицелы, нажав [%s]", - ["VEH_FORCE_NO_TC_TT"] = "«Только велосипеды»: ваш автомобиль отключается от системы контроля тяги, что позволяет вам совершать заносы и заносы на велосипедах.", - ["VEH_KERS_BOOST_TT"] = "Оснащает ваш автомобиль системой KERS (система восстановления кинетической энергии), аналогичной автомобилям Формулы-1.", + ["SELF_LASER_SIGHTS_TT"] = + "Включает лазерные прицелы на вашем огнестрельном оружии. Вы можете включать и выключать прицелы, нажав [%s]", + ["VEH_FORCE_NO_TC_TT"] = + "«Только велосипеды»: ваш автомобиль отключается от системы контроля тяги, что позволяет вам совершать заносы и заносы на велосипедах.", + ["VEH_KERS_BOOST_TT"] = + "Оснащает ваш автомобиль системой KERS (система восстановления кинетической энергии), аналогичной автомобилям Формулы-1.", ["VEH_LOW_SPEED_WHEELIE"] = "Низкоскоростной вилли", ["VEH_RALLY_TYRES"] = "Раллийные шины", ["VEH_NO_ENGINE_BRAKE_TT"] = "Позволяет двигаться накатом, не нажимая на педаль газа, без большой потери скорости.", - ["VEH_RALLY_TYRES_TT"] = "Оснащает ваш автомобиль раллийными шинами, которые еще больше улучшают управляемость на бездорожье.", + ["VEH_RALLY_TYRES_TT"] = + "Оснащает ваш автомобиль раллийными шинами, которые еще больше улучшают управляемость на бездорожье.", ["VEH_FORCE_NO_TC"] = "Нет контроля тяги", ["VEH_JUMP_TT"] = "Оснащает ваш автомобиль возможностью прыжков, как у Ruiner 2000.", - ["VEH_LOW_SPEED_WHEELIE_TT"] = "Только для велосипедов: позволяет кататься на задних колесах на очень низких скоростях, как на «Манчезе».", + ["VEH_LOW_SPEED_WHEELIE_TT"] = + "Только для велосипедов: позволяет кататься на задних колесах на очень низких скоростях, как на «Манчезе».", ["VEH_ROCKET_BOOST_TT"] = "Оснащает ваш автомобиль ракетным ускорителем, как у «Мстителя».", ["VEH_ROCKET_BOOST"] = "Ракетное ускорение", ["VEH_PARACHUTE"] = "Парашютные возможности", ["VEH_STEER_REAR_WHEELS"] = "Управление задними колесами", - ["VEH_PARACHUTE_TT"] = "Оснащает ваш автомобиль парашютом, похожим на «Руинер 2000».\n\nВажно: возможность прыжка также должна быть включена.", + ["VEH_PARACHUTE_TT"] = + "Оснащает ваш автомобиль парашютом, похожим на «Руинер 2000».\n\nВажно: возможность прыжка также должна быть включена.", ["VEH_STEER_ALL_WHEELS"] = "Управление всеми колесами", ["SETTINGS_LANGUAGE"] = "Язык", - ["VEH_STEER_HANDBRAKE_TT"] = "Управляет задними колесами вашего автомобиля, когда вы держите ручной тормоз, как в автомобилях-монстрах.", + ["VEH_STEER_HANDBRAKE_TT"] = + "Управляет задними колесами вашего автомобиля, когда вы держите ручной тормоз, как в автомобилях-монстрах.", ["SETTINGS_TOOLTIPS"] = "Отключить всплывающие подсказки", ["VEH_STEER_HANDBRAKE"] = "Ручной тормоз", ["VEH_JUMP"] = "Возможность прыжка", ["SETTING_WINDOW_MOVEABLE_TT"] = "Позволяет свободно перемещать окно", ["SETTING_WINDOW_POS_Y"] = "Позиция Y", ["SETTING_WINDOW_POS_SNAP"] = "Привязка к положению", - ["SETTING_WINDOW_POS_TT"] = "Они предназначены только для отображения. Включите «Подвижное окно», затем перетащите верхнюю панель, чтобы свободно перемещать окно.", + ["SETTING_WINDOW_POS_TT"] = + "Они предназначены только для отображения. Включите «Подвижное окно», затем перетащите верхнюю панель, чтобы свободно перемещать окно.", ["SETTING_WINDOW_POS_X"] = "Позиция X", ["SETTING_WINDOW_WIDTH"] = "Ширина окна", ["SETTING_WINDOW_STYLE"] = "Стиль окна", @@ -455,7 +501,8 @@ return { ["SETTING_WINDOW_HEIGHT"] = "Максимальная высота окна", ["SETTING_WINDOW_ALPHA"] = "Прозрачность окна", ["SETTING_WINDOW_POS_RESET"] = "Сбросить позицию", - ["SETTING_WINDOW_HEIGHT_TT"] = "Окно является динамическим, его размер изменяется по вертикали в зависимости от содержимого.\n\nЭта опция позволяет вам установить максимально допустимую высоту.", + ["SETTING_WINDOW_HEIGHT_TT"] = + "Окно является динамическим, его размер изменяется по вертикали в зависимости от содержимого.\n\nЭта опция позволяет вам установить максимально допустимую высоту.", ["SETTINGS_KEYBINDS_KEYBOARD"] = "Клавиатура", ["SETTINGS_KEYBINDS"] = "Сочетания клавиш", ["SETTING_HOTKEY_WAIT"] = "Нажмите любую клавишу", @@ -469,14 +516,16 @@ return { ["WRLD_KILL_ALL"] = "Убейте всех врагов", ["WRLD_KILL_ALL_TT"] = "Убивает всех ближайших врагов.", ["WRLD_FLEE_ALL"] = "Напугать всех врагов", - ["WRLD_FLEE_ALL_TT"] = "Работает в 5-секундном цикле: заставляет всех ближайших врагов бросить оружие и покинуть территорию.", + ["WRLD_FLEE_ALL_TT"] = + "Работает в 5-секундном цикле: заставляет всех ближайших врагов бросить оружие и покинуть территорию.", ["WRLD_FLEE_ALL_NOTIF"] = "Заставляет ближайших врагов бежать. Пожалуйста, подождите.", ["WRLD_KILL_ALL_NOTIF"] = "Выполнено «Убить всех врагов»", ["SELF_KATANA_TT"] = "Заменяет одну из четырех выбранных вами моделей оружия ближнего боя на катану.", ["WRLD_PUBLIC_ENEMY"] = "Враг общества №1", ["WRLD_PUBLIC_ENEMY_TT"] = "Все ближайшие NPC нападут на вас и надерут вам задницу. Включая животных и полицейских.", ["GENERIC_IMPORTANT"] = "Важный", - ["GUI_NEW_LAYOUT_NOTICE"] = "Пользовательский интерфейс скрипта теперь независим от меню. Нажмите %s, чтобы переключить его.", + ["GUI_NEW_LAYOUT_NOTICE"] = + "Пользовательский интерфейс скрипта теперь независим от меню. Нажмите %s, чтобы переключить его.", ["SETTING_HOTKEY_FOUND"] = "Новый ключ:", ["YRV3_CWASH_LABEL"] = "Автомойка", ["YRV3_CWASH_CASH_CLEAN"] = "Чистый:", @@ -486,7 +535,8 @@ return { ["YRV3_CWASH_HEAT"] = "Уровень нагрева:", ["YRV3_HELITOURS_LABEL"] = "Хиггинс Хелитурс", ["YRV3_WEED_SHOP_LABEL"] = "Магазин травки", - ["SELF_MC_BIKE_ANIMS_TT"] = "Восстанавливает альтернативную анимацию езды на велосипеде, которая по какой-то причине была отключена. Чтобы эти анимации работали, вы должны быть зарегистрированы как MC и включить эту опцию.", + ["SELF_MC_BIKE_ANIMS_TT"] = + "Восстанавливает альтернативную анимацию езды на велосипеде, которая по какой-то причине была отключена. Чтобы эти анимации работали, вы должны быть зарегистрированы как MC и включить эту опцию.", ["YRV3_CWASH_LEGAL_WORK_CD"] = "Отключить время восстановления юридической работы", ["SELF_MC_BIKE_ANIMS"] = "Включить стиль езды MC", ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Отключить время восстановления незаконной работы" diff --git a/includes/lib/translations/zh-CN.lua b/includes/lib/translations/zh-CN.lua index cfd0636..0b8813e 100644 --- a/includes/lib/translations/zh-CN.lua +++ b/includes/lib/translations/zh-CN.lua @@ -23,7 +23,8 @@ return { ["VEH_DRIFT_SMOKE"] = "轮胎冒烟", ["VEH_DRIFT_SMOKE_COL"] = "轮胎烟色", ["VEH_NO_JET_STALL"] = "禁用发动机熄火", - ["VEH_FAST_JETS_TT"] = "使大多数飞机更快,只要它们默认可以达到 240 公里/小时,它们的最大速度将增加到 555 公里/小时。\n\n像除尘器这样较慢的飞机不会受益于此,除非你通过俯冲强制它们达到速度阈值。\n\n注意:你的齿轮(飞机轮)必须向上。", + ["VEH_FAST_JETS_TT"] = + "使大多数飞机更快,只要它们默认可以达到 240 公里/小时,它们的最大速度将增加到 555 公里/小时。\n\n像除尘器这样较慢的飞机不会受益于此,除非你通过俯冲强制它们达到速度阈值。\n\n注意:你的齿轮(飞机轮)必须向上。", ["VEH_FAST_JETS"] = "快速飞机", ["VEH_NO_JET_STALL_TT"] = "当您按住刹车按钮时,飞机发动机将不再熄火。", ["VEH_NO_TURBULENCE"] = "禁用空气湍流", @@ -73,7 +74,8 @@ return { ["FTLBD_GET_IN_MSG"] = "您目前不在平板卡车上。您可以从街上偷一个或使用下面的按钮生成一个新的。", ["SETTINGS_RESET_PRESERVE_KEYS"] = "可选:选择要保留的配置项。", ["SETTINGS_ENTITY_REPLACE"] = "自动替换实体", - ["SETTINGS_ENTITY_REPLACE_TT"] = "该项目对可以生成的实体(行人、车辆、物体)数量有限制。所有功能都遵守该限制,以防止实体垃圾邮件或阻塞游戏。一旦达到某种实体类型的限制并尝试生成新实体,此选项允许脚本自动替换旧的生成实体。", + ["SETTINGS_ENTITY_REPLACE_TT"] = + "该项目对可以生成的实体(行人、车辆、物体)数量有限制。所有功能都遵守该限制,以防止实体垃圾邮件或阻塞游戏。一旦达到某种实体类型的限制并尝试生成新实体,此选项允许脚本自动替换旧的生成实体。", ["WARN_PED_SPAWN_LIMIT"] = "Ped 生成上限已达到!如果您想在达到限制时自动替换旧实体,请考虑在“设置”选项卡中启用“自动替换实体”。", ["GENERIC_UNAVAILABLE"] = "目前不可用。", ["WARN_VEH_SPAWN_LIMIT"] = "车辆生成上限已达到!如果您想在达到限制时自动替换旧实体,请考虑在“设置”选项卡中启用“自动替换实体”。", @@ -356,7 +358,7 @@ return { ["VEH_PAINT_SAVE_TT"] = "要在个人车辆上保留这种颜色,请前往改装店购买诸如车窗贴膜或板式或任何东西之类的东西。", ["VEH_PAINT_NOT_SELECTED_ERR"] = "请选择小学或中学或两者兼而有之。", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "比赛之间的延迟", - ["VEH_ENGINE_SWAP_INCOMPATIBE"] = "此功能仅与汽车和卡车兼容。", + ["GENERIC_CARS_ONLY"] = "此功能仅与汽车和卡车兼容。", ["VEH_COBRA_MANEUVER"] = "眼镜蛇机动", ["VEH_COBRA_MANEUVER_TT"] = "按键盘上的 [X] 执行眼镜蛇机动。仅适用于喷气式飞机。", ["VEH_COBRA_MANEUVER_TOO_lOW"] = "您当前的海拔太低,无法执行眼镜蛇机动!", diff --git a/includes/lib/translations/zh-TW.lua b/includes/lib/translations/zh-TW.lua index 1a3bf80..02f7987 100644 --- a/includes/lib/translations/zh-TW.lua +++ b/includes/lib/translations/zh-TW.lua @@ -28,7 +28,8 @@ return { ["VEH_NO_JET_STALL_TT"] = "當您按住制動按鈕時,飛機發動機將不再熄火。", ["VEH_MG_TRIGGERBOT_ENEMY"] = "僅限敵人", ["VEH_NO_JET_STALL"] = "禁用發動機熄火", - ["VEH_FAST_JETS_TT"] = "使大多數飛機更快,只要它們默認可以達到 240 公里/小時,它們的最大速度將增加到 555 公里/小時。 \n\n像除塵器這樣較慢的飛機不會受益於此,除非你通過俯衝強制它們達到速度閾值。 \n\n注意:你的齒輪(飛機輪)必須向上。", + ["VEH_FAST_JETS_TT"] = + "使大多數飛機更快,只要它們默認可以達到 240 公里/小時,它們的最大速度將增加到 555 公里/小時。 \n\n像除塵器這樣較慢的飛機不會受益於此,除非你通過俯衝強制它們達到速度閾值。 \n\n注意:你的齒輪(飛機輪)必須向上。", ["VEH_MG_TRIGGERBOT"] = "機槍扳機機器人", ["VEH_MG_TRIGGERBOT_ENEMY_TT"] = "機槍扳機機器人只射擊敵人。", ["VEH_MG_TRIGGERBOT_TT"] = "自動發射飛機的機槍。", @@ -72,7 +73,8 @@ return { ["SETTINGS_RESET_PRESERVE_KEYS"] = "可選:選擇要保留的配置項。", ["FLTBD_EXIT_VEH_ERR"] = "首先退出當前車輛。", ["FTLBD_GET_IN_MSG"] = "您目前不在平闆卡車上。您可以從街上偷一個或使用下面的按鈕生成一個新的。", - ["SETTINGS_ENTITY_REPLACE_TT"] = "該項目對可以​​生成的實體(行人、車輛、物體)數量有限制。所有功能都遵守該限制,以防止實體垃圾郵件或阻塞遊戲。一旦達到某種實體類型的限制並嘗試生成新實體,此選項允許腳本自動替換舊的生成實體。", + ["SETTINGS_ENTITY_REPLACE_TT"] = + "該項目對可以​​生成的實體(行人、車輛、物體)數量有限制。所有功能都遵守該限制,以防止實體垃圾郵件或阻塞遊戲。一旦達到某種實體類型的限制並嘗試生成新實體,此選項允許腳本自動替換舊的生成實體。", ["SETTINGS_CFG_RESET"] = "重置保存的配置", ["GENERIC_UNAVAILABLE"] = "目前不可用。", ["INF_ATTACHMENT_DROP"] = "附件掉了。", @@ -355,7 +357,7 @@ return { ["VEH_PAINT_NOT_SELECTED_ERR"] = "請選擇小學或中學或兩者兼而有之。", ["VEH_PAINT_SECONDARY_CB"] = "作為次要", ["VEH_PAINT_SAVE_TT"] = "要在個人車輛上保留這種顏色,請前往改裝店購買諸如車窗貼膜或板式或任何東西之類的東西。", - ["VEH_ENGINE_SWAP_INCOMPATIBE"] = "此功能僅與汽車和卡車兼容。", + ["GENERIC_CARS_ONLY"] = "此功能僅與汽車和卡車兼容。", ["VEH_COBRA_MANEUVER_TT"] = "按鍵盤上的 [X] 執行眼鏡蛇機動。僅適用於噴氣式飛機。", ["VEH_COBRA_MANEUVER"] = "眼鏡蛇機動", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "比賽之間的延遲", diff --git a/includes/lib/types.lua b/includes/lib/types.lua index ca0972f..7954885 100644 --- a/includes/lib/types.lua +++ b/includes/lib/types.lua @@ -68,5 +68,5 @@ GenericClass = setmetatable({}, { ---@alias Comparator fun(a: A, b: B): boolean -- A poor man's `nullptr` 🥲 ----@class NULLPTR : pointer -NULLPTR = memory.pointer:new(0) +---@class nullptr : pointer +nullptr = memory.pointer:new(0) diff --git a/includes/modules/Accessor.lua b/includes/modules/Accessor.lua index e3752d9..c8a4cf3 100644 --- a/includes/modules/Accessor.lua +++ b/includes/modules/Accessor.lua @@ -170,7 +170,7 @@ function Accessor:GetPointer() return locals.get_pointer(self.m_script, self:GetIndex()) end - return NULLPTR + return nullptr end --------------------------- diff --git a/includes/modules/Bodyguard.lua b/includes/modules/Bodyguard.lua index cabc2a1..74d99c5 100644 --- a/includes/modules/Bodyguard.lua +++ b/includes/modules/Bodyguard.lua @@ -1387,7 +1387,7 @@ end function EscortVehicle:Recover(lastCoords, passengers, lastHeading, groupName) if self:Exists() then Game.DeleteEntity(self.handle) - Decorator:RemoveEntity(self.handle, "BillionaireServices") + Decorator:RemoveEntity(self.handle) end if not lastCoords then @@ -1400,7 +1400,7 @@ function EscortVehicle:Recover(lastCoords, passengers, lastHeading, groupName) end self.handle = Game.CreateVehicle(self.model, vec3:zero()) - Decorator:RegisterEntity(self.handle, "BillionaireServices") + Decorator:Register(self.handle, "BillionaireServices") ENTITY.FREEZE_ENTITY_POSITION(self.handle, true) local r, g, b, _ = Color("#000100"):AsRGBA() diff --git a/includes/modules/Decorator.lua b/includes/modules/Decorator.lua index ab38c0d..80e63ce 100644 --- a/includes/modules/Decorator.lua +++ b/includes/modules/Decorator.lua @@ -5,48 +5,69 @@ -- -- Custom decorator to mark entities owned by this script. ---@class Decorator -Decorator = {} +---@field RegisteredEntities table> +---@field private m_last_gc seconds +Decorator = { m_last_gc = 0 } Decorator.RegisteredEntities = {} ---@param entity integer ----@param key string -function Decorator:IsEntityRegistered(entity, key) - return self.RegisteredEntities[entity] - and self.RegisteredEntities[entity].key - and self.RegisteredEntities[entity].key == key +function Decorator:IsEntityRegistered(entity) + return self.RegisteredEntities[entity] ~= nil end ---@param entity integer ---@param key string ----@param expectedValue any -function Decorator:ExistsOn(entity, key, expectedValue) - if not self:IsEntityRegistered(entity, key) then +---@return boolean +function Decorator:ExistsOn(entity, key) + if (not self:IsEntityRegistered(entity)) then return false end - return self.RegisteredEntities[entity].value - and self.RegisteredEntities[entity].value == expectedValue + return self.RegisteredEntities[entity][key] and self.RegisteredEntities[entity][key] ~= nil end ----@param entity integer +---@param entity handle ---@param key string ----@param value any -function Decorator:RegisterEntity(entity, key, value) - if self:IsEntityRegistered(entity, key) then +---@return any +function Decorator:GetDecor(entity, key) + if (not self:ExistsOn(entity, key)) then return end - self.RegisteredEntities[entity] = { - handle = entity, - key = key, - value = value - } + return self.RegisteredEntities[entity][key] +end + +---@param entity handle +---@param key string +---@param new_value anyval +---@return any +function Decorator:UpdateDecor(entity, key, new_value) + if (not self:ExistsOn(entity, key)) then + return + end + + self.RegisteredEntities[entity][key] = new_value end ---@param entity integer ---@param key string -function Decorator:RemoveEntity(entity, key) - if not self:IsEntityRegistered(entity, key) then +---@param value any +function Decorator:Register(entity, key, value) + local existing = self.RegisteredEntities[entity] + if (existing) then + if (existing[key]) then + return + end + + existing[key] = value + else + self.RegisteredEntities[entity] = { [key] = value } + end +end + +---@param entity integer +function Decorator:RemoveEntity(entity) + if not self:IsEntityRegistered(entity) then return end @@ -54,9 +75,22 @@ function Decorator:RemoveEntity(entity, key) end ---@param entity integer --- only bool decorators for now function Decorator:Validate(entity) - return ENTITY.DOES_ENTITY_EXIST(entity) and (self.RegisteredEntities[entity] ~= nil) + return self:IsEntityRegistered(entity) and ENTITY.DOES_ENTITY_EXIST(entity) +end + +function Decorator:CollectGarbage() + if (Time.now() - self.m_last_gc < 5) then + return + end + + for handle, _ in pairs(self.RegisteredEntities) do + if (not ENTITY.DOES_ENTITY_EXIST(handle)) then + self.RegisteredEntities[handle] = nil + end + end + + self.m_last_gc = Time.now() end ---@param entity integer @@ -72,10 +106,9 @@ function Decorator:DebugDump(entity) Backend:debug( _F( - "[%s] is registered to %s as %s", + "[%s] is registered with: %s", entity, - self.RegisteredEntities[entity].key, - self.RegisteredEntities[entity].value + self.RegisteredEntities[entity] ) ) end diff --git a/includes/modules/Entity.lua b/includes/modules/Entity.lua index f98f3e8..31b9617 100644 --- a/includes/modules/Entity.lua +++ b/includes/modules/Entity.lua @@ -162,15 +162,14 @@ function Entity:GetModelHash() return self.m_modelhash end ----@return pointer|nil +---@return pointer function Entity:GetPointer() if not self.m_ptr then local handle = self:GetHandle() local ptr = memory.handle_to_ptr(handle) - if not ptr:is_valid() then - log.fwarning("Failed to get pointer for entity with handle %d", handle) - return + if (not ptr:is_valid()) then + error("Invalid entity.") end self.m_ptr = ptr diff --git a/includes/modules/PrivateHeli.lua b/includes/modules/PrivateHeli.lua index 5274b21..4eea53f 100644 --- a/includes/modules/PrivateHeli.lua +++ b/includes/modules/PrivateHeli.lua @@ -355,8 +355,8 @@ end function PrivateHeli:Cleanup() Game.DeleteEntity(self.pilot) Game.DeleteEntity(self.m_handle) - Decorator:RemoveEntity(self.pilot, "BillionaireServices") - Decorator:RemoveEntity(self.m_handle, "BillionaireServices") + Decorator:RemoveEntity(self.pilot) + Decorator:RemoveEntity(self.m_handle) self.pilot = nil self.m_handle = nil diff --git a/includes/modules/PrivateJet.lua b/includes/modules/PrivateJet.lua index 9d63d6c..77afc5b 100644 --- a/includes/modules/PrivateJet.lua +++ b/includes/modules/PrivateJet.lua @@ -539,9 +539,9 @@ function PrivateJet:Cleanup() Game.DeleteEntity(self.pilot) Game.DeleteEntity(self.copilot) Game.DeleteEntity(self.m_handle) - Decorator:RemoveEntity(self.pilot, "BillionaireServices") - Decorator:RemoveEntity(self.copilot, "BillionaireServices") - Decorator:RemoveEntity(self.m_handle, "BillionaireServices") + Decorator:RemoveEntity(self.pilot) + Decorator:RemoveEntity(self.copilot) + Decorator:RemoveEntity(self.m_handle) self.pilot = nil self.copilot = nil diff --git a/includes/modules/Vehicle.lua b/includes/modules/Vehicle.lua index 202852c..e7bc6b3 100644 --- a/includes/modules/Vehicle.lua +++ b/includes/modules/Vehicle.lua @@ -374,6 +374,24 @@ function Vehicle:HasLandingGear() return VEHICLE.GET_VEHICLE_HAS_LANDING_GEAR(self:GetHandle()) end +---@return boolean +function Vehicle:HasCustomTyres() + if (not self:IsValid()) then + return false + end + + return VEHICLE.GET_VEHICLE_MOD_VARIATION(self:GetHandle(), 23) ~= 0 +end + +---@return boolean +function Vehicle:HasWheelDrawData() + if (not self:IsValid()) then + return false + end + + return self:Resolve():HasWheelDrawData() +end + function Vehicle:HasCrashed() if (not self:HasCollidedWithAnything()) then return false, "" @@ -498,21 +516,68 @@ function Vehicle:IsElectric() end -- Returns whether the vehicle is an F1 race car. +---@return boolean function Vehicle:IsFormulaOne() return self:GetModelInfoFlag(Enums.eVehicleModelInfoFlags.IS_FORMULA_VEHICLE) or (self:GetClassID() == Enums.eVehicleClasses.OpenWheel) end -- Returns whether the vehicle is a lowrider equipped with hydraulic suspension. +---@return boolean function Vehicle:IsLowrider() return self:GetModelInfoFlag(Enums.eVehicleModelInfoFlags.HAS_LOWRIDER_HYDRAULICS) or self:GetModelInfoFlag(Enums.eVehicleModelInfoFlags.HAS_LOWRIDER_DONK_HYDRAULICS) end +---@return boolean function Vehicle:IsLocked() return VEHICLE.GET_VEHICLE_DOOR_LOCK_STATUS(self:GetHandle()) > 1 end +---@param wheelIndex integer +---@return boolean +function Vehicle:IsWheelBrokenOff(wheelIndex) + if (not self:IsValid()) then + return false + end + + local numWheels = self:GetNumberOfWheels() + if (wheelIndex > numWheels) then + Backend:debug("Wheel index out of bounds.") + return false + end + + return self:Resolve():IsWheelBrokenOff(wheelIndex) +end + +---@return float -- Wheel width or 0.f if invalid +function Vehicle:GetWheelWidth() + return self:Resolve():GetWheelWidth() +end + +---@return float -- Wheel size or 0.f if invalid +function Vehicle:GetWheelSize() + return self:Resolve():GetWheelSize() +end + +---@param fValue float +function Vehicle:SetVisualWheelWidth(fValue) + if (not self:HasWheelDrawData()) then + return + end + + self:Resolve():SetWheelWidth(fValue) +end + +---@param fValue float +function Vehicle:SetVisualWheelSize(fValue) + if (not self:HasWheelDrawData()) then + return + end + + self:Resolve():SetWheelSize(fValue) +end + function Vehicle:ClearPrimaryTask() TASK.CLEAR_PRIMARY_VEHICLE_TASK(self:GetHandle()) end @@ -1429,7 +1494,10 @@ function Vehicle:Wander(opts) end function Vehicle:RamForward() - if (not self:IsValid() or not VEHICLE.IS_VEHICLE_ON_ALL_WHEELS(self:GetHandle())) then + if not self:IsValid() + or not self:IsCar() + or not VEHICLE.IS_VEHICLE_ON_ALL_WHEELS(self:GetHandle()) + then return end @@ -1459,7 +1527,10 @@ function Vehicle:RamForward() end function Vehicle:RamLeft() - if (not self:IsValid() or not VEHICLE.IS_VEHICLE_ON_ALL_WHEELS(self:GetHandle())) then + if not self:IsValid() + or not self:IsCar() + or not VEHICLE.IS_VEHICLE_ON_ALL_WHEELS(self:GetHandle()) + then return end @@ -1484,7 +1555,10 @@ function Vehicle:RamLeft() end function Vehicle:RamRight() - if (not self:IsValid() or not VEHICLE.IS_VEHICLE_ON_ALL_WHEELS(self:GetHandle())) then + if not self:IsValid() + or not self:IsCar() + or not VEHICLE.IS_VEHICLE_ON_ALL_WHEELS(self:GetHandle()) + then return end diff --git a/includes/services/CompanionManager.lua b/includes/services/CompanionManager.lua index 182bbdf..6f6eb57 100644 --- a/includes/services/CompanionManager.lua +++ b/includes/services/CompanionManager.lua @@ -47,12 +47,12 @@ end ---@param entity integer function CompanionManager:RegisterEntity(entity) - Decorator:RegisterEntity(entity, "YimActions", true) + Decorator:Register(entity, "YimActions") end ---@param entity integer function CompanionManager:UnregisterEntity(entity) - Decorator:RemoveEntity(entity, "YimActions") + Decorator:RemoveEntity(entity) end ---@param pedModel hash|string From 19afc4cc4c90a43e3a4eca2849c399d9e6b60020 Mon Sep 17 00:00:00 2001 From: SAMURAI Date: Fri, 2 Jan 2026 03:24:59 +0100 Subject: [PATCH 10/11] feat(stancer): more improvements --- includes/classes/CVehicle.lua | 12 + includes/features/vehicle/stancer.lua | 329 +++++++++++++----- includes/frontend/vehicle/stancer_ui.lua | 97 ++++-- includes/frontend/vehicle/vehicle_ui.lua | 2 +- includes/lib/translations/de-DE.lua | 184 ++++------ includes/lib/translations/en-US.lua | 12 + includes/lib/translations/es-ES.lua | 168 ++++----- includes/lib/translations/fr-FR.lua | 180 ++++------ includes/lib/translations/it-IT.lua | 169 ++++----- includes/lib/translations/ja-JP.lua | 36 +- includes/lib/translations/ko-KR.lua | 33 +- includes/lib/translations/pl-PL.lua | 156 ++++----- includes/lib/translations/pt-BR.lua | 162 ++++----- includes/lib/translations/ru-RU.lua | 168 ++++----- includes/lib/translations/zh-CN.lua | 24 +- includes/lib/translations/zh-TW.lua | 24 +- includes/modules/Vehicle.lua | 10 + scripts/translations/generate_translations.py | 1 - scripts/translations/hashmap.json | 20 +- 19 files changed, 914 insertions(+), 873 deletions(-) diff --git a/includes/classes/CVehicle.lua b/includes/classes/CVehicle.lua index a40d0a4..f79c8b1 100644 --- a/includes/classes/CVehicle.lua +++ b/includes/classes/CVehicle.lua @@ -75,6 +75,7 @@ local SubHandlingCtorMap = { ---@field public m_wheel_scale_rear pointer ---@field public m_wheels atArray -- 0xC30 ---@field public m_num_wheels number -- 0xC38 +---@field public m_ride_height pointer ---@field private DumpFlags fun(self: CVehicle, enum_flags: Enum, get_func: fun(self: CVehicle, flag: integer): boolean): nil ---@overload fun(vehicle: integer): CVehicle|nil local CVehicle = Class("CVehicle", CEntity, 0xC40) @@ -135,6 +136,7 @@ function CVehicle:init(vehicle) instance.m_wheel_scale_rear = instance.m_model_info:add(0x0490) instance.m_wheels = atArray(ptr:add(0xC30), CWheel) instance.m_num_wheels = ptr:add(0xC38):get_int() + instance.m_ride_height = ptr:add(0xC30):deref():add(0x07C) return instance end @@ -456,4 +458,14 @@ function CVehicle:HasWheelDrawData() return self.m_draw_data:GetWheelDrawData():IsValid() end +---@param fHeight float positive = lower, negative = higher. should use values between `-0.1` and `0.1` +function CVehicle:SetRideHeight(fHeight) + if (not self:IsValid()) then + return + end + + -- should probably start sanitizing values before writing to memory + self.m_ride_height:set_float(fHeight) +end + return CVehicle diff --git a/includes/features/vehicle/stancer.lua b/includes/features/vehicle/stancer.lua index 3a10b7d..8f793a5 100644 --- a/includes/features/vehicle/stancer.lua +++ b/includes/features/vehicle/stancer.lua @@ -2,33 +2,59 @@ -- Unfinished, WIP -local FeatureBase = require("includes.modules.FeatureBase") -local CWheel = require("includes.classes.CWheel") +local FeatureBase = require("includes.modules.FeatureBase") +local CWheel = require("includes.classes.CWheel") +---@class StanceObject +---@field m_track_width float +---@field m_camber float +---@field m_wheel_width float +---@field m_wheel_size float +local StanceObject = {} + +---@return StanceObject +function StanceObject.new() + return { + m_track_width = 0.0, + m_camber = 0.0, + m_wheel_width = 0.0, + m_wheel_size = 0.0, + } +end ---@class Stancer : FeatureBase ---@field private m_entity PlayerVehicle ----@field private m_wheel_array atArray ---@field private m_last_tick milliseconds ----@field public m_suspension_offsets { front: float, rear: float } +---@field public m_base_values table +---@field public m_deltas table +---@field public m_wheels table> +---@field public m_suspension_height { m_current: float, m_last_seen: float } ---@field public m_is_active boolean -local Stancer = setmetatable({}, FeatureBase) -Stancer.__index = Stancer -Stancer.m_queue = { - m_front_track_width_queue = 0.0, - m_rear_track_width_queue = 0.0, - m_front_camber_queue = 0.0, - m_rear_camber_queue = 0.0, - m_wheel_width_queue = 0.0, - m_wheel_size_queue = 0.0 +local Stancer = setmetatable({}, FeatureBase) +Stancer.__index = Stancer + +---@class eWheelSide +Stancer.eWheelSide = { + FRONT = 1, + BACK = 2, +} + +Stancer.m_base_values = { + [Stancer.eWheelSide.FRONT] = StanceObject.new(), + [Stancer.eWheelSide.BACK] = StanceObject.new(), +} + +Stancer.m_deltas = { + [Stancer.eWheelSide.FRONT] = StanceObject.new(), + [Stancer.eWheelSide.BACK] = StanceObject.new(), } ---@alias ptr_read fun(w: CWheel): anyval ----@type array<{ default_key: string, wheel_index: integer, read_func: ptr_read, write_func: fun(w: CWheel, v: anyval, veh?: PlayerVehicle), side_dont_care?: boolean}> -Stancer.decorators = { +---@type array<{ key: string, wheel_side: eWheelSide, read_func: ptr_read, write_func: fun(w: CWheel, v: anyval, veh?: PlayerVehicle), side_dont_care?: boolean}> +Stancer.decorators = { { - default_key = "m_front_camber", - wheel_index = 2, + key = "m_camber", + wheel_side = Stancer.eWheelSide.FRONT, read_func = function(w) return w.m_y_rotation:get_float() end, @@ -38,8 +64,8 @@ Stancer.decorators = { end }, { - default_key = "m_front_track_width", - wheel_index = 2, + key = "m_track_width", + wheel_side = Stancer.eWheelSide.FRONT, read_func = function(w) return w.m_x_offset:get_float() end, @@ -48,8 +74,8 @@ Stancer.decorators = { end }, { - default_key = "m_wheel_width", - wheel_index = 2, + key = "m_wheel_width", + wheel_side = Stancer.eWheelSide.FRONT, -- doesn't matter side_dont_care = true, read_func = function(w) return w.m_tire_width:get_float() @@ -60,8 +86,8 @@ Stancer.decorators = { end }, { - default_key = "m_wheel_size", - wheel_index = 2, + key = "m_wheel_size", + wheel_side = Stancer.eWheelSide.FRONT, -- doesn't matter side_dont_care = true, read_func = function(w) return w.m_tire_radius:get_float() @@ -72,8 +98,8 @@ Stancer.decorators = { end }, { - default_key = "m_rear_camber", - wheel_index = 4, + key = "m_camber", + wheel_side = Stancer.eWheelSide.BACK, read_func = function(w) return w.m_y_rotation:get_float() end, @@ -83,8 +109,8 @@ Stancer.decorators = { end }, { - default_key = "m_rear_track_width", - wheel_index = 4, + key = "m_track_width", + wheel_side = Stancer.eWheelSide.BACK, read_func = function(w) return w.m_x_offset:get_float() end, @@ -103,63 +129,175 @@ end function Stancer:Init() self.m_last_tick = 0 - self.m_suspension_offsets = { - front = 0.0, - rear = 0.0 + self.m_suspension_height = { + m_current = 0.0, + m_last_seen = 0.0 } if (self.m_entity:IsValid()) then - self.m_wheel_array = self.m_entity:Resolve().m_wheels + self:ReadWheelArray() + end +end + +function Stancer:ShouldRun() + return self.m_entity and self.m_entity:IsValid() +end + +function Stancer:ReadWheelArray() + if (self.m_wheels) then + return + end + + self.m_wheels = { + [self.eWheelSide.FRONT] = {}, + [self.eWheelSide.BACK] = {} + } + + local wheel_array = self.m_entity:Resolve().m_wheels + local wheel_count = self.m_entity:GetNumberOfWheels() + if (wheel_count == 2) then + table.insert(self.m_wheels[self.eWheelSide.FRONT], CWheel(wheel_array:Get(1))) + table.insert(self.m_wheels[self.eWheelSide.BACK], CWheel(wheel_array:Get(2))) + else + -- I don't think there are any "cars" in GTA with more or less than 2 front wheels + local front_count = 2 + local back_count = wheel_count - front_count + for i = 1, front_count do + self.m_wheels[self.eWheelSide.FRONT][i] = CWheel(wheel_array:Get(i)) + end + + if (back_count == 1) then -- I think there's one vehicle with just one back wheel. I have the memory of a goldfish so I can't remember + self.m_wheels[self.eWheelSide.BACK][1] = CWheel(wheel_array:Get(3)) + else + for i = 1, back_count do + self.m_wheels[self.eWheelSide.BACK][i] = CWheel(wheel_array:Get(i + front_count)) + end + end + end +end + +---@return table> +function Stancer:GetWheels() + if (not self.m_wheels) then + self:ReadWheelArray() + end + + return self.m_wheels +end + +---@param side eWheelSide +---@return array? +function Stancer:GetAllWheelsForSide(side) + self.m_wheels = self:GetWheels() + if (#self.m_wheels[side] == 0) then + return + end + + return self.m_wheels[side] +end + +---@param side eWheelSide +---@return CWheel? +function Stancer:GetFirstWheelForSide(side) + local wheelsbyside = self.m_wheels[side] + if (#wheelsbyside == 0) then + return end + + return wheelsbyside[1] +end + +---@param side eWheelSide +---@param wheel_n integer +---@return CWheel? +function Stancer:GetNthWheelForSide(side, wheel_n) + local wheelsbyside = self.m_wheels[side] + local count = #wheelsbyside + if (count == 0 or wheel_n > count) then + return + end + + return self.m_wheels[side][wheel_n] end ---@return boolean function Stancer:AreDefaultsRegistered() + if (not self.m_wheels) then + return false + end + local handle = self.m_entity:GetHandle() - for _, decor in ipairs(self.decorators) do - if (not Decorator:ExistsOn(handle, decor.default_key)) then - return false + for _, v in ipairs(self.decorators) do + local wheel_array = self:GetAllWheelsForSide(v.wheel_side) + for i = 1, #wheel_array do + local decor = _F("%s_%d", v.key, i) + if (not Decorator:ExistsOn(handle, decor)) then + return false + end end end return true end +---@param array array +---@param fn function +function Stancer:ForEach(array, fn) + if (not array or #array == 0) then + return + end + + for i, v in ipairs(array) do + if (v and v:IsValid()) then + fn(i, v) + end + end +end + function Stancer:ReadDefaults() if (not self.m_entity:IsValid() or not self.m_entity:IsCar()) then return end + local queued_decors_loaded = self:RestoreQueueFromDecors() + if (self:AreDefaultsRegistered()) then return end - self.m_wheel_array = self.m_entity:Resolve().m_wheels for _, v in ipairs(self.decorators) do - local key = v.default_key - local pending_key = key .. "_queue" + local key = v.key local read_func = v.read_func - local cwheel = CWheel(self.m_wheel_array:Get(v.wheel_index)) - if (not cwheel or not cwheel:IsValid()) then - break - end + local wheel_array = self:GetAllWheelsForSide(v.wheel_side) - local default_val = read_func(cwheel) - Decorator:Register(self.m_entity:GetHandle(), key, default_val) - Decorator:Register(self.m_entity:GetHandle(), pending_key, default_val) - self.m_queue[pending_key] = default_val - end -end + self:ForEach(wheel_array, function(i, cwheel) + local default_val = read_func(cwheel) + local wheel_key = _F("%s_%d", key, i) + Decorator:Register(self.m_entity:GetHandle(), wheel_key, default_val) -function Stancer:ShouldRun() - return self.m_entity and self.m_entity:IsValid() + -- our values are based on the first wheel per axle + if (i == 1) then + self.m_base_values[v.wheel_side][v.key] = default_val + if (not queued_decors_loaded) then + local pending_key = wheel_key .. "_queue" + local decor_func = Decorator:ExistsOn(self.m_entity:GetHandle(), pending_key) + and Decorator.UpdateDecor + or Decorator.Register + + decor_func(Decorator, self.m_entity:GetHandle(), pending_key, default_val) + self.m_deltas[v.wheel_side][v.key] = 0.0 + end + end + end) + end end ---@param wheelIndex integer ---@param value number ---@return number -function Stancer:GetValueByWheelSide(wheelIndex, value) - return wheelIndex % 2 == 0 and value or -value +function Stancer:GetValueByWheelIndex(wheelIndex, value) + -- this is not flipped. default values are referenced from the first wheel per side (front/back) + return wheelIndex == 1 and value or -value end ---@return boolean @@ -167,39 +305,59 @@ function Stancer:CanApplyDrawData() return self.m_entity and self.m_entity:HasWheelDrawData() end -function Stancer:Cleanup() - if (not self.m_wheel_array) then +function Stancer:Reset() + if (not self.m_wheels) then return end - if (not self:AreDefaultsRegistered()) then + self.m_entity:SetRideHeight(0.0) + self.m_suspension_height.m_current = 0.0 + self.m_suspension_height.m_last_seen = 0.0 + + for _, v in ipairs(self.decorators) do + self.m_deltas[v.wheel_side][v.key] = 0.0 + end +end + +function Stancer:Cleanup() + if (not self.m_wheels) then return end - for _, v in ipairs(self.decorators) do - local num_wheels = self.m_entity:GetNumberOfWheels() - local wheel_range = v.wheel_index == 2 and Range(1, 2) or Range(3, num_wheels) - local default_val = Decorator:GetDecor(self.m_entity:GetHandle(), v.default_key) - if (not default_val or type(default_val) ~= "number") then - break - end + self:Reset() + Decorator:RemoveEntity(self.m_entity:GetHandle()) +end - for i in wheel_range:Iter() do - local cwheel = CWheel(self.m_wheel_array:Get(i)) - if (not cwheel) then - break - end +---@return boolean +function Stancer:RestoreQueueFromDecors() + local handle = self.m_entity:GetHandle() + if (not Decorator:IsEntityRegistered(handle)) then + return false + end - local val = v.side_dont_care and default_val or self:GetValueByWheelSide(i, default_val) - v.write_func(cwheel, val, self.m_entity) - end + local success = true + for _, v in ipairs(self.decorators) do + local wheel_array = self:GetAllWheelsForSide(v.wheel_side) + self:ForEach(wheel_array, function(i) + local queued_key = _F("%s_%d_queue", v.key, i) + local val = Decorator:GetDecor(handle, queued_key) + if (val == nil) then + success = false + else + if (i == 1) then + self.m_deltas[v.wheel_side][v.key] = val + end + end + end) end + + return success end function Stancer:Update() self.m_is_active = self.m_entity:IsCar() - if (not self.m_is_active or not self.m_wheel_array) then + if (not self.m_is_active or not self.m_wheels) then return end @@ -213,25 +371,24 @@ function Stancer:Update() return end + if (self.m_suspension_height.m_current ~= self.m_suspension_height.m_last_seen) then + self.m_entity:SetRideHeight(self.m_suspension_height.m_current) + self.m_suspension_height.m_last_seen = self.m_suspension_height.m_current + end + for _, v in ipairs(self.decorators) do - local queued_key = v.default_key .. "_queue" - local queued_val = self.m_queue[queued_key] - local num_wheels = self.m_entity:GetNumberOfWheels() - local wheel_range = v.wheel_index == 2 and Range(1, 2) or Range(3, num_wheels) - - for i in wheel_range:Iter() do - local cwheel = CWheel(self.m_wheel_array:Get(i)) - if (not cwheel) then - break - end + local wheel_array = self:GetAllWheelsForSide(v.wheel_side) + local base_val = self.m_base_values[v.wheel_side][v.key] + local delta_val = self.m_deltas[v.wheel_side][v.key] - local current_val = v.read_func(cwheel) - if (math.abs(queued_val) ~= math.abs(current_val)) then - local val = v.side_dont_care and queued_val or self:GetValueByWheelSide(i, queued_val) - v.write_func(cwheel, val, self.m_entity) - Decorator:UpdateDecor(self.m_entity:GetHandle(), queued_key, queued_val) + self:ForEach(wheel_array, function(i, cwheel) + local desired = v.side_dont_care and base_val + delta_val or + self:GetValueByWheelIndex(i, base_val + delta_val) + + if (math.abs(desired) ~= math.abs(v.read_func(cwheel))) then + v.write_func(cwheel, desired, self.m_entity) end - end + end) end self.m_last_tick = Game.GetGameTimer() diff --git a/includes/frontend/vehicle/stancer_ui.lua b/includes/frontend/vehicle/stancer_ui.lua index a94bcfc..94fe0f6 100644 --- a/includes/frontend/vehicle/stancer_ui.lua +++ b/includes/frontend/vehicle/stancer_ui.lua @@ -1,25 +1,37 @@ -local PV = Self:GetVehicle() -local Stancer = PV.m_stance_mgr -local stanceQueue = Stancer.m_queue - -local ref = { - m_front_track_width_queue = { label = "Front Track Width", fmt = "%.3f", min = 0.1, max = 1.0 }, - m_rear_track_width_queue = { label = "Rear Track Width", fmt = "%.3f", min = 0.1, max = 1.0 }, - m_front_camber_queue = { label = "Front Camber", fmt = "%.2f°", min = -1.0, max = 1.0 }, - m_rear_camber_queue = { label = "Rear Camber", fmt = "%.2f°", min = -1.0, max = 1.0 }, - m_wheel_width_queue = { label = "Wheel Width", fmt = "%.2f", min = 0.1, max = 2.0 }, - m_wheel_size_queue = { label = "Wheel Size", fmt = "%.2f", min = 0.1, max = 2.0 }, -} +local PV = Self:GetVehicle() +local Stancer = PV.m_stance_mgr +local frontStanceDeltas = Stancer.m_deltas[Stancer.eWheelSide.FRONT] +local backStanceDeltas = Stancer.m_deltas[Stancer.eWheelSide.BACK] -local ref_order = { - "m_front_camber_queue", - "m_rear_camber_queue", - "m_front_track_width_queue", - "m_rear_track_width_queue", - "m_wheel_width_queue", - "m_wheel_size_queue", +local ref = { + m_camber = { label = "VEH_STANCE_CAMBER", fmt = "%.2f°", min = -1.0, max = 1.0 }, + m_track_width = { label = "VEH_STANCE_TRACK_WIDTH", fmt = "%.2f", min = -0.5, max = 0.5 }, + m_wheel_width = { label = "VEH_STANCE_WHEEL_WIDTH", fmt = "%.2f", min = -0.5, max = 1.5, drawdata_only = true, tooltip = "VEH_STANCE_NON_STOCK" }, + m_wheel_size = { label = "VEH_STANCE_WHEEL_SIZE", fmt = "%.2f", min = -0.5, max = 1.5, drawdata_only = true, tooltip = "VEH_STANCE_NON_STOCK" }, } +---@param key string +---@param deltaTable table +---@param side integer +local function DrawSlider(key, deltaTable, side) + local meta = ref[key] + local disabled = (meta.drawdata_only and not Stancer:CanApplyDrawData()) + + if (disabled) then + ImGui.BeginDisabled() + end + deltaTable[key], _ = ImGui.SliderFloat( + _F("%s##%d", _T(meta.label), side), + deltaTable[key], + meta.min, + meta.max, meta.fmt + ) + if (disabled) then + ImGui.EndDisabled() + GUI:Tooltip(_T(meta.tooltip or "VEH_STANCE_INCOMPATIBLE")) + end +end + return function() if (self.get_veh() == 0) then ImGui.Text(_T("GENERIC_NOT_IN_VEH")) @@ -29,22 +41,39 @@ return function() return end - for i = 1, #ref_order do - local k = ref_order[i] - local should_disable = (k == "m_wheel_width_queue" or k == "m_wheel_size_queue") and not PV:HasWheelDrawData() - - if (should_disable) then - ImGui.BeginDisabled() - end - stanceQueue[k], _ = ImGui.SliderFloat(ref[k].label, stanceQueue[k], ref[k].min, ref[k].max, ref[k].fmt) - if (should_disable) then - ImGui.EndDisabled() - end - if (should_disable) then - GUI:Tooltip("You can not modify wheel diameter and width on stock wheels.") - end + ImGui.SeparatorText(_T("VEH_STANCE_FRONT_AXLE")) + DrawSlider("m_camber", frontStanceDeltas, Stancer.eWheelSide.FRONT) + DrawSlider("m_track_width", frontStanceDeltas, Stancer.eWheelSide.FRONT) + + ImGui.SeparatorText(_T("VEH_STANCE_REAR_AXLE")) + DrawSlider("m_camber", backStanceDeltas, Stancer.eWheelSide.BACK) + DrawSlider("m_track_width", backStanceDeltas, Stancer.eWheelSide.BACK) + + if (GUI:Button(_T("VEH_STANCE_COPY_FB"))) then + backStanceDeltas.m_camber = frontStanceDeltas.m_camber + backStanceDeltas.m_track_width = frontStanceDeltas.m_track_width + end + + ImGui.SeparatorText(_T("VEH_STANCE_GEN_OPTIONS")) + Stancer.m_suspension_height.m_current, _ = ImGui.SliderFloat( + _T("VEH_STANCE_RIDE_HEIGHT"), + Stancer.m_suspension_height.m_current, + -0.2, + 0.2 + ) + + DrawSlider("m_wheel_width", frontStanceDeltas, Stancer.eWheelSide.FRONT) + DrawSlider("m_wheel_size", frontStanceDeltas, Stancer.eWheelSide.FRONT) + + if (GUI:Button(_T("GENERIC_RESET"))) then + Stancer:Reset() + ThreadManager:Run(function() + if (not PV:IsValid()) then + return + end + VEHICLE.RESET_VEHICLE_WHEELS(PV:GetHandle(), true) + end) end ImGui.Dummy(1, 10) - ImGui.TextDisabled("Work In Progress.") end diff --git a/includes/frontend/vehicle/vehicle_ui.lua b/includes/frontend/vehicle/vehicle_ui.lua index 3a73526..d4c95c6 100644 --- a/includes/frontend/vehicle/vehicle_ui.lua +++ b/includes/frontend/vehicle/vehicle_ui.lua @@ -540,7 +540,7 @@ end) --#endregion --#region stancer -vehicleTab:RegisterSubtab("Stancer", require("includes.frontend.vehicle.stancer_ui"), nil, false) +vehicleTab:RegisterSubtab("SUBTAB_STANCER", require("includes.frontend.vehicle.stancer_ui"), nil, true) --#endregion local swap_btn_size = vec2:new(140, 35) diff --git a/includes/lib/translations/de-DE.lua b/includes/lib/translations/de-DE.lua index 1167e63..4f8f81c 100644 --- a/includes/lib/translations/de-DE.lua +++ b/includes/lib/translations/de-DE.lua @@ -27,8 +27,7 @@ return { ["VEH_NO_JET_STALL"] = "Deaktivieren Sie das Abwürgen des Motors", ["VEH_FAST_JETS"] = "Schnelle Flugzeuge", ["VEH_NO_JET_STALL_TT"] = "Flugzeugtriebwerke werden nicht mehr abgewürgt, wenn Sie die Bremstaste gedrückt halten.", - ["VEH_FAST_JETS_TT"] = - "Macht die meisten Flugzeuge schneller, solange sie standardmäßig 240 km/h erreichen können. Ihre Höchstgeschwindigkeit wird auf 555 km/h erhöht.\n\nLangsamere Flugzeuge wie der Duster profitieren davon nicht, es sei denn, Sie zwingen sie durch einen Sturzflug dazu, die Geschwindigkeitsschwelle zu erreichen.\n\nHINWEIS: Ihr Gang (Flugzeugräder) muss eingelegt sein.", + ["VEH_FAST_JETS_TT"] = "Macht die meisten Flugzeuge schneller, solange sie standardmäßig 240 km/h erreichen können. Ihre Höchstgeschwindigkeit wird auf 555 km/h erhöht.\n\nLangsamere Flugzeuge wie der Duster profitieren davon nicht, es sei denn, Sie zwingen sie durch einen Sturzflug dazu, die Geschwindigkeitsschwelle zu erreichen.\n\nHINWEIS: Ihr Gang (Flugzeugräder) muss eingelegt sein.", ["VEH_MG_TRIGGERBOT"] = "Maschinengewehr-Triggerbot", ["VEH_MG_TRIGGERBOT_ENEMY"] = "Nur Feinde", ["VEH_AUTOPILOT"] = "Autopilot", @@ -40,8 +39,7 @@ return { ["VEH_MG_MANUAL_AIM_TT"] = "Ermöglicht Ihnen, das Maschinengewehr Ihres Flugzeugs manuell auszurichten.", ["VEH_MG_MARKER_SIZE"] = "Manuelle Zielmarkierungsgröße", ["VEH_FLARES"] = "Flare-Gegenmaßnahmen", - ["VEH_FLARES_TT"] = - "Ermöglicht den Einsatz von Leuchtraketen von jedem Flugzeug aus mithilfe der Standardschaltfläche für Gegenmaßnahmen.", + ["VEH_FLARES_TT"] = "Ermöglicht den Einsatz von Leuchtraketen von jedem Flugzeug aus mithilfe der Standardschaltfläche für Gegenmaßnahmen.", ["WRLD_HNS"] = "Verstecken und suchen", ["VEH_SEAT_PREV"] = "Vorheriger Sitzplatz", ["VEH_SEAT_NEXT"] = "Nächster Platz", @@ -50,8 +48,7 @@ return { ["WRLD_EXTEND_BOUNDS_TT"] = "Ermöglicht es Ihnen, in jede Richtung weiter in die Welt zu reisen.", ["WRLD_FLIGHT_MUSIC"] = "Flugmusik deaktivieren", ["WRLD_EXTEND_BOUNDS"] = "Erweitern Sie die Weltgrenzen", - ["WRLD_HNS_TT"] = - "Ermöglicht das Verstecken in Fahrzeugen, Kofferräumen oder Mülleimern. Wenn Sie eine Fahndungsstufe haben, wird die Polizei Sie verlieren, solange Sie sich verstecken, bevor sie entdeckt wird.", + ["WRLD_HNS_TT"] = "Ermöglicht das Verstecken in Fahrzeugen, Kofferräumen oder Mülleimern. Wenn Sie eine Fahndungsstufe haben, wird die Polizei Sie verlieren, solange Sie sich verstecken, bevor sie entdeckt wird.", ["WRLD_WANTED_MUSIC"] = "Deaktivieren Sie „Gesuchte Musik“.", ["FLTBD_TOWING_TXT"] = "Abschleppfahrzeug:", ["FLTBD_MAIN_CB"] = "Skript aktivieren", @@ -60,38 +57,29 @@ return { ["FLTBD_TOW_BTN"] = "Schleppen", ["WRLD_CARPOOL_TT"] = "Ermöglicht Ihnen, als Beifahrer in NPC-Fahrzeuge einzusteigen.", ["FLTBD_SHOW_TOWBOX_TT"] = "Zeichnet eine ESP-Box um das Zielfahrzeug.", - ["YAV3_STOP_BTN_HINT"] = - "TIPP: Sie können %s drücken, um die Wiedergabe einer Aktion zu beenden, oder die Taste eine Sekunde lang gedrückt halten, um alles zu bereinigen.", + ["YAV3_STOP_BTN_HINT"] = "TIPP: Sie können %s drücken, um die Wiedergabe einer Aktion zu beenden, oder die Taste eine Sekunde lang gedrückt halten, um alles zu bereinigen.", ["FLTBD_FAST_ADJUST_TXT"] = "Halten Sie [SHIFT] gedrückt, um sich schneller zu bewegen.", ["FLTBD_SHOW_TOWBOX_CB"] = "Box ESP", ["FLTBD_TOW_ALL_CB"] = "Alles abschleppen", ["FLTBD_EXIT_VEH_ERR"] = "Verlassen Sie zunächst Ihr aktuelles Fahrzeug.", - ["FLTBD_ADJUST_POS_TT"] = - "Damit die Pfeile einen Sinn ergeben, bewegen Sie die Wildkamera nach rechts. (Schau nach rechts)", + ["FLTBD_ADJUST_POS_TT"] = "Damit die Pfeile einen Sinn ergeben, bewegen Sie die Wildkamera nach rechts. (Schau nach rechts)", ["FLTBD_ADJUST_POS_TXT"] = "Fahrzeugposition anpassen", ["FLTBD_NEARBY_VEH_TXT"] = "Nächstes Fahrzeug:", ["FLTBD_NO_VEH_TXT"] = "Keine Fahrzeuge in der Nähe gefunden.", ["FLTBD_SAME_NOT_ALLOWED_ERR"] = "Sie können keinen anderen Tieflader abschleppen.", ["FLTBD_CARS_ONLY_ERR"] = "Es dürfen nur Pkw, Lkw und Fahrräder abgeschleppt werden.", - ["FLTBD_TOW_ALL_TT"] = - "Standardmäßig schleppt der Lkw nur Pkw, Lkw und Fahrräder. Diese Option hebt diese Einschränkung auf.", + ["FLTBD_TOW_ALL_TT"] = "Standardmäßig schleppt der Lkw nur Pkw, Lkw und Fahrräder. Diese Option hebt diese Einschränkung auf.", ["SETTINGS_ENTITY_REPLACE"] = "Entitäten automatisch ersetzen", ["SETTINGS_CFG_RESET"] = "Gespeicherte Konfiguration zurücksetzen", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Optional: Wählen Sie Konfigurationselemente aus, die Sie behalten möchten.", - ["FTLBD_GET_IN_MSG"] = - "Sie befinden sich derzeit nicht in einem Tieflader. Sie können einen von der Straße stehlen oder die Schaltfläche unten verwenden, um einen neuen zu erzeugen.", - ["SETTINGS_ENTITY_REPLACE_TT"] = - "Bei diesem Projekt ist die Anzahl der Entitäten, die Sie erzeugen können (Fußgänger, Fahrzeuge, Objekte), begrenzt. Alle Funktionen halten sich an dieses Limit, um Entity-Spam oder eine Blockierung des Spiels zu verhindern. Mit dieser Option kann das Skript automatisch alte erzeugte Entitäten ersetzen, sobald Sie das Limit für einen bestimmten Entitätstyp erreichen und versuchen, eine neue zu erzeugen.", + ["FTLBD_GET_IN_MSG"] = "Sie befinden sich derzeit nicht in einem Tieflader. Sie können einen von der Straße stehlen oder die Schaltfläche unten verwenden, um einen neuen zu erzeugen.", + ["SETTINGS_ENTITY_REPLACE_TT"] = "Bei diesem Projekt ist die Anzahl der Entitäten, die Sie erzeugen können (Fußgänger, Fahrzeuge, Objekte), begrenzt. Alle Funktionen halten sich an dieses Limit, um Entity-Spam oder eine Blockierung des Spiels zu verhindern. Mit dieser Option kann das Skript automatisch alte erzeugte Entitäten ersetzen, sobald Sie das Limit für einen bestimmten Entitätstyp erreichen und versuchen, eine neue zu erzeugen.", ["GENERIC_UNAVAILABLE"] = "Derzeit nicht verfügbar.", - ["WARN_PED_SPAWN_LIMIT"] = - "Ped-Spawn-Limit erreicht! Erwägen Sie die Aktivierung von „Entitäten automatisch ersetzen“ auf der Registerkarte „Einstellungen“, wenn Sie alte Entitäten automatisch ersetzen möchten, wenn Sie das Limit erreichen.", - ["WARN_VEH_SPAWN_LIMIT"] = - "Fahrzeug-Spawn-Limit erreicht! Erwägen Sie die Aktivierung von „Entitäten automatisch ersetzen“ auf der Registerkarte „Einstellungen“, wenn Sie alte Entitäten automatisch ersetzen möchten, wenn Sie das Limit erreichen.", - ["GENERIC_OFFLINE_OR_OUTDATED"] = - "Sie müssen online sein und über die neueste Version des Skripts verfügen, um auf diese Funktion zugreifen zu können!", + ["WARN_PED_SPAWN_LIMIT"] = "Ped-Spawn-Limit erreicht! Erwägen Sie die Aktivierung von „Entitäten automatisch ersetzen“ auf der Registerkarte „Einstellungen“, wenn Sie alte Entitäten automatisch ersetzen möchten, wenn Sie das Limit erreichen.", + ["WARN_VEH_SPAWN_LIMIT"] = "Fahrzeug-Spawn-Limit erreicht! Erwägen Sie die Aktivierung von „Entitäten automatisch ersetzen“ auf der Registerkarte „Einstellungen“, wenn Sie alte Entitäten automatisch ersetzen möchten, wenn Sie das Limit erreichen.", + ["GENERIC_OFFLINE_OR_OUTDATED"] = "Sie müssen online sein und über die neueste Version des Skripts verfügen, um auf diese Funktion zugreifen zu können!", ["INF_ATTACHMENT_NONE"] = "An uns scheint nichts zu hängen.", - ["WARN_OBJ_SPAWN_LIMIT"] = - "Objekt-Spawn-Limit erreicht! Erwägen Sie die Aktivierung von „Entitäten automatisch ersetzen“ auf der Registerkarte „Einstellungen“, wenn Sie alte Entitäten automatisch ersetzen möchten, wenn Sie das Limit erreichen.", + ["WARN_OBJ_SPAWN_LIMIT"] = "Objekt-Spawn-Limit erreicht! Erwägen Sie die Aktivierung von „Entitäten automatisch ersetzen“ auf der Registerkarte „Einstellungen“, wenn Sie alte Entitäten automatisch ersetzen möchten, wenn Sie das Limit erreichen.", ["GENERIC_OPTIONS_LABEL"] = "Optionen", ["GENERIC_LEFT_RIGHT_LABEL"] = "Links rechts", ["GENERIC_POSITION_LABEL"] = "Position", @@ -100,8 +88,7 @@ return { ["GENERIC_UP_DOWN_LABEL"] = "Auf/Ab", ["INF_ATTACHMENT_DROP"] = "Anhänge gelöscht.", ["GENERIC_CANCEL"] = "Stornieren", - ["GENERIC_SG_SL_READ_FAIL"] = - "Das globale/lokale Lesen des Skripts ist fehlgeschlagen. Bitte wenden Sie sich an einen Entwickler.", + ["GENERIC_SG_SL_READ_FAIL"] = "Das globale/lokale Lesen des Skripts ist fehlgeschlagen. Bitte wenden Sie sich an einen Entwickler.", ["GENERIC_CONTACT_DEV"] = "Etwas ist schief gelaufen! Bitte wenden Sie sich an einen Entwickler.", ["GENERIC_RESET"] = "Zurücksetzen", ["GENERIC_TELEPORT"] = "Teleportieren", @@ -135,8 +122,7 @@ return { ["CP_COOLDOWN_BYPASS_ENABLE"] = "Aktivieren Sie die Umgehung", ["CP_COOLDOWN_BYPASS"] = "Abklingzeit der Casino-Chips umgehen", ["CP_COOLDOWN_BYPASS_STATUS_OFF"] = "Abklingzeit deaktiviert", - ["CP_COOLDOWN_BYPASS_TOOLTIP"] = - "Deaktiviert die Abklingzeit des Casinos, kann zu einem Verbot führen. Die Nutzung erfolgt auf eigene Gefahr.", + ["CP_COOLDOWN_BYPASS_TOOLTIP"] = "Deaktiviert die Abklingzeit des Casinos, kann zu einem Verbot führen. Die Nutzung erfolgt auf eigene Gefahr.", ["CP_POKER_FORCE_ROYAL_FLUSH"] = "Zwinge alle Spielerhände zum Royal Flush", ["CP_COOLDOWN_BYPASS_STATUS_FORMAT"] = "Abklingzeit für %.2f Minute(n).", ["CP_POKER_FORCE_BAD_BEAT"] = "Die Hand des Dealers auf „Bad Beat“ zwingen", @@ -221,8 +207,7 @@ return { ["YRV3_LSD_LAB_NOT_OWNED"] = "Sie besitzen kein Säurelabor.", ["YRV3_AUTO_FILL"] = "Automatisch ausfüllen", ["YRV3_AUTO_SELL"] = "Autosell", - ["YRV3_FINISH_SOURCE_MISSION_TT"] = - "Starten Sie eine Quellmission und drücken Sie dann diese Taste, um sie zu beenden.", + ["YRV3_FINISH_SOURCE_MISSION_TT"] = "Starten Sie eine Quellmission und drücken Sie dann diese Taste, um sie zu beenden.", ["YRV3_FINISH_SOURCE_MISSION"] = "Schließe die Mission „Frachtquelle“ ab", ["YRV3_AMT_TOTAL"] = "Gesamtbetrag", ["YRV3_POPULARITY"] = "Popularität", @@ -238,8 +223,7 @@ return { ["YRV3_NC_MANAGMENT_CB"] = "Nachtclub-Management", ["YRV3_NC_CHANCE_ENCOUNTER_CB"] = "Immer Unruhestifter", ["YRV3_CEO_BUY_CB"] = "CEO Crate Buy", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = - "Spawnt immer die Unruhestifter-Nachtclub-Missionen und deaktiviert die ausgeknockten VIP-Missionen.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Spawnt immer die Unruhestifter-Nachtclub-Missionen und deaktiviert die ausgeknockten VIP-Missionen.", ["YRV3_SECURITY_WORK_CB"] = "Sicherheitsmissionen", ["YRV3_DAX_WORK_CB"] = "Dax-Arbeit", ["YRV3_COOLDOWNS_LABEL"] = "Abklingzeiten", @@ -252,22 +236,18 @@ return { ["YRV3_IE_VEH_SELL_CB"] = "Verkauf von I/E-Fahrzeugen", ["YRV3_CB_UNCHECK_ALL"] = "Deaktivieren Sie „Alle“.", ["YRV3_CEO_SELL_CB"] = "CEO Crate Sell", - ["YRV3_SELL_MISSIONS_NOTE"] = - "[HINWEIS]: Wenn Sie vorhaben, mehr als einmal für dasselbe Unternehmen zu verkaufen, wechseln Sie bitte nach Abschluss des ersten Verkaufs die Sitzung, um die Missionen zurückzusetzen, andernfalls wird ein zweiter Verkauf höchstwahrscheinlich nicht gestartet.", - ["YRV3_SEXY_SHINABI_NOTICE"] = - "Verwenden Sie stattdessen das Payphone Hits-Skript von ShinyWasabi.\nDrücken Sie [TAB], um den GitHub-Link zu kopieren.", + ["YRV3_SELL_MISSIONS_NOTE"] = "[HINWEIS]: Wenn Sie vorhaben, mehr als einmal für dasselbe Unternehmen zu verkaufen, wechseln Sie bitte nach Abschluss des ersten Verkaufs die Sitzung, um die Missionen zurückzusetzen, andernfalls wird ein zweiter Verkauf höchstwahrscheinlich nicht gestartet.", + ["YRV3_SEXY_SHINABI_NOTICE"] = "Verwenden Sie stattdessen das Payphone Hits-Skript von ShinyWasabi.\nDrücken Sie [TAB], um den GitHub-Link zu kopieren.", ["YRV3_AUTOSELL_BUNKER_LABEL"] = "Bunker", ["YRV3_SELL_MISSIONS_NOTIF"] = "Disabled the most annoying %s sell missions.", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Hinweis: Nur diese Unternehmen werden unterstützt:", - ["YRV3_SELL_MISSIONS_TT"] = - "Diese Optionen werden nicht gespeichert. Jede Schaltfläche deaktiviert die mühsamsten Verkaufsmissionen für dieses Unternehmen.", + ["YRV3_SELL_MISSIONS_TT"] = "Diese Optionen werden nicht gespeichert. Jede Schaltfläche deaktiviert die mühsamsten Verkaufsmissionen für dieses Unternehmen.", ["YRV3_AUTOSELL_HANGAR_LABEL"] = "Hangar (nur Luft)", ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "Säurelabor", ["YRV3_AUTOSELL_CURRENT"] = "Derzeit im Verkauf: %s", ["YRV3_AUTOSELL_CEO_LABEL"] = "CEO Warehouses", ["YRV3_AUTOSELL_BIKER_LABEL"] = "Biker-Unternehmen", - ["YRV3_AUTOSELL_TT"] = - "Beendet eine Verkaufsmission automatisch 20 Sekunden nach ihrem Start. Sie müssen nichts anderes tun, als die Mission zu starten.", + ["YRV3_AUTOSELL_TT"] = "Beendet eine Verkaufsmission automatisch 20 Sekunden nach ihrem Start. Sie müssen nichts anderes tun, als die Mission zu starten.", ["YRV3_MCT_TITLE"] = "Hauptsteuerterminal", ["YRV3_AUTO_FILL_DELAY"] = "Globale Verzögerung beim automatischen Ausfüllen:", ["YRV3_HANGAR_LAND_ERR"] = "Hangar und Verkauf werden derzeit nicht unterstützt.", @@ -280,27 +260,20 @@ return { ["SELF_PHONE_ANIMS"] = "Aktivieren Sie Telefonanimationen", ["SELF_ACTION_MODE_TT"] = "Deaktiviert die ruckartige Bewegung des Spielers während des Kampfes.", ["SELF_PHONE_ANIMS_TT"] = "Stellt Handy-Animationen in GTA Online wieder her.", - ["SELF_STAND_ON_VEHS_TT"] = - "Verhindert das Ragdolling, wenn Sie auf dem Dach eines Fahrzeugs stehen (Sie fallen trotzdem, wenn Sie gegen etwas stoßen).", + ["SELF_STAND_ON_VEHS_TT"] = "Verhindert das Ragdolling, wenn Sie auf dem Dach eines Fahrzeugs stehen (Sie fallen trotzdem, wenn Sie gegen etwas stoßen).", ["SELF_HEADPROPS"] = "Kopfstützen in Fahrzeugen zulassen", - ["SELF_HEADPROPS_TT"] = - "Verhindert, dass das Spiel Ihre Kopfbedeckung (Hüte, Helme, lange Harcuts usw.) beim Einsteigen in ein Fahrzeug abnimmt.", + ["SELF_HEADPROPS_TT"] = "Verhindert, dass das Spiel Ihre Kopfbedeckung (Hüte, Helme, lange Harcuts usw.) beim Einsteigen in ein Fahrzeug abnimmt.", ["SELF_STAND_ON_VEHS"] = "Auf Fahrzeugen stehen", ["SELF_NO_CARJACKING"] = "Kein Carjacking", ["SELF_HANDS_UP"] = "Hände hoch", ["YRV3_MCT_UNAVAIL"] = "Das Master Control Terminal ist derzeit nicht verfügbar.", - ["SELF_NO_CARJACKING_TT"] = - "Verhindert, dass NPCs Sie überfallen. Es sollte auch Spieler verhindern (nicht gegen Spieler getestet).", + ["SELF_NO_CARJACKING_TT"] = "Verhindert, dass NPCs Sie überfallen. Es sollte auch Spieler verhindern (nicht gegen Spieler getestet).", ["SELF_SPRINT_INSIDE"] = "Sprint Inside Interiors", ["SELF_LOCKPICK_ANIM"] = "Lockpick-Animation", - ["SELF_HANDS_UP_TT"] = - "Ersetzt die „Point At“-Aktion in GTA Online (Standard [B] auf der Tastatur) durch eine Kapitulationsanimation.", - ["SELF_SPRINT_INSIDE_TT"] = - "Ermöglicht das Laufen mit voller Geschwindigkeit in den meisten Innenräumen (nicht in allen).", - ["SELF_CROUCH_TT"] = - "Lässt Sie in die Hocke gehen, wenn Sie die Stealth-Taste drücken, ähnlich wie bei GTA San Andreas.", - ["SELF_LOCKPICK_ANIM_TT"] = - "Erhöht die Chance, beim Diebstahl von Fahrzeugen die Schlösserknack-Animation zu verwenden, anstatt das Fenster einzuschlagen.", + ["SELF_HANDS_UP_TT"] = "Ersetzt die „Point At“-Aktion in GTA Online (Standard [B] auf der Tastatur) durch eine Kapitulationsanimation.", + ["SELF_SPRINT_INSIDE_TT"] = "Ermöglicht das Laufen mit voller Geschwindigkeit in den meisten Innenräumen (nicht in allen).", + ["SELF_CROUCH_TT"] = "Lässt Sie in die Hocke gehen, wenn Sie die Stealth-Taste drücken, ähnlich wie bei GTA San Andreas.", + ["SELF_LOCKPICK_ANIM_TT"] = "Erhöht die Chance, beim Diebstahl von Fahrzeugen die Schlösserknack-Animation zu verwenden, anstatt das Fenster einzuschlagen.", ["SELF_REGEN_SPEED"] = "Geschwindigkeit der Gesundheitsregeneration", ["SELF_CLUMSY"] = "Unbeholfen", ["SELF_CROUCH"] = "Hocken", @@ -317,26 +290,20 @@ return { ["VEH_POPS_N_BANGS"] = "Pops & Bangs", ["VEH_NOS_PURGE"] = "NOS-Bereinigung", ["VEH_ABS_LIGHTS"] = "Bremskraftanzeige", - ["VEH_NOS_PURGE_TT"] = - "Drücken Sie die zugewiesene Tastenkombination (Standard [X]), um eine NOS-Bereinigung im 2Fast 2Furious-Stil durchzuführen.", - ["VEH_ABS_LIGHTS_TT"] = - "Beim Bremsen aus hoher Geschwindigkeit blinken Ihre Bremslichter. Nur für Fahrzeuge mit ABS.", - ["VEH_POPS_N_BANGS_TT"] = - "Ermöglicht ein lautes Knallen des Auspuffs, das jedes Mal ausgelöst wird, wenn Sie bei hoher Drehzahl das Gaspedal loslassen. PS: Es macht NPCs in der Nähe Angst.", + ["VEH_NOS_PURGE_TT"] = "Drücken Sie die zugewiesene Tastenkombination (Standard [X]), um eine NOS-Bereinigung im 2Fast 2Furious-Stil durchzuführen.", + ["VEH_ABS_LIGHTS_TT"] = "Beim Bremsen aus hoher Geschwindigkeit blinken Ihre Bremslichter. Nur für Fahrzeuge mit ABS.", + ["VEH_POPS_N_BANGS_TT"] = "Ermöglicht ein lautes Knallen des Auspuffs, das jedes Mal ausgelöst wird, wenn Sie bei hoher Drehzahl das Gaspedal loslassen. PS: Es macht NPCs in der Nähe Angst.", ["VEH_SUBWOOFER"] = "Großer Subwoofer", ["VEH_STRONG_WINDOWS"] = "Unzerbrechliches Fenster", ["VEH_AUTO_BRAKE_LIGHTS"] = "Automatische Bremslichter", ["VEH_SUBWOOFER_TT"] = "Lässt die Lautsprecher Ihres Fahrzeugs etwas lauter klingen und einen tieferen Bass haben.", ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Schaltet Ihre Bremslichter ein, wenn Sie angehalten werden. (Motor muss laufen).", ["VEH_HIGH_BEAMS_TT"] = "Lässt Ihr Fernlicht aufleuchten, wenn Sie hupen", - ["VEH_STRONG_WINDOWS_TT"] = - "Die Fenster Ihres Fahrzeugs werden niemals zerbrechen. Es sei denn natürlich, es wird in die Luft gesprengt.", + ["VEH_STRONG_WINDOWS_TT"] = "Die Fenster Ihres Fahrzeugs werden niemals zerbrechen. Es sei denn natürlich, es wird in die Luft gesprengt.", ["VEH_FLAPPY_DOORS"] = "Flappige Türen", ["VEH_STRONG_CRASH"] = "Stärkere Abstürze", - ["VEH_RGB_LIGHTS_TT"] = - "Startet eine RGB-Schleife auf den Scheinwerfern Ihres Fahrzeugs. Sie können die Geschwindigkeit unten in diesem Fenster anpassen.", - ["VEH_STRONG_CRASH_TT"] = - "Macht Unfälle durch Kamerawackeln, Bildschirmeffekte, mehr Verformung und Schäden noch beängstigender. Kollisionen mit hoher Geschwindigkeit können tödlich sein.", + ["VEH_RGB_LIGHTS_TT"] = "Startet eine RGB-Schleife auf den Scheinwerfern Ihres Fahrzeugs. Sie können die Geschwindigkeit unten in diesem Fenster anpassen.", + ["VEH_STRONG_CRASH_TT"] = "Macht Unfälle durch Kamerawackeln, Bildschirmeffekte, mehr Verformung und Schäden noch beängstigender. Kollisionen mit hoher Geschwindigkeit können tödlich sein.", ["VEH_LAUNCH_CTRL"] = "Startsteuerung", ["VEH_FLAPPY_DOORS_TT"] = "Ich habe keine Ahnung, warum ich das gemacht habe.", ["VEH_AUTO_LOCK"] = "Automatische Sperre", @@ -345,12 +312,9 @@ return { ["VEH_IV_EXIT"] = "Ausgang im IV-Stil", ["VEH_KEEP_WHEELS_TURNED"] = "Halten Sie die Räder in Bewegung", ["VEH_LAUNCH_CTRL_TT"] = "Simuliert die Startsteuerung. Nur für Performance-Fahrzeuge verfügbar.", - ["VEH_AUTO_LOCK_TT"] = - "Verriegelt Ihr Fahrzeug automatisch, wenn Sie sich von ihm entfernen, und entriegelt es wieder, wenn Sie versuchen, wieder einzusteigen oder zu einem anderen Fahrzeug zu wechseln.", - ["VEH_IV_EXIT_TT"] = - "Imitiert den Fahrzeugausstiegsstil von GTA IV: Halten Sie [F] eine Sekunde lang gedrückt, um den Motor auszuschalten, oder drücken Sie normal, um ihn laufen zu lassen.", - ["VEH_KEEP_WHEELS_TURNED_TT"] = - "Verhindert, dass Ihr Spielercharakter beim Verlassen eines Fahrzeugs die Räder neu zentriert, indem er Sie nach draußen teleportiert.", + ["VEH_AUTO_LOCK_TT"] = "Verriegelt Ihr Fahrzeug automatisch, wenn Sie sich von ihm entfernen, und entriegelt es wieder, wenn Sie versuchen, wieder einzusteigen oder zu einem anderen Fahrzeug zu wechseln.", + ["VEH_IV_EXIT_TT"] = "Imitiert den Fahrzeugausstiegsstil von GTA IV: Halten Sie [F] eine Sekunde lang gedrückt, um den Motor auszuschalten, oder drücken Sie normal, um ihn laufen zu lassen.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = "Verhindert, dass Ihr Spielercharakter beim Verlassen eines Fahrzeugs die Räder neu zentriert, indem er Sie nach draußen teleportiert.", ["VEH_SPEED_UNIT"] = "Geschwindigkeitseinheit", ["VEH_MINES"] = "Fahrzeugminen", ["VEH_SPEED_BG"] = "Hintergrund", @@ -388,8 +352,7 @@ return { ["VEH_PAINT_NOT_SELECTED_ERR"] = "Bitte wählen Sie primär oder sekundär oder beides aus.", ["VEH_PAINT_MATTE_CB"] = "Matte Farbe", ["VEH_PAINT_MATTE_TT"] = "Wendet eine matte Oberfläche auf die ausgewählte Lackierung an oder entfernt sie.", - ["VEH_PAINT_SAVE_TT"] = - "Um diese Farbe an einem Privatfahrzeug zu speichern, gehen Sie in einen Modshop und kaufen Sie etwas wie Scheibentönung, Plattenstil oder ähnliches.", + ["VEH_PAINT_SAVE_TT"] = "Um diese Farbe an einem Privatfahrzeug zu speichern, gehen Sie in einen Modshop und kaufen Sie etwas wie Scheibentönung, Plattenstil oder ähnliches.", ["VEH_PAINT_SECONDARY_CB"] = "Als sekundär", ["VEH_PAINT_PRIMARY_CB"] = "Als Primär", ["VEH_COBRA_MANEUVER_NOT_LEVEL"] = "Bitte nivellieren Sie zuerst Ihren Jet.", @@ -397,12 +360,10 @@ return { ["GENERIC_CARS_ONLY"] = "Diese Funktion ist nur mit Pkw und Lkw kompatibel.", ["VEH_COBRA_MANEUVER_TOO_SlOW"] = "Ihre aktuelle Geschwindigkeit ist zu niedrig, um ein Cobra-Manöver durchzuführen!", ["VEH_COBRA_MANEUVER"] = "Cobra-Manöver", - ["VEH_COBRA_MANEUVER_TT"] = - "Drücken Sie [X] auf der Tastatur, um ein Cobra-Manöver durchzuführen. Nur für Jets verfügbar.", + ["VEH_COBRA_MANEUVER_TT"] = "Drücken Sie [X] auf der Tastatur, um ein Cobra-Manöver durchzuführen. Nur für Jets verfügbar.", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "Verzögerung zwischen Spielen", ["VEH_COBRA_MANEUVER_INTERRUPT"] = "Cobra-Manöver wurde unterbrochen! Dem Spieler die Kontrolle zurückgeben.", - ["VEH_COBRA_MANEUVER_CANCEL"] = - "Cobra-Manöver durchführen. Drücken Sie [STRG], um abzubrechen und die Kontrolle zurückzugewinnen.", + ["VEH_COBRA_MANEUVER_CANCEL"] = "Cobra-Manöver durchführen. Drücken Sie [STRG], um abzubrechen und die Kontrolle zurückzugewinnen.", ["GENERIC_ADD"] = "Hinzufügen", ["GENERIC_DETACH_ALL"] = "Alle trennen", ["GENERIC_DELETE"] = "Löschen", @@ -439,18 +400,14 @@ return { ["EF_IMPORT_DATA"] = "Import", ["EF_IMPORT_DATA_CLIPBOARD"] = "Aus der Zwischenablage einfügen", ["EF_CHILD_ALPHA"] = "Transparenz untergeordneter Elemente: %d", - ["EF_ENTITY_GUN_TT"] = - "Richten Sie Ihre Waffe auf ein Wesen in der Spielwelt und drücken Sie [E], um es dem Schmiedepool hinzuzufügen. Sobald Sie es hinzugefügt haben, können Sie es mit der Maus verschieben und manipulieren.", + ["EF_ENTITY_GUN_TT"] = "Richten Sie Ihre Waffe auf ein Wesen in der Spielwelt und drücken Sie [E], um es dem Schmiedepool hinzuzufügen. Sobald Sie es hinzugefügt haben, können Sie es mit der Maus verschieben und manipulieren.", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "Ihre Zwischenablage ist leer!", ["EF_IMPORT_SUCCESS"] = "Daten erfolgreich importiert.", - ["EF_IMPORT_DATA_NOTICE"] = - "Sie haben eine Kreation mit demselben Namen. Dem Namen wurde ein [import]-Tag hinzugefügt. Sie können es später noch umbenennen.", - ["EF_SHARE_SUCCESS"] = - "Ihre gespeicherte Kreation wurde in die Zwischenablage kopiert. Wenn Sie die kopierten Daten mit anderen Benutzern dieses Skripts teilen, können diese sie in ihre gespeicherten Kreationen importieren.", + ["EF_IMPORT_DATA_NOTICE"] = "Sie haben eine Kreation mit demselben Namen. Dem Namen wurde ein [import]-Tag hinzugefügt. Sie können es später noch umbenennen.", + ["EF_SHARE_SUCCESS"] = "Ihre gespeicherte Kreation wurde in die Zwischenablage kopiert. Wenn Sie die kopierten Daten mit anderen Benutzern dieses Skripts teilen, können diese sie in ihre gespeicherten Kreationen importieren.", ["GENERIC_USE"] = "Verwenden", ["SELF_MAGIC_BULLET"] = "Zauberkugel", - ["SELF_MAGIC_BULLET_TT"] = - "Diese Funktion ermöglicht kein automatisches Zielen oder automatisches Feuern. Es merkt sich einfach das letzte Ziel, auf das Sie gezielt haben, und leitet Ihren Schuss beim Abfeuern auf dieses Ziel um, selbst wenn Sie woanders schießen. Das Ziel wird zurückgesetzt, wenn Sie aufhören zu zielen.", + ["SELF_MAGIC_BULLET_TT"] = "Diese Funktion ermöglicht kein automatisches Zielen oder automatisches Feuern. Es merkt sich einfach das letzte Ziel, auf das Sie gezielt haben, und leitet Ihren Schuss beim Abfeuern auf dieses Ziel um, selbst wenn Sie woanders schießen. Das Ziel wird zurückgesetzt, wenn Sie aufhören zu zielen.", ["GENERIC_APPLY"] = "Anwenden", ["GENERIC_GENERAL_LABEL"] = "Allgemein", ["GENERIC_CLEAR"] = "Klar", @@ -460,22 +417,17 @@ return { ["SELF_LASER_SIGHTS_LENGTH"] = "Länge des Laserstrahls", ["VEH_NO_ENGINE_BRAKE"] = "Deaktivieren Sie die Motorbremsung", ["VEH_KERS_BOOST"] = "KERS-Boost", - ["VEH_KERS_BOOST_TT"] = - "Rüstet Ihr Fahrzeug mit dem KERS-Boost (Kinetic Energy Recovery System) aus, ähnlich wie bei F1-Autos.", + ["VEH_KERS_BOOST_TT"] = "Rüstet Ihr Fahrzeug mit dem KERS-Boost (Kinetic Energy Recovery System) aus, ähnlich wie bei F1-Autos.", ["SUBTAB_GUI"] = "Benutzeroberfläche", - ["VEH_NO_ENGINE_BRAKE_TT"] = - "Ermöglicht das Leerlaufverhalten, ohne dass das Gaspedal betätigt wird, ohne dabei viel Geschwindigkeit einzubüßen.", + ["VEH_NO_ENGINE_BRAKE_TT"] = "Ermöglicht das Leerlaufverhalten, ohne dass das Gaspedal betätigt wird, ohne dabei viel Geschwindigkeit einzubüßen.", ["VEH_FORCE_NO_TC"] = "Keine Traktionskontrolle", ["VEH_OFFROAD_ABILITIES"] = "Offroad-Fähigkeiten", ["VEH_RALLY_TYRES"] = "Rallye-Reifen", ["VEH_OFFROAD_ABILITIES_TT"] = "Erhöht die Offroad-Fähigkeiten Ihres Fahrzeugs.", ["VEH_RALLY_TYRES_TT"] = "Rüstet Ihr Fahrzeug mit Rallye-Reifen aus, die das Handling im Gelände weiter verbessern.", - ["SELF_LASER_SIGHTS_TT"] = - "Ermöglicht Laservisiere für Ihre Schusswaffen. Sie können die Visiere ein- und ausschalten, indem Sie [%s] drücken.", - ["VEH_FORCE_NO_TC_TT"] = - "Nur Fahrräder: Zwingt Ihr Fahrzeug dazu, keine Traktionskontrolle zu haben, sodass Sie mit Fahrrädern driften und ins Schleudern geraten können.", - ["VEH_LOW_SPEED_WHEELIE_TT"] = - "Nur Fahrräder: Ermöglicht Ihnen, Wheelies bei sehr niedrigen Geschwindigkeiten zu machen, ähnlich wie beim „Manchez“.", + ["SELF_LASER_SIGHTS_TT"] = "Ermöglicht Laservisiere für Ihre Schusswaffen. Sie können die Visiere ein- und ausschalten, indem Sie [%s] drücken.", + ["VEH_FORCE_NO_TC_TT"] = "Nur Fahrräder: Zwingt Ihr Fahrzeug dazu, keine Traktionskontrolle zu haben, sodass Sie mit Fahrrädern driften und ins Schleudern geraten können.", + ["VEH_LOW_SPEED_WHEELIE_TT"] = "Nur Fahrräder: Ermöglicht Ihnen, Wheelies bei sehr niedrigen Geschwindigkeiten zu machen, ähnlich wie beim „Manchez“.", ["VEH_LOW_SPEED_WHEELIE"] = "Low-Speed-Wheelie", ["VEH_ROCKET_BOOST"] = "Raketenschub", ["VEH_JUMP"] = "Sprungfähigkeit", @@ -487,24 +439,20 @@ return { ["VEH_STEER_HANDBRAKE"] = "Handbremslenkung", ["SETTING_WINDOW_MOVEABLE"] = "Bewegliches Fenster", ["SETTINGS_TOOLTIPS"] = "Tooltips deaktivieren", - ["VEH_STEER_HANDBRAKE_TT"] = - "Lenkt die Hinterräder Ihres Fahrzeugs, wenn Sie die Handbremse anziehen, ähnlich wie bei Monsterautos.", + ["VEH_STEER_HANDBRAKE_TT"] = "Lenkt die Hinterräder Ihres Fahrzeugs, wenn Sie die Handbremse anziehen, ähnlich wie bei Monsterautos.", ["SETTING_WINDOW_MOVEABLE_TT"] = "Ermöglicht Ihnen, das Fenster frei zu bewegen", ["SETTINGS_UI_SOUND"] = "Ton-Feedback deaktivieren", ["SETTING_WINDOW_GEOMETRY"] = "Fenstergeometrie", - ["VEH_PARACHUTE_TT"] = - "Rüstet Ihr Fahrzeug mit einem Fallschirm aus, ähnlich dem „Ruiner 2000“.\n\nWichtig: Die Sprungfähigkeit muss ebenfalls aktiviert sein.", + ["VEH_PARACHUTE_TT"] = "Rüstet Ihr Fahrzeug mit einem Fallschirm aus, ähnlich dem „Ruiner 2000“.\n\nWichtig: Die Sprungfähigkeit muss ebenfalls aktiviert sein.", ["VEH_JUMP_TT"] = "Rüstet Ihr Fahrzeug mit einer Sprungfähigkeit aus, ähnlich dem „Ruiner 2000“.", ["SETTING_WINDOW_WIDTH"] = "Fensterbreite", ["SETTING_WINDOW_POS_X"] = "X-Position", ["SETTING_WINDOW_POS_SNAP"] = "An Position einrasten", ["SETTING_WINDOW_STYLE"] = "Fensterstil", ["SETTING_WINDOW_POS_Y"] = "Y-Position", - ["SETTING_WINDOW_POS_TT"] = - "Diese dienen nur der Anzeige. Aktivieren Sie „Bewegbares Fenster“ und ziehen Sie dann die obere Leiste, um das Fenster frei zu verschieben.", + ["SETTING_WINDOW_POS_TT"] = "Diese dienen nur der Anzeige. Aktivieren Sie „Bewegbares Fenster“ und ziehen Sie dann die obere Leiste, um das Fenster frei zu verschieben.", ["SETTING_WINDOW_THEME"] = "Thema", - ["SETTING_WINDOW_HEIGHT_TT"] = - "Das Fenster ist dynamisch, die Größe ändert sich vertikal basierend auf dem Inhalt.\n\nMit dieser Option können Sie die maximal zulässige Höhe festlegen.", + ["SETTING_WINDOW_HEIGHT_TT"] = "Das Fenster ist dynamisch, die Größe ändert sich vertikal basierend auf dem Inhalt.\n\nMit dieser Option können Sie die maximal zulässige Höhe festlegen.", ["SETTING_WINDOW_ALPHA"] = "Fenstertransparenz", ["SETTING_HOTKEY_WAIT"] = "Drücken Sie eine beliebige Taste", ["SETTING_WINDOW_POS_RESET"] = "Position zurücksetzen", @@ -522,16 +470,13 @@ return { ["SELF_KATANA_TT"] = "Ersetzt eines von vier Nahkampfwaffenmodellen Ihrer Wahl durch ein Katana.", ["WRLD_KILL_ALL"] = "Töte alle Feinde", ["WRLD_FLEE_ALL"] = "Erschrecke alle Feinde", - ["WRLD_FLEE_ALL_TT"] = - "Läuft in einer 5-Sekunden-Schleife: Zwingt alle Gegner in der Nähe, ihre Waffen fallen zu lassen und aus dem Bereich zu fliehen.", + ["WRLD_FLEE_ALL_TT"] = "Läuft in einer 5-Sekunden-Schleife: Zwingt alle Gegner in der Nähe, ihre Waffen fallen zu lassen und aus dem Bereich zu fliehen.", ["WRLD_KILL_ALL_TT"] = "Tötet alle Feinde in der Nähe.", ["WRLD_FLEE_ALL_NOTIF"] = "Zwingt Feinde in der Nähe zur Flucht. Bitte warten.", ["WRLD_PUBLIC_ENEMY"] = "Staatsfeind Nr. 1", - ["WRLD_PUBLIC_ENEMY_TT"] = - "Alle NPCs in der Nähe werden sich gegen dich verbünden und dir in den Arsch schlagen. Einschließlich Tiere und Polizisten.", + ["WRLD_PUBLIC_ENEMY_TT"] = "Alle NPCs in der Nähe werden sich gegen dich verbünden und dir in den Arsch schlagen. Einschließlich Tiere und Polizisten.", ["GENERIC_IMPORTANT"] = "Wichtig", - ["GUI_NEW_LAYOUT_NOTICE"] = - "Die Benutzeroberfläche des Skripts ist jetzt unabhängig vom Menü. Drücken Sie %s, um es umzuschalten.", + ["GUI_NEW_LAYOUT_NOTICE"] = "Die Benutzeroberfläche des Skripts ist jetzt unabhängig vom Menü. Drücken Sie %s, um es umzuschalten.", ["SETTING_HOTKEY_FOUND"] = "Neuer Schlüssel:", ["YRV3_CWASH_CASH_CLEAN"] = "Sauber:", ["YRV3_CWASH_LABEL"] = "Waschanlage", @@ -544,6 +489,21 @@ return { ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Deaktivieren Sie die Abklingzeit für illegale Arbeit", ["YRV3_CWASH_LEGAL_WORK_CD"] = "Deaktivieren Sie die Abklingzeit für legale Arbeit", ["SELF_MC_BIKE_ANIMS"] = "Aktivieren Sie den MC-Fahrstil", - ["SELF_MC_BIKE_ANIMS_TT"] = - "Stellt die alternativen Fahrradfahranimationen wieder her, die aus irgendeinem Grund deaktiviert waren. Damit diese Animationen funktionieren, müssen Sie als MC registriert sein und diese Option aktiviert haben." + ["SELF_MC_BIKE_ANIMS_TT"] = "Stellt die alternativen Fahrradfahranimationen wieder her, die aus irgendeinem Grund deaktiviert waren. Damit diese Animationen funktionieren, müssen Sie als MC registriert sein und diese Option aktiviert haben.", + ["VEH_LAUNCH_CTRL_RIDICULOUS"] = "Lächerlich", + ["VEH_LAUNCH_CTRL_REALISTIC"] = "Realistisch", + ["VEH_LAUNCH_CTRL_MODE"] = "Starten Sie den Kontrollmodus", + ["SUBTAB_STANCER"] = "Stancer", + ["VEH_LAUNCH_CTRL_ERR"] = "Die Startsteuerung ist derzeit nicht verfügbar. Ihr Motor ist beschädigt.", + ["VEH_STANCE_CAMBER"] = "Sturz", + ["VEH_STANCE_WHEEL_SIZE"] = "Radgröße", + ["VEH_STANCE_WHEEL_WIDTH"] = "Radbreite", + ["VEH_STANCE_NON_STOCK"] = "Für diese Option sind nicht serienmäßige Räder erforderlich.", + ["VEH_STANCE_INCOMPATIBLE"] = "Diese Option ist mit dem aktuellen Fahrzeug nicht kompatibel.", + ["VEH_STANCE_TRACK_WIDTH"] = "Spurbreite", + ["VEH_STANCE_GEN_OPTIONS"] = "Allgemeine Optionen", + ["VEH_STANCE_FRONT_AXLE"] = "Vorderachse", + ["VEH_STANCE_COPY_FB"] = "Von vorne nach hinten kopieren", + ["VEH_STANCE_RIDE_HEIGHT"] = "Fahrhöhe", + ["VEH_STANCE_REAR_AXLE"] = "Hinterachse" } diff --git a/includes/lib/translations/en-US.lua b/includes/lib/translations/en-US.lua index 926ee59..3845d79 100644 --- a/includes/lib/translations/en-US.lua +++ b/includes/lib/translations/en-US.lua @@ -11,6 +11,7 @@ return { ["SUBTAB_AIRCRAFT"] = "Aircraft", ["SUBTAB_FLATBED"] = "Flatbed Script", ["SUBTAB_HANDLING_EDITOR"] = "Handling Editor", + ["SUBTAB_STANCER"] = "Stancer", ["SUBTAB_GUI"] = "User Interface", --#endregion @@ -463,6 +464,17 @@ return { ["VEH_STEER_HANDBRAKE"] = "Handbrake Steering", ["VEH_STEER_HANDBRAKE_TT"] = "Steers your vehicle's rear whels when you hold the handbrake, similar to monster cars.", + ["VEH_STANCE_CAMBER"] = "Camber", + ["VEH_STANCE_TRACK_WIDTH"] = "Track Width", + ["VEH_STANCE_WHEEL_WIDTH"] = "Wheel Width", + ["VEH_STANCE_WHEEL_SIZE"] = "Wheel Size", + ["VEH_STANCE_NON_STOCK"] = "This option requires non-stock wheels.", + ["VEH_STANCE_INCOMPATIBLE"] = "This option is incompatible with current vehicle.", + ["VEH_STANCE_FRONT_AXLE"] = "Front Axle", + ["VEH_STANCE_REAR_AXLE"] = "Rear Axle", + ["VEH_STANCE_COPY_FB"] = "Copy Front To Back", + ["VEH_STANCE_GEN_OPTIONS"] = "General Options", + ["VEH_STANCE_RIDE_HEIGHT"] = "Ride Height", --#endregion --#region World diff --git a/includes/lib/translations/es-ES.lua b/includes/lib/translations/es-ES.lua index ebcfdfd..5e04f5f 100644 --- a/includes/lib/translations/es-ES.lua +++ b/includes/lib/translations/es-ES.lua @@ -25,14 +25,12 @@ return { ["VEH_DRIFT_SMOKE_TT"] = "Aumenta la cantidad de humo que generan sus neumáticos al derrapar o quemarse.", ["VEH_NO_JET_STALL"] = "Desactivar el motor calado", ["VEH_FAST_JETS"] = "Aviones rápidos", - ["VEH_NO_JET_STALL_TT"] = - "Los motores de los aviones ya no se detendrán cuando mantengas presionado el botón del freno.", + ["VEH_NO_JET_STALL_TT"] = "Los motores de los aviones ya no se detendrán cuando mantengas presionado el botón del freno.", ["VEH_NO_TURBULENCE"] = "Turbulencia de aire discapacitada", ["VEH_MG_TRIGGERBOT"] = "Robot disparador de ametralladora", ["VEH_MG_TRIGGERBOT_RANGE"] = "Alcance del robot disparador", ["VEH_MG_TRIGGERBOT_ENEMY"] = "Sólo enemigos", - ["VEH_FAST_JETS_TT"] = - "Hace que la mayoría de los aviones sean más rápidos siempre que puedan alcanzar los 240 km/h de forma predeterminada, su velocidad máxima aumentará a 555 km/h.\n\nLos aviones más lentos como el Duster no se benefician de esto a menos que los obligues a alcanzar el umbral de velocidad en picada.\n\nNOTA: Su equipo (ruedas del avión) debe estar arriba.", + ["VEH_FAST_JETS_TT"] = "Hace que la mayoría de los aviones sean más rápidos siempre que puedan alcanzar los 240 km/h de forma predeterminada, su velocidad máxima aumentará a 555 km/h.\n\nLos aviones más lentos como el Duster no se benefician de esto a menos que los obligues a alcanzar el umbral de velocidad en picada.\n\nNOTA: Su equipo (ruedas del avión) debe estar arriba.", ["VEH_MG_TRIGGERBOT_ENEMY_TT"] = "El robot disparador de ametralladora solo dispara a los enemigos.", ["VEH_MG_TRIGGERBOT_TT"] = "Dispara automáticamente la ametralladora de tu avión.", ["VEH_MG_MANUAL_AIM"] = "Objetivo manual de ametralladora", @@ -51,44 +49,34 @@ return { ["WRLD_CARPOOL"] = "Compartir coche", ["WRLD_CARPOOL_TT"] = "Te permite subir a vehículos NPC como pasajero.", ["FLTBD_TOWING_TXT"] = "Vehículo remolcado:", - ["VEH_FLARES_TT"] = - "Le permite desplegar bengalas desde cualquier avión usando el botón de contramedidas predeterminado.", - ["WRLD_HNS_TT"] = - "Le permite esconderse dentro de vehículos, baúles o contenedores de basura. Si tienes un nivel de búsqueda, la policía te perderá siempre que te escondas antes de ser descubierto.", + ["VEH_FLARES_TT"] = "Le permite desplegar bengalas desde cualquier avión usando el botón de contramedidas predeterminado.", + ["WRLD_HNS_TT"] = "Le permite esconderse dentro de vehículos, baúles o contenedores de basura. Si tienes un nivel de búsqueda, la policía te perderá siempre que te escondas antes de ser descubierto.", ["FLTBD_MAIN_CB"] = "Habilitar secuencia de comandos", ["FLTBD_SHOW_TOWPOS_CB"] = "Mostrar posición de remolque", - ["YAV3_STOP_BTN_HINT"] = - "CONSEJO: Puedes presionar %s para detener la reproducción de cualquier acción o mantenerlo presionado durante un segundo para limpiar todo.", + ["YAV3_STOP_BTN_HINT"] = "CONSEJO: Puedes presionar %s para detener la reproducción de cualquier acción o mantenerlo presionado durante un segundo para limpiar todo.", ["WRLD_EXTEND_BOUNDS_TT"] = "Le permite viajar más lejos en el mundo en cualquier dirección.", ["FLTBD_SHOW_TOWBOX_CB"] = "Caja ESP", ["FLTBD_TOW_ALL_CB"] = "remolcar todo", ["FLTBD_SHOW_TOWBOX_TT"] = "Dibuja un cuadro especial alrededor del vehículo objetivo.", ["FLTBD_TOW_BTN"] = "Remolcar", ["FLTBD_SHOW_TOWPOS_TT"] = "Marca la posición en la que el script detecta vehículos cercanos.", - ["FLTBD_ADJUST_POS_TT"] = - "Para que las flechas tengan sentido, mueve la cámara del juego hacia la derecha. (Mira a la derecha)", + ["FLTBD_ADJUST_POS_TT"] = "Para que las flechas tengan sentido, mueve la cámara del juego hacia la derecha. (Mira a la derecha)", ["FLTBD_FAST_ADJUST_TXT"] = "Mantenga presionado [SHIFT] para moverse más rápido.", ["FLTBD_ADJUST_POS_TXT"] = "Ajustar la posición del vehículo", ["FLTBD_EXIT_VEH_ERR"] = "Salga de su vehículo actual primero.", ["FLTBD_NO_VEH_TXT"] = "No se encontraron vehículos cercanos.", ["FLTBD_CARS_ONLY_ERR"] = "Sólo puedes remolcar coches, camiones y bicicletas.", - ["FLTBD_TOW_ALL_TT"] = - "Por defecto, el camión sólo remolca coches, camiones y bicicletas. Esta opción elimina esa limitación.", + ["FLTBD_TOW_ALL_TT"] = "Por defecto, el camión sólo remolca coches, camiones y bicicletas. Esta opción elimina esa limitación.", ["SETTINGS_CFG_RESET"] = "Restablecer configuración guardada", ["FLTBD_SAME_NOT_ALLOWED_ERR"] = "No se puede remolcar otro camión de plataforma.", ["FLTBD_NEARBY_VEH_TXT"] = "Vehículo más cercano:", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Opcional: elija los elementos de configuración que desea conservar.", - ["FTLBD_GET_IN_MSG"] = - "Actualmente no estás en un camión de plataforma. Puedes robar uno de la calle o usar el botón de abajo para generar uno nuevo.", + ["FTLBD_GET_IN_MSG"] = "Actualmente no estás en un camión de plataforma. Puedes robar uno de la calle o usar el botón de abajo para generar uno nuevo.", ["SETTINGS_ENTITY_REPLACE"] = "Entidades de reemplazo automático", - ["SETTINGS_ENTITY_REPLACE_TT"] = - "Este proyecto tiene un límite en la cantidad de entidades que puedes generar (peds, vehículos, objetos). Todas las funciones cumplen con ese límite para evitar spam de entidades o ahogar el juego. Esta opción permite que el script reemplace automáticamente las entidades generadas antiguas una vez que alcance el límite para un determinado tipo de entidad e intente generar una nueva.", - ["WARN_PED_SPAWN_LIMIT"] = - "¡Se alcanzó el límite de generación de ped! Considere habilitar 'Reemplazar automáticamente entidades' en la pestaña Configuración si desea reemplazar automáticamente entidades antiguas cuando alcance el límite.", - ["WARN_VEH_SPAWN_LIMIT"] = - "¡Se alcanzó el límite de generación de vehículos! Considere habilitar 'Reemplazar automáticamente entidades' en la pestaña Configuración si desea reemplazar automáticamente entidades antiguas cuando alcance el límite.", - ["WARN_OBJ_SPAWN_LIMIT"] = - "¡Se alcanzó el límite de generación de objetos! Considere habilitar 'Reemplazar automáticamente entidades' en la pestaña Configuración si desea reemplazar automáticamente entidades antiguas cuando alcance el límite.", + ["SETTINGS_ENTITY_REPLACE_TT"] = "Este proyecto tiene un límite en la cantidad de entidades que puedes generar (peds, vehículos, objetos). Todas las funciones cumplen con ese límite para evitar spam de entidades o ahogar el juego. Esta opción permite que el script reemplace automáticamente las entidades generadas antiguas una vez que alcance el límite para un determinado tipo de entidad e intente generar una nueva.", + ["WARN_PED_SPAWN_LIMIT"] = "¡Se alcanzó el límite de generación de ped! Considere habilitar 'Reemplazar automáticamente entidades' en la pestaña Configuración si desea reemplazar automáticamente entidades antiguas cuando alcance el límite.", + ["WARN_VEH_SPAWN_LIMIT"] = "¡Se alcanzó el límite de generación de vehículos! Considere habilitar 'Reemplazar automáticamente entidades' en la pestaña Configuración si desea reemplazar automáticamente entidades antiguas cuando alcance el límite.", + ["WARN_OBJ_SPAWN_LIMIT"] = "¡Se alcanzó el límite de generación de objetos! Considere habilitar 'Reemplazar automáticamente entidades' en la pestaña Configuración si desea reemplazar automáticamente entidades antiguas cuando alcance el límite.", ["INF_ATTACHMENT_NONE"] = "No parece haber nada apegado a nosotros.", ["GENERIC_LEFT_RIGHT_LABEL"] = "Izquierda/Derecha", ["GENERIC_COLORS_LABEL"] = "Bandera", @@ -96,8 +84,7 @@ return { ["GENERIC_OPTIONS_LABEL"] = "Opciones", ["GENERIC_POSITION_LABEL"] = "Posición", ["GENERIC_UNAVAILABLE"] = "Actualmente no disponible.", - ["GENERIC_OFFLINE_OR_OUTDATED"] = - "¡Debe estar en línea y tener la última versión del script para acceder a esta función!", + ["GENERIC_OFFLINE_OR_OUTDATED"] = "¡Debe estar en línea y tener la última versión del script para acceder a esta función!", ["GENERIC_CANCEL"] = "Cancelar", ["GENERIC_CONFIRM"] = "Confirmar", ["GENERIC_RESET"] = "Reiniciar", @@ -131,8 +118,7 @@ return { ["CP_CARD_HEARTS"] = "Copas", ["CP_CARD_DIAMONDS"] = "diamantes", ["CP_CARD_SPADES"] = "Espadas", - ["CP_COOLDOWN_BYPASS_TOOLTIP"] = - "Desactiva el tiempo de reutilización del casino y puede resultar en una prohibición. Úselo bajo su propio riesgo.", + ["CP_COOLDOWN_BYPASS_TOOLTIP"] = "Desactiva el tiempo de reutilización del casino y puede resultar en una prohibición. Úselo bajo su propio riesgo.", ["CP_COOLDOWN_BYPASS_STATUS"] = "Estado:", ["CP_COOLDOWN_BYPASS_ENABLE"] = "Habilitar omisión", ["CP_COOLDOWN_BYPASS_STATUS_OFF"] = "Fuera de tiempo de reutilización", @@ -234,8 +220,7 @@ return { ["YRV3_INCOME_APPROX_MC"] = "Ingresos comerciales totales aproximados de MC", ["YRV3_PRICE_NOTICE"] = "Los precios pueden ser más altos dependiendo de las actualizaciones comerciales.", ["YRV3_CLUB_WORK_CB"] = "Trabajo del club de motociclistas", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = - "Siempre genera las misiones del club nocturno alborotador y desactiva las misiones VIP eliminadas.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Siempre genera las misiones del club nocturno alborotador y desactiva las misiones VIP eliminadas.", ["YRV3_FINISH_SOURCE_MISSION_TT"] = "Inicie una misión fuente y luego presione este botón para finalizarla.", ["YRV3_HANGAR_STEAL_CB"] = "Robo de cajas de hangar", ["YRV3_CEO_BUY_CB"] = "Compra de caja del CEO", @@ -246,15 +231,12 @@ return { ["YRV3_DAX_WORK_CB"] = "Trabajo Dax", ["YRV3_CFR_CD_CB"] = "Asalto a una fábrica de pollos", ["YRV3_IE_VEH_STEAL_CB"] = "Abastecimiento de vehículos I/E", - ["YRV3_SEXY_SHINABI_NOTICE"] = - "Utilice el script Payphone Hits de ShinyWasabi en su lugar.\nPresione [TAB] para copiar el enlace de GitHub.", - ["YRV3_SELL_MISSIONS_TT"] = - "Estas opciones no se guardarán. Cada botón desactiva las misiones de venta más tediosas para ese negocio.", + ["YRV3_SEXY_SHINABI_NOTICE"] = "Utilice el script Payphone Hits de ShinyWasabi en su lugar.\nPresione [TAB] para copiar el enlace de GitHub.", + ["YRV3_SELL_MISSIONS_TT"] = "Estas opciones no se guardarán. Cada botón desactiva las misiones de venta más tediosas para ese negocio.", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Nota: Solo se admiten estas empresas:", ["YRV3_SELL_MISSIONS_NOTIF"] = "Deshabilitadas las misiones de venta de %s más molestas.", ["YRV3_CB_CHECK_ALL"] = "Verificar todo", - ["YRV3_SELL_MISSIONS_NOTE"] = - "[NOTA]: Si planeas vender más de una vez para el mismo negocio, cambia de sesión después de finalizar la primera venta para restablecer las misiones; de lo contrario, es muy probable que no se inicie una segunda.", + ["YRV3_SELL_MISSIONS_NOTE"] = "[NOTA]: Si planeas vender más de una vez para el mismo negocio, cambia de sesión después de finalizar la primera venta para restablecer las misiones; de lo contrario, es muy probable que no se inicie una segunda.", ["YRV3_CB_UNCHECK_ALL"] = "Desmarcar todo", ["YRV3_SELL_MISSIONS_LABEL"] = "Vender Misiones", ["YRV3_IE_VEH_SELL_CB"] = "Venta de vehículos I/E", @@ -266,8 +248,7 @@ return { ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "Laboratorio de ácido", ["YRV3_AUTO_FILL_DELAY"] = "Retraso de autocompletar global:", ["YRV3_AUTOSELL_CURRENT"] = "Actualmente vendiendo: %s", - ["YRV3_AUTOSELL_TT"] = - "Finaliza automáticamente una misión de venta 20 segundos después de su inicio. No requiere que interactúes con nada más que comenzar la misión.", + ["YRV3_AUTOSELL_TT"] = "Finaliza automáticamente una misión de venta 20 segundos después de su inicio. No requiere que interactúes con nada más que comenzar la misión.", ["SELF_AUTOHEAL"] = "Curación automática", ["YRV3_MCT_TITLE"] = "Terminal de control maestro", ["YRV3_INCOME_APPROX_ALL_TT"] = "Pase por todas las pestañas para actualizar el monto total.", @@ -282,21 +263,16 @@ return { ["SELF_ACTION_MODE_TT"] = "Desactiva el movimiento loco del jugador durante el combate.", ["SELF_HEADPROPS"] = "Permitir accesorios para la cabeza en vehículos", ["SELF_CROUCH"] = "Agacharse", - ["SELF_HEADPROPS_TT"] = - "Evita que el juego te quite el equipo para la cabeza (gorras, cascos, cortes largos, etc.) al entrar a un vehículo.", + ["SELF_HEADPROPS_TT"] = "Evita que el juego te quite el equipo para la cabeza (gorras, cascos, cortes largos, etc.) al entrar a un vehículo.", ["SELF_HANDS_UP"] = "Manos arriba", - ["SELF_LOCKPICK_ANIM_TT"] = - "Aumenta la posibilidad de utilizar la animación de abrir cerraduras al robar vehículos en lugar de romper la ventana.", + ["SELF_LOCKPICK_ANIM_TT"] = "Aumenta la posibilidad de utilizar la animación de abrir cerraduras al robar vehículos en lugar de romper la ventana.", ["SELF_STAND_ON_VEHS"] = "Pararse sobre vehículos", ["SELF_NO_CARJACKING"] = "Sin robo de auto", ["SELF_SPRINT_INSIDE"] = "Interiores interiores de Sprint", - ["SELF_NO_CARJACKING_TT"] = - "Evita que los NPC te roben el auto. También debería prevenir a los jugadores (no probado contra jugadores).", + ["SELF_NO_CARJACKING_TT"] = "Evita que los NPC te roben el auto. También debería prevenir a los jugadores (no probado contra jugadores).", ["SELF_CROUCH_TT"] = "Te hace agacharte cuando presionas el botón sigiloso, similar a GTA San Andreas.", - ["SELF_STAND_ON_VEHS_TT"] = - "Evita que hagas un muñeco de trapo cuando estás parado encima de un vehículo (aún te caerás si golpeas algo).", - ["SELF_HANDS_UP_TT"] = - "Reemplaza la acción 'Apuntar a' en GTA Online (predeterminada [B] en el teclado) con una animación de rendición.", + ["SELF_STAND_ON_VEHS_TT"] = "Evita que hagas un muñeco de trapo cuando estás parado encima de un vehículo (aún te caerás si golpeas algo).", + ["SELF_HANDS_UP_TT"] = "Reemplaza la acción 'Apuntar a' en GTA Online (predeterminada [B] en el teclado) con una animación de rendición.", ["SELF_REGEN_SPEED"] = "Velocidad de regeneración de salud", ["SELF_ROD"] = "Muñeca de trapo a pedido", ["SELF_LOCKPICK_ANIM"] = "Animación de ganzúa", @@ -311,17 +287,14 @@ return { ["SELF_RAGDOLL_SOUND_TT"] = "Tu personaje en línea emitirá un sonido de pánico cuando haga muñecos de trapo.", ["VEH_FAST_AF_TT"] = "Aumenta la velocidad máxima de cualquier vehículo terrestre que conduzcas.", ["VEH_NOS_PURGE"] = "Purga NOS", - ["VEH_NOS_PURGE_TT"] = - "Presione la combinación de teclas asignada (predeterminada [X]) para realizar una purga NOS estilo 2Fast 2Furious.", + ["VEH_NOS_PURGE_TT"] = "Presione la combinación de teclas asignada (predeterminada [X]) para realizar una purga NOS estilo 2Fast 2Furious.", ["VEH_NOS"] = "NOS", - ["VEH_ABS_LIGHTS_TT"] = - "Enciende las luces de freno al frenar a alta velocidad. Sólo para vehículos equipados con ABS.", + ["VEH_ABS_LIGHTS_TT"] = "Enciende las luces de freno al frenar a alta velocidad. Sólo para vehículos equipados con ABS.", ["VEH_ABS_LIGHTS"] = "Visualización de la fuerza de frenado", ["VEH_SUBWOOFER_TT"] = "Hace que los parlantes de su vehículo suenen un poco más alto y tengan graves más profundos.", ["VEH_SUBWOOFER"] = "Gran subwoofer", ["VEH_POPS_N_BANGS"] = "Estallidos y explosiones", - ["VEH_POPS_N_BANGS_TT"] = - "Permite fuertes estallidos de escape que se activan cada vez que sueltas el acelerador desde altas RPM. PD: Asusta a los NPC cercanos.", + ["VEH_POPS_N_BANGS_TT"] = "Permite fuertes estallidos de escape que se activan cada vez que sueltas el acelerador desde altas RPM. PD: Asusta a los NPC cercanos.", ["VEH_HIGH_BEAMS"] = "Luces altas en la bocina", ["VEH_AUTO_BRAKE_LIGHTS"] = "Luces de freno automático", ["VEH_STRONG_WINDOWS"] = "Ventanas irrompibles", @@ -329,27 +302,21 @@ return { ["VEH_HIGH_BEAMS_TT"] = "Enciende tus luces altas cada vez que tocas la bocina", ["VEH_FLAPPY_DOORS"] = "Puertas abatibles", ["VEH_STRONG_CRASH"] = "Choques más fuertes", - ["VEH_STRONG_CRASH_TT"] = - "Hace que los choques sean más aterradores con vibraciones de la cámara, efectos de pantalla, más deformaciones y daños. Las colisiones a alta velocidad pueden ser fatales.", - ["VEH_RGB_LIGHTS_TT"] = - "Inicia un bucle RGB en los faros de su vehículo. Puede modificar la velocidad en la parte inferior de esta ventana.", - ["VEH_AUTO_BRAKE_LIGHTS_TT"] = - "Enciende las luces de freno cada vez que estás detenido. (El motor debe estar en marcha).", + ["VEH_STRONG_CRASH_TT"] = "Hace que los choques sean más aterradores con vibraciones de la cámara, efectos de pantalla, más deformaciones y daños. Las colisiones a alta velocidad pueden ser fatales.", + ["VEH_RGB_LIGHTS_TT"] = "Inicia un bucle RGB en los faros de su vehículo. Puede modificar la velocidad en la parte inferior de esta ventana.", + ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Enciende las luces de freno cada vez que estás detenido. (El motor debe estar en marcha).", ["VEH_FLAPPY_DOORS_TT"] = "No tengo idea de por qué hice esto.", ["VEH_AUTO_LOCK"] = "Bloqueo automático", ["VEH_IV_EXIT"] = "Salida estilo IV", - ["VEH_AUTO_LOCK_TT"] = - "Bloquea automáticamente su vehículo cuando se aleja de él y lo desbloquea nuevamente cuando intenta volver a ingresar o cambiar a un vehículo diferente.", + ["VEH_AUTO_LOCK_TT"] = "Bloquea automáticamente su vehículo cuando se aleja de él y lo desbloquea nuevamente cuando intenta volver a ingresar o cambiar a un vehículo diferente.", ["VEH_LAUNCH_CTRL"] = "Control de lanzamiento", ["VEH_RGB_LIGHTS"] = "Faros RGB", ["VEH_LAUNCH_CTRL_TT"] = "Simula el control de lanzamiento. Sólo disponible para autos de alto rendimiento.", - ["VEH_IV_EXIT_TT"] = - "Imita el estilo de salida del vehículo de GTA IV: mantén presionado [F] durante un segundo para apagar el motor o presiona normalmente para dejarlo funcionando.", + ["VEH_IV_EXIT_TT"] = "Imita el estilo de salida del vehículo de GTA IV: mantén presionado [F] durante un segundo para apagar el motor o presiona normalmente para dejarlo funcionando.", ["VEH_MINES"] = "Minas de vehículos", ["VEH_KEEP_WHEELS_TURNED"] = "Mantenga las ruedas en marcha", ["VEH_SPEED_UNIT"] = "Unidad de velocidad", - ["VEH_KEEP_WHEELS_TURNED_TT"] = - "Evita que tu personaje jugador vuelva a centrar las ruedas al salir de un vehículo al teletransportarte afuera.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = "Evita que tu personaje jugador vuelva a centrar las ruedas al salir de un vehículo al teletransportarte afuera.", ["VEH_SPEED_CIRCLE"] = "Círculo", ["VEH_MINES_TT"] = "Te permite lanzar una mina desde cualquier vehículo terrestre.", ["VEH_SPEED_BG"] = "Fondo", @@ -387,8 +354,7 @@ return { ["VEH_PAINT_PRIMARY_CB"] = "Como Primaria", ["VEH_PAINT_SECONDARY_CB"] = "Como secundario", ["VEH_PAINT_NOT_SELECTED_ERR"] = "Seleccione primaria o secundaria o ambas.", - ["VEH_PAINT_SAVE_TT"] = - "Para guardar este color en un vehículo personal, vaya a una tienda de modificaciones y compre algo como tinte para ventanas o estilo de placa o cualquier cosa.", + ["VEH_PAINT_SAVE_TT"] = "Para guardar este color en un vehículo personal, vaya a una tienda de modificaciones y compre algo como tinte para ventanas o estilo de placa o cualquier cosa.", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "Retraso entre jugadas", ["VEH_COBRA_MANEUVER_NOT_LEVEL"] = "Primero nivele su avión.", ["VEH_COBRA_MANEUVER_TT"] = "Presiona [X] en el teclado para realizar una maniobra Cobra. Sólo disponible para jets.", @@ -433,27 +399,22 @@ return { ["EF_SAVED_NONE"] = "No tienes ninguna creación guardada.", ["EF_NEW_NAME_HINT"] = "NOTA: Todo se eliminará una vez que guarde. Puedes generar tu creación más tarde.", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "¡Tu portapapeles está vacío!", - ["EF_ENTITY_GUN_TT"] = - "Apunta tu arma a una entidad en el mundo del juego y presiona [E] para agregarla al grupo de forja. Una vez agregado, podrás usar el mouse para moverlo y manipularlo.", + ["EF_ENTITY_GUN_TT"] = "Apunta tu arma a una entidad en el mundo del juego y presiona [E] para agregarla al grupo de forja. Una vez agregado, podrás usar el mouse para moverlo y manipularlo.", ["EF_IMPORT_DATA_CLIPBOARD"] = "Pegar desde el portapapeles", - ["EF_IMPORT_DATA_NOTICE"] = - "Tienes una creación con el mismo nombre. Se ha agregado una etiqueta [importar] al nombre. Aún puedes cambiarle el nombre más tarde.", - ["EF_SHARE_SUCCESS"] = - "Tu creación guardada se copió al portapapeles. Si comparte los datos copiados con otros usuarios de este script, podrán importarlos a sus creaciones guardadas.", + ["EF_IMPORT_DATA_NOTICE"] = "Tienes una creación con el mismo nombre. Se ha agregado una etiqueta [importar] al nombre. Aún puedes cambiarle el nombre más tarde.", + ["EF_SHARE_SUCCESS"] = "Tu creación guardada se copió al portapapeles. Si comparte los datos copiados con otros usuarios de este script, podrán importarlos a sus creaciones guardadas.", ["EF_CHILD_ALPHA"] = "Transparencia del elemento secundario: %d", ["EF_IMPORT_SUCCESS"] = "Datos importados exitosamente.", ["SELF_MAGIC_BULLET"] = "bala mágica", ["GENERIC_USE"] = "Usar", - ["SELF_MAGIC_BULLET_TT"] = - "Esta función no apunta ni dispara automáticamente. Simplemente recuerda el último ped al que apuntaste y redirige tu disparo a ese ped cuando disparas, incluso si disparas a otro lugar. El objetivo se reinicia cuando dejas de apuntar.", + ["SELF_MAGIC_BULLET_TT"] = "Esta función no apunta ni dispara automáticamente. Simplemente recuerda el último ped al que apuntaste y redirige tu disparo a ese ped cuando disparas, incluso si disparas a otro lugar. El objetivo se reinicia cuando dejas de apuntar.", ["GENERIC_APPLY"] = "Aplicar", ["SUBTAB_GUI"] = "Interfaz de usuario", ["GENERIC_GENERAL_LABEL"] = "General", ["GENERIC_CLEAR"] = "Claro", ["SUBTAB_HANDLING_EDITOR"] = "Editor de manejo", ["SELF_LASER_SIGHTS"] = "Miras láser", - ["SELF_LASER_SIGHTS_TT"] = - "Habilita miras láser en sus armas de fuego. Puedes activar y desactivar las miras presionando [%s]", + ["SELF_LASER_SIGHTS_TT"] = "Habilita miras láser en sus armas de fuego. Puedes activar y desactivar las miras presionando [%s]", ["SELF_LASER_SIGHTS_LENGTH"] = "Longitud del rayo láser", ["SELF_LASER_SIGHTS_COL"] = "Color láser", ["VEH_NO_ENGINE_BRAKE_TT"] = "Te permite deslizarte cuando no pisas el acelerador sin perder tanta velocidad.", @@ -464,26 +425,21 @@ return { ["VEH_RALLY_TYRES_TT"] = "Equipa su vehículo con neumáticos de rallye que mejoran aún más el manejo todoterreno.", ["VEH_OFFROAD_ABILITIES"] = "Habilidades todoterreno", ["VEH_OFFROAD_ABILITIES_TT"] = "Aumenta las capacidades todoterreno de su vehículo.", - ["VEH_KERS_BOOST_TT"] = - "Equipa su vehículo con impulso KERS (Sistema de recuperación de energía cinética), similar a los autos de F1.", - ["VEH_FORCE_NO_TC_TT"] = - "Solo bicicletas: obliga a tu vehículo a no tener control de tracción, lo que te permite hacer derrapes y derrapes con bicicletas.", + ["VEH_KERS_BOOST_TT"] = "Equipa su vehículo con impulso KERS (Sistema de recuperación de energía cinética), similar a los autos de F1.", + ["VEH_FORCE_NO_TC_TT"] = "Solo bicicletas: obliga a tu vehículo a no tener control de tracción, lo que te permite hacer derrapes y derrapes con bicicletas.", ["VEH_ROCKET_BOOST"] = "Impulso de cohete", ["VEH_PARACHUTE"] = "Capacidad de paracaídas", ["VEH_LOW_SPEED_WHEELIE"] = "Caballito de baja velocidad", ["VEH_JUMP"] = "Capacidad de salto", ["VEH_JUMP_TT"] = "Equipa tu vehículo con capacidad de salto, similar al 'Ruiner 2000'.", - ["VEH_PARACHUTE_TT"] = - "Equipa tu vehículo con un paracaídas, similar al 'Ruiner 2000'.\n\nImportante: la capacidad de salto también debe estar habilitada.", - ["VEH_LOW_SPEED_WHEELIE_TT"] = - "Solo bicicletas: te permite hacer caballitos a velocidades muy bajas, similar al 'Manchez'.", + ["VEH_PARACHUTE_TT"] = "Equipa tu vehículo con un paracaídas, similar al 'Ruiner 2000'.\n\nImportante: la capacidad de salto también debe estar habilitada.", + ["VEH_LOW_SPEED_WHEELIE_TT"] = "Solo bicicletas: te permite hacer caballitos a velocidades muy bajas, similar al 'Manchez'.", ["VEH_ROCKET_BOOST_TT"] = "Equipa tu vehículo con un propulsor de cohete, similar al 'Vigilante'.", ["VEH_STEER_ALL_WHEELS"] = "Dirección en todas las ruedas", ["VEH_STEER_HANDBRAKE"] = "Freno de mano", ["SETTINGS_TOOLTIPS"] = "Deshabilitar información sobre herramientas", ["SETTING_WINDOW_GEOMETRY"] = "Geometría de la ventana", - ["VEH_STEER_HANDBRAKE_TT"] = - "Dirige las ruedas traseras de tu vehículo cuando mantienes el freno de mano, similar a los autos monstruosos.", + ["VEH_STEER_HANDBRAKE_TT"] = "Dirige las ruedas traseras de tu vehículo cuando mantienes el freno de mano, similar a los autos monstruosos.", ["SETTING_WINDOW_MOVEABLE"] = "Ventana móvil", ["SETTING_WINDOW_POS_Y"] = "Posición Y", ["SETTINGS_LANGUAGE"] = "Idioma", @@ -494,15 +450,13 @@ return { ["SETTING_WINDOW_POS_SNAP"] = "Ajustar a posición", ["SETTING_WINDOW_STYLE"] = "Estilo de ventana", ["SETTING_WINDOW_THEME"] = "Tema", - ["SETTING_WINDOW_HEIGHT_TT"] = - "La ventana es dinámica, cambia de tamaño verticalmente según el contenido.\n\nEsta opción le permite establecer la altura máxima permitida.", + ["SETTING_WINDOW_HEIGHT_TT"] = "La ventana es dinámica, cambia de tamaño verticalmente según el contenido.\n\nEsta opción le permite establecer la altura máxima permitida.", ["SETTING_WINDOW_HEIGHT"] = "Altura máxima de la ventana", ["SETTINGS_UI_SOUND"] = "Deshabilitar la respuesta sonora", ["SETTING_WINDOW_ALPHA"] = "Transparencia de ventana", ["SETTING_WINDOW_POS_RESET"] = "Restablecer posición", ["SETTING_WINDOW_ACCENT_COL"] = "Color de acento", - ["SETTING_WINDOW_POS_TT"] = - "Estos son sólo de visualización. Habilite 'Ventana móvil' y luego arrastre la barra superior para mover libremente la ventana.", + ["SETTING_WINDOW_POS_TT"] = "Estos son sólo de visualización. Habilite 'Ventana móvil' y luego arrastre la barra superior para mover libremente la ventana.", ["SETTING_WINDOW_TOP_FRAME_BG"] = "Degradado del botón de la barra superior", ["SETTINGS_KEYBINDS_CONTROLLER"] = "Controlador", ["SETTINGS_KEYBINDS_KEYBOARD"] = "Teclado", @@ -512,8 +466,7 @@ return { ["SELF_KATANA"] = "Katana", ["GENERIC_NOT_IN_COMBAT"] = "No estás en combate con nadie.", ["SELF_KATANA_REPLACE_MODEL"] = "Modelo a reemplazar", - ["WRLD_FLEE_ALL_TT"] = - "Se ejecuta en un bucle de 5 segundos: obliga a todos los enemigos cercanos a soltar sus armas y huir del área.", + ["WRLD_FLEE_ALL_TT"] = "Se ejecuta en un bucle de 5 segundos: obliga a todos los enemigos cercanos a soltar sus armas y huir del área.", ["SELF_KATANA_TT"] = "Reemplaza uno de los cuatro modelos de armas cuerpo a cuerpo que elijas con una Katana.", ["WRLD_KILL_ALL_TT"] = "Mata a todos los enemigos cercanos.", ["WRLD_KILL_ALL_NOTIF"] = "Ejecutado 'Matar a todos los enemigos'", @@ -521,11 +474,9 @@ return { ["WRLD_FLEE_ALL"] = "Asusta a todos los enemigos", ["WRLD_FLEE_ALL_NOTIF"] = "Obligando a los enemigos cercanos a huir. Espere por favor.", ["WRLD_PUBLIC_ENEMY"] = "Enemigo público n.° 1", - ["WRLD_PUBLIC_ENEMY_TT"] = - "Todos los NPC cercanos se unirán contra ti y te golpearán el trasero. Incluyendo animales y policías.", + ["WRLD_PUBLIC_ENEMY_TT"] = "Todos los NPC cercanos se unirán contra ti y te golpearán el trasero. Incluyendo animales y policías.", ["GENERIC_IMPORTANT"] = "Importante", - ["GUI_NEW_LAYOUT_NOTICE"] = - "La interfaz de usuario del script ahora es independiente del menú. Presione %s para alternarlo.", + ["GUI_NEW_LAYOUT_NOTICE"] = "La interfaz de usuario del script ahora es independiente del menú. Presione %s para alternarlo.", ["SETTING_HOTKEY_FOUND"] = "Nueva clave:", ["YRV3_CWASH_CASH_CLEAN"] = "Limpio:", ["YRV3_CWASH_LABEL"] = "Lavado de autos", @@ -534,10 +485,25 @@ return { ["YRV3_CWASH_NOT_OWNED"] = "No eres dueño de un negocio de lavado de autos.", ["YRV3_CWASH_CASH_DIRTY"] = "Sucio:", ["SELF_MC_BIKE_ANIMS"] = "Habilitar estilo de conducción MC", - ["SELF_MC_BIKE_ANIMS_TT"] = - "Restaura las animaciones alternativas de andar en bicicleta que se desactivaron por algún motivo. Debes estar registrado como MC y tener esta opción habilitada para que estas animaciones funcionen.", + ["SELF_MC_BIKE_ANIMS_TT"] = "Restaura las animaciones alternativas de andar en bicicleta que se desactivaron por algún motivo. Debes estar registrado como MC y tener esta opción habilitada para que estas animaciones funcionen.", ["YRV3_CWASH_WORK_EARNINGS"] = "Ganancias laborales:", ["YRV3_WEED_SHOP_LABEL"] = "Tienda de marihuana", ["YRV3_HELITOURS_LABEL"] = "Helitours Higgins", - ["YRV3_CWASH_HEAT"] = "Nivel de calor:" + ["YRV3_CWASH_HEAT"] = "Nivel de calor:", + ["VEH_LAUNCH_CTRL_REALISTIC"] = "Realista", + ["VEH_LAUNCH_CTRL_RIDICULOUS"] = "Ridículo", + ["VEH_STANCE_CAMBER"] = "Comba", + ["SUBTAB_STANCER"] = "postura", + ["VEH_STANCE_TRACK_WIDTH"] = "Ancho de pista", + ["VEH_LAUNCH_CTRL_ERR"] = "El control de lanzamiento no está disponible en este momento. Tu motor está dañado.", + ["VEH_STANCE_WHEEL_WIDTH"] = "Ancho de la rueda", + ["VEH_LAUNCH_CTRL_MODE"] = "Modo de control de lanzamiento", + ["VEH_STANCE_WHEEL_SIZE"] = "Tamaño de la rueda", + ["VEH_STANCE_INCOMPATIBLE"] = "Esta opción es incompatible con el vehículo actual.", + ["VEH_STANCE_FRONT_AXLE"] = "Eje delantero", + ["VEH_STANCE_NON_STOCK"] = "Esta opción requiere ruedas no originales.", + ["VEH_STANCE_REAR_AXLE"] = "Eje trasero", + ["VEH_STANCE_GEN_OPTIONS"] = "Opciones generales", + ["VEH_STANCE_COPY_FB"] = "Copiar de adelante hacia atrás", + ["VEH_STANCE_RIDE_HEIGHT"] = "Altura de manejo" } diff --git a/includes/lib/translations/fr-FR.lua b/includes/lib/translations/fr-FR.lua index 5bef488..00a4d13 100644 --- a/includes/lib/translations/fr-FR.lua +++ b/includes/lib/translations/fr-FR.lua @@ -30,8 +30,7 @@ return { ["VEH_DRIFT_SMOKE_TT"] = "Augmente la quantité de fumée générée par vos pneus lors d'une dérive ou d'un burnout.", ["VEH_MG_TRIGGERBOT_RANGE"] = "Gamme Triggerbot", ["VEH_MG_TRIGGERBOT_TT"] = "Tire automatiquement la mitrailleuse de votre avion.", - ["VEH_FAST_JETS_TT"] = - "Rend la plupart des avions plus rapides tant qu'ils peuvent atteindre 240 km/h par défaut, leur vitesse maximale sera augmentée à 555 km/h.\n\nLes avions plus lents comme le Duster n'en bénéficient pas à moins que vous ne les fassiez atteindre de force le seuil de vitesse en plongeant du nez.\n\nREMARQUE : votre équipement (roues d'avion) ​​doit être relevé.", + ["VEH_FAST_JETS_TT"] = "Rend la plupart des avions plus rapides tant qu'ils peuvent atteindre 240 km/h par défaut, leur vitesse maximale sera augmentée à 555 km/h.\n\nLes avions plus lents comme le Duster n'en bénéficient pas à moins que vous ne les fassiez atteindre de force le seuil de vitesse en plongeant du nez.\n\nREMARQUE : votre équipement (roues d'avion) ​​doit être relevé.", ["VEH_MG_TRIGGERBOT_ENEMY_TT"] = "Le déclencheur de mitrailleuse ne tire que sur les ennemis.", ["VEH_MG_TRIGGERBOT"] = "Robot déclencheur de mitrailleuse", ["VEH_SEAT_PREV"] = "Siège précédent", @@ -42,13 +41,11 @@ return { ["VEH_FLARES"] = "Contre-mesures contre les fusées éclairantes", ["VEH_SEAT_NEXT"] = "Siège suivant", ["VEH_AUTOPILOT"] = "Pilote automatique", - ["VEH_FLARES_TT"] = - "Vous permet de déployer des fusées éclairantes depuis n'importe quel avion en utilisant le bouton de contre-mesures par défaut.", + ["VEH_FLARES_TT"] = "Vous permet de déployer des fusées éclairantes depuis n'importe quel avion en utilisant le bouton de contre-mesures par défaut.", ["WRLD_WANTED_MUSIC"] = "Désactiver la musique recherchée", ["WRLD_EXTEND_BOUNDS"] = "Élargir les frontières du monde", ["WRLD_FLIGHT_MUSIC"] = "Désactiver la musique de vol", - ["WRLD_HNS_TT"] = - "Vous permet de vous cacher à l’intérieur des véhicules, des coffres de voitures ou des poubelles. Si vous avez un niveau de recherche, la police vous perdra tant que vous vous cacherez avant d'être repéré.", + ["WRLD_HNS_TT"] = "Vous permet de vous cacher à l’intérieur des véhicules, des coffres de voitures ou des poubelles. Si vous avez un niveau de recherche, la police vous perdra tant que vous vous cacherez avant d'être repéré.", ["WRLD_CARPOOL"] = "Covoiturage", ["WRLD_DISABLE_WAVES"] = "Désactiver les vagues de l'océan", ["VEH_MG_MANUAL_AIM_TT"] = "Vous permet de viser manuellement la mitrailleuse de votre avion.", @@ -60,39 +57,30 @@ return { ["FLTBD_SHOW_TOWBOX_CB"] = "Boite ESP", ["FLTBD_TOWING_TXT"] = "Véhicule remorqué :", ["FLTBD_SHOW_TOWPOS_TT"] = "Marque la position à laquelle le script détecte les véhicules à proximité.", - ["YAV3_STOP_BTN_HINT"] = - "CONSEIL : Vous pouvez appuyer sur %s pour arrêter de jouer une action ou la maintenir enfoncée pendant une seconde pour tout nettoyer.", + ["YAV3_STOP_BTN_HINT"] = "CONSEIL : Vous pouvez appuyer sur %s pour arrêter de jouer une action ou la maintenir enfoncée pendant une seconde pour tout nettoyer.", ["FLTBD_TOW_BTN"] = "Remorquer", ["FLTBD_TOW_ALL_CB"] = "Remorquer tout", ["FLTBD_ADJUST_POS_TXT"] = "Ajuster la position du véhicule", ["FLTBD_FAST_ADJUST_TXT"] = "Maintenez [SHIFT] pour vous déplacer plus rapidement.", ["FLTBD_EXIT_VEH_ERR"] = "Quittez d’abord votre véhicule actuel.", ["FLTBD_SAME_NOT_ALLOWED_ERR"] = "Vous ne pouvez pas remorquer un autre camion à plateau.", - ["FLTBD_ADJUST_POS_TT"] = - "Pour que les flèches aient un sens, déplacez la caméra de jeu vers la droite. (Regarde à droite)", - ["FLTBD_TOW_ALL_TT"] = - "Par défaut, le camion ne remorque que des voitures, des camions et des vélos. Cette option supprime cette limitation.", + ["FLTBD_ADJUST_POS_TT"] = "Pour que les flèches aient un sens, déplacez la caméra de jeu vers la droite. (Regarde à droite)", + ["FLTBD_TOW_ALL_TT"] = "Par défaut, le camion ne remorque que des voitures, des camions et des vélos. Cette option supprime cette limitation.", ["FLTBD_CARS_ONLY_ERR"] = "Vous ne pouvez remorquer que des voitures, des camions et des vélos.", ["FLTBD_NO_VEH_TXT"] = "Aucun véhicule à proximité trouvé.", - ["FTLBD_GET_IN_MSG"] = - "Vous n'êtes actuellement pas dans un camion à plateau. Vous pouvez en voler un dans la rue ou utiliser le bouton ci-dessous pour en générer un nouveau.", + ["FTLBD_GET_IN_MSG"] = "Vous n'êtes actuellement pas dans un camion à plateau. Vous pouvez en voler un dans la rue ou utiliser le bouton ci-dessous pour en générer un nouveau.", ["SETTINGS_CFG_RESET"] = "Réinitialiser la configuration enregistrée", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Facultatif : Choisissez les éléments de configuration à conserver.", ["SETTINGS_ENTITY_REPLACE"] = "Entités de remplacement automatique", ["FLTBD_NEARBY_VEH_TXT"] = "Véhicule le plus proche :", - ["SETTINGS_ENTITY_REPLACE_TT"] = - "Ce projet a une limite au nombre d'entités que vous pouvez générer (pédiatres, véhicules, objets). Toutes les fonctionnalités respectent cette limite pour éviter le spam d'entité ou l'étouffement du jeu. Cette option permet au script de remplacer automatiquement les anciennes entités générées une fois que vous atteignez la limite pour un certain type d'entité et que vous essayez d'en générer une nouvelle.", - ["GENERIC_OFFLINE_OR_OUTDATED"] = - "Vous devez être en ligne et disposer de la dernière version du script pour accéder à cette fonctionnalité !", + ["SETTINGS_ENTITY_REPLACE_TT"] = "Ce projet a une limite au nombre d'entités que vous pouvez générer (pédiatres, véhicules, objets). Toutes les fonctionnalités respectent cette limite pour éviter le spam d'entité ou l'étouffement du jeu. Cette option permet au script de remplacer automatiquement les anciennes entités générées une fois que vous atteignez la limite pour un certain type d'entité et que vous essayez d'en générer une nouvelle.", + ["GENERIC_OFFLINE_OR_OUTDATED"] = "Vous devez être en ligne et disposer de la dernière version du script pour accéder à cette fonctionnalité !", ["GENERIC_UNAVAILABLE"] = "Actuellement indisponible.", ["GENERIC_OPTIONS_LABEL"] = "Possibilités", - ["WARN_VEH_SPAWN_LIMIT"] = - "Limite d'apparition de véhicules atteinte ! Pensez à activer « Remplacement automatique des entités » dans l'onglet Paramètres si vous souhaitez remplacer automatiquement les anciennes entités lorsque vous atteignez la limite.", - ["WARN_PED_SPAWN_LIMIT"] = - "Limite d'apparition de Ped atteinte ! Pensez à activer « Remplacement automatique des entités » dans l'onglet Paramètres si vous souhaitez remplacer automatiquement les anciennes entités lorsque vous atteignez la limite.", + ["WARN_VEH_SPAWN_LIMIT"] = "Limite d'apparition de véhicules atteinte ! Pensez à activer « Remplacement automatique des entités » dans l'onglet Paramètres si vous souhaitez remplacer automatiquement les anciennes entités lorsque vous atteignez la limite.", + ["WARN_PED_SPAWN_LIMIT"] = "Limite d'apparition de Ped atteinte ! Pensez à activer « Remplacement automatique des entités » dans l'onglet Paramètres si vous souhaitez remplacer automatiquement les anciennes entités lorsque vous atteignez la limite.", ["INF_ATTACHMENT_DROP"] = "Pièces jointes supprimées.", - ["WARN_OBJ_SPAWN_LIMIT"] = - "Limite d'apparition d'objets atteinte ! Pensez à activer « Remplacement automatique des entités » dans l'onglet Paramètres si vous souhaitez remplacer automatiquement les anciennes entités lorsque vous atteignez la limite.", + ["WARN_OBJ_SPAWN_LIMIT"] = "Limite d'apparition d'objets atteinte ! Pensez à activer « Remplacement automatique des entités » dans l'onglet Paramètres si vous souhaitez remplacer automatiquement les anciennes entités lorsque vous atteignez la limite.", ["GENERIC_LEFT_RIGHT_LABEL"] = "Gauche/Droite", ["GENERIC_UP_DOWN_LABEL"] = "Haut/Bas", ["GENERIC_POSITION_LABEL"] = "Position", @@ -138,8 +126,7 @@ return { ["CP_COOLDOWN_BYPASS_STATUS_OFF"] = "Hors temps de recharge", ["CP_POKER_FORCE_ROYAL_FLUSH"] = "Forcer toutes les mains des joueurs à Royal Flush", ["CP_POKER_FORCE_BAD_BEAT"] = "Forcer la main du croupier à « Bad Beat »", - ["CP_COOLDOWN_BYPASS_TOOLTIP"] = - "Désactive le temps de recharge du casino, peut entraîner un bannissement. Utilisez à vos propres risques.", + ["CP_COOLDOWN_BYPASS_TOOLTIP"] = "Désactive le temps de recharge du casino, peut entraîner un bannissement. Utilisez à vos propres risques.", ["CP_COOLDOWN_BYPASS_STATUS_FORMAT"] = "Temps de recharge de %.2f minute(s).", ["CP_BLACKJACK_DEALER_FACE_DOWN_CARD"] = "Carte face cachée du croupier :", ["CP_BLACKJACK_FORCE_DEALER_BUST"] = "Forcer le concessionnaire à faire faillite", @@ -233,8 +220,7 @@ return { ["YRV3_CLUB_WORK_CB"] = "Travail du club de moto", ["YRV3_NC_MANAGMENT_CB"] = "Gestion de discothèque", ["YRV3_HANGAR_STEAL_CB"] = "Vol de caisse de hangar", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = - "Génère toujours les missions de boîte de nuit fauteurs de troubles et désactive les missions VIP éliminées.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Génère toujours les missions de boîte de nuit fauteurs de troubles et désactive les missions VIP éliminées.", ["YRV3_POPULARITY_NOTIF"] = "La popularité des boîtes de nuit a augmenté.", ["YRV3_NC_CHANCE_ENCOUNTER_CB"] = "Toujours un fauteur de troubles", ["YRV3_CEO_SELL_CB"] = "Vente de caisse PDG", @@ -251,22 +237,18 @@ return { ["YRV3_CB_CHECK_ALL"] = "Tout vérifier", ["YRV3_CB_UNCHECK_ALL"] = "Décocher tout", ["YRV3_AUTOSELL_BUNKER_LABEL"] = "Bunker", - ["YRV3_SEXY_SHINABI_NOTICE"] = - "Utilisez plutôt le script Payphone Hits de ShinyWasabi.\nAppuyez sur [TAB] pour copier le lien GitHub.", + ["YRV3_SEXY_SHINABI_NOTICE"] = "Utilisez plutôt le script Payphone Hits de ShinyWasabi.\nAppuyez sur [TAB] pour copier le lien GitHub.", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Remarque : Seules ces entreprises sont prises en charge :", - ["YRV3_SELL_MISSIONS_TT"] = - "Ces options ne seront pas enregistrées. Chaque bouton désactive les missions de vente les plus fastidieuses pour cette entreprise.", + ["YRV3_SELL_MISSIONS_TT"] = "Ces options ne seront pas enregistrées. Chaque bouton désactive les missions de vente les plus fastidieuses pour cette entreprise.", ["YRV3_SELL_MISSIONS_NOTIF"] = "Désactivation des missions de vente %s les plus ennuyeuses.", - ["YRV3_SELL_MISSIONS_NOTE"] = - "[REMARQUE] : Si vous envisagez de vendre plus d'une fois pour la même entreprise, veuillez changer de session après avoir terminé la première vente pour réinitialiser les missions, sinon une seconde ne démarrera probablement pas.", + ["YRV3_SELL_MISSIONS_NOTE"] = "[REMARQUE] : Si vous envisagez de vendre plus d'une fois pour la même entreprise, veuillez changer de session après avoir terminé la première vente pour réinitialiser les missions, sinon une seconde ne démarrera probablement pas.", ["YRV3_AUTOSELL_CEO_LABEL"] = "Entrepôts du PDG", ["YRV3_AUTO_SELL_MANUAL"] = "Terminer manuellement la vente", ["YRV3_AUTOSELL_HANGAR_LABEL"] = "Hangar (Air seulement)", ["YRV3_HANGAR_LAND_ERR"] = "Le hangar et les ventes ne sont actuellement pas pris en charge.", ["YRV3_AUTOSELL_BIKER_LABEL"] = "Entreprises de motards", ["YRV3_MCT_TITLE"] = "Terminal de contrôle principal", - ["YRV3_AUTOSELL_TT"] = - "Termine automatiquement une mission de vente 20 secondes après son début. Ne nécessite pas d'interaction avec autre chose que le début de la mission.", + ["YRV3_AUTOSELL_TT"] = "Termine automatiquement une mission de vente 20 secondes après son début. Ne nécessite pas d'interaction avec autre chose que le début de la mission.", ["YRV3_MCT_UNAVAIL"] = "Le terminal de contrôle principal n'est pas disponible pour le moment.", ["YRV3_AUTO_FILL_DELAY"] = "Délai global de remplissage automatique :", ["SELF_AUTOHEAL"] = "Réparation automatique", @@ -282,23 +264,17 @@ return { ["SELF_PHONE_ANIMS_TT"] = "Restaure les animations du téléphone mobile dans GTA Online.", ["SELF_STAND_ON_VEHS"] = "Se tenir sur les véhicules", ["SELF_PHONE_ANIMS"] = "Activer les animations téléphoniques", - ["SELF_HEADPROPS_TT"] = - "Empêche le jeu de retirer votre casque (chapeaux, casques, longs harcuts, etc.) lorsque vous entrez dans un véhicule.", + ["SELF_HEADPROPS_TT"] = "Empêche le jeu de retirer votre casque (chapeaux, casques, longs harcuts, etc.) lorsque vous entrez dans un véhicule.", ["SELF_HANDS_UP"] = "Haut les mains", ["SELF_NO_CARJACKING"] = "Pas de détournement de voiture", - ["SELF_NO_CARJACKING_TT"] = - "Empêche les PNJ de vous pirater. Cela devrait également empêcher les joueurs (non testé contre les joueurs).", - ["SELF_STAND_ON_VEHS_TT"] = - "Vous empêche de vous déplacer lorsque vous vous tenez au sommet d'un véhicule (vous tomberez quand même si vous heurtez quelque chose).", - ["SELF_CROUCH_TT"] = - "Vous fait vous accroupir lorsque vous appuyez sur le bouton furtif, similaire à GTA San Andreas.", + ["SELF_NO_CARJACKING_TT"] = "Empêche les PNJ de vous pirater. Cela devrait également empêcher les joueurs (non testé contre les joueurs).", + ["SELF_STAND_ON_VEHS_TT"] = "Vous empêche de vous déplacer lorsque vous vous tenez au sommet d'un véhicule (vous tomberez quand même si vous heurtez quelque chose).", + ["SELF_CROUCH_TT"] = "Vous fait vous accroupir lorsque vous appuyez sur le bouton furtif, similaire à GTA San Andreas.", ["SELF_SPRINT_INSIDE_TT"] = "Vous permet de courir à pleine vitesse dans la plupart des intérieurs (pas dans tous).", ["SELF_SPRINT_INSIDE"] = "Sprint à l’intérieur des intérieurs", - ["SELF_HANDS_UP_TT"] = - "Remplace l'action « Pointer sur » dans GTA Online (par défaut [B] sur le clavier) par une animation de reddition.", + ["SELF_HANDS_UP_TT"] = "Remplace l'action « Pointer sur » dans GTA Online (par défaut [B] sur le clavier) par une animation de reddition.", ["SELF_LOCKPICK_ANIM"] = "Animation de crochetage", - ["SELF_LOCKPICK_ANIM_TT"] = - "Augmente les chances d'utiliser l'animation de crochetage lors du vol de véhicules au lieu de briser la vitre.", + ["SELF_LOCKPICK_ANIM_TT"] = "Augmente les chances d'utiliser l'animation de crochetage lors du vol de véhicules au lieu de briser la vitre.", ["SELF_REGEN_SPEED"] = "Vitesse de régénération de santé", ["SELF_ROD"] = "Ragdoll à la demande", ["SELF_CLUMSY"] = "Maladroit", @@ -314,33 +290,26 @@ return { ["VEH_NOS_PURGE"] = "Purge du SAI", ["VEH_FAST_AF"] = "Véhicules rapides", ["VEH_POPS_N_BANGS"] = "Pops et franges", - ["VEH_NOS_PURGE_TT"] = - "Appuyez sur la touche assignée (par défaut [X]) pour effectuer une purge NOS de style 2Fast 2Furious.", + ["VEH_NOS_PURGE_TT"] = "Appuyez sur la touche assignée (par défaut [X]) pour effectuer une purge NOS de style 2Fast 2Furious.", ["VEH_SUBWOOFER_TT"] = "Rend les haut-parleurs de votre véhicule légèrement plus forts et des basses plus profondes.", ["VEH_HIGH_BEAMS_TT"] = "Faites clignoter vos feux de route chaque fois que vous klaxonnez", - ["VEH_ABS_LIGHTS_TT"] = - "Fait clignoter vos feux stop lors d'un freinage à grande vitesse. Uniquement pour les véhicules équipés d'ABS.", + ["VEH_ABS_LIGHTS_TT"] = "Fait clignoter vos feux stop lors d'un freinage à grande vitesse. Uniquement pour les véhicules équipés d'ABS.", ["VEH_AUTO_BRAKE_LIGHTS"] = "Feux de freinage automatiques", - ["VEH_POPS_N_BANGS_TT"] = - "Permet des bruits d'échappement forts qui se déclenchent à chaque fois que vous relâchez l'accélérateur à partir d'un régime élevé. PS : Cela fait peur aux PNJ à proximité.", + ["VEH_POPS_N_BANGS_TT"] = "Permet des bruits d'échappement forts qui se déclenchent à chaque fois que vous relâchez l'accélérateur à partir d'un régime élevé. PS : Cela fait peur aux PNJ à proximité.", ["VEH_HIGH_BEAMS"] = "Feux de route sur le klaxon", ["VEH_SUBWOOFER"] = "Gros caisson de basses", ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Allume vos feux stop chaque fois que vous êtes arrêté. (Le moteur doit tourner).", ["VEH_STRONG_WINDOWS_TT"] = "Les vitres de votre véhicule ne se briseront jamais. À moins d'exploser, bien sûr.", ["VEH_STRONG_WINDOWS"] = "Fenêtres incassables", ["VEH_STRONG_CRASH"] = "Des accidents plus forts", - ["VEH_STRONG_CRASH_TT"] = - "Rend les accidents plus effrayants avec des secousses de came, des effets d'écran, davantage de déformations et de dégâts. Les collisions à grande vitesse peuvent être mortelles.", + ["VEH_STRONG_CRASH_TT"] = "Rend les accidents plus effrayants avec des secousses de came, des effets d'écran, davantage de déformations et de dégâts. Les collisions à grande vitesse peuvent être mortelles.", ["VEH_RGB_LIGHTS"] = "Phares RVB", - ["VEH_RGB_LIGHTS_TT"] = - "Démarre une boucle RVB sur les phares de votre véhicule. Vous pouvez modifier la vitesse en bas de cette fenêtre.", - ["VEH_AUTO_LOCK_TT"] = - "Verrouille automatiquement votre véhicule lorsque vous vous en éloignez et le déverrouille à nouveau lorsque vous essayez d'y entrer à nouveau ou de passer à un autre véhicule.", + ["VEH_RGB_LIGHTS_TT"] = "Démarre une boucle RVB sur les phares de votre véhicule. Vous pouvez modifier la vitesse en bas de cette fenêtre.", + ["VEH_AUTO_LOCK_TT"] = "Verrouille automatiquement votre véhicule lorsque vous vous en éloignez et le déverrouille à nouveau lorsque vous essayez d'y entrer à nouveau ou de passer à un autre véhicule.", ["VEH_FLAPPY_DOORS_TT"] = "Je n'ai aucune idée de pourquoi j'ai fait ça.", ["VEH_LAUNCH_CTRL"] = "Contrôle de lancement", ["VEH_AUTO_LOCK"] = "Verrouillage automatique", - ["VEH_KEEP_WHEELS_TURNED_TT"] = - "Empêche votre personnage joueur de recentrer les roues en sortant d'un véhicule en vous téléportant à l'extérieur.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = "Empêche votre personnage joueur de recentrer les roues en sortant d'un véhicule en vous téléportant à l'extérieur.", ["VEH_KEEP_WHEELS_TURNED"] = "Gardez les roues tournées", ["VEH_IV_EXIT"] = "Sortie de style IV", ["VEH_SPEED_BG"] = "Arrière-plan", @@ -348,8 +317,7 @@ return { ["VEH_MINES"] = "Mines de véhicules", ["VEH_LAUNCH_CTRL_TT"] = "Simule le contrôle de lancement. Uniquement disponible pour les voitures de performance.", ["VEH_FLAPPY_DOORS"] = "Portes battantes", - ["VEH_IV_EXIT_TT"] = - "Imite le style de sortie du véhicule de GTA IV : maintenez [F] pendant une seconde pour éteindre le moteur ou appuyez normalement pour le laisser tourner.", + ["VEH_IV_EXIT_TT"] = "Imite le style de sortie du véhicule de GTA IV : maintenez [F] pendant une seconde pour éteindre le moteur ou appuyez normalement pour le laisser tourner.", ["VEH_MINES_TT"] = "Vous permet de larguer une mine depuis n'importe quel véhicule terrestre.", ["VEH_SPEED_UNIT"] = "Unité de vitesse", ["VEH_SPEED_TEXT"] = "Texte", @@ -386,19 +354,16 @@ return { ["VEH_PAINT_FILTER_ALL"] = "Tous", ["VEH_PAINT_SECONDARY_CB"] = "Comme secondaire", ["VEH_PAINT_NOT_SELECTED_ERR"] = "Veuillez sélectionner primaire ou secondaire ou les deux.", - ["VEH_PAINT_SAVE_TT"] = - "Pour enregistrer cette couleur sur un véhicule personnel, rendez-vous dans un magasin de mods et achetez quelque chose comme une teinte de vitre ou un style de plaque ou quoi que ce soit.", + ["VEH_PAINT_SAVE_TT"] = "Pour enregistrer cette couleur sur un véhicule personnel, rendez-vous dans un magasin de mods et achetez quelque chose comme une teinte de vitre ou un style de plaque ou quoi que ce soit.", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "Délai entre les lectures", ["VEH_COBRA_MANEUVER_TOO_SlOW"] = "Votre vitesse actuelle est trop faible pour effectuer une manœuvre Cobra !", - ["VEH_COBRA_MANEUVER_TT"] = - "Appuyez sur [X] sur le clavier pour effectuer une manœuvre Cobra. Uniquement disponible pour les jets.", + ["VEH_COBRA_MANEUVER_TT"] = "Appuyez sur [X] sur le clavier pour effectuer une manœuvre Cobra. Uniquement disponible pour les jets.", ["VEH_COBRA_MANEUVER"] = "Manœuvre du Cobra", ["VEH_COBRA_MANEUVER_TOO_lOW"] = "Votre altitude actuelle est trop basse pour effectuer une manœuvre Cobra !", ["VEH_COBRA_MANEUVER_NOT_LEVEL"] = "Veuillez d'abord mettre votre jet à niveau.", ["VEH_COBRA_MANEUVER_INTERRUPT"] = "La manœuvre Cobra a été interrompue ! Redonner le contrôle au joueur.", ["GENERIC_CARS_ONLY"] = "Cette fonctionnalité n'est compatible qu'avec les voitures et les camions.", - ["VEH_COBRA_MANEUVER_CANCEL"] = - "Effectuer une manœuvre de cobra. Appuyez sur [CTRL] pour annuler et reprendre le contrôle.", + ["VEH_COBRA_MANEUVER_CANCEL"] = "Effectuer une manœuvre de cobra. Appuyez sur [CTRL] pour annuler et reprendre le contrôle.", ["GENERIC_SAVE"] = "Sauvegarder", ["GENERIC_LOAD"] = "Charger", ["GENERIC_ADD"] = "Ajouter", @@ -425,8 +390,7 @@ return { ["VEH_DRIFT_MINIGAME_NEW_PB"] = "Nouveau record personnel atteint !", ["VEH_DRIFT_MINIGAME_SOUND_OPT_TT"] = "Jouer un son lorsque vous marquez des points", ["EF_NAME_EXISTS_ERR"] = "Ce nom existe déjà. Veuillez en choisir un autre.", - ["EF_NEW_NAME_HINT"] = - "REMARQUE : Tout sera supprimé une fois que vous aurez enregistré. Vous pourrez générer votre création plus tard.", + ["EF_NEW_NAME_HINT"] = "REMARQUE : Tout sera supprimé une fois que vous aurez enregistré. Vous pourrez générer votre création plus tard.", ["EF_SAVED_NONE"] = "Vous n'avez aucune création enregistrée.", ["EF_ROTATE_OBJECT"] = "Faire pivoter l'objet :", ["EF_MOVE_OBJECT"] = "Déplacer l'objet :", @@ -435,27 +399,21 @@ return { ["EF_ENTITY_GUN"] = "Pistolet d'entité", ["EF_IMPORT_DATA_INSTR"] = "Collez les données de Forge ici :", ["EF_CHILD_ALPHA"] = "Transparence de l'élément enfant : %d", - ["EF_IMPORT_DATA_NOTICE"] = - "Vous disposez d'une création du même nom. Une balise [import] a été ajoutée au nom. Vous pourrez toujours le renommer plus tard.", - ["EF_SHARE_SUCCESS"] = - "Votre création enregistrée a été copiée dans le presse-papiers. Si vous partagez les données copiées avec d'autres utilisateurs de ce script, ils pourront les importer dans leurs créations enregistrées.", - ["EF_ENTITY_GUN_TT"] = - "Dirigez votre arme vers une entité dans le monde du jeu et appuyez sur [E] pour l'ajouter au pool de forge. Une fois ajouté, vous pourrez utiliser votre souris pour le déplacer et le manipuler.", + ["EF_IMPORT_DATA_NOTICE"] = "Vous disposez d'une création du même nom. Une balise [import] a été ajoutée au nom. Vous pourrez toujours le renommer plus tard.", + ["EF_SHARE_SUCCESS"] = "Votre création enregistrée a été copiée dans le presse-papiers. Si vous partagez les données copiées avec d'autres utilisateurs de ce script, ils pourront les importer dans leurs créations enregistrées.", + ["EF_ENTITY_GUN_TT"] = "Dirigez votre arme vers une entité dans le monde du jeu et appuyez sur [E] pour l'ajouter au pool de forge. Une fois ajouté, vous pourrez utiliser votre souris pour le déplacer et le manipuler.", ["EF_IMPORT_SUCCESS"] = "Données importées avec succès.", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "Votre presse-papiers est vide !", ["EF_IMPORT_DATA_CLIPBOARD"] = "Coller à partir du presse-papiers", ["SELF_MAGIC_BULLET"] = "Balle magique", ["GENERIC_USE"] = "Utiliser", - ["SELF_MAGIC_BULLET_TT"] = - "Cette fonctionnalité ne vise ni ne tire automatiquement. Il se souvient simplement du dernier pilier que vous avez visé et redirige votre tir vers ce pilier lorsque vous tirez, même si vous tirez ailleurs. La cible se réinitialise lorsque vous arrêtez de viser.", + ["SELF_MAGIC_BULLET_TT"] = "Cette fonctionnalité ne vise ni ne tire automatiquement. Il se souvient simplement du dernier pilier que vous avez visé et redirige votre tir vers ce pilier lorsque vous tirez, même si vous tirez ailleurs. La cible se réinitialise lorsque vous arrêtez de viser.", ["GENERIC_APPLY"] = "Appliquer", ["GENERIC_CLEAR"] = "Clair", ["SUBTAB_GUI"] = "Interface utilisateur", ["GENERIC_GENERAL_LABEL"] = "Général", - ["VEH_RALLY_TYRES_TT"] = - "Equipe votre véhicule de pneus rallye qui améliorent encore la tenue de route tout-terrain.", - ["VEH_NO_ENGINE_BRAKE_TT"] = - "Vous permet de rouler en roue libre lorsque vous n’appuyez pas sur l’accélérateur sans perdre autant de vitesse.", + ["VEH_RALLY_TYRES_TT"] = "Equipe votre véhicule de pneus rallye qui améliorent encore la tenue de route tout-terrain.", + ["VEH_NO_ENGINE_BRAKE_TT"] = "Vous permet de rouler en roue libre lorsque vous n’appuyez pas sur l’accélérateur sans perdre autant de vitesse.", ["VEH_KERS_BOOST"] = "Boost KERS", ["VEH_RALLY_TYRES"] = "Pneus Rallye", ["SELF_LASER_SIGHTS_LENGTH"] = "Longueur du rayon laser", @@ -463,21 +421,16 @@ return { ["SELF_LASER_SIGHTS"] = "Viseur laser", ["VEH_OFFROAD_ABILITIES"] = "Capacités tout-terrain", ["VEH_OFFROAD_ABILITIES_TT"] = "Augmente les capacités tout-terrain de votre véhicule.", - ["VEH_KERS_BOOST_TT"] = - "Équipe votre véhicule du boost KERS (Kinetic Energy Recovery System), similaire aux voitures de F1.", - ["SELF_LASER_SIGHTS_TT"] = - "Permet des vues laser sur vos armes à feu. Vous pouvez activer et désactiver les viseurs en appuyant sur [%s]", + ["VEH_KERS_BOOST_TT"] = "Équipe votre véhicule du boost KERS (Kinetic Energy Recovery System), similaire aux voitures de F1.", + ["SELF_LASER_SIGHTS_TT"] = "Permet des vues laser sur vos armes à feu. Vous pouvez activer et désactiver les viseurs en appuyant sur [%s]", ["SUBTAB_HANDLING_EDITOR"] = "Éditeur de manipulation", ["SELF_LASER_SIGHTS_COL"] = "Couleur laser", - ["VEH_FORCE_NO_TC_TT"] = - "Vélos uniquement : oblige votre véhicule à ne pas avoir de contrôle de traction, ce qui vous permet de faire des dérives et des dérapages avec des vélos.", + ["VEH_FORCE_NO_TC_TT"] = "Vélos uniquement : oblige votre véhicule à ne pas avoir de contrôle de traction, ce qui vous permet de faire des dérives et des dérapages avec des vélos.", ["VEH_FORCE_NO_TC"] = "Pas de contrôle de traction", ["VEH_LOW_SPEED_WHEELIE"] = "Wheelie à basse vitesse", ["VEH_ROCKET_BOOST_TT"] = "Equipe votre véhicule avec un boost de fusée, similaire au « Vigilante ».", - ["VEH_LOW_SPEED_WHEELIE_TT"] = - "Vélos uniquement : vous permet de faire des wheelies à très basse vitesse, comme le \"Manchez\".", - ["VEH_PARACHUTE_TT"] = - "Equipe votre véhicule d'un parachute, similaire au \"Ruiner 2000\".\n\nImportant : la capacité de saut doit également être activée.", + ["VEH_LOW_SPEED_WHEELIE_TT"] = "Vélos uniquement : vous permet de faire des wheelies à très basse vitesse, comme le \"Manchez\".", + ["VEH_PARACHUTE_TT"] = "Equipe votre véhicule d'un parachute, similaire au \"Ruiner 2000\".\n\nImportant : la capacité de saut doit également être activée.", ["VEH_ROCKET_BOOST"] = "Boost de fusée", ["VEH_JUMP_TT"] = "Équipe votre véhicule d'une capacité de saut, similaire au « Ruiner 2000 ».", ["VEH_STEER_ALL_WHEELS"] = "Toutes roues directrices", @@ -493,17 +446,14 @@ return { ["SETTING_WINDOW_WIDTH"] = "Largeur de la fenêtre", ["SETTING_WINDOW_POS_SNAP"] = "Accrocher à la position", ["VEH_STEER_REAR_WHEELS"] = "Direction des roues arrière", - ["VEH_STEER_HANDBRAKE_TT"] = - "Dirige les roues arrière de votre véhicule lorsque vous tenez le frein à main, comme les voitures monstres.", + ["VEH_STEER_HANDBRAKE_TT"] = "Dirige les roues arrière de votre véhicule lorsque vous tenez le frein à main, comme les voitures monstres.", ["SETTING_WINDOW_POS_Y"] = "Position Y", ["VEH_STEER_HANDBRAKE"] = "Direction du frein à main", ["SETTING_WINDOW_STYLE"] = "Style de fenêtre", - ["SETTING_WINDOW_POS_TT"] = - "Ce sont uniquement des affichages. Activez « Fenêtre mobile », puis faites glisser la barre supérieure pour déplacer librement la fenêtre.", + ["SETTING_WINDOW_POS_TT"] = "Ce sont uniquement des affichages. Activez « Fenêtre mobile », puis faites glisser la barre supérieure pour déplacer librement la fenêtre.", ["SETTING_WINDOW_HEIGHT"] = "Hauteur maximale de la fenêtre", ["SETTINGS_TOOLTIPS"] = "Désactiver les info-bulles", - ["SETTING_WINDOW_HEIGHT_TT"] = - "La fenêtre est dynamique, elle se redimensionne verticalement en fonction du contenu.\n\nCette option vous permet de définir la hauteur maximale autorisée.", + ["SETTING_WINDOW_HEIGHT_TT"] = "La fenêtre est dynamique, elle se redimensionne verticalement en fonction du contenu.\n\nCette option vous permet de définir la hauteur maximale autorisée.", ["SETTING_WINDOW_THEME"] = "Thème", ["SETTINGS_KEYBINDS"] = "Raccourcis clavier", ["SETTING_WINDOW_ACCENT_COL"] = "Couleur d'accentuation", @@ -520,17 +470,14 @@ return { ["WRLD_KILL_ALL_TT"] = "Tue tous les ennemis proches.", ["WRLD_KILL_ALL_NOTIF"] = "Exécuté « Tuer tous les ennemis »", ["SELF_KATANA"] = "Katana", - ["WRLD_FLEE_ALL_TT"] = - "Fonctionne en boucle de 5 secondes : oblige tous les ennemis à proximité à lâcher leurs armes et à fuir la zone.", + ["WRLD_FLEE_ALL_TT"] = "Fonctionne en boucle de 5 secondes : oblige tous les ennemis à proximité à lâcher leurs armes et à fuir la zone.", ["SELF_KATANA_TT"] = "Remplace l'un des quatre modèles d'armes de mêlée de votre choix par un Katana.", ["WRLD_FLEE_ALL"] = "Effrayer tous les ennemis", ["WRLD_PUBLIC_ENEMY"] = "Ennemi public n°1", - ["WRLD_PUBLIC_ENEMY_TT"] = - "Tous les PNJ à proximité se ligueront contre vous et vous botteront le cul. Y compris les animaux et les flics.", + ["WRLD_PUBLIC_ENEMY_TT"] = "Tous les PNJ à proximité se ligueront contre vous et vous botteront le cul. Y compris les animaux et les flics.", ["GENERIC_IMPORTANT"] = "Important", ["SETTING_HOTKEY_FOUND"] = "Nouvelle clé :", - ["GUI_NEW_LAYOUT_NOTICE"] = - "L'interface utilisateur du script est désormais indépendante du menu. Appuyez sur %s pour l'activer.", + ["GUI_NEW_LAYOUT_NOTICE"] = "L'interface utilisateur du script est désormais indépendante du menu. Appuyez sur %s pour l'activer.", ["YRV3_CWASH_CASH_CLEAN"] = "Faire le ménage:", ["YRV3_CWASH_CASH_DIRTY"] = "Sale:", ["SELF_MC_BIKE_ANIMS"] = "Activer le style de conduite MC", @@ -541,7 +488,22 @@ return { ["YRV3_CWASH_HEAT"] = "Niveau de chaleur :", ["YRV3_HELITOURS_LABEL"] = "Higgins Hélitours", ["YRV3_WEED_SHOP_LABEL"] = "Magasin de mauvaises herbes", - ["SELF_MC_BIKE_ANIMS_TT"] = - "Restaure les animations alternatives de conduite de vélo qui ont été désactivées pour une raison quelconque. Vous devez être enregistré en tant que MC et activer cette option pour que ces animations fonctionnent.", - ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Désactiver le temps de recharge du travail illégal" + ["SELF_MC_BIKE_ANIMS_TT"] = "Restaure les animations alternatives de conduite de vélo qui ont été désactivées pour une raison quelconque. Vous devez être enregistré en tant que MC et activer cette option pour que ces animations fonctionnent.", + ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Désactiver le temps de recharge du travail illégal", + ["VEH_STANCE_CAMBER"] = "Courbure", + ["VEH_STANCE_REAR_AXLE"] = "Essieu arrière", + ["VEH_STANCE_TRACK_WIDTH"] = "Largeur de voie", + ["VEH_STANCE_FRONT_AXLE"] = "Essieu avant", + ["SUBTAB_STANCER"] = "Stancer", + ["VEH_STANCE_GEN_OPTIONS"] = "Options générales", + ["VEH_STANCE_WHEEL_WIDTH"] = "Largeur de roue", + ["VEH_STANCE_WHEEL_SIZE"] = "Taille des roues", + ["VEH_LAUNCH_CTRL_REALISTIC"] = "Réaliste", + ["VEH_LAUNCH_CTRL_MODE"] = "Mode de contrôle de lancement", + ["VEH_STANCE_COPY_FB"] = "Copier du recto vers l'arrière", + ["VEH_LAUNCH_CTRL_RIDICULOUS"] = "Ridicule", + ["VEH_STANCE_INCOMPATIBLE"] = "Cette option est incompatible avec le véhicule actuel.", + ["VEH_STANCE_NON_STOCK"] = "Cette option nécessite des roues non-stock.", + ["VEH_STANCE_RIDE_HEIGHT"] = "Hauteur de caisse", + ["VEH_LAUNCH_CTRL_ERR"] = "Le contrôle de lancement n'est pas disponible pour le moment. Votre moteur est endommagé." } diff --git a/includes/lib/translations/it-IT.lua b/includes/lib/translations/it-IT.lua index 7475710..4ff4733 100644 --- a/includes/lib/translations/it-IT.lua +++ b/includes/lib/translations/it-IT.lua @@ -23,8 +23,7 @@ return { ["GENERIC_SPAWN"] = "Generare", ["VEH_NO_JET_STALL_TT"] = "I motori degli aerei non si fermeranno più quando si tiene premuto il pulsante del freno.", ["VEH_MG_TRIGGERBOT_RANGE"] = "Gamma Triggerbot", - ["VEH_FAST_JETS_TT"] = - "Rende la maggior parte degli aerei più veloci fintanto che possono raggiungere i 240 Km/h per impostazione predefinita, la loro velocità massima sarà aumentata a 555 Km/h.\n\nGli aerei più lenti come lo spolverino non ne beneficiano a meno che non li costringi a raggiungere con la forza la soglia di velocità tuffandosi dal muso.\n\nNOTA: il tuo equipaggiamento (ruote dell'aereo) deve essere alzato.", + ["VEH_FAST_JETS_TT"] = "Rende la maggior parte degli aerei più veloci fintanto che possono raggiungere i 240 Km/h per impostazione predefinita, la loro velocità massima sarà aumentata a 555 Km/h.\n\nGli aerei più lenti come lo spolverino non ne beneficiano a meno che non li costringi a raggiungere con la forza la soglia di velocità tuffandosi dal muso.\n\nNOTA: il tuo equipaggiamento (ruote dell'aereo) deve essere alzato.", ["VEH_AUTOPILOT"] = "Autopilota", ["VEH_NO_TURBULENCE"] = "Turbolenza dell'aria disabilitata", ["VEH_NO_JET_STALL"] = "Disabilita lo stallo del motore", @@ -40,8 +39,7 @@ return { ["VEH_MG_TRIGGERBOT_ENEMY"] = "Solo nemici", ["VEH_MG_MANUAL_AIM"] = "Mira manuale della mitragliatrice", ["VEH_FLARES"] = "Contromisure per i fuochi d'artificio", - ["VEH_FLARES_TT"] = - "Ti consente di lanciare razzi da qualsiasi aereo utilizzando il pulsante di contromisure predefinito.", + ["VEH_FLARES_TT"] = "Ti consente di lanciare razzi da qualsiasi aereo utilizzando il pulsante di contromisure predefinito.", ["WRLD_HNS"] = "Nascondino", ["VEH_SEAT_NEXT"] = "Il prossimo posto", ["VEH_SEAT_PREV"] = "Posto precedente", @@ -54,10 +52,8 @@ return { ["WRLD_CARPOOL"] = "Car pooling", ["FLTBD_TOWING_TXT"] = "Veicolo rimorchiato:", ["FLTBD_SHOW_TOWPOS_CB"] = "Mostra la posizione di traino", - ["WRLD_HNS_TT"] = - "Ti consente di nasconderti all'interno di veicoli, bagagliai o bidoni della spazzatura. Se hai un livello di ricercato, la polizia ti perderà fintanto che ti nascondi prima di essere individuato.", - ["YAV3_STOP_BTN_HINT"] = - "SUGGERIMENTO: puoi premere %s per interrompere l'esecuzione di qualsiasi azione o tenerlo premuto per un secondo per pulire tutto.", + ["WRLD_HNS_TT"] = "Ti consente di nasconderti all'interno di veicoli, bagagliai o bidoni della spazzatura. Se hai un livello di ricercato, la polizia ti perderà fintanto che ti nascondi prima di essere individuato.", + ["YAV3_STOP_BTN_HINT"] = "SUGGERIMENTO: puoi premere %s per interrompere l'esecuzione di qualsiasi azione o tenerlo premuto per un secondo per pulire tutto.", ["FLTBD_TOW_BTN"] = "Trainare", ["WRLD_CARPOOL_TT"] = "Ti permette di salire sui veicoli NPC come passeggero.", ["FLTBD_SHOW_TOWBOX_TT"] = "Disegna una casella ESP attorno al veicolo bersaglio.", @@ -67,29 +63,22 @@ return { ["FLTBD_ADJUST_POS_TXT"] = "Regola la posizione del veicolo", ["FLTBD_NEARBY_VEH_TXT"] = "Veicolo più vicino:", ["SETTINGS_ENTITY_REPLACE"] = "Entità con sostituzione automatica", - ["FLTBD_ADJUST_POS_TT"] = - "Affinché le frecce abbiano un senso, sposta la telecamera del gioco verso destra. (Guarda a destra)", + ["FLTBD_ADJUST_POS_TT"] = "Affinché le frecce abbiano un senso, sposta la telecamera del gioco verso destra. (Guarda a destra)", ["FLTBD_CARS_ONLY_ERR"] = "Puoi trainare solo auto, camion e biciclette.", - ["FTLBD_GET_IN_MSG"] = - "Al momento non ti trovi su un camion con pianale. Puoi rubarne uno dalla strada o utilizzare il pulsante in basso per generarne uno nuovo.", + ["FTLBD_GET_IN_MSG"] = "Al momento non ti trovi su un camion con pianale. Puoi rubarne uno dalla strada o utilizzare il pulsante in basso per generarne uno nuovo.", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Facoltativo: scegli gli elementi di configurazione da conservare.", ["FLTBD_EXIT_VEH_ERR"] = "Esci prima dal tuo veicolo attuale.", ["FLTBD_NO_VEH_TXT"] = "Nessun veicolo nelle vicinanze trovato.", ["FLTBD_SAME_NOT_ALLOWED_ERR"] = "Non è possibile trainare un altro camion con pianale.", ["SETTINGS_CFG_RESET"] = "Reimposta la configurazione salvata", ["FLTBD_FAST_ADJUST_TXT"] = "Tieni premuto [SHIFT] per muoverti più velocemente.", - ["FLTBD_TOW_ALL_TT"] = - "Per impostazione predefinita, il camion traina solo auto, camion e biciclette. Questa opzione rimuove tale limitazione.", - ["SETTINGS_ENTITY_REPLACE_TT"] = - "Questo progetto ha un limite al numero di entità che puoi generare (pedoni, veicoli, oggetti). Tutte le funzionalità rispettano tale limite per prevenire spam di entità o soffocare il gioco. Questa opzione consente allo script di sostituire automaticamente le vecchie entità generate una volta raggiunto il limite per un determinato tipo di entità e provare a generarne una nuova.", + ["FLTBD_TOW_ALL_TT"] = "Per impostazione predefinita, il camion traina solo auto, camion e biciclette. Questa opzione rimuove tale limitazione.", + ["SETTINGS_ENTITY_REPLACE_TT"] = "Questo progetto ha un limite al numero di entità che puoi generare (pedoni, veicoli, oggetti). Tutte le funzionalità rispettano tale limite per prevenire spam di entità o soffocare il gioco. Questa opzione consente allo script di sostituire automaticamente le vecchie entità generate una volta raggiunto il limite per un determinato tipo di entità e provare a generarne una nuova.", ["GENERIC_UNAVAILABLE"] = "Attualmente non disponibile.", - ["WARN_PED_SPAWN_LIMIT"] = - "Limite di spawn dei pedoni raggiunto! Valuta la possibilità di abilitare \"Sostituisci automaticamente entità\" nella scheda Impostazioni se desideri sostituire automaticamente le vecchie entità quando raggiungi il limite.", + ["WARN_PED_SPAWN_LIMIT"] = "Limite di spawn dei pedoni raggiunto! Valuta la possibilità di abilitare \"Sostituisci automaticamente entità\" nella scheda Impostazioni se desideri sostituire automaticamente le vecchie entità quando raggiungi il limite.", ["INF_ATTACHMENT_NONE"] = "Sembra che non ci sia nulla legato a noi.", - ["WARN_OBJ_SPAWN_LIMIT"] = - "Limite di generazione degli oggetti raggiunto! Valuta la possibilità di abilitare \"Sostituisci automaticamente entità\" nella scheda Impostazioni se desideri sostituire automaticamente le vecchie entità quando raggiungi il limite.", - ["WARN_VEH_SPAWN_LIMIT"] = - "Limite di spawn dei veicoli raggiunto! Valuta la possibilità di abilitare \"Sostituisci automaticamente entità\" nella scheda Impostazioni se desideri sostituire automaticamente le vecchie entità quando raggiungi il limite.", + ["WARN_OBJ_SPAWN_LIMIT"] = "Limite di generazione degli oggetti raggiunto! Valuta la possibilità di abilitare \"Sostituisci automaticamente entità\" nella scheda Impostazioni se desideri sostituire automaticamente le vecchie entità quando raggiungi il limite.", + ["WARN_VEH_SPAWN_LIMIT"] = "Limite di spawn dei veicoli raggiunto! Valuta la possibilità di abilitare \"Sostituisci automaticamente entità\" nella scheda Impostazioni se desideri sostituire automaticamente le vecchie entità quando raggiungi il limite.", ["GENERIC_OPTIONS_LABEL"] = "Opzioni", ["GENERIC_POSITION_LABEL"] = "Posizione", ["GENERIC_UP_DOWN_LABEL"] = "Su/Giù", @@ -98,8 +87,7 @@ return { ["GENERIC_CANCEL"] = "Cancellare", ["GENERIC_RESET"] = "Reset", ["GENERIC_CONFIRM"] = "Confermare", - ["GENERIC_OFFLINE_OR_OUTDATED"] = - "Devi essere online e avere l'ultima versione dello script per accedere a questa funzionalità!", + ["GENERIC_OFFLINE_OR_OUTDATED"] = "Devi essere online e avere l'ultima versione dello script per accedere a questa funzionalità!", ["GENERIC_LEFT_RIGHT_LABEL"] = "Sinistra/destra", ["GENERIC_SG_SL_READ_FAIL"] = "Impossibile leggere lo script globale/locale. Contatta uno sviluppatore.", ["GENERIC_CONTACT_DEV"] = "Qualcosa è andato storto! Contatta uno sviluppatore.", @@ -132,8 +120,7 @@ return { ["CP_CARD_DIAMONDS"] = "Diamanti", ["CP_COOLDOWN_BYPASS_STATUS"] = "Stato:", ["CP_COOLDOWN_BYPASS_ENABLE"] = "Abilita bypass", - ["CP_COOLDOWN_BYPASS_TOOLTIP"] = - "Disabilita il tempo di recupero del casinò, può comportare il ban. Utilizzare a proprio rischio.", + ["CP_COOLDOWN_BYPASS_TOOLTIP"] = "Disabilita il tempo di recupero del casinò, può comportare il ban. Utilizzare a proprio rischio.", ["CP_COOLDOWN_BYPASS_STATUS_FORMAT"] = "Recupero per %.2f minuto/i.", ["CP_COOLDOWN_BYPASS_STATUS_OFF"] = "Spento raffreddamento", ["CP_COOLDOWN_BYPASS"] = "Evita il tempo di recupero delle fiches del casinò", @@ -227,8 +214,7 @@ return { ["YRV3_INCOME_APPROX_MC"] = "Reddito aziendale totale approssimativo di MC", ["YRV3_PRICE_NOTICE"] = "I prezzi potrebbero essere più alti a seconda degli aggiornamenti aziendali.", ["YRV3_HANGAR_STEAL_CB"] = "Ruba casse dell'hangar", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = - "Genera sempre le missioni del nightclub piantagrane e disabilita le missioni VIP eliminate.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Genera sempre le missioni del nightclub piantagrane e disabilita le missioni VIP eliminate.", ["YRV3_POPULARITY_NOTIF"] = "La popolarità dei nightclub è aumentata.", ["YRV3_CEO_BUY_CB"] = "Acquista cassa CEO", ["YRV3_CFR_CD_CB"] = "Raid alla fabbrica di polli", @@ -240,8 +226,7 @@ return { ["YRV3_NC_MANAGMENT_CB"] = "Gestione delle discoteche", ["YRV3_CLUB_WORK_CB"] = "Lavoro del club motociclistico", ["YRV3_SAFECASH_TOTAL"] = "Contanti totali in tutte le casseforti", - ["YRV3_SEXY_SHINABI_NOTICE"] = - "Utilizza invece lo script Payphone Hits di ShinyWasabi.\nPremi [TAB] per copiare il collegamento GitHub.", + ["YRV3_SEXY_SHINABI_NOTICE"] = "Utilizza invece lo script Payphone Hits di ShinyWasabi.\nPremi [TAB] per copiare il collegamento GitHub.", ["YRV3_IE_VEH_SELL_CB"] = "Vendita di veicoli I/E", ["YRV3_IE_VEH_STEAL_CB"] = "Approvvigionamento di veicoli I/E", ["YRV3_PAYHPONE_HITS_CB"] = "Hit del telefono pubblico", @@ -254,18 +239,15 @@ return { ["YRV3_SELL_MISSIONS_LABEL"] = "Vendi missioni", ["YRV3_CB_UNCHECK_ALL"] = "Deseleziona tutto", ["YRV3_SELL_MISSIONS_NOTIF"] = "Disabilitate le missioni di vendita %s più fastidiose.", - ["YRV3_SELL_MISSIONS_TT"] = - "Queste opzioni non verranno salvate. Ciascun pulsante disabilita le missioni di vendita più noiose per quell'attività.", + ["YRV3_SELL_MISSIONS_TT"] = "Queste opzioni non verranno salvate. Ciascun pulsante disabilita le missioni di vendita più noiose per quell'attività.", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Nota: sono supportate solo queste attività:", ["YRV3_AUTOSELL_BIKER_LABEL"] = "Imprese di motociclisti", ["YRV3_AUTOSELL_CEO_LABEL"] = "Magazzini CEO", ["YRV3_AUTOSELL_HANGAR_LABEL"] = "Hangar (solo aereo)", - ["YRV3_SELL_MISSIONS_NOTE"] = - "[NOTA]: Se prevedi di vendere più di una volta per la stessa attività, cambia sessione dopo aver terminato la prima vendita per ripristinare le missioni, altrimenti molto probabilmente la seconda non verrà avviata.", + ["YRV3_SELL_MISSIONS_NOTE"] = "[NOTA]: Se prevedi di vendere più di una volta per la stessa attività, cambia sessione dopo aver terminato la prima vendita per ripristinare le missioni, altrimenti molto probabilmente la seconda non verrà avviata.", ["YRV3_AUTOSELL_CURRENT"] = "Attualmente in vendita: %s", ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "Laboratorio degli acidi", - ["YRV3_AUTOSELL_TT"] = - "Termina automaticamente una missione di vendita 20 secondi dopo il suo inizio. Non richiede che tu interagisca con nient'altro oltre all'avvio della missione.", + ["YRV3_AUTOSELL_TT"] = "Termina automaticamente una missione di vendita 20 secondi dopo il suo inizio. Non richiede che tu interagisca con nient'altro oltre all'avvio della missione.", ["YRV3_MCT_TITLE"] = "Terminale di controllo principale", ["YRV3_AUTO_SELL_MANUAL"] = "Termina manualmente la vendita", ["YRV3_HANGAR_LAND_ERR"] = "Hangar e vendite non sono attualmente supportati.", @@ -279,25 +261,20 @@ return { ["YRV3_INCOME_APPROX_ALL"] = "Reddito approssimativo da tutte le imprese:", ["SELF_HEADPROPS"] = "Consenti oggetti di scena nei veicoli", ["YRV3_INCOME_APPROX_ALL_TT"] = "Scorri tutte le schede per aggiornare l'importo totale.", - ["SELF_HEADPROPS_TT"] = - "Impedisce al gioco di rimuovere l'equipaggiamento per la testa (cappelli, elmetti, cappelli lunghi, ecc.) quando si entra in un veicolo.", + ["SELF_HEADPROPS_TT"] = "Impedisce al gioco di rimuovere l'equipaggiamento per la testa (cappelli, elmetti, cappelli lunghi, ecc.) quando si entra in un veicolo.", ["SELF_ACTION_MODE_TT"] = "Disabilita il movimento stravagante del giocatore durante il combattimento.", ["SELF_CROUCH"] = "Accovacciati", ["SELF_STAND_ON_VEHS"] = "Salire sui veicoli", ["SELF_NO_CARJACKING"] = "Nessun furto d'auto", - ["SELF_NO_CARJACKING_TT"] = - "Impedisce agli NPC di rubarti l'auto. Dovrebbe prevenire anche i giocatori (non testato contro i giocatori).", - ["SELF_STAND_ON_VEHS_TT"] = - "Ti impedisce di rotolare quando sei sul tetto di un veicolo (cadrai comunque se colpisci qualcosa).", + ["SELF_NO_CARJACKING_TT"] = "Impedisce agli NPC di rubarti l'auto. Dovrebbe prevenire anche i giocatori (non testato contro i giocatori).", + ["SELF_STAND_ON_VEHS_TT"] = "Ti impedisce di rotolare quando sei sul tetto di un veicolo (cadrai comunque se colpisci qualcosa).", ["SELF_CROUCH_TT"] = "Ti fa accovacciare quando premi il pulsante invisibile, simile a GTA San Andreas.", ["SELF_HANDS_UP"] = "Mani in alto", ["SELF_SPRINT_INSIDE"] = "Sprint all'interno degli interni", - ["SELF_HANDS_UP_TT"] = - "Sostituisce l'azione \"Punta a\" in GTA Online (impostazione predefinita [B] sulla tastiera) con un'animazione di resa.", + ["SELF_HANDS_UP_TT"] = "Sostituisce l'azione \"Punta a\" in GTA Online (impostazione predefinita [B] sulla tastiera) con un'animazione di resa.", ["SELF_CLUMSY"] = "Goffo", ["SELF_ROD"] = "Ragdoll su richiesta", - ["SELF_LOCKPICK_ANIM_TT"] = - "Aumenta la possibilità di utilizzare l'animazione di scasso quando si rubano veicoli invece di rompere la finestra.", + ["SELF_LOCKPICK_ANIM_TT"] = "Aumenta la possibilità di utilizzare l'animazione di scasso quando si rubano veicoli invece di rompere la finestra.", ["SELF_SPRINT_INSIDE_TT"] = "Ti permette di correre a tutta velocità nella maggior parte degli interni (non tutti).", ["SELF_RAGDOLL_SOUND"] = "Suono Ragdoll", ["SELF_LOCKPICK_ANIM"] = "Animazione del grimaldello", @@ -310,32 +287,25 @@ return { ["VEH_FAST_AF"] = "Veicoli veloci", ["SELF_REGEN_SPEED"] = "Velocità di rigenerazione della salute", ["VEH_FAST_AF_TT"] = "Aumenta la velocità massima di qualsiasi veicolo terrestre che guidi.", - ["VEH_NOS_PURGE_TT"] = - "Premere la combinazione di tasti assegnata (predefinita [X]) per eseguire un'eliminazione del NOS in stile 2Fast 2Furious.", + ["VEH_NOS_PURGE_TT"] = "Premere la combinazione di tasti assegnata (predefinita [X]) per eseguire un'eliminazione del NOS in stile 2Fast 2Furious.", ["VEH_ABS_LIGHTS"] = "Visualizzazione della forza frenante", ["VEH_POPS_N_BANGS"] = "Pop e scoppi", ["VEH_NOS_PURGE"] = "Spurgo NOS", - ["VEH_ABS_LIGHTS_TT"] = - "Fa lampeggiare le luci dei freni quando si frena ad alta velocità. Solo per veicoli dotati di ABS.", - ["VEH_POPS_N_BANGS_TT"] = - "Abilita forti schiocchi di scarico che si attivano ogni volta che si rilascia l'acceleratore da un regime elevato. PS: spaventa gli NPC vicini.", + ["VEH_ABS_LIGHTS_TT"] = "Fa lampeggiare le luci dei freni quando si frena ad alta velocità. Solo per veicoli dotati di ABS.", + ["VEH_POPS_N_BANGS_TT"] = "Abilita forti schiocchi di scarico che si attivano ogni volta che si rilascia l'acceleratore da un regime elevato. PS: spaventa gli NPC vicini.", ["VEH_SUBWOOFER"] = "Grande subwoofer", ["VEH_AUTO_BRAKE_LIGHTS"] = "Luci dei freni automatici", ["VEH_HIGH_BEAMS"] = "Abbaglianti sul clacson", ["VEH_STRONG_CRASH"] = "Crash più forti", ["VEH_STRONG_WINDOWS"] = "Finestre infrangibili", - ["VEH_STRONG_WINDOWS_TT"] = - "I finestrini del tuo veicolo non si romperanno mai. A meno che non venga fatto esplodere, ovviamente.", + ["VEH_STRONG_WINDOWS_TT"] = "I finestrini del tuo veicolo non si romperanno mai. A meno che non venga fatto esplodere, ovviamente.", ["VEH_HIGH_BEAMS_TT"] = "Fa lampeggiare gli abbaglianti ogni volta che suoni il clacson", ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Accende le luci dei freni ogni volta che ti fermi. (Il motore deve essere acceso).", ["VEH_RGB_LIGHTS"] = "Fari RGB", ["VEH_SUBWOOFER_TT"] = "Rende gli altoparlanti del tuo veicolo leggermente più forti e hanno bassi più profondi.", - ["VEH_RGB_LIGHTS_TT"] = - "Avvia un loop RGB sui fari del tuo veicolo. Puoi modificare la velocità nella parte inferiore di questa finestra.", - ["VEH_STRONG_CRASH_TT"] = - "Rende gli arresti anomali più spaventosi con vibrazioni della cam, effetti dello schermo, maggiore deformazione e danni. Le collisioni ad alta velocità possono essere fatali.", - ["VEH_AUTO_LOCK_TT"] = - "Blocca automaticamente il tuo veicolo quando ti allontani e lo sblocca nuovamente quando provi a rientrare o a passare a un veicolo diverso.", + ["VEH_RGB_LIGHTS_TT"] = "Avvia un loop RGB sui fari del tuo veicolo. Puoi modificare la velocità nella parte inferiore di questa finestra.", + ["VEH_STRONG_CRASH_TT"] = "Rende gli arresti anomali più spaventosi con vibrazioni della cam, effetti dello schermo, maggiore deformazione e danni. Le collisioni ad alta velocità possono essere fatali.", + ["VEH_AUTO_LOCK_TT"] = "Blocca automaticamente il tuo veicolo quando ti allontani e lo sblocca nuovamente quando provi a rientrare o a passare a un veicolo diverso.", ["VEH_AUTO_LOCK"] = "Blocco automatico", ["VEH_FLAPPY_DOORS_TT"] = "Non ho idea del motivo per cui l'ho fatto.", ["VEH_KEEP_WHEELS_TURNED"] = "Mantieni le ruote girate", @@ -343,10 +313,8 @@ return { ["VEH_FLAPPY_DOORS"] = "Porte a soffietto", ["VEH_LAUNCH_CTRL_TT"] = "Simula il controllo del lancio. Disponibile solo per auto ad alte prestazioni.", ["VEH_SPEED_CIRCLE"] = "Cerchio", - ["VEH_KEEP_WHEELS_TURNED_TT"] = - "Impedisce al tuo personaggio giocante di centrare nuovamente le ruote quando esce da un veicolo teletrasportandoti all'esterno.", - ["VEH_IV_EXIT_TT"] = - "Imita lo stile di uscita del veicolo di GTA IV: tieni premuto [F] per un secondo per spegnere il motore o premi normalmente per lasciarlo acceso.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = "Impedisce al tuo personaggio giocante di centrare nuovamente le ruote quando esce da un veicolo teletrasportandoti all'esterno.", + ["VEH_IV_EXIT_TT"] = "Imita lo stile di uscita del veicolo di GTA IV: tieni premuto [F] per un secondo per spegnere il motore o premi normalmente per lasciarlo acceso.", ["VEH_SPEED_BG"] = "Sfondo", ["VEH_SPEED_TEXT"] = "Testo", ["VEH_LAUNCH_CTRL"] = "Avvia Controllo", @@ -386,8 +354,7 @@ return { ["VEH_PAINT_NOT_SELECTED_ERR"] = "Seleziona primario o secondario o entrambi.", ["VEH_PAINT_PRIMARY_CB"] = "Come Primario", ["VEH_PAINT_SECONDARY_CB"] = "Come secondario", - ["VEH_PAINT_SAVE_TT"] = - "Per salvare questo colore su un veicolo personale, vai in un negozio di moda e acquista qualcosa come una tinta per i finestrini, uno stile per la targa o altro.", + ["VEH_PAINT_SAVE_TT"] = "Per salvare questo colore su un veicolo personale, vai in un negozio di moda e acquista qualcosa come una tinta per i finestrini, uno stile per la targa o altro.", ["GENERIC_CARS_ONLY"] = "Questa funzione è compatibile solo con auto e camion.", ["VEH_COBRA_MANEUVER_TOO_lOW"] = "La tua altitudine attuale è troppo bassa per eseguire una manovra Cobra!", ["VEH_COBRA_MANEUVER_TOO_SlOW"] = "La tua velocità attuale è troppo bassa per eseguire una manovra Cobra!", @@ -396,8 +363,7 @@ return { ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "Ritardo tra le riproduzioni", ["VEH_COBRA_MANEUVER_NOT_LEVEL"] = "Per favore livella prima il tuo jet.", ["VEH_COBRA_MANEUVER_INTERRUPT"] = "La manovra Cobra è stata interrotta! Restituire il controllo al giocatore.", - ["VEH_COBRA_MANEUVER_CANCEL"] = - "Esecuzione della manovra del cobra. Premi [CTRL] per annullare e riprendere il controllo.", + ["VEH_COBRA_MANEUVER_CANCEL"] = "Esecuzione della manovra del cobra. Premi [CTRL] per annullare e riprendere il controllo.", ["GENERIC_ADD"] = "Aggiungere", ["GENERIC_DELETE"] = "Eliminare", ["GENERIC_LOAD"] = "Carico", @@ -434,19 +400,15 @@ return { ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "I tuoi appunti sono vuoti!", ["EF_IMPORT_DATA_INSTR"] = "Incolla qui i dati della fucina:", ["EF_SAVED_NONE"] = "Non hai nessuna creazione salvata.", - ["EF_IMPORT_DATA_NOTICE"] = - "Hai una creazione con lo stesso nome. Al nome è stato aggiunto un tag [import]. Puoi comunque rinominarlo in seguito.", + ["EF_IMPORT_DATA_NOTICE"] = "Hai una creazione con lo stesso nome. Al nome è stato aggiunto un tag [import]. Puoi comunque rinominarlo in seguito.", ["EF_CHILD_ALPHA"] = "Trasparenza dell'elemento secondario: %d", - ["EF_ENTITY_GUN_TT"] = - "Punta la tua arma verso un'entità nel mondo di gioco e premi [E] per aggiungerla alla riserva della forgia. Una volta aggiunto, potrai utilizzare il mouse per spostarlo e manipolarlo.", - ["EF_SHARE_SUCCESS"] = - "La tua creazione salvata è stata copiata negli appunti. Se condividi i dati copiati con altri utenti di questo script, potranno importarli nelle loro creazioni salvate.", + ["EF_ENTITY_GUN_TT"] = "Punta la tua arma verso un'entità nel mondo di gioco e premi [E] per aggiungerla alla riserva della forgia. Una volta aggiunto, potrai utilizzare il mouse per spostarlo e manipolarlo.", + ["EF_SHARE_SUCCESS"] = "La tua creazione salvata è stata copiata negli appunti. Se condividi i dati copiati con altri utenti di questo script, potranno importarli nelle loro creazioni salvate.", ["EF_IMPORT_SUCCESS"] = "Dati importati con successo.", ["GENERIC_APPLY"] = "Fare domanda a", ["GENERIC_USE"] = "Utilizzo", ["SELF_MAGIC_BULLET"] = "Proiettile magico", - ["SELF_MAGIC_BULLET_TT"] = - "Questa funzione non mira né spara automaticamente. Ricorda semplicemente l'ultimo pedone a cui hai mirato e reindirizza il tuo tiro a quel pedone quando spari, anche se spari altrove. Il bersaglio si ripristina quando smetti di mirare.", + ["SELF_MAGIC_BULLET_TT"] = "Questa funzione non mira né spara automaticamente. Ricorda semplicemente l'ultimo pedone a cui hai mirato e reindirizza il tuo tiro a quel pedone quando spari, anche se spari altrove. Il bersaglio si ripristina quando smetti di mirare.", ["SUBTAB_GUI"] = "Interfaccia utente", ["GENERIC_GENERAL_LABEL"] = "Generale", ["GENERIC_CLEAR"] = "Chiaro", @@ -456,29 +418,22 @@ return { ["SELF_LASER_SIGHTS"] = "Mirini laser", ["VEH_KERS_BOOST"] = "KERS potenziamento", ["VEH_OFFROAD_ABILITIES"] = "Abilità fuoristrada", - ["VEH_RALLY_TYRES_TT"] = - "Equipaggia il tuo veicolo con pneumatici da rally che migliorano ulteriormente la manovrabilità fuoristrada.", - ["VEH_KERS_BOOST_TT"] = - "Dota il tuo veicolo del potenziamento KERS (Kinetic Energy Recovery System), simile alle auto di F1.", - ["VEH_FORCE_NO_TC_TT"] = - "Solo biciclette: impone al tuo veicolo di non avere il controllo della trazione, il che ti consente di eseguire derapate e sbandate con le biciclette.", - ["VEH_LOW_SPEED_WHEELIE_TT"] = - "Solo bici: ti permette di fare impennate a velocità molto basse, simili al \"Manchez\".", - ["VEH_NO_ENGINE_BRAKE_TT"] = - "Ti permette di procedere per inerzia quando non premi l'acceleratore senza perdere troppa velocità.", + ["VEH_RALLY_TYRES_TT"] = "Equipaggia il tuo veicolo con pneumatici da rally che migliorano ulteriormente la manovrabilità fuoristrada.", + ["VEH_KERS_BOOST_TT"] = "Dota il tuo veicolo del potenziamento KERS (Kinetic Energy Recovery System), simile alle auto di F1.", + ["VEH_FORCE_NO_TC_TT"] = "Solo biciclette: impone al tuo veicolo di non avere il controllo della trazione, il che ti consente di eseguire derapate e sbandate con le biciclette.", + ["VEH_LOW_SPEED_WHEELIE_TT"] = "Solo bici: ti permette di fare impennate a velocità molto basse, simili al \"Manchez\".", + ["VEH_NO_ENGINE_BRAKE_TT"] = "Ti permette di procedere per inerzia quando non premi l'acceleratore senza perdere troppa velocità.", ["VEH_FORCE_NO_TC"] = "Nessun controllo della trazione", ["SELF_LASER_SIGHTS_LENGTH"] = "Lunghezza del raggio laser", ["VEH_LOW_SPEED_WHEELIE"] = "Impennata a bassa velocità", ["VEH_RALLY_TYRES"] = "Pneumatici Rally", - ["SELF_LASER_SIGHTS_TT"] = - "Abilita i mirini laser sulle tue armi da fuoco. Puoi attivare e disattivare la vista premendo [%s]", + ["SELF_LASER_SIGHTS_TT"] = "Abilita i mirini laser sulle tue armi da fuoco. Puoi attivare e disattivare la vista premendo [%s]", ["VEH_OFFROAD_ABILITIES_TT"] = "Aumenta le capacità fuoristrada del tuo veicolo.", ["VEH_ROCKET_BOOST"] = "Spinta del razzo", ["VEH_ROCKET_BOOST_TT"] = "Dota il tuo veicolo di un razzo potenziato, simile al \"Vigilante\".", ["VEH_PARACHUTE"] = "Capacità di paracadute", ["VEH_JUMP"] = "Capacità di salto", - ["VEH_PARACHUTE_TT"] = - "Equipaggia il tuo veicolo con un paracadute, simile al \"Ruiner 2000\".\n\nImportante: anche la capacità di salto deve essere abilitata.", + ["VEH_PARACHUTE_TT"] = "Equipaggia il tuo veicolo con un paracadute, simile al \"Ruiner 2000\".\n\nImportante: anche la capacità di salto deve essere abilitata.", ["SETTINGS_LANGUAGE"] = "Lingua", ["VEH_STEER_REAR_WHEELS"] = "Sterzo sulla ruota posteriore", ["VEH_STEER_HANDBRAKE"] = "Sterzo con freno a mano", @@ -492,17 +447,14 @@ return { ["SETTING_WINDOW_POS_Y"] = "Posizione Y", ["SETTING_WINDOW_MOVEABLE"] = "Finestra mobile", ["SETTINGS_TOOLTIPS"] = "Disabilita descrizioni comandi", - ["VEH_STEER_HANDBRAKE_TT"] = - "Sterza le ruote posteriori del tuo veicolo quando tieni il freno a mano, in modo simile alle auto mostruose.", - ["SETTING_WINDOW_POS_TT"] = - "Questi sono solo di visualizzazione. Abilita \"Finestra mobile\", quindi trascina la barra superiore per spostare liberamente la finestra.", + ["VEH_STEER_HANDBRAKE_TT"] = "Sterza le ruote posteriori del tuo veicolo quando tieni il freno a mano, in modo simile alle auto mostruose.", + ["SETTING_WINDOW_POS_TT"] = "Questi sono solo di visualizzazione. Abilita \"Finestra mobile\", quindi trascina la barra superiore per spostare liberamente la finestra.", ["SETTING_WINDOW_POS_SNAP"] = "Aggancia alla posizione", ["SETTING_WINDOW_HEIGHT"] = "Altezza massima della finestra", ["SETTING_WINDOW_WIDTH"] = "Larghezza della finestra", ["SETTING_WINDOW_THEME"] = "Tema", ["SETTING_HOTKEY_WAIT"] = "Premere un tasto qualsiasi", - ["SETTING_WINDOW_HEIGHT_TT"] = - "La finestra è dinamica, si ridimensiona verticalmente in base al contenuto.\n\nQuesta opzione permette di impostare l'altezza massima consentita.", + ["SETTING_WINDOW_HEIGHT_TT"] = "La finestra è dinamica, si ridimensiona verticalmente in base al contenuto.\n\nQuesta opzione permette di impostare l'altezza massima consentita.", ["SETTING_WINDOW_STYLE"] = "Stile finestra", ["SETTING_WINDOW_TOP_FRAME_BG"] = "Gradiente del pulsante della barra superiore", ["SETTINGS_HOTKEY_RESERVED"] = "Questa chiave è riservata. Scegline uno diverso.", @@ -518,13 +470,11 @@ return { ["SELF_KATANA_REPLACE_MODEL"] = "Modello da sostituire", ["WRLD_FLEE_ALL"] = "Spaventare tutti i nemici", ["WRLD_KILL_ALL_NOTIF"] = "Hai eseguito \"Uccidi tutti i nemici\"", - ["WRLD_FLEE_ALL_TT"] = - "Viene eseguito in un ciclo di 5 secondi: costringe tutti i nemici vicini a lasciare cadere le armi e a fuggire dall'area.", + ["WRLD_FLEE_ALL_TT"] = "Viene eseguito in un ciclo di 5 secondi: costringe tutti i nemici vicini a lasciare cadere le armi e a fuggire dall'area.", ["WRLD_KILL_ALL_TT"] = "Uccide tutti i nemici vicini.", ["WRLD_FLEE_ALL_NOTIF"] = "Costringere i nemici vicini a fuggire. Attendere prego.", ["WRLD_PUBLIC_ENEMY"] = "Nemico pubblico n. 1", - ["WRLD_PUBLIC_ENEMY_TT"] = - "Tutti gli NPC vicini si alleeranno contro di te e ti faranno il culo. Compresi animali e poliziotti.", + ["WRLD_PUBLIC_ENEMY_TT"] = "Tutti gli NPC vicini si alleeranno contro di te e ti faranno il culo. Compresi animali e poliziotti.", ["GENERIC_IMPORTANT"] = "Importante", ["SETTING_HOTKEY_FOUND"] = "Nuova chiave:", ["GUI_NEW_LAYOUT_NOTICE"] = "L'interfaccia utente dello script è ora indipendente dal menu. Premi %s per attivarlo.", @@ -539,6 +489,21 @@ return { ["YRV3_HELITOURS_LABEL"] = "Higgins Helitour", ["YRV3_CWASH_LEGAL_WORK_CD"] = "Disabilita il tempo di recupero del lavoro legale", ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Disabilita il tempo di recupero per lavoro illegale", - ["SELF_MC_BIKE_ANIMS_TT"] = - "Ripristina le animazioni alternative di guida in bicicletta che erano state disabilitate per qualche motivo. Devi essere registrato come MC e avere questa opzione abilitata affinché queste animazioni funzionino." + ["SELF_MC_BIKE_ANIMS_TT"] = "Ripristina le animazioni alternative di guida in bicicletta che erano state disabilitate per qualche motivo. Devi essere registrato come MC e avere questa opzione abilitata affinché queste animazioni funzionino.", + ["VEH_STANCE_CAMBER"] = "Campanatura", + ["VEH_STANCE_WHEEL_WIDTH"] = "Larghezza ruota", + ["VEH_LAUNCH_CTRL_REALISTIC"] = "Realistico", + ["SUBTAB_STANCER"] = "Stancer", + ["VEH_LAUNCH_CTRL_MODE"] = "Avvia la modalità di controllo", + ["VEH_LAUNCH_CTRL_RIDICULOUS"] = "Ridicolo", + ["VEH_STANCE_REAR_AXLE"] = "Asse posteriore", + ["VEH_STANCE_INCOMPATIBLE"] = "Questa opzione non è compatibile con il veicolo attuale.", + ["VEH_STANCE_GEN_OPTIONS"] = "Opzioni generali", + ["VEH_STANCE_FRONT_AXLE"] = "Assale anteriore", + ["VEH_STANCE_TRACK_WIDTH"] = "Larghezza della traccia", + ["VEH_STANCE_WHEEL_SIZE"] = "Dimensioni della ruota", + ["VEH_LAUNCH_CTRL_ERR"] = "Il Launch Control non è al momento disponibile. Il tuo motore è danneggiato.", + ["VEH_STANCE_NON_STOCK"] = "Questa opzione richiede ruote non di serie.", + ["VEH_STANCE_COPY_FB"] = "Copia fronte-retro", + ["VEH_STANCE_RIDE_HEIGHT"] = "Altezza di marcia" } diff --git a/includes/lib/translations/ja-JP.lua b/includes/lib/translations/ja-JP.lua index a7a81c5..d8e9a2e 100644 --- a/includes/lib/translations/ja-JP.lua +++ b/includes/lib/translations/ja-JP.lua @@ -29,8 +29,7 @@ return { ["VEH_DRIFT_SMOKE_TT"] = "ドリフト時やバーンアウト時にタイヤから発生する煙の量が増加します。", ["VEH_DRIFT_SMOKE_COL"] = "タイヤのスモークカラー", ["VEH_MG_TRIGGERBOT_ENEMY"] = "敵のみ", - ["VEH_FAST_JETS_TT"] = - "デフォルトで 240Km/h に達できる限り、ほとんどの飛行機が速くなり、最高速度は 555Km/h に増加します。\n\nダスターのような遅い飛行機は、機首降下によって強制的に速度しきい値に到達させない限り、この恩恵を受けられません。\n\n注: ギア (飛行機の車輪) が上がっている必要があります。", + ["VEH_FAST_JETS_TT"] = "デフォルトで 240Km/h に達できる限り、ほとんどの飛行機が速くなり、最高速度は 555Km/h に増加します。\n\nダスターのような遅い飛行機は、機首降下によって強制的に速度しきい値に到達させない限り、この恩恵を受けられません。\n\n注: ギア (飛行機の車輪) が上がっている必要があります。", ["VEH_MG_TRIGGERBOT_RANGE"] = "トリガーボット範囲", ["VEH_MG_MANUAL_AIM"] = "マシンガンの手動照準", ["VEH_MG_TRIGGERBOT_TT"] = "航空機の機関銃を自動的に発砲します。", @@ -74,23 +73,20 @@ return { ["FLTBD_ADJUST_POS_TT"] = "矢印をわかりやすくするには、ゲームのカメラを右に動かします。 (右を見て)", ["SETTINGS_ENTITY_REPLACE"] = "エンティティの自動置換", ["FLTBD_TOW_ALL_TT"] = "デフォルトでは、トラックは乗用車、トラック、自転車のみを牽引します。このオプションはその制限を取り除きます。", - ["SETTINGS_ENTITY_REPLACE_TT"] = - "このプロジェクトでは、スポーンできるエンティティ (足、車両、オブジェクト) の数に制限があります。エンティティのスパムやゲームの中断を防ぐために、すべての機能がその制限に準拠しています。このオプションを使用すると、特定のエンティティ タイプの制限に達し、新しいエンティティを生成しようとすると、スクリプトが古い生成エンティティを自動的に置き換えることができます。", + ["SETTINGS_ENTITY_REPLACE_TT"] = "このプロジェクトでは、スポーンできるエンティティ (足、車両、オブジェクト) の数に制限があります。エンティティのスパムやゲームの中断を防ぐために、すべての機能がその制限に準拠しています。このオプションを使用すると、特定のエンティティ タイプの制限に達し、新しいエンティティを生成しようとすると、スクリプトが古い生成エンティティを自動的に置き換えることができます。", ["GENERIC_OPTIONS_LABEL"] = "オプション", ["GENERIC_POSITION_LABEL"] = "位置", ["GENERIC_OFFLINE_OR_OUTDATED"] = "この機能にアクセスするには、オンラインに接続し、最新バージョンのスクリプトを使用する必要があります。", ["GENERIC_COLORS_LABEL"] = "色", ["INF_ATTACHMENT_NONE"] = "私たちには何もついていないようです。", - ["WARN_PED_SPAWN_LIMIT"] = - "Ped のスポーン制限に達しました!制限に達したときに古いエンティティを自動的に置き換える場合は、[設定] タブで [エンティティの自動置換] を有効にすることを検討してください。", + ["WARN_PED_SPAWN_LIMIT"] = "Ped のスポーン制限に達しました!制限に達したときに古いエンティティを自動的に置き換える場合は、[設定] タブで [エンティティの自動置換] を有効にすることを検討してください。", ["GENERIC_UP_DOWN_LABEL"] = "上/下", ["GENERIC_CONFIRM"] = "確認する", ["GENERIC_UNAVAILABLE"] = "現在利用できません。", ["INF_ATTACHMENT_DROP"] = "添付ファイルが削除されました。", ["GENERIC_CANCEL"] = "キャンセル", ["GENERIC_RESET"] = "リセット", - ["WARN_OBJ_SPAWN_LIMIT"] = - "オブジェクトのスポーン制限に達しました!制限に達したときに古いエンティティを自動的に置き換える場合は、[設定] タブで [エンティティの自動置換] を有効にすることを検討してください。", + ["WARN_OBJ_SPAWN_LIMIT"] = "オブジェクトのスポーン制限に達しました!制限に達したときに古いエンティティを自動的に置き換える場合は、[設定] タブで [エンティティの自動置換] を有効にすることを検討してください。", ["WARN_VEH_SPAWN_LIMIT"] = "車両のスポーン制限に達しました!制限に達したときに古いエンティティを自動的に置き換える場合は、[設定] タブで [エンティティの自動置換] を有効にすることを検討してください。", ["GENERIC_LEFT_RIGHT_LABEL"] = "左/右", ["GENERIC_MISC"] = "その他", @@ -244,8 +240,7 @@ return { ["YRV3_SELL_MISSIONS_LABEL"] = "ミッションを販売する", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "注: 次のビジネスのみがサポートされています。", ["YRV3_SELL_MISSIONS_NOTIF"] = "最も迷惑な%s販売ミッションを無効にしました。", - ["YRV3_SELL_MISSIONS_NOTE"] = - "[注意]: 同じビジネスで複数回販売する予定がある場合は、最初の販売が終了した後にセッションを切り替えてミッションをリセットしてください。そうしないと、2 番目の販売が開始できない可能性が高くなります。", + ["YRV3_SELL_MISSIONS_NOTE"] = "[注意]: 同じビジネスで複数回販売する予定がある場合は、最初の販売が終了した後にセッションを切り替えてミッションをリセットしてください。そうしないと、2 番目の販売が開始できない可能性が高くなります。", ["YRV3_SELL_MISSIONS_TT"] = "これらのオプションは保存されません。各ボタンは、そのビジネスの最も面倒な販売ミッションを無効にします。", ["YRV3_HANGAR_LAND_ERR"] = "格納庫および販売は現在サポートされていません。", ["YRV3_AUTO_SELL_MANUAL"] = "販売を手動で終了する", @@ -412,8 +407,7 @@ return { ["EF_ENTITY_GUN_TT"] = "ゲーム世界内のエンティティに武器を向け、[E] を押してそれを鍛造プールに追加します。追加すると、マウスを使用して移動および操作できるようになります。", ["GENERIC_APPLY"] = "適用する", ["GENERIC_USE"] = "使用", - ["SELF_MAGIC_BULLET_TT"] = - "この機能は自動照準や自動射撃を行いません。最後に狙ったペッドを記憶しており、たとえ他の場所で発砲したとしても、射撃時にショットをそのペッドにリダイレクトします。狙うのをやめるとターゲットはリセットされます。", + ["SELF_MAGIC_BULLET_TT"] = "この機能は自動照準や自動射撃を行いません。最後に狙ったペッドを記憶しており、たとえ他の場所で発砲したとしても、射撃時にショットをそのペッドにリダイレクトします。狙うのをやめるとターゲットはリセットされます。", ["SELF_MAGIC_BULLET"] = "マジックブレット", ["GENERIC_CLEAR"] = "クリア", ["SUBTAB_HANDLING_EDITOR"] = "ハンドリングエディター", @@ -495,5 +489,21 @@ return { ["YRV3_HELITOURS_LABEL"] = "ヒギンズ・ヘリツアーズ", ["YRV3_WEED_SHOP_LABEL"] = "雑草屋", ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "違法な作業のクールダウンを無効にする", - ["YRV3_CWASH_LEGAL_WORK_CD"] = "法務作業のクールダウンを無効にする" + ["YRV3_CWASH_LEGAL_WORK_CD"] = "法務作業のクールダウンを無効にする", + ["VEH_LAUNCH_CTRL_REALISTIC"] = "現実的な", + ["VEH_LAUNCH_CTRL_RIDICULOUS"] = "ばかげている", + ["VEH_STANCE_WHEEL_SIZE"] = "ホイールサイズ", + ["VEH_LAUNCH_CTRL_ERR"] = "現時点ではローンチコントロールは利用できません。エンジンが損傷しています。", + ["VEH_STANCE_WHEEL_WIDTH"] = "ホイール幅", + ["VEH_STANCE_CAMBER"] = "キャンバー", + ["VEH_STANCE_NON_STOCK"] = "このオプションには非純正ホイールが必要です。", + ["VEH_STANCE_INCOMPATIBLE"] = "このオプションは現在の車両と互換性がありません。", + ["VEH_LAUNCH_CTRL_MODE"] = "ローンチコントロールモード", + ["VEH_STANCE_TRACK_WIDTH"] = "トラック幅", + ["VEH_STANCE_GEN_OPTIONS"] = "一般的なオプション", + ["SUBTAB_STANCER"] = "スタンサー", + ["VEH_STANCE_REAR_AXLE"] = "リアアクスル", + ["VEH_STANCE_COPY_FB"] = "前から後ろへコピー", + ["VEH_STANCE_FRONT_AXLE"] = "フロントアクスル", + ["VEH_STANCE_RIDE_HEIGHT"] = "車高" } diff --git a/includes/lib/translations/ko-KR.lua b/includes/lib/translations/ko-KR.lua index 74edf5e..5a148c0 100644 --- a/includes/lib/translations/ko-KR.lua +++ b/includes/lib/translations/ko-KR.lua @@ -24,8 +24,7 @@ return { ["VEH_DRIFT_SMOKE"] = "타이어 연기", ["GENERIC_ENTITY_CTRL_FAIL"] = "엔터티 제어에 실패했습니다!", ["GENERIC_INTERIOR_ACTION_ERR"] = "이 작업은 내부에서는 허용되지 않습니다.", - ["VEH_FAST_JETS_TT"] = - "기본적으로 240Km/h에 도달할 수 있는 한 대부분의 비행기를 더 빠르게 만들고 최대 속도는 555Km/h로 증가합니다.\n\n더스터와 같이 느린 비행기는 기수 다이빙으로 강제로 속도 임계값에 도달하지 않는 한 이 혜택을 누릴 수 없습니다.\n\n참고: 장비(비행기 바퀴)가 위로 올라와 있어야 합니다.", + ["VEH_FAST_JETS_TT"] = "기본적으로 240Km/h에 도달할 수 있는 한 대부분의 비행기를 더 빠르게 만들고 최대 속도는 555Km/h로 증가합니다.\n\n더스터와 같이 느린 비행기는 기수 다이빙으로 강제로 속도 임계값에 도달하지 않는 한 이 혜택을 누릴 수 없습니다.\n\n참고: 장비(비행기 바퀴)가 위로 올라와 있어야 합니다.", ["VEH_MG_TRIGGERBOT_TT"] = "항공기의 기관총을 자동으로 발사합니다.", ["VEH_MG_TRIGGERBOT_ENEMY_TT"] = "기관총 방아쇠봇은 적에게만 사격합니다.", ["VEH_AUTOPILOT"] = "자동 조종 장치", @@ -74,8 +73,7 @@ return { ["FLTBD_SAME_NOT_ALLOWED_ERR"] = "다른 플랫베드 트럭을 견인할 수 없습니다.", ["SETTINGS_RESET_PRESERVE_KEYS"] = "선택 사항: 유지할 구성 항목을 선택합니다.", ["SETTINGS_ENTITY_REPLACE"] = "자동 교체 엔터티", - ["SETTINGS_ENTITY_REPLACE_TT"] = - "이 프로젝트에는 생성할 수 있는 엔터티(보행자, 차량, 개체) 수에 제한이 있습니다. 엔터티 스팸이나 게임 질식을 방지하기 위해 모든 기능은 해당 제한을 준수합니다. 이 옵션을 사용하면 특정 엔터티 유형에 대한 제한에 도달하고 새 엔터티를 생성하려고 시도하면 스크립트가 이전에 생성된 엔터티를 자동으로 교체할 수 있습니다.", + ["SETTINGS_ENTITY_REPLACE_TT"] = "이 프로젝트에는 생성할 수 있는 엔터티(보행자, 차량, 개체) 수에 제한이 있습니다. 엔터티 스팸이나 게임 질식을 방지하기 위해 모든 기능은 해당 제한을 준수합니다. 이 옵션을 사용하면 특정 엔터티 유형에 대한 제한에 도달하고 새 엔터티를 생성하려고 시도하면 스크립트가 이전에 생성된 엔터티를 자동으로 교체할 수 있습니다.", ["WARN_OBJ_SPAWN_LIMIT"] = "개체 생성 제한에 도달했습니다! 제한에 도달했을 때 이전 엔터티를 자동으로 교체하려면 설정 탭에서 '엔터티 자동 교체'를 활성화하는 것이 좋습니다.", ["INF_ATTACHMENT_NONE"] = "우리에게는 아무 것도 붙어 있지 않은 것 같습니다.", ["WARN_PED_SPAWN_LIMIT"] = "Ped 생성 제한에 도달했습니다! 제한에 도달했을 때 이전 엔터티를 자동으로 교체하려면 설정 탭에서 '엔터티 자동 교체'를 활성화하는 것이 좋습니다.", @@ -243,8 +241,7 @@ return { ["YRV3_SELL_MISSIONS_LABEL"] = "판매 임무", ["YRV3_SELL_MISSIONS_NOTIF"] = "가장 짜증나는 %s 판매 임무를 비활성화했습니다.", ["YRV3_SELL_MISSIONS_TT"] = "이 옵션은 저장되지 않습니다. 각 버튼은 해당 비즈니스에 대한 가장 지루한 판매 임무를 비활성화합니다.", - ["YRV3_SELL_MISSIONS_NOTE"] = - "[참고]: 동일한 비즈니스에 대해 두 번 이상 판매할 계획이라면 첫 번째 판매를 마친 후 세션을 전환하여 임무를 재설정하세요. 그렇지 않으면 두 번째 판매가 시작되지 않을 가능성이 높습니다.", + ["YRV3_SELL_MISSIONS_NOTE"] = "[참고]: 동일한 비즈니스에 대해 두 번 이상 판매할 계획이라면 첫 번째 판매를 마친 후 세션을 전환하여 임무를 재설정하세요. 그렇지 않으면 두 번째 판매가 시작되지 않을 가능성이 높습니다.", ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "산성 연구실", ["YRV3_HANGAR_LAND_ERR"] = "격납고 및 판매는 현재 지원되지 않습니다.", ["YRV3_AUTOSELL_HANGAR_LABEL"] = "격납고(항공 전용)", @@ -405,14 +402,12 @@ return { ["EF_SAVED_NONE"] = "저장된 창작물이 없습니다.", ["EF_IMPORT_SUCCESS"] = "데이터를 성공적으로 가져왔습니다.", ["EF_CHILD_ALPHA"] = "하위 항목 투명도: %d", - ["EF_SHARE_SUCCESS"] = - "저장된 창작물이 클립보드에 복사되었습니다. 복사된 데이터를 이 스크립트의 다른 사용자와 공유하면 해당 사용자는 해당 데이터를 저장된 생성 항목으로 가져올 수 있습니다.", + ["EF_SHARE_SUCCESS"] = "저장된 창작물이 클립보드에 복사되었습니다. 복사된 데이터를 이 스크립트의 다른 사용자와 공유하면 해당 사용자는 해당 데이터를 저장된 생성 항목으로 가져올 수 있습니다.", ["EF_ENTITY_GUN_TT"] = "게임 세계의 개체를 향해 무기를 조준하고 [E]를 눌러 해당 개체를 대장간 풀에 추가하세요. 추가한 후에는 마우스를 사용하여 이동하고 조작할 수 있습니다.", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "클립보드가 비어 있습니다!", ["GENERIC_APPLY"] = "적용하다", ["GENERIC_USE"] = "사용", - ["SELF_MAGIC_BULLET_TT"] = - "이 기능은 자동 조준이나 자동 발사를 지원하지 않습니다. 이는 단순히 마지막으로 겨냥한 페드를 기억하고 발사할 때 다른 곳에서 사격하더라도 샷을 해당 페드로 리디렉션합니다. 조준을 멈추면 대상이 재설정됩니다.", + ["SELF_MAGIC_BULLET_TT"] = "이 기능은 자동 조준이나 자동 발사를 지원하지 않습니다. 이는 단순히 마지막으로 겨냥한 페드를 기억하고 발사할 때 다른 곳에서 사격하더라도 샷을 해당 페드로 리디렉션합니다. 조준을 멈추면 대상이 재설정됩니다.", ["SELF_MAGIC_BULLET"] = "마법탄", ["GENERIC_GENERAL_LABEL"] = "일반적인", ["GENERIC_CLEAR"] = "분명한", @@ -494,5 +489,21 @@ return { ["YRV3_HELITOURS_LABEL"] = "히긴스 헬리투어", ["SELF_MC_BIKE_ANIMS_TT"] = "어떤 이유로 비활성화된 대체 자전거 타기 애니메이션을 복원합니다. 이러한 애니메이션이 작동하려면 MC로 등록하고 이 옵션을 활성화해야 합니다.", ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "불법 작업 쿨다운 비활성화", - ["YRV3_CWASH_LEGAL_WORK_CD"] = "법적 업무 쿨다운 비활성화" + ["YRV3_CWASH_LEGAL_WORK_CD"] = "법적 업무 쿨다운 비활성화", + ["SUBTAB_STANCER"] = "스탠서", + ["VEH_LAUNCH_CTRL_REALISTIC"] = "현실적", + ["VEH_LAUNCH_CTRL_RIDICULOUS"] = "말도 안 되는", + ["VEH_LAUNCH_CTRL_ERR"] = "지금은 발사 제어를 사용할 수 없습니다. 엔진이 손상되었습니다.", + ["VEH_STANCE_WHEEL_SIZE"] = "휠 크기", + ["VEH_STANCE_CAMBER"] = "캠버", + ["VEH_STANCE_TRACK_WIDTH"] = "트랙 폭", + ["VEH_STANCE_WHEEL_WIDTH"] = "휠 폭", + ["VEH_LAUNCH_CTRL_MODE"] = "발사 제어 모드", + ["VEH_STANCE_FRONT_AXLE"] = "프론트 액슬", + ["VEH_STANCE_REAR_AXLE"] = "후방 차축", + ["VEH_STANCE_NON_STOCK"] = "이 옵션에는 재고가 없는 바퀴가 필요합니다.", + ["VEH_STANCE_INCOMPATIBLE"] = "이 옵션은 현재 차량과 호환되지 않습니다.", + ["VEH_STANCE_RIDE_HEIGHT"] = "탑승 높이", + ["VEH_STANCE_GEN_OPTIONS"] = "일반 옵션", + ["VEH_STANCE_COPY_FB"] = "앞에서 뒤로 복사" } diff --git a/includes/lib/translations/pl-PL.lua b/includes/lib/translations/pl-PL.lua index 218b860..e3c2b7c 100644 --- a/includes/lib/translations/pl-PL.lua +++ b/includes/lib/translations/pl-PL.lua @@ -27,16 +27,14 @@ return { ["VEH_NO_TURBULENCE"] = "Niepełnosprawna turbulencja powietrza", ["VEH_NO_JET_STALL"] = "Wyłącz zgaśnięcie silnika", ["VEH_FAST_JETS"] = "Szybkie samoloty", - ["VEH_FAST_JETS_TT"] = - "Sprawia, że ​​większość samolotów jest szybsza, o ile domyślnie mogą osiągnąć 240 km/h, ich maksymalna prędkość zostanie zwiększona do 555 km/h.\n\nWolniejsze samoloty, takie jak prochowiec, nie odniosą z tego korzyści, chyba że na siłę zmusisz je do osiągnięcia progu prędkości przez nurkowanie z nosem.\n\nUWAGA: Twoje wyposażenie (koła samolotu) musi być podniesione.", + ["VEH_FAST_JETS_TT"] = "Sprawia, że ​​większość samolotów jest szybsza, o ile domyślnie mogą osiągnąć 240 km/h, ich maksymalna prędkość zostanie zwiększona do 555 km/h.\n\nWolniejsze samoloty, takie jak prochowiec, nie odniosą z tego korzyści, chyba że na siłę zmusisz je do osiągnięcia progu prędkości przez nurkowanie z nosem.\n\nUWAGA: Twoje wyposażenie (koła samolotu) musi być podniesione.", ["VEH_MG_TRIGGERBOT_TT"] = "Automatycznie strzela z karabinu maszynowego twojego samolotu.", ["VEH_MG_TRIGGERBOT_ENEMY_TT"] = "Bot spustowy karabinu maszynowego strzela tylko do wrogów.", ["VEH_MG_TRIGGERBOT_ENEMY"] = "Tylko wrogowie", ["VEH_MG_TRIGGERBOT"] = "Robot spustowy karabinu maszynowego", ["VEH_MG_MARKER_SIZE"] = "Rozmiar znacznika ręcznego celowania", ["VEH_MG_MANUAL_AIM"] = "Celowanie ręczne z karabinu maszynowego", - ["VEH_FLARES_TT"] = - "Umożliwia wystrzelenie flar z dowolnego samolotu za pomocą domyślnego przycisku środków zaradczych.", + ["VEH_FLARES_TT"] = "Umożliwia wystrzelenie flar z dowolnego samolotu za pomocą domyślnego przycisku środków zaradczych.", ["VEH_MG_TRIGGERBOT_RANGE"] = "Zasięg Triggerbota", ["VEH_MG_MANUAL_AIM_TT"] = "Umożliwia ręczne wycelowanie karabinu maszynowego samolotu.", ["VEH_AUTOPILOT"] = "Autopilot", @@ -47,8 +45,7 @@ return { ["VEH_MG_MARKER_COL"] = "Kolor znacznika ręcznego celowania", ["WRLD_DISABLE_WAVES"] = "Wyłącz fale oceaniczne", ["WRLD_WANTED_MUSIC"] = "Wyłącz poszukiwaną muzykę", - ["WRLD_HNS_TT"] = - "Umożliwia ukrycie się wewnątrz pojazdów, bagażników samochodowych czy koszy na śmieci. Jeśli masz poziom poszukiwanego, policja cię straci, o ile będziesz się ukrywać, zanim zostaniesz wykryty.", + ["WRLD_HNS_TT"] = "Umożliwia ukrycie się wewnątrz pojazdów, bagażników samochodowych czy koszy na śmieci. Jeśli masz poziom poszukiwanego, policja cię straci, o ile będziesz się ukrywać, zanim zostaniesz wykryty.", ["WRLD_EXTEND_BOUNDS_TT"] = "Umożliwia podróżowanie dalej w świat w dowolnym kierunku.", ["WRLD_HNS"] = "Ukryj i szukaj", ["VEH_SEAT_NEXT"] = "Następne miejsce", @@ -57,8 +54,7 @@ return { ["FLTBD_SHOW_TOWBOX_CB"] = "Pudełko ESP", ["FLTBD_MAIN_CB"] = "Włącz skrypt", ["FLTBD_TOWING_TXT"] = "Pojazd holowany:", - ["YAV3_STOP_BTN_HINT"] = - "WSKAZÓWKA: Możesz nacisnąć %s, aby zatrzymać jakąkolwiek akcję lub przytrzymać go przez jedną sekundę, aby wszystko wyczyścić.", + ["YAV3_STOP_BTN_HINT"] = "WSKAZÓWKA: Możesz nacisnąć %s, aby zatrzymać jakąkolwiek akcję lub przytrzymać go przez jedną sekundę, aby wszystko wyczyścić.", ["WRLD_CARPOOL_TT"] = "Umożliwia wsiadanie do pojazdów NPC jako pasażer.", ["FLTBD_SHOW_TOWBOX_TT"] = "Rysuje ramkę esp wokół docelowego pojazdu.", ["FLTBD_SHOW_TOWPOS_TT"] = "Oznacza pozycję, w której skrypt wykrywa pobliskie pojazdy.", @@ -73,28 +69,21 @@ return { ["FLTBD_EXIT_VEH_ERR"] = "Najpierw wyjdź ze swojego obecnego pojazdu.", ["SETTINGS_ENTITY_REPLACE"] = "Automatyczna zamiana elementów", ["FLTBD_NEARBY_VEH_TXT"] = "Najbliższy pojazd:", - ["FTLBD_GET_IN_MSG"] = - "Obecnie nie znajdujesz się w ciężarówce z platformą. Możesz ukraść jednego z ulicy lub użyć przycisku poniżej, aby stworzyć nowy.", + ["FTLBD_GET_IN_MSG"] = "Obecnie nie znajdujesz się w ciężarówce z platformą. Możesz ukraść jednego z ulicy lub użyć przycisku poniżej, aby stworzyć nowy.", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Opcjonalnie: wybierz elementy konfiguracji, które chcesz zachować.", - ["FLTBD_TOW_ALL_TT"] = - "Domyślnie ciężarówka holuje tylko samochody osobowe, ciężarówki i rowery. Ta opcja usuwa to ograniczenie.", - ["SETTINGS_ENTITY_REPLACE_TT"] = - "Ten projekt ma ograniczenie liczby bytów, które możesz odrodzić (pedałki, pojazdy, obiekty). Wszystkie funkcje mieszczą się w tym limicie, aby zapobiec spamowaniu przez jednostki lub zadławieniu gry. Ta opcja umożliwia skryptowi automatyczne zastępowanie starych, spawnowanych obiektów, gdy osiągniesz limit dla określonego typu bytów i spróbujesz odrodzić nowe.", + ["FLTBD_TOW_ALL_TT"] = "Domyślnie ciężarówka holuje tylko samochody osobowe, ciężarówki i rowery. Ta opcja usuwa to ograniczenie.", + ["SETTINGS_ENTITY_REPLACE_TT"] = "Ten projekt ma ograniczenie liczby bytów, które możesz odrodzić (pedałki, pojazdy, obiekty). Wszystkie funkcje mieszczą się w tym limicie, aby zapobiec spamowaniu przez jednostki lub zadławieniu gry. Ta opcja umożliwia skryptowi automatyczne zastępowanie starych, spawnowanych obiektów, gdy osiągniesz limit dla określonego typu bytów i spróbujesz odrodzić nowe.", ["SETTINGS_CFG_RESET"] = "Zresetuj zapisaną konfigurację", ["GENERIC_UNAVAILABLE"] = "Obecnie niedostępne.", ["GENERIC_COLORS_LABEL"] = "Zabarwienie", - ["WARN_VEH_SPAWN_LIMIT"] = - "Osiągnięto limit pojawiania się pojazdów! Rozważ włączenie opcji „Automatyczna zamiana elementów” na karcie Ustawienia, jeśli chcesz automatycznie zastępować stare elementy po osiągnięciu limitu.", + ["WARN_VEH_SPAWN_LIMIT"] = "Osiągnięto limit pojawiania się pojazdów! Rozważ włączenie opcji „Automatyczna zamiana elementów” na karcie Ustawienia, jeśli chcesz automatycznie zastępować stare elementy po osiągnięciu limitu.", ["GENERIC_POSITION_LABEL"] = "Pozycja", ["INF_ATTACHMENT_NONE"] = "Wygląda na to, że nic nas nie łączy.", - ["GENERIC_OFFLINE_OR_OUTDATED"] = - "Aby uzyskać dostęp do tej funkcji, musisz być online i mieć najnowszą wersję skryptu!", + ["GENERIC_OFFLINE_OR_OUTDATED"] = "Aby uzyskać dostęp do tej funkcji, musisz być online i mieć najnowszą wersję skryptu!", ["GENERIC_CANCEL"] = "Anulować", - ["WARN_OBJ_SPAWN_LIMIT"] = - "Osiągnięto limit pojawiania się obiektów! Rozważ włączenie opcji „Automatyczna zamiana elementów” na karcie Ustawienia, jeśli chcesz automatycznie zastępować stare elementy po osiągnięciu limitu.", + ["WARN_OBJ_SPAWN_LIMIT"] = "Osiągnięto limit pojawiania się obiektów! Rozważ włączenie opcji „Automatyczna zamiana elementów” na karcie Ustawienia, jeśli chcesz automatycznie zastępować stare elementy po osiągnięciu limitu.", ["GENERIC_CONFIRM"] = "Potwierdzać", - ["WARN_PED_SPAWN_LIMIT"] = - "Osiągnięto limit pojawiania się pedałów! Rozważ włączenie opcji „Automatyczna zamiana elementów” na karcie Ustawienia, jeśli chcesz automatycznie zastępować stare elementy po osiągnięciu limitu.", + ["WARN_PED_SPAWN_LIMIT"] = "Osiągnięto limit pojawiania się pedałów! Rozważ włączenie opcji „Automatyczna zamiana elementów” na karcie Ustawienia, jeśli chcesz automatycznie zastępować stare elementy po osiągnięciu limitu.", ["GENERIC_LEFT_RIGHT_LABEL"] = "Lewo/Prawo", ["INF_ATTACHMENT_DROP"] = "Załączniki zostały usunięte.", ["GENERIC_UP_DOWN_LABEL"] = "Góra/dół", @@ -235,8 +224,7 @@ return { ["YRV3_CLUB_WORK_CB"] = "Praca klubu motocyklowego", ["YRV3_SAFECASH_TOTAL"] = "Suma gotówki we wszystkich sejfach", ["YRV3_NC_CHANCE_ENCOUNTER_CB"] = "Zawsze sprawiający kłopoty", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = - "Zawsze powoduje pojawienie się kłopotliwych misji w nocnym klubie i blokuje niewykonane misje VIP.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Zawsze powoduje pojawienie się kłopotliwych misji w nocnym klubie i blokuje niewykonane misje VIP.", ["YRV3_CEO_SELL_CB"] = "Sprzedam skrzynię dyrektorską", ["YRV3_DAX_WORK_CB"] = "Praca Daxa", ["YRV3_HACKER_DEN_CD_CB"] = "Akta fabryki odzieży", @@ -251,36 +239,29 @@ return { ["YRV3_AUTOSELL_BUNKER_LABEL"] = "Bunkier", ["YRV3_SELL_MISSIONS_NOTIF"] = "Wyłączono najbardziej irytujące misje sprzedaży %s.", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Uwaga: obsługiwane są tylko te firmy:", - ["YRV3_SEXY_SHINABI_NOTICE"] = - "Zamiast tego użyj skryptu Payphone Hits ShinyWasabi.\nNaciśnij [TAB], aby skopiować łącze GitHub.", - ["YRV3_SELL_MISSIONS_TT"] = - "Opcje te nie zostaną zapisane. Każdy przycisk wyłącza najbardziej żmudne misje sprzedaży dla tej firmy.", - ["YRV3_SELL_MISSIONS_NOTE"] = - "[UWAGA]: Jeśli planujesz sprzedawać więcej niż raz dla tej samej firmy, zmień sesje po zakończeniu pierwszej sprzedaży, aby zresetować misje, w przeciwnym razie druga najprawdopodobniej nie rozpocznie się.", + ["YRV3_SEXY_SHINABI_NOTICE"] = "Zamiast tego użyj skryptu Payphone Hits ShinyWasabi.\nNaciśnij [TAB], aby skopiować łącze GitHub.", + ["YRV3_SELL_MISSIONS_TT"] = "Opcje te nie zostaną zapisane. Każdy przycisk wyłącza najbardziej żmudne misje sprzedaży dla tej firmy.", + ["YRV3_SELL_MISSIONS_NOTE"] = "[UWAGA]: Jeśli planujesz sprzedawać więcej niż raz dla tej samej firmy, zmień sesje po zakończeniu pierwszej sprzedaży, aby zresetować misje, w przeciwnym razie druga najprawdopodobniej nie rozpocznie się.", ["YRV3_AUTOSELL_CEO_LABEL"] = "Dyrektor Magazynów", ["YRV3_AUTOSELL_HANGAR_LABEL"] = "Hangar (tylko powietrze)", ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "Laboratorium Kwasowe", ["YRV3_AUTOSELL_CURRENT"] = "Obecnie sprzedaje: %s", - ["YRV3_AUTOSELL_TT"] = - "Automatycznie kończy misję sprzedaży 20 sekund po jej rozpoczęciu. Nie wymaga interakcji z niczym innym niż rozpoczęcie misji.", + ["YRV3_AUTOSELL_TT"] = "Automatycznie kończy misję sprzedaży 20 sekund po jej rozpoczęciu. Nie wymaga interakcji z niczym innym niż rozpoczęcie misji.", ["YRV3_MCT_UNAVAIL"] = "Główny terminal sterujący jest obecnie niedostępny.", ["YRV3_AUTOSELL_BIKER_LABEL"] = "Firmy motocyklowe", ["YRV3_MCT_TITLE"] = "Główny terminal sterujący", ["YRV3_AUTO_FILL_DELAY"] = "Globalne opóźnienie automatycznego wypełniania:", ["YRV3_AUTO_SELL_MANUAL"] = "Ręcznie Zakończ sprzedaż", ["SELF_PHONE_ANIMS"] = "Włącz animacje telefonu", - ["SELF_HEADPROPS_TT"] = - "Zapobiega zdejmowaniu przez grę nakrycia głowy (czapki, hełmy, długie nakrycia głowy itp.) podczas wchodzenia do pojazdu.", + ["SELF_HEADPROPS_TT"] = "Zapobiega zdejmowaniu przez grę nakrycia głowy (czapki, hełmy, długie nakrycia głowy itp.) podczas wchodzenia do pojazdu.", ["YRV3_INCOME_APPROX_ALL_TT"] = "Przejdź między wszystkimi kartami, aby zaktualizować łączną kwotę.", ["SELF_ACTION_MODE_TT"] = "Wyłącza niepewne ruchy gracza podczas walki.", ["SELF_ACTION_MODE"] = "Wyłącz tryb akcji", ["SELF_STAND_ON_VEHS"] = "Stań na pojazdach", ["SELF_CROUCH"] = "Kucanie", - ["SELF_NO_CARJACKING_TT"] = - "Uniemożliwia NPC-om kradzież samochodu. Powinno to również zapobiegać graczom (nie testowano przeciwko graczom).", + ["SELF_NO_CARJACKING_TT"] = "Uniemożliwia NPC-om kradzież samochodu. Powinno to również zapobiegać graczom (nie testowano przeciwko graczom).", ["SELF_NO_CARJACKING"] = "Żadnych kradzieży samochodów", - ["SELF_STAND_ON_VEHS_TT"] = - "Zapobiega ragdollingowi, gdy stoisz na dachu pojazdu (nadal upadniesz, jeśli w coś uderzysz).", + ["SELF_STAND_ON_VEHS_TT"] = "Zapobiega ragdollingowi, gdy stoisz na dachu pojazdu (nadal upadniesz, jeśli w coś uderzysz).", ["SELF_CROUCH_TT"] = "Sprawia, że ​​kucasz po naciśnięciu przycisku ukrywania się, podobnie jak w GTA San Andreas.", ["SELF_HANDS_UP"] = "Ręce do góry", ["SELF_SPRINT_INSIDE"] = "Wnętrza Sprintu", @@ -288,8 +269,7 @@ return { ["SELF_HANDS_UP_TT"] = "Zastępuje akcję „Wskaż” w GTA Online (domyślnie [B] na klawiaturze) animacją poddania się.", ["SELF_SPRINT_INSIDE_TT"] = "Umożliwia bieganie z pełną prędkością w większości wnętrz (nie we wszystkich).", ["SELF_CLUMSY"] = "Niezdarny", - ["SELF_LOCKPICK_ANIM_TT"] = - "Zwiększa szansę na wykorzystanie animacji otwierania zamków podczas kradzieży pojazdów zamiast rozbijania szyby.", + ["SELF_LOCKPICK_ANIM_TT"] = "Zwiększa szansę na wykorzystanie animacji otwierania zamków podczas kradzieży pojazdów zamiast rozbijania szyby.", ["SELF_PHONE_ANIMS_TT"] = "Przywraca animacje telefonu komórkowego w GTA Online.", ["SELF_REGEN_SPEED"] = "Szybkość regeneracji zdrowia", ["SELF_HEADPROPS"] = "Zezwalaj na podpórki pod głowę w pojazdach", @@ -310,40 +290,31 @@ return { ["VEH_SUBWOOFER"] = "Duży subwoofer", ["VEH_HIGH_BEAMS"] = "Wysokie światła na klaksonie", ["VEH_POPS_N_BANGS"] = "Popy i huki", - ["VEH_NOS_PURGE_TT"] = - "Naciśnij przypisany klawisz (domyślnie [X]), aby wykonać czyszczenie NOS w stylu 2Fast 2Furious.", + ["VEH_NOS_PURGE_TT"] = "Naciśnij przypisany klawisz (domyślnie [X]), aby wykonać czyszczenie NOS w stylu 2Fast 2Furious.", ["VEH_SUBWOOFER_TT"] = "Sprawia, że ​​głośniki pojazdu brzmią nieco głośniej i mają głębsze basy.", ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Włącza światła stopu za każdym razem, gdy się zatrzymasz. (Silnik musi pracować).", ["VEH_ABS_LIGHTS"] = "Wyświetlacz siły hamowania", - ["VEH_POPS_N_BANGS_TT"] = - "Włącza głośne trzaski z rury wydechowej, które pojawiają się po każdym puszczeniu pedału przyspieszenia przy wysokich obrotach. PS: To przeraża pobliskich NPC-ów.", + ["VEH_POPS_N_BANGS_TT"] = "Włącza głośne trzaski z rury wydechowej, które pojawiają się po każdym puszczeniu pedału przyspieszenia przy wysokich obrotach. PS: To przeraża pobliskich NPC-ów.", ["VEH_HIGH_BEAMS_TT"] = "Włącza światła drogowe za każdym razem, gdy trąbisz klaksonem", ["VEH_FAST_AF_TT"] = "Zwiększa prędkość maksymalną dowolnego pojazdu lądowego, którym jeździsz.", ["SELF_RAGDOLL_BLOCK_INFO"] = "Ta funkcja nie będzie działać, jeśli blokujesz ragdoll.", - ["VEH_ABS_LIGHTS_TT"] = - "Miga światłami stopu podczas hamowania z dużej prędkości. Tylko do pojazdów wyposażonych w ABS.", - ["VEH_STRONG_WINDOWS_TT"] = - "Szyby w Twoim pojeździe nigdy się nie stłuczą. O ile oczywiście nie zostanie wysadzony w powietrze.", + ["VEH_ABS_LIGHTS_TT"] = "Miga światłami stopu podczas hamowania z dużej prędkości. Tylko do pojazdów wyposażonych w ABS.", + ["VEH_STRONG_WINDOWS_TT"] = "Szyby w Twoim pojeździe nigdy się nie stłuczą. O ile oczywiście nie zostanie wysadzony w powietrze.", ["VEH_FLAPPY_DOORS"] = "Drzwi Flapowe", ["VEH_RGB_LIGHTS"] = "Reflektory RGB", ["VEH_STRONG_WINDOWS"] = "Niezniszczalne okna", ["VEH_FLAPPY_DOORS_TT"] = "Nie mam pojęcia, dlaczego to zrobiłem.", - ["VEH_STRONG_CRASH_TT"] = - "Sprawia, że ​​awarie są bardziej przerażające z powodu drgań kamery, efektów ekranowych, większej deformacji i uszkodzeń. Kolizje przy dużej prędkości mogą być śmiertelne.", - ["VEH_RGB_LIGHTS_TT"] = - "Uruchamia pętlę RGB w reflektorach pojazdu. Możesz dostosować prędkość w dolnej części tego okna.", + ["VEH_STRONG_CRASH_TT"] = "Sprawia, że ​​awarie są bardziej przerażające z powodu drgań kamery, efektów ekranowych, większej deformacji i uszkodzeń. Kolizje przy dużej prędkości mogą być śmiertelne.", + ["VEH_RGB_LIGHTS_TT"] = "Uruchamia pętlę RGB w reflektorach pojazdu. Możesz dostosować prędkość w dolnej części tego okna.", ["VEH_KEEP_WHEELS_TURNED"] = "Trzymaj koła skręcone", ["VEH_STRONG_CRASH"] = "Silniejsze awarie", ["VEH_LAUNCH_CTRL_TT"] = "Symuluje kontrolę startu. Dostępne tylko dla samochodów wyczynowych.", ["VEH_LAUNCH_CTRL"] = "Uruchom kontrolę", - ["VEH_IV_EXIT_TT"] = - "Naśladuje styl opuszczania pojazdu z GTA IV: Przytrzymaj [F] przez jedną sekundę, aby wyłączyć silnik, lub naciśnij normalnie, aby pozostawić włączony.", + ["VEH_IV_EXIT_TT"] = "Naśladuje styl opuszczania pojazdu z GTA IV: Przytrzymaj [F] przez jedną sekundę, aby wyłączyć silnik, lub naciśnij normalnie, aby pozostawić włączony.", ["VEH_MINES"] = "Kopalnie pojazdów", ["VEH_AUTO_LOCK"] = "Automatyczna blokada", - ["VEH_AUTO_LOCK_TT"] = - "Automatycznie blokuje pojazd, gdy się od niego oddalisz i odblokowuje go ponownie, gdy spróbujesz ponownie wejść lub przełączyć się na inny pojazd.", - ["VEH_KEEP_WHEELS_TURNED_TT"] = - "Uniemożliwia Twojej postaci gracza ponowne wycentrowanie kół podczas wychodzenia z pojazdu, teleportując Cię na zewnątrz.", + ["VEH_AUTO_LOCK_TT"] = "Automatycznie blokuje pojazd, gdy się od niego oddalisz i odblokowuje go ponownie, gdy spróbujesz ponownie wejść lub przełączyć się na inny pojazd.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = "Uniemożliwia Twojej postaci gracza ponowne wycentrowanie kół podczas wychodzenia z pojazdu, teleportując Cię na zewnątrz.", ["VEH_SPEED_BG"] = "Tło", ["VEH_SPEED_CIRCLE"] = "Koło", ["VEH_MINES_TT"] = "Umożliwia zrzucenie miny z dowolnego pojazdu lądowego.", @@ -381,8 +352,7 @@ return { ["VEH_PAINT_MATTE_TT"] = "Nakłada lub usuwa matowe wykończenie wybranego zadania malowania.", ["VEH_PAINT_MATTE_CB"] = "Kolor matowy", ["VEH_PAINT_NOT_SELECTED_ERR"] = "Proszę wybrać podstawowy, dodatkowy lub oba.", - ["VEH_PAINT_SAVE_TT"] = - "Aby zapisać ten kolor w pojeździe osobistym, udaj się do modshopu i kup coś w rodzaju przyciemniacza szyb, wzoru tabliczki lub czegokolwiek innego.", + ["VEH_PAINT_SAVE_TT"] = "Aby zapisać ten kolor w pojeździe osobistym, udaj się do modshopu i kup coś w rodzaju przyciemniacza szyb, wzoru tabliczki lub czegokolwiek innego.", ["VEH_PAINT_SECONDARY_CB"] = "Jako drugorzędne", ["VEH_PAINT_PRIMARY_CB"] = "Jako podstawowy", ["GENERIC_CARS_ONLY"] = "Ta funkcja jest kompatybilna tylko z samochodami osobowymi i ciężarówkami.", @@ -428,34 +398,27 @@ return { ["EF_ENTITY_GUN"] = "Pistolet Istoty", ["EF_MULTIPLIER_LABEL"] = "Mnożnik %.2f", ["EF_MOVE_OBJECT"] = "Przesuń obiekt:", - ["EF_ENTITY_GUN_TT"] = - "Wyceluj swoją bronią w istotę w świecie gry i naciśnij [E], aby dodać ją do puli kuźni. Po dodaniu będziesz mógł używać myszy do poruszania się i manipulowania nim.", - ["EF_IMPORT_DATA_NOTICE"] = - "Masz dzieło o tej samej nazwie. Do nazwy dodano znacznik [import]. Nadal możesz zmienić jego nazwę później.", + ["EF_ENTITY_GUN_TT"] = "Wyceluj swoją bronią w istotę w świecie gry i naciśnij [E], aby dodać ją do puli kuźni. Po dodaniu będziesz mógł używać myszy do poruszania się i manipulowania nim.", + ["EF_IMPORT_DATA_NOTICE"] = "Masz dzieło o tej samej nazwie. Do nazwy dodano znacznik [import]. Nadal możesz zmienić jego nazwę później.", ["EF_IMPORT_SUCCESS"] = "Dane zostały pomyślnie zaimportowane.", ["EF_IMPORT_DATA_CLIPBOARD"] = "Wklej ze schowka", ["EF_CHILD_ALPHA"] = "Przezroczystość elementu podrzędnego: %d", - ["EF_SHARE_SUCCESS"] = - "Twoje zapisane dzieło zostało skopiowane do schowka. Jeśli udostępnisz skopiowane dane innym użytkownikom tego skryptu, będą oni mogli zaimportować je do swoich zapisanych dzieł.", + ["EF_SHARE_SUCCESS"] = "Twoje zapisane dzieło zostało skopiowane do schowka. Jeśli udostępnisz skopiowane dane innym użytkownikom tego skryptu, będą oni mogli zaimportować je do swoich zapisanych dzieł.", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "Twój schowek jest pusty!", ["GENERIC_APPLY"] = "Stosować", ["GENERIC_USE"] = "Używać", ["SELF_MAGIC_BULLET"] = "Magiczny Pocisk", - ["SELF_MAGIC_BULLET_TT"] = - "Ta funkcja nie umożliwia automatycznego celowania ani automatycznego strzelania. Po prostu zapamiętuje ostatni punkt, w który celowałeś i przekierowuje twój strzał na ten punkt, kiedy strzelasz, nawet jeśli strzelasz gdzie indziej. Cel resetuje się, gdy przestajesz celować.", + ["SELF_MAGIC_BULLET_TT"] = "Ta funkcja nie umożliwia automatycznego celowania ani automatycznego strzelania. Po prostu zapamiętuje ostatni punkt, w który celowałeś i przekierowuje twój strzał na ten punkt, kiedy strzelasz, nawet jeśli strzelasz gdzie indziej. Cel resetuje się, gdy przestajesz celować.", ["GENERIC_CLEAR"] = "Jasne", ["GENERIC_GENERAL_LABEL"] = "Ogólny", ["SUBTAB_GUI"] = "Interfejs użytkownika", ["SUBTAB_HANDLING_EDITOR"] = "Edytor obsługi", ["SELF_LASER_SIGHTS"] = "Celowniki laserowe", - ["SELF_LASER_SIGHTS_TT"] = - "Włącza celowniki laserowe w broni palnej. Możesz włączać i wyłączać celowniki, naciskając [%s]", - ["VEH_FORCE_NO_TC_TT"] = - "Tylko rowery: powoduje, że pojazd nie ma kontroli trakcji, co pozwala na pokonywanie driftów i poślizgów z rowerami.", + ["SELF_LASER_SIGHTS_TT"] = "Włącza celowniki laserowe w broni palnej. Możesz włączać i wyłączać celowniki, naciskając [%s]", + ["VEH_FORCE_NO_TC_TT"] = "Tylko rowery: powoduje, że pojazd nie ma kontroli trakcji, co pozwala na pokonywanie driftów i poślizgów z rowerami.", ["VEH_RALLY_TYRES_TT"] = "Wyposaża Twój pojazd w opony rajdowe, które dodatkowo poprawiają prowadzenie w terenie.", ["VEH_NO_ENGINE_BRAKE_TT"] = "Umożliwia jazdę bez naciskania pedału przyspieszenia bez utraty dużej prędkości.", - ["VEH_KERS_BOOST_TT"] = - "Wyposaża Twój pojazd we wspomaganie KERS (system odzyskiwania energii kinetycznej), podobne do samochodów F1.", + ["VEH_KERS_BOOST_TT"] = "Wyposaża Twój pojazd we wspomaganie KERS (system odzyskiwania energii kinetycznej), podobne do samochodów F1.", ["VEH_RALLY_TYRES"] = "Opony rajdowe", ["SELF_LASER_SIGHTS_LENGTH"] = "Długość promienia lasera", ["VEH_OFFROAD_ABILITIES"] = "Zdolności terenowe", @@ -464,15 +427,13 @@ return { ["SELF_LASER_SIGHTS_COL"] = "Kolor laserowy", ["VEH_KERS_BOOST"] = "Wzmocnienie KERS", ["VEH_OFFROAD_ABILITIES_TT"] = "Zwiększa możliwości terenowe Twojego pojazdu.", - ["VEH_LOW_SPEED_WHEELIE_TT"] = - "Tylko rowery: umożliwia jazdę na kółkach przy bardzo małych prędkościach, podobnie jak w przypadku „Mancheza”.", + ["VEH_LOW_SPEED_WHEELIE_TT"] = "Tylko rowery: umożliwia jazdę na kółkach przy bardzo małych prędkościach, podobnie jak w przypadku „Mancheza”.", ["VEH_ROCKET_BOOST"] = "Wzmocnienie rakiety", ["VEH_LOW_SPEED_WHEELIE"] = "Jazda na kółkach przy niskiej prędkości", ["VEH_JUMP_TT"] = "Wyposaża Twój pojazd w możliwość skoku, podobnie jak „Ruiner 2000”.", ["VEH_ROCKET_BOOST_TT"] = "Wyposaża Twój pojazd w doładowanie rakietowe, podobne do „Vigilante”.", ["SETTINGS_LANGUAGE"] = "Język", - ["VEH_PARACHUTE_TT"] = - "Wyposaża twój pojazd w spadochron, podobny do „Ruiner 2000”.\n\nWażne: musi być również włączona możliwość skoku.", + ["VEH_PARACHUTE_TT"] = "Wyposaża twój pojazd w spadochron, podobny do „Ruiner 2000”.\n\nWażne: musi być również włączona możliwość skoku.", ["VEH_STEER_ALL_WHEELS"] = "Sterowanie wszystkimi kołami", ["VEH_PARACHUTE"] = "Możliwość spadochronu", ["VEH_STEER_REAR_WHEELS"] = "Sterowanie tylnym kołem", @@ -480,8 +441,7 @@ return { ["SETTING_WINDOW_MOVEABLE"] = "Ruchome okno", ["VEH_STEER_HANDBRAKE"] = "Sterowanie hamulcem ręcznym", ["VEH_JUMP"] = "Możliwość skoku", - ["VEH_STEER_HANDBRAKE_TT"] = - "Steruje tylnymi kołami pojazdu, gdy trzymasz hamulec ręczny, podobnie jak samochody-potwory.", + ["VEH_STEER_HANDBRAKE_TT"] = "Steruje tylnymi kołami pojazdu, gdy trzymasz hamulec ręczny, podobnie jak samochody-potwory.", ["SETTING_WINDOW_POS_SNAP"] = "Przyciągaj do pozycji", ["SETTINGS_TOOLTIPS"] = "Wyłącz podpowiedzi", ["SETTINGS_UI_SOUND"] = "Wyłącz informację dźwiękową", @@ -492,13 +452,11 @@ return { ["SETTING_WINDOW_THEME"] = "Temat", ["SETTING_WINDOW_STYLE"] = "Styl okna", ["SETTING_WINDOW_WIDTH"] = "Szerokość okna", - ["SETTING_WINDOW_HEIGHT_TT"] = - "Okno jest dynamiczne, zmienia rozmiar w pionie w zależności od zawartości.\n\nTa opcja pozwala ustawić maksymalną dozwoloną wysokość.", + ["SETTING_WINDOW_HEIGHT_TT"] = "Okno jest dynamiczne, zmienia rozmiar w pionie w zależności od zawartości.\n\nTa opcja pozwala ustawić maksymalną dozwoloną wysokość.", ["SETTING_WINDOW_ACCENT_COL"] = "Kolor akcentujący", ["SETTING_WINDOW_HEIGHT"] = "Maksymalna wysokość okna", ["SETTING_WINDOW_ALPHA"] = "Przezroczystość okna", - ["SETTING_WINDOW_POS_TT"] = - "Są to tylko wyświetlacze. Włącz opcję „Ruchome okno”, a następnie przeciągnij górny pasek, aby swobodnie przesuwać okno.", + ["SETTING_WINDOW_POS_TT"] = "Są to tylko wyświetlacze. Włącz opcję „Ruchome okno”, a następnie przeciągnij górny pasek, aby swobodnie przesuwać okno.", ["SETTINGS_KEYBINDS_CONTROLLER"] = "Kontroler", ["SETTINGS_KEYBINDS_KEYBOARD"] = "Klawiatura", ["SETTING_WINDOW_TOP_FRAME_BG"] = "Gradient przycisku górnego paska", @@ -513,16 +471,13 @@ return { ["SELF_KATANA_TT"] = "Zastępuje jeden z czterech wybranych modeli broni białej kataną.", ["WRLD_FLEE_ALL"] = "Przestrasz wszystkich wrogów", ["WRLD_FLEE_ALL_NOTIF"] = "Zmuszanie pobliskich wrogów do ucieczki. Proszę czekać.", - ["WRLD_FLEE_ALL_TT"] = - "Działa w pętli trwającej 5 sekund: Zmusza wszystkich znajdujących się w pobliżu wrogów do opuszczenia broni i ucieczki z obszaru.", + ["WRLD_FLEE_ALL_TT"] = "Działa w pętli trwającej 5 sekund: Zmusza wszystkich znajdujących się w pobliżu wrogów do opuszczenia broni i ucieczki z obszaru.", ["WRLD_KILL_ALL_NOTIF"] = "Wykonano „Zabij wszystkich wrogów”", - ["WRLD_PUBLIC_ENEMY_TT"] = - "Wszyscy pobliscy NPC złożą się na ciebie i skopią ci tyłek. Włącznie ze zwierzętami i policjantami.", + ["WRLD_PUBLIC_ENEMY_TT"] = "Wszyscy pobliscy NPC złożą się na ciebie i skopią ci tyłek. Włącznie ze zwierzętami i policjantami.", ["WRLD_PUBLIC_ENEMY"] = "Wróg publiczny nr 1", ["GENERIC_IMPORTANT"] = "Ważny", ["SETTING_HOTKEY_FOUND"] = "Nowy klucz:", - ["GUI_NEW_LAYOUT_NOTICE"] = - "Interfejs użytkownika skryptu jest teraz niezależny od menu. Naciśnij %s, aby to przełączyć.", + ["GUI_NEW_LAYOUT_NOTICE"] = "Interfejs użytkownika skryptu jest teraz niezależny od menu. Naciśnij %s, aby to przełączyć.", ["YRV3_CWASH_LABEL"] = "Myjnia samochodowa", ["YRV3_CWASH_CASH_DIRTY"] = "Brudny:", ["YRV3_CWASH_NOT_OWNED"] = "Nie jesteś właścicielem myjni samochodowej.", @@ -532,8 +487,23 @@ return { ["SELF_MC_BIKE_ANIMS"] = "Włącz styl jazdy MC", ["YRV3_WEED_SHOP_LABEL"] = "Sklep z chwastami", ["YRV3_CWASH_WORK_EARNINGS"] = "Zarobki w pracy:", - ["SELF_MC_BIKE_ANIMS_TT"] = - "Przywraca alternatywne animacje jazdy na rowerze, które z jakiegoś powodu zostały wyłączone. Aby te animacje działały, musisz być zarejestrowany jako MC i mieć włączoną tę opcję.", + ["SELF_MC_BIKE_ANIMS_TT"] = "Przywraca alternatywne animacje jazdy na rowerze, które z jakiegoś powodu zostały wyłączone. Aby te animacje działały, musisz być zarejestrowany jako MC i mieć włączoną tę opcję.", ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Wyłącz czas odnowienia nielegalnej pracy", - ["YRV3_CWASH_LEGAL_WORK_CD"] = "Wyłącz czas odnowienia legalnej pracy" + ["YRV3_CWASH_LEGAL_WORK_CD"] = "Wyłącz czas odnowienia legalnej pracy", + ["VEH_LAUNCH_CTRL_REALISTIC"] = "Realistyczny", + ["VEH_LAUNCH_CTRL_RIDICULOUS"] = "Śmieszny", + ["VEH_STANCE_CAMBER"] = "Wygięcie", + ["VEH_LAUNCH_CTRL_MODE"] = "Uruchom tryb sterowania", + ["SUBTAB_STANCER"] = "Stancer", + ["VEH_LAUNCH_CTRL_ERR"] = "Kontrola uruchamiania jest obecnie niedostępna. Twój silnik jest uszkodzony.", + ["VEH_STANCE_WHEEL_WIDTH"] = "Szerokość koła", + ["VEH_STANCE_REAR_AXLE"] = "Tylna oś", + ["VEH_STANCE_COPY_FB"] = "Kopiuj od przodu do tyłu", + ["VEH_STANCE_TRACK_WIDTH"] = "Szerokość ścieżki", + ["VEH_STANCE_NON_STOCK"] = "Ta opcja wymaga kół innych niż standardowe.", + ["VEH_STANCE_INCOMPATIBLE"] = "Ta opcja jest niekompatybilna z obecnym pojazdem.", + ["VEH_STANCE_FRONT_AXLE"] = "Oś przednia", + ["VEH_STANCE_RIDE_HEIGHT"] = "Wysokość jazdy", + ["VEH_STANCE_GEN_OPTIONS"] = "Opcje ogólne", + ["VEH_STANCE_WHEEL_SIZE"] = "Rozmiar koła" } diff --git a/includes/lib/translations/pt-BR.lua b/includes/lib/translations/pt-BR.lua index d348b3f..8b6e46d 100644 --- a/includes/lib/translations/pt-BR.lua +++ b/includes/lib/translations/pt-BR.lua @@ -25,8 +25,7 @@ return { ["VEH_DRIFT_SMOKE_TT"] = "Aumenta a quantidade de fumaça que seus pneus geram ao derrapar ou queimar.", ["GENERIC_CONFIRM_WARN"] = "Esta ação é irreversível. Tem certeza de que deseja prosseguir?", ["VEH_MG_TRIGGERBOT"] = "Gatilho de metralhadora", - ["VEH_FAST_JETS_TT"] = - "Torna a maioria dos aviões mais rápidos, desde que possam atingir 240 km/h por padrão, sua velocidade máxima será aumentada para 555 km/h.\n\nAviões mais lentos como o Duster não se beneficiam disso, a menos que você os faça atingir o limite de velocidade à força mergulhando de nariz.\n\nNOTA: Seu equipamento (rodas do avião) deve estar elevado.", + ["VEH_FAST_JETS_TT"] = "Torna a maioria dos aviões mais rápidos, desde que possam atingir 240 km/h por padrão, sua velocidade máxima será aumentada para 555 km/h.\n\nAviões mais lentos como o Duster não se beneficiam disso, a menos que você os faça atingir o limite de velocidade à força mergulhando de nariz.\n\nNOTA: Seu equipamento (rodas do avião) deve estar elevado.", ["VEH_MG_TRIGGERBOT_RANGE"] = "Alcance do Triggerbot", ["VEH_NO_TURBULENCE"] = "Turbulência Aérea Desativada", ["VEH_AUTOPILOT"] = "Piloto automático", @@ -40,20 +39,17 @@ return { ["VEH_MG_TRIGGERBOT_ENEMY"] = "Apenas inimigos", ["VEH_MG_MANUAL_AIM"] = "Mira manual da metralhadora", ["VEH_MG_MANUAL_AIM_TT"] = "Permite que você mire manualmente a metralhadora da sua aeronave.", - ["VEH_FLARES_TT"] = - "Permite que você lance sinalizadores de qualquer aeronave usando o botão de contramedidas padrão.", + ["VEH_FLARES_TT"] = "Permite que você lance sinalizadores de qualquer aeronave usando o botão de contramedidas padrão.", ["WRLD_HNS"] = "Esconde-esconde", ["VEH_SEAT_PREV"] = "Assento Anterior", - ["WRLD_HNS_TT"] = - "Permite que você se esconda dentro de veículos, porta-malas ou lixeiras. Se você tiver um nível de procurado, a polícia irá perdê-lo, desde que você se esconda antes de ser localizado.", + ["WRLD_HNS_TT"] = "Permite que você se esconda dentro de veículos, porta-malas ou lixeiras. Se você tiver um nível de procurado, a polícia irá perdê-lo, desde que você se esconda antes de ser localizado.", ["VEH_SEAT_NEXT"] = "Próximo assento", ["WRLD_FLIGHT_MUSIC"] = "Desativar música de voo", ["WRLD_DISABLE_WAVES"] = "Desativar ondas oceânicas", ["WRLD_EXTEND_BOUNDS"] = "Amplie as Fronteiras Mundiais", ["WRLD_EXTEND_BOUNDS_TT"] = "Permite que você viaje pelo mundo em qualquer direção.", ["WRLD_CARPOOL_TT"] = "Permite que você entre em veículos NPC como passageiro.", - ["YAV3_STOP_BTN_HINT"] = - "DICA: Você pode pressionar %s para parar de executar qualquer ação ou mantê-lo pressionado por um segundo para limpar tudo.", + ["YAV3_STOP_BTN_HINT"] = "DICA: Você pode pressionar %s para parar de executar qualquer ação ou mantê-lo pressionado por um segundo para limpar tudo.", ["FLTBD_MAIN_CB"] = "Habilitar script", ["FLTBD_SHOW_TOWPOS_CB"] = "Mostrar posição de reboque", ["WRLD_CARPOOL"] = "Carona", @@ -73,27 +69,20 @@ return { ["FLTBD_NEARBY_VEH_TXT"] = "Veículo mais próximo:", ["SETTINGS_ENTITY_REPLACE"] = "Substituir entidades automaticamente", ["FLTBD_CARS_ONLY_ERR"] = "Você só pode rebocar carros, caminhões e bicicletas.", - ["FLTBD_TOW_ALL_TT"] = - "Por padrão, o caminhão reboca apenas carros, caminhões e bicicletas. Esta opção remove essa limitação.", - ["FTLBD_GET_IN_MSG"] = - "No momento, você não está em um caminhão-plataforma. Você pode roubar um da rua ou usar o botão abaixo para gerar um novo.", + ["FLTBD_TOW_ALL_TT"] = "Por padrão, o caminhão reboca apenas carros, caminhões e bicicletas. Esta opção remove essa limitação.", + ["FTLBD_GET_IN_MSG"] = "No momento, você não está em um caminhão-plataforma. Você pode roubar um da rua ou usar o botão abaixo para gerar um novo.", ["SETTINGS_CFG_RESET"] = "Redefinir configuração salva", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Opcional: Escolha os itens de configuração a serem mantidos.", - ["SETTINGS_ENTITY_REPLACE_TT"] = - "Este projeto tem um limite de quantas entidades você pode gerar (pedestres, veículos, objetos). Todos os recursos obedecem a esse limite para evitar spam de entidades ou sufocar o jogo. Esta opção permite que o script substitua automaticamente entidades antigas geradas quando você atingir o limite para um determinado tipo de entidade e tentar gerar uma nova.", - ["WARN_VEH_SPAWN_LIMIT"] = - "Limite de geração de veículos atingido! Considere ativar 'Substituir automaticamente entidades' na guia Configurações se quiser substituir automaticamente entidades antigas quando atingir o limite.", + ["SETTINGS_ENTITY_REPLACE_TT"] = "Este projeto tem um limite de quantas entidades você pode gerar (pedestres, veículos, objetos). Todos os recursos obedecem a esse limite para evitar spam de entidades ou sufocar o jogo. Esta opção permite que o script substitua automaticamente entidades antigas geradas quando você atingir o limite para um determinado tipo de entidade e tentar gerar uma nova.", + ["WARN_VEH_SPAWN_LIMIT"] = "Limite de geração de veículos atingido! Considere ativar 'Substituir automaticamente entidades' na guia Configurações se quiser substituir automaticamente entidades antigas quando atingir o limite.", ["INF_ATTACHMENT_NONE"] = "Não parece haver nada ligado a nós.", ["GENERIC_POSITION_LABEL"] = "Posição", ["GENERIC_OPTIONS_LABEL"] = "Opções", ["INF_ATTACHMENT_DROP"] = "Anexos descartados.", ["GENERIC_UNAVAILABLE"] = "Atualmente indisponível.", - ["WARN_PED_SPAWN_LIMIT"] = - "Limite de spawn de Ped atingido! Considere ativar 'Substituir automaticamente entidades' na guia Configurações se quiser substituir automaticamente entidades antigas quando atingir o limite.", - ["GENERIC_OFFLINE_OR_OUTDATED"] = - "Você precisa estar online e ter a versão mais recente do script para acessar esse recurso!", - ["WARN_OBJ_SPAWN_LIMIT"] = - "Limite de geração de objetos atingido! Considere ativar 'Substituir automaticamente entidades' na guia Configurações se quiser substituir automaticamente entidades antigas quando atingir o limite.", + ["WARN_PED_SPAWN_LIMIT"] = "Limite de spawn de Ped atingido! Considere ativar 'Substituir automaticamente entidades' na guia Configurações se quiser substituir automaticamente entidades antigas quando atingir o limite.", + ["GENERIC_OFFLINE_OR_OUTDATED"] = "Você precisa estar online e ter a versão mais recente do script para acessar esse recurso!", + ["WARN_OBJ_SPAWN_LIMIT"] = "Limite de geração de objetos atingido! Considere ativar 'Substituir automaticamente entidades' na guia Configurações se quiser substituir automaticamente entidades antigas quando atingir o limite.", ["GENERIC_LEFT_RIGHT_LABEL"] = "Esquerda/Direita", ["GENERIC_UP_DOWN_LABEL"] = "Para cima/para baixo", ["GENERIC_COLORS_LABEL"] = "Cores", @@ -131,8 +120,7 @@ return { ["CP_MUST_BE_AT_WHEEL"] = "Você deve estar na Roda da Sorte para receber este prêmio!", ["CP_COOLDOWN_BYPASS"] = "Ignorar o tempo de espera das fichas de cassino", ["CP_COOLDOWN_BYPASS_STATUS"] = "Status:", - ["CP_COOLDOWN_BYPASS_TOOLTIP"] = - "Desativa o tempo de espera do cassino, pode resultar em banimento. Use por sua conta e risco.", + ["CP_COOLDOWN_BYPASS_TOOLTIP"] = "Desativa o tempo de espera do cassino, pode resultar em banimento. Use por sua conta e risco.", ["CP_COOLDOWN_BYPASS_ENABLE"] = "Habilitar Ignorar", ["CP_COOLDOWN_BYPASS_STATUS_FORMAT"] = "Recarga por %.2f minuto(s).", ["CP_COOLDOWN_BYPASS_STATUS_OFF"] = "Fora do tempo de espera", @@ -236,8 +224,7 @@ return { ["YRV3_CEO_SELL_CB"] = "Venda de caixa do CEO", ["YRV3_CEO_BUY_CB"] = "Compra de caixa do CEO", ["YRV3_DAX_WORK_CB"] = "Dax Trabalho", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = - "Sempre gera as missões da boate encrenqueira e desativa as missões VIP eliminadas.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Sempre gera as missões da boate encrenqueira e desativa as missões VIP eliminadas.", ["YRV3_SAFECASH_TOTAL"] = "Total de dinheiro em todos os cofres", ["YRV3_PAYHPONE_HITS_CB"] = "Acessos a telefones públicos", ["YRV3_IE_VEH_STEAL_CB"] = "Fornecimento de veículos I/E", @@ -245,13 +232,11 @@ return { ["YRV3_CFR_CD_CB"] = "Invasão à fábrica de frango", ["YRV3_HACKER_DEN_CD_CB"] = "Arquivos de fábrica de roupas", ["YRV3_SECURITY_WORK_CB"] = "Missões de Segurança", - ["YRV3_SEXY_SHINABI_NOTICE"] = - "Use o script Payphone Hits do ShinyWasabi.\nPressione [TAB] para copiar o link do GitHub.", + ["YRV3_SEXY_SHINABI_NOTICE"] = "Use o script Payphone Hits do ShinyWasabi.\nPressione [TAB] para copiar o link do GitHub.", ["YRV3_CB_CHECK_ALL"] = "Verifique tudo", ["YRV3_CB_UNCHECK_ALL"] = "Desmarque tudo", ["YRV3_COOLDOWNS_LABEL"] = "Recargas", - ["YRV3_SELL_MISSIONS_NOTE"] = - "[NOTA]: Se você planeja vender mais de uma vez para o mesmo negócio, troque de sessão após terminar a primeira venda para redefinir as missões, caso contrário, uma segunda provavelmente não será iniciada.", + ["YRV3_SELL_MISSIONS_NOTE"] = "[NOTA]: Se você planeja vender mais de uma vez para o mesmo negócio, troque de sessão após terminar a primeira venda para redefinir as missões, caso contrário, uma segunda provavelmente não será iniciada.", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Observação: apenas estas empresas são suportadas:", ["YRV3_SELL_MISSIONS_NOTIF"] = "Desativadas as missões de venda mais irritantes de %s.", ["YRV3_AUTOSELL_BUNKER_LABEL"] = "Bunker", @@ -259,11 +244,9 @@ return { ["YRV3_SELL_MISSIONS_LABEL"] = "Vender Missões", ["YRV3_AUTOSELL_CEO_LABEL"] = "Armazéns CEO", ["YRV3_AUTOSELL_BIKER_LABEL"] = "Negócios de motociclistas", - ["YRV3_AUTOSELL_TT"] = - "Termina automaticamente uma missão de venda 20 segundos após seu início. Não exige que você interaja com nada além de iniciar a missão.", + ["YRV3_AUTOSELL_TT"] = "Termina automaticamente uma missão de venda 20 segundos após seu início. Não exige que você interaja com nada além de iniciar a missão.", ["YRV3_AUTOSELL_CURRENT"] = "Vendendo atualmente: %s", - ["YRV3_SELL_MISSIONS_TT"] = - "Essas opções não serão salvas. Cada botão desativa as missões de venda mais tediosas para aquele negócio.", + ["YRV3_SELL_MISSIONS_TT"] = "Essas opções não serão salvas. Cada botão desativa as missões de venda mais tediosas para aquele negócio.", ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "Laboratório de Ácido", ["YRV3_AUTO_FILL_DELAY"] = "Atraso global de preenchimento automático:", ["YRV3_MCT_TITLE"] = "Terminal de controle mestre", @@ -274,26 +257,21 @@ return { ["YRV3_AUTO_SELL_MANUAL"] = "Concluir venda manualmente", ["SELF_AUTOHEAL_TT"] = "Regenera sua saúde e armadura.", ["SELF_ACTION_MODE_TT"] = "Desativa os movimentos bruscos do jogador durante o combate.", - ["SELF_HEADPROPS_TT"] = - "Impede que o jogo remova seus equipamentos de cabeça (chapéus, capacetes, harcuts longos, etc.) ao entrar em um veículo.", + ["SELF_HEADPROPS_TT"] = "Impede que o jogo remova seus equipamentos de cabeça (chapéus, capacetes, harcuts longos, etc.) ao entrar em um veículo.", ["SELF_PHONE_ANIMS"] = "Ativar animações do telefone", ["SELF_ACTION_MODE"] = "Desativar modo de ação", ["YRV3_MCT_UNAVAIL"] = "O Terminal de Controle Mestre não está disponível no momento.", ["SELF_HEADPROPS"] = "Permitir suportes de cabeça em veículos", ["SELF_PHONE_ANIMS_TT"] = "Restaura animações de celular no GTA Online.", ["SELF_NO_CARJACKING"] = "Sem roubo de carro", - ["SELF_NO_CARJACKING_TT"] = - "Impede que NPCs roubem seu carro. Deve impedir jogadores também (não testado contra jogadores).", + ["SELF_NO_CARJACKING_TT"] = "Impede que NPCs roubem seu carro. Deve impedir jogadores também (não testado contra jogadores).", ["SELF_CROUCH"] = "Agachar", - ["SELF_STAND_ON_VEHS_TT"] = - "Impede que você faça ragdoll quando estiver em cima de um veículo (você ainda cairá se bater em alguma coisa).", + ["SELF_STAND_ON_VEHS_TT"] = "Impede que você faça ragdoll quando estiver em cima de um veículo (você ainda cairá se bater em alguma coisa).", ["SELF_STAND_ON_VEHS"] = "Fique em veículos", ["SELF_SPRINT_INSIDE"] = "Sprint dentro de interiores", - ["SELF_HANDS_UP_TT"] = - "Substitui a ação 'Point At' no GTA Online (padrão [B] no teclado) por uma animação de rendição.", + ["SELF_HANDS_UP_TT"] = "Substitui a ação 'Point At' no GTA Online (padrão [B] no teclado) por uma animação de rendição.", ["SELF_CROUCH_TT"] = "Faz você se agachar ao pressionar o botão furtivo, semelhante ao GTA San Andreas.", - ["SELF_LOCKPICK_ANIM_TT"] = - "Aumenta a chance de usar a animação de arrombamento ao roubar veículos em vez de quebrar a janela.", + ["SELF_LOCKPICK_ANIM_TT"] = "Aumenta a chance de usar a animação de arrombamento ao roubar veículos em vez de quebrar a janela.", ["SELF_SPRINT_INSIDE_TT"] = "Permite que você corra a toda velocidade na maioria dos interiores (não em todos).", ["SELF_HANDS_UP"] = "Mãos ao alto", ["SELF_LOCKPICK_ANIM"] = "Animação de bloqueio", @@ -312,19 +290,14 @@ return { ["VEH_NOS"] = "N.S.", ["VEH_NOS_PURGE"] = "Purga do NOS", ["VEH_ABS_LIGHTS"] = "Exibição da força de freio", - ["VEH_ABS_LIGHTS_TT"] = - "Pisca as luzes de freio ao frear em alta velocidade. Somente para veículos equipados com ABS.", - ["VEH_POPS_N_BANGS_TT"] = - "Permite altos estalos de escapamento que são acionados cada vez que você solta o acelerador em altas rotações. PS: Isso assusta os NPCs próximos.", + ["VEH_ABS_LIGHTS_TT"] = "Pisca as luzes de freio ao frear em alta velocidade. Somente para veículos equipados com ABS.", + ["VEH_POPS_N_BANGS_TT"] = "Permite altos estalos de escapamento que são acionados cada vez que você solta o acelerador em altas rotações. PS: Isso assusta os NPCs próximos.", ["VEH_SUBWOOFER"] = "Subwoofer grande", ["VEH_POPS_N_BANGS"] = "Pops e franjas", ["VEH_HIGH_BEAMS_TT"] = "Pisca o farol alto sempre que você buzina", - ["VEH_SUBWOOFER_TT"] = - "Faz com que os alto-falantes do seu veículo soem um pouco mais altos e tenham graves mais profundos.", - ["VEH_AUTO_BRAKE_LIGHTS_TT"] = - "Acende as luzes de freio sempre que você está parado. (O motor deve estar funcionando).", - ["VEH_STRONG_CRASH_TT"] = - "Torna as colisões mais assustadoras com tremores de câmera, efeitos de tela, mais deformação e danos. Colisões em alta velocidade podem ser fatais.", + ["VEH_SUBWOOFER_TT"] = "Faz com que os alto-falantes do seu veículo soem um pouco mais altos e tenham graves mais profundos.", + ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Acende as luzes de freio sempre que você está parado. (O motor deve estar funcionando).", + ["VEH_STRONG_CRASH_TT"] = "Torna as colisões mais assustadoras com tremores de câmera, efeitos de tela, mais deformação e danos. Colisões em alta velocidade podem ser fatais.", ["VEH_HIGH_BEAMS"] = "Faróis altos na buzina", ["VEH_AUTO_BRAKE_LIGHTS"] = "Luzes de freio automático", ["VEH_STRONG_WINDOWS"] = "Janelas inquebráveis", @@ -332,12 +305,10 @@ return { ["VEH_FLAPPY_DOORS"] = "Portas basculantes", ["VEH_STRONG_WINDOWS_TT"] = "As janelas do seu veículo nunca quebrarão. A menos que seja explodido, é claro.", ["VEH_RGB_LIGHTS"] = "Faróis RGB", - ["VEH_RGB_LIGHTS_TT"] = - "Inicia um loop RGB nos faróis do seu veículo. Você pode ajustar a velocidade na parte inferior desta janela.", + ["VEH_RGB_LIGHTS_TT"] = "Inicia um loop RGB nos faróis do seu veículo. Você pode ajustar a velocidade na parte inferior desta janela.", ["VEH_FLAPPY_DOORS_TT"] = "Não tenho ideia de por que fiz isso.", ["VEH_IV_EXIT"] = "Saída estilo IV", - ["VEH_AUTO_LOCK_TT"] = - "Tranca automaticamente o seu veículo quando você se afasta dele e destranca-o novamente quando você tenta entrar novamente ou mudar para um veículo diferente.", + ["VEH_AUTO_LOCK_TT"] = "Tranca automaticamente o seu veículo quando você se afasta dele e destranca-o novamente quando você tenta entrar novamente ou mudar para um veículo diferente.", ["VEH_LAUNCH_CTRL_TT"] = "Simula o controle de lançamento. Disponível apenas para carros de alto desempenho.", ["VEH_KEEP_WHEELS_TURNED"] = "Mantenha as rodas giradas", ["VEH_AUTO_LOCK"] = "Bloqueio automático", @@ -348,12 +319,10 @@ return { ["VEH_MINES_TT"] = "Permite que você solte uma mina de qualquer veículo terrestre.", ["VEH_SPEED_UNIT"] = "Unidade de velocidade", ["VEH_SPEED_BG"] = "Fundo", - ["VEH_KEEP_WHEELS_TURNED_TT"] = - "Impede que seu personagem centralize novamente as rodas ao sair de um veículo, teletransportando você para fora.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = "Impede que seu personagem centralize novamente as rodas ao sair de um veículo, teletransportando você para fora.", ["VEH_SPEED_NEEDLE"] = "Agulha", ["VEH_MINES"] = "Minas de veículos", - ["VEH_IV_EXIT_TT"] = - "Imita o estilo de saída do veículo do GTA IV: Segure [F] por um segundo para desligar o motor ou pressione normalmente para deixá-lo funcionando.", + ["VEH_IV_EXIT_TT"] = "Imita o estilo de saída do veículo do GTA IV: Segure [F] por um segundo para desligar o motor ou pressione normalmente para deixá-lo funcionando.", ["VEH_DRIFT_MODE_STRONG"] = "Forte", ["VEH_DRIFT_MODE_SLIPPERY"] = "Escorregadio", ["VEH_SPEED_NEEDLE_BASE"] = "Base de agulha", @@ -385,8 +354,7 @@ return { ["VEH_PAINT_MATTE_TT"] = "Aplica ou remove um acabamento fosco na pintura selecionada.", ["VEH_PAINT_NOT_SELECTED_ERR"] = "Selecione primário ou secundário ou ambos.", ["VEH_PAINT_SECONDARY_CB"] = "Como secundário", - ["VEH_PAINT_SAVE_TT"] = - "Para salvar essa cor em um veículo pessoal, vá a uma loja de moda e compre algo como tinta para janela ou estilo de placa ou qualquer coisa.", + ["VEH_PAINT_SAVE_TT"] = "Para salvar essa cor em um veículo pessoal, vá a uma loja de moda e compre algo como tinta para janela ou estilo de placa ou qualquer coisa.", ["VEH_COBRA_MANEUVER"] = "Manobra da Cobra", ["CP_AUTOPLAY_SLOTS_TIME_DELAY"] = "Atraso entre jogadas", ["VEH_COBRA_MANEUVER_NOT_LEVEL"] = "Nivele seu jato primeiro.", @@ -429,54 +397,43 @@ return { ["EF_ENTITY_GUN"] = "Arma de Entidade", ["EF_SAVED_NONE"] = "Você não tem nenhuma criação salva.", ["EF_CHILD_ALPHA"] = "Transparência do item filho: %d", - ["EF_IMPORT_DATA_NOTICE"] = - "Você tem uma criação com o mesmo nome. Uma tag [import] foi adicionada ao nome. Você ainda pode renomeá-lo mais tarde.", + ["EF_IMPORT_DATA_NOTICE"] = "Você tem uma criação com o mesmo nome. Uma tag [import] foi adicionada ao nome. Você ainda pode renomeá-lo mais tarde.", ["EF_IMPORT_DATA_INSTR"] = "Cole os dados do Forge aqui:", ["EF_IMPORT_DATA_CLIPBOARD"] = "Colar da área de transferência", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "Sua área de transferência está vazia!", ["EF_MULTIPLIER_LABEL"] = "Multiplicador %.2f", - ["EF_ENTITY_GUN_TT"] = - "Aponte sua arma para uma entidade no mundo do jogo e pressione [E] para adicioná-la ao conjunto de forja. Depois de adicionado, você poderá usar o mouse para movê-lo e manipulá-lo.", - ["EF_SHARE_SUCCESS"] = - "Sua criação salva foi copiada para a área de transferência. Se você compartilhar os dados copiados com outros usuários deste script, eles poderão importá-los para suas criações salvas.", + ["EF_ENTITY_GUN_TT"] = "Aponte sua arma para uma entidade no mundo do jogo e pressione [E] para adicioná-la ao conjunto de forja. Depois de adicionado, você poderá usar o mouse para movê-lo e manipulá-lo.", + ["EF_SHARE_SUCCESS"] = "Sua criação salva foi copiada para a área de transferência. Se você compartilhar os dados copiados com outros usuários deste script, eles poderão importá-los para suas criações salvas.", ["EF_IMPORT_SUCCESS"] = "Dados importados com sucesso.", ["GENERIC_APPLY"] = "Aplicar", ["GENERIC_USE"] = "Usar", - ["SELF_MAGIC_BULLET_TT"] = - "Este recurso não mira nem dispara automaticamente. Ele simplesmente lembra o último ped que você mirou e redireciona seu tiro para esse ped quando você dispara, mesmo se você atirar em outro lugar. O alvo é redefinido quando você para de mirar.", + ["SELF_MAGIC_BULLET_TT"] = "Este recurso não mira nem dispara automaticamente. Ele simplesmente lembra o último ped que você mirou e redireciona seu tiro para esse ped quando você dispara, mesmo se você atirar em outro lugar. O alvo é redefinido quando você para de mirar.", ["SELF_MAGIC_BULLET"] = "Bala Mágica", ["SUBTAB_GUI"] = "Interface do usuário", ["GENERIC_CLEAR"] = "Claro", ["SELF_LASER_SIGHTS"] = "Miras Laser", - ["SELF_LASER_SIGHTS_TT"] = - "Permite mira a laser em suas armas de fogo. Você pode ativar e desativar a mira pressionando [%s]", + ["SELF_LASER_SIGHTS_TT"] = "Permite mira a laser em suas armas de fogo. Você pode ativar e desativar a mira pressionando [%s]", ["VEH_KERS_BOOST"] = "Impulso KERS", - ["VEH_KERS_BOOST_TT"] = - "Equipa seu veículo com impulso KERS (Sistema de Recuperação de Energia Cinética), semelhante aos carros de F1.", + ["VEH_KERS_BOOST_TT"] = "Equipa seu veículo com impulso KERS (Sistema de Recuperação de Energia Cinética), semelhante aos carros de F1.", ["GENERIC_GENERAL_LABEL"] = "Em geral", ["SELF_LASER_SIGHTS_LENGTH"] = "Comprimento do raio laser", ["SELF_LASER_SIGHTS_COL"] = "Laser colorido", - ["VEH_NO_ENGINE_BRAKE_TT"] = - "Permite que você desacelere quando não estiver pressionando o acelerador sem perder tanta velocidade.", + ["VEH_NO_ENGINE_BRAKE_TT"] = "Permite que você desacelere quando não estiver pressionando o acelerador sem perder tanta velocidade.", ["SUBTAB_HANDLING_EDITOR"] = "Editor de manipulação", ["VEH_NO_ENGINE_BRAKE"] = "Desativar a frenagem do motor", ["VEH_OFFROAD_ABILITIES"] = "Habilidades off-road", ["VEH_RALLY_TYRES"] = "Pneus de rali", ["VEH_RALLY_TYRES_TT"] = "Equipa seu veículo com pneus de rally que melhoram ainda mais o manuseio offroad.", - ["VEH_LOW_SPEED_WHEELIE_TT"] = - "Somente bicicletas: permite que você faça cavalinhos em velocidades muito baixas, semelhante ao 'Manchez'.", + ["VEH_LOW_SPEED_WHEELIE_TT"] = "Somente bicicletas: permite que você faça cavalinhos em velocidades muito baixas, semelhante ao 'Manchez'.", ["VEH_LOW_SPEED_WHEELIE"] = "Cavalinho de baixa velocidade", ["VEH_ROCKET_BOOST"] = "Impulso de foguete", ["VEH_OFFROAD_ABILITIES_TT"] = "Aumenta as capacidades offroad do seu veículo.", ["VEH_ROCKET_BOOST_TT"] = "Equipa seu veículo com impulso de foguete, semelhante ao 'Vigilante'.", ["VEH_FORCE_NO_TC"] = "Sem controle de tração", - ["VEH_FORCE_NO_TC_TT"] = - "Somente bicicletas: Força seu veículo a não ter controle de tração, o que permite derrapagens e derrapagens com bicicletas.", - ["VEH_PARACHUTE_TT"] = - "Equipa seu veículo com um pára-quedas, semelhante ao 'Ruiner 2000'.\n\nImportante: a capacidade de salto também deve estar ativada.", + ["VEH_FORCE_NO_TC_TT"] = "Somente bicicletas: Força seu veículo a não ter controle de tração, o que permite derrapagens e derrapagens com bicicletas.", + ["VEH_PARACHUTE_TT"] = "Equipa seu veículo com um pára-quedas, semelhante ao 'Ruiner 2000'.\n\nImportante: a capacidade de salto também deve estar ativada.", ["VEH_JUMP_TT"] = "Equipa seu veículo com capacidade de salto, semelhante ao 'Ruiner 2000'.", - ["VEH_STEER_HANDBRAKE_TT"] = - "Dirige as rodas traseiras do seu veículo quando você segura o freio de mão, semelhante aos carros monstruosos.", + ["VEH_STEER_HANDBRAKE_TT"] = "Dirige as rodas traseiras do seu veículo quando você segura o freio de mão, semelhante aos carros monstruosos.", ["VEH_STEER_ALL_WHEELS"] = "Direção em todas as rodas", ["VEH_PARACHUTE"] = "Capacidade de pára-quedas", ["VEH_STEER_HANDBRAKE"] = "Direção do freio de mão", @@ -487,10 +444,8 @@ return { ["SETTING_WINDOW_MOVEABLE_TT"] = "Permite que você mova livremente a janela", ["SETTING_WINDOW_POS_Y"] = "Posição Y", ["SETTING_WINDOW_POS_X"] = "Posição X", - ["SETTING_WINDOW_HEIGHT_TT"] = - "A janela é dinâmica, ela se redimensiona verticalmente com base no conteúdo.\n\nEsta opção permite definir a altura máxima permitida.", - ["SETTING_WINDOW_POS_TT"] = - "Estes são apenas para exibição. Habilite 'Janela Móvel' e arraste a barra superior para mover a janela livremente.", + ["SETTING_WINDOW_HEIGHT_TT"] = "A janela é dinâmica, ela se redimensiona verticalmente com base no conteúdo.\n\nEsta opção permite definir a altura máxima permitida.", + ["SETTING_WINDOW_POS_TT"] = "Estes são apenas para exibição. Habilite 'Janela Móvel' e arraste a barra superior para mover a janela livremente.", ["VEH_STEER_REAR_WHEELS"] = "Direção da roda traseira", ["VEH_JUMP"] = "Capacidade de salto", ["SETTING_WINDOW_WIDTH"] = "Largura da janela", @@ -511,8 +466,7 @@ return { ["SELF_KATANA"] = "Katana", ["SELF_KATANA_TT"] = "Substitui um dos quatro modelos de armas brancas de sua escolha por uma Katana.", ["GENERIC_NOT_IN_COMBAT"] = "Você não está em combate com ninguém.", - ["WRLD_FLEE_ALL_TT"] = - "Funciona em um loop de 5 segundos: Força todos os inimigos próximos a largarem suas armas e fugirem da área.", + ["WRLD_FLEE_ALL_TT"] = "Funciona em um loop de 5 segundos: Força todos os inimigos próximos a largarem suas armas e fugirem da área.", ["WRLD_KILL_ALL"] = "Mate todos os inimigos", ["WRLD_FLEE_ALL"] = "Assustar todos os inimigos", ["WRLD_FLEE_ALL_NOTIF"] = "Forçando os inimigos próximos a fugir. Por favor, aguarde.", @@ -520,8 +474,7 @@ return { ["WRLD_KILL_ALL_TT"] = "Mata todos os inimigos próximos.", ["WRLD_KILL_ALL_NOTIF"] = "Executado 'Matar todos os inimigos'", ["WRLD_PUBLIC_ENEMY"] = "Inimigo Público nº 1", - ["WRLD_PUBLIC_ENEMY_TT"] = - "Todos os NPCs próximos irão se unir contra você e bater em você. Incluindo animais e policiais.", + ["WRLD_PUBLIC_ENEMY_TT"] = "Todos os NPCs próximos irão se unir contra você e bater em você. Incluindo animais e policiais.", ["GENERIC_IMPORTANT"] = "Importante", ["GUI_NEW_LAYOUT_NOTICE"] = "A UI do script agora é independente do menu. Pressione %s para alternar.", ["SETTING_HOTKEY_FOUND"] = "Nova chave:", @@ -535,7 +488,22 @@ return { ["YRV3_CWASH_HEAT"] = "Nível de calor:", ["YRV3_CWASH_LEGAL_WORK_CD"] = "Desativar tempo de espera para trabalho jurídico", ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Desativar tempo de espera para trabalho ilegal", - ["SELF_MC_BIKE_ANIMS_TT"] = - "Restaura as animações alternativas de andar de bicicleta que foram desativadas por algum motivo. Você deve estar registrado como MC e ter esta opção habilitada para que essas animações funcionem.", - ["SELF_MC_BIKE_ANIMS"] = "Ativar estilo de pilotagem MC" + ["SELF_MC_BIKE_ANIMS_TT"] = "Restaura as animações alternativas de andar de bicicleta que foram desativadas por algum motivo. Você deve estar registrado como MC e ter esta opção habilitada para que essas animações funcionem.", + ["SELF_MC_BIKE_ANIMS"] = "Ativar estilo de pilotagem MC", + ["VEH_LAUNCH_CTRL_RIDICULOUS"] = "Ridículo", + ["SUBTAB_STANCER"] = "Stancer", + ["VEH_STANCE_CAMBER"] = "Cambagem", + ["VEH_LAUNCH_CTRL_REALISTIC"] = "Realista", + ["VEH_STANCE_WHEEL_WIDTH"] = "Largura da roda", + ["VEH_STANCE_WHEEL_SIZE"] = "Tamanho da roda", + ["VEH_STANCE_TRACK_WIDTH"] = "Largura da trilha", + ["VEH_LAUNCH_CTRL_ERR"] = "O controle de lançamento não está disponível no momento. Seu motor está danificado.", + ["VEH_LAUNCH_CTRL_MODE"] = "Modo de controle de inicialização", + ["VEH_STANCE_INCOMPATIBLE"] = "Esta opção é incompatível com o veículo atual.", + ["VEH_STANCE_COPY_FB"] = "Copiar da frente para trás", + ["VEH_STANCE_GEN_OPTIONS"] = "Opções Gerais", + ["VEH_STANCE_FRONT_AXLE"] = "Eixo dianteiro", + ["VEH_STANCE_REAR_AXLE"] = "Eixo traseiro", + ["VEH_STANCE_RIDE_HEIGHT"] = "Altura do passeio", + ["VEH_STANCE_NON_STOCK"] = "Esta opção requer rodas sem estoque." } diff --git a/includes/lib/translations/ru-RU.lua b/includes/lib/translations/ru-RU.lua index 37f3d1a..1a2cc2c 100644 --- a/includes/lib/translations/ru-RU.lua +++ b/includes/lib/translations/ru-RU.lua @@ -31,8 +31,7 @@ return { ["VEH_MG_TRIGGERBOT_ENEMY_TT"] = "Робот-пулемет стреляет только по врагам.", ["VEH_MG_MANUAL_AIM_TT"] = "Позволяет вручную наводить пулемет вашего самолета.", ["VEH_MG_TRIGGERBOT_ENEMY"] = "Только враги", - ["VEH_FAST_JETS_TT"] = - "Делает большинство самолетов быстрее, если они могут развивать скорость 240 км/ч по умолчанию, их максимальная скорость будет увеличена до 555 км/ч.\n\nМедленные самолеты, такие как Дастер, не получат от этого никакой выгоды, если вы принудительно не заставите их достичь порога скорости пикированием.\n\nПРИМЕЧАНИЕ: Ваше шасси (колеса самолета) должно быть поднято.", + ["VEH_FAST_JETS_TT"] = "Делает большинство самолетов быстрее, если они могут развивать скорость 240 км/ч по умолчанию, их максимальная скорость будет увеличена до 555 км/ч.\n\nМедленные самолеты, такие как Дастер, не получат от этого никакой выгоды, если вы принудительно не заставите их достичь порога скорости пикированием.\n\nПРИМЕЧАНИЕ: Ваше шасси (колеса самолета) должно быть поднято.", ["VEH_MG_TRIGGERBOT_TT"] = "Автоматически стреляет из пулемета вашего самолета.", ["VEH_AUTOPILOT"] = "Автопилот", ["VEH_MG_MARKER_SIZE"] = "Размер маркера ручного прицеливания", @@ -40,23 +39,20 @@ return { ["VEH_MG_TRIGGERBOT_RANGE"] = "Диапазон триггерботов", ["VEH_MG_MARKER_COL"] = "Цвет маркера ручного прицеливания", ["WRLD_HNS"] = "Прятки", - ["VEH_FLARES_TT"] = - "Позволяет запускать сигнальные ракеты с любого самолета с помощью кнопки противодействия по умолчанию.", + ["VEH_FLARES_TT"] = "Позволяет запускать сигнальные ракеты с любого самолета с помощью кнопки противодействия по умолчанию.", ["VEH_SEAT_PREV"] = "Предыдущее место", ["VEH_FLARES"] = "Меры противодействия вспышкам", ["WRLD_FLIGHT_MUSIC"] = "Отключить музыку полета", ["VEH_SEAT_NEXT"] = "Следующее место", ["WRLD_DISABLE_WAVES"] = "Отключить океанские волны", - ["WRLD_HNS_TT"] = - "Позволяет прятаться внутри транспортных средств, багажников автомобилей или мусорных баков. Если у вас есть уровень розыска, полиция потеряет вас, если вы спрячетесь, прежде чем вас заметят.", + ["WRLD_HNS_TT"] = "Позволяет прятаться внутри транспортных средств, багажников автомобилей или мусорных баков. Если у вас есть уровень розыска, полиция потеряет вас, если вы спрячетесь, прежде чем вас заметят.", ["WRLD_EXTEND_BOUNDS"] = "Расширьте границы мира", ["WRLD_EXTEND_BOUNDS_TT"] = "Позволяет путешествовать дальше по миру в любом направлении.", ["WRLD_CARPOOL_TT"] = "Позволяет садиться в транспортные средства NPC в качестве пассажира.", ["WRLD_CARPOOL"] = "Автобаза", ["FLTBD_MAIN_CB"] = "Включить скрипт", ["WRLD_WANTED_MUSIC"] = "Отключить разыскиваемую музыку", - ["YAV3_STOP_BTN_HINT"] = - "СОВЕТ: Вы можете нажать %s, чтобы остановить выполнение какого-либо действия, или удерживать ее в течение одной секунды, чтобы все очистить.", + ["YAV3_STOP_BTN_HINT"] = "СОВЕТ: Вы можете нажать %s, чтобы остановить выполнение какого-либо действия, или удерживать ее в течение одной секунды, чтобы все очистить.", ["FLTBD_TOWING_TXT"] = "Буксируемый автомобиль:", ["FLTBD_TOW_ALL_CB"] = "Буксировать все", ["FLTBD_SHOW_TOWPOS_TT"] = "Отмечает позицию, в которой скрипт обнаруживает ближайшие транспортные средства.", @@ -73,33 +69,26 @@ return { ["FLTBD_NEARBY_VEH_TXT"] = "Ближайший автомобиль:", ["SETTINGS_ENTITY_REPLACE"] = "Автозамена объектов", ["SETTINGS_RESET_PRESERVE_KEYS"] = "Необязательно: выберите элементы конфигурации, которые нужно сохранить.", - ["FTLBD_GET_IN_MSG"] = - "В настоящее время вы находитесь не в бортовом грузовике. Вы можете украсть один на улице или использовать кнопку ниже, чтобы создать новый.", - ["FLTBD_TOW_ALL_TT"] = - "По умолчанию грузовик буксирует только автомобили, грузовики и велосипеды. Эта опция снимает это ограничение.", + ["FTLBD_GET_IN_MSG"] = "В настоящее время вы находитесь не в бортовом грузовике. Вы можете украсть один на улице или использовать кнопку ниже, чтобы создать новый.", + ["FLTBD_TOW_ALL_TT"] = "По умолчанию грузовик буксирует только автомобили, грузовики и велосипеды. Эта опция снимает это ограничение.", ["SETTINGS_CFG_RESET"] = "Сбросить сохраненную конфигурацию", ["FLTBD_SAME_NOT_ALLOWED_ERR"] = "Вы не можете буксировать другой бортовой грузовик.", - ["SETTINGS_ENTITY_REPLACE_TT"] = - "В этом проекте есть ограничение на количество объектов, которые вы можете создать (педов, транспортных средств, объектов). Все функции придерживаются этого ограничения, чтобы предотвратить спам от сущностей или затормозить игру. Эта опция позволяет сценарию автоматически заменять старые порожденные объекты, как только вы достигнете предела для определенного типа объектов, и попытаетесь создать новый.", + ["SETTINGS_ENTITY_REPLACE_TT"] = "В этом проекте есть ограничение на количество объектов, которые вы можете создать (педов, транспортных средств, объектов). Все функции придерживаются этого ограничения, чтобы предотвратить спам от сущностей или затормозить игру. Эта опция позволяет сценарию автоматически заменять старые порожденные объекты, как только вы достигнете предела для определенного типа объектов, и попытаетесь создать новый.", ["GENERIC_POSITION_LABEL"] = "Позиция", ["INF_ATTACHMENT_DROP"] = "Вложения удалены.", ["GENERIC_OPTIONS_LABEL"] = "Параметры", - ["WARN_VEH_SPAWN_LIMIT"] = - "Достигнут лимит появления транспортных средств! Рассмотрите возможность включения «Автоматической замены объектов» на вкладке «Настройки», если вы хотите автоматически заменять старые объекты при достижении предела.", - ["WARN_PED_SPAWN_LIMIT"] = - "Достигнут лимит появления педов! Рассмотрите возможность включения «Автоматической замены объектов» на вкладке «Настройки», если вы хотите автоматически заменять старые объекты при достижении предела.", + ["WARN_VEH_SPAWN_LIMIT"] = "Достигнут лимит появления транспортных средств! Рассмотрите возможность включения «Автоматической замены объектов» на вкладке «Настройки», если вы хотите автоматически заменять старые объекты при достижении предела.", + ["WARN_PED_SPAWN_LIMIT"] = "Достигнут лимит появления педов! Рассмотрите возможность включения «Автоматической замены объектов» на вкладке «Настройки», если вы хотите автоматически заменять старые объекты при достижении предела.", ["GENERIC_UNAVAILABLE"] = "В настоящее время недоступен.", ["GENERIC_CONFIRM"] = "Подтверждать", ["GENERIC_COLORS_LABEL"] = "Цвета", ["GENERIC_UP_DOWN_LABEL"] = "Вверх/Вниз", ["GENERIC_LEFT_RIGHT_LABEL"] = "Левый/Правый", ["GENERIC_CANCEL"] = "Отмена", - ["WARN_OBJ_SPAWN_LIMIT"] = - "Достигнут лимит появления объектов! Рассмотрите возможность включения «Автоматической замены объектов» на вкладке «Настройки», если вы хотите автоматически заменять старые объекты при достижении предела.", + ["WARN_OBJ_SPAWN_LIMIT"] = "Достигнут лимит появления объектов! Рассмотрите возможность включения «Автоматической замены объектов» на вкладке «Настройки», если вы хотите автоматически заменять старые объекты при достижении предела.", ["INF_ATTACHMENT_NONE"] = "Кажется, к нам ничего не привязано.", ["GENERIC_RESET"] = "Перезагрузить", - ["GENERIC_OFFLINE_OR_OUTDATED"] = - "Для доступа к этой функции вам необходимо быть онлайн и иметь последнюю версию скрипта!", + ["GENERIC_OFFLINE_OR_OUTDATED"] = "Для доступа к этой функции вам необходимо быть онлайн и иметь последнюю версию скрипта!", ["GENERIC_CONTACT_DEV"] = "Что-то пошло не так! Пожалуйста, свяжитесь с разработчиком.", ["GENERIC_INACTIVE"] = "Неактивный", ["GENERIC_ENABLED"] = "Включено", @@ -107,8 +96,7 @@ return { ["GENERIC_TELEPORT"] = "Телепортироваться", ["GENERIC_DISABLED"] = "Неполноценный", ["GENERIC_QUICK_TP"] = "Быстрый телепорт", - ["GENERIC_SG_SL_READ_FAIL"] = - "Не удалось прочитать глобальный/локальный скрипт. Пожалуйста, свяжитесь с разработчиком.", + ["GENERIC_SG_SL_READ_FAIL"] = "Не удалось прочитать глобальный/локальный скрипт. Пожалуйста, свяжитесь с разработчиком.", ["GENERIC_SETTINGS_LABEL"] = "Настройки", ["GENERIC_MIN"] = "Минимум", ["GENERIC_SAFE"] = "Безопасный", @@ -131,8 +119,7 @@ return { ["CP_CARD_DIAMONDS"] = "Бриллианты", ["CP_CARD_SPADES"] = "Пики", ["CP_COOLDOWN_BYPASS"] = "Обход перезарядки фишек казино", - ["CP_COOLDOWN_BYPASS_TOOLTIP"] = - "Отключает время восстановления казино, может привести к бану. Используйте на свой страх и риск.", + ["CP_COOLDOWN_BYPASS_TOOLTIP"] = "Отключает время восстановления казино, может привести к бану. Используйте на свой страх и риск.", ["CP_BLACKJACK_SETTINGS"] = "Блэкджек", ["CP_COOLDOWN_BYPASS_STATUS_OFF"] = "Выкл. Перезарядка", ["CP_COOLDOWN_BYPASS_STATUS_FORMAT"] = "Время восстановления составляет %.2f минут.", @@ -235,8 +222,7 @@ return { ["YRV3_POPULARITY_NOTIF"] = "Популярность ночных клубов возросла.", ["YRV3_NC_MANAGMENT_CB"] = "Управление ночным клубом", ["YRV3_NC_CHANCE_ENCOUNTER_CB"] = "Всегда смутьян", - ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = - "Всегда порождает миссии ночного клуба с нарушителями спокойствия и отключает выбитые VIP-миссии.", + ["YRV3_NC_CHANCE_ENCOUNTER_TT"] = "Всегда порождает миссии ночного клуба с нарушителями спокойствия и отключает выбитые VIP-миссии.", ["YRV3_CEO_SELL_CB"] = "Генеральный директор Крейт Селл", ["YRV3_CEO_BUY_CB"] = "Генеральный директор Крейт Бай", ["YRV3_SECURITY_WORK_CB"] = "Миссии безопасности", @@ -246,8 +232,7 @@ return { ["YRV3_CB_CHECK_ALL"] = "Проверить все", ["YRV3_IE_VEH_STEAL_CB"] = "Поиск транспортных средств I/E", ["YRV3_COOLDOWNS_LABEL"] = "Кулдауны", - ["YRV3_SEXY_SHINABI_NOTICE"] = - "Вместо этого используйте скрипт ShinyWasabi's Payphone Hits.\nНажмите [TAB], чтобы скопировать ссылку GitHub.", + ["YRV3_SEXY_SHINABI_NOTICE"] = "Вместо этого используйте скрипт ShinyWasabi's Payphone Hits.\nНажмите [TAB], чтобы скопировать ссылку GitHub.", ["YRV3_PAYHPONE_HITS_CB"] = "Хиты таксофона", ["YRV3_SELL_MISSIONS_LABEL"] = "Продавать миссии", ["YRV3_IE_VEH_SELL_CB"] = "Продажа транспортных средств I/E", @@ -255,17 +240,14 @@ return { ["YRV3_AUTOSELL_CEO_LABEL"] = "Склады генерального директора", ["YRV3_AUTO_SELL_SUPPORT_NOTICE"] = "Примечание. Поддерживаются только следующие компании:", ["YRV3_SELL_MISSIONS_NOTIF"] = "Отключены самые раздражающие миссии по продаже %s.", - ["YRV3_SELL_MISSIONS_TT"] = - "Эти параметры не будут сохранены. Каждая кнопка отключает самые утомительные миссии по продаже для этого бизнеса.", + ["YRV3_SELL_MISSIONS_TT"] = "Эти параметры не будут сохранены. Каждая кнопка отключает самые утомительные миссии по продаже для этого бизнеса.", ["YRV3_AUTOSELL_BIKER_LABEL"] = "Байкерский бизнес", ["YRV3_CB_UNCHECK_ALL"] = "Снимите все флажки", ["YRV3_AUTOSELL_HANGAR_LABEL"] = "Ангар (только воздух)", ["YRV3_AUTOSELL_CURRENT"] = "В настоящее время продается: %s", ["YRV3_AUTOSELL_LSD_LAB_LABEL"] = "Кислотная лаборатория", - ["YRV3_SELL_MISSIONS_NOTE"] = - "[ПРИМЕЧАНИЕ]: Если вы планируете продавать один и тот же бизнес более одного раза, переключите сеансы после завершения первой продажи, чтобы сбросить миссии, в противном случае вторая, скорее всего, не начнется.", - ["YRV3_AUTOSELL_TT"] = - "Автоматически завершает миссию по продаже через 20 секунд после ее начала. Не требует от вас взаимодействия ни с чем, кроме начала миссии.", + ["YRV3_SELL_MISSIONS_NOTE"] = "[ПРИМЕЧАНИЕ]: Если вы планируете продавать один и тот же бизнес более одного раза, переключите сеансы после завершения первой продажи, чтобы сбросить миссии, в противном случае вторая, скорее всего, не начнется.", + ["YRV3_AUTOSELL_TT"] = "Автоматически завершает миссию по продаже через 20 секунд после ее начала. Не требует от вас взаимодействия ни с чем, кроме начала миссии.", ["YRV3_MCT_UNAVAIL"] = "Главный терминал управления в данный момент недоступен.", ["YRV3_AUTO_FILL_DELAY"] = "Глобальная задержка автозаполнения:", ["YRV3_MCT_TITLE"] = "Главный терминал управления", @@ -277,26 +259,21 @@ return { ["YRV3_INCOME_APPROX_ALL_TT"] = "Перелистывайте все вкладки, чтобы обновить общую сумму.", ["SELF_PHONE_ANIMS"] = "Включить анимацию телефона", ["SELF_HEADPROPS"] = "Разрешить подпорки для головы в транспортных средствах", - ["SELF_HEADPROPS_TT"] = - "Не позволяет игре снимать головные уборы (шапки, шлемы, длинные шлемы и т. д.) при посадке в транспортное средство.", + ["SELF_HEADPROPS_TT"] = "Не позволяет игре снимать головные уборы (шапки, шлемы, длинные шлемы и т. д.) при посадке в транспортное средство.", ["SELF_ACTION_MODE_TT"] = "Отключает резкие движения игрока во время боя.", ["SELF_ACTION_MODE"] = "Отключить режим действия", ["SELF_PHONE_ANIMS_TT"] = "Восстанавливает анимацию мобильного телефона в GTA Online.", - ["SELF_STAND_ON_VEHS_TT"] = - "Предотвращает вас от тряски, когда вы стоите на крыше транспортного средства (вы все равно упадете, если что-нибудь ударите).", + ["SELF_STAND_ON_VEHS_TT"] = "Предотвращает вас от тряски, когда вы стоите на крыше транспортного средства (вы все равно упадете, если что-нибудь ударите).", ["SELF_STAND_ON_VEHS"] = "Стоять на транспортных средствах", ["SELF_NO_CARJACKING"] = "Никаких угонов автомобилей", ["SELF_HANDS_UP"] = "Руки вверх", - ["SELF_HANDS_UP_TT"] = - "Заменяет действие «Указать на» в GTA Online (по умолчанию [B] на клавиатуре) на анимацию капитуляции.", + ["SELF_HANDS_UP_TT"] = "Заменяет действие «Указать на» в GTA Online (по умолчанию [B] на клавиатуре) на анимацию капитуляции.", ["SELF_CROUCH"] = "Крауч", ["SELF_CROUCH_TT"] = "Заставляет вас приседать при нажатии кнопки скрытности, как в GTA San Andreas.", ["SELF_LOCKPICK_ANIM"] = "Анимация отмычек", ["SELF_SPRINT_INSIDE"] = "Спринт внутри интерьеров", - ["SELF_NO_CARJACKING_TT"] = - "Не позволяет NPC угнать вашу машину. Это также должно препятствовать игрокам (не проверялось на игроках).", - ["SELF_LOCKPICK_ANIM_TT"] = - "Увеличивает вероятность использования анимации взлома при угоне транспорта вместо разбивания окна.", + ["SELF_NO_CARJACKING_TT"] = "Не позволяет NPC угнать вашу машину. Это также должно препятствовать игрокам (не проверялось на игроках).", + ["SELF_LOCKPICK_ANIM_TT"] = "Увеличивает вероятность использования анимации взлома при угоне транспорта вместо разбивания окна.", ["SELF_SPRINT_INSIDE_TT"] = "Позволяет бегать на полной скорости внутри большинства интерьеров (не всех).", ["SELF_CLUMSY"] = "Неуклюжий", ["SELF_ROD"] = "Рэгдолл по требованию", @@ -306,51 +283,41 @@ return { ["SELF_RAGDOLL_BLOCK_INFO"] = "Эта функция не будет работать, если вы блокируете ragdoll.", ["SELF_RAGDOLL_SOUND_TT"] = "Ваш онлайн-персонаж будет издавать панический звук во время рэгдолла.", ["SELF_CLUMSY_TT"] = "Заставляет вас спотыкаться и трястись всякий раз, когда вы с чем-то сталкиваетесь.", - ["VEH_FAST_AF_TT"] = - "Увеличивает максимальную скорость любого наземного транспортного средства, которым вы управляете.", + ["VEH_FAST_AF_TT"] = "Увеличивает максимальную скорость любого наземного транспортного средства, которым вы управляете.", ["SELF_REGEN_SPEED"] = "Скорость восстановления здоровья", ["VEH_NOS"] = "БДУ", ["VEH_NOS_PURGE"] = "Очистка БДУ", ["VEH_ABS_LIGHTS"] = "Индикация тормозного усилия", ["VEH_FAST_AF"] = "Быстрые транспортные средства", ["VEH_POPS_N_BANGS"] = "Попса и челка", - ["VEH_NOS_PURGE_TT"] = - "Нажмите назначенную комбинацию клавиш (по умолчанию [X]), чтобы выполнить очистку NOS в стиле 2Fast 2Furious.", - ["VEH_ABS_LIGHTS_TT"] = - "Мигает стоп-сигналами при торможении с высокой скорости. Только для автомобилей, оборудованных ABS.", + ["VEH_NOS_PURGE_TT"] = "Нажмите назначенную комбинацию клавиш (по умолчанию [X]), чтобы выполнить очистку NOS в стиле 2Fast 2Furious.", + ["VEH_ABS_LIGHTS_TT"] = "Мигает стоп-сигналами при торможении с высокой скорости. Только для автомобилей, оборудованных ABS.", ["VEH_AUTO_BRAKE_LIGHTS"] = "Автоматические стоп-сигналы", ["VEH_SUBWOOFER"] = "Большой сабвуфер", - ["VEH_POPS_N_BANGS_TT"] = - "Включает громкие хлопки выхлопа, которые срабатывают каждый раз, когда вы отпускаете педаль газа на высоких оборотах. PS: Это пугает ближайших NPC.", + ["VEH_POPS_N_BANGS_TT"] = "Включает громкие хлопки выхлопа, которые срабатывают каждый раз, когда вы отпускаете педаль газа на высоких оборотах. PS: Это пугает ближайших NPC.", ["VEH_HIGH_BEAMS_TT"] = "Мигает дальним светом всякий раз, когда вы сигналите", ["VEH_SUBWOOFER_TT"] = "Динамики вашего автомобиля звучат немного громче и имеют более глубокие басы.", ["VEH_STRONG_CRASH"] = "Более сильные сбои", ["VEH_STRONG_WINDOWS"] = "Небьющиеся окна", ["VEH_HIGH_BEAMS"] = "Дальний свет на звуковом сигнале", - ["VEH_AUTO_BRAKE_LIGHTS_TT"] = - "Включает стоп-сигналы всякий раз, когда вы останавливаетесь. (Двигатель должен работать).", + ["VEH_AUTO_BRAKE_LIGHTS_TT"] = "Включает стоп-сигналы всякий раз, когда вы останавливаетесь. (Двигатель должен работать).", ["VEH_RGB_LIGHTS"] = "RGB-фары", - ["VEH_STRONG_CRASH_TT"] = - "Делает аварии еще страшнее из-за дрожания камеры, эффектов экрана, большей деформации и повреждений. Столкновения на высокой скорости могут оказаться фатальными.", + ["VEH_STRONG_CRASH_TT"] = "Делает аварии еще страшнее из-за дрожания камеры, эффектов экрана, большей деформации и повреждений. Столкновения на высокой скорости могут оказаться фатальными.", ["VEH_STRONG_WINDOWS_TT"] = "Стекла вашего автомобиля никогда не разобьются. Если не взорвется, конечно.", - ["VEH_RGB_LIGHTS_TT"] = - "Запускает петлю RGB на фарах вашего автомобиля. Вы можете настроить скорость в нижней части этого окна.", + ["VEH_RGB_LIGHTS_TT"] = "Запускает петлю RGB на фарах вашего автомобиля. Вы можете настроить скорость в нижней части этого окна.", ["VEH_AUTO_LOCK"] = "Автоматическая блокировка", ["VEH_FLAPPY_DOORS"] = "Хлопающие двери", - ["VEH_AUTO_LOCK_TT"] = - "Автоматически запирает ваш автомобиль, когда вы отходите от него, и снова разблокирует его, когда вы пытаетесь снова войти или пересесть на другой автомобиль.", + ["VEH_AUTO_LOCK_TT"] = "Автоматически запирает ваш автомобиль, когда вы отходите от него, и снова разблокирует его, когда вы пытаетесь снова войти или пересесть на другой автомобиль.", ["VEH_FLAPPY_DOORS_TT"] = "Я понятия не имею, почему я это сделал.", ["VEH_IV_EXIT"] = "Выход в стиле IV", ["VEH_LAUNCH_CTRL"] = "Контроль запуска", ["VEH_LAUNCH_CTRL_TT"] = "Имитирует управление запуском. Доступно только для высокопроизводительных автомобилей.", - ["VEH_IV_EXIT_TT"] = - "Имитирует стиль выхода из автомобиля GTA IV: удерживайте [F] в течение одной секунды, чтобы выключить двигатель, или нажмите обычное нажатие, чтобы оставить его работающим.", + ["VEH_IV_EXIT_TT"] = "Имитирует стиль выхода из автомобиля GTA IV: удерживайте [F] в течение одной секунды, чтобы выключить двигатель, или нажмите обычное нажатие, чтобы оставить его работающим.", ["VEH_SPEED_CIRCLE"] = "Круг", ["VEH_SPEED_BG"] = "Фон", ["VEH_SPEED_UNIT"] = "Единица скорости", ["VEH_KEEP_WHEELS_TURNED"] = "Держите колеса повернутыми", - ["VEH_KEEP_WHEELS_TURNED_TT"] = - "Не позволяет вашему игровому персонажу повторно центрировать колеса при выходе из автомобиля, телепортируя вас наружу.", + ["VEH_KEEP_WHEELS_TURNED_TT"] = "Не позволяет вашему игровому персонажу повторно центрировать колеса при выходе из автомобиля, телепортируя вас наружу.", ["VEH_MINES"] = "Автомобильные мины", ["VEH_MINES_TT"] = "Позволяет сбрасывать мину с любого наземного транспорта.", ["VEH_SPEED_MARK"] = "Маркировка", @@ -384,8 +351,7 @@ return { ["VEH_ENGINE_SWAP_SAME_ERR"] = "На вашем автомобиле уже установлен этот двигатель.", ["VEH_PAINT_PRIMARY_CB"] = "Как основной", ["VEH_PAINT_MATTE_TT"] = "Применяет или удаляет матовое покрытие для выбранного задания покраски или из него.", - ["VEH_PAINT_SAVE_TT"] = - "Чтобы сохранить этот цвет на личном автомобиле, зайдите в магазин модов и купите что-нибудь вроде тонировки стекол, пластин или чего-нибудь еще.", + ["VEH_PAINT_SAVE_TT"] = "Чтобы сохранить этот цвет на личном автомобиле, зайдите в магазин модов и купите что-нибудь вроде тонировки стекол, пластин или чего-нибудь еще.", ["VEH_PAINT_SECONDARY_CB"] = "В качестве вторичного", ["VEH_PAINT_MATTE_CB"] = "Матовый цвет", ["VEH_PAINT_NOT_SELECTED_ERR"] = "Пожалуйста, выберите первичный или вторичный или оба.", @@ -430,23 +396,19 @@ return { ["EF_IMPORT_SUCCESS"] = "Данные успешно импортированы.", ["EF_SAVED_NONE"] = "У вас нет сохраненных творений.", ["EF_IMPORT_DATA_INSTR"] = "Вставьте сюда данные Forge:", - ["EF_IMPORT_DATA_NOTICE"] = - "У вас есть творение с таким же названием. К имени добавлен тег [import]. Вы все равно можете переименовать его позже.", + ["EF_IMPORT_DATA_NOTICE"] = "У вас есть творение с таким же названием. К имени добавлен тег [import]. Вы все равно можете переименовать его позже.", ["EF_MULTIPLIER_LABEL"] = "Множитель %.2f", ["EF_MOVE_OBJECT"] = "Переместить объект:", ["EF_IMPORT_DATA_CLIPBOARD"] = "Вставить из буфера обмена", ["EF_ENTITY_GUN"] = "Сущность Пистолет", - ["EF_ENTITY_GUN_TT"] = - "Направьте свое оружие на объект в игровом мире и нажмите [E], чтобы добавить его в пул кузницы. После добавления вы сможете использовать мышь, чтобы перемещать его и манипулировать им.", - ["EF_SHARE_SUCCESS"] = - "Ваше сохраненное творение было скопировано в буфер обмена. Если вы поделитесь скопированными данными с другими пользователями этого скрипта, они смогут импортировать их в свои сохраненные творения.", + ["EF_ENTITY_GUN_TT"] = "Направьте свое оружие на объект в игровом мире и нажмите [E], чтобы добавить его в пул кузницы. После добавления вы сможете использовать мышь, чтобы перемещать его и манипулировать им.", + ["EF_SHARE_SUCCESS"] = "Ваше сохраненное творение было скопировано в буфер обмена. Если вы поделитесь скопированными данными с другими пользователями этого скрипта, они смогут импортировать их в свои сохраненные творения.", ["EF_CHILD_ALPHA"] = "Прозрачность дочернего элемента: %d", ["EF_IMPORT_DATA_CLIPBOARD_ERR"] = "Ваш буфер обмена пуст!", ["GENERIC_APPLY"] = "Применять", ["GENERIC_USE"] = "Использовать", ["SELF_MAGIC_BULLET"] = "Волшебная пуля", - ["SELF_MAGIC_BULLET_TT"] = - "Эта функция не обеспечивает автоматическое прицеливание или автоматический огонь. Он просто запоминает последнего пешехода, в которого вы целились, и перенаправляет выстрел на него, когда вы стреляете, даже если вы стреляете в другое место. Цель сбрасывается, когда вы прекращаете прицеливаться.", + ["SELF_MAGIC_BULLET_TT"] = "Эта функция не обеспечивает автоматическое прицеливание или автоматический огонь. Он просто запоминает последнего пешехода, в которого вы целились, и перенаправляет выстрел на него, когда вы стреляете, даже если вы стреляете в другое место. Цель сбрасывается, когда вы прекращаете прицеливаться.", ["SUBTAB_GUI"] = "Пользовательский интерфейс", ["GENERIC_GENERAL_LABEL"] = "Общий", ["SELF_LASER_SIGHTS"] = "Лазерные прицелы", @@ -458,39 +420,31 @@ return { ["VEH_KERS_BOOST"] = "КЕРС Буст", ["VEH_OFFROAD_ABILITIES"] = "Внедорожные способности", ["VEH_OFFROAD_ABILITIES_TT"] = "Увеличивает внедорожные возможности вашего автомобиля.", - ["SELF_LASER_SIGHTS_TT"] = - "Включает лазерные прицелы на вашем огнестрельном оружии. Вы можете включать и выключать прицелы, нажав [%s]", - ["VEH_FORCE_NO_TC_TT"] = - "«Только велосипеды»: ваш автомобиль отключается от системы контроля тяги, что позволяет вам совершать заносы и заносы на велосипедах.", - ["VEH_KERS_BOOST_TT"] = - "Оснащает ваш автомобиль системой KERS (система восстановления кинетической энергии), аналогичной автомобилям Формулы-1.", + ["SELF_LASER_SIGHTS_TT"] = "Включает лазерные прицелы на вашем огнестрельном оружии. Вы можете включать и выключать прицелы, нажав [%s]", + ["VEH_FORCE_NO_TC_TT"] = "«Только велосипеды»: ваш автомобиль отключается от системы контроля тяги, что позволяет вам совершать заносы и заносы на велосипедах.", + ["VEH_KERS_BOOST_TT"] = "Оснащает ваш автомобиль системой KERS (система восстановления кинетической энергии), аналогичной автомобилям Формулы-1.", ["VEH_LOW_SPEED_WHEELIE"] = "Низкоскоростной вилли", ["VEH_RALLY_TYRES"] = "Раллийные шины", ["VEH_NO_ENGINE_BRAKE_TT"] = "Позволяет двигаться накатом, не нажимая на педаль газа, без большой потери скорости.", - ["VEH_RALLY_TYRES_TT"] = - "Оснащает ваш автомобиль раллийными шинами, которые еще больше улучшают управляемость на бездорожье.", + ["VEH_RALLY_TYRES_TT"] = "Оснащает ваш автомобиль раллийными шинами, которые еще больше улучшают управляемость на бездорожье.", ["VEH_FORCE_NO_TC"] = "Нет контроля тяги", ["VEH_JUMP_TT"] = "Оснащает ваш автомобиль возможностью прыжков, как у Ruiner 2000.", - ["VEH_LOW_SPEED_WHEELIE_TT"] = - "Только для велосипедов: позволяет кататься на задних колесах на очень низких скоростях, как на «Манчезе».", + ["VEH_LOW_SPEED_WHEELIE_TT"] = "Только для велосипедов: позволяет кататься на задних колесах на очень низких скоростях, как на «Манчезе».", ["VEH_ROCKET_BOOST_TT"] = "Оснащает ваш автомобиль ракетным ускорителем, как у «Мстителя».", ["VEH_ROCKET_BOOST"] = "Ракетное ускорение", ["VEH_PARACHUTE"] = "Парашютные возможности", ["VEH_STEER_REAR_WHEELS"] = "Управление задними колесами", - ["VEH_PARACHUTE_TT"] = - "Оснащает ваш автомобиль парашютом, похожим на «Руинер 2000».\n\nВажно: возможность прыжка также должна быть включена.", + ["VEH_PARACHUTE_TT"] = "Оснащает ваш автомобиль парашютом, похожим на «Руинер 2000».\n\nВажно: возможность прыжка также должна быть включена.", ["VEH_STEER_ALL_WHEELS"] = "Управление всеми колесами", ["SETTINGS_LANGUAGE"] = "Язык", - ["VEH_STEER_HANDBRAKE_TT"] = - "Управляет задними колесами вашего автомобиля, когда вы держите ручной тормоз, как в автомобилях-монстрах.", + ["VEH_STEER_HANDBRAKE_TT"] = "Управляет задними колесами вашего автомобиля, когда вы держите ручной тормоз, как в автомобилях-монстрах.", ["SETTINGS_TOOLTIPS"] = "Отключить всплывающие подсказки", ["VEH_STEER_HANDBRAKE"] = "Ручной тормоз", ["VEH_JUMP"] = "Возможность прыжка", ["SETTING_WINDOW_MOVEABLE_TT"] = "Позволяет свободно перемещать окно", ["SETTING_WINDOW_POS_Y"] = "Позиция Y", ["SETTING_WINDOW_POS_SNAP"] = "Привязка к положению", - ["SETTING_WINDOW_POS_TT"] = - "Они предназначены только для отображения. Включите «Подвижное окно», затем перетащите верхнюю панель, чтобы свободно перемещать окно.", + ["SETTING_WINDOW_POS_TT"] = "Они предназначены только для отображения. Включите «Подвижное окно», затем перетащите верхнюю панель, чтобы свободно перемещать окно.", ["SETTING_WINDOW_POS_X"] = "Позиция X", ["SETTING_WINDOW_WIDTH"] = "Ширина окна", ["SETTING_WINDOW_STYLE"] = "Стиль окна", @@ -501,8 +455,7 @@ return { ["SETTING_WINDOW_HEIGHT"] = "Максимальная высота окна", ["SETTING_WINDOW_ALPHA"] = "Прозрачность окна", ["SETTING_WINDOW_POS_RESET"] = "Сбросить позицию", - ["SETTING_WINDOW_HEIGHT_TT"] = - "Окно является динамическим, его размер изменяется по вертикали в зависимости от содержимого.\n\nЭта опция позволяет вам установить максимально допустимую высоту.", + ["SETTING_WINDOW_HEIGHT_TT"] = "Окно является динамическим, его размер изменяется по вертикали в зависимости от содержимого.\n\nЭта опция позволяет вам установить максимально допустимую высоту.", ["SETTINGS_KEYBINDS_KEYBOARD"] = "Клавиатура", ["SETTINGS_KEYBINDS"] = "Сочетания клавиш", ["SETTING_HOTKEY_WAIT"] = "Нажмите любую клавишу", @@ -516,16 +469,14 @@ return { ["WRLD_KILL_ALL"] = "Убейте всех врагов", ["WRLD_KILL_ALL_TT"] = "Убивает всех ближайших врагов.", ["WRLD_FLEE_ALL"] = "Напугать всех врагов", - ["WRLD_FLEE_ALL_TT"] = - "Работает в 5-секундном цикле: заставляет всех ближайших врагов бросить оружие и покинуть территорию.", + ["WRLD_FLEE_ALL_TT"] = "Работает в 5-секундном цикле: заставляет всех ближайших врагов бросить оружие и покинуть территорию.", ["WRLD_FLEE_ALL_NOTIF"] = "Заставляет ближайших врагов бежать. Пожалуйста, подождите.", ["WRLD_KILL_ALL_NOTIF"] = "Выполнено «Убить всех врагов»", ["SELF_KATANA_TT"] = "Заменяет одну из четырех выбранных вами моделей оружия ближнего боя на катану.", ["WRLD_PUBLIC_ENEMY"] = "Враг общества №1", ["WRLD_PUBLIC_ENEMY_TT"] = "Все ближайшие NPC нападут на вас и надерут вам задницу. Включая животных и полицейских.", ["GENERIC_IMPORTANT"] = "Важный", - ["GUI_NEW_LAYOUT_NOTICE"] = - "Пользовательский интерфейс скрипта теперь независим от меню. Нажмите %s, чтобы переключить его.", + ["GUI_NEW_LAYOUT_NOTICE"] = "Пользовательский интерфейс скрипта теперь независим от меню. Нажмите %s, чтобы переключить его.", ["SETTING_HOTKEY_FOUND"] = "Новый ключ:", ["YRV3_CWASH_LABEL"] = "Автомойка", ["YRV3_CWASH_CASH_CLEAN"] = "Чистый:", @@ -535,9 +486,24 @@ return { ["YRV3_CWASH_HEAT"] = "Уровень нагрева:", ["YRV3_HELITOURS_LABEL"] = "Хиггинс Хелитурс", ["YRV3_WEED_SHOP_LABEL"] = "Магазин травки", - ["SELF_MC_BIKE_ANIMS_TT"] = - "Восстанавливает альтернативную анимацию езды на велосипеде, которая по какой-то причине была отключена. Чтобы эти анимации работали, вы должны быть зарегистрированы как MC и включить эту опцию.", + ["SELF_MC_BIKE_ANIMS_TT"] = "Восстанавливает альтернативную анимацию езды на велосипеде, которая по какой-то причине была отключена. Чтобы эти анимации работали, вы должны быть зарегистрированы как MC и включить эту опцию.", ["YRV3_CWASH_LEGAL_WORK_CD"] = "Отключить время восстановления юридической работы", ["SELF_MC_BIKE_ANIMS"] = "Включить стиль езды MC", - ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Отключить время восстановления незаконной работы" + ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "Отключить время восстановления незаконной работы", + ["VEH_LAUNCH_CTRL_RIDICULOUS"] = "Нелепый", + ["VEH_LAUNCH_CTRL_REALISTIC"] = "Реалистичный", + ["VEH_LAUNCH_CTRL_ERR"] = "В данный момент управление запуском недоступно. Ваш двигатель поврежден.", + ["SUBTAB_STANCER"] = "Стэнсер", + ["VEH_LAUNCH_CTRL_MODE"] = "Режим управления запуском", + ["VEH_STANCE_TRACK_WIDTH"] = "Ширина гусеницы", + ["VEH_STANCE_CAMBER"] = "Камбер", + ["VEH_STANCE_FRONT_AXLE"] = "Передний мост", + ["VEH_STANCE_INCOMPATIBLE"] = "Эта опция несовместима с текущим автомобилем.", + ["VEH_STANCE_GEN_OPTIONS"] = "Общие параметры", + ["VEH_STANCE_WHEEL_SIZE"] = "Размер колеса", + ["VEH_STANCE_NON_STOCK"] = "Для этого варианта требуются нестандартные колеса.", + ["VEH_STANCE_REAR_AXLE"] = "Задний мост", + ["VEH_STANCE_WHEEL_WIDTH"] = "Ширина колеса", + ["VEH_STANCE_COPY_FB"] = "Копировать спереди назад", + ["VEH_STANCE_RIDE_HEIGHT"] = "Высота посадки" } diff --git a/includes/lib/translations/zh-CN.lua b/includes/lib/translations/zh-CN.lua index 0b8813e..df80c35 100644 --- a/includes/lib/translations/zh-CN.lua +++ b/includes/lib/translations/zh-CN.lua @@ -23,8 +23,7 @@ return { ["VEH_DRIFT_SMOKE"] = "轮胎冒烟", ["VEH_DRIFT_SMOKE_COL"] = "轮胎烟色", ["VEH_NO_JET_STALL"] = "禁用发动机熄火", - ["VEH_FAST_JETS_TT"] = - "使大多数飞机更快,只要它们默认可以达到 240 公里/小时,它们的最大速度将增加到 555 公里/小时。\n\n像除尘器这样较慢的飞机不会受益于此,除非你通过俯冲强制它们达到速度阈值。\n\n注意:你的齿轮(飞机轮)必须向上。", + ["VEH_FAST_JETS_TT"] = "使大多数飞机更快,只要它们默认可以达到 240 公里/小时,它们的最大速度将增加到 555 公里/小时。\n\n像除尘器这样较慢的飞机不会受益于此,除非你通过俯冲强制它们达到速度阈值。\n\n注意:你的齿轮(飞机轮)必须向上。", ["VEH_FAST_JETS"] = "快速飞机", ["VEH_NO_JET_STALL_TT"] = "当您按住刹车按钮时,飞机发动机将不再熄火。", ["VEH_NO_TURBULENCE"] = "禁用空气湍流", @@ -74,8 +73,7 @@ return { ["FTLBD_GET_IN_MSG"] = "您目前不在平板卡车上。您可以从街上偷一个或使用下面的按钮生成一个新的。", ["SETTINGS_RESET_PRESERVE_KEYS"] = "可选:选择要保留的配置项。", ["SETTINGS_ENTITY_REPLACE"] = "自动替换实体", - ["SETTINGS_ENTITY_REPLACE_TT"] = - "该项目对可以生成的实体(行人、车辆、物体)数量有限制。所有功能都遵守该限制,以防止实体垃圾邮件或阻塞游戏。一旦达到某种实体类型的限制并尝试生成新实体,此选项允许脚本自动替换旧的生成实体。", + ["SETTINGS_ENTITY_REPLACE_TT"] = "该项目对可以生成的实体(行人、车辆、物体)数量有限制。所有功能都遵守该限制,以防止实体垃圾邮件或阻塞游戏。一旦达到某种实体类型的限制并尝试生成新实体,此选项允许脚本自动替换旧的生成实体。", ["WARN_PED_SPAWN_LIMIT"] = "Ped 生成上限已达到!如果您想在达到限制时自动替换旧实体,请考虑在“设置”选项卡中启用“自动替换实体”。", ["GENERIC_UNAVAILABLE"] = "目前不可用。", ["WARN_VEH_SPAWN_LIMIT"] = "车辆生成上限已达到!如果您想在达到限制时自动替换旧实体,请考虑在“设置”选项卡中启用“自动替换实体”。", @@ -491,5 +489,21 @@ return { ["YRV3_CWASH_LEGAL_WORK_CD"] = "禁用法律工作冷却", ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "禁用非法工作冷却", ["SELF_MC_BIKE_ANIMS_TT"] = "恢复由于某种原因禁用的备用自行车骑行动画。您必须注册为 MC 并启用此选项才能使这些动画正常工作。", - ["SELF_MC_BIKE_ANIMS"] = "启用 MC 骑行风格" + ["SELF_MC_BIKE_ANIMS"] = "启用 MC 骑行风格", + ["SUBTAB_STANCER"] = "斯坦瑟", + ["VEH_LAUNCH_CTRL_MODE"] = "发射控制模式", + ["VEH_STANCE_CAMBER"] = "外倾角", + ["VEH_LAUNCH_CTRL_REALISTIC"] = "实际的", + ["VEH_LAUNCH_CTRL_RIDICULOUS"] = "荒谬的", + ["VEH_LAUNCH_CTRL_ERR"] = "目前无法使用启动控制。你的发动机损坏了。", + ["VEH_STANCE_TRACK_WIDTH"] = "轨道宽度", + ["VEH_STANCE_NON_STOCK"] = "此选项需要非库存车轮。", + ["VEH_STANCE_WHEEL_SIZE"] = "车轮尺寸", + ["VEH_STANCE_WHEEL_WIDTH"] = "轮宽", + ["VEH_STANCE_FRONT_AXLE"] = "前轴", + ["VEH_STANCE_REAR_AXLE"] = "后桥", + ["VEH_STANCE_COPY_FB"] = "从前到后复印", + ["VEH_STANCE_GEN_OPTIONS"] = "一般选项", + ["VEH_STANCE_INCOMPATIBLE"] = "此选项与当前车辆不兼容。", + ["VEH_STANCE_RIDE_HEIGHT"] = "行驶高度" } diff --git a/includes/lib/translations/zh-TW.lua b/includes/lib/translations/zh-TW.lua index 02f7987..dbd57b5 100644 --- a/includes/lib/translations/zh-TW.lua +++ b/includes/lib/translations/zh-TW.lua @@ -28,8 +28,7 @@ return { ["VEH_NO_JET_STALL_TT"] = "當您按住制動按鈕時,飛機發動機將不再熄火。", ["VEH_MG_TRIGGERBOT_ENEMY"] = "僅限敵人", ["VEH_NO_JET_STALL"] = "禁用發動機熄火", - ["VEH_FAST_JETS_TT"] = - "使大多數飛機更快,只要它們默認可以達到 240 公里/小時,它們的最大速度將增加到 555 公里/小時。 \n\n像除塵器這樣較慢的飛機不會受益於此,除非你通過俯衝強制它們達到速度閾值。 \n\n注意:你的齒輪(飛機輪)必須向上。", + ["VEH_FAST_JETS_TT"] = "使大多數飛機更快,只要它們默認可以達到 240 公里/小時,它們的最大速度將增加到 555 公里/小時。 \n\n像除塵器這樣較慢的飛機不會受益於此,除非你通過俯衝強制它們達到速度閾值。 \n\n注意:你的齒輪(飛機輪)必須向上。", ["VEH_MG_TRIGGERBOT"] = "機槍扳機機器人", ["VEH_MG_TRIGGERBOT_ENEMY_TT"] = "機槍扳機機器人只射擊敵人。", ["VEH_MG_TRIGGERBOT_TT"] = "自動發射飛機的機槍。", @@ -73,8 +72,7 @@ return { ["SETTINGS_RESET_PRESERVE_KEYS"] = "可選:選擇要保留的配置項。", ["FLTBD_EXIT_VEH_ERR"] = "首先退出當前車輛。", ["FTLBD_GET_IN_MSG"] = "您目前不在平闆卡車上。您可以從街上偷一個或使用下面的按鈕生成一個新的。", - ["SETTINGS_ENTITY_REPLACE_TT"] = - "該項目對可以​​生成的實體(行人、車輛、物體)數量有限制。所有功能都遵守該限制,以防止實體垃圾郵件或阻塞遊戲。一旦達到某種實體類型的限制並嘗試生成新實體,此選項允許腳本自動替換舊的生成實體。", + ["SETTINGS_ENTITY_REPLACE_TT"] = "該項目對可以​​生成的實體(行人、車輛、物體)數量有限制。所有功能都遵守該限制,以防止實體垃圾郵件或阻塞遊戲。一旦達到某種實體類型的限制並嘗試生成新實體,此選項允許腳本自動替換舊的生成實體。", ["SETTINGS_CFG_RESET"] = "重置保存的配置", ["GENERIC_UNAVAILABLE"] = "目前不可用。", ["INF_ATTACHMENT_DROP"] = "附件掉了。", @@ -491,5 +489,21 @@ return { ["SELF_MC_BIKE_ANIMS"] = "啟用 MC 騎行風格", ["YRV3_CWASH_LEGAL_WORK_CD"] = "禁用法律工作冷卻", ["YRV3_CWASH_ILLEGAL_WORK_CD"] = "禁用非法工作冷卻", - ["SELF_MC_BIKE_ANIMS_TT"] = "恢復由於某種原因禁用的備用自行車騎行動畫。您必須註冊為 MC 並啟用此選項才能使這些動畫正常工作。" + ["SELF_MC_BIKE_ANIMS_TT"] = "恢復由於某種原因禁用的備用自行車騎行動畫。您必須註冊為 MC 並啟用此選項才能使這些動畫正常工作。", + ["VEH_LAUNCH_CTRL_MODE"] = "發射控制模式", + ["SUBTAB_STANCER"] = "斯坦瑟", + ["VEH_LAUNCH_CTRL_REALISTIC"] = "實際的", + ["VEH_LAUNCH_CTRL_RIDICULOUS"] = "荒謬的", + ["VEH_STANCE_CAMBER"] = "外傾角", + ["VEH_STANCE_WHEEL_SIZE"] = "車輪尺寸", + ["VEH_LAUNCH_CTRL_ERR"] = "目前無法使用啟動控制。你的發動機損壞了。", + ["VEH_STANCE_TRACK_WIDTH"] = "軌道寬度", + ["VEH_STANCE_FRONT_AXLE"] = "前軸", + ["VEH_STANCE_WHEEL_WIDTH"] = "輪寬", + ["VEH_STANCE_INCOMPATIBLE"] = "此選項與當前車輛不兼容。", + ["VEH_STANCE_NON_STOCK"] = "此選項需要非庫存車輪。", + ["VEH_STANCE_REAR_AXLE"] = "後橋", + ["VEH_STANCE_RIDE_HEIGHT"] = "行駛高度", + ["VEH_STANCE_COPY_FB"] = "從前到後復印", + ["VEH_STANCE_GEN_OPTIONS"] = "一般選項" } diff --git a/includes/modules/Vehicle.lua b/includes/modules/Vehicle.lua index e7bc6b3..91ca8a7 100644 --- a/includes/modules/Vehicle.lua +++ b/includes/modules/Vehicle.lua @@ -1274,6 +1274,16 @@ function Vehicle:SetAdvancedFlag(flag, toggle) self:Resolve():SetAdvancedFlag(flag, toggle) end +---@param fHeight float positive = lower, negative = higher. should use values between `-0.1` and `0.1` +function Vehicle:SetRideHeight(fHeight) + if (not self:IsValid()) then + return + end + + -- should probably start sanitizing values before writing to memory + self:Resolve():SetRideHeight(fHeight) +end + ---@param bone_index number ---@return fMatrix44 function Vehicle:GetBoneMatrix(bone_index) diff --git a/scripts/translations/generate_translations.py b/scripts/translations/generate_translations.py index 6903c34..ce4a267 100644 --- a/scripts/translations/generate_translations.py +++ b/scripts/translations/generate_translations.py @@ -177,7 +177,6 @@ def write_hashmap(): print("Updating hash map...") with open(HASHMAP_PATH, "w", encoding="utf-8") as f: json.dump(HASHMAP, f, indent=4) - print("Done.") def generate_translations(dry_run: bool = False, diff_only: bool = False): diff --git a/scripts/translations/hashmap.json b/scripts/translations/hashmap.json index 4b82115..96c4b95 100644 --- a/scripts/translations/hashmap.json +++ b/scripts/translations/hashmap.json @@ -356,7 +356,7 @@ "SETTINGS_ENTITY_REPLACE": 171535354, "SETTINGS_ENTITY_REPLACE_TT": 59617883, "CP_AUTOPLAY_SLOTS_TIME_DELAY": 1687112399, - "VEH_ENGINE_SWAP_INCOMPATIBE": 3435064276, + "GENERIC_CARS_ONLY": 3435064276, "VEH_COBRA_MANEUVER": 1495230376, "VEH_COBRA_MANEUVER_TT": 4096238823, "VEH_COBRA_MANEUVER_TOO_lOW": 2453306327, @@ -489,5 +489,21 @@ "YRV3_CWASH_LEGAL_WORK_CD": 1888241516, "YRV3_CWASH_ILLEGAL_WORK_CD": 3778589484, "SELF_MC_BIKE_ANIMS": 3787903104, - "SELF_MC_BIKE_ANIMS_TT": 2261171158 + "SELF_MC_BIKE_ANIMS_TT": 2261171158, + "SUBTAB_STANCER": 1457316635, + "VEH_LAUNCH_CTRL_MODE": 902945881, + "VEH_LAUNCH_CTRL_REALISTIC": 3556046693, + "VEH_LAUNCH_CTRL_RIDICULOUS": 3121743094, + "VEH_LAUNCH_CTRL_ERR": 817410668, + "VEH_STANCE_CAMBER": 2314729583, + "VEH_STANCE_TRACK_WIDTH": 3796057203, + "VEH_STANCE_WHEEL_WIDTH": 4108370513, + "VEH_STANCE_WHEEL_SIZE": 1236796012, + "VEH_STANCE_NON_STOCK": 2462804441, + "VEH_STANCE_INCOMPATIBLE": 1676346899, + "VEH_STANCE_FRONT_AXLE": 3200455966, + "VEH_STANCE_REAR_AXLE": 2802365256, + "VEH_STANCE_COPY_FB": 294869527, + "VEH_STANCE_GEN_OPTIONS": 3430492750, + "VEH_STANCE_RIDE_HEIGHT": 4113493823 } \ No newline at end of file From 85742c96c47f7989a97f57e6027085d7526cb3ed Mon Sep 17 00:00:00 2001 From: SAMURAI Date: Fri, 2 Jan 2026 06:10:03 +0100 Subject: [PATCH 11/11] docs(Readme): rewrite readme.md --- README.md | 92 +++++++++++++++++++++++++++++++++++++++------------- docs/ss.png | Bin 0 -> 485121 bytes 2 files changed, 69 insertions(+), 23 deletions(-) create mode 100644 docs/ss.png diff --git a/README.md b/README.md index f0948e2..1fd65a1 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,87 @@ -

- Samurai's-Scripts -

+ -#### A Lua script written for [YimMenu](https://github.com/YimMenu/YimMenu) and [Tupoye-Menu](https://github.com/TupoyeMenu/TupoyeMenu), centered around roleplaying and having fun in a game full of ad bots and toxic cheaters +# About -[![sv](https://img.shields.io/badge/Script%20Version-v1.7.5-blue)](https://github.com/YimMenu-Lua/Samurais-Scripts/releases/latest) -[![gv](https://img.shields.io/badge/Game%20Build-latest-green)](https://github.com/YimMenu-Lua/Samurais-Scripts) -[![gv](https://img.shields.io/badge/Online%20Version-latest-green)](https://github.com/YimMenu-Lua/Samurais-Scripts) +![ss](./docs/ss.png) -###   +A modular GTA V Lua framework focused on enhancing the player's experience through fun features, online business options, and unpopular opinions. -> [!Note] -> **Legacy Only.** +## Getting Started -___ +### Setup -## Setup - -1. Download the latest zip archive from the [releases section](https://github.com/YimMenu-Lua/Samurais-Scripts/releases). -2. Extract the archive to YimMenu's `scripts` folder: +- Download the latest zip archive from the [releases section](https://github.com/YimMenu-Lua/Samurais-Scripts/releases/latest). +- Extract the archive to YimMenu's `scripts` folder: %AppData%\YimMenu\scripts -3. Once in-game, press **[F5]** to toggle the script's UI. +- Once in-game, press **[F5]** to toggle the script's UI. -## Commands +### Commands Console -- Use **[F4]** to toggle the command executor window. +- Use **[F4]** to toggle the console window. - Type `!ls` or `!dump` to dump all available commands. -- Default commands are prefixed with an exclamation mark. +- All default commands are prefixed with an exclamation mark ``. + +## Contributing + +Contributions are what make the open source community a great place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. + +If you have a suggestion that would make this project better, please fork the repo and create a pull request. You can also simply open a [feature request](https://github.com/YimMenu-Lua/Samurais-Scripts/issues/new?template=request.yml). + +Don't forget to give the project a star! + +1. Fork the repo +2. Create your feature branch. +3. Commit your changes. +4. Open a Pull Request. + +Refer to the [Contribution Guidelines](./CONTRIBUTING.md) for more details on the project's structure and conventions. + +## Documentation + +This project was rewritten from scratch using [SmallBase](https://github.com/xesdoog/SmallBase). For API documentation, please refer to the [docs](https://github.com/xesdoog/SmallBase/tree/main/docs). + +>[!Note] +> Some parts of the API were refactored or extended but nothing has drastically changed. +> All changes introduced in this project are documented in the source. + +## Contact + + -## Credits +## Acknowledgments -| Awesome Person | Contribution | -| :---: | :---: | +| | | +| :---: | :---: | | [Harmless](https://github.com/harmless05) | Shift-Drift | | [NiiV3AU](https://github.com/NiiV3AU) | German translations | | [gir489returns](https://github.com/gir489returns) | [Casino Pacino](https://github.com/YimMenu-Lua/Casino-Pacino) | | [tupoy-ya](https://github.com/tupoy-ya) | Several contributions and shared knowledge | -| [szalikdev](https://github.com/szalikdev) | Revived the project and joined the dev team | +| [szalikdev](https://github.com/szalikdev) | Revived the project and joined the cause | +| [ShinyWasabi](https://github.com/shinywasabi) | Foundational community tooling frequently used as reference | +| [UnknownCheats.me](https://unknowncheats.me) | A treasure trove of information | diff --git a/docs/ss.png b/docs/ss.png new file mode 100644 index 0000000000000000000000000000000000000000..b54fa98f6479319696d1e6c13fdf389ed550b3c9 GIT binary patch literal 485121 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

sFpB$t;5p=uqzAIu3S3GU zvG1FHY&A{Vh=Q2ZwqI)mxV$XjiER2Is1}Ip{B9>U@I7_+bJL^i=zLHT!k-AysXCr@n-jrh7E$T2rLJNw&v`(z+iR73O&V9>2;yIQiA*Em=8T zday@9$%pwiTcxG`8=f}rbDKA%ftu0KX}H zETyRx#+`Gbo{RQVt3DBeXmgLsMbvNx{H8W%<7g0) zHIuy+=|-R4D{GeAqEM>Gf4y?8L=(WsVk$s&|3e$yBCNV=%@_@(%y9CvJuvC?LSLGX z?2N|teYnS2X8WtJ%8*2nh$ZP6uuUEbsk~$go{>1!2_h(dRiIq2n38Crd3O+LdVIc; z16e6EN&*kxLTwela-#sY`-AJM3&JXn=kxk=@3_^E+QydWYt^bOy$Vuo<&`Q^0NOm= zk+}r)wAde_*6h^?kvUPm5A61V=vLzdSDC zW-enfUOX(k3K(f_h(D7T=%MHMYW{YL%MPIR48FNoaQbT9=iL;a<>}@@NY7Skn|ERp z>pufNyyP4~@vav$N$;x2k@OCW>hZDrG2o?^i9wNBQuD7Z5^Jmd-fxXDfP)q6mjCp| z=OxaZT$YK&DjglqjMju@%BIL#zHJ~c#rb=nk@!eGCA~GsD7!X|&b;3k1QY-<@x(Tz z054LXKDNI+*)52+_zl#q(VfNg!=?*(w8C489}CrZazZiO+^8FKy0ao&kk_xLAnZN( z%LD`SFlMpJ@oN@^|w}Th!6DOM_kjY`*NZxbBW$8rotUu`TOWq7(3nq+c={@ z!&UukEK3z`*n@@wp1XC!C^Zc+4g2W%C}a7q@1BSFMBBwWIj`F%-!(aL<>gXabPPby zv#EY%7tGcoSw=0;GU;fO2@jj_PP>|2wb;QX6cU=~;bC7%W01cKwu95qPGZP|Z!QF| z$_-PRq#fCpne~&0^dtMy3HrTnI#6)`U(pYK>E*DX5s_eP+<4mNBifN#IzA#$A>cWcd zR~mh}u&0De=|x8^p>a~2n9M=X5rs)-7?b|zHX#D}uIZ1s>Z$y0?0&&!_q7J&SZs1& zA6BhRNW~dnPf=CGRNjERKtY9#QBS+u6T;_I*OwxgoBP?-Cl;InI%G9}&ueug{1^!7 zFb>@>3bLWN?(~M0p=95*f|L8EHVaxEmm$IF69UZU$VS||KYw4MjroIH!(SXdZi(*c zw>~LK&sy%X?AmYoP{-S&Ia}C#w&2#hpd^au!zXUIuug#I5e)pS()oO0W)@*sW0_r= z_>F{=MMcs_LG*L{iy4ixzZwr_wMCilpLd003;cXm`bTC?G`5w)weA)G;mmZ9NIF(( z?b48?-8uh)lYaqq<$AMM@A~{^U2c>KS(Q1JvPSG)C6V^;#KovSo!rNLJVWKLsGkmL z1cZBc*&}DQ|0?ExIMp7pQ(aWjOcfVo4O~tX@p>&xpQAdind&lXJK&ue1+ zV8%Cym6zWKdwfx?(MbwU0|+XTY{$e~Z%Q}c3kk$0s>X{JysSA_Hsn9WxZn1IJ@)1# ziK&j(^RP!iyPfQVh`s_J2&%*JP4wTMu9z<6_u8wbbF+}l`vC)?`KtP2x#3gY+{l4c zKuAB6Yr`D9_B3Xy>UdC}lccv4T@GpRyGfI`!NdOi8)TU=4ItpCNI58|ZoK*@1ghu( z4iI~jrL>!&IPG+-(qi8S1a6IT?UC0LJA>%_Zj(Pp%}e5tjEijg^EfHmGV|#5+$FJA zQ|%nA9A$0PC;0@w=vL0S8O=^m5NO_3Nb}c-?yvDrD9Yn8k1FqD?Umj2&woUHx;p@# zFrU-?=+YpWq7jk{UUblJ@QJ?4e1&-Gs3BBq-?w1KmmKC7sqf~#*3PCJCqPg9rBRrR zlZB*t)6?*{H#7@+Ug{9~wb2`g>E`xzp&O(7p8b@5pd?Q3ol}R(lUnugOQ{#N^f$2{ z8Uh-_-aENG!`;Y|h~EyPM-CvKt2FgmnF}Y5v~p9C;QVPVF;VjFbYq&XJU(Vo2`PYw{RlTpXVD|EIG#w}rZxE7 z+;`Ac?OBb9Y+K-%w6oDRCj156Ph6Z7Hd$(-Meq`5nUvxvmo%B2INuWo(%kD zmV7nir4&)ZC7G_EGKJ?JBY*(3{b;g}3KN`Px%g^+~ zt5D<6iAFcl5|?RcN~==PiHdqo^YAMHczdR;OzJoKHenS5e1#E7(|)pb{SmP9_L;X-^r1lRo*b z+S|dU;ToK{ODtBGA;$F+S6c~vHsJO2X+1ZhtL#E%r$T5~wEH2}r7g630Wv;m~tnEuhlC^&$%q*Ju&Fs8KiW#HZeEP_IFYbv7q+OlPz(&b!|H#ysNRX+Q z-y&oS#B$ly#eeG(Pij3WaM@x%TmM5TFfH%rhHtu_D~cF0iCCmM>`)hoQl-(@8pOxg z9o#DTWst{m4UC;C;y-iYrxWybK_!bE8Pwx2ux*<{y#0AEOy1v^BE1fooD|wOViQHN zMl0_;D0t9q-*2iaeYp3zOBTXDdxMfl7kXTrJ*K2Ma+73{MoRyaf(n7+f|$bw+e5XF z8v!k5%Sjv0SxGx&P)HUstwHjbAY~|@4?fA6?i6z!Zp9d!$~4YjvzKue8_;4M*5&J! zVD3fAIpTVJJi=xx>QYQ0=lWr2!%G-gm66j}>zgO1H_(4f8|sV=*s^2TsNV>qEHfyr z3zVE=se(n06xWb=6iogbahT$6euX5qC$la@A>-x}zQC_Q*b7{vmd(2%y8aEZi9!;f z>#4iZhm^}yh^I@X(FHuTUFFpB5+dK_WdhXTtA4C~_WfICf?v41VU&A`#*_v@m(mqz zo&ibIq2YxgpM26pkF=EXoCBxzeTW&V^|ZM!JaQd$f!kP)%ndJ}lh^x)O7If`4d1#C z5f;g85;Vr+1((?ZrcKgQ0H){)Q+C~+oFNSt{pvpQursWt-)!R6Mb@v6$J4}>q2?d3|MM_rf< zxvQ!0iKps<#o9OG_yliM^eJyt)cc2E<-97bulcT`jEgJ!zw%GEy+2I_xs#5{pls`? zKsEuaF@4kBHWbz$gFo`i_tC%n8wwD3_uPaJK9WIafR6&x_@1PO3@CzSAUFn-rgr6qg}m=zno(0R1fA}u(WCQ4@6OVcKEf_Al~3h|td+TpSf)v_l6UDe z&Y-Kx?5rmwc}IBiz3y7zh4DsH=>BI8vsbxi1^E9u-~@EL+dx4TbF3ehYp!YuF(0Wd zzcJmH?`qkI_S!Hi=v{Mt`KjrMKFB5DlWNE3fDy{6J?vwGrdRgV!3>Cu|5z6-h%)J} zFbwQZV!4A@)XNVRR(b2P-2Y~v<@;-KsO>|NgLBwe(k1wnWgINZoE2=?f|YVYNUS7S z7yKZTG9?Ay;H{MF6W6Q8n}^r`1!91%f%%E5HTqZYZCcMZ*3A_(ecutpN?al2R`!vD ztR8mfE$wq@48aN8J@2d*7iKN2eCm+?C0eukA4KUd30m82p8}3~1;In&PzFH=X6tOr zCsEuz-*=I?xjuIu*J`jwZauLN`@g5cD@=kyaWOSB4-mo81%krR@$ics{?@rP?lF#! z(+@>aVhhSD+J%@33(_=fdG`Eaxb?`3m+CG5|H*bDPdYu?D0Fj(bbn%ULtl87b%)E# z!AR-QgfT3of#+L_J7He25|>ZDcQC_$`tVPC*Sh<$D(t>VQwO{GG^)vOoeU2*UDU~> zQt|SCvdgfvZ97Zj9GXGg1RJHQTHXSa#`r1jCE&yKn!rP8^xnM-O`8s@kkoiP!~UI5 zUJ$)l)vLu)Blrd-m?fG)&UOlZi2lN>kYI8QMV1b4Ua{RGDW!jAG3+k z->}n?V*YdE@*Scif;!w9h*war=tU;e^Z2zh1+vR0?}>aAnY)vABKiLg_m}xyhDSx02mo4KMwej8URs%{eX7e*VRko(-4goz{2SYIh=H-A0 zkv@Tbd>xrY>3LoMx>(w7ve$9hYdKBV)_^%|DOJ_rC|ZV6<{TVCm5VF4HXYZ2$f)Y8 zh9Y=7N<0Y3r;mDH1HYB!$7Z+6W8j`0K5A8eMrwWhK#1(yd*hB-3}Z z(&<-4cXJA6#G;Beq}d8|vznxgjr5IZC$tC~@Wqq7rXx?%4Hg z&D7sIn%7b*xm+Lev^G~!s#Hk=?oN)+X~~X58YR@1U&oJq@?BJga4X4l5@&&l}5LxZm3c~P>C5{ zyUfG?aAT9Be>wZo4#6{PX)A>#?)Za-a;u;N|68(M7MuJV@#{)gL@mF9>Vemq-iyXh z_^%8rv1Av8Jk||z@HQ{cTXA^gD4!IWI4^){0bVa>O8Q&TNCJz3oRp7aq|=433OxC( z$tuCweT#<82M^+)6pzZUbULR#i&@1j%4fad`5+I%WLh)jD# z4-?sngW4*c6AhW0D@&~iaC`cIxb#EIKmdgEJ8Pv4{r(kV zg5w_rpU04eJzk782p|aObVYeh-B?e4`b?2qGzbQL|DvnPPV3vZy{%iG{_pdeQh6v+ z>AY3MZ`v*PmN1zA?x=tWbV3X{(WvFv)tBT4X`5zNJdxT!J~@9VX^3J`OO1+-K`vpi zzoRQ{o}R?Ng(z%)1bXfET3jG=ZB>~4=r+_-c|O(+6KdyYi1$W=$)h`yffTi8f>KG`UE#IjU$afERV0kBP;(% z*AbQr(&dk;MFO0%L{b~<4%26yMDCn)@+=^#tnX%F1=03V=IqZS{JKk6KB19VC7!P+ zhtan4+C)<`?)azf%UQNXt}10k8$}7$20efDcN7W$REqnq5JvL3k1b*P9{)cc&&oV@ zOFgeQX?V18agwxrLx?(D=LDP|{V;bOf0}mEbAEtO7|m)uINFk32kJGqs4{<4Cmv1& z2@<0P2+IJ%GE0X9FCACH-IJC{_7FCiBYarS@s@3V3j;--8xdao><(wEt9UU~Zp^DT zt@_WArTH^l?rB@kv5(iA)?x$Wlu;f|vw0!gLtey>yjFZUgtpvxJpubMo~+I5R8Sw`5@u!D zo;Jpg^VjZ1dQPQJMDE9~424npV02??*hC1}d9G1unS$0gkA03_y9>E|O|o3RxN0Nl z^|{IMGA$6O>QDk^8&&ksKYQOkZ+YZC`)yvVOAArR8jyN7#aWEc34NpX!Te(bmerbp z;?S86%4>>j9fE#9HC(t7)qSg`G!1i;@6tq4OUSl+Kw|}`#-RPSTN)JjqV+b08|R)I z^_KHQFEZm_hF99-$V?}*>t9!8>`R+Xu0dwbw!$xjp8YpL$mWu?* zX8kRedm7i&?FIY!rP4-KrZxOY z7`tWIV&~^4bIbsXgBxaO|~7A(Y9-&qf;s{{kAit@H3&3vp4} zDtZ;Yzo*>R8~S^Y8MwuqFp2Rod#{mh@!S`o4&Fa-LMu{T)ru`Z@(~ZFjfmY^r+{Zi zF|{})glN8fc_lIoXkT|;o?F+BL;+!gFUHpTaSl3B1H4-Ehdjak6=j}Pnw5!74}?K? z>}gq3z+-##PFIxcmhd_3F%O|y5HHHiV^pf7fb9c!q=-?a3SoowWBIc)MprH>oo^`< zlX|mNeY1Q*U(3%p%IV}56|E>m%$=KJ4o|(X^{R5fTZ6;DTwHDkLblK#nTcAs^+ln_ z%p+6CN0p_h`!g%Y+gYSR=@c%CWb`%muL2IK&ab;%i|*rQDDIn(WUsL`)+v&NyEjQe z`1&`C*pJ|!rp9bs7FY+y#(yL`Axa*ZISL7Th&SRVqzC=+49B0HlkTPxUX(kDE=)Kl zONBwl5(ny2s;83ErC>?oBfejk*@Z7|P5K)*Vwa1{Qvt!(-Y#qMb&)=xD7wP)Q`Nu` zd*xUj>)A3}yO(9l3|mj#mKzf7i_21;yt@A2=zZhV!7CMOd!4lFzE*h(dp|*`#1dN- zm+>rBnbm*sl?m`0(ylo}Zu*=T=r6e-I3UZNgpsld zF|r;u8+jqIPPb81QTC;q$$CzNeT}qha&(gK0>mK~H=))%gfa8!pHaAU>E;f$0)_DU zaz^8zr|udse0@?fderYPdp<-2-GcW=P)JU7Nyw0IlpifKz$oeoi+bqoj3pgU`Pnzi zWG*9Kh1cyX>`A!$#h4bDb*kP7|MjH7ugOG@FLy@qCOrG@1@SU0+#Tid%%ndmzNags z1rwfeot}sK{P2^;AVuWF;-4sCxrh4JSFsWJQRqLFboRon%%*B(+C6Q3M$Dtb``Bj& zS#^<%LKE0jrs>-9_$NrtN;9Xz z__BC}lr@s0oAe)+Lcqs-nMlDbXHU$#F{=#&=UT8VO8!Z74grjCt6UmFRC1j=j&O%8 zFKJlyDT7|ci-X8n8To6ix~sV-i=rsT0fkvC9=j827``wr+$}4I)0;?(DCp-jc?Q7#2-+E(+hM`}1#cq##TVp|dq=L<)d{E-w+s~=fSt^?zc{QqGSXMZ2R>4r^(tPJa?&6U=;8oy2j-h;Ot zV_bn`WI;}@6e{%K1JF6Sq3NZDg;;myxP@wG-MXZ7+24SOzPPtR6b>rcqS(StrSk9J zsVUMcYX&dt@ig$io+J)DOn2(gW63kdq!*Pv%?0zJNW9EU(~F}+{dw68vqMI-F@GcZ z_ONp!{Wnj_bJDHd=NMNP{D$toCWU3s8$uMFp5cD9zn?ot4`Js6!D>njUfA4AMfoqIIb#B7GKG^TuXSJ<_mF`YZ5x~dP(8>#H|k&(QfDFahN6*4P`Q@&uh4?18= znr-PnU#YpYq_%H@@53A>;1CyWn^B9V{`wneoN>Z{d008vA(RRchPM&fUM{pCeH@3{ zno=@F%RfC)yr@&{;c431PnniiERQI3lk3iW0Yh?43eNxgLw4Ibt#=@9+8qYsVGX@SxXjUQ%b35eLl*AqK#gWu1DKelZMQlXiiG-RH0wmr z4*gL!*8h7fBM7^tz-2vN){86)MOFEYaahku!obAa4XIvQzc+96m)%$Xol~uhy6CkC zSoIsP?~We;2ZI;`u&>oA1eGjgN959~_W|SN6$pOnFn_g_1>gzN+aHuNDUT;p%qd`7 z-kg?ehgxye*G+xW`5&Fq*w{gibcbfk$;)W>%lJ~o*tx$GpK9*$Q(KI1y2M?%Pd!=d z6HO)FU{6Ek`ZiexPW);plDhf(2g`#eJ?6wu$3rEFafP#DwUIzBpC4quRv5?IhEi;! z!ulAxd4I|yTz(b;&7@#2((2H&$bI%y;IKQ~Od|zGW8##BZ zWPC12?$S5EE0F(XGryB@uWzfUAPJ9FY`GQH72PbtZU%@7Xw}5Ml6io|9l1FYwoXe$ zm)bkGySy!{D9jSvM=j?r;?$J&84z*yp{r%gl+gx6uFE+1xlT8h+0>ilsGVJaCs?#_ z9=~~+Rxvp!;*N#&c(z9Vni?(!z?qf30za1ZiFyan8*mf^$SXTs<-w18bS=-YQk+Ab zdmhn0H>egD>}B0loaB;d=dRy8>OO27@L85#n+Dn!oWiNYr`g|&uwv45Xuf&E&(4VH>` zwvCmH*iq`#MSSF>ss=w)wv?HneWd98{uIced&eqtB6N|i+=&^-sG-Srv-*3B7KLfu zj%-&ye0&@%HDSkat})}>cQ2ym)6FX^0C@oMl#eUVzo=-$%hR`rn|n1BcLSb%8a3g; z`xiRKB#!u>jqA#QE1OuFJ=#0FDB<8=Wz?%-gV!PF&mvFPLe{Bc9epIXu2YuSkziEY zYg&PF1rj)#Xd98M*UD;&TPwmT(7mzmmG%^y?tI0>HfY}OhYYbSU0q(ZL;9t_>ngsC zAsH=_h~4C<=?BE}o$+6fEw*{@tUlyAdbnJOi5v2F37M_PQgIbSxpc&2B^UfmJNa&W zyD9PtsXP)V>ySpcck4xdp*(hSrarIi(xGVw6 zR0YkIwvNKP<<#a#udcSuUa1o_E4w7tWT&6Itbp$QI^>dkGo!!IQ!Ue++^JcflAxM) zJ-Yts+j?g!QCQDUXusENBEiE4y7#^VJzlqm&a3Or=~sV-aricTreaYFXg!&kIX!I( zZy#9m=y+Le4s8$vsi!rF`&7l%vkDw#+5#5UQoX6*Z>(UGuRg7tsRLCQjA+W8Zc@l8 zlt4~lBT=ApiK?v@iyWYn6%IKEUzjo+tr;(O|9 z$+=ckAusN!u$u!nwfvYHexpiIqUQLk+LN&fXUsA3&V5a8ubA_N`|TRL#dl>xdV3IH zuqM)ca$Z0)JISEbg|NZn`SoFXP2L^%V3s>8^Va$1Eo>e0`hnaQ9CYgpb<3vf)CRmr zUZm*Es@7AR{+2-7JsTdFOL4RZHiyMUYyN+~SnOZt*EixJ`Uq=l!-VCEMz+zx9xL&-KTND*=k&30_cv5#lvGVL=dy&o4j+2 z#%L8=HKcfv)8jKS#~&Qxt~a9a{t^7x@dI#e3eKxxJ;$7L47`V`+V??A6Vboch}Uq% zqmkCd_(o0_;~xFRBp&>?kA*u85`?~2?gp$z`IbU48auqofc2kL4fPjze{(PR0R!6) z(yOfmyj+X<`gP{{=yGX1F+rOOTCC%Q_)?K^JBNm|~ za7TyRFY0*V*OcOOdnxxW!{moaiaghA0gBO$$^oYAl7CI*w4V-{U~30LP^KeNPSC%> z%*vHKIzMGNWy6te(wlcLLRcZ18~kTOYBO7Bvs;{oWQwiaf;Q~y2eg(H1fM3rq+d72 z>L`yTsF@xjs?F^@RIZLy%&jPHg~#H+zrJ{dgcO%l+L6y9#%s^yP-G-gpmg;|2Ej6R zAQDONKU*v99`B*mY7K%8j!ymU$z(Gc3QyZQ>zRJ>rJ9S#C!FLCS1fWK*{lMhr+-l7 z^V|SHKVj$9FC=3itmma1kECBn%-=Z*yVadUw z2V_@~81P9R(G5Wx^sKXroRfwkFyFNHSbyI4}#`XI6HWxz_pK=z-vobR}4)wJHhZ1hKxfo4bG!rJevE>;q_5eK4- z=?ZYML7aLqfgHJ;)5;5LDJ0T;i9QG_ZY|qTDef9xD>#*$G#rs zV%1`VmX<%mKrr?MD(i77+mkg>adNZEl<(gj4r=4G2N@@ga&6DIK4XVWL+IMH_W*S@ z1ZU^_UW@ppgnF*qncfuj566v9IQE5Q+9R*!o}RA!Lzps8@NV^5B`DCjH|+X9vsRMr zuiYX#QriRP&};F z)m@TQxDj2qyhx$#px|rr#{w^}-(KByy{Tdar~SCmd)alv!U|5!KD{Tw%s2&!g-t@L zaPDWBwI`h`OSi0E&)wimN;|&M&67!RR^{%J9y}jh*L_Znx@-D?qu!EdjQ;ggjK3FT z0{BKhjhR9XW>h$Voe~~e=NBb70wx$5#3+<9heV3}gWo5gkHB&IIsj*)2|6y0((B2K zp4qe9$^#h1do4;>GNFUXldg7qKet53&0ET$biSa^KJ2@=>6N`=M3`n3TpbAxOQ<3n z6OSXtn>BgkuTT)OO9A!SyeH`D>;{wNAAf$!I^Ta{Yg;w3i1jI@_tcS@{Qf(2qWTgz zpjx(9?p9{LVtQz;t<22dDjvC&+ZR82Cdk?{dA3koCT{SLS9}-&O)WyH{DpQ>^mE~f zDcDZalrFN|@_BCiR4%7$)0d)q&Qnt!J~*bM`Xvf)Vx6o8c6X)=i6CxdElp>%+~Vo4m7CV|wPz@)v}7giQ>8VZZqA zcVv8|bdWG-2p@&QwsApG0A>HA*6<+DhPXr0lI{iY*SF%78iv@FkYS>eQw))b{6%k? zp1Nbfz72t1I`H@gim&<2UgbTr8q~pjGjH4zeS1Q>gUWTx?P$G5$~tV1Z%&PBQfaRg zbh*<@?p(-g*)RjYP7Us#YI+loYXHXJWNRSLJUL_`HG_V3k#*>@^Gfj92O<}Dfj1rh zyHb^iNXM01*Ovl(n3Vz7 zB{s1U)0=kVQVT);kWfa&O#cH!vx;nfWKvlxt;N6JP2QhKkAs`bl_mdrtFQY!Ye6C* z!01B<<^H(893xC!lykoNr3kzMe8K{Dmo|qE%IL{}OP?HeuonU$4_nkAMGtkXzGQj! zE2VsD-Zq;0kmm5=NxU=_DeMY4-yvtFL*@%4@>#VJx%MeHVk5ICJ|b79~XRyNP}I za^Qa8ms_Lzj<_!Z!6L|$KH@txYSVWljr17z=~T#Jh?4#(d}Z=z&m13ohw)n*_ZX>c4fNb6QaAEBhdP-r2AZ?lWEP%K^LFqkZq4iM`08k=jT6DvJlzLVU#bc z^$To~NeFFuyStUCUMuC2BJuL-E!eI$vOWv|x&Pieo5F^^$}`pm+_4Rvs*b#|ue4@d7-zq9- zB?5R=7S}^;;5)X|_fWZhYi$$-K{+le2Ap;hy(Guvl%3n;%6UCh4LDDkx>mDQqAOSt zchGh&kjWNPju{ip$U+Sj4%&iKbBZvChF&lm2S_#R+F1f)0qPyo?^g^SfZW#==V8Z| zo;RX?@zILOAV{A)IVloEwA|x4UYJA3kOxn%B{>~XN}e-4la=djXT%EhYPkty z!s~2oYQd>`Z+y&>v$k&t+4!X`70s|Rfro~BK*Pt9{L3YCl#+I4)2)W%qnJ|=sh^)}>md|s@HFJ5wB*r8Eu zy_x-?Np5`WQkE!0$a955Y+aoFX)I$F9Y2^9O&B-6%H;1MhSbBcLxknkTeq7GUc(_R zTXaE3nPoSqsSd87mBM0o?9_ifllA*`Z6wrs>ND*ny|IU`${_=nwIVIl^sJBjLn90# z62`Gzd%S~G%ZkM^(rGPv81CQ%d8eAy$|IQ z+jwLKSMq(7#=HVIl6?ExgBpjUj5l~7R4wX`Z*zD|2a#I`k10ZN7j)I|ioQZW3RUlz z=)TFwJ~_?rpz2W-M42WcpE*n*rRj1!;fdkK9AL>UXPY-5!p8{5b!xoprJ|9VM-Z8b zBL&HKxt!Q#M`vZ?M#)x~%gbxD)eYF`)fb>4k>n7wU0k4AdHCozTpakH5YcA2$r5Dz z^&!4F^YBtcwZEDVeH8ib)(c*-@jlHX0N9O~=KH$RxWn*XGI}S)K8-n+F2o>g3GFW8 zPxr*rTSY91iK4rwhSvyWMUG^RY!;R?-xlVhTJ^ zS^H73M!rLScQTkY5(j4l|E2!)40(ty<5clz&mj<5HtuSw&>-D@gve z^v}8A1-jL)j#^r*(Q0V~o&GUn4iEYZ_!7@+>(ba$#8h40&2+#2mn^wj8d>*}A4mrJ z1+&rS#Q;~n*T8+u>6C5Pd0nI$YySjQc5l${{=(T-H%nOLB)22<{~^5H`ujX_R=hYx z2a^es#opc4ry8*SaSmITocHP+U!Ct(iBH_wR@_%M%^5s6<+(HgT--Ilmor8&EKjO; z(P~jooKDnIvtH)K5S3e(RXG)32lsdX7pHcx~lTVp_T3a&-*D>r8=QO7D=HK-jD;fKq?lmbL3s=+Ng+-gX=lB z-+pkl6#K;#wa=dSw~f4Eb1V(6ix_?Hw2k;CIi^3{x&G~ZLcffY;5gVVO``6It4pTt zJB~=W9xwTgO|8?k`K)}{!cRsJQUf+Ajz{~rREH~3;Pk4pEBMw4b<69+oc0FS--5Cf zn<%v3YgI^BwMl;tBpj*x)xx4MzW4DTC=m2%@%fh@TaGx_<)^JHQ!QoFg|~FW$CVJd z8Zy3~bP($$?8)HJ72`8W`g<)CpC^wMN1f7E*XwDIQ)*mo-#5sc`g-U4r*aQ{>F*eIfE#=|y9>qXC7#GRhnQ*`E@5B}Y+ z1i$#KYE~F!LikcI7$ElV{pL?9L{kR%&FlvB@82FLWz-cx$CGVh>6U|j9!QfPsXnl- zRcv4@_coKTwTasfXk1yV6R#I`J8@0v%lTTwdboI7S$Q&cm?~l_2^H(t_ z@=fz`9s7V8BD3DuOn&rFE9>M`b66U80Yxm*-HluB+1>TH)jm7ap5qDelhz{cM%oKs zeJQUxM6?r29uU~rd!ksoik$a(Z#pI+f6rrsZL)G5B+x+?M}aJ@Gp}bX8-u<`do@Hq= zX1#_d)yG;V=XDr=>moAWTwf%*NAzFY{tId_kmwU?a;hl zY|1vTvO2r$Q8gQ2{mn~b4s=Jr;jv_v>Hd|Oh{f$tSoO9a7vMSR5=U%a3$W)mZ9L<$ zN#Jq<+bxdg`tn?mqSzp3Zc+Wwj~KmY6xFoaqC5#Z4PuKUPOg5N6*Q6Oeg(X^{%+9Uw0yh9pug68QgcPdeHUVZlN`2owCV@Y-PUpMd=9^} z!j~Gnm$;|?nd`KYtgMe7tb^VzHo+!j#}7}&%xB>Vw&8rhmfF8B-YY-l#=WA*oStcR z)jc2cZ5sV`Y=g1+>G(R#&kD<+S>ki0h<{S>azoitj$2mZ(l56zh9n)kT>qjw^r?h; z0T2ln29}QmTMI?*CI1+OFLiv2j95QB^~$q}SsGj`Im^fO0-L;Q)@em3qaPTq6$z{+ zTLevHC7ywBqDYIES*umg+=|v#jIzOcyed(M42E1rj(bon`+$;sE7qEgM#lP)>v0t=a+{JQS1QzwIr&4C27v4Q| z73d>wed`_)`ti;CQj@Ed*>(e>SKF@Vh9>{e-s-^m>yr3&k?A7axc-KTS{$gXEl#$q z35zA$1=)OP(%o^scSRRnc7E01^>ol>QS@(*d!T5KI9AGgVbFHIEyY0BpAa{)^QN+1 z?0RZiTTSH_ZR@Yg`1L}Y4xEFUWSYtcfz`#wwys|+v^}76p;EV;=rvAV;oDdI<27LG zRvJ={8$RV4*pnvl@gpb$ctb>bHcq&nPPw|hohsz=>6tGv=cW9bURcJM{M+XXrZ7J6b^ zH1u&o9O_A$z7IoRn+~lTop$5Xv+jt4k8npHc$k}(9XJ*F#lW)u=ypuz27&i0o=DSq zA*>_bjU(%_XjjpvF!i#HyWb1XVWGN(ymmouk5?!PyE_6GQE1;~P7T`E&|}%BzAnD0 zti)t&gBuy&Sk(1IpLTUc7yH}B#@6xrTWVC-UssSH)~6-KGTMPP+tzQd`d+Z}tyNcB zoz>H)yn_81q2m&f%09!Dp7HxBDo3%}?wu-hn=QhVS3u0`c`F1UyV#DGMtobz#%#Fsbwo4tr0&Q!~ z;yLi@8CqmZc0`6Z(g-c?ycrClqauWk@B*-WOUubi$I=;HRM}1twBvYEFcDB3!H#Gg zNVomLXWZ(9F->&%qA328t$dLs+0;K>IF=$*dVC6sVne~KptAx>^)u(kK%mGKu9wyfP0 zmhR!AM$6XjPK>95b7AN+`kx}Nc6GesO&Ov01J?D9TZr%2a3+=>_QZr0ZHRAR&ETNH|&Zp{bc?qP<~e3-M}p8bC&TpE5^pF zJN~c_sUKtgiQ{fWW+C7)<@r$l%`*0}|DJD__u%O54tnRJ$NRsHRu2DfL9eZa?m8VC zTVoLY(cL!_^A+cT6J>8s>`oj#y-DNj=EMT7-C52bV|R3C!Gg}0C-2cbOqFv`3ISy; zscX){OY2`}z8u$^xkv#;3tZoW%|YJ2Cq|)h;95J!mWm)|^90o)3d(vM>jR~(Q2c1W zy!pSjxzB&Pq!gCoKYC$j&CoB6vD6JTFSuK$^r6I+kFgdZKD96ewly!9hv7UHS}NXX zr%F&-h(LwmL<6vhflk#y49pfihN1=9ES#;|<(#xSRO)wptAQw+`^T`2bC4Zde< zmYZF?IXd*IQ2myT7JVweC)1)wG;$z1agpWlZcccydbEY2cg}SZnBmBv>44Kl9+IT2`W4WAFZWfpvj^q?`-jnmtl6UDqbNP;qc>kCn zyAbSYyKGNlU$$sKL9b6eOu6SS6qD_Gu{*TM zeVi)SfEFh5x}6FY(jL~r&aRitFYRax3NE+-LG9<_PU7=ZCdL=8ixWMsnR5|DV=O#f z4`({9m#uyc^&O9q9`)1uz_AevQk|VLxgR+fcJ1GT_7(eCcr{I6iZ>as^P|v*0CTda z17)X)Extq=6>qSO2}L^v8ef6>Ryv>HTSyV))~AG1Z+CWBv3yhE!387jd;w{^R5e36 ziL0U|ecYjw?Mnqu`;Z4k>MPSZmnILTuOg=dbMg)4j{uWzRsxs+SG*29ow4>5%&Jq# zOW$Ri@w$zZ@-RgvV?=f)TLLGC3&oh7{N?WOJh?G@DjTci)qSjtZM`Q|dJTIXubNQ) zfnj2F;`T5}>u{$mgq(JCtJ@qh%w~8gx&77R;K}*J$Cq0G3lDQ znc(@>^Xo3^ZU(gca9j(4*FS^ZIB$sF`S0--f;}<*X2l=c-)@8A)tt@Tk6Gmjll_65 z#>wNMHD0(q3wpY7>^Ska=zAJ?&SD-rK1av-Zs6v$y*pU&H9Y}i`R>UrBwv$sCR_*E z-Yl{XZ5HTm4qX@P+Om2C2iBcjtf|+eTpUUARPfPx_MfBz&anP1Yg$}mt1RmdyI}OV z#9M4xpIHue&fwZU`!Q>I8$;9s-Motku>|9Rf)1|L!LB~V(*noF@o9fCUxK~7oiGKc z&?q#J)9fS#l><~crDweopxDE0Oy*<}lwUfnK8D0CUbk;JbL*|cn&`WZyV!t4CViGE z@f06O<33_c`5C_kw9g1r2-Do8T*QGnVc`G2jGODmzfgFwv~H{wUA7soSQGZ!u`?`R z?At=wF5f{2FEiiy#CI@zuB;xe!cU}ZAR-HH-Yxj@tBW2j#>TP-0}`IC#~GH=q})1Ea365 zQ0RB%tlyWd`1AGW@b(xc*!E((xiIti`F|XNO8rS+^UZjnk(a<3sfd2c;OTt(!?&t zhBBteCGD|+47^!x?0={monX|LP868F2Z4(R=1sv=J-w;VN#RCmt-g)r#lu2$rh?DI zL|^#}is>C0SKgtG0e8INxYXi}97gmCihF_i&4I?i=>{*5@iZqKeUh zdwop+=bYPrDCqSutA9^^p}8wUV|&EgFg zZ1}seHU3b}yPwCooR_;6JQzJOkUf+T>0TCuAtr}~2>=SJB8hjT%=MwXvu{YxaK!wXt`k=U%c^`8 z;~oO{liNL1vfQ2#dVN%ONrq`%%p&i|R{lof^K2{>T|YBovMrFCtOJPORUUo9x$S|+ z1CNn~qBs6<40Ajg(w`aol=Gl^V>$O|9;V6x@VuaJHx7*5;blFiUkk!WZd-9QWAtcK zF+sQ6cWe{S%m40RR(qpzBRfxf7}M*GKSUKTU#}@njM?jlXQz@QWIq#R{}|xifB#@u zXpUyMUVG?W`%T(}>%yaDoHwYZQ946s%mbcXeOl!t$y;&FZva9-OFYiE?h7YTEGRk0(-SmbjoP%}_^_sjYb*M;X*6-M#6c5T{T|@K6g&WLUF5Z}AQoyC7+IbD8IFEcPo~&51 zBWzzXymN+uK8n5M15S2~4`q{_E#N@s*R zvHBPaKTu#w{nU#`&rvLbrGeSIN&HcOZ!nAJ!;+2L!;)nS_zBw?u&45}r|jG;;M^v- zUkDxzc>g#1$??t_Oa5X`cH}sZl{98$EdEJ?-WTN4*c! zh9~dp&d6s}@)HqtNAz1VE&5EDMSnN?y!X;ol`pa3jh`v#=`CdZRYe+(AN$>r%h$Lk z?FP5d-2fg^>g;Ld7-n`cez1iZ><3ygP{cg#IueRXu>> z6U08lx`Ja@JH{r}5>N(r-(XHGhMW$?8_o9a zD=(jXQ_La%q@%?TOh)NX@gp(jSXy?Roal*Hx}H#T;ejo-A9X3tp?EXIGxRgXM#Y=m zMfV1=hk!m7EnXS6A9z^UxpG68+fCnmL+wJpz?n{9{vRSgf~KFwmyGhbDmU-X~<-XyGP~Nf>LDJ%(pL9rI+eh2CTp(VDpaueZG}EZ(ti zC11tb!1}d2!g=Ri8lL&*FAmRo-b*5`d)l9eMT=KevQ=L@7?ZFEbo`^7W2Y5Yi{3=5kIuEknqmMng?&AV+>K*SMPQ2Y6EBcjS81HlLL&5cbNELuDt_Sv~D z?7e(-xu+!GJf0XWK8`t**`4v%!m%gZAzrI;{+|uk!qcAp7h&0o^;TYU+RCj*15|k> z-7VV>3}@f(yqcG=cKx>Sfb%Y{=q+s6v@2YA>6H~7Au*kP=X=I`M5Z}%2+7%by}9|Yb$(qq zVDpZ!YTcG@+^+8t`%#a^cv<%j>&RTZfMScTMR{$jJS;}&`jpqW!)A-}n3BxBy^R!X z+W>ae3_i=Qp|bYYHG9F($MvPK6OY%s#hW1qgO9oSO=0hqo5PFV(~_XKd#&%A^&9@BdCQOv40mZNkt z@5(SdS&x?J=9-#veGyoe+g&7|O}$n;e1E{3sos~oaisphUS&JAc`~^W=tQh-KmX0|!`Ht1lZf|z@RQ+z=Re%-6GG27(~)20#*txK z2Jmio`!m9gzy4h~=J-=8eRKV_Y&z$SeKcteyV5@5=-Y+|J>(L%(A7o5$L?TCz8N~9 zZ0cd(TQVM4ws8+_`ke(08$6a6JYHgZRYGbnTeDACx@vv6WoP_(3r7LRBj8-W`5o^I zzx?fghM)cF-}3nT!OwmjY1hB#m6iTN@YipDZ+P9C-xZcDbAG;j*7Hhu=_}t5W0kS_ z_3!;O#{cOrej{A_)aQof^R)P#5o6Z|=W+@}UdHP`{Pb5j@1Oj_*TY9Y{r55Mn|}Sf z@cFNNCv4evK$KszZcF&kC%zC1Eo^HFTE$Gkr@!=#@Z@JaujX^RMI+!Coq4>X4Tqku z6S6D)TPB4_M~}ytH{O`$VeI>Fmhs1U>%0E08h@Ys{MW+cu6b%D>-7=Q%lYDEYr^B7 z__VNQ-PVeydUrYVKH;W+`uA|Rd!AFt%q>|RUi+qZgfD#cyA{vaf%bV9JR*GWC;u2W zZ{5F=jq*w7<*#~E9Iwo8;V)kL>hPWqe4?VOP5kUZ$8Rrh1|-A%-5pdhaC=59nVS!X ztlturt=$x#CJ>r;zw+`V1)Rn3>WC>tA7hW@NSA%uB8?U>(z+9hCAwBEYh24?;p4Jk`c5ZXQBdy1Ur^TDH4o28w%up{F3O0DG8%MOLG_2)^9!&Y zBtwnGb}5kHZk3_hXM@C!nZgDYL}K9rwqt2rh}~?xXez+NNLzkc*A;$%DE=V=^5FHxK?EW|2*(Zen^9M?Uf#8w&z_Ss1V!pvQ~+ zhJL)^j^wh(>!PQ}JpBUjZvNcv(Y=0pHdWT6w*c~8J-TMxV+NdOrNv{pKRA_dZnx}p zeJ0@KlP8wQLoi>^o4Cr3o0dMu!`ORnW%%5eza8H3o)5+U`Z2%A)ik8%e2^UHeKMSL zCjS|f1>%`!!NiuXo31a%W`)!Tmg(uqB>$`5{!v)9W^>j5E@qM4L#W1YgJ$@hzAv~B zpy%2~TF?IocpNc!ym;*uYxW7ZJokRp*c)3o3OF7QH+<+*;X6P2#c=&3+T7AL;dw87 zMflOr|2h7*opna@PW-pL^Zn7!{OVyxi9pY5&h41ZhJ7gt$pUfLez&gWdYIs^I`7=} zWK^y}7kMePKKuHY#s&Lb?|xsyKkZI;kMwgMa6zU^A!qq~`UTI0fMU_S%e_|?&N<%J zcZ)}3KHi7N^pw{6bb!~3n{x-=m|~3a1q&&h3QRl{v*s#}zaRcQtXf;fU!{lr=3If@ z%m<#*w(mM57G}JiH7c`m&F1j!AKVn)__p^{GCOu160gfAKjZp}SJ_I(@{bw0hsZw| zJibB-O6xc7sOVXT^j`dzuM3~}+*d2PSuyMNWH74^pC{s*b4zXfj$}DwgW5}^0HcM? zj@}rmYi|~K*DfI!VX%k-YjT_$BZk6+-3)=yxwNjc%{rIl*>=>^^{=TBfPa$Lg3YZG zOaUhqY-IP1LU-Y0z1;r|@duQ4E#DaKwBHfo*83kB_FlDh@RjQ}CyGL4K5>&m0qe**XKZ z3vZA!joTAY-87wcC8JofvX);UOp&Nzv&UmOrbRHF+q?PY)zm>c%Z#;K5IHYSZhJ_& z6`e41E~d&kh(2H(=bI#stMnL^r#m%9oS=He6-0~QE8O%Zt^$sSahv0BAOGu!3l$Hy zKH|9Wh(|s?Tz=&>5tlvc3E`wu?i}Wp*xe>em#+(_-RU0TvPWMXanG|K5LVNqSQbw5 zsEBOm7F+U2!mj;qU7def%${|h2Sz(0CkxPD{PTar;*H8IS+*u_`4*WguDm8Z^rFkd z&V3K9;+M(kea<~U%4i=LXWZ@H)i!x4ZXJ5WapA&C9vyY%KbiX;aCqi#+j(&Ouf4=2 zTkr3C|A*%5a`oCR;T~r{AjT%Sle{cnxxtJhc|`Q6+uSZ(a`|J!!yf*q<|AQy1QV}W zh8Cfj9(g*p7xEp0=)^X4ta;$^z-Wy*OZ~#OwGW7hV>2?Pte8F5aZafdukM(``?_li4vQ z3rxAj#m+^SUKtmC^5X#<8=fyI-pH<%To`iBmyD}B-SzA|mc@sR9p&peUbkU;IOl;6 zi!!?4l=$TMqDKt(3%PF`cjBpetcb1@xFlb~m$7!rsdo*_R;;V99k|Cx|GxXy69xMpG&}+&I@%9~+~+oK-q*yU#hW;G%z&W-Zeb@@~fhbJR-AY`>+E@$C});<*_f!v&3`eS?3Npp+0*#Fzp^d7VpnfZSr{F zvBqr=vwr{KnC93yK7o$Ed@o~}RCu}H11`wdmyAi-NrO6a4&>a)cO#y68H@Z@0w@-BFV_jiiE& zzV~M6b16LGI$ra!Xz4y-$+C@M@ASwN=R$Lk<7mYQ>->uD)CrWQF~ztbpZPpxf3V@i z?7|shF2x%PFz&TvYw2UgaAWW2m6GvReceCk%K}N_YM1jG4su66tl?QoM^rL{T z+B~7e$*N31|Mv@?T}?iBXX47J;v+~=Lneez^0rJvKV-rw6HmsczVP+D_>&2kJT}2H z@(745bVNobxPSHfx5Z)y%E$!snrok#{mHiRAKvtv%9cR4l*@l9Ws${vv31qePsz4q zA=k3SkR1@Z14&|i*{j~@#wzav5}6Aweq?;iLg?}s#$%rFX|l!VV7IX+Z6%m-dNbJHUGR87w8kHf(S?k^g%oeT^o{RV zbXhRTbsPU9o*vKp#y|Wl{`dZd4}LOU*HP}0M_1RGT%+<%7qunDoA-UV6mO0^=A`)e z#oOQg!LVYb%oSF~#i8h-9l18&{5LmLu_0dn=6A&+gzg;Td-tX-`-N|Q|Hdjt>4y|8 zRbJkqAv@~?;`4xmkBZ~rRgL?F6str}cFO$l#(%2pfA;Uc6}Ij?sESwb-(K-XAdA?q zedovFIoH25${l+6ap7CvzcHMB&UvvtziOZGsV{!R_>!?MkF>}FR&3n>B9P*ooJ%QiC~fKTwJ}DCRcUA4`+@OsXO8P* zpZRk9UYGt{aPbutUm&p@2=8!`zUUl4ic+t9?OUobC+$lg`MB6$-gzUB6v{k;{e1Y7 zU(7{a*_kK1ijXh&GudIdTf5r0P%&YS>0#=%%|1qTym-c9OMI^n-g?D@r`tjwesF806>2mZ`hpxtKmc!BoDFnUv-0FIY!a@$4k zoQ$=nfX_S7C&f1gihuH#9_dua-ZcyK$_L5u_*Lkb)q4WlM*B?9eiDx-lRDYNiD+vA zJL`Y^JyfwdkoRH8gz}y5{cw1}OJ5Zp{kSKELk_!*$*t@z`M}3M7bjV=(38T(`477+ z>YaG<@FG1W1;h{(xHKBd6&+!wq&${c*_+r$am)lYgx{4boy$fECc zfBnulIn|hCAtdjgkO`*jP7%3>TzI*8AAn3=r7iz)7QSHJhHbGRA`4S#i=0djB?hr2 zamhqmp4pelFP$*?SjMNbxwqId1n$t;4WaPi}@*mc>{p|-xBfaH@rO- z1mp$cnyV`xcWqqA%YW1L+E(cGzi4h{-0Ak0um0;;DAb)~_}G-}RFg&2dq4QeT&R@m zPZndci$=zyj1zf3jue38v5VfzdZlGL~gLN{j<MxEw^N8 z&Wgx>SO>uJNE`Fn2Eb_^zggTMkxMk++)LIz)0+0IbBL4D7EY&*Mdu#HL4 z__#*`_BHgpn@0JU~^;qY{}%@K%7>0hymkhE;_xN5AY`q_A&kxIKI0WlO5yl zY3znS&b!IOSpGde=aSn~;Mu*IG3iw`eJRW3`C6hc^R7k-=CVMi;ltq!sNb%+kZ+*APtxOt4PX2=}v_Jogzl;ke zd7MKgxU#U3VvW84S#(Z6Se)Ad5zM?|{h2r*kEZM#61l^VIx))0WL$D4k9=tS@}E`7rP!BAwQN(D#j6x=Bu^qI3rtxA z>aHY&6n&R0SsB5+S>TS39-J}O#BRuNQM-j4zt<0Fx8!&{2zX54_>-c|inSZVE$@F$ zC3AC)KP}$Kt}j{K3-rJEQq-O0(_N#W<3>z-A{9LJvgiw^!bT_6k3SlpbO zkB@=K*p^3vP*)a*GS0QgBQFUSTj)dXC1Ot=TS8sEKBdo+FDc&0y+-;kV@--DaxaSS z2chdib$i8|uYTvp`LQW3-pFGra_^Ac29iU$H}FDKi#M`RMY@cAxd&*wD&D02>ABpz zWxw#w8$KL&=EX;)uy`XrQ@>2{rZY|!1l3Qzs<8&SW#~BI9j6Q#fB4UhKjinH6mR(Y zm2t+qL8Oo(_i}l3=pOgFf4p~J_w?sQp8VrN@-GEFDSqO+r4+LJMr3ryn8_LCPj;lq zxI6x&)54-9tKxMdg%A9Wk!wP}+vG7}z3!z@D&Ix&tBi7<t=Sg;s{oO}D z8();JzOi^C-?NefDMVpR_`QI|8;M1V!BV`DU2AghkjI&&h%0@FyXzLs$M1Z(_Qk&Z z6GXoM(Y^=u>3xssqd`p1Xz@H6!F>NEJ6&HrIDNo=F;p*pM=rph@rCxBI21Vl)%B#V zKL;M}K1np1H={hZ#TM>rQTy&X9-y&s@dkb4vD)+sKm+KVFy`Gg(uRKHT3XlNXsc6a z$a$&!TRZ9tZE(!mCzDsu!$OqqB*MPwIT(sJP_SS}F(^1W`tn{)fN_p(Do|kOy@JjV zP}*seX(cZ9r*_o0eqvH`M?o(l$!L)!>qFsWkQ=szvA+1#$1ncGIdR4=-dc_+vpcimcs4!-y#nYPz(;3PBWLc*DA@GOv+sZf7T5>D{$M~hu#1xrXfwA`D zR$k}JPT|pvopj9Org{W3wT(SE?)pixJed^ye^))Knw07Uc27=R1yxKFAQP*X{nZ=e zB2SKmmWwy3U-Bu79GT?B;!RqZ@FZCAlxIFa%4qS%gG@w4W^UPB{wC?+2V)@ovuXC&e52Pq!?< zkS;|-xn{HgBMWxf{e~|vmLlo754te!V$sL<6f%Zn=aPr#u#Ieg{>5CIA(#2 zwPDABf9=d%yt!~F-blel3bW`-ifzyQ^B3hEbPFlo$bC$9<;lWY?oDXFS-eSk=KY2MnjxXNP!?a#(3VEFHhd2EuUI%gyU%jrp+ejcq zL3vC~9-ZTBOkW->MSZzukSEuO{M@({RU}_ryfODIic`M3WK79!Hu(;g@q>@b$-P3Z z364h~K2E;FU7}4>yh*mDD0Rb!J{kT7c7S=s8~LurnDD$~@kV0d$DuHm<8FIel#?Aj zGLDodJBh@GJT8py-ST|q>&@XeufZ0bWm+~_b_yIlKF`>nipIKZUull4=g;$@bkxyx zV=hWSA!FeA?^Dsa^RSjJb7!UTdRzH}?O_dV-sOVpSk(hvjRgxY;%Dy_8^f(uY_e-+ ztVQHH02HB8Axh~Sv#C4iIva{dgPjt)%4*&`RF7IsfcAy$4{f`XD91*-aQ2D?5^tvm z2F~xlp~{s4laf1@lTw1zcI*V`>8=ywH=kTv1i@HyBJmg!(~2+p1DPSIsqm8WVlEt& zrNWK&CbAkVQ!8H_1G{it2_8DHcqd}mPSHV=Modpana=pL~LuZ=a2Xstp@rLggS(j})Hrb~) zxg49oGEFD0vo0J3RZJ5geU$$!$^=XQ3i1JcKc}8A# znCO2ZwRj^7uE#w7x+o)%|6Izu1w=+ByH)XKj*2&FaXVJLkyx>Kqt_r7Z?I2Z@kVwL z$OKbkm6xsJFYC05H!}Ht!AoA1_2fU0vIx~hY*oBrOc^f|k;hA8^7coA#y#Jo8GfTb zJRTH(4C7DFi4t;WM-Ig!FLpVW;*AtDwa|;_N@NyPyh+#Ssds7@Z^X8| zFkSle!<&8+?>{)!Wc>1rSrLI zym|O#k1_Y+DxdMXUL7CLm2o52fP7EHcU&boE#AnrBrnRx>;8n>ogR0;h|S$D-awof zpI5w*ok8+X8jVF>L@b3HEX>F~Kpvx#$17$0z3FZ5iT5daXH&LMb38sDEa&meuAGKU zk3M>RPXybk&hMb=XK33;rZ`8^-fP%hVjmUCoy>vTA_tyabyx}_ zwzIiooJe<3Wp}=40Yy(lT_8ypNs6)9v3}H7*+HZ}(kB$7)NX<8k6t`{Aq*E0$CqM& zKH>=;;z*zZ8rsVJ;NlJ6G+G1N({bpT#&#LA@RHrGy;;z()3o3CBK724I-uvHqP5VI z)fhY(%p)JOEa)_2RzA}by=#{-B0rk@79IQ9;8pZA#&z6l@kYl`9-FG$vflwuET>Fh z8Dk5_)+AOSG0YmX$Up5_FNnnl+<7DK#z8q*nCO4Er7aU#Sq#a7l5HyFeHKz!iSL3y z9^_d5n=U&MUih-t#A7{wcevx3rg-z%Yn~e0{8P&E;zcQ@$bUnnZHhOke^ZJ#@@pAV z9Fmn**jV!9fpKQIypMPeI6>stc)ZxvH*7*G+!-8V$j7uI5h&?s_df<2% z(qAdueDd>Ot9Y^iltq-hdr8_}@kXwp>gTQ(&Bqtt%EC^6{phXle1FuHF`?J1j4$0O zB6QhlC%=fpad_W}c%G_Xn<8CV(8;*M$FyXONO2_oL~|M=SiFhXzT7Wve?}Z5@(Wv@ zZF#@Odq4QexbtYrV;BfoJjyO4`Gp>&%X@Zyc++p<`>>>~J8vHHu*<6JQ``G&+Lag5 z($?Y)+m=PY+)K5M#T(hdDDm)1hh@iw?CjaPV|e+pEO_NHF?m;)-Wz2%hxl_Jn_>`O z&u>1@4gE^4VGqIM0kM$r*ZZzhK0@=uapgXx;*CJt+)pXq%ll|2=5a(st9Y|=LwwdNBT~u%4PyTHYNJH+OY;Z)`j_%0s-pNHN#Z1J)l>!;(c-5w8Y^x)a| zXtUVNa$dhC!sI2<;(S+&H@GH-H7Kr2^BSAhv3ZTp^XSA!nm$TZ*6>A7<&}@?-MpS& zvQL;>u_@g9^wYz2&$=$`bKZI3R%^CoJ1Vco!@AqPyN2yyTl;GJU!5T*@{GhL#NBCr$n1`IFcsvwuG^ff}xW$|7C4M~lpIIms}5c`1~C?}k93Gj`;B&#F1f09>!gB?k%Qdji!Rv{8T*S`rBI|c zs(wQ5y+P~VM7izA8y?kix-C%zvSfx&ws&-!}1mD!vO~!5zc>T z`2`2HljEWrl^g4v{6}JaxazT2hh;0$f9P3;Y*%!E$Cod;hg@)R*mwW(U;7r0Jm$o3 z-BX@!`g_*BU;^vdM;@PRjpu<6x*!~L>`9e;)L|O5qYd`cke$r)Fspomm+ySuz4J9U zKa5$tSHKsMw!Lwb?J`|?(B{b{V{8JuI}1mF#4t8KWm~xX2U&l*Qzl_D>6HKcsf;W* zWC0_SRgsaxiA-u`!J>;cd3TFU`d<8s*T>12>`)QNt{Q#pLKZo)@Q?+oELK$J{D(av z-0lu%Z_Uz9oK_~92;Im+C-bMLwD^tAbT~jv~Jf9xz<^ua_`EAhw-hE!c8|IOAhAcYXwO`y9oq0vy(hin zW=&iON|8YH@tVEoy@yASIJXLUFHbJs;CV=p|Fp|>{*qU`KHHREwvt^w_?VRU*pw`Q zWsxdkn$*WukxYI@+lauR3V*K=%z7ZeKk+%4g1%K|Np0CDv8|4x5_eetTno#g~5MXiT zPxjFG0J#7Vawemefj z#}C(pj3+rS@=pMGFOk`K2t0 zW!Z{#;j}y7Bi>&mKe9viUGMv7+_7`;t&b@=hd#zRr$fhFwC??e#yqw)rtcx~t81pE z%WWD{@e}AQ?_DQK<7<}vWHe-OoviCeoC8O?*@fd2Z(x_mu-=9>uG%Dd^@D3yYaw?+?PF zl7e>+aX!$O#+rRWtf_bd%3Kx7MUP?>onZ$xDD4>2a)&4hNYes~A{TE+59LdzV7CnU zsO&1wB;WUud0JFbTCCQQEzDDO;)h*CaaT>=1<>xN+R{&f`++xC&nCASTelw&zWd$pg=?PpP_LJANxeO^by0a-JmVE zZ|PWyJrBF^(!2}8?WfmfT1$2ck7Gpp%p)0dEr1-3y*Os{=1rAr&o1V*2cBf=L=)Ss z1?1F;YY$_w%7TG^9$1PUvM`ZfM^QPM%%O}f{N%rLYFj3Svc(&JGFAS=FB3F;$A(NU zhYQmB!B%Z?(UZ`pQ0 zT&&@H5@eAr3pL$2Av<;C*LFm>V&r<+9k5OI6OSFghK`@4%k~7r zVs3r4s6*VW!i$6u5Xi|WXpX8QbMw7Pe5|OsPuv{RI>`39Xb#7u@_jyoUkjePU=K=U~ zUyvfE6l>J36fvZ*q3^>G$bwD^q1krw_ki;*j^jk{Q}QW0mE`db@wH>$L*nifSv;zJ zeL1uDC|7LH&4;6pJvsi873N*ylE;>0(HZX-bMs-vs(oTXMeixHIK_9;NZ#dMB0F`o zK&-_ZgxojeeuX;|rN429Px2!RS}Ex0xs=_Ha!xQ$QpAzipLpG~;>*>gD5kls-g%?v z%{zA<%|mC*Rk8#g4_sjB6>!GJU(j{5mjD3&^hrcPRBJpVI35pjKIM_PeE*<+Nv`F) zPVV1&zNOe9zr?05HI`jmdd^fvzDMJ@ka<&jWJvxQ@PiwF9bWp%H^dhovoD04XSw!e zZ0j!@Mx+?!9WwH(a&oUwzxoSx`Y5p!cclmu3%<#h*p+`S$fJ`=lkZ3U6-0p)2qk{K z&SlJf>I+{Fw?BRO3~g z*w(o+uKP`)1MIPEUc+jeck9r69M`=oR%{ICA9-xp=g4EjEmv)Ecgc7_I|z(T`@r@z zMpL}O!U@>HepJ4B2M`v@AO?;J+t^2r6=UAZI7-C`F1X|!Cr*OY0m?Id2q^6?(F$6t zXhAz~1{vra&;}o{lLquWn?upYz7%-?ycn6<*e5K`=tY5rpxoy)D2Be5SfUKrGZjmH zJS^w0^aJ}cWzfa}j(oTgjOkTid2SQW_~^)f=Chv*zxvg$Y1?(dQ=a%MJ9Eu_z+%vRJXw{$dAW^_tC5#{74@ms`Ak$e+BkLu|=4%6wgfu|4l4iTu)7 zg*@6J_VrOL#;{$y{$(hkOKbw%`J?b+m;&zOLeR32^N(=kW`Z*w8F?bgbcm-KFz zl)}xjHTy)!FG=zE(6Ph|NFIMI&$Jdep54i%TwmTbraZYeB>7n)^FMwfBss2@rKVAj|D!zv45L)g;i@en`=QAD6$w9`x`dx z?7r)!*`EeYWI47mXz@mhX3Rt6^8&ubmlSx1`=|5$lXZ)p?C2AJ{0Js4?uY zxrTVu)|4?Lys_^;#zMaTDtP_x(4-(D*Po0FydLm8Xd8hx<1bdh<8D<<6rbqFVr?t# zR1}hHMZROa?=Ov&W0Chof|*o z6ee;^Y(HVyijCn=sOJ=25P1g?*;AYPY3^DDe%NNu}A}Ua)F0;x0FY& zv=1sD`|8C*ZOw`H87~U;S^VkAf=9v91vB)g_``l;%s6m+gWB9E@J59LoZB9cWw@<0 zzA>{5$w~3%v!DHZ%}>Xsc#~)cA9_^WE%Nv${8@PPm5+;$Ud1mHd5P@uwc+J2|Esv0 z=ffZVXn6Ev9v6!mXWo4%-hAXE9}ADa`bkmu;!7?MJ9Zsh`Q5thfN;^pmqnQ?AM^Nd z;z@UiKaYqLQdz8>dfHv$qgWy*KL7JS|FaZtob&PO*StO!O5_(ilqP)6l}vazZ*Us+77S|8@uZHiddDc)cKhsPhwO&NCzz7GE= zFiSkWd)-vP`R8*uD_VB+`(#S2qjDaNd@+q7JM*NN!Y?fDq7@Ix$RjZF=*~kg9w3i& zN?~1g5qU)`cN}Az^TDzcfq7MbJa%||C{I3H-+#LUjxmG#$?aJ5SUJq6SkCFU(T8I# zEP8rf@cHQJli${LU0nyL$2L)Bgm3(@eb)E-<;du~M@l8ePAdxiuG2%=$XnFl*nkj>h%1(!63w zTpyF1!i!U7H8%M~p2mUeYlZ16#q7nJ*Z&>4CJ*xreX8WxUOKLdH(Kb(%DJN!B?0y0 zQs_*Rfr-MRi&vl+bp51yy4Xf~EY>s%I@;Ia0_R7c>K8QI*f1W1Q&e&aQ>MT9u@0Me z+n;iRad7Iu<{M{=W^Oj#4Fd;0^F10JN53fVKx32Q&DXyEjoN-X=HiVMDt`Uze~QH! z{QKxfKOWX?*cxtq_-&%R{QcK|{a5(F2R{_nZrB>`mWnt0_uv2h-?2cWF_oA3OMp!8`)*!{h6INlou(a{QmdzvO7ZqQ}-WM6S%l#(Zr*NFg9G!JkQ-1@-RRok&=^83Z zNh&gOs0bK@f=K5mrF+0A6%c_91ObVWg3={9nr-w5VRVgV#72&M_j~`?KRfrFowIxI zx1Q(uJmpZM55#cmHz(o<%5y2=pk+<{Fw|MgG{9fnGT8pg(yJilSBT=${#pJTGxD~J zyV)%Exr(F!1}NVpWOCt#9Z=eH7JaJI>Ft;%o!7ZnrdVGNskFn0t|6SKU;=5~%Y)}&)v$&1OJ&0mGWQpG0^ z7$3-P%Us;RPpNZf1j}tLO^1PVo_(HCf;$WkZhYGBvMUYd{JdN&vOOqOqinQV>c|h? z>iR3C4+{nP%OVZA>$kkoE9sj$AthYi+Po@#k|MwM<%+bt8@nhcQ0TsTwfrK-s0<`1 zT*u6wo*B1rEFxpNU45E4lNmqy?}o)6{U_6*qZ>aX&OAuDURNid{p|ca=Em11>*fp( z#G5@y)>D(1`TayDg`Ror?KL`jIh$B#>E1}Km;6$^g~8P84E|veQeiy86Sw&#lTXi6 zo?}4?TYC{FU&upK!dP^Bpm1Oxw&Q+tcMU4l8pH6WDN7OgapzI`ey6&c<5TB{jh97c zUOb&2$JT+GO4W9DUYBwL@U07dcmB-91%*AU@#)s)iMyx?KB;jdiL{rhOcDEi;SDcy z4YLD>DUY;$_{yO{`2L9#Gylnv5SW4cFsW&8$?)3uY3aL_Hf!rUi;fw$=y`&=ZcOLwyujELpEbYywJ8NSMy(rvPg5!G(|LmK;*NTx&9LHev z%LPBMZP)3<$7fyf{YLCz2vfb_rXWpw)-jcMonRC1Up-Y98ZBq(Tr-a^E8(g&PN?o! z)R4Y~N!H?`(rt;HBR<8W@sIL4ZK7jTR)Wek$|IZ)`c;`5&&B`c z(N-;)bBMr10r_UAkxbiQCshg##1~>F)AV`_rlfnn!Et3+N%+_cs_%0ReEM=OnT4~-FT;OhjoUM2|RmwDL8sIdWBa;3>Sz+R1$3pjCh-Su>&O)3ka3yz}jP`akH5e)t zUgP#M9M0eWRr1qYxo{(>w58?X#|kUpo3pU-6XmBXOY6-Ywkx}S=FANrynu})O8R6! zYIRAD{HoltS*gMB#n4!lN>1`lJ}Rx4^gfdf_$ln|0L5*MpyM&?{oNwgMU^ zjeml=yuoOBz7UogTK9CP&$7cV3Jpv{IE$q1%yKjz9g+jNjgj)Ju>#IW5|sFTglLc} z(Yzq-ZvTyN?`FCHT;UG;7m3=P?_#BJt?4tsp{%>gt`Rmyl9`>$?_~jNU@k-e&L0^l z!ekb>A8&2Ck`Zk6FOGvDc-LeWCVBh4A_XPSc|OnIG&|!LKSBD6+bs#UnsVN&4vv%Ux8Tm)qOn$m@` zl(;svOu58xsYhu04f+0?GAF>xIV;ETYx?}YIkPz-8v%F7q*EUjk8{tk~_!+eS|)|)#@<@$bcza1~Itkml!j`6&P>75myd)%!QVy=Q?TpWQA_s^sl> z<8wIn_hHkr&2Q#6(rPQD{^eUg4q;K^W(KNau@A)dge4DS=oH6k#-1828Yq1=^2>XF z$^UEPD`NJ0UCY)iA>4vNdT6{&sE|RF#DuoLaoT0p0NqtCDP&C^t8+MnZu)alrlHhJ zAwwsJ)X+c;7*r= z2MKR5J{%U&}kJemi~-xeVJcE0G-4K z=?KXm5xiB9Z&1%Khc8jY=fKu(rjxCm#Uw#UMOVue2AwA+9^!zZJp+jX=$@3|#uD%j zf(HcebzQ6A|03Y(rEvr>jF=3#mFG&ohlkOoJUJjKKG-vT7^q|Y3JE?1+za9hR+2rx z(TR7ZA!rA42{zN0iTJ->!G(EK)Ura^uGhvrz8zB)BUWUE6OWyjxSr@U@Ob$tTMU-kBO`5< zEJ|EH#ieKJ?b|c?WP#m7=&p9J>=)Iz@QwcZD-O@|DMmEUh`WzH_A);~KRzFL-|$g! zD9M$f#?&0g5*@4{i{k0LxwSfv{4mAF?-`;H6SVIBS2pW3i>cdTP?*Ctm&JJM1`Unq zfc2HFFIM&J78RUAV;hAr`Bu~spg`~%sgz*VwHe_Akk zi$s3%2O^IvQu_SWcjUm~bps0?(0QZ|>XU}V%xXW6_)N!P$A99k1p_(@#Y6l>v1sK{ z4A}(w#b2Ey!-RE;j56BKvsLq%IcTSS{(%J-z_x86=G4GzA4b(Snob)*CNs*zDY~35 za`$KXi`~xGrPn;mP$p5p3Ce%*4VU&>XiF@~NxG5NGp0;jZNZB7C}Tvd9mjY2?kGcy z>&Et5FXr#rOc>j_4$SJ=VVqFqlpO;2a^DLjgfKzAHkUCUQ~SE;?Bl%vKs2$cp9R^Y_1|LTa9tv z)9b1s$T+!){Qw+9o+-Lpsu(M*J_59#@JCpOmB2T$FO@vU`gecEHOl7Futwtw7Zch_UL(G- zpIHCg4N~&*R9V9E#0wNp;7asUQmCX@ViKvl^fBtn^|5#hyYE-NoIXpaq9~DSoPMs+ z6tB@T;;=r0crk%%lx8>kPZkykOT!_T_f>nfk)LqQ^QG;+O}omwEK!rbaw=@veml3f z8{*EpO7&lw%;XD{zqYU?Azh{u%Px+Ktzu3m^egT+{R;WAEjqst1CrhU8YL0K;vKUR zCh7m-hzJkgzj%nijmPPK+Y6sa&xK%6ZxQ z2z<6Tx3=ghwV>0)ktk-wMi2a5V@+N!!-n@Q1?1qP=FO-C0Y65-aLfy2_r(jSAWa0e zI>j9#gJ$LG4Quz@bPEu5y;5+lFv~dB@Ac);d7fp~EIiL`cs&@t5_$|?6?;uelT?3T z-}wl7@U)!M50mlw@Dw7OtX|=vV)(d5o}etWZSA!8(@Qi%jCto6?GEn0QCy2z6y-+Y zQM%*ntA(b&KJQoyH4XY6q4~#g-uZ#gU%UaBaMN9;66XMDhN4Tbs60%RSAJQJ8UrGD zH_a3`p%4t`xo_!g2L2j&(%m=Dbtos<%O9NY7R8oY5hUW3+w_5KS;-p@tN9n#^M9kxu%=AwH?iu>;!h`SQ3YLcGr} zvzq2Hvm4D6r>Nh*pP?>Je&^RR&U@{_M08_$UmwOoeP|&D8LVzDbxLVZmb>_OXlr1~ zHFM$1AKhTfq_4->8Q*AcAc9DrxI*>PGP0)9;i4Hp$#W4RUlpX$4cQNfaDUYFb(7GZmSE9#GDJ z4J|R?TNj*CuPW8KT&6 z54qB%^Q)7q8&=7b6=oqCyY&gf599m#U^wk4&$0+EVXUCk|8x5eN|H3~XnB?3311A` zuPd(VZ!CVC_m38%q<5azc~7$fNUhCpAJ)aTLRp_IU4h|`;_vo<>5|0S#F<%mE#3jRq|~EluYZz)LoI8BE|qoQMe&D zKVxm6*WA+3uxbDThJGYE+^w3Uqes~H51e>2+7sbWp8h?#Hsq1Zn2pn6%p>0lflh8Nwx zE-~|hFRMRw^!E4YiBPEe6BoRDi6g6^*nUO|SrN5vRnLlNv^x4I% zmqcQv6=9we0bbLnt_TBO4PVJwN}XiVq7%@~{OzJ}y+(d3cPEQE@ZPpZ+yW*-<#dpu zH_xgGNHQmW`pWA2T-~RV64{uI+(yM&=-oPo1u`?uo^2ft@i>L6kUwlTL*`$%ozwCm z@NpSqL6l7k&-vM5GuA_w^ZVThwD^H7=G$1i@8an}O><0G`ukvu{dJtJ5jlS08ztrN zR)RbtI#PE~pC3kPX`~&mMn;qWJIS4j5rB%ImG(biANqag05;FZxH8#KZ={V;95Ux! z^xuDV-c!jhSuur1rLlJO2ey!12>vd;3l)d9Lm_qjJFolV_`(j=sH+#WZnz{8(fQlW zFC}S{Qf&@OiDmpDYp#Xcr(v5rCjQ|wLl(D@LFIuuXtf9Lt7$h~K%qI?P4MEfxN zo-A*$b?;rp%cNN>gJO#x`0!d1JJwyt$<<**bpSj0a2^ z$sLLzN)w!dsEJskuPRlKx(*pS{eF(v31md)F>C~Q0E(#VgAj0wkTH!`L1+QYU5V4U&8S<3uSNdW6RL|33}&< z)7olUFcbcR&jAe8=Y^Rr33XKwR;7nU1GJI)N(g3+{ut^_w~N&jH}DmCf!CxTd?35o zmPco9PCD|k#CgfmW$O@e-8o*P6;ylu$KQr9THJPWZ2lcReE56=b@krCOIt%txujidI?Y2{Ct;L?kAd&EXgbz{QUE&<+Lik z#CPV2ZdG!&v!-DpJbi}MrQFVB%|`p%gz(er12h@2w|K8QLVs0vca^ipj4`2#s9EtW zbaJMaT{5uiiPhuC*d6ZuadZRH_hYt&4&n8{S zrWtB&8R96bK+DQPm2jKcG{uxl^NbS>Z<)X!gl9A(KL`E^CfM6zDzE#mQtI!nG4d2= zYes?SBz+RyW0!to!N;9I>43AP>U`i`$2|(2DqLyt(1zoh$lPLEjIZ;psV2o_F9|*_ zmq&u*-d=eFy?>wYy$AVs9{z^8Eaya1P>Wx;(VLxX#B8;~Hp<75ix!Miqu1921b38_ zhgR(T@tN9fR)nz+ z8=1sP3B}Q|nb!WM6E2|mRoi=@F?@-K$5hpf7Mnj=3?|!>>2?-ga$H%FS+f$Oc_Z9S ziOi-gFfuqif;6T+Wc0zRQ^!6Hfad((^m0vr~pR;#_#*7hLLi~*v)WlZ>?DKe&22X6`zv1u8j0sr9o@U>|E(Iwecw-O~| zHs-^uJ9=d2E}~FRxk_}pt;QSFCMt12$$;V|pG{*KwdLlobiQ<$waz>_2fc4TQkrNn zr%%2eWDDO{GCut)Vx*dAeTki~j3QE5zmkx9GRZ1NI<8Urh^nrV`*hAZD8v?)khftW z;gFeD5<^U;bWX;Y;WqBeZkBeggY{I+pQy0?)(qbDH}~aX^r>^x^LYDBQPrYK<$mJS zVS%Ko3%)<~PHpH7>U515j|dT~y4pLE^lkl%@hhhqN)b8${>Rmfcb*$x2LS!_bv_$ll z+B_cY(fQPH$@?_Lrw1W~eHbFa?>7dQLv;5AaRSp9`ZyI<{HvO;tFsfb14pgQJ|m*R zV9^1lT?%Qnc)@km#(V+q&S5h=rlGLQ$p^s9ZfK0UJ8%iq18F@#0pz=6c1deAw9E_^ zI$4B~?REcXuvfm@;-kzxhINiuITn}>`{aB;%8_0g6GRVG%Io*1X>_xI#RL<#$(yZ< z;Cn#{_6j77({sx$9$BGrt5l~9+gp-{?Qxzbb8B+-Q!dLrl}{^{r~G}!^T3MhhYKy| zvPS?-*l*?%@d$Gi3is%sHI#UnBvE|%0Cg@JkPuN)3PVgRgZ3AQgfi2m8Vye=6a}Ul zZ_q5B@<0cA@RlgJ_{?XeB>r%r*pxrxMeBZ!IAF}%#T@&L_{C$~Asy3wzm1Q;27lYMuojs6d- z9Ze<(UF^ZBmyiQ`#Q)(VZD1xNplIX?TDEgh_Or{ak(iFS{na8Y(I!2-Nr_2{U0}F? z$3!5p+q@m-h}~W465!=$gFERf=(V`tt5;Hgj1t_?Qv3V)i!+7P8nbpw5cAu^y=d&C z?9AT2`ZsCV_==~qhjKf;o{6NB(;zDEG&&G!^-;2)JzcP+2)hYwN}dTBjDS|8b*Cs* z#Js;S_NwSpFf-4VhEFm`o>O18t~DB{Q1)TE1aPLyTeZF58y9T~FN%&qv6v@M@Pd_d zIoPp8`gUpddf;O6e7v7TUT5z$5LQAC+naI!JTXQc##yAe#{DLx-5_I}$?O8n-+^)W zaz1Ej%3F=LDqzen1w=PSR=>ptSe3*6&d{I6tq^yQOqvA6jO)AMKO79x?EPw*85Lgv z6)xf4N0oq#Jz!>6*SYyhEnelzPWE7gH&*p!E@A9iNURSqIR~bxQ_bO8K-ma$^2-c_ zD{SO*B&NJoI+}EcavZ%-eEM0OvKlw7_y}3LS|s8p9^?2X;Y3eZ*v8m2;8-oA!dyIz zaWBGg{9~V^&qcyrR0}S9z%9BVIQ*Gz1GC*G0*0TMid$-nIYu`zZTL5LTAzOBWp^xc z5}j#Dxq9X}73O+Ua9X>oo|e+aaLv+PeKK12o`|A>T=MBd{M5^e%RUU6rn)wNoC5|p zH80a@FWk;iOVt|mi54gKsHGV0i72s@t_5sPzPt112*30}`0hBwbLu6I=V&D6izSWX zdV61pZ44tOKP#S@27}M4zgaFBVNakcC1DTzeYhX;VjV6z^EvGG0Ji9XidLW6bO%8d zy(gqRiyfmS#N1NpkDP9pP<|(#(dAoRte)ujYOvTSLC2PbFIbdKD6_arc({SZ;M37V z>4OC=x7`gQU*nWZI){$^H_gv8Bd&wWA;m5iyiM|U4UcY5sHMaovX_1Y&h0z0JItE+ z&GMayr*iQ%1CEqLY&13bQ~-8^k5$;V_U<5Dh13bEa1|E83GV$aB`2Zj8SlIFU(_Cq zzTfM09mvldvYoxbKWtd?-5utsJuaE`tq`AzpJZ`6^9otPs(SbH@i2^R2448hNsr*A zNrxHev2N!mc%YAiQ(^bbo#`p>)uNsQC7u#j7gc@+Y@Fl7=D5($w>&VVNj>h#IoShj z)lC?nX8c091$2m0eO*(b$d>DP`o#1HY<<4`Cw+U$kI~~=rln8M{xCAg_NK6HQ2S3E z`MK`do>`il5y8fWog({GVjq78ZkgoiS^RZftr^Q)h}o^>I-rN+_2gi@-8-)n${}ED zU9M3b;?~lpdRG`jh)b*PQUQdj!QkI@g@VA4bQPi>Tqx0pH zwzrZ8SXX{~8SO5u(o;nMI=D0=pI> zOQ4J&fT~lAxH4|X=R)Bf2is{@*;=Rke)OPrcBKDt!pgxjsaEwRU*;X-hg1DBc>y?K zi{{9!7!?4pnD{t65y0VAYoSjt&)_?@dBJ3pKUlzMQZD3T6C(j1}JZm;sa8x~56jVd>pFh_%Psa7y_q^{B+7-DNA@6uSt^V%5 zsJ@wPu2G`4-7R;fHZCfmgZRLJ?H9YPsJVN(qyw7KdUv);UOZYHGYVLK{M+x|*C;Am zL>jK{jl<2lT0q!-4TzYHabU)k`H2_HR*E+i(rgwoO+GVcgXiQ(yIZ&m!H3*5U@^{+ z!O9pgq=RnK6xk|QC#S!SEcbhAq6%%#C;$BuS|`$cNsj%_P(RBw+jn}Ft70?1sVD=(RyHbL#tIenCr^`6wp!%B1%~r7XaSWK0{vRef|9yTcZrJXnRGP&a!}b;QKQS zm``zyMk)GrktH**ty`TQ7VX4_=@QaWQZ}X+2C8Y)#2T!`mOkodwrHNxq3Lm({ETNI z=QN3+yH+~epY7!xr-~-sI9V9@0gNiXFxlx()rfNISM1q4p8jr-Osx4B2yiWSUm5gY z?ZRkqrY8rK+slxK>SZ~Jfi#7O*CY7c9L9Wcp;p=!JJ`$gP$XY%EQaVRK>oDIo2{u*V{*1UV?D#J$S{lB*`bq1@)k_uWSu zF^V3OisQ-^^4WI@DZO9+T18YY0BQ1v@<>dHPtXtFiO zvsB>{4jmY4gG`831ZlW8_YNT-s4jgl(t<3ZwFXIBZmT`$*v~Jqa@T@6Qk+{@H5%jX zTcl%!zQ5ywJs;!pS10b$2^`P@)ulrE>wlN}i3Ex_n9z*hx`=J4&{K!`g%qKJ(>NMcep7k8ozv)K7vC zxjU#Of5ILy0SoM{{sRHiDNuR9bgeL*yHCDuW*bbf>Qva%$%$a^Ck_So6*8TEyd(qx zenlWJ(F3_=wC+u_J}h=`FN8Q@qW*a6T_Jauf@|nuNrUltPD7V_Fa+SlW68KFIRYxT zTunqBzm&+4ep|3u7bCMwCFSbU9AZGulk0(qpm-XI3x*4vre7tqBe#!WJSp!;i=OP! z;-H%gCiuD9f}sP70S&&=}pM$0v(dnBYI8ciLjf0LUTZ=aW>*!N?Ti61l{@-o}<}t4^!WV9rAl z$v7#RWIa%vo6EZ0LHanH^`MkAPEwBA`pT$-ZODtwJFl?7&~z^;Jzf+wZr3Tz0Hk}9 zz<$C#n_N=&B@#zugD?I{d2417#tt)sF4Q38FzovvLzs7Y%x_3q;Z5^lni{@T-i$cs zj`50!pw!#50Dqqp=^Q3Zg2Ru%yethXwQBpWsjg`da+=`B55Xy7Ht?^jL;?u>C z$8NEf?EIxSL`qX9--5H-EvUdAqdRcCcMSU%s|GQK$hW_)3C~n%C$b9Ux>e$lmF+WVpdgz}0)mb$uT!=DO4FsXu`E7b!iR-R|5UQvEh_kwyY!!;y6dSE zr<&(0JMt?AaICnp_LosMa}Sm-`Esf8yg`0ogfc@O{dQpxZ;5G{dS1IZC1VQM8CR*f z8NM~<>8%Xd@aTo~R`VhpaXFW)slK=VlR!Yc0SE7=ZMT<{8=3lX4ZH*)f%1 zpinfq8pVq#=fs$Zj3t=KE!i27?N2mc-)Nrcd215iXVfA)g<3kD;Ejk(@_a6R=m2d} zB2Uv`R?}UZwCzK|4c|X>3DvHcE?%R=J98L@$CtM*?dDaRfRq#lj<_w2kP=GgtnWaz zo2!r~MnUqT@YGbc52t-sg@Q-^s@K)YTlIe+$qOC+z26?SB|n!?lY_`Vvj4R_Ox+{CQc>b6pSM-dd@oxxw6Ag`13@-lFUG891yopSn!#9cJa`Ur8;%AJPvIsQ zJp5L)w4s^^3r;Sn9rn^mZtdEG0yp%Xh;URt_Dg_*1CZ+5W50-3zbv%ZFNqbgrl%>1 zPBA>RY^c9+X3c;p`cDL4bLa)@s8d!Vs!ug{i{SZ;LKUnY9v6)uZN4d)0rK)gAAF|| zk8_Sr(3qVhdudLZWuK?cp54g2wr$JMJw-h5i^4me^OHxR#7tk+XEW;3yi+kSzU#Nrcdv` zW9g>xXBh@ysk%LtxNDLc-dn_i{HJC13^Ue}btIeE)2*D~odwZ6*mr@L(SL>y%Ct3_ zHw2U=Sbc*ar_`4`J5~mIGBh>@xd=HC<`NJmDX+Jy;!JgoH#+3fYEzO2wohNn3wVr= zCY#cxm;mzIl-*d->F2>Lj`b2_ zb{_ub=S*FR0J}f+H&;>qnMWw9{&VqSW9_|kna;Yso(mlk5ZYsKy=$1llp#x`r`%g%#R#dQ==vQji3jv$7-n5 z7Z|gL{fdr;8TdJ{`UAiy4vO}jnJbCCbJ;ZH1x;phnFA`X44>KFmgQI-rZ#99_dxsg zU@QCGThs5>oU*Qja%f4+3`q9~RLy;l5^=jVQe)EcfsiQz`T@G+`Tmn9+e+R8s`6Mo3Eb&@_C$m@LV>hp4i@|H-lHEi5tK>K7 zuaZJf6Z?!#rUxANvxZWy5%9^yy&831NCzU+u*Thy;**XGbHRX)TXja-t2y#Dz>Ni) zPfj|0OyxB)FyTOLJ3b4&J3f8;W1p9e;5WtS53%eP&I{fP-PNlI(5{JJzGH<5E=1@- z)zWK&2s1_Iud~GP*+^_>i~C4^A_%TA`nnT3N^1^G5#4!!=WlWU#cuAwJJqR8u z?qWMf$<)Tk`MWR;)nr5Y1NC5J&~1-%C7$T_OkJ`Qd#lCO_RSoMJwAh^jh%8GtqX+n z&?8c$D=?xL=xO4ryaxV_%H*lA8gHT_$tv6REao zw7SzWPJK{xX3_8HnwOdD>4v|B4Y%UkX#OL$kES}FNJ5hHyzv#4o5slU@;Mj2ztqwS zD1p5m;%eQzXL-`rv9MaW?!T62&)s7utesGKhP9Dil{qv~+`r^nQ80q!8m@_E@e7Mt z2#Spux7n&_FXKMOkLRHip<8AHb^NJg0kFGxsC?5Rs2mssx?eoFi0uFDEeHY9xa`J+ zlK*T@*Va0Fbpm_*58ef>eb={IX^n{3@4?Af6cNaO2%&v1T=&CvpSxEw!!Vt<1~?{3 zPS;8+@S0)|ln&p_>6nniSua&K9pd< z5OFVMCAt+SvdaZ?TFM!5O$4U{g5URAx)xounIIt`F@BM$J*VHAQL~Lq+;h88D@fa% zu3ZNvNN*LotB-n<3S-;icR+e3n}_u6TExx6TRR56eI`Evo^eNxgm`3S5cxo+wQqmk zoLmhMb43)trwjOfAIH zEb6SmPfVa`OY_oVrrR2F)M=(dQfD1}as`g`@)Pe<>ksBYg`nz6twmMS6oWqfu9s7O z@!#nFTnbfV7UNxP$$l%WDW}FG@h)MGPWhylnn?*T@zMT8c5w=$Y*yKKXU0yo8zZk} zrxzI6bmf+HDQpsHot9a}@qR^@3X4hp=h1NMVYzTj({GEI(DkgY?J1dpRBhEn*H^zc zy0xnCnxfoaf`ml7fH=)bG7{2>_FIdTQn7ymNNOZz7@TWo>-k6Vsq zQ(Fx7g8|vD?rH*_A_tG%ZJ-#%G1ioO9;Bpp2Gx6G z<+$Ebfe4}ucmp*(SH3CuLfspp1Oa#RSOn1V!Xr66C%>uycIz$~+a@{f9T6&@k;WUC zD&UFY13W*xElC6G%q!@)x6>lhkYiH!uHZ;w4j{0Tg@wm0{w^Y<$SdK#sdoy>xQZWk&BuvsC6RFz7IFKM8Md((O7ZszMkp$6A6;RJjF8?dy`CsYMm6 zey6)#uPwV_ZKz|QqW=8+-}~yw>fexT8HqO?W^yx%ZeGq>fvpQMYnAKr6z#{*tMw3P zdB<+xFE#H>Opeb00&TfkHhk^mmS^vZnx}xGtLEEJ-vFNlOn!H&{MdZgUMm%P{cYec z&+=ys6{g;V#OS=QZ+nw*Kc?0tr z{ICCjVu1rfWVbz!N#bx-m;YRZGv)5=OWnl=sqgmIGX=hPV|cYoc*HpQyB(heEOB9S zixw<}BJ>j{Bkd+)p!%2iKi2%gcuAV;FrVEh2-=(LSVw*Km_Co)ED;+R)3_hywPI?k z@*K?1P*aL9gLRc}tmSBq_}DO-!TBu2124mALxIam6O_86_b7S{0J{km;wbq1ur~^m zB9P6aa=ZPwMC@d>BLqpeSVL-;e*>8GIi5o;AG;r+1t&iYn4BG0?<_uOzO+Tp?-^`} zuzg_R)qC*pHlVtTwEBR=!i<}-RW`|V97KX>j7(FR)xxw??@-a*K$um|^lt>2+?%)l zvVNTsl*kgrhV6RUNd1NKx@OL%MO*$22L+vh%OeuRnww^in znX>FAZ{QDh*Q$ZHY;4)OB7(^ppA(wiMFEhNxmOEO>|!$vPZOLF;rJd7MP3d*)Rx)<#@D0svQ?U8K^5(4_PGC_*2aSJc(!qJLKiTJ{wXWD%3Y; zbz+5Q;3{ac#{*I1*=|kNbX{!kjMugu&arZ0ao#(vD9uyqj-Adk$Iz_5lis}tpI?)6 zPli@4ScSOU$I9L;;Bkfhd869k8lL)5bgs-|$80bX6W?Xj8b9%VemS^t)7#1g)AXY$ ziP@=#SWR&|>TN@OhiRAotAPlAyivV;{vQq>rbztfHa(odVSZi!R8zV@l`dBGLzlNC?*Adjr`9HacEw5yy7g;sVnFAogP zJJwO~x_RJHK5FvM0$0*nmr#9|A5~{5tTm#%-5Hbj2}2=uhGPyL^ai7}PO6=8t(0he z>k-vV0@3#@ig2XL>z7LTK^#axiGotMN%L6=usI=k_SK8ezlEPw%4zGL6N3+`+z8ie z;F7JQo{pzgCA2OA)07_Lim*ND=6kMQf|<6Zwh?PZrP4O?ONzK>)p*qA;6Fgkpx~q+ z=PW|vI7H`Pq0_y|nIqza9@>ss+)PqCzP*m@HuhHNOFn3W+Ai7@(v{PmxJjD~t*ztl zq28%v?7pKKm<>XgyYH6lWJZ|YLhMm04;p4S&aKF&GzQwvYs7V#>c8-Z=!}CRjxUd} z3c%jd5{t@#=*UGw#F`nGkcN81nO}wW?09unK#)IDn*m`y0%z4w^Yt2RqQ?UF-Nk_V zyiv>3cdxs64gCGxAS+9$1)!(Jb$axo*i0P_P~V^LE5jmv!_Gp!pVTVIxI4?C-_GhVL93sGuBpHkd|9(LE$Ke{nsR6=rEraxT4W~?LW%8 z(SfuM#N%km_2Ln9;{+HE4?5l!XxbUs4*!p!{-yb3)gJ#`*UO-2>IR6kCaHGJ9CWZj ziQk{!gAyHQ>HiNR9p$6dm)~DlZb`vMkl_SR=q|OqXAbl4EgA4Xj-`4-yLwKq3XP3lOGHhsfTR^O7dXmjz?LjcmfzP~9 z^Jx;K`RMpCh`Z@{lRu1BWpAiE$$pq;k|Y8?*|i{Rk0HIAMVmwcovE}~V2w!y0{Uay z$VskV3|EQo@|UUB>(cFilX14U7>E1lDMmTrGl<0@%Z_l~4p80aK=s8dtpk8jR6RS& z`daDRtmG#cyW&QrV()ZJrC~lRc!)ds8>e3}tXV02VoIYj5s2bDabV+kflRs7bX6YH zhvI=MT>Azr;0ToY_ST5Tchd5XrsvhFqkbMSv4jrXcHG+(b_tKr%imNgdh#Yd3=4bN zsJw~py8MX|93_ExmTv$ae29AL)6G2@M&JE;*{Cov*ql=J>!dpb-$d$Gswm zEk|gh%iW1`YnZAC7p~F)bK~l_ zopzoJkuyqgtQ$2p?}hFRd4FEDz5BiNaS6i~ry;tg6^Cq|rg;w1-3 zM<%0O!BGyU;(TcS_GtK?-{3C;v>KriE3eWcZdNU;gs+qQ7KI9AmP6JjPPwCZO5pvC zsY^-$#j+dKgql?&T0%W3{m3XU`w{cm_iefs?77K9OU2JN<=F9N0gO*!(5`zvBnO-a z^zomQo~qD8T|XN>?>;)|XATCuFCI_(K#`&tEl!VBzTg_kW=4r8E*_{roeYA>zW=c} z*Esp0Xr)mO)_%sUP;s<@O1Qm8$%RC3o}`_`YQ`Hdqy?ds|Bn>Ly8v|H;Kd`+W^Ic> z1nt4bQu+PKY@lsto>0#wdodeFjfs!{>bSi;#qp3I-s%XGZsaCs*L01t|+ zkEa8jSp19!h%K@S=!4kiBzD@`T3rY0+?_Y7D9>0f+Nr7C-;qi(rET0#O zohoB!Ns#6F(-W{)LZaXhT->IQQA__Lw zLRhD_&ldUHDfK!9%Cu3-?Uec}PL8OGY14_)p!P}pA_vFM6oJvlN_l;48uC|(NM4yW zN}Jw&BW#HVIN7mB6^^S6^N*Zq0Oe)!6lzc={Y(D(McOKPut$k_)E!ka*rWKUOmgIi z%8x>QJqjp-sjN101$*w!kGSR%^GRtc-B}b^{eRUBW{?-nn8q!Bjv(Lqjq&opQ)it* zpPf#ZjD|G7j3bAnAr46s78l=$hK^}f-50v`N_p;-Vumk0{DI!J3*C-wO9tjF{eCUf z|8-`K=a1EGcKLpjzj+?GeKAlLgzqolXYe$G;Hu)I-nJ+=E=coU=riyN4J3eGmfitN z-SOFfEQs;zAzh2b6X&vkLFmkSah@??FV&FEY2$zW7d98``>s)ndQ~bO%CFqtm1=M~ zQu6#>ei&>2t46DBaNK@QDU*Gg-!@V}Kd=Wbljhbi-2Mv=HH~W|rMT^6VUmxe5VpG; z?G_h(0eILbO8e>P@Y5GWLD=Rb1K4C~kys`fyh}Tey;zX+w7|KHv15=OlJ3)+MV@Wn z^lc^Xso9Af&mAdKu-9$%fz|drA1!?5XUH!0n1GN@Ivb9G?#H$IpOFP|nekFs$A%4FuIpH9c|#cKrVF$-N{ zG^5!aWA3q+f&M|*V`7ZTZ1l%W5agr`QRgwcfGIma@aLwljQkGcOg*2JPGn`iKQ+o( zK~Z_2g)nQH_fmZBAQHu4HJHPNg1xF@FgHE$=$3RKixNhoiA~>0%5SObSJkgeyUi9m zgpX~J4;%DqZ`S%{f;t!Vcm4ylpRVT3en~$8r1+T=m&*-QevQ4%h~V>kR=bvQuKZv3 zTKU-*A!X%rpeuekaAS8V%lo_~0-fmr)s8`GXs9@)t}$M?1Y~iR>zV23g`Bx8g-D6y zi-#bVOS|z!XSc^i1u^UgcMhp$>RR#G_OWMW5s6HP^t-t&#KZRfBbLsihV}LQ1k-!< zlvhXQT*_6TE`b_x6pMKzwS8DW`?>wU4w3n3L&|FvZ*k-g>3)>qN}vpsM)Mjf7b|WZ z(ls%g|BpFS)(Z<@u8iXaU>g-S7?RNZ9|m77m$i^n_w**0QCiS()a>sgQf((?4$2gD ziD@;Z?X)+_lZJaNrUMP&nG^}4#>m{c9``rLAk?d1>`#n4x6z(Pxto%CniAmr#@u#u zfh%iHwDR~M`pj?IqWKYY$wVa@Lutl|f(w)Og>eU-h>HrTB%fa8Lu$!Vo2#U+LnTy9 zQPsb$k>+&*2X~eRJ8;cQuI-7=w8=SHtJZhpim%SH9Z*D2Z(=ik_d$@Bzjr zQ6?xc80P3me_~#s;Zhy5t|e%32b|L%8o|rfbdb((@X-3=oViIDugat$Eax#g^jk+h*#-71?&YX8?ms8jGbDx1YOng;-HWgm+1asRg{B)YjR zPFx*nsuSNF1IK8B3GE^?kcXeOc)${Z<>nO;)D?zEt}^i{kMZR+G0j{PQwLT-;~Rl> z$u}HWmRODYiQsSiT+oNledQ#=xaNLx#%4e%iAWB6{dXU3_q_jn1t1xP>{CaaEvD^+ z{JK25P}o~UqGTNZIyeo-JCA$0cE(7`mTq>hF}idWlsUC0mbvuwmqC}p%WBx&xMlNq z&VQ;-Jsyu2Y4IM*m)G{O+kYG&1e|IFTq~f_w>l z>iV?X;b>nl;fh#?!(|PQpP~Uhp4$d&&cp&>P@P8bg`6JVhAIB@< zQid1-*d*?WDJ#%YYVxr+{%5;eVbvJBaFG{o@?&gcc1THuwV9m zz2C3n`FH?(I>;BFm|PEX*YcNeDHR@HH@Nd>wMo;1KT^TAW|u=p??+-C zB*$Rx#e@{qNx=1U6OKk^j`xTcr2ZTPiF^I{Rui(E#l> zrBxC)e+>m{LgJyBQ{uAYg$r*mByH^y+EHSS_t_nv%TO{H@_K0A>%o!L7$?6_8XH*_1gN>)PFNU$hdtv4;H2QZnEC#qk;1UmeeRA=Z( zlABMO9{QuNQl2Y1!JQrVC>e^Buv4XPK?zr0uVK}(6(WC(-X8sQZgOy5X?v-($FIaC z;1Zg$J{|L59~}?kJJ9yp?@)P;0|op@G&0z4rfrbyli_O`bXXXR*{8$=h5_WolN^U% zk1!iO422))Tm1j#J$Eu_&b#)~aBD3|s#vU`%E5qvVIcE**J7T=+o-E!_)h)-b?$rU z1WFqcNVD;np8F~_gUJ{sVSi9abow3W-q3xqo@&3tPxG%{XyvUKrly1#8@(pOsGpa( z{6t{;IbUmN@I9}_Or>YLN*nt0=K0N-8`nyB z+g)YLWl*MwlqOy1R*XCP*^d3Z^6Br5o*_h*Fr=)&ff*qe=mKTW%cjt2Xqm%YRXd;K)ZZ3A zk2&n<+T`Tce*bTj$wR|`7`u31@4TF4ZP@!j;rjRi*ysw%nbiHK)B!xv*KV8g(g^6n z{=N%)Gp}hGH6fsNuw;3;jhCV;o$d!-#!CEe+Qc z;FZ&A`E!fzlRp2ev>5voI>Nq#L4~{PRjY*&E@j;)4>ya9!qvW{xSMj;Ah`j^;LEY{ zQX0(j5`%W_C>#B!MzXvmS6kvbQ%_TP7=~r99*2Mn)QTCUA@ z>ydNrpxvm{;x=kr~oX(8;=RhB0GcMKAV(YYdy`rCMK@ z&&M?(dheo#rQ5ZTzV{YJ0G-&#TPV^Ovh%m;fUtmOU#FnZ-vQYNV)niN;NS?uaC07}Cz25( zMn~uWNeBdc%&*#xw%yV&9-sN?&irW_ex$9Xd!hXpcZm&HUu<5d+~N;)C|7xVz`K2) zbxc=j`Z+n;`h8Zx&XU3?xxG|}xN(z~TB+A(W&Y-bu7kaI!L1S?BW_t!Oebp>yFZmQ zO+sh6_Av)mzv&tHc%f{J3ds$!IT4=40~hA);W+G{ZGYRd-|N|_Qg8Eoqt-n_DOMC* z)iSNy<8U1VuBKyWr|(;v(w7$TXcO`BD`dWkjZC{SyfJvYG_V|9nt7DS@QwPGL+?T20owg_blSb5=JbUBjBCKU&+jK z`YjzgO0Dnj*jw6@6Eu;xa1z15ah5*LiknO^G1~U3b9>9p$9}@Vu6_TDp!gud)LcZl zQAD`ZfSK_0Yf7@7ROMY^2QDA23`MuRI&!w7qK4ETXmN4`mpX2Huv%Kqv z4YarY{serw2A_8~yHzc}QCxP9ckBBgcur;zGX8|XuQo2p9-gQu+_wp2s~c1=`HyZ$pN z9!XpY9Z71dORnBW7B=+{bzC`EG`$x~a;lgXp{5ZTSlBO^xMEgV;-+}@+Fnajr;&f} zV`lq%of+~P&sUsy>g0oj_?(E7rkgDx1|p6u7hV$c!rH^kg^{_3CdEhgmBMrT@!Pd6LZXnSYm;8 zOg-1h9+cF3uoxp0Q`8zpW#DX#N_bEDd$MQ~?DZ~q-{;JfaPk`}UK-Hr9@TvPjH`#LgN zCkOJ%?0@1Z|K=A$X?&gi(7bdXjX&;78H?=|x0dVXW!%(fwC!&*lvKZUqR1YaiW4!l zbEqgqIfOBjFln!1S+50>MQiep58X@CyBbQ&)l4N|RQ?9=!gPo|z$#DX!mf9LtRitD zK-a)Cc|>wKdy{AF?+IXi4oLo*D)q8}^5>U7uJxuuzF$n0S}hY0nLg|D1>Y6*-5Vi4 zD!T?-B~R?Xdp!?!;e=qom0;G-YaDqguAA>fcgICnKS%<(l}X@S)D?)t$Go1LwKD%q zviHB+`a7K**vi@N`;o*saCcq=2qvZdh_=qSL2K#_I(Z-E&HKZ_3@{vxDYdGeGHciy zaXowk|NV(~>_5%2>tuI{<(t#eERFB=`0VcwAZA{zv#|Gm=g-81Y3h@!H+VK0D6PqZ zPva0vanu_~x03hYxtY&EVu)HkFAr2Pf(|!9eXWLGbw4eYYGu?F27i0TBESX#HwS2j zeJCy*Tu)h}Ap_*cN6Ev2@+hb5|MLmr7Pth_rp((8FToL`R;st~eBX5@YS^SLk`g*mikeq;TI; zTd_)@t*|QOfzo)s`KM}nYQ}m|(Z>>R!_VK;QBGjdcdvspmHgVhck8b0W{A%^vFEw8 zi{q!1JRR3mHyFG^UPi60TYLGwcwhGYm%{vwf9rrtF)`HqYR5}fUz~v5E<4$MlvK`b z@}nSn6jM55V2sp5Y*P`(hPi}WW({sOYvpb_TVALPrnugrN6t});S~I954&*B>|Qql zRnThqrv=W-LF0PLw=#7l3;@Ui#qMwX;Tq06vhw*75V(Jm?72->Kc~0aH4IS<5rc~y zRJPQ?3lAdvD3y9y{iS|q*%z-Glkrb`i5Lkr6)>s%HijKGsgk-UY|8GQZr?>kFV(YC zoczbTf<8=2Lv39Ch{8I!>+G>JKJleJh;!7|NKM;(#=SVyiz4bV5CJUfL3;_gr0^@m%ZI3+FjqAu?JMN|7n=QZ!9h=Sj!zUmH6r&tGb~w-`z|=23e?NBSBaVVpm3U3V|^2}}V%u)bjPk!4zUQ~Lm)hG|N;HQ2rJ zIlPK}Uq2E6VDRN=RLZ`GneWK0nG5VcGJ;~#hxn1rAH2>&fe87C8@tY7QZ7#9hJO|q z=>+})kJ-m4hGftk6qqLC4FrgMHLsx#lkUdE+T-AQiRU80CcBTx&h z0RXqT#oCguinrxP@lQWH>9Bt>~itGtw>3UNb; z#OWag(14ySlJ>tG$}lmqm11F1j*#2u^}p02)12~S-ls&d9`vYw;qe({Cd)P~gi)xE zS}|pL^1dPz=Mg$*+4youdb1clSyiSlPzgcEJ(`HeP+R9E0^J^paj+!nHP3C79r?u9 z&tQ&}x>N%w(EnTt^uOussDWZKU{ST2#NwkqDRBG$z2U^OsO_~FIw|LT^m>nz=zHcl zN1@ZNY}2`~o`cIt>YZ6YQvvYx_tMegLUKV?7w`@(egup2_4hxSjmn3WJL}e8M1x;* zQ92S6Da;IIt=_$eyW;fy+#uAh|SQ zNLU0vsWmo7{1@CfFnK@EpnxUGfFJVZLD3i9qKP0X>f5Cy``2*%rvnerFF2RhYPaW$ z<|@SEgyceLn%@C4h#55Rtl|psTuY-HkEyxVnmY|f@4lry?a$H}cSbnBaNduHGT7Dc>=`AOrSR~KST7QVdEE?n)Et(D%fni! z@qIpSzM#B&J~(?P!-7pNh+@sX_vN2Ec0NH{_A?A<6;tDKuckeX+nrETtou)Cezjz6 zS*M=6@?@sR;d(WKS$1F&933gx^eVos52bipoSG}HZ^twul8k|bV2C}ZFMaq z{A*fhr3i)r)!5~Y@d~wZ8miSj;`?t9xBxuwJW;l2a<%L(GnnG-O(tpGlrN8Ywef~b zg9*HQ&ni9xT?GIBH3%2 zdV{!y|58b@wXc89#->ZHB>_{)9 z=XhIn)QRWJKH^<|xA#Cac`Y3@2NCiM z-D166ybh{*%;#}a9x;E@uVdl^5|jDxu2-Abfwdhs_=ajeSNu@PN#GlhR%`m_%=p=X zfX2!@Fgdy{MFNLA7Qyx7Ob9ED?+Fp$^bbNXP<}F7B9#s$KBs^ zv+6Ht$GOZGS^@L9u+?xMVw4q&NE!p@n6qI0%8TN0*04Yf6_VfiOO2elk&}D@7wOPt zDt#``{YyMz_lVFSR5%*%gK`_Bd`~w0NH5`xW}b+)cG&TI0XY9*7A%3vc3zJWm*VNK zAv6-R?(VoR^~PgF&=+TG&+^0%1pIqqFp!hU$(~XhG|GER95_l_zm)O|@GEnFp6@gk zK*-h?H0q^FI5J>>vj=<+c0{WZahyhgJ}P9MI0!KOLH_ra6Qa~P1&J1dTy2k#`+V1V z!MdIn;HFc=a6x`bps8Ksx|)6O4g_EM^un=r?dAgc;V$Xr!f<#VHO%p2df%zCzI;2E zq3LVjWPQ)M>O}YhKk3e@&j2j07+W&dT>>rBJow`7>y!nzKXth3+v_jvH#@QenXLiU z)5i@;4oA(*i|fQKM#WissE0Xd=#MQy^yP_3hT?^;Aypo6w0_1sz7CKI4X>MwXmCR* zYdBj24erD`p00RVHT^B)b-!7kfG)Zr)s1^4%v?NdfnPTYoW?;!y!dlu9m9|li?ej7 zA#j#k993h^l=LZhfJN9tr#ioB!<;^mmWE`DlW&!tIT9(;CNvp81Kxou!RgC1LrsNmjGWw(pHy;jCmem~(1a3lAK*}=<2Hi~NV839R%?PdM7E9VC)2_fwAYJ_E5r*YN~=(y#iWk| zi;F$wgx3Ih#;$tlX>u9^8j~;SJQbkBOfwwx3$C!c3?~> zn&gMMJ8_`c@`)4N6-el>Le%S=2Ma#bu9lgl+^AgKU- zO%4taY_LZ9ExW73KH;v8=P#oXGmgpDgk4B3bNZ-qXi0B#Pyl5O-XSiEd<)*2SLsx# zUPzVQVH@$M<C-(f^hD-Z_82syVDTZ}*3pzVV&+*Y_UMD+OnK{u&en-&x5v|JrvW z8x#2UDlhZ5&$duje-t(O_vE`8`*jXC%PF~3b2U4S!mfpwWOzX_WqGh@qJY3z{QBt+ z`NBt_k;}2mf**7JYdsWMIjQF8d&W1sWRNTvF4gst$I5}zQyAJTIh|y7R-ujqPgu$M zxK}gSqcJ2K1V6eO|ti!z4yzr+M1%*I%|GW}vg($rCl zN8hC;_j0|s35&|NpkeJt_WMuO>0y@LOlrBRS3`JWU&?@-R-ZmYY}VQ@rcs8x8udFE zRPG8)mcEh!Gv(hKcH_jf_X8N?_~?A?#F85+8R*9dd1=yRVP z_q3EeP$;oaC-Np7`IOz`A_!)s0|D3TpN`s$6znL~{yF(}KHuO5K6ZBkQ*=Xz6utbh zLwh-MB`E|dy^KA&Z;0kkq@2$gG^H^RYO8Xrc*FYT|Cy6}1st_7ah@IVO>E z-4TfJb-UznD%kmiz^J#mOd%cpe&Ea9^*ApBUy}If6&h0$dae3DA!z380`;mGI#B@z ztxkdI{KB@o&X#aV%4O^U^)y8s?OpqCQy<+BnyQ8{X4@K>|yi?-|w1Z`ezI8 z^8ag-cVqQ#ebPY3u4p+IC-eK+Z>+W7e(D47Crz?FMVs%JdTXz6Fo2iy{6;b(P+A%* zihxSc6A#GhY7kHKy+@$dW6IWM4% z?>}4che=(ciDrZpZ&8msSRZxHT?f*cOGEFc6RqxhCQzA5VL}C=99LEjXSkPs+99DW zt}wPgw-`ovz3hHv?@jHt6}SH(m+!&2RLAN;ec;l5-~qYDdM3jcl@m#HW)q?lnvNiw ztQ=+GW%@;RMpxZYXc&a^q4OCetu?-@_l*{$ud~#?ee}pK#})~N7(J)BD(+Y>1^Dy8iPu z<`Z25KmZ*;^_P@EwfMy!E^oWVC^viW2k8KV`380~jkMe&3qRE0tAk}+h(i)I>wK;z zP4y{0KEe}r=DL{FC!o@FDJzL6*&uWR`Q$eXg2d$jxLs{5VRu}vL{KU`f6~+IAi@(*}6S4>#j-V zyO=TR7eZB^bvRvSnLpz5GEu9T<*OTZP6r&(xsB}E?73663*lD1G4}GNDVrSzzl3{CCC2sEFI+Z>swapGse8xWSkdWONmBEj z7!d7aCOYZR-#$63_? zXCS>XupFTxMRfl31s2HlVfnLr3$#DR9bDe0)52JTdWS3)5|}JBX@2B5>G?vxf!=GQ z^cD@K6&|~ap0cZ#TwyzP@~Dm6(@={|k)nywU>55s^TV;CK)wsjiDsBM67u}vFEe&3 zpf1ZzfEnm}N`#-7saU^m^6Aokb@|qjIO_A(PKv%!zUAt+q5A}f?rn(ho<#G~u?+T! znO`ZqNN@LT@c<~eB!hcwhdaZKqIEIP$tF!)3{p)*fe}-8Pva7n98NyuV}J2XKZ06?woTOcxGC|bUplW9n*C>*=v&m znP~25tr)5<3H`g40ZM>CE5lWIC>2lQ(6tB!L>3oAcLhZPGJI%d&ZXQupv9UY{*eH_ zodc8?!^@9Dvw$F0xZ+TE6R7}bhWiURr|M@#_`LAO6d8&X}TEcsH^;j`Ko#z{Ywk@!OM<%ougVOqZM=sRy-?m}a%lEhUR! z_NJn^PHq`J4ipzLtotKFUXbj80V$*I4_)E6#C4@gQlvIXI^JI0pZww1znqAqcVL%O z7dduk8q{e;Q3iBqomfIGY4A^a@_V@13XFjE(Mzr8;0E0L%CLjchL;G=>s=lKn`IQ>h=h*rI97By)T5S9QQ)^+jwO|OzdTK&iZO)+ z-yL+cf0U9|Ep9m-*K965M-^M|Dt~LBDYo}1lpL4Z9T4jwpZNS>A6-_AKzX|tFdMar z=;6(Bmge85G6_yw@to0p;NWL*tnr3y*vfJ-oL9(s{PCAvRwdDX#0gAiKe!6)*SUk{ z*QUFpG*-bxFkrYTc~9yERkn#hKXnvrfW5JWEio;cg#z`s;r!c_9*>!jG8;g9y{Uu8 zF-h#HukfW!;-aaNdF|tYotkx8tFuM+viT%VMy$lPjg>gQqC8I52|zsfvD^(4x8OWh z%54gD1xof`ElOT&VUi{6Hk)Hv4||TxGWR*F(PmAh4G&1Gz9`T*z3u#G4811G8k=RC zrbs$Iuu9~|xVoa?>iUISRxj8SUL@l0l$r-Bae*j=Wy*sc2wTj%V_k*%P;Ql%tr&OaM@s zCP;7n=%TTP#=QO@#3Yz@)q#O|0T6VYqVjs1}bFx*FmCa_>f8u;Z z45&^d%qrnfyw^ZcJEIDKb1A-6vmG^%{9@1hVY~m4Gzu0yDhr@GcKovM)1aiP8$6Qy z>DxI{ns0p)_Co&wWeSH5<=dzJG`XT4PbZt}P3-t^Y`16cc(psm$O);guf@me^bZ@7 zQ*OWP+HNYiLM)e4UJddYmwPLBxAx7-LA?EKN?K;P%Y_Tk=VTmewjX6BgELKeTp%e} zyO5XpDePuvUVA+CY@Is6!~{i%7EgGf_^uv8WWcZtvqRiuFaDgFpJ`|q!46KQetIta zjSodf_04*xN(*t*zHc!=dF)eqn^kY}-p;F?T=_H#FE5qpI;Q0Ul)PFKYc$3~u1v(twhvL3$riLc|5<@+N^OXeySrpl`dIao6p4$@79yhgau0t-Z0n{= zN5Xsk0w>uMY5I;H^2A(0f#hUux#96Jf!%P^#AQQMnS-T{qGQ*Lr_GcmsY*UAivW9u z3Kw20n5LJ10%s`)QLf?;i$ZHW0E$c zu^J$a*W!$@(*87R4xG%(s0nPyh{PPHxBbQad3=32qlb0RU;`rjm_NPNyItuTROl9+ z+<3kK%1$eDpz3pAy^4zza$x?{`7S~vHoWCFyKl~uHUcuc=ndzck3#-IPK5k)x)&Z6 z8Qd}O$**x6b}1>zL(Rr5gH1WD4=PjQJNteQSZ|L?ymrVClfx^q$2qTBrhxq7Y)@RY z|3J&8+^8y`h@7tNNL)|vwZ>ynLzL_~zR8TDQdiZl(|0_Ua#qX=eTh#0eBUWkitpbv zwX&xVG~dBqX$He?!b;kDK5(}A*Wdo<6gtirmyP)*IMw-07~w29y$#W+^;RsiI!y?- zGFz0Ufqi>>LATo25!K4{A$RxN2gjc54{&q&M*n0y`(G7Dz4C#X9vjVSPp8VrbT+zE zCwz-Hn{pmAZ?$+XfCD_)-e;Wz$~eY2Jz*LXd-#p*q2LlgmufPMvv8>)T+FL8>BBjxvf$%?$nVBMbHs;OnkchX@gAU4jHh^ zi}5jb{==n<``Y#rl3uoFRZUF1E@$@eyFyF(>`zH$^b_m~)`U6VXT4SZgFmN}!wu#3 z;jErUvod?1|7*)HUMQ9V0?$WWD+kNx&~xoefg2KyOS`rCo(^&p;-Ssro@^^A$C%-H z5o#vaw!RdBzI9!{YtU1$+LIeef=zZYdUk0T)8?6o=x4Xg2NvhJJHC6(eo^*u41e?B z=|B%eo#G4gaq#X0ZL#+I&MLN*2O`3dnywbg8%D{cy1x?k*&st^8KYk#JKu-Bb>wt> z??j(^veIKm|Gr@`o`zGQq>hIFUF!A?bX&O0V29Wn;ULbx+}Ef*Gn#E1zGWy-nCAEJRnhkfcW5JKY^;%gyp_tt-JBnPM^y|r< zLbV9EQpm;L9>~AB@$DMOlUh53hT<5cw1odI#Q$jD(jCu`fv$cz0CX*_}1Dhrf8EMqOB z3)2kw;y(1i*Ew7SCtzt(hUs;6w#g9e+X_}Ia<5vc%B{+k!c5zgR zI&S)f&=@1>SIWuv1J|j9vF^IuZ=N58S6XaBD@FS%_h1E;q2~I?uOfmHD?UbJ<2I4d z(ZBBsLmj42g)I7|Yh`&V-kmW5^#26V)P&`?%FEO%>WXIZRX*!-g}_W1GML!Y=H zvz(#KD6$foQ?2LU3Xnmul_4qD$V%9di6ag=7>T

oPK-l7x+VbEouCUPtNk{Q((IBm3!$1anRqw!vo4l+%wxR)6oTv&rgER{%BJ0 zZblmhE#eaL-5&0@5(LLyK1JN{`XJRdm&LV|a!g|i94I~!LZ%iPv9gGSum)EMw~<3O zda8RK>RcE}0@<4+DO$&5E46f>9}VG(!Qo`}yrK!tHq!!rJYnvuW@~`bgldXbk9&#P z;B=|j92VQ{>n}>x%fu}Ge)1b=DxX&$0f5|2ys6fLwQ*wn%E3|8a_UVnGjEI0PxmYU zw#(HyeLGZZ$HLgBezUQ)MViafG>+^62NBiY{SHbL+6k{-J z37#vC$3soOa`m%SxMy%xHH(T%D)_Fmp@g+9f(1Ch$Kt#_m>(VUAa5f>Q-6KX^8IhR zpAV2#A=CneOjaBtk4kTU@w$5)gf7FsR7%m$e#0+}?TE1pr_+yk$02_+c0++v6F3p7 z#3?eFEs0g;ArG@a)#jhQaVgJ*aS4}b}Zqt1p4I3JQ zT&9nPlNz3#!6fmvSU&8V%jGfW8$xw%Z=;(`9WkOf-8ZY*V z&&j>`(_T7B6c&o?m)W!8D9;ZRzb{Bw2-&bUz_4HjA`=nGUWv;qAIR=%YM<71cIYc{ zl*!Ou1^q;}{+~(4nW~MW{4;5ZSg?goX9Wr0<@Mf7EzOH5*6)`dxa;si6tB@_-tlvX z_Ic}ejkmZ@akeI5d7){y@;1;G-rP-CZCSMW*%kR^LPf0A2jzQm^7G;(AIZ;~C*%ol z0A3Vs~K;m+ruY(M>0D8Y9H&*gQ`0>HV~h&UXRQKzV)e*kpdefg9+`lL6}~Ik+YH zeo6W;%|9k8bSz>7HVuPnUgPt5y&$4!jj*s`^)OhMn&hN?PvJCFvXG$4s2na~fLqDr z!vFqwwLR&or#PUpFZp$;`Lkb+&$Q}R^A4q%zgitiY-PE6`6V!o%oapu;1#La9xHcz z))C{jHQL+c^ws*IUa62O@frwH2nY62u#dn0mH%&Z>lXxiL**QGF}u{IVrp|=t590pAqSxmM) zrE6UA*{KrN{J|F6uoj^fU3bD=irBM8pVgJR8Njl;(eyD=W4ARPbCyr?%Zy&@6B#CI zN6e{{Im4YGFF#J;Nm zD*6>ZzWTEKTSjHDwecdi)eihnpGUdgYAI+fP=>}dMpFWS^z$j7l04d95n-2#)2&Cl z&rSda6NPC}c?YqpcI`d4cb{q^{Uq>BdDv%itju+(QmExW2l#%KSUsFYQRGYK!9oNz zMp7v+Z>&vcT)ass)#$IaPx3N>omdtygNi*YrUTl-(->W;TFUFL@CI>c-`gHN?iZ5t zHYu(wPZL3{?V|>;hDOWt*mx-YGF1Kvd~-PcHm+vw++yS)uuWusGW8~F>49XuZOU`G z9>|wRJ+|Nr%b!(&ZXd{<7;c1nz_t)qBfC<5>NAv{?}OAekb+d zUBr0ws`wM>LB(Ic@8nA!F^YPJmUJ>6>+H>5|492mS+1D%E_U_J_ijx$8Q1pQ zlQ~Rt#_#O3Xf;ErP^Lp19;NMiLr2>=sB}6y^&%MpL8HBMXs&U0P9f&2*4Sb^7 zIgPogvJU#pOeX<$T-C9Q$>l?9oST2e{FSwB+p;m}m;2Ijaj7g*SC=|AAXLIU$keZq z4=#s(>U47+)R^qY@FkOjB3FaZeXL?_SoXxx#cn#z_@YoT>poYq73*$9!>dC#hm(%w z?lLV3eGJvE%^8ckol3O!4PM?hQHzD-PbY}Y`pO(Gn1GK+OR@VeLadc{M~E^gpy8*n zn*`S|?pR||U1rlZU3jDGUq6A5^CD)oU}2NmCP2Vm+qNKpmgAEYL&aAptoA-EqP?Tt z2N3BU8`)udx}u0&bYGmDD20w6l)^?vpUCHU2fDhhi^w2MU}=*H>dWAE@dq;-iUk1( zO}+kA#Yc+ZBykz|sEUk~?yE2iXFy|_B$N3WOx!Ygj-05wbKm_LQV+MAfb(FGMp|*U zyMk~Xs812@24EZi4Awon!geTfI@)5~R88BuQF7P^PDvNI8J^(E@QB57icNhnkvY0g3&REYCb2f}Yt$68~hg6pBF3^foSFujm;WrY4mh-*G*m^NR; z3c%{5ydHMza4a`?VT@lUU3%gJ6U-&W)B8}pyddZ%!;1E~8@yJ;%M$bU5jO2ga!OZ7 zKd%W>@QuZ6*D{(f&qmQPPq*Kbl^5Nef+29V2-;}wj*DBt1W@U%(S5sKqU5mAwiVEC z+^KJGR2((7RY8f64)V5zo1X1#&&M|af#>YF8yG-9d6ZE(+{AmxQ}dRPZnqQt2wF_X zp`KX?`;$}n>V6w03{kJ)f z2kF|jir-sVNnVT;9rs$5$epD|`vfA)ZYEN)=MgiV*>UIHC2Dh4u}BzY^yTy7_(=Qr zq}j@+h?v!mk{vmvbZc&_8_2ksDo%*OUL!F zY(H&WOy2jN>k{{{0w#ry2zfoTe36_eHH7;u{{d({87U%*j^_+#3fO##)#fp78naai zu`V|YvFT?bd?2VnDlJDL7=I`JG&mBYlJ^1}pjR%xGv53A(|H+qSb+gzWw7LaSiPJ-VB9S-F)P-F^H3fV)J~&>LNY;2ydqT}KAhIOn2ywu#@f8Qe@se26=Y zbU=6}Q>qxvNc$__Stc8=xfZncjszFR3tX${TdE?HcXegzRZ?Iz)o3!cqr)F{O-gJ( zVq9^Y7YP>s&%Dieu^e#0Kj}TJ&Um>ac6n!EYcb$h&tQ|1m85Sz87XPM9|BN6*bc8i z1Zg?tF4FW#nF<-%sm2xEa`ruyYYU*rzk?2^w=Y~SX~7RK_>b!HfS^Ky<|^^~+xCs2 zZ+Y&7k0^1nZRyC1)RsxMZ#Q;}p@?{)X2~FVc{b;XJ?*)b_6lSZ8J}Ep!17sSS|{lR zUn!q*zf!@*V)zL@Ru52ZAjz%b+fmZ*s>%cXW%l!v$CN{d5I~K(b0Un>sv_W5@`dcV z9``7O6J%bPsND1;ZIPR2o$%T6(?+KH0AvPa=7_Ye+K7}7M%0dazh}>_GVe6Yn#pbc z=P&uiiD@%?nwi*`a@;;pTKofa)Ix@z1yx}ey5ND`=EkC0XqIB2Ns^ekqrw5K&@f2u z;Z~1#Ii3boT>@xP)-0yXYk8MDFfvIJ7Y7e3KexNOn+Z<8Mi_dqdKc5L8{-r~X2R~u zG^CvdR{KJS4I_hZJ^JHKeF9$NG=yFFDC*P$HGU0?a;%)7U)o=AkTvD+Ey1~~HV=>- zt{{0=e&4!?wK?l0IZeG_OuxpScBj=6F;Pac+EE0W7-1xf!b2cup-?W`_pp89aF;KbR~WpoR*BX;EhUyO79QSv%h$`%npKk;K7Z@x6OKvsC&!t)3(F? z+k}}53Xmib*SGUtC)%>#4+k4iV~S|CQ5QR#ClJMpKA#%$xm6WbVceu|>>U9l0<4CT zc%m|)QLe&7&7k4zXM}sF04q)@O;OLUq2UT(Cy~2GKx8n|CE<-^XTJx{GH!6!ZNBGe zq~BHJ^R(Mo*f00?vR51=@9hOcvLdH_r+hWHZ*c@IM(T7~AMd>6z-21W>0iL*bD_`L zQr-y|%3a_E38IM|oI(`GD1Dsmlni%3k#u8I|93%(+c)8O-=aIr(_#x9$pu@^zOOgP zCQPg{pk0(^2@%^stBwX)V;9qzBIj?Bq-#A-NynR49bKnyO_kZMXmG7#2K3|J9WP09 zHRTb)QWxEmA&-nCXuK!AA>T0w{&tTA-^!zN6~Bch+%;UMell!BhP6NTOokWtJIpju z`!@WQNc*nNUZg}1QU4vzVGMP;y=P=M4jqibl5w0d&tA?|0>V0p{u(e>yl)~@j?B28|ZF0sgGfAu{ zz&o&LHX!3`6+hmX9V{|Zi&13x8%>#%9ebME77c}f%ti8sjzXFta9l7y*1vf>NGu2! zFc%)%NDJJ)?|RtBts%!t5w+_%-?UBj(-59tiC^70-k;O3o#X``xN6cbPhOrC)gR zcb<*Ep^~kh@alF8P@)7iljX{3|JF890D3HpPTF&uUpyK9CNce9oYr43g*Y23(#dSS z*nF`Q(fpKgQHiG-B)f}wQg<4BGP{`nF$TDdO6om)aWHQCNVBP4f*uuF2Z$V;7f6Ll zkG1Rj^F~re%0XZKuBBS5J0&7r1!qWkdF@S{7kDtCAFLm@(HDzhc3t--VmRaJks&_4 z7z}HzCZN=8(m4*g_`!6v*`A0fbtN@fte$N*vGr>X+p6?aW68HAP-CUz5m)WCXqpOu z>{pf}-4k}_kNFHxMY4R=j)dXBv-}JFl-Gv~{N(%Kh21=vCHxmB_>=VcAC$Xfn;yKy zo|PeR_h|e2o*RBXvd{J7`5XtpaZa!JjryuOntP%jp(s(xGv7H zpZAL&ONQBXmldU%x0>^hj>Y;(s1fku(SRg^`b1O8MT^I_ z>n?KmEzBunwE0qmQlCHu(>xLf7ae!43lT3$`6AR%kvp;XcybVY`Fc6^#Q<`M z_OV9}oVBS)=qLD=XM}!3Yvz|U;pf1V?Tqj5DcOXVbFRPL=EFpkWyl{LRDtB+-0w=6 zt(XUSc7c+MlmW<16L64}tw+eK*OtLd#$HPcOp)CothX2>Z!$nfeCFj-xuh-LI^TM% zyor2j9yQ8=uNVLssy5|e>S)6Cf@{%LP#jVPLQp#$if@_}nNIP+)GHmIPHrj8&0L<( zv@3*gu@eYhTx?CdQ(I_EQPaV`^EX=1(bs%_bo}KR?lPk8=n=Xu?CINIX;#}t}U0^A`Vre1b`TGGuqQ=h7E^QWMT zJ358}ylsA*p9Ws~5T?+Ite8H0HGpxK;unP)whl?#J>rLVMSb2C>obJQTUm{PYo=3P zG|Ncc#-p2nQ<9_vtow`bbv-L}v`vDWXB;HG?c+iok?h_DG)^2UVlz>l_?DW-*ZC^u zT6V6#@3P|3RbT>sDVUQc>v~|#YWMplCze&-rl#7$*OvM*}X^XeXw0I zpgPOre;zK~6#+M?s(B#eim4m`*Tn@Gl`%$V?XK6IB*KLKFoE-x*k`L0r8u_(+4tZK zyZW`=;~pe?6rHO?C|Wm>VZq88IZS#Oe?GHpe8l&latzFfse^FN_S<{|<~ZoKH`!D^ zG>pgcI96K>70_#S<@-{U1*pP|$<7+p$=VOqP#VwisO<$+YN3EFW6lX=N2ZBwu3?^s zYprtUt>jhfS0b*4vMEpN1aBD|YPBEQnrUs5SwC=>%5Ibic8_ZZzM=$nilCv#G2}nX zOrnA-X3`6@h2JYe|1sM9ldSrdss(0;9J*w-=P(|AKdHqf|TMB3C0XzjNtzX+#PPLT#}wal+~*`AChgUOFynS?g`bl7hm?f5=f z(^z_|V?zudutKNoTDiR5P28=}aIWSV`2oc@2VS1KMvU&=^xpHapQ^=tU;1al$F^`d zQIF1xWQV-eG`APu?`j-ytB=|B*bfX4pCc2G16glLa0jfuIY>aj#P`+`mIoJN3{<)` zGukg<4aZAp)fT|QsgD)z(Kkyb&(5k<$BsMnd_b2#(r8C=s=_1kZ0os61D4wdflSnD zv>{MnIG3LtbI3K~frqBPxR8OHx4n^e1NJosW0 zwAqd?#jzIEu+cMCy8&!F3UQdU5(Bn3cF(so!JOCXQn7zupM35NpPY1xAl-PRaeKXh z8ao+Nt73CGXJP)!&rjV3!0wp1P8jg~Qhe46e?|!ha%Q)6phR28wX`tD!}b7q9?5!Y zjn=WU<&Q?Ivghrze2CmQhvI9$U6z1fY$=xT-!tD&3e z70~H)f>}RKPmY~&_V>R5$dn@ZDZY3mz}5nB>qYzRU6U`{F+?w1#}r z+ZPbR3zKe}Ty@QHLnyPuP@(QAY=ZnLekW+X zL1uqk2An;4vQs6FZyY!R8lv%?uoKx%!C7mgx^{Ar+|KAIUo}M;755|sQXA(y^^}60 zYCwJV61-)iAF-Rg<1yV}pq3rGFTXZ@U( zudaAe^LH)%P61|9bss~g;T;qo z%o?84e(5!?;B-=S0leNggpjv7(b(^0?UyiP3&3Xt#!Jdkp4r8@DS|hUjMkN_Q*4^S z(6_KWP^C>)~H7MF;QkTGwQLHjIaCVaMz-SePd~N zCH`vmttVjIP}Shwzbm{)+CYcQ$Di%;^K4Abn}5;=h~2Kwk}f zwg>2>V%MOz7cbW8))6*zfUf-{EwpB*?(Lk^duXf`0~F?F;!v_4jBQUd%O0Hw(3ACa zx*H2WS)I1^KjfO2gBezT)SarKOq^H`6qvRx5n^3Ba$@LMY&>@5QNK~SnF9MWxDVYC z#gmI}N)HuX{JBO;VIdgGzCgAv&E?1h?&VoIVABNv0hw1#$hWk!vADC}&IMZ3gWuEE zmDfQpc)SN~W^2tJ)4Q*~)yK>{W2$1B$a;PnZzA`qgTT6zUns9qa6d+lqVMY3fd&}S z!8O{`w8A+<3uC}Z+!G}oXJ(TL#Pf;+Ab`@5_$a!??% zRfr4Yevk&GWj#jks*l>#(75FeYS(Zt+g^TpyUQdUuIQSn*RN^S!`}Ay)=KS)`Vcxd zrV}vSBPl*8Z|G|G2K->ZPHMj?I4^W|BGK8qm`NV`up2h=%Z#k-bkBkT^xEZbwqS|e z9hg)w{HJZ8rF_VT-cG&cHJPd#Et3V&!QNmMW1D}E;)vPeeUARU1MP|1)LzSOXIgoE z9y`_h!9x~5M3wkrK=1e)*M_orfP_WHyDRXghr-F^EY;2o8%mqW+><<-b0NOdd|6t} zC$WH}SiPNYL4dG}j__sXb9N$5XyFd|I0JL*VlyY8<2avi0Z1s00f`ksu^P7;E;Aqh zaLX?EepIclPRYcjYV{|~2!s19s@z`~wzxpKLA@`Vv#uBPjp8!9tft{MjIzIM$WMdZ z!9^=Q8{%xbW1Mr#nWXR*)Ny04;GY<=QP+118H@7B-dnRjIvKb18a;2xcL96cGR~n= z26b|tL#-oognx9k#Z&LQ5^Qt)c#cg_hV;uXF9qv&hAMSBnX1e$nd6ScO!#e}b7+xg ze6KvBL8Weg+N4%DukEHdkfm6bvg_F`ycEIO3%|kcIm(0bYRTgDug#-Djt0AIH)eb- zr;rY6wfX43pX)NAU{dd6>F$7^Xz5=p_T^Q(-OY-AkCeuiG)urM~`@AnK1Bd)pr|sS8j}mOr+gqWY?OCPYC|Q zaQIJE?4)W)JbeAT>BA8s% z*fYHTnFrIaZ0LyO0}v4eYvrg1+Q9}gtQ#sa&+6+mNOKVBZtvaGNY5`q5H zQ{;nm{DI(r{MDkUL@sKe9smlCd*aBal@xw}w;*z!Az|P1Yq zCp1Lu)d|36&eqVylFfVB_$zhWxYb0V%+l9_p|(cmobk~qH#F;H_w*MY2J~|Sn|)mc z2}Xn8jsSf3hEC#mYgY+UCrFf!eVJlgT-*oI+kKDuvw7HN-Z+ny!#bqUQ&-R_n{#WZ zJ8kP+6h~^~_W*Tjbl(MSsoQsKkG$$_gqp%cm_WQz3P%I{aM{~EvP!S{e$EG(OAbG2 zUX#P_syUAV*%d{oV%Lf>I6jJ)%{29*xeR`|dkAn(79Ziiq4*IXA39iSB4R)zAJJ-cma%8kyMJ53SbG{d&tsGe5;T%EZzH^X~>^}Z`JsjuhZjsY-Owv zX7m{PYY3dO;D`Y)H^?|FsxFNsDNyUGEq{V*xc{AZL6ME^Fm8&?n ztP#z&&6+8en7R{VKecWu|0@P0`go;vW4SD=0WWAUdpMYWlsIS46f(}1Zu_e($lVw@ z4e&nL=nV4Kp+B!u8k0o5Tm5q6R`_L-^QB(obNP|@p8T|fs{o^_RD7TGozsW^4x}oV z9VxEJebq&r9|!?Nv{#9jI~VvrO6jr)KTa)w9u3MN?yQTNtY?xe>!JAw4L6)B|30b_ zSCFwh6g%|ubTL;$HsFBBsox2x#C7mp2$RQ)%^lC&MtTa-Ia00U1Vofn((*vEtc5YM zafcyc7-gJuA7Sfm8E=CtNR}LQtTgJoaUd8fZnN5g|L7ZS#d?RUUVg*>iSM96%+tX* z-Zpp?T32wDO|Trf=qPa|VUW!rv#rW}uexhnoE;hP-tQTt_ek)R894iLR=rQLmL)C# zYWYoHe#G_r$ia9Fx<(lR_r>X5=*}K@DgsVoCBJOrS}xo&Ys4b1ZDr)So-V;%Ftcs6PL%v;0Z?}09(JIkPCauxmyRT*`R1c zn1=Sny$ia(n-%!F12t?$o)+G+b4_I~(?~9K)G!sps?wV@yxw-sWv0!xQV?%Fif(pU zR?<37wbUIJ>Q%1%C~R001F{uD9Bj+B+oJ!o!^zqaf^E80cHerAXyI>;8HqmL3|J7&16h2V9w3KSf`k-}LYH5DI@y_0g?Ag?87Z-(uTBT+e z_`h3pkEEd)`Jk_Z{E6thEhjW1sR*LkiVD>#9^zY1T+%o)g!JD!&EL}nXk0p&exg|6%uemV$`cI)84?$0AFfqV(h~(tO{UHt&k~FlYr1GIq>foX{-k7@Qk< zD0kGYp6k>r9un59m0kZAULG(x^*R35h2pZC+ud<3IjX*2?#5rx4L#J%NlHa1m<`eO z{a4<5y_-9GJ=8W*pST7!rZOoQc(j@3@vbv7-v8Vot`ulUA0t&7CV*)Di0hISis18l z4&ACYx9q~OWgi{69=Qo+p!Q}iCzkGTn(ME2uH?JzO`TH0vj0zkGCe&~8d9`H0^O%7 zljnPZghc4cG_sFC;dc_%{A^Rt@*dfscS4O?CaxFzoA4H?C)r0Bbb|MhfU!*^2@7?u(0 zBOqyNW3qDVPkUW&JbPAfS?BHA@4HTYjoP(CvH`GI^_7i3tEM$|Iow%b*LUJ$KH^v0 za$1&|SuAk2@&f`h*f8m2^npdNZ!@@9NKio1w61=L9_p2ob`7A#{N{Ac3UW2CN!` z@-C9Vb`7zvAAI^~RJX06tBrO+ zeB(@hy zFyWBP#e(lLFTm}=5j?yB&{4>r|A7|zUs#%&BX>x=`{&xwV*tjy=gG0JPG`)$oyo|O znba%OdG{Z2LpJm&Yu$_P}5?NUGiETn}9w2$X=43w3 zeH*;ihaoHTpOSLZ={sPPws#&mh6@?>CLr?4+8*F zx1n%1Pj#MugPxJ!RzKW1&Cj{?AWWP>)Wd$y8Y*m61L*N4lo12se;GKmqEOpZZrYb2 zl&FF|3-Ufk(w`7|sQ zxqMtn)sFHzAp60z=zN*9ZczGgyjm%ny*B6i;xhq*$C7cU{kCEgfD9j*^ZtX;K(c|y z1EbVg1@ZSRt40V1!gQYR0l8As+@oONy01+*zHivA^tD#V-=`7>{lL+h9c8kLM_^i!d30 z)PlviWO2!N-%+n|o#)4jENsYsa4l4S`Cu$5OUz5Tko{v#_d8Aq|HGwkS6H@g1$OtT z0G>s$E{87<+_hg1So0PktSmE|{`$lxxnZ4ugju;BuYqdQ8uXaC|2b5oiwa?6rEZMG z(LJgshPPP)vUj+$9QsdJ(lFJN9sGrCEI)*dFC3nL zTRZB}gXc=bup@I3Q`3KUS84c2rkR<&%h5v9RhBSf@d7*XFb6-!Nnhf)(st^vMCfs) zAdh4-%n@C%x^`#ZqP>xEE5%!;yt7WDc(gmAXE8t)r~l~n;6RLBJ%_;PV)cl|L(k|T zJmS$6AdAd|u}xS0X&2vqgL2Dn%vfL)F`Ok(^p?({jLE&pv-E@inH}O=y#RG8>E!jm z*}>3KjXn9*j=m`N_dhq>dy9OSJ>IVP_ar#}l{gI}J_U3X@RB0NNlwg|vv!T8UbKay zEfRYBq>FsKV?9gAzu3V258vuKs&wu@ReNbwTV5$6j}-N}krV8hVy94G5TxhngETDe07W@WB!yuwc-HIsKcZ=?qb8Ub zpCCAiA`9dlHD~7}VZTd|Apw_NuB+HpKA)WoXG6G%aF5b^X_tiM;kFEuI_UsVFWia( zgDN)MYJds1-p5q0)+$sm)pIMz%^X0T3}zv|>mVz^vJqXrjb%%ah^Ojp|y2gvVT|ET{aXHx=<&LUyE%OS~B}=Gdk*$XFK#*{HzTF z#bfEQ@CM+;=JtQ(yVVAs-1Z%oQt&?V^5gZk$~ana zpy@bO7IjPeAc%(Y|Do`$sE(V*pl|KjWK_h+L0`)1miPAC$=(Unw}~y9dIbQ`uuc*a z-%`H4`g1LXVUH+l1ikP% zaX6!)_s?*3p|q5AEGMph|I(1Kh*p9Kktw1E_#pgMCURl##O{Nc(X)k%qvo(a;PGeI z9FHNy+2Pcfm0H$+M0#F#Pr_VkE3eDh@&2;Sb)VMB^N#iiAls#*aNSedQ_9!QPEHDF$pR?iyU}Uzxvv~4XnL_x+~MHUkJ(73H$OHlhl0dj&gXR>Ks#RcIxaVuA=Md(6WLo7VygvH zIceLc3EW8m$$w7NZ1jjy;P8a_^kz{;&E!Qg-Isfo7GK;zbY>s|PsA#N1W=O5qh6@e zKgw*<-UU4`cYM>pZfxuSd<_mhC^Z;0{6q=F7cX;GM?vHv2Hlq_8rOIRPB1ya4Xn7F zfItuzFC>gm(wYAgZ}q(c0^NsKtaxK#|KyMm3N=|=9{A7S44Hr)-uFY0z6DP8c)5-24n zj8|$rSxFxuMzcd)W4n*5U9g(z`D0&}<6x4KMv6N>CVWTc_k1C z>@BPtJ9zhjDFcv)ClfAHz*hfN^E)=1E_PXfOPy{h9@p;SrI45iT){uo^%atC*W*hz zx6MPZrK9FKF+{r+SmA-wOjF>v+L1_O!+s-6kKAd~erU(c@oa2tyh3s#=A7^L1mr9F zDg1xn1V9ol8WfXS%3L_V36xc$oLHR~-&1$W&Fi0L!dvlqbJvBkfDZKvL`^BhfyqXe zriYyKGJC`E_Q)|6a-*WC(3aG@T09=iYT|bCE<;!9mWaaOOxH1Q@UI&I(*lrw(5Q^dK9_A}oO`4ccR@9h zUQ*hzIQwd?wuZC_WI}RFN~^t&&R=5oHVx^YWIU2rDp2Z2WjgdeF!nmO25tKYS!K+= z9HJwbdr6`lDih3%T=8<-}O$oZ+esA zW7tqiej!-WpvyZtbe79vMb@+Co6SbIh|+d0ToPCn2LFRCQA6ul=tMZV_k;KTle;j6 zDMOaJu?Tc7l}*uMqJ0&f!mKBtc2kl3mm^{}tRC}SyprP)au1SNGeM7@@_78nXuPNf{H&WI>&0sNyOuzkYE{%Z-?5SV)M(osT7qec1qDD zjG)9Z#5^*IgkPz1oQA4Lo(BK!r&=U4wqi&w zrOi~>!X+|hYuo$J)1974jPFyhd^UWQSw)1ztG5!Q*<|jN%qyT9$dZ@+k03t;2$bCWaR;T1-o3E+nM2?c^=e|{~nlgbDm-{xvhAay#IbO zelguK=i9p2JEYZxRsd0Qi2|y#vTpZHc@_;iQ*eFTpW^u=1vU^Su zN$86;Vh%fn+7bVnm$tSVV?i>%FCdFN__{QYNCylSQm9pYYWU*S1zmFXWksL05(QS@ z$qRpV!fZ-j5&ohxKhQs|ae^&_mcmU*%Nm)9 z+vOs%&7U9AJ$UXm$5jn<{C9?vzS!5Bv(s3LUF6zn8gV(fj#}8pg6 z?xhvG?`G%*pU-lU+n@WFyooB`GBYS55cKu3Tac7eLr%^@h#$#+IYgU5@sKaTsJj=B zqsN>{3wkF?4tj(nczFKargy3=tCNKYb0Ws$>t#HkzZ_wo#MxHj;1g;JHBnE7A~=*8Ojg8x+p%tP?nooFx}Fr;zKv*MCcW8XTT2(ZRAsRj{zN#Zja-DZft_SkB$A zm^q0n9t>M(sL-6Gy}`TLIybFJX{k>VY03kV01@fvwed}D2>!n7^caiX{l&P z6T?fDmP`MI3FALCCaWOLYt|t*=&pb#RF_@CKl$xeU$(df+@pt`?#g>_)i?n3RenkG zAzs@~#0TK3U}Slx)=8Q8fW);mzM-FuL=gSlLyY@??D2WX+!|jQ2e~ZB)ok(Xs!}M( zakLiU@7}ccKwM0!+<#faA>O)^5oq^E;AGw0)hL~fa_vZtHBdcW@av;5D4p`LwS~)h zFJ~U9U9qN0!(r$4e5n@r71styN{2m%EeAzMk*l*V#Aomfku`y}9$8M)6f(`P#?y1^ zoeTdN@o)RzM}B{QZfHfr{}?jYBAo@>7~9;&oZ)L&fB}Wy{m+c*vrxF*{X#{mh9Jle zj! zcs`=Q;$njM2RE z@*0oS8$~&PYPG9hdZ<)rbkfUJ^|XSRvELBsFM6g|GIdwKUAmhZ{P((*ssBwK?bT1% zVfR(HmBfVe>7G?ZlG|i}QO;IcdaKKFywJ%;pUu6T{O<7C1k=}8HR-Cm;q~5i z!+c-KtA=0B&pIci#Xrufd;mrHy@;+`h&^O3+3cThh-Xkk1=o7_{aon^b8p1?EHZP@ zKx?Q#PY8A_Cz7yf$5D;<7ohS@_!=WOvR#VdXMO87&1S(rYXHm8KA!LrO$Bict+l(X z^kj>@dyA@f9d%UenHX`mECiHcP^dsc6!7E_=TiR-5I>z606|7m7#hE!2BOOA^0Irv zp8>M7csl8S)X>mnmRvSzIoL&vMOL&dI6IH%&R3(wss|9+OEQ?H#t`4}S#x$yYE5jD z=_~($=}rV>DU*Ne`grj#I4(E!EEfJOUGSy4kIO}zH2pde-HBaumS=moc=!{n6SUa$ zLg!?>JW!rBi0y#NZwB>*X@TnHGu&sm+Yamf|JFW+-WzSKx4+<)cznrTqSK2nAJX!rTUhi%e`5GA=)Fn8 z&qZcnz6!vSVNKn{Xk;xi1T+NOd%L;tQKD44Gy1=I@|2=7<^4YRVhlm^ZcrYTIko6L zew)6*Br)sd1k0V|Fm&L78e?0=Bpa2rTQ1F?*^*ouZ5kMuAq?ZZ!`w++9OCM?ppsj| zKJaM`q*K}>eHlX$iIQ5ywg(Nj0`e+6*INHO4@MfKn zbS)UcJSA%pkL$UzKo!&uQGopc4GM&UC>52X?yR|@^$F#=>5PJq7?+yQMk$}EPrtS} z&}V^9nF)UYlw$o|>w)(4h_nny?`lJdYzCCO6&Y8#m*=q`g zO<)A4>Gs6CM<^8Z6zUps9a=;cW6H#h?50xn>wisklg?H2)!p1!;xAYfx+y(}9#$1t zXyd26pz4s!vMr}w5Er_N#(u@8j=zQ7>|J?C`e*_j5!w!vpZ*}p1{>yl4qoz~&V>C1 zecOsXN-p0`$UeM#?mdSIdg6Z(QVrmT$a8w!i-E?xaz26zI3E{->#Ppt`i@)X`zu{Y z!;xf?H-xW8fcJO^l=RVN1Esd)d;bRXe74}`>pK8e>&*eNnM=$%xVl+n6)=^P)##Q* z<3b3Zh&OqVRKMb~7{|d{Fto@FHB^j6vuVm6o34i%EQm8Mc)lldLqjV&#JY4|evb=8 z;q(DJHa3gQuzdwr@lepaXICQInP>Ve&ez7e;($jLa%fLW7VYjfKuKM&=1ao|2)LIi ziq%pZDxLC1z#pB6f4DwN)DCni#D#@l(8-D)VmfaVZ%?~1ZPr&;!(K%==gHzOzkLh* zGQ<&IhaR&ZbN~={F#h&4P4oM$f6>C%9+n^MKS1pFnV%PU?q>Nc*%mo3GRIRtS+ocw z%R7s`wX|Ct2rWZ-&(z3;QlXiZ#P-@80S*;@% z{mebheczYbJDke4Goncvztgrp1<+()f?dFBFpG2q8tsux>w%x zy6wH9dC7F}3-+~A0$p4g!YH-L5m3_`4tH}}Q^`#%?d?el7NLWh2Aais|9SMSg&DO; ziW-j#C0yOSy4G`B1Gc8(KF&+j@xOQ!y|Ye!dBz$z2Gp6rW+Zkw<`5g|Z4_1!A}6EU z!jSk|L>u0TQSXe4gT+r-!4Xf!IXQjhPfNbz~#2wF48OM1~RErPIh#-es=i$T5_{?U%&yK&x$mNZ+yXNv+}xoZpyVSG6+N{yVC85 z=Otk+ZR`OCG!Q6_mmpviEO<1Fp0s)9$2$c{Jk$Hs>fFNjWpy4(Hkl&fCnL^)Q=i?( zofqRS%+C$ZFXG66xIGa`;KPqdABwRF`o=wF$_kk)02jSPDevP1rdf& zo|`9x0rEyUOnNm;Eu|4r01<;wEgbX$x(~7l)0bBcx}?SH;Gz8|=C&Qn{&Nfmbf-*( znO+Mu*tP_QMJ{MZ9n*rn`OI2C(TzTVmTn8m8px@jteQ6iJx{C0dwm_h>Tj#HF;7+# z8_uu){@WHE3?d>%uRI$w@bJ$`hE#5DawIwcb!MTgTqB1gIWIK2*5! zyuZFLtBp5>TNvwZne__co9VdgL-#SwLMw<^CiL=5v77A&Tfn!Taz8<=)&$>l?2hV5 zLi}NBrBPDimR~FRXG-9rULf}fm;fD2UE`b{+$?T=rR6)PFJEgGj)W_PSDIs=8o@%l z{rcDW@`W}3_5osRnWLF&iiT!pGV>ju+lYQM|1>)5lH{5%E6SfNeTc~ax|Ztk!+ZLa z+TZRM6RBg7uSR#Mfxng)`T`{i4NYdD{nf6KORP!;2}@I?e-DgJ=^)R9ui~KH$v#bX zBRU6kq^-s9Gg?V_+_r$UK_~Mb-kkjVM??q{Toy)FpBy63!RR0r-$h-dai*laKQW|S zFj`0{-VUY+{1UHw__)d~%uxM1^R(OCUc<)Vn$(tu>yG=^IoWJLp)e*=4WY5gqwN3w zndoM8MmHbHmY7F=CVZ^|!iIkag;9rfaNA*|Yq^os--X)+Sf+}5tf@AhDSt$0d@GCF zw0DwfrHY)&NIH0RGg=e;)lyE_vO-y`4S6*=^HpjmcSqX6{d|w(#Z{ zNxAGvbnKC#h3}{0)+IS5XuOl>g-Sq8DH3HdQSYtvFBD{iZUZ1+Ujx%ZD)t$pPjofW zSkLJj{7OKTX#IsJ7@LD|FRBI0R&H=pA8aL9Ha^*E%7WI<;-VK+;I+f3f=a8HR??sU zp9Np4Gc2Ut2nD6QxVlimd@YwDz=N8nNW9iyVzgm>zao>9Fr{=2y4ChUx^{^@FB?! zhWY7Aalvt~fsTi7i+vsulV!}5Txg+>M}{S7eK$DFkSeCAzPK+m^4{IJV^0xdGB=K9W~uun?DWSV7Q z)>ke?kk-s(BS4c!@`|e}s0>#9n^pkbBYUhgr%u_TC5F{cPZd9?w5A2A8?t^mlC~NG zuq>o$E#M1iAWZ)nSI>(U|Da@3F-tBFBnS6FsFMgUB|x=CM)ECQI!JElxD0fZL!X(- zscG-JRu=H|Z{g4LYp(h5PTs?e=h{@*kIa{ktbbBn)Y4RhY9uiu+dt9G{aPkMDNE;b zpwFAwKqPP2k3_a-G=0eW&kSf0J8WGPU{~ZJlST(v>6cW%Q)>tg7Rl zl*I@UJ%FNlk?>RGu#`OUUzDf9tQfqKRdVg=+Lz!AVW!HW^>WzR z+akgrfQ$LrZ_rOPJvUO>sb8%mB)HrFwO1+v>3XPnqgXS7)_df9$OR(cR?;^CZTx-nDUEaS* z2XS(u63wUjo6Y-?(Qitiyu4fhbnx+LDk)AyfEageP2B}spO^X#PI4NX;mJQ=+t^1S z#+MyRx+hhC5!W%(C!|9B5TX9#MV#;%?^r-Bs+JUlJk)3hAVtYDl+~Yc;9{NugwMzA zRf>S?K4aKR7Or%MoaaAOvZPe(k$f3dTzx^Hv=?a@L!D3#eu7y*kJ!RP_&Q1H4Zcf% zoRWw4V6*%TQn3mMuF$~=@Zo z_zw=woJ!o`gN)`0C*kc=mXEEs*+?n?Nc7*?j4zz-bS-OfN;xS1#l9U%fe1vkdag2) z=;6zw7Qf3G>`*PDbGf^DBp_6943F5# zn16n-7H-GX4%mxW>u*XhbryivI>NH6ofiZbEo-b*wrt9tnrO_mMeT?Mut&cRzV7UA zDg2MSL`Eu_s;JKI=X6EOSua{2aatA5dQFKx22$)b!*zz7R<%tJo%t0Xhj~5jK*c3< zSG$Ai8a=Ec)>Cw&!Vfy*ebPCqXE1l4TIR-8?gT1+CfGgs=pHf4^cz8W9U|V2L$j*R zgLg=S0Z%2zwTLm2CXF`dgF@lQZi@D%S9hWWE4~JZh>sv%d9A}9LVgtbR@?}T-$_~Z z%{gbjKKl}O3`jV!N{HKXjTbdZxy!dDd8klWcosvDt4mPIsgJA9rk}7iQjEtRJi`8z ztUtoOLz(uS0xl1NmggFG%b8QuK&ice`8Jmi9%J2-zs{eL6dzLew<*mva6kT|L2rJV z0kZ4&t8ZSpFS6rVpF}|0>!bMlf>C}r;jg8nCe#z;?;1+7GUo4VX?LwO$1s@oj#+) zy2E6;n5jV(=0c1?>rj0MRxVC23} z9CubRt($znmqfgjP`%W$RJIYN6uzRZ7M4E<%JNsA*-z(Njj~p=Fo+AGgHTk0W$b*= zjGOwEhB>&8_evO`L`Te{mUA<{Oc!5_+Guf@RXHSM8LUlkE7`wT+}FM1GaFNx$G^R6 zI15rBZVqW!vPR#|mYg*Au{n+itTT$&bKfV2v1p~5x~<=45p$vH&y5Vbu_kiiO#dpx zx@YaS6VBMpzyJDY4msg$Cl`TR&qS%pPrBrT#G#(i7RQdyB=p&*WoUM&x&9&yviz59 z9dteYNle!;a4Nrw+w>PW-pKJVa?5%-h78AiXoqC?Ta8ZET?9PcI?gbQL7xeYcydZY;~^g)uz0H+k5lFpA%!ZLr!G*WH=z25zM9DM?9seqVV~n~Z!;A1JpYAL*EdE@8chUBuk^?^(J} z%YOc-O6q*k%+j#xU-T!?Xh%lQf1C(W<2^#aBHY2LY~~Xiq1{FudKBf+4glcvEKTql7R=b7VS^=ooaN61gu&bA8H_T66Za@R*vkXUX=lnub4gzqfSOTQ-NP zhC0P9c61Q=5Kce+5j_*g8}rI8zG3K7;cnOdy2Q~|O9d6RzD3hn^Vn~FbY0UzD4p+W zth4gJeUs37t;TbwYh&HDt~7V0cV(WG?kY;pe_S7im78zR0lOCoJqw2g0Ur*}Ziz|$ zvNu%Q^Ke{0Lyj@In4W=S)l;d3EGF?>(7-uPnjfBFtmraSDlNp*mFHQ$(6<%uewx_! zS@(_p&GR zXh*{K0vB~&^l;MY=i4NKfRFuHiBdXz*>~j!?tDVHoT5)8j+nmJdX4`$Q|0V) z<&E-GgxV_q!6_d&;aUEXpGTCVtkn2q%-igyo&&8HRNY@VBToszC2P;lp4Pi7KC!E- z#lE35fzGmNMtlAIc?LX(hg!HgLWK&(7p0!aUv8!1Jz!1dV{7_4O`JyRI^w*1dp=j_ zm|hi8y|4)VBw@0>WL)p3-ApP85zdtW>9__aF zofl}xBi?1b%?M4-a+#(pHPaBqjh&NY2iJ|a$-(%*u5pjN8*qzD28KUab%#3 zvy&)PmpR7f?M$RWv}G<-FPg^X(+I9I_+AF1t4(D;Bz_cF6ykivQCKK`-6;ls#jrOz z%{$?yYlo13ZAoT=sZ2fHL{hT!n9nHIkO}Ap&JpPR&8db@L_fvXlt+COtkCqnKW@?$ zzI$u47*eat_dEYW;MPy*1pa&1H zT3o53jQ&drRZrB~2P()++0iEYrFSj5m6mB?YCsJ0R~mTefEJw0c-_*oVq-#GF$^#` z?yHj444C5_-cW6M_x|(M&iXTtfN8ZAN&e$mV&<^Tyo&pv8i{RMFWn@8ZMrYbL4AU| zQ^#VYc)Aa?EA}4mYvTyNJI+UO zzlhPMXw{yx@Z@{Y*p0L2Q}@^}y|Jt`JAq4G_aaRYzNVp4dq>G1onrYqdCwSyN8-BP zuJ*?KB35FO%?rOapG*|YZ<7kxga+BQH3EIsUSsPqL+15D7p0Ei^Q@Wx+&(qhv9U&a z_C%^BZqiv+#pA=+1d&3QbL{Jv7X&i)Wz71`olR_uWx)tFM-zG55UA?i9i1=^QRvZr z*=gI>h+^H@%E>FCuSIcdbxab85i_yEBa_njyVIGH_Xpg@QX?N4Ab4b+I2&P1o=vBX zxx}lUrDI=7=4ty-E!Z#IeoHDqiSaLGq#Bwj zI6po7KZ?#gkm<&c<0SNyk|*W19xEy$!kp8AsT{d)dW_r_b03q(Qz>RG_qlS-E%!Y< zVQw);wj8shnFT|X$5t#3#`YQLbJS)4&jwV&SNcmTzpe>k?1}Wa zLyncB;LK;eVQvi5`iFqR2$!&c{!$U~?ewJp5&n3w=LEiH=C6C_Pw6Ht?hF+^MdIcC zE`;qxT#fANZ+3EWeVo5_Y8)Y^?-pwuptD)vAteUc>nl1o50|P2_Xr$F+ zSsT9t5%2*=C_Zl8E#RF2q1rp`8;>!94FI>|(4QGY(2@w$g(AT9?XN`3*Am zQVuu#GOl5j`dn5k2y%!Ik7`AkKizl@N|NzMnWqDv@21+hlKdq4&-VL@by;&#!hsGrMZr$#Tl0fJ1YD*G9CRD(udQ%u=xXT{#|aSLZH%s4x<_ zl2P08ds&_Um9$$xc^rpJUX*wVUY1yDqFs-bEq~LY;$CVPq)0(JV$d(ak@Q;gL&-8ho2AMos zLi#!Rsg=>_66NRJ2c9A4;r0I08CueeU+YqDO4>1zJG+zodXZW|gHl-dc$XhB=t$Bw z>h6n4ns+xOwPI~py$T@RQHJyBoDUb$`0~-D-s58lw{rj8u1!4YeFyPu_(S%Zvc{wP zr+78OpQeIN!GufifNO~6vFb~=dmgOfqvdoRH7(h~ze~6@LU=EbhKBy)zgh;Mf70Qu zc1T75BsUV1k^L2jA<^HN`p}CePWv8rGMCV!Kg0EX^yCPVGE&nVpT>|?DKe*zA8qO? z6JttJk`93Oy_OcO#L~PWE1VGoWep)A5Bi&Cw-}wt{WGD24Nmu-=&sVe!=TYr57sx~ zLod*v$pRsLdj5yW+V}H6jh=UCW))gHUYQr+%f{{*pc+L>Y4??@5!y^Hu4h3(w=Xv8 zLP{ihPlp5oKb(TQ!~EAEp_>^oul$FcL%yM?zD|Az(MR9J2-ihi!T$5<`@0D@Xuc@C zcapg6xX2}@z>2_8C{8BE-?Gd9c<1{c7++m1F5<(Q?v8gB{d`owk@#fU1?(AXJ-$$}k?A858CXGy8@ikcO{d=lw%0=A1Nz8q9;KY_9C=n{UE- z5*v6>aK#x{!#5$oe2X-}mnBa@R~f#nMw6HKZygl#jjEMbckHNDRtz`J*nZ^>s;J<( zdV_gegKO2%M$qhVUlOCft)t}}ew6FI*6qC@`#a5dS>Qo!fED2`hFh4=MZ9K*JtST+ z9CZ)Ewrii3Qr%mxNXi-4Z5m}G*?(oEe7~BuqIFS~tK&g$?(eh0E0n>yYky*nO8q5P z(|Pb#%ZVccioJ#lhHN;%L^}SSbjOd(w;y!-QgPnWim=K3mT|de ztGkAb*5Bg_n3V517jD^g;J0SN{epdX$X?;9E7QcMHCnjS{MVT;=23Kf3M}2DEbL=pn>e(1L@!UGu(gQp(@Sb=YEIes zZs0cxO9eGsOH0*P(IBdm6^ot$NfezYl`diVTBMhCm0dF#*}l#Khhvx6OK8JA`;cPS z^^`{|@{BejY5=v})$cT48>NNlww!@ znHg*CJYS)|n$`d4%JIF5S96?*$2HOyWQ9*I_3zged1#YxT(!!~m% z>Ll9ZasyUn;gQGM)tALldz(2nGhCT_w1o7D#Nc$XHwlKJRH&(7FXOh}{C^={yfB|m zYV)Ou?CF=O4l7r*+sD=4{}Uqr^IkV{&F$YUD`PYGzfv1B4lVu38(R$tMKfc-udhO? zo-ZA%;!bHzJeJ(s3i_)(aE9KAl9`2x@e0M~zHi-SJJlRuoKQW-0)kjoa z5};Y>{b3cS)HPJR_EoW0dH|iKQLR_tyM#QYv6ey~iKy=Y48Qjh$gEUixLrqxCqDag z++4M+QMbS&TA{$ml_Zhooevjge$M&OzX1y{T;1vqlzA7dwx}t^z^XLbVm5(3<4l`; zi)*t@lboA&jD`DlekX5n4D4XIEe_Nf+ZniL@N%N0YGdA{?9as)x6DF-;*`Ha7sD_W zg;@oC^e7h?VK`got7F~8O|NI5ciZlM+FFVcDwvqCz|zt!_qf}bbED@_xJ|o7ZT||G z$xf>#`(x(wMNUNKoEf`5+Mj$(se4jmToI!2x;{gv4e{0tiH~T}=?fUcq@*!LMz8y$ z4v6Xtd(Ma0s*R|JoHB31QR1QUEJSvO!UA8Nwsq?~dIZ;OF-=uns1u&6fL%YX9@X)0 zhOX7R1a~OdI~{L%(GH^SkQx`yv2jVbhgn$V`=sWr+zZmW>i)z@@(+3r41ycYpg|gv z6r+j2Y#{@cn0U^Oj@_WQo@EEt!WG>FIi zvF_i|43n40zRxQ}{{J*3?>&qePy@T?%FjIk{2Bh`-UB_a2(`C^q(|$fhpW*SxAo#K zRj>FF6m!dccSN85u)ecgvGz3>beSFbcU#N()H2MUi9Hg0@DHdDVJlDcz6>tim;U8T zx8Kb|(JvWKdIdp>v_d-u-V8w^;p)JA;tiN-_3=~<6(rGqKXEmhXEs=^L>l(5sw+dN z&oa-$TNpwD<|JTMC$kbS?a0J1%8sXJUW!L~d~Dnq#2-uMbk3_rSx6J%6)-~(M%I$8 zDMqJtC9{z+8?o}@#&XLBEadj#=9+F-Gb}RE3!T4i!Qg-PAj9>k2527P*AX2D7`#s} zZPMoo*pt#xcScO-Vb3YG1rwX%r8CY%->jia4XBl@iLJH#!DVV+1=V^!%Un^u`1wHu z_2DD7K5eW98Rku*O5`aOw$=+6(9;HOI=!oju2OFd*dd{lW;2Toyr@=Q#Fqnvv`+w0 zaP%PqB1|zrbe!nytCs8-=ig|l&R%fK=F}|4h>Tr|9cL_lQVe^iT*oi=qOh$TtHn%# z)^(6?7wl;dfZe2=*(G#Ck6W&b6ckYA3cnm-V4l;Ma5I%^QscbDeG z&HPiRnu#c*HJ^$dYulSN%uBI{L+1zn`rYp?t`ti(x$Al^wEjEM;hrI=;BldZP1=r$ zJW=5Li{$7$LmCdCCHVO0Erh zZn{WfL>eBj37W#AYI*P>z#vn!Ruz$2h$z26$W3DF7isF_Wb%iMs}ZS&q3H1hy*jC# z191HG8|fxhz_%)ylE*i4 zU~L2r9ZqAvsM=nBhiV|3ta>F=|4{ejZS-}QYrPJwcxnvMb~ekd`hXry;QsLKm1R$6 zHaw-L-|gmC3nfDymx1OTs)2)_W59WxI*rZY)m(@c#qhd~RN}Kr-<<9WYNCI^BZ-}} zl#C?A-}V3OyHh-FN}J-xEDX zIDj+tl~b+2lh(NLo3ad{Ii=y*Okftx8VvC%483)ind{PPDL$w8P~3G*Au(76N3FpW--sTGiWokHxpO%L{7KiHaKll#yBvsCiKq^KznJH zk6-J(E&bouUVz)qJ%Ibl5oo_-e3(s_tQ3O?*MCFgaHb2I_C@$D4|kx{bk1!#Z94-yo@-A|+pQc><@YSNs0aOsb?9!WX8t%~m<0`>GycZAtVdA4+;}HM zDGB9TuyW>>ozmOTiWT~-LU5UD1Lp<(vZqYknOist9@eO4QP_BO4sDtF?a*CfO}?y46W2dqCnmAPI?OdF zVn1`ZhVojC;#3A36e)Ac%P{qTom9Zim5E&3psHTe+wdU(a(1c zh_CU!Fh>n@`ld9%*DCPech|#x8o@gBw-jb1xKejl5^%S;X1a^?)(gn{o&M3Nxq1 z1;5d+Jf%p(?j=SW93|jSb9p*)2dFmDQm-&=bp4f}!|Fqc?h~~!ZMv{iTzI0n%aAWV z`qD6{|9IUw5tM$@Y;9=8>GckuFe&2DMVk4!gCtt!B5@ch$#mDt#xNYW?E1kDU@+>& z!VN(3#O~Z{C~`B~nC=IT0gTM-@bPwhSSyX@f1&?zI4L(KRP%f_dEi0=a>3#999N6x z_J=3fv;t35z*OdafdCYAA6gljeEOm|m6vs;rt$Dw?n)^Dy{*20Fg;ia?F`*}0H3YF zGz;~q=>6)92D(Gba7i%D@J@}IZ`&Ovgq@;D);t-$v1MOf6j@$#BouMdY0Q8WvELm? z?9cAwqr)SNsc`%D+c~q?b0Caz6$~8VC9xwjc_2|dfNBJ0eONCnVhw-0VGxSe^Os+A zp9q|iW+on$|0>grxbC% zXQAQCeLl-=-Gv9s22#e~SiRc@jz05$c2zlezck>-UHm-Z<2?@2o(+wm#tE<9;qTA~ zUqSP@yBnCV^S6#4G}W4-OzdSszJ61Vm-+Ddyapy1{79&V|GD_%wBSc$6>jB9_Zi}) z%R)-Yjwp(oiVMxWTLOs8Vd(-rU0X7l|AnkTLct5Ff^J#g#{hv&=XoTYN3r)I=0=78undl#mWk{ z;Jt|Y@6j(}JI#K%RuaO^zk~H|U(o5AE61_CYwMED0dV1(!A_|S)aI4Jv;w*={)s=g z=>yG;N8F1@`w4T`a(vKwSwIol?R@xG*C$cz)!9aAjo?ZyjY19oB%tQT&GF$wr%XL^ zJB6jAi-Ax1MlHYu7VgxZEM>#lwHtMf?csmfFP=I{jlEVO?DS^%Yk{)AR%BjpYtn&G zqekL-11(ab__%!%pX4^q^joYqt{vB0-X8z{3;$(9&AHf1G8&<*w|vv!xKV0{dui#g z??4>lZ?8lX5jwP^YHYNNjkGbO1&pWHmN(_;#5(k#ceRp$KM54c%cf5>50fo`)RbA%r{F4aj==e zsD;$m=N-=32~+GQS|a~BI2D+4*mUl7T!x~3!{yYT^34B0izQ!nj4>ob%9hmwzu~}g z!Nd*4cQgFRs@~e~EwxImFSp#*G8>)oYfm|9^1eqwq>xfU`K9Q<(qw6f7QDeIcFeQa z@fs@HJIT;)S&+&uHCr>-X|1Z2X;0u>3j`ElqtkN!KcF=t-6`RmG*z4LN$}xt^^KFM z{WkaxP>e2+`y&P>`qlim;ffj+Hd!d)>?i9dQPMVg#e>IiJ}Gd*FuCJzDCx5X`8^b_ z{E630FCegou<==sp-XlRq1Q6aTgPK`#SMFfhZ>Gj`~}yKVC_6>C2nA)p?81iobDEL zd1Y0(QFyPX=0>Tp|Ma+w_}mS>4+fkCidb&!y$YQC(KKY(M1@44F+yb~?%2AY2QwDJ z@gC)%N$a4tvrP)8p6UN`d)JW?hh0J{Sd@l5FArQ)r{yh;s@6Bt|mlU~7lL_tu$#+WsTYBtXp@PJJM6xPz zCRm-vX{`SucyR(hYY&XAYyNQqgN8i>Hr;cC2}G5NLZv^C|1sxSuIlLgp({HwdYnZF zlY(3YE)0Yk^Os;qk~J62^~|08D@F%QBW`0{s*Auf&Z7n^qjMv374xM?K*sdemU8t# z25}TkP^#f0Ly81CdR#agR4ELQ0c+D858kr=5gjkySeRouEiuTs_q^3OA1&{S$5I>t zM3eUIlOWKp?zjlgh$Tr=580u&SEwGNEfN&tdSFSXLcNY$JQdD`T;Y-!FPVw}>}GEHilx7oWovERwH17W?* z@IQwet2EWb$Qv;g$>Yu2@w40bDE;hu_A%vXBBDs^`%G&EYo=*YFL4}`o3R(BkH}@M z48*Q#FPAy@T4vV+C<+Cdhv+0y`6YCJ636V>sg#;49d~>}1-J$3{4~n}E8<*Tb^aQyG2qMDNU=>FFQ|Lt3xbjzFE>yi zv!P9=S3U2dxdcocOctZ?QPFnE-qhYRL1B98!+k#ky-Zo~|({n5-GF zMcUK=Z;=AW8tk>5wZF$JYI%JO?zt#VPB63a;(r;>b>(^!NZaXNoQ~jQ0S=3p&#FV( z9bsS+{i7l_5!view(!DfK+#z;U1T?Wnd*K4ml^y(zSfD6QESakz=l3XJFmv-`_*vP zLJuK>wu##QrE$&J$5hv?DSVw4oQ3vFp7PX3gPS4XRFS#c5C15-X|><}Ddq(gY84;8 zWe593k_&Emk=yQ#bIfi zW#+G)D3!aGW1jI24M0})CLPmNONP=kN`@r=2q(;)UP2DPq8d-VcghKJ&hwc+)l$R? zB@5ZQk{xE_&p27O8(iW0{@#?=p;vB&{|b*gv#xr&*GWRcrKjappQT=-;47J@vWEli z8gEYNNW0%+Ib#GKdVe$?LqhL-oROADWZ{*+nVo`dUdxQ*9m8Xd$(t=Nh|f*eB2?k- zJR`V+)1pRbuB2xMrqaPa?J3(a;&-O1{`o5=5uP&*v|iA{tZAsb7CMcH99i8PI{Io* z)4EKsA(fhq&F%&XoO*49jWc*tLaI!?UZhpalWHRe*ZeI9yo#>3G5X zuaC#eEswzvWU&sthD}4Ly21*N5;XAN_iD3UeCtn+yvc93PT{z2mt&8N-atQ(&q3D> zj>NJPv+#zD5P^tI7Vh_f+Xa2PK52NQW&kmk4)`?0oKyRg;cd(gf3X;-4?{ z06k6K{0eRsSQ6IWA3#kFQs4AQq)UwZkSj@CS1Mq)4XZ}Wp3ktfhj+a{jog(GNx3J% z=b@AQqeqG_z(V22K2)2_*JteP&(+#0R90)Pzp~B@nqgLV-+ThXwgR5+RT})GvSmit~U2;$}u1E>A<~5>&qU1=PB+yzx$K@8K%>q$Dv#9 z#XItHc1m_D(>hJRwq&CrrUPM?o?(Ges$SL;uPzP5@T3oz}+rPgSb z*QmqUPqSD#ghW3(TNI=SXIK;peCO9t#e(bTx|D1kIEKw$1~GO@mk!8775_~`^sm6+ zL=2F=>w5BY-4fWH+*Sg!1A$!@dN z*b!nPb~+b)?hZ|F+`3H_+*pIgy0qA#V$go;6S6S54z8lNL83&zmz5laxDGL5xEc~6 zKo2BBZ)HjdQI5n%HP^>S=k^W^7n^b8Te-KRe%0kW>qSdCN71*wmFNM``Arfix^$l9 z?lAp=pXk@SK;dhAv?||V z4X~>CmnBhZAd{cM%V}PDEEG};VI}q(_}opK&PJEce6+x>gb!2E6e`IXth*FphH2W= zoEe<9i7>9tFA<;fnd|ucX}aT4^Ab-Iq{ShVok7$iqq&8m;?rig0?!I|hj$KnMnk={ z9d18le?o{OK5Xf{=nFN@u@yAa4h7^iNoh1vvlmk~uQi+|-gVyWJ#{_r*ThXA*t>OJ zOR?L?q^NN;mhl(rv9g&`?%&#T&$;B#!)VUkj9D+DTpBga)ln-Mu9-cociWo2!mARD zG*_1n`&zQa|KD33mfJ*AVFKj1d@O09()h@G>@nK37s|2CEp+$Fikcn+*+P0B$`%I9 zrjm~W8l=$cp8{p_S+?0JwJ0QMrG5T83$}y>CcWMMR%j6{@U1WT&8Q(S~LeQ_) z2X1aTzV9t558~7Kjnk!+Tb{*lKD{0LAq$fbO@Czm41Z+x6k@cM1*?Gh#A>xxb}PR( zP}CX4C@m*E6V!FS?*7tdG_JooIc#EOuf$qM>#`Z`=dh7nFlc9R_9;lF{#=lKdOC~Awu=_5c{Csbo?%EXaq&e@dKlT7Ttl1vX=Q4?a~L~I*7-kit81}GMa}_ z&1P#knI=*Kl6Z^rWKiYn993O|7xX)fN>nGOqk$G2_n>eE^IElJT@_o1o8lakgX#c{ z)3cJdCy_yp4vPE7c}}}_oQePC>;8~d{l+&3Pf4bjt)gm+chLsm!WL7d0W{m*xhzC^ z7F%iQ>%6pr0sWUGnUB-Igz;1fL%@w_CO!?bWvP5P%7l)+8`B z2Tc=hJJ)$GYKZZuj|7TmviPo_65&#q>bbFW9;3m1$LGJG`#+Vp9ieqpREWUGT1fH0 z>y_-zM9a;4Xj7Upv_?yzUb#}ld7kIS#?2S*2!};lEwk;sjpzusl0iv|vt0PDL5h1% zhWoTw%*{U*=Q!rpd3w|( z{#F=&s}l8F0LszkOebUKMj_@V%1AlW()P#cz(U-eMI)F>p@iw$_*r=`s5y}UyadY$0RkDX@{X=<(G#W0W~xe@rL>{7@JiuT&P5EUG&zofI_&4l+U*M)4 z`P{f*9!M+f0A2)`Q>KVENU}9cH3_$Jj=%4A$P#Lmmum@uyE@Zzjm)Kn82U1#MlG2+ z;p_0oWAu4$#*o5ms){Q+XptNdGbZtA0L8Lx{lHmWzb7BS)qN`P=Gro&bKpYF9{M9P zk`{a+nd1Xy7b22xPyw;!#y9KU24~jbZ`n#ri|u4wZ<3fZjBb=b6Kktj=DH#|)c2Ya zoPR42VD6H5q(4P5Y(!5f<{^K=agVjs(J@9AU5@kKY9-TI0z=nwmb_CP-uxp6s}8FB zDC?45?#%tvh7$@Ck7{JZleJtlyCVi`6Z}|hy9WC zOxbJYVv)}xpDZcT{oTrEX^h|X`CvQvkh~8Or~b$#E*CiessyLovU(qYyIKWEui4rB zw(H}nY3tKmTLkjju`4=Pvm>ejuk+{ap7=vPW!|W()JOYZaute|pNi?xKjvqlqd92< z1SgHj2w#1&q67tDD_H351Q4WLug*MAGlruc(Nd?zWn$5Oy|$Vg(|a?WVjn+2N~n&- z2aKg%P4esk`T{XBMSSABNyS2vA*hV_TwG*>-4da@+anUr(P{S=U}o@0r*Or0^+q${ zfkJccomE5MJhvZ`HtSJUeH^@E?<4z6y#TT1)){tsvg3p#6A8 z^ccExNI_&Y@Gw*-vS_8Zl`gk``w+Q4tO7S-7BZWSs+p@z$!|Dy^`FS2<`NPsOt?o- zB53k&Vp{~cAp%b78s24U$k02D!3wt2kV2h;<0!;7v={Y=zHnxgDYgU5GvJJiBu)Ek zuB%FQ9`DwBy{bPe6rhuda7X&excL}yQOK2}2+&g3{nT97;88^th>TB~81o$eQ~=Xb z?-n7{J;jS_;YB-@zY#?>5bi&Jq>(>ubRSVtf%z-YxgR`OL%b$U(Ug+rVKmpdY%HFY zwL?1eh*jjU|KVMm&aNMF@ORvBEGvc-F@hT#?TY((t2Q-soTHa|cXvf_FNhJFmDSQ= z>K*|5h5l=^-{%0$t?Fi?hCRvxsz0;EXq<0#$xC&n zrUkcmk#k&bH(4d{esp{pD91c%Vn-(5!u2%kJK5-*(w3ttACMZeufr%tkXLP+ z)|`$;NoA-TU3Q$tvY6cb4khi3&4=e~VT9nus#Qiou3MKlMsE%hfZu72jd3mbRwAxU93SKmG%KL<&#hEtQ%byAtMs z|K!bHy(ImwjBZJ`=jZe9VuzzfcRf9>*1d0>1n zgormK_Ou`TSFdOKDJVzs+TQ=7@$1EsB}BLT!&}?$!YWxWK?0jamtMwg(stz@ zlbF38t~2VBh#Rhh%R9VosV^nkx`T51vBO(mck3PZu`*3K!;YM3@ zhifbLr(fS|AIYpUNhPR6!nGb(7B*3V%@GQ$9Y!Qj?^v?dY#Xwcr7BXhNS-EdG0~kg zO+cd*y%B(%#Y5Tscjpr#UD-o926T^rUIa=lSta+3_3 z22HnS)s5(rV8bmTr4Jl{NTQ!i7O`B9p4mYAkc5b-e%=nc$R`FRx(H0^@%3=TjOoA zY-1lP(UQ9`ocA*3@HrX2;yajLz}&b&uQWUVUVfH$8>8R$E33ae<1P1n{)-n5qDPLu zDdPQkW0N0#($agh2h;ZjLYUlMwfS;Ne|9 zYnTe-Io!0mL#S3s@ip-**KqA+t@eGXyy}?mDcJwB1PKxgtX~uZrKtH}QsVa0!^!=s z%dgj=Vv{?6<7oGCnz!=vk9Nr>HL)A*m;P#=?PR7?exM?c8hpopjNu2yjrbP!reg?} z`8!9unv<4#2uapI=#XFZZiq3-Wm!tM}@K~Kw$n@(q|0IRx8G{{HJ1(x1 z-ADTOt<)FZ-W|gzw(XV&AOaTJ;E`V+0!%u>zX$6`@BGA@VRI4E$gmpH?qQ%uD{O-) zz46PAq^HXe8^<*H;i-DD2o}A675eS_cSHEycl%t~g60Sx?a5YJ@_z2G=>5ale-hTp zIo%WUu(o9m*Kcb$Aa<4#XRB9EuL&KRmHh3sT3FK_s1-Ui_sNNFff=%OoCZ)vD0S!Q zRuJ;5G2og3{mIt!^C`aD)EptilRN7N?E1y5jIQ~o_*ILw%q(5dac}6PSZRgVnXXidy@$6imb zK7$(15yA&8A@g(M0HCb$O6Pw^an6^Xll{)L_%!j_-H2#B5b(Nq@!?Bji6oV0!4UYULqNP$#~u_Sjrt_|gXzqcIW`G!5_Rgulyn1p{}bhjE3Q*?fxv<~=$AqfHQ0ZOs$U)uhsF1cXl%(D;vSJUz zUOqq_uPR~5U8~c1dNteZ+Wc`#e5~J>;Mpkfofxe9z2dnjS7`o3-q81spLN=;nUQ|< z`&;&&`nmf`Y$_Q$ezLx8LJDm_X4^Jx<^Kv%ic32M%8*U>bI--9=pMiJ zG(P!VbCPq&{?gjH*Cyc`tJp;gAbbHt#CU2K+!#|?!A1(1-K?{9xt6#&0cMPx!@^>= zVUwH>x?rpm{`78BSj?RU35(M&N8U60_kZx~?fDYY{r$)5|NeE#^oF;<@FS0hF(0(G z`Cb%Zs88sW<a=U8pt~M)D!sd;qYKqCPS07#LrbI6 zXG4ECTtfX_fsM*b88P=zx%fa1h$hgJGi!P*e&m%lJTV{Td8V$#)#xw6HF(~=w%Cr3 z7L2k&k9g>SCw*I$a5=9n@XB zmFce&R(<2m5YX*o?=Czb#`G-Fy{pJ}<#~QgHtIr0AdT<6J16)$)r5|d9|1nb{gGLQ z$TRg8ky=P?-@2cA^As#wv73)a$=LN}rZ6^6`s}2r8HsO7^vq;3R8L)f22@BC;dfGg zIvKt$;jWVi{rGN2^lB}1qma=qE%I2|pK+ejfCyK?CAz-ExaUL*eFQEc*9h#d7ZA^w zZ|00(vYhMI=b#Tt539cU^f`~!UjF;wjS#2?Z>Edg;|7`hpJpI;(G$;#`yu+G>;8=w z9O|!G$tfeeA^vSlsa|2!{Pw4^moe*bm*wCw9dZE$b9{J$?tVMqLQjg8nBQ^{e9Z0| z=aB|iU~y^Kpo`sd!nJ~}>wyLfBE50|u)o867QRKU28QTjF<@AU@1u@kuiCB($F*?B zep5qj1od+Y<`~|?SH5>MeS42SE5`chB#W(0gm=*Xi`O^T*=k2opf|F>=~$6+VHDZ;N%CryI;^nc%bAJ^YVp0LFoZ&6Y(Y~&cMs6yF(|E}wi zj~1ZgtRP%8rl(wT24ehE0v0mcL+Soxsf{7J=;KXu@BSZxlI_BN9Tr?y3g|}#r-EoA zJ68r%$1z-KAeb{?4C}E@lCjYCk5_dam0FDB($-_Ysxf|p%A>HJ;lD<#kQP#Q8#uk5 zjafCSb>^)^$QD|u_y&J~>wa&}B;dkIf|-P9()r}Z2&qC= zy`H}xQZwxnH*U3I9btdNe51Qg^uZNygXHpei#$kU1;xgG39{9AYz=VwGDay4a3=?y zi#BBXNWt)azKmMRw?JN)Ax~+Ck=Z4+mxXf>-i~@9@3r@a44=xS)goMObbs){f5X^LY_6@6i=3coXvhc$2xJyy+RN@;@bkuP5`C9W z?{IQ&;7g*iR}%zi;t4k_zhYakq5}K~Z>>A{e{xY;l2+zebfz!DF4j>#7BbV>-OoI$U_frchnK ztgxt09pLm2w2Ul0;G7CvmDZ!qw)5c72Q~R%)m2O9iJV8;1Qoe?KIC{wytm_XEY^R7 zYvE|l^>{v*&fx>?{%+w}zs?E8owv#8mY(g82kd2Ph4Np>H$u_oLf+uxKEE687YY9P zQw(7`&xv6O-J}b}fif-a)|zr`{`sNJ-7V|ZBe*UyZo&ftANJMAa*0IVP-N_!AK_;! zY9Oesgq8eo%eo$?|IR*?_eoWdjt9wp3HypV+0rBI^K8h-#)Cv$L$Q>GyGoV*NfIn~ zxG4G8(hovg=Fjc_6K-}h#ro-0&Cyr;puhRZ7f`hezZ=NcTtN%F-y1A0E&@Vb?sRQG zt-cI=NeS!VaK)julKZ`4B1O?AN^<~RXyoP!#(~cJV?t~X+X^|o^gIOri!uct%W2vs zF0vOWPH)#u^f?+XP|X|M|^P;_%&9j_;#~5{<`s%f3?#OF5jW}(R|Vf=DcV4mXLEQ<3Z&jGI5|t^EO1*1*x1190f5?545GFF4a!&#Ey6D#}nG~ zS(V;q5sex79Y5V|7isqX1OKDwyrZf9|2Tea8A-N_Yg9;C#WgNheQ{MbA%wa{=Cv~~ zQju|Ql98R6y=P{|wPnw^)|HiUt!w^1zrUT&an9ww$Mf@gJ|6K{E*RM!)$-EB-hC?n zFRPE|Jx}D$Dl=%gDbL0$hH7_}~^4R|za@)(h&9;7|`}Y|hYpn9o zhq_;6ftRIQpXe62>wIJ{O?{tBGykF_Lu<50q1Dh2VO9=S8eF{0jCNf~GJ-S;^ zX*Hj3Z7#x&i9f@H%qQzY3IO1e&D2f*%6f{>mjAi2^zq?+x68k!xw3TE0R|El+D2V7 zr30e+)Ds0#+0D{XUZ~msh$?v`^7L{a0e=FDnSPaXBRFm6Y8N*uW^p!gpmQ=0{4-+t z-b+_)wB(&kgVKY&d);g^TT@?Gok$AJ(3s6gabi`I3nmQXB^=3R+9E{Sd)QMjs%zQB`{ z(m=F=w;)FcY;Z1p!j@msVQAX-N+{xB%#zrLQ|_9ZGcn5b(4T#J54o!@x|Y(GEWrk> zU7Kym+yY32p|$O9DE#E;c(i&?F=$sf|8HB}qCylw z)V=E0#>#(r+6#2A&-cMqV7nsJ|-^yM}hVZrCK7W;|u-l0xUrr(J2(|Jm1@RZ9Tr|N?D=C*YOgIG)pbk(~ z^Z7VjgUAzbE}!L#R|p*6oHufI(^}Nih`(BVdnrivwB`#d@$P=;8G{)cO$Pns&yB?Z zE2euOwz}rMztADxC}A{HY2&DpSvqCn@aCNnw{tR)%yjxk+{#92Qwr`4&T85Tg$Kjd z)Kw+}Nsb-n^u*?}dRxas?}Ex=TXE@<3m-R%SsRPtyu_^p$CuQRoQaFv`j4WF!k#6c z#7k_dt3;9>>hog0&FC8xHc#x|vHNydIzuh5raTV+n>||uN%c;9JM6iU`cJBu10<~Y zrciS#V>5~xsyIF_%XY=^n9~(0JRvfTK(DJx4IMm$jM`asZ51!@PbT;QGs@n~eA=MF znE�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

oE2P!ONhi4!50MQ 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 JPDHLkV1jk-J