feat: migrare interactiuni la qb-target (20 resurse) + animatie tableta Job Center + bus icon + terminologie devTeam

This commit is contained in:
2026-04-01 00:20:23 +03:00
parent 583862995c
commit 6113a37400
705 changed files with 250 additions and 68470 deletions

View File

@@ -39,8 +39,8 @@ Config = {
Xmas = false,
-- Target
UseTarget = false, -- whether to use target zones or not
TargetZoneType = 1, -- 1: q_target, 2: bt_target, 3: qb-target, 4: ox_target
UseTarget = true, -- whether to use target zones or not
TargetZoneType = 3, -- 1: q_target, 2: bt_target, 3: qb-target, 4: ox_target
-- Chips, Inventory Settings
UseVirtualChips = false, -- false: use inventory for chips, true: use virtual chips which are saved in the casino_players table

View File

@@ -188,7 +188,7 @@ Config.NeedToBeInsidePoints = { -- [EDIT]
}
-- Targeting (qb-target / ox_target). If false, fallback to draw/markers where applicable.
Config.UseTarget = false -- [EDIT] true | false
Config.UseTarget = true -- [EDIT] true | false
Config.TargetLength = 5.0 -- [EDIT] Target box length
Config.TargetWidth = 5.0 -- [EDIT] Target box width

View File

@@ -59,7 +59,7 @@ local qbHas = GetResourceState('qb-core') == 'started'
local qbxHas = GetResourceState('qbx_core') == 'started'
Config.Framework = esxHas and 'esx' or qbHas and 'qb' or qbxHas and 'qbx' or 'esx'
Config.UseTarget = false -- true or false
Config.UseTarget = true -- true or false
Config.UseItemLicenses = true -- If you set true, the item will be required for the shop. But if you set false, if you using esx it will use esx_license if you using qb it will be use metadata.licenses for that.

View File

@@ -133,7 +133,7 @@ Config.AutoBackup = true -- [EDIT] true | false
-- [INFO] Choose context menu provider and targeting system usage.
--──────────────────────────────────────────────────────────────────────────────
Config.Menu = 'ox_lib' -- [EDIT] 'ox_lib' | 'nh-context'
Config.UseTarget = false -- [EDIT] true to use ox_target/qb-target when available.
Config.UseTarget = true -- [EDIT] true to use ox_target/qb-target when available.
-- Keybind (RegisterKeyMapping) -----------------------------------------------
-- [INFO] Key used to open the phone from keyboard/controller.

View File

@@ -1,7 +1,7 @@
Config = {}
Config.Lang = "ro" -- Langugage that you want to use (before changing this value make sure that this lang is exists into ./locale directory)
Config.UseTarget = false -- Change it to true if you want to use a target system. All settings about the target system are under target.lua file.
Config.UseTarget = true -- Change it to true if you want to use a target system. All settings about the target system are under target.lua file.
Config.DistanceCheck = true -- Allows to find players that thries to get some job with 17mov_JobCenter:SetPlayerJob event, but he's so far from job center ped. If set to true job will not be set and you will receive information in the server console. Set this to false if you want to open menu from other locations than default with 17mov_JobCenter:OpenMenu event
-- Configuration of locations where you can open job center menu

View File

@@ -8,6 +8,75 @@ elseif GetResourceState("ox_target") ~= "missing" then
Config.TargetSystem = "qtarget" -- OX_Target have a backward compability to qtarget
end
-- Comenzi utile pentru testare animatii + props
local testProp = nil
RegisterCommand("testanim", function()
local ped = PlayerPedId()
local dict = "amb@code_human_in_bus_passenger_idles@female@tablet@base"
RequestAnimDict(dict)
while not HasAnimDictLoaded(dict) do Wait(10) end
TaskPlayAnim(ped, dict, "base", 2.0, -2.0, -1, 49, 0, false, false, false)
local model = GetHashKey("prop_cs_tablet")
RequestModel(model)
while not HasModelLoaded(model) do Wait(10) end
local coords = GetEntityCoords(ped)
testProp = CreateObject(model, coords.x, coords.y, coords.z, true, true, true)
AttachEntityToEntity(testProp, ped, GetPedBoneIndex(ped, 60309),
0.03, 0.002, -0.0, 10.0, 160.0, 0.0, true, true, false, true, 1, true)
end, false)
RegisterCommand("stopanim", function()
ClearPedTasks(PlayerPedId())
if testProp and DoesEntityExist(testProp) then DeleteEntity(testProp) testProp = nil end
end, false)
-- Animatie tableta pentru meniul Job Center
local tabletProp = nil
local animDict = "amb@code_human_in_bus_passenger_idles@female@tablet@base"
local animName = "base"
Utils.PlayTabletAnim = function()
local ped = PlayerPedId()
-- Incarca animatia
RequestAnimDict(animDict)
while not HasAnimDictLoaded(animDict) do
Wait(10)
end
-- Joaca animatia (flag 49 = loop + upper body + secondary)
TaskPlayAnim(ped, animDict, animName, 2.0, -2.0, -1, 49, 0, false, false, false)
-- Creeaza prop tableta
local model = GetHashKey("prop_cs_tablet")
RequestModel(model)
while not HasModelLoaded(model) do
Wait(10)
end
local coords = GetEntityCoords(ped)
tabletProp = CreateObject(model, coords.x, coords.y, coords.z, true, true, true)
-- Ataseaza la mana dreapta (bone 60309)
AttachEntityToEntity(tabletProp, ped, GetPedBoneIndex(ped, 60309),
0.03, 0.002, -0.0, 10.0, 160.0, 0.0, true, true, false, true, 1, true)
SetModelAsNoLongerNeeded(model)
RemoveAnimDict(animDict)
end
Utils.StopTabletAnim = function()
local ped = PlayerPedId()
-- Opreste animatia
ClearPedTasks(ped)
-- Sterge prop-ul
if tabletProp and DoesEntityExist(tabletProp) then
DeleteEntity(tabletProp)
tabletProp = nil
end
end
Utils.AddEntityToTarget = function(entity)
exports[Config.TargetSystem]:AddTargetEntity(entity, {
options = {
@@ -15,6 +84,7 @@ Utils.AddEntityToTarget = function(entity)
icon = "fas fa-briefcase",
label = _L("Interaction.Open"),
action = function()
Utils.PlayTabletAnim()
Utils.ToggleNUI(true)
end,
},
@@ -22,3 +92,21 @@ Utils.AddEntityToTarget = function(entity)
distance = 1.5
})
end
-- Opreste animatia cand se inchide meniul (safety net)
-- Monitorizeza NUI focus — cand se pierde, opreste animatia
CreateThread(function()
local wasOpen = false
while true do
Wait(500)
local nuiFocused = IsNuiFocused()
if wasOpen and not nuiFocused then
-- Meniul tocmai s-a inchis
Utils.StopTabletAnim()
wasOpen = false
elseif nuiFocused and tabletProp and DoesEntityExist(tabletProp) then
wasOpen = true
end
end
end)

View File

@@ -1,6 +1,6 @@
Locale["ro"] = {
["Blip.Label"] = "Centru de Locuri de Munca",
["Interaction.Open"] = "~r~[E] |~s~ Deschide Centrul de Locuri de Munca",
["Interaction.Open"] = "Deschide Centrul de Locuri de Munca",
["Notify.Hired"] = "Ai schimbat locul de munca cu succes",
["Notify.Waypoint"] = "Punct GPS setat cu succes",
["Notify.JobNotRegistered"] = "Locul de munca selectat nu este inregistrat in framework. Raporteaza aceasta problema administratorilor.",

View File

@@ -0,0 +1,3 @@
<svg width="20" height="18" viewBox="0 0 20 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3 0C1.34 0 0 1.34 0 3V12.5C0 13.06 0.19 13.57 0.5 14V16.5C0.5 17.05 0.95 17.5 1.5 17.5H2.5C3.05 17.5 3.5 17.05 3.5 16.5V15.5H16.5V16.5C16.5 17.05 16.95 17.5 17.5 17.5H18.5C19.05 17.5 19.5 17.05 19.5 16.5V14C19.81 13.57 20 13.06 20 12.5V3C20 1.34 18.66 0 17 0H3ZM3 1.5H17C17.83 1.5 18.5 2.17 18.5 3V7H1.5V3C1.5 2.17 2.17 1.5 3 1.5ZM3.5 11C4.33 11 5 11.67 5 12.5C5 13.33 4.33 14 3.5 14C2.67 14 2 13.33 2 12.5C2 11.67 2.67 11 3.5 11ZM16.5 11C17.33 11 18 11.67 18 12.5C18 13.33 17.33 14 16.5 14C15.67 14 15 13.33 15 12.5C15 11.67 15.67 11 16.5 11Z" fill="#FF1A35"/>
</svg>

After

Width:  |  Height:  |  Size: 675 B

View File

@@ -2,7 +2,7 @@ Config = {}
Config.useModernUI = true -- In March 2023 the jobs have passed huge rework, and the UI has been changed. Set it to false, to use OLD no longer supported UI.
Config.splitReward = false -- This option work's only when useModernUI is false. If this option is true, the payout is: (Config.OnePercentWorth * Progress ) / PartyCount, if false then: (Config.OnePercentWorth * Progress)
Config.UseTarget = false -- Change it to true if you want to use a target system. All setings about the target system are under target.lua file.
Config.UseTarget = true -- Change it to true if you want to use a target system. All setings about the target system are under target.lua file.
Config.UseBuiltInNotifications = false -- Set to false if you want to use ur framework notification style. Otherwise, the built in modern notifications will be used. Avalible only with modern UI
Config.RequiredJob = "builder" -- Set to "none" if you dont want using jobs. If you are using target, you have to set "job" parameter inside every export in target.lua
Config.RequireJobAlsoForFriends = true -- If it's false, then only host needs to have the job, if it's true then everybody from group needs to have the Config.RequiredJob

View File

@@ -6,7 +6,7 @@ Config.UseBuiltInNotifications = false -- Set to false if you want to
Config.letBossSplitReward = true -- If it's true, then boss can manage whole party rewards percent in menu. If you'll set it to false, then everybody will get same amount.
Config.multiplyRewardWhileWorkingInGroup = true -- If it's false, then reward will stay by default. For example $1000 for completing whole job. If you'll set it to true, then the payout will depend on how many players is there in the group. For example, if for full job there's $1000, then if player will work in 4 member group, the reward will be $4000. (baseReward * partyCount)
Config.UseTarget = false -- Change it to true if you want to use a target system. All setings about the target system are under target.lua file.
Config.UseTarget = true -- Change it to true if you want to use a target system. All setings about the target system are under target.lua file.
Config.RequiredJob = "deliverer" -- Set to "none" if you dont want using jobs. If you are using target, you have to set "job" parameter inside every export in target.lua
Config.RequireJobAlsoForFriends = true -- If it's false, then only host needs to have the job, if it's true then everybody from group needs to have the Config.RequiredJob
Config.RequireOneFriendMinimum = false -- Set to true if you want to force players to create teams

View File

@@ -1,7 +1,7 @@
Config = {}
Config.useModernUI = true -- In March 2023 the jobs have passed huge rework, and the UI has been changed. Set it to false, to use OLD no longer supported UI.
Config.UseTarget = false -- Set to true if you want to use Target System. You can configure your target under /client/target.lua file.
Config.UseTarget = true -- Set to true if you want to use Target System. You can configure your target under /client/target.lua file.
Config.UseBuiltInNotifications = false -- Set to false if you want to use ur framework notification style. Otherwise, the built in modern notifications will be used.=
Config.RequiredJob = "electrician" -- Set to "none" if you dont want using jobs. If you are using target, you have to set "job" parameter inside every export in target.lua
Config.RequireJobAlsoForFriends = true -- If it's false, then only host needs to have the job, if it's true then everybody from group needs to have the Config.RequiredJob

View File

@@ -16,7 +16,7 @@ Config.UseBuiltInNotifications = true -- Set to false if you want
Config.LetBossSplitReward = true -- If it's true, then boss can manage whole party rewards percent in menu. If you'll set it to false, then everybody will get same amount.
Config.MultiplyRewardWhileWorkingInGroup = true -- If it's false, then reward will stay by default. For example $1000 for completing whole job. If you'll set it to true, then the payout will depend on how many players is there in the group. For example, if for full job there's $1000, then if player will work in 4 member group, the reward will be $4000. (baseReward * partyCount)
Config.Price = 2 -- Price per one bag inside trashmaster. 100 is maximum so full trash = 200$ / partyCount
Config.UseTarget = false -- Change it to true if you want to use a target system. All setings about the target system are under target.lua file.
Config.UseTarget = true -- Change it to true if you want to use a target system. All setings about the target system are under target.lua file.
Config.RequiredJob = "garbage" -- Set to "none" if you dont want using jobs. If you are using target, you have to set "job" parameter inside every export in target.lua
Config.RequireJobAlsoForFriends = true -- If it's false, then only host needs to have the job, if it's true then everybody from group needs to have the Config.RequiredJob
Config.RequireOneFriendMinimum = false -- Set to true if you want to force players to create teams

View File

@@ -1,6 +1,6 @@
Config = {}
Config.UseTarget = false -- Change it to true if you want to use a target system. All settings about the target system are under target.lua file.
Config.UseTarget = true -- Change it to true if you want to use a target system. All settings about the target system are under target.lua file.
Config.UseBuiltInNotifications = false -- Set to false if you want to use your framework notification style. Otherwise, the built in modern notifications will be used. Available only with modern UI
Config.RequiredItem = "none" -- Set it to anything you want, to require players to have an item in their inventory before they start the job
Config.RequireItemFromWholeTeam = true -- If it's false, then only the host needs to have the required item, otherwise entire team needs it.

View File

@@ -1,5 +1,5 @@
Config = {}
Config.UseTarget = false
Config.UseTarget = true
Config.UseBuiltInNotifications = false
Config.RequiredItem = "none" -- Set it to anything you want, to require players to have an item in their inventory before they start the job

View File

@@ -1,6 +1,6 @@
-- { 17movement.net } --
Config = {}
Config.UseTarget = false
Config.UseTarget = true
Config.UseBuiltInNotifications = false
Config.OneGasPercentWorth = 100 -- How much script should pay for one percent of collected gas.

View File

@@ -16,7 +16,7 @@ Config.Props = {
-- Add more if u want!
}
Config.UseTarget = false -- Change it to true if you want to use a target system. All setings about the target system are under target.lua file.
Config.UseTarget = true -- Change it to true if you want to use a target system. All setings about the target system are under target.lua file.
Config.RequiredJob = "postman" -- Set to "none" if you dont want using jobs. If you are using target, you have to set "job" parameter inside every export in target.lua
Config.RequireJobAlsoForFriends = true -- If it's false, then only host needs to have the job, if it's true then everybody from group needs to have the Config.RequiredJob
Config.RequiredItem = "none" -- Required Item needed to start the job. Set to "none", if you dont want to use RequiredItem

View File

@@ -8,7 +8,7 @@ Config.letBossSplitReward = true -- If it's true, then boss c
Config.multiplyRewardWhileWorkingInGroup = true -- If it's false, then reward will stay by default. For example $1000 for completing whole job. If you'll set it to true, then the payout will depend on how many players is there in the group. For example, if for full job there's $1000, then if player will work in 4 member group, the reward will be $4000. (baseReward * partyCount)
Config.reward = 3000 -- Reward for one treasure. If you want to use a item reward then modify Pay() function under /server/functions.lua
Config.UseTarget = false -- Change it to true if you want to use a target system. All setings about the target system are under target.lua file.
Config.UseTarget = true -- Change it to true if you want to use a target system. All setings about the target system are under target.lua file.
Config.SharedTreasureFeature = true -- Set to false, to make every group have treasure in different location.

View File

@@ -9,7 +9,7 @@ Config.letBossSplitReward = true -- If it's true, then boss c
Config.multiplyRewardWhileWorkingInGroup = true -- If it's false, then reward will stay by default. For example $1000 for completing whole job. If you'll set it to true, then the payout will depend on how many players is there in the group. For example, if for full job there's $1000, then if player will work in 4 member group, the reward will be $4000. (baseReward * partyCount)
Config.DefaultBucket = 0 -- Set here default bucket for your server. If you dont know what's it, leave it as 0.
Config.UseTarget = false -- Change it to true if you want to use a target system. All setings about the target system are under target.lua file.
Config.UseTarget = true -- Change it to true if you want to use a target system. All setings about the target system are under target.lua file.
Config.RequiredJob = "windowcleaner" -- Set to "none" if you dont want using jobs. If you are using target, you have to set "job" parameter inside every export in target.lua
Config.RequireJobAlsoForFriends = true -- If it's false, then only host needs to have the job, if it's true then everybody from group needs to have the Config.RequiredJob
Config.RequireOneFriendMinimum = false -- Set to true if you want to force players to create teams

View File

@@ -2,7 +2,7 @@ Config = {
Framework = "qb", -- "esx" or "oldesx" or "qb"
Locale = "ro", -- Locale of the script
DebugStreet = false, -- Debug street name
Target = "none", -- "qb" / "ox" / "none"
Target = "qb", -- "qb" / "ox" / "none"
CoreExport = function()
if Config.Framework == "qb" then

View File

@@ -94,7 +94,7 @@ Config.FetchOldInventory = false -- [EDIT] Use true once for migrati
-- Targeting [EDIT]
-- [INFO] Enable qb-target / ox_target. If false, targeting is disabled.
--──────────────────────────────────────────────────────────────────────────────
Config.UseTarget = false -- [EDIT]
Config.UseTarget = true -- [EDIT]
--──────────────────────────────────────────────────────────────────────────────
-- General Inventory Settings [EDIT]

View File

@@ -1 +0,0 @@
[]

View File

@@ -1 +0,0 @@
[]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,90 +0,0 @@
[
{
"text": "1 CleverAnt0923 died from falling or drowning",
"createdAt": 1774733576964
},
{
"text": "2 CleverAnt0923 died from falling or drowning",
"createdAt": 1774645560893
},
{
"text": "1 Kotzu died from falling or drowning",
"createdAt": 1772586597440
},
{
"text": "1 Kotzu died from falling or drowning",
"createdAt": 1772578143090
},
{
"text": "1 Kotzu died from falling or drowning",
"createdAt": 1772570990143
},
{
"text": "1 Kotzu died from falling or drowning",
"createdAt": 1772570930099
},
{
"text": "1 wraith died from falling or drowning",
"createdAt": 1772380832918
},
{
"text": "1 Razzmuse died from falling or drowning",
"createdAt": 1772374458229
},
{
"text": "1 Razzmuse died from falling or drowning",
"createdAt": 1772372500743
},
{
"text": "1 Razzmuse died from falling or drowning",
"createdAt": 1772370437307
},
{
"text": "1 Razzmuse died from falling or drowning",
"createdAt": 1772370377214
},
{
"text": "2 Elias ♡ was killed by [2]Elias ♡ | Weapon unarmed:-1569615261",
"createdAt": 1772314494191
},
{
"text": "1 Razzmuse died from falling or drowning",
"createdAt": 1772313890909
},
{
"text": "1 Razzmuse died from falling or drowning",
"createdAt": 1772309812013
},
{
"text": "1 Razzmuse died from falling or drowning",
"createdAt": 1772309762250
},
{
"text": "1 Razzmuse died from falling or drowning",
"createdAt": 1772295487254
},
{
"text": "1 Razzmuse died from falling or drowning",
"createdAt": 1772284476366
},
{
"text": "1 Razzmuse died from falling or drowning",
"createdAt": 1772282095483
},
{
"text": "1 Razzmuse died from falling or drowning",
"createdAt": 1772282035304
},
{
"text": "2 Razzmuse died from falling or drowning",
"createdAt": 1772222813683
},
{
"text": "2 Razzmuse was killed by [1]wraith | Weapon unarmed:-1569615261",
"createdAt": 1772222753645
},
{
"text": "1 wraith died from falling or drowning",
"createdAt": 1772222081715
}
]

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
[]

View File

@@ -1,6 +0,0 @@
[
{
"text": "New report #2 created by Alu Pigus",
"createdAt": 1772306323736
}
]

View File

@@ -1 +0,0 @@
[]