34 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| --[[
 | |
|     https://github.com/overextended/ox_lib
 | |
| 
 | |
|     This file is licensed under LGPL-3.0 or higher <https://www.gnu.org/licenses/lgpl-3.0.en.html>
 | |
| 
 | |
|     Copyright © 2025 Linden <https://github.com/thelindat>
 | |
| ]]
 | |
| 
 | |
| function lib.checkDependency(resource, minimumVersion, printMessage)
 | |
| 	local currentVersion = GetResourceMetadata(resource, 'version', 0)
 | |
|     currentVersion = currentVersion and currentVersion:match('%d+%.%d+%.%d+') or 'unknown'
 | |
| 
 | |
| 	if currentVersion ~= minimumVersion then
 | |
| 		local cv = { string.strsplit('.', currentVersion) }
 | |
| 		local mv = { string.strsplit('.', minimumVersion) }
 | |
| 		local msg = ("^1%s requires version '%s' of '%s' (current version: %s)^0"):format(GetInvokingResource() or GetCurrentResourceName(), minimumVersion, resource, currentVersion)
 | |
| 
 | |
| 		for i = 1, #cv do
 | |
|             local current, minimum = tonumber(cv[i]), tonumber(mv[i])
 | |
| 
 | |
|             if current ~= minimum then
 | |
|                 if not current or current < minimum then
 | |
|                     if printMessage then
 | |
|                         return print(msg)
 | |
|                     end
 | |
| 
 | |
|                     return false, msg
 | |
|                 else break end
 | |
|             end
 | |
| 		end
 | |
| 	end
 | |
| 
 | |
| 	return true
 | |
| end
 | 
