def downloadSave(): #TODO: test this MenuItems.shiftingGradient((0, 0, 'x')).draw() MenuItems.textLabel("Downloading Save", (1280 * 0.5, 720 * 0.5), (255, 255, 255), "Resources/Fonts/RPGSystem.ttf", int(30/640 * 1280), variable=False, centred=True).update() MenuItems.screenFlip() page = urllib.request.urlopen(v.url + "accounts/") accounts = page.read() accounts = pickle.loads(accounts) for un, vals in accounts.items(): if un == v.username: if v.password == vals["password"]: print(vals.keys()) print(vals["xp"]) if 'save' in vals.keys(): save = vals['save'] with open("Saves/Entities.save", "wb") as s: #pickle.dump(save["Entities"], s) s.write(save["Entities"]) with open("Saves/Inventory.save", "wb") as s: #pickle.dump(save["Inventory"], s) s.write(save["Inventory"]) with open("Saves/Variables.save", "wb") as s: #pickle.dump(save["Variables"], s) s.write(save["Variables"]) else: return "PASSWORD" return "USERNAME"
def update(self, stage=1): if stage == 0: for i in range(7, 14, 2): self.image = self.wizSheet.images[i] self.image = py.transform.scale(self.image, (self.image.get_rect().width * 2, self.image.get_rect().height * 2)) self.rect = (0, 0, 1280, 720) py.draw.rect(v.screen, (0, 0, 0), self.rect) v.screen.blit(self.image, (640 - self.image.get_rect().width / 2, 360 - self.image.get_rect().height / 2)) v.screen.blit(self.label, (640 - self.mod[0], 360 - self.mod[1] + 100)) self.fade.draw() self.fade.opacity -= 40 MenuItems.screenFlip() py.time.delay(100) self.time = clock() if stage == 1: self.image = self.wizSheet.images[14] self.image = py.transform.scale(self.image, (self.image.get_rect().width * 2, self.image.get_rect().height * 2)) self.rect = (0, 0, 1280, 720) py.draw.rect(v.screen, (0, 0, 0), self.rect) v.screen.blit(self.image, ((1280 / 2) - self.image.get_rect().width / 2, (720 / 2) - self.image.get_rect().height / 2)) v.screen.blit(self.label, ((1280 / 2) - self.mod[0], (720 / 2) - self.mod[1] + 50/640 * 1280)) if stage == 2: t = self.font.render("Load Time: " + str(clock() - self.time), 1, (255, 255, 255)) for i in range(28, 38, 2): py.time.delay(100) self.image = self.wizSheet.images[i] self.image = py.transform.scale(self.image, (self.image.get_rect().width * 2, self.image.get_rect().height * 2)) self.rect = (0, 0, 1280, 720) py.draw.rect(v.screen, (0, 0, 0), self.rect) v.screen.blit(self.image, ((1280 / 2) - self.image.get_rect().width / 2, (720 / 2) - self.image.get_rect().height / 2)) v.screen.blit(self.label, ((1280 / 2) - self.mod[0], (720 / 2) - self.mod[1] + 50/640 * 1280)) v.screen.blit(t, (200/640 * 1280, 300/640 * 1280)) self.fade.draw() self.fade.opacity += 40 MenuItems.screenFlip()
def uploadSave(): MenuItems.shiftingGradient((0, 0, 'x')).draw() MenuItems.textLabel("Uploading Save", (1280 * 0.5, 720 * 0.5), (255, 255, 255), "Resources/Fonts/RPGSystem.ttf", int(30/640 * 1280), variable=False, centred=True).update() MenuItems.screenFlip() url = v.url + "senddata/" save = {} with open("Saves/Entities.save", "rb") as s: d = s.read() save["Entities"] = d with open("Saves/Inventory.save", "rb") as s: d = s.read() save["Inventory"] = d with open("Saves/Variables.save", "rb") as s: d = s.read() save["Variables"] = d xp = pickle.loads(d)["experience"]["Total"] payload = {'username': v.username, 'password': v.password, 'save': save, 'xp': xp} jpayload = json.dumps(str(payload)) # GET #r = requests.get(url) # GET with params in URL #r = requests.get(url, params=payload) # POST with form-encoded data #r = requests.post(url, data=payload) # POST with JSON r = requests.post(url, data=jpayload) # Response, status etc #print(r.text) print(r.status_code)