paulincarvalhoo22 3 Postado Outubro 26, 2013 Share Postado Outubro 26, 2013 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. Link para o comentário https://xtibia.com/forum/topic/223159-pedido-remover-item-ao-matar-algum-monstro/ Compartilhar em outros sites More sharing options...
0 Killua 389 Postado Outubro 26, 2013 Share Postado Outubro 26, 2013 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 Link para o comentário https://xtibia.com/forum/topic/223159-pedido-remover-item-ao-matar-algum-monstro/#findComment-1576284 Compartilhar em outros sites More sharing options...
0 paulincarvalhoo22 3 Postado Outubro 26, 2013 Autor Share Postado Outubro 26, 2013 (editado) 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) endif 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) endendreturn TRUEend 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, 2013 por paulincarvalhoo22 Link para o comentário https://xtibia.com/forum/topic/223159-pedido-remover-item-ao-matar-algum-monstro/#findComment-1576288 Compartilhar em outros sites More sharing options...
0 zipter98 1102 Postado Outubro 26, 2013 Share Postado Outubro 26, 2013 Sim e sim Link para o comentário https://xtibia.com/forum/topic/223159-pedido-remover-item-ao-matar-algum-monstro/#findComment-1576295 Compartilhar em outros sites More sharing options...
0 paulincarvalhoo22 3 Postado Outubro 26, 2013 Autor Share Postado Outubro 26, 2013 Não funcionou, Mato todos os demons e a pedra continua lá. Link para o comentário https://xtibia.com/forum/topic/223159-pedido-remover-item-ao-matar-algum-monstro/#findComment-1576300 Compartilhar em outros sites More sharing options...
0 Omega 377 Postado Outubro 27, 2013 Share Postado Outubro 27, 2013 (editado) 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, 2013 por omega blueheaven Link para o comentário https://xtibia.com/forum/topic/223159-pedido-remover-item-ao-matar-algum-monstro/#findComment-1576558 Compartilhar em outros sites More sharing options...
0 Killua 389 Postado Outubro 28, 2013 Share Postado Outubro 28, 2013 Tem q arrumar as variaveis, vc colocou as duas como pedra1id Otima funçao Link para o comentário https://xtibia.com/forum/topic/223159-pedido-remover-item-ao-matar-algum-monstro/#findComment-1576712 Compartilhar em outros sites More sharing options...
0 Omega 377 Postado Outubro 28, 2013 Share Postado Outubro 28, 2013 Tem q arrumar as variaveis, vc colocou as duas como pedra1id Otima funçao Obrigado pelo elogio e pelo aviso, consertei lá. Link para o comentário https://xtibia.com/forum/topic/223159-pedido-remover-item-ao-matar-algum-monstro/#findComment-1576774 Compartilhar em outros sites More sharing options...
0 Omega 377 Postado Dezembro 6, 2013 Share Postado Dezembro 6, 2013 Tópico movido para a seção de dúvidas e pedidos resolvidos. Link para o comentário https://xtibia.com/forum/topic/223159-pedido-remover-item-ao-matar-algum-monstro/#findComment-1589716 Compartilhar em outros sites More sharing options...
Pergunta
paulincarvalhoo22 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.
Link para o comentário
https://xtibia.com/forum/topic/223159-pedido-remover-item-ao-matar-algum-monstro/Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados