Ir para conteúdo

[AJUDA] Urgente, sistema de reset dando reset a mais pros players!

Featured Replies

Postado

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(cidsec)
        if not sec then
            return getPlayerStorageValue(cid, 421221) - os.time()
        end
        setPlayerStorageValue(cid, 421221os.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(cidthingpositionlookDistance)
    if isPlayer(thing.uidthen
        resets = getPlayerStorageValue(thing.uid421221)+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.stagesdo
            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

                                                  Halloween Horror Nights 27 General Discussion | Inside Universal ...

Postado
  • 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

                                                  Halloween Horror Nights 27 General Discussion | Inside Universal ...

Postado
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)

image.png.8e41ede3205966ebcc12c1ef41aa0976.png

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 520k

Informação Importante

Confirmação de Termo