49 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
if GetResourceState('ox_target') == 'started' or GetResourceState('qb-target') ~= 'started' or not Config.UseTarget then return end
 | 
						|
 | 
						|
local Zones = {}
 | 
						|
 | 
						|
function AddTargetModel(models, radius, options)
 | 
						|
    local optionsNames = {}
 | 
						|
    for i=1, #options do 
 | 
						|
        optionsNames[i] = options[i].name
 | 
						|
        if options[i].onSelect then
 | 
						|
            local cb = options[i].onSelect
 | 
						|
            options[i].action = function(entity)
 | 
						|
                cb({entity = entity})
 | 
						|
            end
 | 
						|
            options[i].onSelect = nil
 | 
						|
        end
 | 
						|
    end
 | 
						|
    RemoveTargetModel(models, optionsNames)
 | 
						|
    exports['qb-target']:AddTargetModel(models, {options = options, distance = 2.5})
 | 
						|
end
 | 
						|
 | 
						|
function RemoveTargetModel(models, optionsNames)
 | 
						|
    exports['qb-target']:RemoveTargetModel(models, optionsNames)
 | 
						|
end
 | 
						|
 | 
						|
function AddTargetZone(coords, radius, options)
 | 
						|
    local index
 | 
						|
    repeat
 | 
						|
        index = "lottery_coord_" .. math.random(1, 999999999)
 | 
						|
    until not Zones[index]
 | 
						|
    for i=1, #options do 
 | 
						|
        if options[i].onSelect then
 | 
						|
            local cb = options[i].onSelect
 | 
						|
            options[i].action = function(entity)
 | 
						|
                cb({entity = entity})
 | 
						|
            end
 | 
						|
            options[i].onSelect = nil
 | 
						|
        end
 | 
						|
    end
 | 
						|
    exports['qb-target']:AddCircleZone(index, coords, radius, {name = index}, {
 | 
						|
        options = options
 | 
						|
    })
 | 
						|
    return index
 | 
						|
end
 | 
						|
 | 
						|
function RemoveTargetZone(index)
 | 
						|
    if not index then return end
 | 
						|
    Zones[index] = nil
 | 
						|
    exports['qb-target']:RemoveZone(index)
 | 
						|
end |