Ir para conteúdo

Featured Replies

Postado

erro meu:

local config = {
    backToLevel = 8,
    exp = 4200,
    redskull = false,
    battle = true,
    pz = false,
    stages = {
        {resets = 4, level = 350, vip = 330},
        {resets = 9, level = 355, vip = 335},
        {resets = 14, level = 360, vip = 340},
        {resets = 19, level = 365, vip = 345},
        {resets = 24, level = 380, vip = 350},
        {resets = 29, level = 390, vip = 355},
        {resets = 34, level = 410, vip = 360},
        {resets = 39, level = 430, vip = 365},
        {resets = 44, level = 450, vip = 370}
    }
}

function onSay(cid, words, param)
    local function getResets(cid)
        local resets = getPlayerStorageValue(cid, 1020)
        return resets < 0 and 0 or resets
    end
    
    local function setResets(cid, count)
        setPlayerStorageValue(cid, getPlayerStorageValue(cid, 1020) + count)
    end
    
    if config.redskull and getCreatureSkullType(cid) == 4 then
        return doPlayerSendCancel(cid, "Voce precisa estar sem red skull para resetar.")
    elseif config.pz and not getTilePzInfo(getCreaturePosition(cid)) then
        return doPlayerSendCancel(cid, "Voce precisa estar em protection zone para resetar.")
    elseif config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
        return doPlayerSendCancel(cid, "Voce precisa estar sem battle para resetar.")
    end
    
    local resetLevel = 0
    for x, y in ipairs(config.stages) do
        if getResets(cid) <= y.resets then
            resetLevel = isPremium(cid) and y.vip or y.level
            break
        end
    end
    
    if getPlayerLevel(cid) < resetLevel then
        return doPlayerSendCancel(cid, "Voce precisa do level " .. resetLevel .. " ou mais para resetar.")
    end
    
    setResets(cid, 1)
    local guid = getPlayerGUID(cid)
    doRemoveCreature(cid, true)
    db.executeQuery("UPDATE `players` SET `level` = " .. config.backToLevel .. ", `experience` = " .. config.exp .. " WHERE `id` = " .. guid)
    return true
end
  • Respostas 46
  • Visualizações 4.4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Consegui testar agora. player.cpp, troque sua função getDescription por essa:

  • Fir3element
    Fir3element

    function onSay(cid, words, param)     local player = Player(cid)     local hasAccess = player:getGroup():getAccess()     local players = Game.getPlayers()     local playerCount = Game.getPlayerCount()

Postado
  • Autor

99fb8bbbf947d2a3a4b95c1b1676b21496469f6a

 

e também com o ADM agente fala !resetar ele so desloga mais não reseta e com o player fala que precisa ta sem batle sendo que tou na pz e sem batle ainda

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

Postado

local config = {
    backToLevel = 8,
    exp = 4200,
    redskull = false,
    battle = false,
    pz = false,
    stages = {
        {resets = 4, level = 350, vip = 330},
        {resets = 9, level = 355, vip = 335},
        {resets = 14, level = 360, vip = 340},
        {resets = 19, level = 365, vip = 345},
        {resets = 24, level = 380, vip = 350},
        {resets = 29, level = 390, vip = 355},
        {resets = 34, level = 410, vip = 360},
        {resets = 39, level = 430, vip = 365},
        {resets = 44, level = 450, vip = 370}
    }
}

function onSay(cid, words, param)
    local function getResets(cid)
        local resets = getPlayerStorageValue(cid, 1020)
        return resets < 0 and 0 or resets
    end
    
    local function setResets(cid, count)
        setPlayerStorageValue(cid, getPlayerStorageValue(cid, 1020) + count)
    end
    
    if config.redskull and getCreatureSkullType(cid) == 4 then
        return doPlayerSendCancel(cid, "Voce precisa estar sem red skull para resetar.")
    elseif config.pz and not getTilePzInfo(getCreaturePosition(cid)) then
        return doPlayerSendCancel(cid, "Voce precisa estar em protection zone para resetar.")
    elseif config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
        return doPlayerSendCancel(cid, "Voce precisa estar sem battle para resetar.")
    end
    
    local resetLevel = 0
    for x, y in ipairs(config.stages) do
        if getResets(cid) <= y.resets then
            resetLevel = isPremium(cid) and y.vip or y.level
            break
        end
    end
    
    if getPlayerLevel(cid) < resetLevel then
        return doPlayerSendCancel(cid, "Voce precisa do level " .. resetLevel .. " ou mais para resetar.")
    end
    
    setResets(cid, 1)
    local guid = getPlayerGUID(cid)
    doRemoveCreature(cid, true)
    db.query("UPDATE `players` SET `level` = " .. config.backToLevel .. ", `experience` = " .. config.exp .. " WHERE `id` = " .. guid)
    return true
end
Postado
  • Autor

fireelement 

obrigado funcionou mais tem como quando um player dar look  em  outro personagem mostrar a quantidade de reset do player

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

Postado

data/events/scripts/player.lua, troque a função onLook por isso:

function Player:onLook(thing, position, distance)
    local function getResets(cid)
        local resets = getPlayerStorageValue(cid, 1020)
        return resets < 0 and 0 or resets
    end

    local description = "You see " .. thing:getDescription(distance) .. ". Resets: " .. getResets(cid)
    if self:getGroup():getAccess() then
        if thing:isItem() then
            description = string.format("%s\nItem ID: %d", description, thing:getId())

            local actionId = thing:getActionId()
            if actionId ~= 0 then
                description = string.format("%s, Action ID: %d", description, actionId)
            end

            local uniqueId = thing:getAttribute(ITEM_ATTRIBUTE_UNIQUEID)
            if uniqueId > 0 and uniqueId < 65536 then
                description = string.format("%s, Unique ID: %d", description, uniqueId)
            end

            local itemType = thing:getType()

            local transformEquipId = itemType:getTransformEquipId()
            local transformDeEquipId = itemType:getTransformDeEquipId()
            if transformEquipId ~= 0 then
                description = string.format("%s\nTransforms to: %d (onEquip)", description, transformEquipId)
            elseif transformDeEquipId ~= 0 then
                description = string.format("%s\nTransforms to: %d (onDeEquip)", description, transformDeEquipId)
            end

            local decayId = itemType:getDecayId()
            if decayId ~= -1 then
                description = string.format("%s\nDecays to: %d", description, decayId)
            end
        elseif thing:isCreature() then
            local str = "%s\nHealth: %d / %d"
            if thing:getMaxMana() > 0 then
                str = string.format("%s, Mana: %d / %d", str, thing:getMana(), thing:getMaxMana())
            end
            description = string.format(str, description, thing:getHealth(), thing:getMaxHealth()) .. "."
        end

        local position = thing:getPosition()
        description = string.format(
            "%s\nPosition: %d, %d, %d",
            description, position.x, position.y, position.z
        )

        if thing:isCreature() then
            if thing:isPlayer() then
                description = string.format("%s\nIP: %s.", description, Game.convertIpToString(thing:getIp()))
            end
        end
    end
    self:sendTextMessage(MESSAGE_INFO_DESCR, description)
end

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