Teste assim:
local TEMPO_PARA_REMOVER = 5 * 1000 -- em ms, 5 * 1000 = 5 segundos
local EFFECT_AO_REMOVER = CONST_ME_POFF -- efeito que aparece ao remover os itens
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ANI_POISON)
setCombatParam(combat1, COMBAT_PARAM_CREATEITEM, 2768)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_CREATEITEM, 2708)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_CREATEITEM, 2700)
local arr1 = {
{3}
}
local arr2 = {
{0, 1, 0},
{1, 2, 1}
}
local arr3 = {
{1, 1, 1},
{1, 0, 1},
{0, 2, 0}
}
local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
function onTargetTile(cid, pos)
local function doRemoveItemFromPos(pos, id)
local i = getTileItemById(pos, id).uid
i = i > 1 and doRemoveItem(i) and true or false
if i and tonumber(EFFECT_AO_REMOVER) and EFFECT_AO_REMOVER >= 0 and EFFECT_AO_REMOVER <= 255 then
doSendMagicEffect(pos, EFFECT_AO_REMOVER)
end
end
local iI = {getTileItemById(pos, 2768), getTileItemById(pos, 2708), getTileItemById(pos, 2700)}
for _, i in pairs (iI) do
if i.uid > 1 then addEvent(doRemoveItemFromPos, TEMPO_PARA_REMOVER, pos, i.itemid) end
end
end
function onTargetTile1(cid, pos)
onTargetTile(cid, pos)
end
function onTargetTile2(cid, pos)
onTargetTile(cid, pos)
end
function onTargetTile3(cid, pos)
onTargetTile(cid, pos)
end
setCombatCallback(combat1, CALLBACK_PARAM_TARGETTILE, "onTargetTile1")
setCombatCallback(combat2, CALLBACK_PARAM_TARGETTILE, "onTargetTile2")
setCombatCallback(combat3, CALLBACK_PARAM_TARGETTILE, "onTargetTile3")
function doExecuteCombat(cid, var, combat)
if not isCreature(cid) then return true end
return doCombat(cid, combat, var)
end
function onCastSpell(cid, var)
local combats = {[0] = combat1, [1000] = combat2, [2500] = combat3}
for timing, c in pairs (combats) do
addEvent(doExecuteCombat, timing, cid, var, c)
end
return true
end



info
Grupo: Campones
Registrado: 09/09/12
Posts: 3
Reputação: 0
Quero saber com fazer, para fazer com que um item (arvores) sejam removidas, depois de terem sido conjuradas. Segue o script que tenho:
local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ANI_POISON) setCombatParam(combat1, COMBAT_PARAM_CREATEITEM, 2768) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_CREATEITEM, 2708) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_CREATEITEM, 2700) local arr1 = { {3} } local arr2 = { {0, 1, 0}, {1, 2, 1} } local arr3 = { {1, 1, 1}, {1, 0, 1}, {0, 2, 0} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) function onCastSpell11(parameters1) doCombat(parameters1.cid, combat1, parameters1.var) end function onCastSpell12(parameters1) doCombat(parameters1.cid, combat2, parameters1.var) end function onCastSpell13(parameters1) doCombat(parameters1.cid, combat3, parameters1.var) end function onCastSpell(cid, var) local parameters1 = { cid = cid, var = var } addEvent(onCastSpell11, 0, parameters1) addEvent(onCastSpell12, 1000, parameters1) addEvent(onCastSpell13, 2500, parameters1) return true endA ideia, é que as arvores fiquem um tempo, e depois sejam removidas.