Ir para conteúdo

Featured Replies

Postado
  • Solução
Spoiler

local config = {
    minlevel = 30000, --- level inical para resetar
    price = 100000, --- preço inicial para resetar
    newlevel = 20, --- level apos reset
    priceByReset = 90000, --- preço acrescentado por reset
    percent = 80, ---- porcentagem da vida/mana que você terá ao resetar (em relação à  sua antiga vida total)
    maxresets = 25,
        look = true,
    levelbyreset = 10000 --- quanto de level vai precisar a mais no próximo reset
}

local function getResets(cid)
    local query = db.getResult("SELECT `resets` FROM `players` WHERE `id`= "..getPlayerGUID(cid))
    return query:getDataInt("resets") <= 0 and 0 or query:getDataInt("resets")
end
local function addReset(cid)
    local resets = getResets(cid)
    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
    local hp = getCreatureMaxHealth(cid)
    local resethp = hp*(config.percent/100)
    setCreatureMaxHealth(cid, resethp)
    local differencehp = (hp - resethp)
    doCreatureAddHealth(cid, -differencehp)
    local mana = getCreatureMaxMana(cid)
    local resetmana = mana*(config.percent/100)
    setCreatureMaxMana(cid, resetmana)
    local differencemana = (mana - resetmana)
    doCreatureAddMana(cid, -differencemana)
    local guid = getPlayerGUID(cid)
    doRemoveCreature(cid) 
    local description = resets+1
    db.query("UPDATE `players` SET `level` = "..config.newlevel..", `experience`= 0, `resets`= "..description.." WHERE `players`.`id`= ".. guid)
    return true
end

function onSay(cid, words, param, channel)

 if not isInArea(getThingPos(cid),{x = 294, y = 33, z = 7},{x = 314, y = 50, z = 7}) then
         doPlayerSendCancel(cid, "Nao pode resetar aqui!")
             return true
             end
             
    local var = getResets(cid)
    local newPrice = config.price + (var * config.priceByReset)
    local newminlevel = config.minlevel + (var * config.levelbyreset)
    if param == "quantity" then
        return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'You have a total of '..var..' reset(s).')
    end
    if var >= config.maxresets then
        return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,'You already have reached the maximum of '.. config.maxresets.. ' resets!')
    elseif getPlayerMoney(cid) < newPrice then
        return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,'Its necessary to have at least '..newPrice..' gp\'s for reseting!')
    elseif getPlayerLevel(cid) < newminlevel then
        return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,'The minimum level for reseting is '..newminlevel..'!')

    end
    doPlayerRemoveMoney(cid,newPrice)
    addEvent(function()
        if isPlayer(cid) then
            addReset(cid)
        end
    end, 3000)
    local number = var+1
    local msg ="---[Reset: "..number.."]-- You have reseted! You'll be disconnected in 3 seconds."
    doPlayerPopupFYI(cid, msg)
    return true
end

@mullino

  • Respostas 8
  • Visualizações 1.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Postado
  • Autor
Agora, .Smile disse:

SakopPkosaok sempre erro na hora de mexer com variáveis fico feliz que já tenham te ajudado, corrigi o  código lá de qualquer forma.

 

@.Smile Obrigado mano vc é 10 TBM...

da uma forcinha la no outro fazendo favor tem como?

 

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo