260 lines
		
	
	
		
			No EOL
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			260 lines
		
	
	
		
			No EOL
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
-- This is for notifications when all goes according to plan. (i.e. vehicle is cleaned)
 | 
						|
RegisterNetEvent("fh_detailer:client:InfoNotification", function(notificationText)
 | 
						|
-- You can change this to your prefered notification System --  
 | 
						|
 | 
						|
--exports['mythic_notify']:DoHudText('inform', notificationText)
 | 
						|
--exports['okokNotify']:Alert('Detailer', notificationText, Time, 'info', false)
 | 
						|
 | 
						|
end)
 | 
						|
 | 
						|
-- This is for notifications when something goes wrong. (i.e. you don't have money)
 | 
						|
RegisterNetEvent("fh_detailer:client:WarningNotification", function(notificationText)
 | 
						|
-- You can change this to your prefered notification System -- 
 | 
						|
 | 
						|
--exports['mythic_notify']:DoHudText('error', notificationText)
 | 
						|
--exports['okokNotify']:Alert('Detailer', notificationText, Time, 'error', false)
 | 
						|
 | 
						|
end)
 | 
						|
 | 
						|
-- You can add stuff you want to happen when the car is completely cleaned here. E. g. getting rid of evidence fingerprints and such.
 | 
						|
RegisterNetEvent("fh_detailer:client:vehicleCleaned", function(licensePlate, vehicleServerID)
 | 
						|
 | 
						|
    print('Vehicle cleaned: licensePlate ' .. licensePlate .. ' vehicleServerID ' .. vehicleServerID)
 | 
						|
 | 
						|
end)
 | 
						|
 | 
						|
-- Function for removing decals (dirt, scratches, blood). This can remove stickers if you are using such a script.
 | 
						|
-- You can disable the removal of the decals or add you custom code here:
 | 
						|
RegisterNetEvent("fh_detailer:client:removeDecals", function(vehicle)
 | 
						|
    RemoveDecalsFromVehicle(vehicle)
 | 
						|
end)
 | 
						|
 | 
						|
 | 
						|
 | 
						|
-- ox-target / qb-target exports here
 | 
						|
 | 
						|
if not Config.qbtarget then
 | 
						|
    exports.ox_target:addGlobalVehicle({
 | 
						|
        event = 'washVehicle',
 | 
						|
        icon = 'fa-solid fa-soap',
 | 
						|
        label = Lang:t("info.wash_vehicle"),
 | 
						|
        canInteract = function(entity, distance, coords, name)
 | 
						|
            if holdingBucket then makeEntityFaceEntity(playerPed, entity) end
 | 
						|
            return holdingBucket and not IsPedBusy()
 | 
						|
        end,
 | 
						|
        distance = Config.WashDistance,
 | 
						|
    })
 | 
						|
else
 | 
						|
    exports['qb-target']:AddGlobalVehicle({
 | 
						|
        options = {
 | 
						|
            {
 | 
						|
            type = 'client',
 | 
						|
            event = 'washVehicle',
 | 
						|
            icon = 'fa-solid fa-soap',
 | 
						|
            label = Lang:t("info.wash_vehicle"),
 | 
						|
            canInteract = function(entity, distance, data)
 | 
						|
                if holdingBucket then makeEntityFaceEntity(playerPed, entity) end
 | 
						|
                return holdingBucket and not IsPedBusy()
 | 
						|
            end,
 | 
						|
            }
 | 
						|
        },
 | 
						|
        distance = Config.WashDistance,
 | 
						|
    })
 | 
						|
end
 | 
						|
 | 
						|
if Config.JobRestriction then
 | 
						|
    if not Config.qbtarget then
 | 
						|
    exports.ox_target:addModel(GetHashKey(Config.HoseModel),
 | 
						|
        {
 | 
						|
        event = 'takeHose',
 | 
						|
        icon = 'fa-solid fa-soap',
 | 
						|
        label = Lang:t("info.take_hose"),
 | 
						|
        groups = Config.AllowedJobs,
 | 
						|
        }
 | 
						|
    )
 | 
						|
    
 | 
						|
    exports.ox_target:addModel(GetHashKey(Config.BucketModel),
 | 
						|
        {
 | 
						|
        event = 'UseBucket',
 | 
						|
        icon = 'fa-solid fa-soap',
 | 
						|
        label = Lang:t("info.label_bucket"),
 | 
						|
        groups = Config.AllowedJobs,
 | 
						|
        }
 | 
						|
    )
 | 
						|
    
 | 
						|
    exports.ox_target:addGlobalVehicle({
 | 
						|
        event = 'waxVehicle',
 | 
						|
        icon = 'fa-solid fa-soap',
 | 
						|
        label = Lang:t("info.wax_vehicle"),
 | 
						|
        item = {'car_wax'},
 | 
						|
        anyItem = true,
 | 
						|
        canInteract = function(entity, distance, coords, name)
 | 
						|
            if not holdingBucket and not holdingHose and not IsPedBusy() then 
 | 
						|
                makeEntityFaceEntity(playerPed, entity) 
 | 
						|
                return true
 | 
						|
            end
 | 
						|
        end,
 | 
						|
        groups = Config.AllowedJobs,
 | 
						|
        distance = Config.WashDistance,
 | 
						|
    })
 | 
						|
    else
 | 
						|
        exports['qb-target']:AddTargetModel(Config.HoseModel, {
 | 
						|
        options = { 
 | 
						|
          { 
 | 
						|
            type = "client", 
 | 
						|
            event = 'takeHose',
 | 
						|
            icon = 'fa-solid fa-soap',
 | 
						|
            label = Lang:t("info.take_hose"),
 | 
						|
            job = Config.AllowedJobs,
 | 
						|
          }
 | 
						|
        },
 | 
						|
      })
 | 
						|
 | 
						|
      exports['qb-target']:AddTargetModel(Config.BucketModel, {
 | 
						|
        options = { 
 | 
						|
          { 
 | 
						|
            type = "client", 
 | 
						|
            event = 'UseBucket',
 | 
						|
            icon = 'fa-solid fa-soap',
 | 
						|
            label = Lang:t("info.label_bucket"),
 | 
						|
            job = Config.AllowedJobs,
 | 
						|
          }
 | 
						|
        },
 | 
						|
      })
 | 
						|
    end
 | 
						|
 | 
						|
    exports['qb-target']:AddGlobalVehicle({
 | 
						|
        options = {
 | 
						|
            {
 | 
						|
            type = 'client',
 | 
						|
            event = 'waxVehicle',
 | 
						|
            icon = 'fa-solid fa-soap',
 | 
						|
            label = Lang:t("info.wax_vehicle"),
 | 
						|
            canInteract = function(entity, distance, data)
 | 
						|
                if not holdingBucket and not holdingHose and not IsPedBusy() then 
 | 
						|
                    makeEntityFaceEntity(playerPed, entity) 
 | 
						|
                    return true
 | 
						|
                end
 | 
						|
            end,
 | 
						|
            job = Config.AllowedJobs,
 | 
						|
            }
 | 
						|
        },
 | 
						|
        distance = Config.WashDistance,
 | 
						|
    })
 | 
						|
 | 
						|
else 
 | 
						|
    if not Config.qbtarget then
 | 
						|
        exports.ox_target:addGlobalVehicle({
 | 
						|
            event = 'waxVehicle',
 | 
						|
            icon = 'fa-solid fa-soap',
 | 
						|
            label = Lang:t("info.wax_vehicle"),
 | 
						|
            item = {'car_wax'},
 | 
						|
            anyItem = true,
 | 
						|
            canInteract = function(entity, distance, coords, name)
 | 
						|
                    if not holdingBucket and not holdingHose and not IsPedBusy() then 
 | 
						|
                    makeEntityFaceEntity(playerPed, entity) 
 | 
						|
                    return true
 | 
						|
             end
 | 
						|
            end,
 | 
						|
            distance = Config.WashDistance,
 | 
						|
        })
 | 
						|
    
 | 
						|
        exports.ox_target:addModel(GetHashKey(Config.HoseModel),
 | 
						|
            {
 | 
						|
            event = 'takeHose',
 | 
						|
            icon = 'fa-solid fa-soap',
 | 
						|
            label = Lang:t("info.take_hose"),
 | 
						|
        })
 | 
						|
    
 | 
						|
        exports.ox_target:addModel(GetHashKey(Config.BucketModel),
 | 
						|
        {
 | 
						|
            event = 'UseBucket',
 | 
						|
            icon = 'fa-solid fa-soap',
 | 
						|
            label = Lang:t("info.label_bucket"),
 | 
						|
        })
 | 
						|
 | 
						|
    else
 | 
						|
 | 
						|
        exports['qb-target']:AddTargetModel(Config.HoseModel, {
 | 
						|
            options = { 
 | 
						|
              { 
 | 
						|
                type = "client", 
 | 
						|
                event = 'takeHose',
 | 
						|
                icon = 'fa-solid fa-soap',
 | 
						|
                label = Lang:t("info.take_hose"),
 | 
						|
              }
 | 
						|
            },
 | 
						|
          })
 | 
						|
    
 | 
						|
          exports['qb-target']:AddTargetModel(Config.BucketModel, {
 | 
						|
            options = { 
 | 
						|
              { 
 | 
						|
                type = "client", 
 | 
						|
                event = 'UseBucket',
 | 
						|
                icon = 'fa-solid fa-soap',
 | 
						|
                label = Lang:t("info.label_bucket"),
 | 
						|
              }
 | 
						|
            },
 | 
						|
          })
 | 
						|
 | 
						|
        exports['qb-target']:AddGlobalVehicle({
 | 
						|
            options = {
 | 
						|
                {
 | 
						|
                type = 'client',
 | 
						|
                event = 'waxVehicle',
 | 
						|
                icon = 'fa-solid fa-soap',
 | 
						|
                label = Lang:t("info.wax_vehicle"),
 | 
						|
                canInteract = function(entity, distance, data)
 | 
						|
                    if not holdingBucket and not holdingHose and not IsPedBusy() then 
 | 
						|
                        makeEntityFaceEntity(playerPed, entity) 
 | 
						|
                        return true
 | 
						|
                    end
 | 
						|
                end,
 | 
						|
                }
 | 
						|
            },
 | 
						|
            distance = Config.WashDistance,
 | 
						|
        })
 | 
						|
    end
 | 
						|
end
 | 
						|
    
 | 
						|
if not Config.qbtarget then
 | 
						|
    exports.ox_target:addModel(GetHashKey(Config.HoseModel2),
 | 
						|
        {
 | 
						|
        event = 'takeHose',
 | 
						|
        icon = 'fa-solid fa-soap',
 | 
						|
        label = Lang:t("info.take_hose"),
 | 
						|
        }
 | 
						|
    )
 | 
						|
    
 | 
						|
    exports.ox_target:addModel(GetHashKey(Config.BucketModel2),
 | 
						|
        {
 | 
						|
        event = 'UseBucket',
 | 
						|
        icon = 'fa-solid fa-soap',
 | 
						|
        label = Lang:t("info.label_bucket"),
 | 
						|
        }
 | 
						|
    )
 | 
						|
else
 | 
						|
    exports['qb-target']:AddTargetModel(Config.HoseModel2, {
 | 
						|
        options = { 
 | 
						|
          { 
 | 
						|
            type = "client", 
 | 
						|
            event = 'takeHose',
 | 
						|
            icon = 'fa-solid fa-soap',
 | 
						|
            label = Lang:t("info.take_hose"),
 | 
						|
          }
 | 
						|
        },
 | 
						|
      })
 | 
						|
 | 
						|
    exports['qb-target']:AddTargetModel(Config.BucketModel2, {
 | 
						|
        options = { 
 | 
						|
          { 
 | 
						|
            type = "client", 
 | 
						|
            event = 'takeHose',
 | 
						|
            icon = 'fa-solid fa-soap',
 | 
						|
            label = Lang:t("info.take_hose"),
 | 
						|
          }
 | 
						|
        },
 | 
						|
    })
 | 
						|
end
 | 
						|
 | 
						|
-- End of ox-target /  qb-target exports |