local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_CREATEITEM, 6139)
local area1 = createCombatArea({
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 2, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 1}
})
setCombatArea(combat1, area1)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_CREATEITEM, 6140)
local area2 = createCombatArea({
{0, 1, 1, 1, 0},
{0, 0, 0, 0, 0},
{0, 0, 2, 0, 0},
{0, 0, 0, 0, 0},
{1, 1, 1, 1, 0}
})
setCombatArea(combat2, area2)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_CREATEITEM, 6142)
local area3 = createCombatArea({
{0, 0, 0, 0, 1},
{1, 0, 0, 0, 1},
{1, 0, 2, 0, 1},
{1, 0, 0, 0, 1},
{0, 0, 0, 0, 0}
})
setCombatArea(combat3, area3)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_CREATEITEM, 6141)
local area4 = createCombatArea({
{1, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 2, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}
})
setCombatArea(combat4, area4)
local function clean_wood(position)
local fromPosition = {x = position.x - 5, y = position.y - 5, z = position.z}
local toPosition = {x = position.x + 5, y = position.y + 5, z = position.z}
for x = fromPosition.x, toPosition.x do
for y = fromPosition.y, toPosition.y do
local tile = {x = x, y = y, z = fromPosition.z}
for itemid = 6139, 6142 do
local wood = getTileItemById(tile, itemid)
if wood.uid > 0 then
doRemoveItem(wood.uid, 1)
doSendMagicEffect(tile, CONST_ME_POFF)
end
end
end
end
end
function onCastSpell(cid, var)
doCombat(cid, combat1, var)
doCombat(cid, combat2, var)
doCombat(cid, combat3, var)
doCombat(cid, combat4, var)
addEvent(clean_wood, 10 * 1000, getThingPosition(cid))
return true
end
5
1.2k
13 de dezembro de 2012 às 15:17
info
Grupo: Campones
Registrado: 18/07/10
Posts: 31
Reputação: +4
Gênero: Masculino

14 de dezembro de 2012 às 09:17
vou testar aqui e ja respondo
@edited
Deu certo bgdao ai, podem fechar ja
Editado Dezembro 14 por sens
14 de dezembro de 2012 às 10:38
Reportado: O pedido ou dúvida do tópico foi atendido.





info
Grupo: Campones
Registrado: 18/07/10
Posts: 31
Reputação: +4
Gênero: Masculino
Tipo do script: Spell
Protocolo (versão do Tibia): 8.54
Servidor utilizado: Tfs 0.3.6
Nível de experiência: baixo
Pedido - spell de criar 1 parede trap.
explicação de como a magia deve funcionar:
O player X usa a magia "parede" então surge 1 parede em redor dele que dura 10 segundos e some sem ter que editar os ids no items.xml, eu procurei bastante e nao achei a que eu queria, o m o formato e os ids:
1 primeira parede:
local arr = {
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 2, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
}
id da parede = 6139
2 Parede:
local arr = {
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 2, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
}
id da parede = 6140
3 parede:
local arr = {
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 1, 0, 0},
{0, 1, 0, 2, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
}
id da parede = 6142
4 parede:
local arr = {
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 2, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
}
id da parede = 6141
Verde = Posição do player que uso a magia
vermelhão = Posição que a parede deve aparecer
Azul = id das paredes
Eu gostaria que a paredes sumissem apos 10 segundos, mas sem ter que editar no items.xml que fosse diretamente no script, pois esses ids sao usados em outros lugares do mapa.
Já agradeço a todos que responderem esse pedido.