Ir para conteúdo

[Actions] Chest System


Vodkart

Posts Recomendados

O script tem como função ser prático,de vez de precisar criar vários scripts de báu para quests,podemos fazer tudo em um arquivo só!

 

data/actions/scripts/chestsys.lua

local chests = {
[6001] = {storage = 8000, item = 7429, amount = 1},
[6002] = {storage = 8000, item  = 7366, amount = 1},
[6003] = {storage = 8001, item  = 8926, amount = 4},
[6004] = {storage = 8002, item  = 2160, amount = 100}
}
function onUse(cid,item,fromPosition,itemEx,toPosition)
local v = chests[item.uid]
if getPlayerStorageValue(cid, v.storage) ~= -1 then
return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty")
elseif getPlayerFreeCap(cid) < (getItemWeightById(v.item)*v.amount) then
return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You need " .. (getItemWeightById(v.item)*v.amount) .. " capacity in order to get the item")
end
if isItemStackable(v.item) or v.amount == 1 then
doPlayerAddItem(cid, v.item, v.amount) 
else
for i = 1, v.amount do 
doPlayerAddItem(cid, v.item, 1)  
end
end
setPlayerStorageValue(cid,v.storage,1)
return doPlayerSendTextMessage(cid,22,"You have found a "..v.amount.." " .. getItemNameById(v.item) .. ".")
end

 

 

data/actions/actions.xml

<action uniqueid="6001-6004" event="script" value="chestsys.lua"/>

 

° - Mas como funciona? Como edito o script?

 

[6001] = {storage = 8000, item = 7429, amount = 1 }

 

Vermelho: significa o unique ID do báu

Verde: É a storage do báu(pode ser colocada a mesma storage caso for mais de um báu na mesma quest)

Azul: É o ID do item que será dado ao jogador que abrir o báu

Laranja: É a quantidade de items que o player vai receber

 

Como faço para adicionar mais?

 

Simples,coloque uma virgula na última chave,ficando:

 

local chests = {
[6001] = {storage = 8000, item = 7429, amount = 1},
[6002] = {storage = 8000, item  = 7366, amount = 1},
[6003] = {storage = 8001, item  = 8926, amount = 4},
[6004] = {storage = 8002, item  = 2160, amount = 100} , -- adicionei uma virgula no final
[6005] = {storage = 8004, item  = 2152, amount = 50}
}

 

e na tag:

 

<action uniqueid="6001-6005" event="script" value="chestsys.lua"/>

 

Colocamos um a mais,de vez de ser 6001-6004,colocamos,6001-6005.

 

 

 

Créditos: Santi & Vodkart

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

  • 2 months later...
  • 8 months later...

muito bom mesmo

 

mas se eu quizer colocar pro player tipo receber tanto de quantidade?

 

 

 

e é normal apareçe duplicate? unique id

 

se aparecer duplicate uniqueid é porque algum dos id já está em uso, mas pode ser usado actionid ao invés de uniqueid

Link para o comentário
Compartilhar em outros sites

Interessante.

Como faria para colocar mais de um item como premio por baú?

E uma quantidade maior do q 1 desse item.

Ex.: 30 gold

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

×
×
  • Criar Novo...