Ir para conteúdo
  • Cadastre-se

(Resolvido)modificar: onDeath somente para monstro


Ir para solução Resolvido por Celulose,

Posts Recomendados

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.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link para o post
Compartilhar em outros sites
  • 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

 

Link para o post
Compartilhar em outros sites

@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.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo