This disgusts me, a release tagged with “FREE” but yet it’s another script encrypted via Escrow, and then the “open source” is being sold at a random price point. It’s sad that this is where the culture of this community has gone.
At least tag your post properly with the “ESCROW” or “PAID” tag(s)
l understand your disappointment, but I’d like to clarify a few things. The script was marked as “FREE” because access to it doesn’t require any payment – the fact that it’s protected with escrow is simply a way to prevent abuse. I’m not trying to mislead anyone, just protecting my work.
If you believe I should have used the [ESCROW] tag – fair enough, I’ll accept that and update the label accordingly .
This is beneficial for individuals seeking only free scripts, but not for those who want to learn something. Open-source projects aim to share knowledge. We know that many people steal open-source code and sell it for profit, but if all developers only release escrowed code, how can young people begin to learn anything?
Sorry maybe I am out of topic. The script seems well done and useful
Follow these steps to integrate qb-target into your ox_target client.
1. Place the qb-target.lua file in ox_target/client/compat
Upload the qb-target.lua file to the ox_target/client/compat directory. qb-target.lua (18.3 KB)
2. Modify client/main.lua
Open client/main.lua and add the following line at line 11 to require the qb-target.lua file:
require 'client.compat.qb-target'
3. Place the qb.lua file in ox_target/client/framework/
Upload the qb.lua file to the ox_target/client/framework/ directory. qb.lua (2.3 KB)
4. Modify client/utils.lua
Open client/utils.lua at line 200 and add the following code to handle different exports and load the appropriate framework:
if utils.hasExport('ox_core.GetPlayer') then
require 'client.framework.ox'
elseif utils.hasExport('es_extended.getSharedObject') then
require 'client.framework.esx'
elseif utils.hasExport('qb-core.GetCoreObject') then
require 'client.framework.qb'
elseif utils.hasExport('ND_Core.getPlayer') then
require 'client.framework.nd'
end
5. Modify fxmanifest.lua
Open the fxmanifest.lua file and add the following snippet to include the required files and provide the qb-target resource:
files {
'client/framework/qb.lua',
'client/compat/qb-target.lua',
}
provide 'qb-target'
Currently, the UI uses REM units, which don’t always scale perfectly across different screen resolutions. You have a couple of options to address this:
Change units to VW (Viewport Width):
You can edit the styles.css file and replace REM values with their corresponding VW values. VW units are relative to the viewport’s width, which can lead to better scaling.
Important: Remember to set maximum values for certain elements (e.g., max-height). On very large resolutions (above 2K, like 2560x1440 and higher), elements might become disproportionately large (e.g., too wide compared to their height) if you don’t cap their maximum dimensions.
Use @media queries and the scale property:
Alternatively, you can use @media queries in your CSS to define different styles for specific resolutions (e.g., for screens wider than 2K). Within such a media query, you could use the transform: scale() property to scale the entire UI.
Important: If you opt for scaling with transform: scale(), pay close attention to absolutely positioned elements (those with position: absolute and set X and Y values). They use the transform property for absolute positioning too, so you have to merge them, not override. F.e. transform:translate(-50%,-50%) Should become something like transform:translate(-50%,-50%) scale(1.1);