Ir para conteúdo

Featured Replies

Postado
  • Solução
14 horas atrás, Bruno Rezende disse:

Funcionou, poderia me ajudar somente no refino do script? Exemplo, ao tentar dar use de novo (se os walls tiverem sumido) da esse erro na console:

2023-06-19 17:04:25 -  [Error - Action Interface]
2023-06-19 17:04:25 -  data/actions/scripts/gatescastle.lua:onUse
2023-06-19 17:04:25 -  Description:
2023-06-19 17:04:25 -  (luaDoRemoveItem) Item not found
 

Outro ponto é, como restringir o uso da alavanca a somente se o player tiver 100 itens do ID 4848 com ele?

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local time = 30 -- em segundos
    local item_id = 1543 -- ID da parede
    local requiredItemCount = 100 -- Quantidade necessária do item ID 4848
    
    local wallPositions = {
        {x = 186, y = 54, z = 7},
        {x = 187, y = 54, z = 7},
        {x = 186, y = 55, z = 7},
        {x = 187, y = 55, z = 7},
        -- Adicione mais posições de paredes aqui conforme necessário
        {x = 188, y = 55, z = 7},
        {x = 189, y = 55, z = 7},
        -- Adicione mais posições de paredes aqui conforme necessário
        -- Continue adicionando mais 100 posições de paredes
    }
    
    -- Verifica se o jogador possui a quantidade necessária do item
    if getPlayerItemCount(cid, 4848) < requiredItemCount then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter 100 itens do ID 4848 para usar esta alavanca.")
        return true
    end
    
    local removedCount = 0
    
    for i = 1, #wallPositions do
        local wallpos = wallPositions[i]
        local tile = getTileItemById(wallpos, item_id)
        
        if tile and tile.uid > 0 then
            doRemoveItem(tile.uid)
            doSendMagicEffect(wallpos, CONST_ME_POFF)
            addEvent(doCreateItem, time * 1000, item_id, 1, wallpos)
            removedCount = removedCount + 1
        end
    end
    
    if removedCount > 0 then
        -- Remove os 100 itens do ID 4848 do inventário do jogador
        doPlayerRemoveItem(cid, 4848, requiredItemCount)
        return true
    else
        return false
    end
end
 

Foi removido o erro que você citou e adicionado verificação do item que você pediu

Em 10/04/2019 em 21:41, Otzero disse:

QUERO UM SCRIPT DE PISO , QUE QUANDO O PLAYER PASSAR POR CIMA REMOVER A PAREDE ,E DEPOIS DE UM TEMPO A PAREDE APARECER DE NOVO !

+REP

 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

  • Respostas 10
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • function onStepIn(cid, item, position, fromPosition) local time = 30 -- em segundos local item_id, wallpos = 1543, {x=186, y=54, z=7} -- id da parede e pos dela if not isPlayer(cid) then return

  • @Pifafa funciona como action tbm, só usar assim:   function onUse(cid, item, fromPosition, itemEx, toPosition) local time = 30 -- em segundos local item_id, wallpos = 1543, {x=186, y=54, z=

  • Se a parede for outro id cópia e faça com outro id, só seguir esse codigo   function onUse(cid, item, fromPosition, itemEx, toPosition)     local time = 30 -- em segundos     local item_

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