darhal Posted August 7, 2015 Share Posted August 7, 2015 Introduction : Hello All today I will represent a usefull script that update all you resources to a version in condition that you forget to upgrade all your server scripts to 1.5 or 1.4 or whatever and giving in console use /upgradeall to upgrade to 1.x on each server restart and bla bla so this resource will add this line or update it client="1.x" server="1.x"> it to all meta file in your server : How to use ? : Copy the code below and paste it in a resource ... AFTER ADDING TO META AND THOSE STUFF: You can choose the version to upgrade to by changing this first line in the code versionToUpdate = "1.x" -- THE VERSION THAT WE WILL UPDATE TO EG: 1.4 Go in-game and add admin rights to the resource (FOR LOADING ALL META FILES) after just do /updateall (INGAME OR VIA SERVER CONSOLE) wait some time to update all .. after updating all running resources will be restarted and well done . Source Code : versionToUpdate = "1.5.0" -- THE VERSION THAT WE WILL UPDATE TO -- Server side Resources = {} outputDebugString("LOADING resources:...", 0,55,167,220) local resourceTable = getResources() -- get a table of resources for resourceKey, resourceValue in ipairs(resourceTable) do -- iterate through the table and output each resource's name local name = getResourceName(resourceValue) table.insert(Resources, name) outputDebugString("Resource :"..name.." has been loaded successfully ...", 0,55,167,220) end outputDebugString(""..#resourceTable.." resources has been loaded successfully ...", 0,55,167,220) Working = false Current = 1 loading = false function forceLoad() if Resources[Current] then outputDebugString("[uPDATER] "..Resources[Current], 0,55,167,220) local xmlPatch = ":"..Resources[Current].."/meta.xml" local xmlFile = xmlLoadFile(xmlPatch) if xmlFile then --Map Scripts local index = 0 local scriptNode = xmlFindChild(xmlFile,'min_mta_version',index) if scriptNode then repeat local sver = xmlNodeGetAttribute(scriptNode,'client') or false local cver = xmlNodeGetAttribute(scriptNode,'client') or false if cver and tostring(cver) and tostring(cver) ~= versionToUpdate then xmlNodeSetAttribute(scriptNode,'client',versionToUpdate) outputDebugString("UPDATE SYSTEM: ".. Resources[Current].." UPDATED CLIENT SIDE TO 1.5.0 and Saved successfully",3,0,255,0) end if sver and tostring(sver) and tostring(sver) ~= versionToUpdate then xmlNodeSetAttribute(scriptNode,'server',versionToUpdate) outputDebugString("UPDATE SYSTEM: ".. Resources[Current].." UPDATED SERVER SIDE TO 1.5.0 and Saved successfully",3,0,255,0) end index = index + 1 scriptNode = xmlFindChild(xmlFile,'min_mta_version',index) until not scriptNode else scriptNode = xmlCreateChild ( xmlFile, "min_mta_version") xmlNodeSetAttribute(scriptNode, "client", versionToUpdate) xmlNodeSetAttribute(scriptNode, "server", versionToUpdate) outputDebugString("UPDATE SYSTEM: ".. Resources[Current].." UPDATED CLIENT & SERVER SIDE TO 1.5.0 and Saved successfully",3,0,255,0) end xmlSaveFile(xmlFile) xmlUnloadFile(xmlFile) else outputDebugString("UPDATE SYSTEM: Cant read xmlFile: meta.xml",3,220,20,20) return false end end Current = Current + 1 setTimer(forceLoad, 1000,1) if Current == #Resources then outputDebugString("UPDATE SYSTEM: ALL RESOURCES HAS BEEN UPDATED RESTARTING ALL. THIS ACTION MAY TAKE SERVAL MINUTES..") restartAllResources() end end addCommandHandler ( "updateall", forceLoad ) function restartAllResources() -- we store a table of resources local allResources = getResources() -- for each one of them, for index, res in ipairs(allResources) do -- if it's running, if getResourceState(res) == "running" then -- then restart it restartResource(res) end end end function fileLoad(path) local File = fileOpen(path, true) if File then local data = fileRead(File, 500000000) fileClose(File) return data end end function fileSave(path, data) local File = fileCreate(path) if File then fileWrite(File, data) fileClose(File) end end Credits : Credits go to : - King12 (https://forum.multitheftauto.com/viewtopic.php?f ... 361#p79361) For making the code - Darhal For editing it to be updater not compiler and some other stuff Enjoy ! Link to comment
nasserdfdd Posted August 7, 2015 Share Posted August 7, 2015 sorry to be rude but the we can uppdate all resource with any prob by typing upgrade all Link to comment
GTX Posted August 7, 2015 Share Posted August 7, 2015 sorry to be rude but the we can uppdate all resource with any prob by typing upgrade all Upgrade all command just upgrades deprecated functions. It is totally different. Link to comment
DeVo Posted August 9, 2015 Share Posted August 9, 2015 sorry to be rude but the we can uppdate all resource with any prob by typing upgrade all Upgrade all command just upgrades deprecated functions. It is totally different. +1 This resource is helpful these days, MTA "hacked" versions are spreading over the internet .. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now