Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --XT downloader/updater code
- --Should be placed before programs that use XT
- repeat
- cprint=print;
- cprintErr=printError;
- --cprint=function()end --Uncomment these if you'd like the updater
- --cprintErr=function()end --to not print log messages (unrecommended)
- local dontUpdate=false; --Set this to true if you only want the downloader to download, not update or check for updates
- local ver;
- if xt then
- if type(xt.version)=="number" then
- if dontUpdate then
- cprint("Set to not-update mode, using offline XT version");
- cprintErr("Beware of errors");
- break;
- end
- ver=xt.version;
- end
- elseif fs.exists("xt") then
- local handle=fs.open("xt","r");
- ver=tonumber(handle.readLine():sub(7,9));
- handle.close();
- if ver==nil then
- cprint("A non-XtraTurtles file has been found on \"xt\".");
- cprint("Overwrite it? (\"yes\"/\"no\")");
- local res=read();
- if res~="yes" then
- print("Ok.");
- error();
- end
- else
- if dontUpdate then
- cprint("Set to not-update mode, using downloaded XT version");
- cprintErr("Beware of errors");
- end
- end
- end
- if not dontUpdate then
- cprint("Checking for XT updates...");
- local response=http.get("http://pastebin.com/raw.php?i=L5jF84nW");
- if response then
- local newVer=tonumber(response.readLine());
- if newVer==nil then
- response.close();
- cprint("Corrupted online version.");
- if ver==nil then
- error();
- else
- cprint("But there is an offline version, going on anyways");
- cprintErr("Beware of errors");
- end
- else
- if type(ver)=="number" then
- if ver>=newVer then
- cprint("XT up-to-date");
- break;
- end
- end
- local xtresp=http.get("http://pastebin.com/raw.php?i="..response.readLine());
- response.close();
- if xtresp then
- local handle=fs.open("xt","w");
- handle.write(xtresp.readAll());
- handle.close();
- xtresp.close();
- if ver then
- cprint("XT "..newVer.." downloaded. Previous was "..ver);
- else
- cprint("XT "..newVer.." downloaded. Previous didnt have a version number/didnt exist");
- end
- else
- cprint("Error downloading new version, but going on anyways.");
- cprintErr("Beware of errors");
- end
- end
- else
- if type(ver)=="number" then
- cprint("XT found, cant check for updates, but going on anyways.");
- cprintErr("Beware of errors");
- else
- cprint("XT not found and cant download it");
- error();
- end
- end
- end
- until true
- if not xt then
- os.loadAPI("xt");
- end
- --End of XT updater/downloader
Add Comment
Please, Sign In to add comment