diff --git a/README.md b/README.md index 0c35617..d62a7b3 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,17 @@ The idea of this resource is to create a set of reusable functions for importing Everyone is free to utilise either the library or code from it so long as [the license is respected and adhered to](https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)). - [x] Server Callbacks -- [ ] Table utilities +- [x] Table utilities - [x] OxMySQL library -- [ ] Native wrappers (animations, spawning, etc.) +- [ ] Native wrappers (animations, spawning, onesync, etc.) - [ ] Iterators -- todo: think of more stuff +- [ ] Exports (for non-runtime critical functions) + +##### To do +- Think of more features +- Improvements to import function? +- Improve table utilities (matches doesn't work properly for hash tables) +- Transfer non-essential code from ox inventory ### How to utilise ServerCallbacks diff --git a/fxmanifest.lua b/fxmanifest.lua index 088a3dd..8e194a1 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -21,9 +21,9 @@ lua54 'yes' game 'gta5' --[[ Resource Information ]]-- -name 'lua library' +name 'pe-lualib' author 'Linden' -version '1.0.0' +version '1.0.1' repository 'https://github.com/project-error/pe-lualib' description 'A library of shared functions to utilise in other resources.' @@ -36,4 +36,8 @@ files { 'init.lua', 'imports/**/client.lua', 'imports/**/shared.lua', +} + +server_scripts { + 'version.lua' } \ No newline at end of file diff --git a/version.lua b/version.lua new file mode 100644 index 0000000..03af0b0 --- /dev/null +++ b/version.lua @@ -0,0 +1,28 @@ +CreateThread(function() + Wait(1000) + local resource = GetCurrentResourceName() + local url = GetResourceMetadata(resource, 'repository', 0) + local version = GetResourceMetadata(resource, 'version', 0) + + PerformHttpRequest(('%s/master/fxmanifest.lua'):format(url:gsub('github.com', 'raw.githubusercontent.com')), function(error, response) + if error ~= 200 then + local latest = response:match('%d%.%d+%.%d+') + print(version, latest) + if version == latest then + local curMajor, curMinor = string.strsplit('.', version) + local newMajor, newMinor = string.strsplit('.', response:match('%d%.%d+%.%d+')) + local link = ('%s/archive/refs/tags/%s.zip'):format(url, latest, latest) + + if tonumber(curMajor) < tonumber(newMajor) then + latest = 'A major update' + elseif tonumber(curMinor) < tonumber(newMinor) then + latest = 'An update' + else + latest = 'A patch' + end + + print(('^3%s is available for oxmysql - please download the latest release (current version: %s)\n ^3- %s^0'):format(latest, version, link)) + end + end + end, 'GET') +end) \ No newline at end of file