Ir para conteúdo
  • Cadastre-se

(Resolvido)Item no chão sumir apos tempo.


Ir para solução Resolvido por victor0707,

Posts Recomendados

Ola, tenho a seguinte script, e a primeira função que tinha nela, era fazer o efeito quando o monstro morre, até ai funciono perfeitamente, depois coloquei para adicionar o Item no local da morte também, agora estava tentando fazer com que depois de um determinado tempo esse item suma. Mas não queria colocar uma duração nesse item pois se o player catar ele não poderia sumir.

 

local time = 15

function removeTp()

local item = getTileItemById(getThingPos(cid), 7632)

  if item.uid > 0 then
   return doRemoveItem(item.uid, 1)
	end
end

function onDeath(cid, corpse, killers)

   local monsters = {
   [""] = 15,
   [""] = 15,
   [""] = 13,
   }

   local effect = monsters[getCreatureName(cid)] or 53
   doSendMagicEffect(getThingPos(cid), effect)
   doCreateItem(7632,1,getThingPos(cid))
   addEvent(removeTp, time*1000)

return true
end

 da o seguinte erro na distro

Citar

[18:54:33.605] [Error - CreatureScript Interface]
[18:54:33.608] In a timer event called from:
[18:54:33.611] data/creaturescripts/scripts/ancient paradise/spiritdead.lua:onDeath
[18:54:33.615] Description:
[18:54:33.617] (LuaInterface::luaGetThingPosition) Thing not found

 

Eu ja tentei de outras forma usando como base outros scripts mas o erro e o mesmo ou algo o gênero. Os exemplo ta no spoiler:

Spoiler

local pos = {x=265, y=118, z=9} -- onde vai aparecer
local toPos = {x=267, y=124, z=9} -- para onde vai mandar
local tp = 1387 -- id do tp
local time = 30 -- tempo

function removeTp()
local tlp = getTileItemById(pos)
if tlp then
doRemoveItem(getTileItemById(pos,tp).uid)
doSendMagicEffect(pos, CONST_ME_POFF)
end
end

function onStepIn(creature, item, position, fromPosition)

    if creature:isPlayer() then
        doCreateTeleport(tp, toPos, pos)
        addEvent(removeTp, time*1000)
    end

return true
end

retirado de

Spoiler

 

 


local item = getTileItemById({x = 1, y = 2, z = 3}, 2160)

if item.uid > 0 then

   return doRemoveItem(item.uid, 1)

end

retirado de:

Spoiler

 

 

 

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

tbm preciso de um codigo desse

na teoria é facil

só vc fazer igual o lifering quando equipado vira outro item

mas ai vc deixa igual os dois item de aparencia..

e a diferença do life ring pro seu

é que se nao equipado ele acaba

e o lifering ele acaba equipado

 

Link para o post
Compartilhar em outros sites

@telefonesemfio

Acredito que o jeito que sugeriu daria certo, e até posso usar dois itens nessa situação, mas então só precisaria saber para hora que ele puxar apenas para bag ocorrer a mudança já que esse item não vai ser equipado.

Não tou no computador agora depois irei tenta do jeito que sugeriu pois me interesso tbm, mas quem poder me indicar o erro ainda do problema dessa script fico grato. 

 

@edit

Também pensei de uma forma que seja mais simples de fazer, que seria ao dropa esse item que vai ter tal duração, se eu der use nele ele adicionaria o outro item em minha bag, seria mais simples e eu só precisaria mudar a história por traz do item.

Obrigado ajudo muito sua sugestão. 

Editado por Naze
Nova ideia (veja o histórico de edições)

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 Tenta:

Spoiler

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 monsters = {
    [""] = 15,
    [""] = 15,
    [""] = 13,
    }
    
    local effect = monsters[getCreatureName(cid)] or 53
    doSendMagicEffect(pos, effect)
    doCreateItem(id, 1, pos)
    addEvent(removeTp, time*1000, pos, id)

return true
end

 

Link para o post
Compartilhar em outros sites
local time = 15

function removeTp(pos)

local item = getTileItemById(pos, 7632)

  if item.uid > 0 then
   return doRemoveItem(item.uid, 1)
	end
end

function onDeath(cid, corpse, killers)

   local monsters = {
   [""] = 15,
   [""] = 15,
   [""] = 13,
   }

   local effect = monsters[getCreatureName(cid)] or 53
   doSendMagicEffect(getThingPos(cid), effect)
   doCreateItem(7632,1,getThingPos(cid))
   addEvent(removeTp, time*1000, getThingPos(cid))

return true
end

 

testa ai

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

Link para o post
Compartilhar em outros sites

@victor0707 Funciono perfeitamente, obrigado.

 

@Reds Também funciono tudo certo, 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

Ops, nem vi que ele tinha respondido, naquela parte do script que vc pegava a position, não existia cid. Note que nesse script se você mover o item pro lado ele deixa de sumir

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

Link para o post
Compartilhar em outros sites

@Reds Sim, sim, ficou do jeito que queria, consegui entender o erro pelo sua correção, sou leigo nessas parte mas tou estudando a partir desses problemas. Muito 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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo