Ir para conteúdo

Rates por resets


HatakeeKakashi

Posts Recomendados

meu pedido é um seguinte , no meu serv é usado um sistema de resets porem eu queria que a cada reset adquirido exemplo a cada 100 resets a exp abaixa-se igual rate por lvl mesmo.

 

Já vou postar o script de resets :

-- CONFIGS --
prem = false -- Premium Account necessária para resetar? (true / false)
pz = true -- É preciso estar em Protection Zone para resetar? (true / false)
white = false -- Players com White Skull podem resetar? (true / false)
red = false -- Players com Red Skull podem resetar? (true / false)
black = false  -- Players com Black Skull podem resetar? (true / false)
battle = true -- Players com battle podem resetar? (true / false)
teleport = false -- Teleportar o player para o templo após o reset? (true / false)
look = true -- Aparecer resets no look? (true / false)
 
level = 350 -- Level necessário para resetar
nlevel = 100 -- Level que o player ficará após o reset
time = 1 -- Tempo para o player deslogar ao resetar (segundos)
limite = 3500 -- Limite de resets (Caso não queira limite, coloque false)
 
system = "storage" -- Modo do sistema (database / storage)
storage = 39650 -- Storage dos resets
group = 5 -- ID do Group que tem permissão para adicionar resets (6 = god, 5 = cm, 4 = gm, 3 = senior tutor, 2 = tutor)
exhastor = 17138
-- CONFIGS --
------------------------------------------------------------------------------------------------------------------------------------
function getPlayerResets(tid)
        if system == "database" then
                local a = db.getResult("SELECT `resets` FROM `players` WHERE `id`= "..pid..";")
                b = a:getDataInt("resets", pid)
                return b
        elseif system == "storage" then
                return getPlayerStorageValue(tid, storage) < 0 and 0 or getPlayerStorageValue(tid, storage)
        else
                return print("Erro: Configuração da variável 'system' no sistema de resets incorreta.")
        end
end
 
function doPlayerAddResets(tid, count)
        if system == "database" then
                return db.executeQuery("UPDATE `players` SET `resets` = '"..(getPlayerResets(tid)+(count == nil and 1 or count)).."' WHERE `id` = '"..pid.."';")
        elseif system == "storage" then
                return setPlayerStorageValue(tid, storage, getPlayerResets(tid)+(count == nil and 1 or count))
        else
                return print("Erro: Configuração da variável 'system' no sistema de resets incorreta.")
        end
end
 
function doPlayerReset(tid, count, mid)
        if teleport then
                doTeleportThing(tid, getTownTemplePosition(getPlayerTown(tid)))
        end
        local resets = getPlayerResets(tid)
        function setResetsInLook(tid)
                return db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..(resets+(count == nil and 1 or count)).."]' WHERE `id` = '"..(mid == nil and pid or mid).."';")
        end
        if system == "database" then
                doRemoveCreature(tid)
                doPlayerAddResets(tid, count == nil and 1 or count)
        elseif system == "storage" then
                doPlayerAddResets(tid, count == nil and 1 or count)
                doRemoveCreature(tid)
        else
                return print("Erro: Configuração da variável 'system' no sistema de resets incorreta.")
        end
                db.executeQuery("UPDATE `players` SET `level` = '"..nlevel.."' WHERE `id` = '"..(mid == nil and pid or mid).."';")
        if look then
                setResetsInLook(tid)
        end
end
------------------------------------------------------------------------------------------------------------------------------------
function onSay(cid, words, param)
        pid = getPlayerGUID(cid)
 
        if words == "!reset" or words == "!resetar" then
                if prem and not isPremium(cid) then
                        doPlayerSendCancel(cid, "Você precisa ser Premium Account para resetar.") return true
                elseif pz and not getTilePzInfo(getCreaturePosition(cid)) then
                        doPlayerSendCancel(cid, "Você precisa estar em Protection Zone para resetar.") return true
                elseif white and getCreatureSkullType(cid) == SKULL_WHITE then
                        doPlayerSendCancel(cid, "Você precisa estar sem White Skull para resetar.") return true
                elseif red and getCreatureSkullType(cid) == SKULL_RED then
                        doPlayerSendCancel(cid, "Você precisa estar sem Red Skull para resetar.") return true
                elseif black and getCreatureSkullType(cid) == SKULL_BLACK then
                        doPlayerSendCancel(cid, "Você precisa estar sem Black Skull para resetar.") return true
                elseif battle and hasCondition(cid, CONDITION_INFIGHT) then
                        doPlayerSendCancel(cid, "Você precisa estar sem battle para resetar.") return true
                elseif getPlayerLevel(cid) < level then
                        doPlayerSendCancel(cid, "Você precisa ter level "..level.." para resetar.") return true
                elseif limite and getPlayerResets(cid) == limite then
                        doPlayerSendCancel(cid, "Você já está no limite de resets ("..limite..").") return true
                elseif exhaustion.check(cid, exhastor) then
                        doPlayerSendCancel(cid, "Espere "..exhaustion.get(cid, exhastor).." segundos para usar o comando novamente.") return true
                end
               
                        addEvent(doPlayerReset, time*1000, cid)
                        doPlayerPopupFYI(cid, "Você resetou com sucesso. Você agora tem "..(getPlayerResets(cid)+1).." resets. Você será deslogad"..(getPlayerSex(cid) >= 1 and "o" or "a").." em "..time.." segundos.")
                        exhaustion.set(cid, exhastor, time)
        elseif words == "/addresets" then
                local t = string.explode(param, ",")
                if getPlayerGroupId(cid) < group then return false
                elseif not t then
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Parâmetros incorretos. Especifique o nome do player e opcionalmente a quantidade de resets.") return true
                elseif not getPlayerByName(t[1]) then
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Player "..t[1].." não encontrado.") return true
                elseif t[3] then
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Parâmetros incorretos. Especifique apenas o nome do player e opcionalmente a quantidade de resets.") return true
                end
               
                        addEvent(doPlayerReset, time*1000, getPlayerByName(t[1]), t[2] == nil and "1" or t[2], getPlayerGUIDByName(t[1]))
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..(t[2] == nil and "1" or t[2]).." resets no player "..getCreatureName(getPlayerByName(t[1]))..". Agora el"..(getPlayerSex(getPlayerByName(t[1])) >= 1 and "e" or "a").." possui "..(getPlayerResets(getPlayerByName(t[1]))+(t[2] == nil and "1" or t[2])).." resets.")
                        doPlayerPopupFYI(getPlayerByName(t[1]), ""..getCreatureName(cid).." adicionou "..(t[2] == nil and "1" or t[2]).." resets em seu character. Você agora tem "..(getPlayerResets(getPlayerByName(t[1]))+(t[2] == nil and "1" or t[2])).." resets. Você será deslogad"..(getPlayerSex(getPlayerByName(t[1])) >= 1 and "o" or "a").." em "..time.." segundos.")
        end
return true
end

Desculpa só sei posta em forma de código

 

Até mais , abraços espero que me ajudem ! + REP

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...