fix(qb-core): post-update recovery + centralizare notify 17mov_Hud

Restaurat jobs.lua din git (Quasar fork a suprascris joburile 17mov). Adăugat item map în items.lua (lipsea, rupt rv-maphold). Setat licences.driver = false în config.lua. Override QBCore.Functions.Notify + QBCore:Notify event → 17mov_Hud:ShowNotification (toate notificările merg automat prin 17mov_Hud).
This commit is contained in:
2026-04-03 02:47:59 +03:00
parent 06414ed181
commit e756e29294
1539 changed files with 51926 additions and 39806 deletions

View File

@@ -6,12 +6,19 @@
-- Add car keys
function WSB.giveCarKeys(plate, _model, _vehicle)
exports['qs-vehiclekeys']:GiveKeys(plate, _model, true)
if GetResourceState('wasabi_carlock') == 'started' then
return exports.wasabi_carlock:GiveKey(plate) -- Leave like this if using wasabi_carlock
end
if GetResourceState('qb-vehiclekeys') == 'started' then
return TriggerServerEvent('qb-vehiclekeys:server:AcquireVehicleKeys', plate)
end
end
function WSB.removeCarKeys(plate, _model, _vehicle)
exports['qs-vehiclekeys']:RemoveKeys(plate, _model)
if GetResourceState('wasabi_carlock') == 'started' then
return exports.wasabi_carlock:RemoveKey(plate)
end
end
exports('giveCarKeys', WSB.giveCarKeys) -- Export for use in other scripts

View File

@@ -12,11 +12,57 @@ if wasabi_uikit == 'started' or wasabi_uikit == 'starting' then uikitFound = tru
-- Notifications
function WSB.showNotification(title, desc, style, icon, id)
local QBCore = exports['qb-core']:GetCoreObject()
local message = desc and (title .. ' - ' .. desc) or title
local notifyType = style or 'primary'
QBCore.Functions.Notify(message, notifyType)
-- Edit code below to use your own notification system
-- (This supports wasabi_notify, bridge's built-in notify, and ox_lib is commented out if desired!)
-- Get wasabi_notify here: https://wasabiscripts.com/product/6215100
if GetResourceState('wasabi_notify') == 'started' then -- If using wasabi_notify, automatic detection
if style == 'inform' or style == 'primary' then style = 'info' end
return exports.wasabi_notify:notify(title, desc, Config.Notifications.defaults.time or 3500, style or 'info',
Config.NotificationSound or Config.Notifications.defaults.sound or false, icon, id)
end
if uikitFound then
return exports.wasabi_uikit:Notification(title, desc, style or 'info', id, icon)
end
--[[ Remove this line if you are using lation_ui: https://lationscripts.com/product/modern-ui
if GetResourceState('lation_ui') == 'started' then -- If using lation_ui and not wasabi_notify automatic detection
if style == 'inform' or style == 'primary' then style = 'info' end
return exports.lation_ui:notify({
title = title,
message = desc or nil,
id = id or nil,
position = 'top-right',
icon = icon or nil,
duration = 3500,
type = style or 'info'
})
end
]] -- Remove this line if you are using lation_ui
--[[
if GetResourceState('ox_lib') == 'started' then -- If using ox_lib and not wasabi_notfy automatic detection
if style == 'info' then style = 'inform' end
exports.ox_lib:notify({
title = title,
description = desc or false,
id = id or false,
position = 'top-right',
icon = icon or false,
duration = 3500,
type = style or 'inform'
})
return
end
]] --
return ShowNotification(title, desc, style, icon, id) -- Default bridge built-in notification system
-- Edit Code above to use your own notification system
end
RegisterNetEvent('wasabi_bridge:notify', function(title, desc, style, icon, id)

View File

@@ -15,25 +15,38 @@ if wasabi_uikit == 'started' or wasabi_uikit == 'starting' then uikitFound = tru
---@param data table Same data as used in ox_lib progress bar/circle. Subject to change.
---@return boolean
function WSB.progressUI(data, type)
local QBCore = exports['qb-core']:GetCoreObject()
local success = false
QBCore.Functions.Progressbar(data.name or 'progress', data.label or 'Loading...', data.duration or 5000, data.useWhileDead or false, data.canCancel or false, {
disableMovement = data.disable and data.disable.move or false,
disableCarMovement = data.disable and data.disable.car or false,
disableMouse = data.disable and data.disable.mouse or false,
disableCombat = data.disable and data.disable.combat or false,
}, data.anim or {}, data.prop or {}, data.propTwo or {}, function()
success = true
end, function()
success = false
end)
while success == false do
Wait(100)
-- Remove under this line to use your own progress bar/circle system or ox_lib
if not data.color then data.color = Config.DefaultColor end
if uikitFound then
type = type == 'progressCircle' and 'circle' or 'bar'
return exports.wasabi_uikit:ProgressBar(data, type) or false
end
return success
return ProgressUI(data, type) or false
-- Remove above this line if you are using your own progress bar/circle system or ox_lib
--[[ Remove this line if you are using lation_ui: https://lationscripts.com/product/modern-ui
local lation_ui = GetResourceState('lation_ui')
if lation_ui ~= 'started' and lation_ui ~= 'starting' then
print('^0[^3WARNING^0] ^1lation_ui^0 is not running, please ensure it is started before using ^wsb.progressUI or use default!^0')
return false
end
return exports.lation_ui:progressBar(data)
]] -- Remove this line if you are using lation_ui
--[[
local oxLib = GetResourceState('ox_lib')
if oxLib ~= 'started' and oxLib ~= 'starting' then
print(
'^0[^3WARNING^0] ^1ox_lib^0 is not running, please ensure it is started before using ^wsb.progressUI or use default!^0')
return false
end
if type == 'progressBar' then
return exports.ox_lib:progressBar(data)
else
return exports.ox_lib:progressCircle(data)
end
]]
end
-- Compatibility functions for ox_lib

View File

@@ -40,7 +40,7 @@ function WSB.skillCheck(data)
if not data.keys then data.keys = 'e' end
if uikitFound then
return exports.wasabi_uikit:SkillCircle(data.difficulty, type(data.keys) == 'table' and data.keys or {data.keys}) or false
return exports.wasabi_uikit:SkillCircle({data.difficulty}, type(data.keys) == 'table' and data.keys or {data.keys}) or false
end
return SkillCheck(data.difficulty, data.keys, data.color) or false

View File

@@ -14,16 +14,88 @@ local textUI = false
-- Show text UI
function WSB.showTextUI(msg, options)
local QBCore = exports['qb-core']:GetCoreObject()
-- Customize this logic with your own text UI or ox_lib
-- msg = string, the message to display
-- options = { -- Optional, data to pass to text UI system
-- position = string - either 'right-center', 'left-center', 'top-center', or bottom-center,
-- icon = string - icon name,
-- iconColor = string - icon color,
-- textColor = string - text color,
-- backgroundColor = string - background color,
-- iconAnimation = 'pulse', -- currently only pusle available
-- }
-- Remove under this to use your own text UI --
textUI = msg
exports["17mov_Hud"]:ShowHelpNotification(msg)
if uikitFound then
-- Function to extract a single key in the format [E] - Text or [E] Text
local function extractKeyAndText(str)
if type(str) ~= "string" then return nil, str end
local key, rest = str:match("^%[([%w])%]%s*%-?%s*(.+)$")
if key and rest then
return key, rest
end
return nil, str
end
local key, text = extractKeyAndText(msg)
return exports.wasabi_uikit:OpenTextUI(text, key)
end
return ShowTextUI(msg, options)
-- Remove above this if you are using your own menu system / want to use ox_lib
--[[ Remove this line if you are using lation_ui: https://lationscripts.com/product/modern-ui
local lation_ui = GetResourceState('lation_ui')
if lation_ui ~= 'started' and lation_ui ~= 'starting' then
print('^0[^3WARNING^0] ^1lation_ui^0 is not running, please ensure it is started before using ^wsb.showTextUI or use default!^0')
return
end
exports.lation_ui:showText({description = msg})
textUI = msg
]] -- Remove this line if you are using lation_ui
--[[
local oxLib = GetResourceState('ox_lib')
if oxLib ~= 'started' and oxLib ~= 'starting' then
print(
'^0[^3WARNING^0] ^1ox_lib^0 is not running, please ensure it is started before using ^wsb.showTextUI or use default!^0')
return
end
exports.ox_lib:showTextUI(msg)
textUI = msg
]]
end
-- Hide text UI
function WSB.hideTextUI()
local QBCore = exports['qb-core']:GetCoreObject()
-- Remove under this to use your own text UI --
textUI = false
exports["17mov_Hud"]:HideHelpNotification()
if uikitFound then
return exports.wasabi_uikit:CloseTextUI()
end
return HideTextUI()
-- Remove above this if you are using your own menu system / want to use ox_lib
--[[ Remove this line if you are using lation_ui: https://lationscripts.com/product/modern-ui
local lation_ui = GetResourceState('lation_ui')
if lation_ui ~= 'started' and lation_ui ~= 'starting' then
print('^0[^3WARNING^0] ^1lation_ui^0 is not running, please ensure it is started before using ^wsb.hideTextUI or use default!^0')
return
end
exports.lation_ui:hideText()
textUI = false
]] -- Remove this line if you are using lation_ui
--[[
local oxLib = GetResourceState('ox_lib')
if oxLib ~= 'started' and oxLib ~= 'starting' then
print(
'^0[^3WARNING^0] ^1ox_lib^0 is not running, please ensure it is started before using ^wsb.showTextUI or use default!^0')
return
end
exports.ox_lib:hideTextUI()
textUI = false
]]
end
-- Checking for text UI