[VAULT SYSTEM] + SPRITE

JairKevick
em Actions e Talkactions

JairKevick

Vamos Revolucionar o mundo Poketibia! REP+ OPEN SOURCE \o/
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/10/15Posts: 328Gênero: MasculinoChar no Tibia: Smell Hammer

VAULT SYSTEM 

 

SPRITE:

 

item_12618.rar
1.1 KB158 downloads

 

Como contribuição para vocês eu trago um sistema para o servidores de vocês !

 

Hoje Trago o sistema de Cofre mais conhecido como VAULT na pokexgames ! esse sistema servirá para todos os servidores do TFS 0.3.6 +  Vamos Lá !

 

1° - Vá em data/actions/scripts e crie um arquivo chamado cofre.lua, e dentro você coloca isso:  

 

  Ocultar conteúdo

local vaultStorage = 6661
 
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 

 

 

Agora em data/actions/actions.xml adicione a tag:

 

  Ocultar conteúdo

<action itemid="ID" event="script" value="cofre.lua"/>

 

Agora em data/creaturescripts/scripts crie um arquivo com o nome cofreLook.lua, e dentro coloque isso:

 

  Ocultar conteúdo

local config = {
    vaultId = ID, 
    vaultStorage = 6661 
}

function onLook(cid, thing, position, lookDistance)
    local show = getPlayerStorageValue(cid, config.vaultStorage)
    if(thing.itemid == config.vaultId) then
        local str = "You see"..(getItemInfo(thing.itemid).article and " "..getItemInfo(thing.itemid).article.." " or " ")..getItemInfo(thing.itemid).name..".\nYou have "..(show < 0 and 0 or show).." gold"..(show > 1 and "s" or "").." in the vault."
        if(getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then
            str = str .. "\nItemID: ["..thing.itemid.."].\nPosition: [X: "..getThingPos(thing.uid).x.."] [Y: "..getThingPos(thing.uid).y.."] [Z: "..getThingPos(thing.uid).z.."]."
        end
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str)
        return false
    end
    return true
end

 

4° - Agora em data/creaturescripts/creaturescripts.xml adicione a tag:

 

  Ocultar conteúdo

<event type="look" name="cofreLook" event="script" value="cofreLook.lua"/>

 

5° - Agora em data/creaturescripts/login.lua lá embaixo adicione junto dos outros:

 

  Ocultar conteúdo

registerCreatureEvent(cid, "cofreLook")

item_12618.rar

NÃO ESQUEÇA DE DEIXAR O REP+ SE NAO O PIPI VAI CAIR

 

POKEMON HP

 

cM56DuW.png

 

 

 

8c1705c9c4b44702be864117ca420aaf.1.gif

 

 

 

 

 

aleknpto

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/11/15Posts: 27

Ótimo Conteúdo ! =):

JairKevick

Vamos Revolucionar o mundo Poketibia! REP+ OPEN SOURCE \o/
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/10/15Posts: 328Gênero: MasculinoChar no Tibia: Smell Hammer
2 minutos atrás, aleknpto disse:

Ótimo Conteúdo ! =):

 

OBG 

NÃO ESQUEÇA DE DEIXAR O REP+ SE NAO O PIPI VAI CAIR

 

POKEMON HP

 

cM56DuW.png

 

 

 

8c1705c9c4b44702be864117ca420aaf.1.gif

 

 

 

 

 

Administrador

xTibia 2017
avatar
Administrador
Administrador

INFOS

Grupo: AdministradorRegistrado: 09/07/05Posts: 5780Gênero: Outro

O conteúdo era para ser publicado somente no dia em que sua apresentação fosse publicada. Vou conversar com a equipe para decidir se ele vai valer.

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

 

 

JairKevick

Vamos Revolucionar o mundo Poketibia! REP+ OPEN SOURCE \o/
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/10/15Posts: 328Gênero: MasculinoChar no Tibia: Smell Hammer
5 horas atrás, Daniel disse:

O conteúdo era para ser publicado somente no dia em que sua apresentação fosse publicada. Vou conversar com a equipe para decidir se ele vai valer.

 

eu n sei pq tem que ser publicado no dia se o post seria o mesmo e o autor, n teria como burlar isso ! desde que seja recente o post em intenção da maratona mas caso n valia eu trago outra coisa sem problemas :D descuido meu ! 

NÃO ESQUEÇA DE DEIXAR O REP+ SE NAO O PIPI VAI CAIR

 

POKEMON HP

 

cM56DuW.png

 

 

 

8c1705c9c4b44702be864117ca420aaf.1.gif

 

 

 

 

 

KarlKalvin

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 07/02/12Posts: 427

O script não é seu, foi reportado para que a equipe fique ciente, caso queira que sua contribuição seja aceita, tente criar algo seu, não copiar dos outros.

 

- removed '-'

 

www.facebook.com/pokemonsxr

 

pokemonsxr.ddns.net

JairKevick

Vamos Revolucionar o mundo Poketibia! REP+ OPEN SOURCE \o/
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/10/15Posts: 328Gênero: MasculinoChar no Tibia: Smell Hammer
18 minutos atrás, KarlKalvin disse:

O script não é seu, foi reportado para que a equipe fique ciente, caso queira que sua contribuição seja aceita, tente criar algo seu, não copiar dos outros.

 

 

se ja existe esse sistema na internet eu n sei mas oque valeu então foi a atenção, só que eu procurei antes de fazer algo existente e não achei ! mas oque valeu foi a intenção !

NÃO ESQUEÇA DE DEIXAR O REP+ SE NAO O PIPI VAI CAIR

 

POKEMON HP

 

cM56DuW.png

 

 

 

8c1705c9c4b44702be864117ca420aaf.1.gif

 

 

 

 

 

wougoplex

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/07/16Posts: 189Gênero: Masculino

Aonde acha a sprite do vault ?

 

JairKevick

Vamos Revolucionar o mundo Poketibia! REP+ OPEN SOURCE \o/
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/10/15Posts: 328Gênero: MasculinoChar no Tibia: Smell Hammer
6 minutos atrás, wougoplex disse:

Aonde acha a sprite do vault ?

 

1 min , vou disponibilizar 

NÃO ESQUEÇA DE DEIXAR O REP+ SE NAO O PIPI VAI CAIR

 

POKEMON HP

 

cM56DuW.png

 

 

 

8c1705c9c4b44702be864117ca420aaf.1.gif

 

 

 

 

 

wougoplex

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/07/16Posts: 189Gênero: Masculino
3 minutos atrás, JairKevick disse:

1 min , vou disponibilizar 

Agurdando

 

JairKevick

Vamos Revolucionar o mundo Poketibia! REP+ OPEN SOURCE \o/
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/10/15Posts: 328Gênero: MasculinoChar no Tibia: Smell Hammer
17 minutos atrás, wougoplex disse:

Aonde acha a sprite do vault ?

 

 

Sprite inserida ao topico ja em OBD, Bom uso ! sprite propria feita pelo meu spriter ! 

NÃO ESQUEÇA DE DEIXAR O REP+ SE NAO O PIPI VAI CAIR

 

POKEMON HP

 

cM56DuW.png

 

 

 

8c1705c9c4b44702be864117ca420aaf.1.gif

 

 

 

 

 

wougoplex

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/07/16Posts: 189Gênero: Masculino
8 minutos atrás, JairKevick disse:

 

Sprite inserida ao topico ja em OBD, Bom uso ! sprite propria feita pelo meu spriter ! 

[01/10/2016 19:20:15] [Error - Action Interface] 

[01/10/2016 19:20:15] data/actions/scripts/cofre.lua:onUse

[01/10/2016 19:20:15] Description: 

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

[01/10/2016 19:20:15] stack traceback:

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

[01/10/2016 19:20:15]     data/actions/scripts/cofre.lua:71: in function <data/actions/scripts/cofre.lua:61>

JairKevick

Vamos Revolucionar o mundo Poketibia! REP+ OPEN SOURCE \o/
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/10/15Posts: 328Gênero: MasculinoChar no Tibia: Smell Hammer
Agora, wougoplex disse:

[01/10/2016 19:20:15] [Error - Action Interface] 

[01/10/2016 19:20:15] data/actions/scripts/cofre.lua:onUse

[01/10/2016 19:20:15] Description: 

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

[01/10/2016 19:20:15] stack traceback:

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

[01/10/2016 19:20:15]     data/actions/scripts/cofre.lua:71: in function <data/actions/scripts/cofre.lua:61>

 

Qual versão do TFS?

NÃO ESQUEÇA DE DEIXAR O REP+ SE NAO O PIPI VAI CAIR

 

POKEMON HP

 

cM56DuW.png

 

 

 

8c1705c9c4b44702be864117ca420aaf.1.gif

 

 

 

 

 

wougoplex

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/07/16Posts: 189Gênero: Masculino
4 minutos atrás, wougoplex disse:

[01/10/2016 19:20:15] [Error - Action Interface] 

[01/10/2016 19:20:15] data/actions/scripts/cofre.lua:onUse

[01/10/2016 19:20:15] Description: 

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

[01/10/2016 19:20:15] stack traceback:

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

[01/10/2016 19:20:15]     data/actions/scripts/cofre.lua:71: in function <data/actions/scripts/cofre.lua:61>

Acho que 1.0

JairKevick

Vamos Revolucionar o mundo Poketibia! REP+ OPEN SOURCE \o/
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/10/15Posts: 328Gênero: MasculinoChar no Tibia: Smell Hammer
Agora, wougoplex disse:

Acho que 1.0

 

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

NÃO ESQUEÇA DE DEIXAR O REP+ SE NAO O PIPI VAI CAIR

 

POKEMON HP

 

cM56DuW.png

 

 

 

8c1705c9c4b44702be864117ca420aaf.1.gif