Ir para conteúdo

Featured Replies

Postado

Boa noite galera do TK, bem no meu OT tem sistema de resets e to tendo um problema em relação isso, alguns players bugam o reset, por exemplo eles "resetam" no !myinfo que seria o comando pra ver as informações dele mesmo fala que tem 19 RR mas quando da look nele ele  tem apenas 16, os outros 3 bugaram e não contaram como reset.


Queria saber se  alguem pode me ajudar a colocar um delay nesse sistema de reset. tipo o player fala !reset e em 5 segundos ele desloga e quando logar volta ao level que está no script, um player também havia me falado que pode ser por conta do battle também. Aguem pode ajudar.

reset.lua

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 = 10000}},
            {need = {resets = 03, level = 10000}},
            {need = {resets = 04, level = 10000}},
            {need = {resets = 05, level = 10000}},
            {need = {resets = 06, level = 20000}},
            {need = {resets = 07, level = 20000}},
            {need = {resets = 08, level = 20000}},
            {need = {resets = 09, level = 20000}},
            {need = {resets = 10, level = 20000}},
            {need = {resets = 11, level = 30000}},
            {need = {resets = 12, level = 30000}},
            {need = {resets = 13, level = 30000}},
            {need = {resets = 14, level = 30000}},
            {need = {resets = 15, level = 30000}},
            {need = {resets = 16, level = 40000}},
            {need = {resets = 17, level = 40000}},
            {need = {resets = 18, level = 40000}},
            {need = {resets = 19, level = 40000}},
            {need = {resets = 20, level = 40000}},
            {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 = 260000}},
            {need = {resets = 27, level = 270000}},
            {need = {resets = 28, level = 280000}},
            {need = {resets = 29, level = 290000}},
            {need = {resets = 30, level = 300000}},
            {need = {resets = 31, level = 310000}},
            {need = {resets = 32, level = 320000}},
            {need = {resets = 33, level = 330000}},
            {need = {resets = 34, level = 340000}},
            {need = {resets = 35, level = 350000}},
            {need = {resets = 36, level = 360000}},
            {need = {resets = 37, level = 370000}},
            {need = {resets = 38, level = 380000}},
            {need = {resets = 39, level = 390000}},
            {need = {resets = 40, level = 400000}},
            {need = {resets = 41, level = 4100000}},
            {need = {resets = 42, level = 4200000}},
            {need = {resets = 43, level = 4300000}},
            {need = {resets = 44, level = 4400000}},
            {need = {resets = 45, level = 4500000}},
            {need = {resets = 46, level = 4600000}},
            {need = {resets = 47, level = 4700000}},
            {need = {resets = 48, level = 4800000}},
            {need = {resets = 49, level = 490000}},
            {need = {resets = 50, level = 5000000}},
			{need = {resets = 51, level = 5100000}},
			{need = {resets = 52, level = 5200000}},
			{need = {resets = 53, level = 5300000}},
			{need = {resets = 54, level = 5400000}},
			{need = {resets = 55, level = 5500000}},
			{need = {resets = 56, level = 5600000}},
			{need = {resets = 57, level = 5700000}},
			{need = {resets = 58, level = 5800000}},
			{need = {resets = 59, level = 5900000}},
			{need = {resets = 60, level = 6000000}},
			{need = {resets = 61, level = 6100000}},
			{need = {resets = 62, level = 6200000}},
			{need = {resets = 63, level = 6300000}},
			{need = {resets = 64, level = 6400000}},
			{need = {resets = 65, level = 6500000}},
			{need = {resets = 66, level = 6600000}},
			{need = {resets = 67, level = 6700000}},
			{need = {resets = 68, level = 6800000}},
			{need = {resets = 69, level = 6900000}},
			{need = {resets = 70, level = 7000000}},

        }
    }
    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
        doRemoveCreature(cid)
        db.query(('UPDATE players SET level = %d, experience = 0, description = " [Resets: %d]", reset = %d WHERE id = %d'):format(self.btlevel, inc, inc, id))
        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

 

 

Postado

Recomendo tirar essa query SQL e adicionar a função de remover experiência (assim tu voltas o player pro level escolhido sem precisar removê-lo).

Tens conhecimentos básico de C++? No arquivo player.cpp tu podes editar a função getDescription e colocar essa quantidade de reset no look.

Editado por Rutserzim (veja o histórico de edições)

Postado
  • Autor
4 horas atrás, Rutserzim disse:

Recomendo tirar essa query SQL e adicionar a função de remover experiência (assim tu voltas o player pro level escolhido sem precisar removê-lo).

Tens conhecimentos básico de C++? No arquivo player.cpp tu podes editar a função getDescription e colocar essa quantidade de reset no look.

@Rutserzim Não nunca mexi em C++, como poderia fazer essa alteração?

  • 3 weeks later...
Postado

tbm estou com esse problema e nao consigo fixar :/

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 519.6k

Informação Importante

Confirmação de Termo