Ir para conteúdo

Featured Replies

Postado

Pessoal eu estou com um problema que após o monstro morrer a função AddEvent não é aplicada.

 

Spoiler

local tpId = 1387 -- id do teleport que aparece(deixe assim)
local tp = {
    info = {
        pos = {x = 100, y = 217, z = 5}, -- onde aparece o teleport
        toPos = {x = 237, y = 385, z = 8}, -- para onde o teleport leva
        time = 30, -- tempo em segundos que dura o portal
    },
    kill = {
        ["Dracula"] = {count = 1, str = 10629}, -- monstro, quantidade, storage
    },
}
 
function checkTask()
    for name, info in pairs(tp.kill) do
        if getGlobalStorageValue(info.str) < info.count then
            return false
        end
    end
    return true
end
 
function removeTp(tp)
    local t = getTileItemById(tp.info.pos, tpId)
    if t then
        doRemoveItem(t.uid, 1)
        doSendMagicEffect(tp.info.pos, CONST_ME_POFF)
    end
end
 
function onDeath(cid)
    local m = tp.kill[getCreatureName(cid)]
    if not tp then
        return true
    end
    setGlobalStorageValue(m.str, getGlobalStorageValue(m.str) < 0 and 1 or getGlobalStorageValue(m.str) + 1)
    if checkTask() then
        doCreateTeleport(tpId, tp.info.toPos, tp.info.pos)
	addEvent(function() doCreatureSay(cid, "Corra enquanto á tempo o teleport irá desaparecer em breve.", TALKTYPE_ORANGE_1, false, cid, tp.info.pos) end, 100)
        addEvent(removeTp, tp.info.time * 1000, tp)
        for _, info in pairs(tp.kill) do
            setGlobalStorageValue(info.str, -1)
        end
    end
    return true
end

 

 

Na distro reproduz isso: (LuaInterface::luaDoCreatureSay) Creature not found

Postado
addEvent(function() doCreatureSay(cid, "Corra enquanto á tempo o teleport irá desaparecer em breve.", TALKTYPE_ORANGE_1, false, cid, tp.info.pos) end, 100)

por

addEvent(function(cid) if not isCreature(cid) then return LUA_ERROR end doCreatureSay(cid, "Corra enquanto á tempo o teleport irá desaparecer em breve.", TALKTYPE_ORANGE_1, false, cid, tp.info.pos) end, 100, cid)

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • Autor
29 minutos atrás, Vodkart disse:

addEvent(function() doCreatureSay(cid, "Corra enquanto á tempo o teleport irá desaparecer em breve.", TALKTYPE_ORANGE_1, false, cid, tp.info.pos) end, 100)

por


addEvent(function(cid) if not isCreature(cid) then return LUA_ERROR end doCreatureSay(cid, "Corra enquanto á tempo o teleport irá desaparecer em breve.", TALKTYPE_ORANGE_1, false, cid, tp.info.pos) end, 100, cid)

 

Não deu erro na distro mas também a mensagem não surgiu.

 

Postado

é porque a criatura nao está viva no caso kkk é um onDeath e vc usa addEvent, ou seja, não vai aparecer mesmo.

 

você pode colocar uma função diferente para ao invés de aparecer na criatura, faz o cid ser no jogador e a pos da onde vai sair a fala, ser onde o monstro morreu.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo