Ir para conteúdo

Featured Replies

Postado
2 horas atrás, Dwarfer disse:

 

  Ocultar conteúdo


local areas = {
[1] = {{x = 1, y = 1, z = 1}, 2, 2},
[2] = {{x = 1, y = 1, z = 1}, 1, 1},
[3] = {{x = 1, y = 1, z = 1}, 3, 3},
[4] = {{x = 1, y = 1, z = 1}, 3, 3}
}

local ignoredList = {2152, 2148, 2160} -- itens ignorados

function onThink(interval)
for k, v in pairs(areas) do
    for _, pos in ipairs(getArea(unpack(v))) do
        for i = 0, 255 do
            pos.stackpos = i
            local tile = getTileThingByPos(pos)
            if tile.uid > 0 and isMovable(tile.uid) then
                if not hasIgnoredItem(pos, ignoredList) then
                    doRemoveItem(getThingFromPos(pos).uid)
                end
            end
        end
        doSendMagicEffect(pos, CONST_ME_POFF)
    end
end
return true
end

function hasIgnoredItem(pos, ignoredList)
    for i = 1, #ignoredList do
        if getThingFromPos(pos).itemid == ignoredList[i] then
            return true
        end
    end
    return false
end

 

 

 

Muito obrigado @Dwarfer, REP+

@Dwarfer Outra dúvida, se no caso eu quiser só colocar as cordenadas, sem essa area 2x2 ou 5x5;

 

Por exemplo eu tenho essa cordenada:

[1] = {{x = 1008, y = 1011, z = }, 2, 2},

Esse código acima é o centro, e eu quero que de clean 1SCM para a direita e 1SCM para esquerda, e não em área como o código está propondo!

 

Seria só eu tirar a parte:

 2, 2},

E colocar novas coordenadas?

 

Obrigado!

 

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

Top Posters In This Topic

Most Popular Posts

Postado

@FearWar

 

Spoiler

local positions = {
[1] = {x = 1, y = 1, z = 1}, -- adicione as posições que deseja limpar
[2] = {x = 1, y = 1, z = 1},
[3] = {x = 1, y = 1, z = 1},
[4] = {x = 1, y = 1, z = 1}
}

local ignoredList = {2152, 2148, 2160} -- itens ignorados

function onThink(interval)
for k, pos in pairs(positions) do
    for i = 0, 255 do
        pos.stackpos = i
        local tile = getTileThingByPos(pos)
        if tile.uid > 0 and isMovable(tile.uid) then
            if not hasIgnoredItem(pos, ignoredList) then
                doRemoveItem(getThingFromPos(pos).uid)
            end
        end
    end
    doSendMagicEffect(pos, CONST_ME_POFF)
end
return true
end

function hasIgnoredItem(pos, ignoredList)
    for i = 1, #ignoredList do
        if getThingFromPos(pos).itemid == ignoredList[i] then
            return true
        end
    end
    return false
end

 

 

Contato:

 

Postado
8 horas atrás, Dwarfer disse:

@FearWar

 

  Ocultar conteúdo


local positions = {
[1] = {x = 1, y = 1, z = 1}, -- adicione as posições que deseja limpar
[2] = {x = 1, y = 1, z = 1},
[3] = {x = 1, y = 1, z = 1},
[4] = {x = 1, y = 1, z = 1}
}

local ignoredList = {2152, 2148, 2160} -- itens ignorados

function onThink(interval)
for k, pos in pairs(positions) do
    for i = 0, 255 do
        pos.stackpos = i
        local tile = getTileThingByPos(pos)
        if tile.uid > 0 and isMovable(tile.uid) then
            if not hasIgnoredItem(pos, ignoredList) then
                doRemoveItem(getThingFromPos(pos).uid)
            end
        end
    end
    doSendMagicEffect(pos, CONST_ME_POFF)
end
return true
end

function hasIgnoredItem(pos, ignoredList)
    for i = 1, #ignoredList do
        if getThingFromPos(pos).itemid == ignoredList[i] then
            return true
        end
    end
    return false
end

 

 

Valeu REP+!

  • 7 months later...

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