83 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| function CheckDuty()
 | |
|     return not Config.OnDutyOnlyClothingRooms or (Config.OnDutyOnlyClothingRooms and client.job.onduty)
 | |
| end
 | |
| 
 | |
| function IsPlayerAllowedForOutfitRoom(outfitRoom)
 | |
|     local isAllowed = false
 | |
|     local count = #outfitRoom.citizenIDs
 | |
|     for i = 1, count, 1 do
 | |
|         if Framework.IsPlayerAllowed(outfitRoom.citizenIDs[i]) then
 | |
|             isAllowed = true
 | |
|             break
 | |
|         end
 | |
|     end
 | |
|     return isAllowed or not outfitRoom.citizenIDs or count == 0
 | |
| end
 | |
| 
 | |
| function GetPlayerJobOutfits(job)
 | |
|     local outfits = {}
 | |
|     local gender = Framework.GetGender()
 | |
|     local gradeLevel = job and Framework.GetJobGrade() or Framework.GetGangGrade()
 | |
|     local jobName = job and client.job.name or client.gang.name
 | |
| 
 | |
|     if Config.BossManagedOutfits then
 | |
|         local mType = job and "Job" or "Gang"
 | |
|         local result = lib.callback.await("illenium-appearance:server:getManagementOutfits", false, mType, gender)
 | |
|         for i = 1, #result, 1 do
 | |
|             outfits[#outfits + 1] = {
 | |
|                 type = mType,
 | |
|                 model = result[i].model,
 | |
|                 components = result[i].components,
 | |
|                 props = result[i].props,
 | |
|                 disableSave = true,
 | |
|                 name = result[i].name
 | |
|             }
 | |
|         end
 | |
|     elseif Config.Outfits[jobName] and Config.Outfits[jobName][gender] then
 | |
|         for i = 1, #Config.Outfits[jobName][gender], 1 do
 | |
|             for _, v in pairs(Config.Outfits[jobName][gender][i].grades) do
 | |
|                 if v == gradeLevel then
 | |
|                     outfits[#outfits + 1] = Config.Outfits[jobName][gender][i]
 | |
|                     outfits[#outfits].gender = gender
 | |
|                     outfits[#outfits].jobName = jobName
 | |
|                 end
 | |
|             end
 | |
|         end
 | |
|     end
 | |
| 
 | |
|     return outfits
 | |
| end
 | |
| 
 | |
| function OpenOutfitRoom(outfitRoom)
 | |
|     local isAllowed = IsPlayerAllowedForOutfitRoom(outfitRoom)
 | |
|     if isAllowed then
 | |
|         OpenMenu(nil, "outfit")
 | |
|     end
 | |
| end
 | |
| 
 | |
| function OpenBarberShop()
 | |
|     local config = GetDefaultConfig()
 | |
|     config.headOverlays = true
 | |
|     OpenShop(config, false, "barber")
 | |
| end
 | |
| 
 | |
| function OpenTattooShop()
 | |
|     local config = GetDefaultConfig()
 | |
|     config.tattoos = true
 | |
|     OpenShop(config, false, "tattoo")
 | |
| end
 | |
| 
 | |
| function OpenSurgeonShop()
 | |
|     local config = GetDefaultConfig()
 | |
|     config.headBlend = true
 | |
|     config.faceFeatures = true
 | |
|     OpenShop(config, false, "surgeon")
 | |
| end
 | |
| 
 | |
| AddEventHandler("onResourceStop", function(resource)
 | |
|     if resource == GetCurrentResourceName() then
 | |
|         if Config.BossManagedOutfits then
 | |
|             Management.RemoveItems()
 | |
|         end
 | |
|     end
 | |
| end)
 | 
