Ir para conteúdo

Featured Replies

Postado

O problema provavelmente é porque não está passando o local em que será reproduzido o efeito mágico.

No caso tem que ser assim: doSendMagicEffect(positions[i].pos, CONST_ME_POFF)

 

O parâmetro que coloquei "positions[i].pos" retorna a posição criada dentro da variável positions, e como o efeito foi colocado dentro de uma estrutura de repetição, servirá para qualquer outra posição que adicionar após o primeiro índice.

 

-- EditeD by: Yuri
-- Passagem Secreta BOSS: Sunfyre the Golden

local positions = {
    [1] = { pos = { x = 33295, y = 32779, z = 7 }, id = 419, toid = 411 }
}

local tempo = 15

function onUse(cid, item, frompos, item2, topos)
    if getTileItemById(positions[1].pos, positions[1].id).uid < 100 then
        doPlayerSendTextMessage(cid, 19, "Is already open.")
        return true
    end

    doPlayerSendTextMessage(cid, 19, "The passage will close in " .. tempo .. " seconds.")
    function criar_paredes(buff)
        for i = 1, #positions do
            if i <= (#positions / 2) then
                doCreateItem(positions[i].id, 1, positions[i].pos)
                doRemoveItem(obst, 1)
            elseif i > (#positions / 2) then
                local obst = getTileItemById(positions[i].pos, positions[i].toid).uid
                doTransformItem(obst, positions[i].id)
            end
        end
        return true
    end

    for i = 1, #positions do
        local obst = getTileItemById(positions[i].pos, positions[i].id).uid
        if i <= (#positions / 2) and obst ~= 0 then
            doRemoveItem(obst, 1)
            doSendMagicEffect(positions[i].pos, CONST_ME_POFF)
        elseif i > (#positions / 2) and obst ~= 0 then
            doTransformItem(obst, positions[i].toid)
        end
    end
    addEvent(criar_paredes, tempo * 1000)
    return true
end

 

Eu alterei o script que o @Aragllov passou, por tanto, o efeito só vai aparecer quando a pedra for removida.

Eu deixei o script um pouco menor, porque vi muitas coisas desnecessárias:

 

local position = { x = 33295, y = 32779, z = 7 }
local ladder_id = 419

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local ladderItem = getTileItemById(position, ladder_id)
    if ladderItem then
        doRemoveItem(ladderItem.uid, 1)
        doSendMagicEffect(position, CONST_ME_POFF)
    else
        doCreateItem(ladder_id, 1, position)
        doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
        addEvent(function()
            local ladderItem = getTileItemById(position, ladder_id)
            if ladderItem then
                doRemoveItem(ladderItem.uid, 1)
                doSendMagicEffect(position, CONST_ME_POFF)
            end
        end, 15000)
    end

    return true
end

 

Editado por Anderson Sacani (veja o histórico de edições)

  • Respostas 35
  • Visualizações 720
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Anderson Sacani
    Anderson Sacani

    O problema provavelmente é porque não está passando o local em que será reproduzido o efeito mágico. No caso tem que ser assim: doSendMagicEffect(positions[i].pos, CONST_ME_POFF)   O pa

Postado
  • Autor
  Em 22/03/2023 em 00:52, Anderson Sacani disse:

O problema provavelmente é porque não está passando o local em que será reproduzido o efeito mágico.

No caso tem que ser assim: doSendMagicEffect(positions[i].pos, CONST_ME_POFF)

 

O parâmetro que coloquei "positions[i].pos" retorna a posição criada dentro da variável positions, e como o efeito foi colocado dentro de uma estrutura de repetição, servirá para qualquer outra posição que adicionar após o primeiro índice.

 


-- EditeD by: Yuri
-- Passagem Secreta BOSS: Sunfyre the Golden

local positions = {
    [1] = { pos = { x = 33295, y = 32779, z = 7 }, id = 419, toid = 411 }
}

local tempo = 15

function onUse(cid, item, frompos, item2, topos)
    if getTileItemById(positions[1].pos, positions[1].id).uid < 100 then
        doPlayerSendTextMessage(cid, 19, "Is already open.")
        return true
    end

    doPlayerSendTextMessage(cid, 19, "The passage will close in " .. tempo .. " seconds.")
    function criar_paredes(buff)
        for i = 1, #positions do
            if i <= (#positions / 2) then
                doCreateItem(positions[i].id, 1, positions[i].pos)
                doRemoveItem(obst, 1)
            elseif i > (#positions / 2) then
                local obst = getTileItemById(positions[i].pos, positions[i].toid).uid
                doTransformItem(obst, positions[i].id)
            end
        end
        return true
    end

    for i = 1, #positions do
        local obst = getTileItemById(positions[i].pos, positions[i].id).uid
        if i <= (#positions / 2) and obst ~= 0 then
            doRemoveItem(obst, 1)
            doSendMagicEffect(positions[i].pos, CONST_ME_POFF)
        elseif i > (#positions / 2) and obst ~= 0 then
            doTransformItem(obst, positions[i].toid)
        end
    end
    addEvent(criar_paredes, tempo * 1000)
    return true
end

 

Eu alterei o script que o @Aragllov passou, por tanto, o efeito só vai aparecer quando a pedra for removida.

Eu deixei o script um pouco menor, porque vi muitas coisas desnecessárias:

 


local position = { x = 33295, y = 32779, z = 7 }
local ladder_id = 419

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local ladderItem = getTileItemById(position, ladder_id)
    if ladderItem then
        doRemoveItem(ladderItem.uid, 1)
        doSendMagicEffect(position, CONST_ME_POFF)
    else
        doCreateItem(ladder_id, 1, position)
        doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
        addEvent(function()
            local ladderItem = getTileItemById(position, ladder_id)
            if ladderItem then
                doRemoveItem(ladderItem.uid, 1)
                doSendMagicEffect(position, CONST_ME_POFF)
            end
        end, 15000)
    end

    return true
end

 

o primeiro script que você mandou não mudou nada, ele continua fazendo a mesma coisa, porém sem o efeito, já o segundo script que mandou ele dá o efeito porém o piso some ao invés de aparecer uma escada...

Postado
  Em 19/03/2023 em 21:54, yuriowns disse:

Salve rapazeada do TK, to precisano de ajuda nesse script, ele é de uma passagem secreta que quando clica em um item com o AID abre uma escada, porém eu queria que quando abrisse a escada desse o magic effect POFF e quando sumisse também, alguém consegue me ajudar? já tentei adicionar ali e não dá certo :/

script:


 

Mostrar conteúdo oculto

 

Mostrar conteúdo oculto

 

Postado
  • Autor
  Em 22/03/2023 em 14:10, JulianoZN disse:
Mostrar conteúdo oculto

 

o efeito não aparece, não sei o que há de errado com esse script

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.6k

Informação Importante

Confirmação de Termo