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 | 
