Ir para conteúdo
  • 0

-=[TFS]=- 0.4 8.60 - Eu queria que bp se não tivesse espaço no iventario caisse no chão com dinheiro dentro da bp ou isse pro depot nome das town id DexSoft


Muvuka

Pergunta

function onUse(cid, item, frompos, item2, topos)
    if item.uid == 1624 then
        if getPlayerStorageValue(cid, 1624) == -1 then
            if getPlayerLevel(cid) >= 0 then
                -- Adiciona as mochilas de ID 10518 ao inventário do jogador
                for i = 1, 42 do
                    if not doPlayerAddItem(cid, 10518, 1) then
                        doPlayerSendCancel(cid, "Você não tem espaço suficiente para as mochilas.")
                        return true
                    end
                end

                -- Adiciona 1000 moedas (ID 2159) dentro de uma mochila (ID 10518) e repete 100 vezes
                for i = 1, 100 do
                    local backpack = doCreateItemEx(10518, 1)
                    if backpack ~= 0 then
                        for j = 1, 42 do
                            doAddContainerItem(backpack, 2159, 1000)
                        end
                        doPlayerAddItemEx(cid, backpack, false)
                    else
                        doPlayerSendCancel(cid, "Você não tem espaço suficiente para as mochilas.")
                        return true
                    end
                end

                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou um prêmio.")
                setPlayerStorageValue(cid, 1624, 1)
            else
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa ser level 0 para usar.")
            end
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já pegou o bônus.")
        end
    end
    return true
end

 

Editado por Muvuka
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 1
function onUse(cid, item, frompos, item2, topos)
    if item.uid == 1624 then
        if getPlayerStorageValue(cid, 1624) == -1 then
            if getPlayerLevel(cid) >= 0 then
                -- Verifica se o jogador tem espaço suficiente no inventário para as mochilas
                local enoughSpace = true
                for i = 1, 42 do
                    if not doPlayerAddItem(cid, 10518, 1) then
                        enoughSpace = false
                        break
                    end
                end

                if enoughSpace then
                    -- Adiciona 1000 moedas (ID 2159) dentro de uma mochila (ID 10518) e repete 100 vezes
                    for i = 1, 100 do
                        local backpack = doCreateItemEx(10518, 1)
                        if backpack ~= 0 then
                            for j = 1, 42 do
                                doAddContainerItem(backpack, 2159, 1000)
                            end
                            doPlayerAddItemEx(cid, backpack, false)
                        else
                            enoughSpace = false
                            break
                        end
                    end
                end

                if enoughSpace then
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou um prêmio.")
                else
                    -- Não há espaço suficiente, então cai no chão com dinheiro dentro
                    local townID = 1 -- Altere isso para o ID da cidade desejada (1 para DexSoft)
                    local tile = getTownTemplePosition(townID)
                    local container = doCreateItemEx(10518, 1)
                    for i = 1, 42 do
                        doAddContainerItem(container, 2159, 1000)
                    end
                    doItemSetAttribute(container, "depot", true)
                    doTeleportThing(container, tile, false)
                    doSendMagicEffect(tile, CONST_ME_TELEPORT)
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tinha espaço suficiente, a mochila foi enviada para o depot.")
                end

                setPlayerStorageValue(cid, 1624, 1)
            else
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa ser level 0 para usar.")
            end
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já pegou o bônus.")
        end
    end
    return true
end

Este script verifica se o jogador tem espaço suficiente no inventário para as mochilas. Se tiver, ele adiciona as mochilas diretamente ao inventário do jogador. Caso contrário, ele cria as mochilas com dinheiro dentro e as envia para o depot da cidade especificada. 

Link para o comentário
Compartilhar em outros sites

  • 0

Ele tem que manda junto com parcel uma backpack id 10518  dentro dessa bp tem 42 bp interna com 100 scarab coin id 2159 dentro dessas 42 backpack corrigi pra mim

não funciono @Holograma

Link para o comentário
Compartilhar em outros sites

  • 1

poderia falar qual erro aparece no console?

 

function onUse(cid, item, frompos, item2, topos)
    if item.uid == 1624 then
        if getPlayerStorageValue(cid, 1624) == -1 then
            if getPlayerLevel(cid) >= 0 then
                -- Verifica se o jogador tem espaço suficiente no inventário para as mochilas
                local enoughSpace = true
                for i = 1, 42 do
                    if not doPlayerAddItem(cid, 10518, 1) then
                        enoughSpace = false
                        break
                    end
                end

                if enoughSpace then
                    -- Adiciona 1000 moedas (ID 2159) dentro de uma mochila (ID 10518) e repete 42 vezes
                    for i = 1, 42 do
                        local backpack = doCreateItemEx(10518, 1)
                        if backpack ~= 0 then
                            for j = 1, 100 do
                                doAddContainerItem(backpack, 2159, 1)
                            end
                            doPlayerAddItemEx(cid, backpack, false)
                        else
                            enoughSpace = false
                            break
                        end
                    end
                end

                if enoughSpace then
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou um prêmio.")
                else
                    -- Não há espaço suficiente, então cai no chão com dinheiro dentro
                    local townID = 1 -- Altere isso para o ID da cidade desejada (1 para DexSoft)
                    local tile = getTownTemplePosition(townID)
                    local container = doCreateItemEx(10518, 1)
                    for i = 1, 100 do
                        doAddContainerItem(container, 2159, 1)
                    end
                    doTeleportThing(container, tile, false)
                    doSendMagicEffect(tile, CONST_ME_TELEPORT)
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tinha espaço suficiente, a mochila foi enviada para o depot.")
                end

                setPlayerStorageValue(cid, 1624, 1)
            else
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa ser level 0 para usar.")
            end
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já pegou o bônus.")
        end
    end
    return true
end

 

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...