Postado Fevereiro 27, 2019 6 anos Boa Noite (criei esse topico sobre o mesmo script de um a 2 dias, pois aquele ja tinha definido melhor respota e dado como resolvido, então nao sei se era certo reviver ele ou fazer outro, achei que seria fazer um novo.) Tenho esse script que funciona assim, quando o monstro morre, adiciona um item no local que some em determinado tempo, e da um efeito. Funciona normal, adiciona event no monster.xml que quero e está tag no login.lua tudo ok. Mas tem um problema que ele é uma função onDeath, então toda vez q o player morre ele acaba executando o script tbm. Acredito que precisaria colocar uma função nele para verificar se quem morreu foi player ou monster para só ocorrer nele. local time = 15 function removeTp(pos, id) local item = getTileItemById(pos, id) if item.uid > 0 then return doRemoveItem(item.uid, 1) end end function onDeath(cid, corpse, killers) local pos = getThingPos(cid) local id = 7632 local effect = 53 doSendMagicEffect(pos, effect) doCreateItem(id, 1, pos) addEvent(removeTp, time*1000, pos, id) return true end Tenho este também que faz algo parecido e é onDeath, o problema é o mesmo, então se solucionar o de cima acredito q resolvo esse. Spoiler local pos, time = {x = 739, y = 976, z = 6}, 1 function removeLever() local t = getTileItemById(pos, 5676).uid return t > 0 and doRemoveItem(t) and doSendMagicEffect(pos, CONST_ME_POFF) end function onDeath(cid, corpse, killers) doCreatureSay(cid, "Vocês ganhou. Tem um minuto para pegar suas recompensas e sumir.", 19) local lever = doCreateItem(5676, 1, pos) doItemSetAttribute(lever, "aid", 23003) addEvent(removeLever, time*1000*60) return true end Discord: Naze#3578 Ter Linux Dentro de Windows com Acesso 'localhost' para testes e + AutoLoot Otimizado Direto na Source (tfs 0.4/otx) // Pirataria é crime, original é roubo, compartilhar é legal.
Postado Fevereiro 27, 2019 6 anos Solução @Naze local time = 15 function removeTp(pos, id) local item = getTileItemById(pos, id) if item.uid > 0 then return doRemoveItem(item.uid, 1) end end function onDeath(cid, corpse, killers) if isMonster(cid) then local pos = getThingPos(cid) local id = 7632 local effect = 53 doSendMagicEffect(pos, effect) doCreateItem(id, 1, pos) addEvent(removeTp, time*1000, pos, id) end return true end local pos, time = {x = 739, y = 976, z = 6}, 1 function removeLever() local t = getTileItemById(pos, 5676).uid return t > 0 and doRemoveItem(t) and doSendMagicEffect(pos, CONST_ME_POFF) end function onDeath(cid, corpse, killers) if isMonster(cid) then doCreatureSay(cid, "Vocês ganhou. Tem um minuto para pegar suas recompensas e sumir.", 19) local lever = doCreateItem(5676, 1, pos) doItemSetAttribute(lever, "aid", 23003) addEvent(removeLever, time*1000*60) end return true end
Postado Fevereiro 27, 2019 6 anos só não registrar no login.lua, registra só no monstro. [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Fevereiro 27, 2019 6 anos Autor @Celulose @Vodkart Os dois método funciono, obrigado. Discord: Naze#3578 Ter Linux Dentro de Windows com Acesso 'localhost' para testes e + AutoLoot Otimizado Direto na Source (tfs 0.4/otx) // Pirataria é crime, original é roubo, compartilhar é legal.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.