Ir para conteúdo

[VAULT SYSTEM] + SPRITE


JairKevick

Posts Recomendados

1 minuto atrás, JairKevick disse:

 

a função é diferente então ;-; esta funcionando no tfs 0.3.6 e 0.4 , n testei em 1.0

Sabe como arrumar ?

4 minutos atrás, KarlKalvin disse:

Muda a linha 39 para if count > 0 then

Ainda continua mesmo erro n sei se era pra arruma 

Link para o comentário
Compartilhar em outros sites

10 minutos atrás, wougoplex disse:

Sabe como arrumar ?

Ainda continua mesmo erro n sei se era pra arruma 

 

Vou rever o código e vou atualizar meu post, 1 segundo...

 

Tenta assim:

 

 

 

local vaultStorage = 19996661

 

local function getPlayerFreeSpace(cid) 

    local checkSlots, space = {3,5,6,10}, 0

    local function getContainerFree(container)

        local free = 0

        if(not isContainer(container.uid)) then

            return free

        end

        for i = 0, (getItemInfo(container.itemid).maxItems -1) do

            local item = getContainerItem(container.uid, i)

            if(item.itemid == 0) then

                free = free + 1

            elseif(isContainer(item.uid)) then

                free = free + getContainerFree(item)

            end

        end

        return free

    end

    for _, i in ipairs(checkSlots) do

        local slotItem = getPlayerSlotItem(cid, i)

        if(i ~= CONST_SLOT_BACKPACK and slotItem.itemid == 0) then

            space = space + 1

        elseif(isContainer(slotItem.uid)) then

            space = space + getContainerFree(slotItem)

        end

    end

    return space

end

local function withdrawMoneySecurity(cid, value, storage)

    local storageMoney, countValue = getPlayerStorageValue(cid, storage), 0

    local config = {

        [1] = {ITEM_CRYSTAL_COIN, math.floor(value/getItemInfo(ITEM_CRYSTAL_COIN).worth)},

        [2] = {ITEM_PLATINUM_COIN, math.floor((value/getItemInfo(ITEM_PLATINUM_COIN).worth)-(math.floor(value/getItemInfo(ITEM_CRYSTAL_COIN).worth)*100))},

        [3] = {ITEM_GOLD_COIN, math.floor(value%100)}

    }

    for i = 1, #config do

        local count = config[2]

        if(count <= 1 )then

            while(count <= 1) do

                storageMoney = getPlayerStorageValue(cid, storage)

                local a, itemCap = count > 100 and 100 or count, getItemInfo(config[1]).weight

                if(getPlayerFreeCap(cid) >= (itemCap*a)) then

                    if(getPlayerFreeSpace(cid) >= 1) then

                        doPlayerAddItem(cid, config[1], a)

                        setPlayerStorageValue(cid, storage, (storageMoney - (getItemInfo(config[1]).worth * a)))

                        countValue = countValue + (getItemInfo(config[1]).worth * a)

                        count = count - a

                    else

                        return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You do not have enough space in container. You have took "..countValue.." gold"..(countValue > 1 and "s" or "").." from vault.")

                    end

                else

                    return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You do not have enough cap. You have took "..countValue.." gold"..(countValue > 1 and "s" or "").." from vault.")

                end

            end

        end

    end

    return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You have took "..countValue.." gold"..(countValue > 1 and "s" or "").." from vault.")

end

function onUse(cid, item, fromPosition, itemEx, toPosition)

    local cidMoney, vaultMoney = getPlayerMoney(cid), getPlayerStorageValue(cid, vaultStorage)

    if(vaultMoney <= 0) then

        if(cidMoney <= 0) then

            return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You do not have money.")

        end

        doPlayerRemoveMoney(cid, cidMoney)

        setPlayerStorageValue(cid, vaultStorage, cidMoney)

        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You have added "..cidMoney.." gold"..(cidMoney > 1 and "s" or "").." to vault. Now your money is kept in the vault chest, you can take it whenever you want.")

    else

        withdrawMoneySecurity(cid, vaultMoney, vaultStorage)

    end

    return true

end

 

 

 

Aparentemente está normal o código, mas fiz uma pequena alteração. qual base você usa?

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

Eu uso uma ia que meu amigo me passa

 Nao da erro na distro aparece isso 

 

[01/10/2016 19:47:46] [Warning - Player::setStorage] Unknown reserved key: 19996661 for player: Duyes

 

e como faço pra retira a grana 

 

Link para o comentário
Compartilhar em outros sites

Agora, KarlKalvin disse:

Esse erro, não é desse sistema.

Do mesmo jeito que você adiciona deve ter uma opção para remover o balance.

Eu click com o botao e adiciona click sem grana e fala que n tenho grana pra adiciona

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, JairKevick disse:

clica com o botao direito no vault ! , caso n tiver cap suficiente ele irá tirar somente oque conseguir e irá deixar o resto no cofre ainda ! 

Aparece 

20:13 You do not have money.

Acho melhor eu esquecer isso ele adiciona a grana e dps n retira 

Link para o comentário
Compartilhar em outros sites

16 minutos atrás, wougoplex disse:

ta adicionei a grana e pra tirar agora

 

11 minutos atrás, JairKevick disse:

atualizei o script no post ! re-adiciona e veja oque acontece! 

So o 1 ou os outros tbm ?

Link para o comentário
Compartilhar em outros sites

24 minutos atrás, JairKevick disse:

você tem que ter dinheiro na mochila para poder adicionar no vault 

 

[01/10/2016 20:31:58] [Error - Action Interface] 

[01/10/2016 20:31:58] data/actions/scripts/cofre.lua:onUse

[01/10/2016 20:31:58] Description: 

[01/10/2016 20:31:58] data/actions/scripts/cofre.lua:39: attempt to compare table with number

[01/10/2016 20:31:58] stack traceback:

[01/10/2016 20:31:58]     data/actions/scripts/cofre.lua:39: in function 'withdrawMoneySecurity'

[01/10/2016 20:31:58]     data/actions/scripts/cofre.lua:70: in function <data/actions/scripts/cofre.lua:60

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...