Ir para conteúdo

Featured Replies

Postado

Salve rapazes, tranquilo? Preciso de ajuda pra colocar para os npc's que vendem pots verificarem quantos itens possuem no tile em que o player está e se tiver com +80 itens no sqm, o npc avisa e não vende nada até o player ir em um sqm com menos de 80 itens no chão.

 

  • 2 weeks later...
Postado
  • Diretor

tente algo como isso

 

function onCreatureAppear(cid)
    -- Lógica para quando o jogador se aproxima do NPC
end

function onCreatureDisappear(cid)
    -- Lógica para quando o jogador se afasta do NPC
end

function onCreatureSay(cid, type, msg)
    -- Lógica para quando o jogador fala com o NPC
    if msgcontains(msg, "trocar") then
        if isPlayer(cid) then
            local player = isPlayer(cid) -- Alteração aqui
            local tile = player:getTile()
            local itemsOnTile = tile:getItems()

            for _, item in pairs(itemsOnTile) do
                if isMoveable(item:getId()) then
                    doPlayerSendCancelMessage(cid, "Você não pode iniciar a negociação com itens móveis no chão.") -- Alteração aqui
                    return
                end
            end

            -- Lógica para iniciar a troca de itens
            local npc = getNpc()
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você iniciou uma negociação com " .. getCreatureName(npc) .. ". Coloque os itens na janela de negociação.")
            doNpcOpenTradeWindow(npc, cid)
        end
    end
end

function onThink()
    -- Lógica para o que o NPC faz enquanto pensa
end

-- Registre o NPC no servidor
function register()
    local npc = createNpc("TradeNPC", {x = 100, y = 100, z = 7}) -- Substitua com a localização desejada
    registerCreatureEvent(npc, "TradeEvent") -- Substitua "TradeEvent" com o nome do evento de troca
end

register()
 

Postado
  • Autor
Agora, L3K0T disse:

tente algo como isso

 

function onCreatureAppear(cid)
    -- Lógica para quando o jogador se aproxima do NPC
end

function onCreatureDisappear(cid)
    -- Lógica para quando o jogador se afasta do NPC
end

function onCreatureSay(cid, type, msg)
    -- Lógica para quando o jogador fala com o NPC
    if msgcontains(msg, "trocar") then
        if isPlayer(cid) then
            local player = isPlayer(cid) -- Alteração aqui
            local tile = player:getTile()
            local itemsOnTile = tile:getItems()

            for _, item in pairs(itemsOnTile) do
                if isMoveable(item:getId()) then
                    doPlayerSendCancelMessage(cid, "Você não pode iniciar a negociação com itens móveis no chão.") -- Alteração aqui
                    return
                end
            end

            -- Lógica para iniciar a troca de itens
            local npc = getNpc()
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você iniciou uma negociação com " .. getCreatureName(npc) .. ". Coloque os itens na janela de negociação.")
            doNpcOpenTradeWindow(npc, cid)
        end
    end
end

function onThink()
    -- Lógica para o que o NPC faz enquanto pensa
end

-- Registre o NPC no servidor
function register()
    local npc = createNpc("TradeNPC", {x = 100, y = 100, z = 7}) -- Substitua com a localização desejada
    registerCreatureEvent(npc, "TradeEvent") -- Substitua "TradeEvent" com o nome do evento de troca
end

register()
 

mas no caso o meu servidor é 7.4 e não tem esse sistema de trade

Postado
  • Diretor

function onCreatureAppear(cid)
    -- Lógica para quando o jogador se aproxima do NPC
end

function onCreatureDisappear(cid)
    -- Lógica para quando o jogador se afasta do NPC
end

function onCreatureSay(cid, type, msg)
    -- Lógica para quando o jogador fala com o NPC
    if msgcontains(msg, "trocar") then
        local playerTile = getThingPos(cid)
        local itemsOnTile = getTileItems(playerTile)

        for _, item in pairs(itemsOnTile) do
            if isMoveable(item.uid) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não pode iniciar a negociação com itens móveis no chão.")
                return
            end
        end

        -- Lógica para a troca de itens (adicione sua lógica personalizada aqui)
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você iniciou uma negociação comigo.")
    end
end

function onThink()
    -- Lógica para o que o NPC faz enquanto pensa
end

-- Registre o NPC no servidor
function register()
    local npc = createNpc("TradeNPC", {x = 100, y = 100, z = 7}) -- Substitua com a localização desejada
    registerCreatureEvent(npc, "TradeEvent") -- Substitua "TradeEvent" com o nome do evento de troca
end

register()
 

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo