então está tudo certinho tirando que coloquei o mapa aqui configurei certinho igual manda na LIB, mais quando mata o Guarda não está sumindo a parede que fica atras dele já tentei trocar de parede etc...
e quando mata o guarda aparece esse erro aqui abaixo:
[11/04/2014 02:18:03] [Error - CreatureScript Interface]
[11/04/2014 02:18:03] data/creaturescripts/scripts/BloodCreatureGuarda.lua:onDeath
[11/04/2014 02:18:03] Description:
[11/04/2014 02:18:03] (luaDoRemoveItem) Item not found
[11/04/2014 02:18:03] [Error - CreatureScript Interface]
[11/04/2014 02:18:03] data/creaturescripts/scripts/BloodCreatureGuarda.lua:onDeath
[11/04/2014 02:18:03] Description:
[11/04/2014 02:18:03] (luaDoRemoveItem) Item not found
[11/04/2014 02:18:03] [Error - CreatureScript Interface]
[11/04/2014 02:18:03] data/creaturescripts/scripts/BloodCreatureGuarda.lua:onDeath
[11/04/2014 02:18:03] Description:
[11/04/2014 02:18:03] (luaDoRemoveItem) Item not found
BloodCreatureGuarda:
-- == Blood Castle Event por Killua, antigo amoeba13 - Xtibia == --
function onDeath(cid, corpse, mostDamageKiller)
local artigo = getPlayerSex(mostDamageKiller[1]) == 0 and "A jogadora" or "O jogador"
if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower("Guarda do Portao") then
doRemoveItem(getTileItemById(bloodconfig.posParede1, bloodconfig.idDasParedes).uid, 1)
doRemoveItem(getTileItemById(bloodconfig.posParede2, bloodconfig.idDasParedes).uid, 1)
doRemoveItem(getTileItemById(bloodconfig.posParede3, bloodconfig.idDasParedes).uid, 1)
addEvent(criarEstatua, 2*60*1000)
doBroadcastMessage("[blood Castle] " .. artigo .. " " .. getPlayerName(mostDamageKiller[1]) .. " derrotou o Guarda do Portao! Prossigam para proxima sala e aguardem ate o arcanjo nascer!")
end
return true
end
BloodCastle (lib)
-- == Blood Castle Event por Killua, antigo amoeba13 - Xtibia == --
bloodconfig = {
templo = {x = 160, y = 54, z = 7}, -- templo
posGuarda = {x = 1048, y = 1149, z = 7}, -- Onde o guarda do portão vai nascer
premios = {{2160, 1}, {2157, 10}, {2000, 1}}, -- Premios que o vencedor pode ganhar {id, quantidade}
positionTP = {x = 161, y = 50, z = 7}, -- Onde o tp será criado
positionEvento = {x = 1047, y = 1186, z = 7}, -- Para onde o tp vai levar
tempoTP = 1, -- Depois de quanto tempo que avisou vai ser criado o tp? Em minutos
tempoAberto = 2, -- Tempo que o tp fica aberto. Em minutos
minPlayers = 1, -- Número mínimo de players que devem entrar para que o evento aconteça
tempoMaximo = 10, -- Tempo máximo, em minutos, que alguem pode permanecer no evento
playersStorage = 54910, -- Não mude
posPedra1 = {x = 1046, y = 1181, z = 7, stackpos=1}, -- Posicao das pedras
posPedra2 = {x = 1047, y = 1181, z = 7, stackpos=1},
posPedra3 = {x = 1048, y = 1181, z = 7, stackpos=1},
posPedra4 = {x = 1049, y = 1181, z = 7, stackpos=1},
posPedra5 = {x = 1050, y = 1181, z = 7, stackpos=1},
idDasParedes = 9486, -- ID das paredes que vao ser removidas quando o Guarda morrer (todas devem ter o mesmo id)
estatua = {x = 1048, y = 1132, z = 7}, -- Posicao onde o arcanjo vai ser criado
tempoSaida = 10, -- Quando tempo o tp q é criado quando a estátua morre vai ficar? Em segundos
posParede1 = {x = 1047, y = 1148, z = 7, stackpos=1}, -- Posicao das paredes que vao ser removidas quando o Guarda morrer
posParede2 = {x = 1048, y = 1148, z = 7, stackpos=1},
posParede3 = {x = 1049, y = 1148, z = 7, stackpos=1},
fromPos = {x = 1032, y = 1126, z = 7}, -- Canto superior esquerdo da área do seu evento ---- Deve ser uma área quadrada ou retangular, de forma que todo o evento fique dentro dela.
toPos = {x = 1065, y = 1190, z = 7}, -- Canto inferior direito da área do seu evento
}
-- [[ NAO ALTERE MAIS NADA DAQUI PARA BAIXO! ]] --
function TirarTp()
local t = getTileItemById(bloodconfig.positionTP, 1387)
if t then
doRemoveItem(t.uid, 1)
doSendMagicEffect(bloodconfig.positionTP, CONST_ME_POFF)
end
end
function tirarPedras()
doRemoveItem(getTileItemById(bloodconfig.posPedra1, 1304).uid, 1)
doRemoveItem(getTileItemById(bloodconfig.posPedra2, 1304).uid, 1)
doRemoveItem(getTileItemById(bloodconfig.posPedra3, 1304).uid, 1)
doRemoveItem(getTileItemById(bloodconfig.posPedra4, 1304).uid, 1)
doRemoveItem(getTileItemById(bloodconfig.posPedra5, 1304).uid, 1)
end
function porPedras()
doCreateItem(1304, 1, bloodconfig.posPedra1)
doCreateItem(1304, 1, bloodconfig.posPedra2)
doCreateItem(1304, 1, bloodconfig.posPedra3)
doCreateItem(1304, 1, bloodconfig.posPedra4)
doCreateItem(1304, 1, bloodconfig.posPedra5)
end
function BotarTp()
local tip = doCreateTeleport(1387, bloodconfig.positionEvento, bloodconfig.positionTP)
doItemSetAttribute(tip, "aid", 4726)
end
function TirarTpArc()
local t = getTileItemById(bloodconfig.estatua, 1387)
if t then
doRemoveItem(t.uid, 1)
doSendMagicEffect(bloodconfig.estatua, CONST_ME_POFF)
end
end
function getPlayersInBlood()
playersInBlood = getGlobalStorageValue(bloodconfig.playersStorage)
if playersInBlood < 0 then
playersInBlood = 0
end
return playersInBlood
end
function TirarPlayers()
for x = bloodconfig.fromPos.x, bloodconfig.toPos.x do
for y = bloodconfig.fromPos.y, bloodconfig.toPos.y do
for z = bloodconfig.fromPos.z, bloodconfig.toPos.z do
areaBlood = {x=x, y=y, z=z, stackpos = 253}
playersb = getThingFromPos(areaBlood)
if isPlayer(playersb.uid) then
doTeleportThing(playersb.uid, bloodconfig.templo, false)
doPlayerSendTextMessage(playersb.uid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce foi removido do Blood Castle. Possiveis causas: o evento nao atingiu o numero minimo de players; Voce permaneceu no evento por mais de " .. bloodconfig.tempoMaximo .. " minutos.")
end
end
end
end
end
function checkBlood()
if getPlayersInBlood() >= bloodconfig.minPlayers then
tirarPedras()
doBroadcastMessage("[blood Castle] O Evento comecou e o teleporte para ele foi fechado. Boa sorte a todos!")
if not isMonster(getTopCreature(bloodconfig.posGuarda).uid) then
doCreateMonster("Guarda do Portao", bloodconfig.posGuarda)
end
addEvent(TirarPlayers, bloodconfig.tempoMaximo*60*1000)
else
TirarPlayers()
setGlobalStorageValue(bloodconfig.playersStorage, 0)
doBroadcastMessage("[blood Castle] O evento nao atingiu o numero minimo de participantes e foi cancelado.")
if isMonster(getTopCreature(bloodconfig.posGuarda).uid) then
doRemoveCreature(getTopCreature(bloodconfig.posGuarda).uid)
end
if isMonster(getTopCreature(bloodconfig.estatua).uid) then
doRemoveCreature(getTopCreature(bloodconfig.estatua).uid)
end
end
end
function porParedes()
doCreateItem(bloodconfig.idDasParedes, 1, bloodconfig.posParede1)
doCreateItem(bloodconfig.idDasParedes, 1, bloodconfig.posParede2)
doCreateItem(bloodconfig.idDasParedes, 1, bloodconfig.posParede3)
end
function criarEstatua()
if not isMonster(getTopCreature(bloodconfig.estatua).uid) then
doCreateMonster("Arcanjo", bloodconfig.estatua)
doBroadcastMessage("[blood Castle] A estatua do arcanjo apareceu!")
end
end
function Garantir()
if isMonster(getTopCreature(bloodconfig.posGuarda).uid) then
porPedras()
doRemoveCreature(getTopCreature(bloodconfig.posGuarda).uid)
elseif isMonster(getTopCreature(bloodconfig.estatua).uid) then
porPedras()
porParedes()
doRemoveCreature(getTopCreature(bloodconfig.estatua).uid)
end
end
só estou com esse problema =/ de não sair a parede atrás do guarda de resto está funcionando certinho...
RESOLVIDO...
Forma que resolvi o meu problema, coloquei atrás de onde nasce o guarda o item com o ID 9486, conforme na imagem abaixo:









info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem
Pq você configurou algo errado.