Ir para conteúdo
  • Cadastre-se

(Resolvido)Script boss + teleport (Adaptação)


Ir para solução Resolvido por Imperius,

Posts Recomendados

Ola galerinha, show ?
Entao, tenho esse script que ao matar o boss aparece um teleport com contagem regressiva pra poder entrar. Porem queria que esse script funcionasse ao contraio. Que ao aparecer o boss em determinado lugar aparecesse o teleport em tal determinado lugar, e quando o boss morrersse o teleport sumisse. E que nesse teleport que aparecesse ficasse a msg de tempo, que o teleport ficaria la ate 45min (na contagem regressiva como esta no script). 

Alguem poderia ajudar nisso pf ?

Desde de já, Muito grato ! ♥

 

  Citar

local config = {
message = "Teleport se fechará em 90 segundos, Corra antes que feche.",
timeToRemove = 90, -- seconds
teleportId = 1387,
bosses = {
["Boss Thdagger"] = { x = 263, y = 349, z = 7 },
}
}

local function removal(position)
doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
return TRUE
end

function onDeath(cid, corpse, killer)
registerCreatureEvent(cid, "Boss Thdagger")
local position = getCreaturePosition(cid)

for name, pos in pairs(config.bosses) do
if name == getCreatureName(cid) then
teleport = doCreateTeleport(config.teleportId, pos, position)
doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
addEvent(removal, config.timeToRemove * 1000, position)
doSendMagicEffect(position,10)
end
end
return TRUE
end

Mostrar mais  

 

Link para o post
Compartilhar em outros sites
  • Respostas 7
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

seria tipo isso? Não entendi mt bem como será feito p/ nascer boss, então fiz uma talkaction, aí é só vc adapta da maneira que quiser.   data > lib > spawnBoss.lua   BOSS_SPAW

Tenta esse:

local config = {
    message = "Teleport se fechará em 45 minutos. Corra antes que feche.",
    timeToRemove = 45 * 60, -- segundos
    teleportId = 1387,
    bosses = {
        ["Boss Thdagger"] = { x = 263, y = 349, z = 7 },
    }
}

local function removal(position)
    local teleport = getTileItemById(position, config.teleportId)
    if teleport.itemid == config.teleportId then
        doRemoveItem(teleport.uid)
    end
end

function onDeath(cid, corpse, killer)
    unregisterCreatureEvent(cid, "Boss Thdagger")
    local position = getCreaturePosition(cid)

    for name, pos in pairs(config.bosses) do
        if name == getCreatureName(cid) then
            local teleport = doCreateTeleport(config.teleportId, pos, position)
            doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
            addEvent(removal, config.timeToRemove * 1000, position)
            doSendMagicEffect(position, 10)
            break
        end
    end

    return true
end

 

Link para o post
Compartilhar em outros sites
  Em 28/05/2023 em 14:43, Ruyzin Pikatxufly disse:

Tenta esse:

local config = {
    message = "Teleport se fechará em 45 minutos. Corra antes que feche.",
    timeToRemove = 45 * 60, -- segundos
    teleportId = 1387,
    bosses = {
        ["Boss Thdagger"] = { x = 263, y = 349, z = 7 },
    }
}

local function removal(position)
    local teleport = getTileItemById(position, config.teleportId)
    if teleport.itemid == config.teleportId then
        doRemoveItem(teleport.uid)
    end
end

function onDeath(cid, corpse, killer)
    unregisterCreatureEvent(cid, "Boss Thdagger")
    local position = getCreaturePosition(cid)

    for name, pos in pairs(config.bosses) do
        if name == getCreatureName(cid) then
            local teleport = doCreateTeleport(config.teleportId, pos, position)
            doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
            addEvent(removal, config.timeToRemove * 1000, position)
            doSendMagicEffect(position, 10)
            break
        end
    end

    return true
end

 

Mostrar mais  

Muitoooo grato por tentar ajudar, mas nao condiz com pedido feito !

Ao aparecer o boss aparece o teleport juntamente em determinada localizaçao (e nao ter q matar o boss para aparecer o teleporte)  e no teleporte fica aparecendo o tempo em contagem regressiva. e quando o boss morre o teleporte tbm some !

Link para o post
Compartilhar em outros sites
local config = {
    message = "Teleport se fechará em 90 segundos. Corra antes que feche.",
    timeToRemove = 90, -- segundos
    teleportId = 1387,
    bosses = {
        ["Boss Thdagger"] = { x = 263, y = 349, z = 7 },
    }
}

local function removal(position)
    local teleport = getTileItemById(position, config.teleportId)
    if teleport then
        doRemoveItem(teleport.uid)
    end
end

function onDeath(cid, corpse, killer)
    unregisterCreatureEvent(cid, "Boss Thdagger")
    local position = getCreaturePosition(cid)

    for name, pos in pairs(config.bosses) do
        if name == getCreatureName(cid) then
            local teleportPosition = { x = pos.x + 10, y = pos.y + 10, z = pos.z } -- Posição do teleport (+10 nas coordenadas x e y)
            local teleport = doCreateTeleport(config.teleportId, teleportPosition, pos)
            doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
            addEvent(removal, config.timeToRemove * 1000, teleportPosition)
            doSendMagicEffect(position, 10)
            break
        end
    end

    return true
end

 

Entendi errado então ve se é isso que você precisa.

Mude o teleport position.

Editado por Ruyzin Pikatxufly (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  Em 28/05/2023 em 16:16, Ruyzin Pikatxufly disse:
local config = {
    message = "Teleport se fechará em 90 segundos. Corra antes que feche.",
    timeToRemove = 90, -- segundos
    teleportId = 1387,
    bosses = {
        ["Boss Thdagger"] = { x = 263, y = 349, z = 7 },
    }
}

local function removal(position)
    local teleport = getTileItemById(position, config.teleportId)
    if teleport then
        doRemoveItem(teleport.uid)
    end
end

function onDeath(cid, corpse, killer)
    unregisterCreatureEvent(cid, "Boss Thdagger")
    local position = getCreaturePosition(cid)

    for name, pos in pairs(config.bosses) do
        if name == getCreatureName(cid) then
            local teleportPosition = { x = pos.x + 10, y = pos.y + 10, z = pos.z } -- Posição do teleport (+10 nas coordenadas x e y)
            local teleport = doCreateTeleport(config.teleportId, teleportPosition, pos)
            doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
            addEvent(removal, config.timeToRemove * 1000, teleportPosition)
            doSendMagicEffect(position, 10)
            break
        end
    end

    return true
end

 

Entendi errado então ve se é isso que você precisa.

Mude o teleport position.

Expand   Mostrar mais  

Tbm nao condiz com o pedido !

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.

  • Estatísticas dos Fóruns

    96851
    Tópicos
    519615
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo