Ir para conteúdo

Featured Replies

Postado
Galera estou com um problema com essa script... é um jutsu do meu ot de nto, ele cria uma prisao de terra, porem era para sair em 5 segundos depois de usado e nao esta saindo =s parece que bugou, ela fica la para sempre, me ajudem por favor.
 
 
local remove_time = 5 -- tempo em segundos para remover as magic wall
local item_id = 5750 -- id da magic wall
 
function onCastSpell(cid, var)
 
local waittime = 5 -- Tempo de exhaustion
local storage = 15288
 
if exhaustion.check(cid, storage) then
return false
end
 
exhaustion.set(cid, storage, waittime)
local pos = getThingPosition(getCreatureTarget(cid))
posTile1 = {x=pos.x+1,y=pos.y+1,z=pos.z,stackpos=1}
posTile2 = {x=pos.x+1,y=pos.y,z=pos.z,stackpos=1}
posTile3 = {x=pos.x+1,y=pos.y-1,z=pos.z,stackpos=1}
posTile4 = {x=pos.x,y=pos.y-1,z=pos.z,stackpos=1}
posTile5 = {x=pos.x-1,y=pos.y-1,z=pos.z,stackpos=1}
posTile6 = {x=pos.x-1,y=pos.y,z=pos.z,stackpos=1}
posTile7 = {x=pos.x-1,y=pos.y+1,z=pos.z,stackpos=1}
posTile8 = {x=pos.x,y=pos.y+1,z=pos.z,stackpos=1}
posAll = {posTile1,posTile2,posTile3,posTile4,posTile5,posTile6,posTile7,posTile8}
 
for i=1, #posAll do
if isWalkable(posAll) then
doCreateItem(item_id, 1, posAll)
end
end 
addEvent(removeItem, remove_time*1000, posAll)
 
return true
end
 
function isWalkable(pos, creature, pz, proj)
    if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
local creature = getTopCreature(pos)
    if creature.type > 0 then return false end
if getTilePzInfo(pos) and not pz then return false end
local n = not proj and 3 or 2
for i = 0, 255 do
        pos.stackpos = i
        local tile = getTileThingByPos(pos)
        if tile.itemid ~= 0 and not isCreature(tile.uid) then
            if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
                return false
            end
        end
end
return true
end
 
function removeItem(posAll)
for i=1, #posAll do
for j=0, 255 do
pos_stack = {x=posAll.x,y=posAll.y,z=posAll.z,stackpos=j}
removeTile = getThingfromPos(pos_stack)
if removeTile.itemid == item_id then
doRemoveItem(removeTile.uid)
end
end
end
end
Postado

testa assim

local remove_time = 5 -- tempo em segundos para remover as magic wall
local item_id = 5750 -- id da magic wall


function onCastSpell(cid, var)


local waittime = 5 -- Tempo de exhaustion
local storage = 15288


if exhaustion.check(cid, storage) then
return false
end


exhaustion.set(cid, storage, waittime)
local pos = getThingPosition(getCreatureTarget(cid))
posTile1 = {x=pos.x+1,y=pos.y+1,z=pos.z,stackpos=1}
posTile2 = {x=pos.x+1,y=pos.y,z=pos.z,stackpos=1}
posTile3 = {x=pos.x+1,y=pos.y-1,z=pos.z,stackpos=1}
posTile4 = {x=pos.x,y=pos.y-1,z=pos.z,stackpos=1}
posTile5 = {x=pos.x-1,y=pos.y-1,z=pos.z,stackpos=1}
posTile6 = {x=pos.x-1,y=pos.y,z=pos.z,stackpos=1}
posTile7 = {x=pos.x-1,y=pos.y+1,z=pos.z,stackpos=1}
posTile8 = {x=pos.x,y=pos.y+1,z=pos.z,stackpos=1}
posAll = {posTile1,posTile2,posTile3,posTile4,posTile5,posTile6,posTile7,posTile8}


for i=1, #posAll do
if isWalkable(posAll[i]) then
doCreateItem(item_id, 1, posAll[i])
end
end 
addEvent(removeItem, remove_time*1, posAll)


return true
end


function isWalkable(pos, creature, pz, proj)
    if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
local creature = getTopCreature(pos)
    if creature.type > 0 then return false end
if getTilePzInfo(pos) and not pz then return false end
local n = not proj and 3 or 2
for i = 0, 255 do
        pos.stackpos = i
        local tile = getTileThingByPos(pos)
        if tile.itemid ~= 0 and not isCreature(tile.uid) then
            if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
                return false
            end
        end
end
return true
end


function removeItem(posAll)
for i=1, #posAll do
for j=0, 255 do
pos_stack = {x=posAll[i].x,y=posAll[i].y,z=posAll[i].z,stackpos=j}
removeTile = getThingfromPos(pos_stack)
if removeTile.itemid == item_id then
doRemoveItem(removeTile.uid)
end
end
end
end

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

Postado
  Em 21/08/2015 em 01:22, gutalo disse:

Amigo ela até funcionou, porem n sumona o item tipo sumona e no msm instante ja sai.

desculpa brother não to conseguindo testar mas vamos tentar esse script aqui então?

Mostrar conteúdo oculto

local remove_time = 5 -- tempo em segundos para remover as magic wall

local item_id = 5750 -- id da magic wall

function onCastSpell(cid, var)

local waittime = 5 -- Tempo de exhaustion

local storage = 15288

if exhaustion.check(cid, storage) then

return false

end

exhaustion.set(cid, storage, waittime)

local pos = getThingPosition(getCreatureTarget(cid))

posTile1 = {x=pos.x+1,y=pos.y+1,z=pos.z,stackpos=1}

posTile2 = {x=pos.x+1,y=pos.y,z=pos.z,stackpos=1}

posTile3 = {x=pos.x+1,y=pos.y-1,z=pos.z,stackpos=1}

posTile4 = {x=pos.x,y=pos.y-1,z=pos.z,stackpos=1}

posTile5 = {x=pos.x-1,y=pos.y-1,z=pos.z,stackpos=1}

posTile6 = {x=pos.x-1,y=pos.y,z=pos.z,stackpos=1}

posTile7 = {x=pos.x-1,y=pos.y+1,z=pos.z,stackpos=1}

posTile8 = {x=pos.x,y=pos.y+1,z=pos.z,stackpos=1}

posAll = {posTile1,posTile2,posTile3,posTile4,posTile5,posTile6,posTile7,posTile8}

for i=1, #posAll do

if isWalkable(posAll) then

doCreateItem(item_id, 1, posAll)

end

end

addEvent(removeItem, remove_time*10, posAll)

return true

end

function isWalkable(pos, creature, pz, proj)

if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end

local creature = getTopCreature(pos)

if creature.type > 0 then return false end

if getTilePzInfo(pos) and not pz then return false end

local n = not proj and 3 or 2

for i = 0, 255 do

pos.stackpos = i

local tile = getTileThingByPos(pos)

if tile.itemid ~= 0 and not isCreature(tile.uid) then

if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then

return false

end

end

end

return true

end

function removeItem(posAll)

for i=1, #posAll do

for j=0, 255 do

pos_stack = {x=posAll.x,y=posAll.y,z=posAll.z,stackpos=j}

removeTile = getThingfromPos(pos_stack)

if removeTile.itemid == item_id then

doRemoveItem(removeTile.uid)

end

end

end

end

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

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