Jump to content
  • 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

Question

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

 

Edited by Muvuka
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...