Postado Outubro 11, 2021 3 anos Bem, recebi report de jogadores que o sistema de reset está bugando em apenas voc de RP, exemplo a pessoa tá com 18 resets e vai resetar, o reset alem de ir para 19 pula pra 22 e assim por diante, e isso tá se tornando um problema enorme, já mexi no script mas nenhum resultado... alguém poderia ajudar com isso reset.lua / lib Spoiler if not resys then resys = { ['boolean'] = {pz = true, teleport = true}, btlevel = 250, exhaust = 0, stages = { {need = {resets = 01, level = 10000}}, {need = {resets = 02, level = 15000}}, {need = {resets = 03, level = 15000}}, {need = {resets = 04, level = 15000}}, {need = {resets = 05, level = 15000}}, {need = {resets = 06, level = 50000}}, {need = {resets = 07, level = 50000}}, {need = {resets = 08, level = 50000}}, {need = {resets = 09, level = 50000}}, {need = {resets = 10, level = 50000}}, {need = {resets = 11, level = 50000}}, {need = {resets = 12, level = 50000}}, {need = {resets = 13, level = 50000}}, {need = {resets = 14, level = 50000}}, {need = {resets = 15, level = 50000}}, {need = {resets = 16, level = 50000}}, {need = {resets = 17, level = 50000}}, {need = {resets = 18, level = 50000}}, {need = {resets = 19, level = 50000}}, {need = {resets = 20, level = 50000}}, {need = {resets = 21, level = 50000}}, {need = {resets = 22, level = 50000}}, {need = {resets = 23, level = 50000}}, {need = {resets = 24, level = 50000}}, {need = {resets = 25, level = 50000}}, {need = {resets = 26, level = 60000}}, {need = {resets = 27, level = 60000}}, {need = {resets = 28, level = 60000}}, {need = {resets = 29, level = 60000}}, {need = {resets = 30, level = 60000}}, {need = {resets = 31, level = 60000}}, {need = {resets = 32, level = 60000}}, {need = {resets = 33, level = 60000}}, {need = {resets = 34, level = 60000}}, {need = {resets = 35, level = 60000}}, {need = {resets = 36, level = 60000}}, {need = {resets = 37, level = 60000}}, {need = {resets = 38, level = 60000}}, {need = {resets = 39, level = 60000}}, {need = {resets = 40, level = 60000}}, {need = {resets = 41, level = 70000}}, {need = {resets = 42, level = 70000}}, {need = {resets = 43, level = 70000}}, {need = {resets = 44, level = 70000}}, {need = {resets = 45, level = 70000}}, {need = {resets = 46, level = 70000}}, {need = {resets = 47, level = 70000}}, {need = {resets = 48, level = 70000}}, {need = {resets = 49, level = 70000}}, {need = {resets = 50, level = 70000}}, {need = {resets = 51, level = 70000}}, {need = {resets = 52, level = 70000}}, {need = {resets = 53, level = 70000}}, {need = {resets = 54, level = 70000}}, {need = {resets = 55, level = 70000}}, {need = {resets = 56, level = 70000}}, {need = {resets = 57, level = 70000}}, {need = {resets = 58, level = 70000}}, {need = {resets = 59, level = 70000}}, {need = {resets = 60, level = 70000}}, {need = {resets = 61, level = 70000}}, {need = {resets = 62, level = 70000}}, {need = {resets = 63, level = 70000}}, {need = {resets = 64, level = 70000}}, {need = {resets = 65, level = 70000}}, {need = {resets = 66, level = 70000}}, {need = {resets = 67, level = 70000}}, {need = {resets = 68, level = 70000}}, {need = {resets = 69, level = 70000}}, {need = {resets = 70, level = 70000}}, {need = {resets = 71, level = 70000}}, {need = {resets = 72, level = 70000}}, {need = {resets = 73, level = 70000}}, {need = {resets = 74, level = 70000}}, {need = {resets = 75, level = 70000}}, {need = {resets = 76, level = 70000}}, {need = {resets = 77, level = 70000}}, {need = {resets = 78, level = 70000}}, {need = {resets = 79, level = 70000}}, {need = {resets = 80, level = 70000}}, {need = {resets = 81, level = 70000}}, {need = {resets = 82, level = 70000}}, {need = {resets = 83, level = 70000}}, {need = {resets = 84, level = 70000}}, {need = {resets = 85, level = 70000}}, {need = {resets = 86, level = 70000}}, {need = {resets = 87, level = 70000}}, {need = {resets = 88, level = 70000}}, {need = {resets = 88, level = 70000}}, {need = {resets = 89, level = 70000}}, {need = {resets = 90, level = 70000}}, {need = {resets = 91, level = 70000}}, {need = {resets = 92, level = 70000}}, {need = {resets = 93, level = 70000}}, {need = {resets = 94, level = 70000}}, {need = {resets = 95, level = 70000}}, {need = {resets = 96, level = 70000}}, {need = {resets = 97, level = 70000}}, {need = {resets = 98, level = 70000}}, {need = {resets = 99, level = 70000}}, {need = {resets = 100, level = 70000}}, } } function resys:exhaustion(cid, sec) if not sec then return getPlayerStorageValue(cid, 421221) - os.time() end setPlayerStorageValue(cid, 421221, os.time() + sec) end function resys:getReset(name) local result = db.getResult(('SELECT reset FROM players WHERE id = %d'?format(getPlayerGUIDByName(name))) local reset = 0 if result:getID() ~= -1 then reset = result:getDataInt('reset') result:free() end return reset end function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) then resets = getPlayerStorageValue(thing.uid, 421221)+1 doPlayerSetSpecialDescription(thing.uid, "\nResets: [" .. resets .."]") end return true end function resys:doReset(cid) if getPlayerLevel(cid) < self:need(cid).level then return doPlayerSendCancel(cid, ('Faltam %d niveis para voce resetar.'?format(self:need(cid).level - getPlayerLevel(cid))) end if self['boolean'].pz and not getTilePzInfo(getCreaturePosition(cid)) then return doPlayerSendCancel(cid, 'Voce precisa estar em protection zone para resetar.') end local name = getCreatureName(cid) local id = getPlayerGUIDByName(name) self:exhaustion(cid, self.exhaust) if self['boolean'].teleport then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end local inc = self:getReset(name) + 1 if doRemoveCreature(cid) then db.query(('UPDATE players SET level = %d, experience = 0, description = " [Resets: %d]", reset = %d WHERE id = %d'?format(self.btlevel, inc, inc, id)) end return true end function resys:need(cid) local index = {} for _, v in ipairs(self.stages) do if self:getReset(getPlayerName(cid)) >= v.need.resets then table.insert(index, v.need) end end return #index > 0 and index[#index] or self.stages[1].need end function getPlayerResets(cid) return resys:getReset(getPlayerName(cid)) end end reset.lua / talkaction function onSay(cid) if resys:exhaustion(cid) > 0 then return doPlayerSendCancel(cid, ('Aguarde %s para utilizar o comando novamente.'?format(table.concat(string.diff(resys:exhaustion(cid), true)))) end return resys:doReset(cid) end
Postado Outubro 12, 2021 3 anos creio que apenas com essas informações vai ser um baita de um quebra-cabeça encontrar uma solução, tenta verificar se nenhum outro aspecto influencia nesse probleminha ai, principalmente algo relacionado a db (sample do rp, por exemplo)
Postado Outubro 12, 2021 3 anos Autor Parece que conseguimos resolver esse problema, o único que aparenta agora eh que esse bug predomina, porém só visualmente agora, o player de 24 resets pulou pra 42, mas permaneceu a mana igual de outro player 24 resets, agora parece que só ficou visualmente
Postado Outubro 12, 2021 3 anos 9 horas atrás, Drakksz disse: Parece que conseguimos resolver esse problema, o único que aparenta agora eh que esse bug predomina, porém só visualmente agora, o player de 24 resets pulou pra 42, mas permaneceu a mana igual de outro player 24 resets, agora parece que só ficou visualmente creio eu que alterando esta parte do código pode se obter um resultado interessante (caso seja só um problema visual na descrição do player)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.