Ir para conteúdo
Propaganda

TFS 0.3.6 8.60 AUTOSTACK O ITEM ENCHE BP MESMO ESTANDO COM OUTRA BP VAZIA ITEM CAI NO CHÃO MINERAÇÃO


Posts Recomendados

  • Suporte

Ficamos felizes por você estar vindo tirar suas dúvidas com a equipe do Tibia Devs 

Para que possamos te ajudar melhor, Você poderia postar um pedaço do script que entrega os itens da sua "mineração" na sua bag para que possa ser analisado?

Além disso o erro só ocorre com esse script de mineração ou existe alguma "box item" que também não respeita o espaço vazio de bag dentro de bag?

local stonesMinerar = {
[1355] = {minerioid=2145,quant=3}
}
local config = {
levelMin = 1, -- level minimo pra usar.
exhaustionMinutes = 0, -- exausted em minutos
effectChar = 30, -- efeito no char.
storageUse = 34542 -- storage usado/ não mude caso não entenda.
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(exhaustion.check(cid, config.storageUse) == TRUE) then
if (exhaustion.get(cid, config.storageUse) >= 60) then
doPlayerSendCancel(cid, "Voçê só pode usar após [" .. math.floor(exhaustion.get(cid, config.storageUse) / 60 + 1) .."] minutos.")
end
if (exhaustion.get(cid, config.storageUse) <= 60) then
doPlayerSendCancel(cid, "Voçê só pode usar após [" .. exhaustion.get(cid, config.storageUse).."] segundos.")
end
return true
end
if stonesMinerar[itemEx.itemid] then
if getPlayerLevel(cid) >= config.levelMin then
doPlayerAddItem(cid, stonesMinerar[itemEx.itemid].minerioid, stonesMinerar[itemEx.itemid].quant)
doPlayerSendTextMessage(cid, 19, "Você recebeu "..(stonesMinerar[itemEx.itemid].quant).." "..getItemNameById(stonesMinerar[itemEx.itemid].minerioid).."!")
doSendMagicEffect(getPlayerPosition(cid), config.effectChar)
exhaustion.set(cid, config.storageUse, config.exhaustionMinutes*60)
else
doPlayerSendCancel(cid, "Apenas player com level "..config.levelMin.." ou superior podem minerar.")
end
else
doPlayerSendCancel(cid, "Você não pode minerar isso.")
end
return true
end

 

local stonesMinerar = {
    [1355] = {minerioid = 2145, quant = 3}
}

local config = {
    levelMin = 1, -- level mínimo para minerar
    exhaustionMinutes = 1, -- exaustão em minutos
    effectChar = 30, -- efeito visual no personagem
    storageUse = 34542 -- storage usado para exaustão
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if exhaustion.check(cid, config.storageUse) then
        local tempoRestante = exhaustion.get(cid, config.storageUse)
        local mensagem = tempoRestante >= 60 and
            "Você só pode usar após [" .. math.ceil(tempoRestante / 60) .. "] minutos." or
            "Você só pode usar após [" .. tempoRestante .. "] segundos."
        doPlayerSendCancel(cid, mensagem)
        return true
    end

    local pedra = stonesMinerar[itemEx.itemid]
    if not pedra then
        doPlayerSendCancel(cid, "Você não pode minerar isso.")
        return true
    end

    if getPlayerLevel(cid) < config.levelMin then
        doPlayerSendCancel(cid, "Apenas jogadores com level " .. config.levelMin .. " ou superior podem minerar.")
        return true
    end

    local ret = doPlayerAddItemEx(cid, pedra.minerioid, pedra.quant)
    if ret == RETURNVALUE_NOERROR then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você recebeu " .. pedra.quant .. " " .. getItemNameById(pedra.minerioid) .. "!")
        doSendMagicEffect(getPlayerPosition(cid), config.effectChar)
        exhaustion.set(cid, config.storageUse, config.exhaustionMinutes * 60)
    else
        doPlayerSendCancel(cid, "Inventário cheio. Libere espaço para minerar.")
    end

    return true
end
 

 

Em 03/06/2025 em 19:54, Sam disse:
local stonesMinerar = {
[1355] = {minerioid=2145,quant=3}
}
local config = {
levelMin = 1, -- level minimo pra usar.
exhaustionMinutes = 0, -- exausted em minutos
effectChar = 30, -- efeito no char.
storageUse = 34542 -- storage usado/ não mude caso não entenda.
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(exhaustion.check(cid, config.storageUse) == TRUE) then
if (exhaustion.get(cid, config.storageUse) >= 60) then
doPlayerSendCancel(cid, "Voçê só pode usar após [" .. math.floor(exhaustion.get(cid, config.storageUse) / 60 + 1) .."] minutos.")
end
if (exhaustion.get(cid, config.storageUse) <= 60) then
doPlayerSendCancel(cid, "Voçê só pode usar após [" .. exhaustion.get(cid, config.storageUse).."] segundos.")
end
return true
end
if stonesMinerar[itemEx.itemid] then
if getPlayerLevel(cid) >= config.levelMin then
doPlayerAddItem(cid, stonesMinerar[itemEx.itemid].minerioid, stonesMinerar[itemEx.itemid].quant)
doPlayerSendTextMessage(cid, 19, "Você recebeu "..(stonesMinerar[itemEx.itemid].quant).." "..getItemNameById(stonesMinerar[itemEx.itemid].minerioid).."!")
doSendMagicEffect(getPlayerPosition(cid), config.effectChar)
exhaustion.set(cid, config.storageUse, config.exhaustionMinutes*60)
else
doPlayerSendCancel(cid, "Apenas player com level "..config.levelMin.." ou superior podem minerar.")
end
else
doPlayerSendCancel(cid, "Você não pode minerar isso.")
end
return true
end

 

TESTA AI

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
  • Criar Novo...