http://www.xtibia.com/forum/topic/134875-matar-monstro-abrir-tp-remover-parede-ganhar-storage/
Pra remover somente se matar os 6 eu nao sei como fazer
Por paulincarvalhoo22, 26 de out. de 2013 em Scripts
info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

http://www.xtibia.com/forum/topic/134875-matar-monstro-abrir-tp-remover-parede-ganhar-storage/
Pra remover somente se matar os 6 eu nao sei como fazer
info
Grupo: Campones
Registrado: 06/11/09
Posts: 17
Reputação: +3

Se eu conseguir usar 1 demon pra abrir já está de bom tamanho, vou tentar aqui, muito obrigado.
Edit:
Uma duvida
function onDeath(cid, corpse, killer)
local M ={
["rat"] = {Pos = {x=177,y=40,z=7},id= 1058 ,time = 20},
["necromancer"] = {Pos = {x=173, y=40, z=7},id= 10196 ,time = 10},
}
local x = M[getCreatureName(cid)]
function criar()
local parede = getTileItemById(x.Pos, x.id)
doCreateItem(x.id, 1, x.Pos)
end
if x then
local parede = getTileItemById(x.Pos, x.id)
if parede then
doRemoveItem(parede.uid, 1)
doCreatureSay(cid, "A parede Será criada Novamente em "..x.time.." segundos.", TALKTYPE_ORANGE_1)
addEvent(criar, x.time*1000)
end
end
return TRUE
end
Aonde tem os nomes ali rat, necromancer eu mudo pra demon? E o ID, é o ID da pedra? ( ["rat"] = {Pos = {x=177,y=40,z=7},id= 1058 ,time = 20} )
Editado Outubro 26 por paulincarvalhoo22
Sim e sim
info
Grupo: Campones
Registrado: 06/11/09
Posts: 17
Reputação: +3

Não funcionou, ![]()
Mato todos os demons e a pedra continua lá.
info
Grupo: Marquês
Registrado: 16/06/07
Posts: 1.2k
Reputação: +377
Gênero: Masculino
Char no Tibia: Nenhum

Adicione essas funções na sua lib
function getCreaturesInArea(pos1,pos2)
local players = {}
local monsters = {}
local npcs = {}
if pos1.x and pos1.y and pos2.x and pos2.y and pos1.z and pos2.z then
for a = pos1.x, pos2.x do
for b = pos1.y,pos2.y do
for c = pos1.z, pos2.z do
local pos = {x=a,y=b,z=c}
local creature = getTopCreature(pos).uid
if isCreature(creature) then
if isMonster(creature) then
table.insert(monsters, creature)
elseif isPlayer(creature) then
table.insert(players, creature)
elseif isNpc(creature) then
table.insert(npcs, creature)
end
end
end
end
end
return {players=players, monsters=monsters, npcs=npcs}
else
return false
end
end
function getItemFromPos(itemid, pos)
local ret = false
local stack = 0
local thing = 0
repeat
pos.stackpos = stack
thing = getThingFromPos(pos)
if thing.itemid == itemid then
ret = thing
end
stack = stack + 1
until stack >= 100
return ret
end
Se não souber adicionar, basta criar um arquivo com qualquer nome, colocar esse código dentro e salvar como qualquercoisa.lua em data/lib
Aí usa esse código aqui:
-- Posições do canto superior esquerdo e do canto inferior direito da área em que os demons estão
local posi, posf = {x=160, y=240, z=8}, {x=180, y=360, z=9}
-- Posições e ids das pedras
local pedra1pos, pedra1id = {x=160, y=200, z=7}, 1987
local pedra2pos, pedra2id = {x=160, y=205, z=7}, 1987
function onKill(cid, target)
if isPlayer(cid) and isInArea(getThingPos(cid), posi, posf) then
local monsters = getCreaturesInArea(posi, posf).monsters
if #monsters == 1 then
local k = getItemFromPos(pedra1id, pedra1pos).uid
local p = getItemFromPos(pedra2id, pedra2pos).uid
if k then doRemoveItem(k) end
if p then doRemoveItem(p) end
end
end
return true
end
Adicione esse código em creaturescripts/scripts com o nome de hahaha.lua e o que vem a seguir no login.lua:
registerCreatureEvent(cid, "ByeByePedras")
E isso em creaturescripts.xml:
<event type="kill" name="ByeByePedras" event="script" value="hahaha.lua"/>
Desculpe pelos nomes esquisitos, mas tava com preguiça de pensar em qualquer coisa melhor e escrevi a primeira coisa que me veio à mente.
Editado Outubro 28 por omega blueheaven
info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

Tem q arrumar as variaveis, vc colocou as duas como pedra1id
Otima funçao
info
Grupo: Marquês
Registrado: 16/06/07
Posts: 1.2k
Reputação: +377
Gênero: Masculino
Char no Tibia: Nenhum

Tem q arrumar as variaveis, vc colocou as duas como pedra1id
Otima funçao
Obrigado pelo elogio e pelo aviso, consertei lá.
info
Grupo: Campones
Registrado: 06/11/09
Posts: 17
Reputação: +3
Olá, Boa tarde.
Então, eu estou precisando de um script que ao matar um monstro ( no meu caso eu vou colocar demon ), automaticamente uma pedra no chão desaparecesse.
A ideia é ao matar esses 6 demons, sumir essas 2 pedras ao lado, onde os jogadores vão estar.
Espero que alguém possa me ajudar
No aguardo.