JairKevick 105 Postado Outubro 1, 2016 Share Postado Outubro 1, 2016 (editado) VAULT SYSTEM SPRITE: item_12618.rar 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 spaceendlocal 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.")endfunction 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 trueend 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 trueend 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 Editado Outubro 3, 2016 por JairKevick Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/ Compartilhar em outros sites More sharing options...
aleknpto 4 Postado Outubro 1, 2016 Share Postado Outubro 1, 2016 Ótimo Conteúdo ! Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705198 Compartilhar em outros sites More sharing options...
JairKevick 105 Postado Outubro 1, 2016 Autor Share Postado Outubro 1, 2016 2 minutos atrás, aleknpto disse: Ótimo Conteúdo ! OBG Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705199 Compartilhar em outros sites More sharing options...
Administrador Administrador 1437 Postado Outubro 1, 2016 Administrador Share Postado Outubro 1, 2016 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. Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705200 Compartilhar em outros sites More sharing options...
JairKevick 105 Postado Outubro 1, 2016 Autor Share Postado Outubro 1, 2016 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 descuido meu ! Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705230 Compartilhar em outros sites More sharing options...
KarlKalvin 112 Postado Outubro 1, 2016 Share Postado Outubro 1, 2016 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. Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705232 Compartilhar em outros sites More sharing options...
JairKevick 105 Postado Outubro 1, 2016 Autor Share Postado Outubro 1, 2016 (editado) 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 ! Editado Outubro 1, 2016 por JairKevick Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705235 Compartilhar em outros sites More sharing options...
wougoplex 27 Postado Outubro 1, 2016 Share Postado Outubro 1, 2016 Aonde acha a sprite do vault ? Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705236 Compartilhar em outros sites More sharing options...
JairKevick 105 Postado Outubro 1, 2016 Autor Share Postado Outubro 1, 2016 6 minutos atrás, wougoplex disse: Aonde acha a sprite do vault ? 1 min , vou disponibilizar Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705237 Compartilhar em outros sites More sharing options...
wougoplex 27 Postado Outubro 1, 2016 Share Postado Outubro 1, 2016 3 minutos atrás, JairKevick disse: 1 min , vou disponibilizar Agurdando Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705238 Compartilhar em outros sites More sharing options...
JairKevick 105 Postado Outubro 1, 2016 Autor Share Postado Outubro 1, 2016 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 ! Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705239 Compartilhar em outros sites More sharing options...
wougoplex 27 Postado Outubro 1, 2016 Share Postado Outubro 1, 2016 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> Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705240 Compartilhar em outros sites More sharing options...
JairKevick 105 Postado Outubro 1, 2016 Autor Share Postado Outubro 1, 2016 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? Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705241 Compartilhar em outros sites More sharing options...
wougoplex 27 Postado Outubro 1, 2016 Share Postado Outubro 1, 2016 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 Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705242 Compartilhar em outros sites More sharing options...
JairKevick 105 Postado Outubro 1, 2016 Autor Share Postado Outubro 1, 2016 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 Link para o comentário https://xtibia.com/forum/topic/242355-vault-system-sprite/#findComment-1705243 Compartilhar em outros sites More sharing options...
Posts Recomendados