Postado Junho 7, 2018 7 anos eu copiei uma spell e mudei o item e o efeito, mas o item não sai do chão, a spell é uma trap que cria 8 itens ao redor do alvo e depois some depois de 5 segundos 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 = 10 -- Tempo de exhaustion local storage = 10208 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 local efeito = 161 doCreateItem(item_id, 1, posAll[i]) doSendMagicEffect(posAll[i], efeito) 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) local effect = 161 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) doSendMagicEffect(pos_stack, effect) end end end end O item aparece, mas ele simplesmente não some, a outra spell só muda o item e o efeito, e funciona perfeitamente, o que pode ser?
Postado Junho 7, 2018 7 anos local storage = 454254 local time = 10.0 -- Exaust da spell local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) -- Aqui coloque o ID do objeto local arr = { {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 2, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Exhaustion ...") return doSendMagicEffect(getCreaturePosition(cid), 2) end exhaustion.set(cid, storage, time) return doCombat(cid, combat, var) end Agora, vá no itens.XML e de um CTRL + F e procure pelo ID da wall e coloque essas tag; <attribute key="decayTo" value="0" /> <attribute key="duration" value="XXX" /> Onde está XXX é a duração do item.
Postado Junho 8, 2018 7 anos Autor funcionou, mas o efeito n apareceu de quando se usa ela, c pode colocar? se n der n tem problema
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.