VO

[Actions] Chest System

Por Vodkart, 15 de nov. de 2011 em Actions e Talkactions

script
11
2.3k
VodkartV
15 de novembro de 2011 às 22:32

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 Outubro 17 por Vodkart

SkyDangerousS
15 de novembro de 2011 às 22:34

Muito util.

Parabéns , gostei ;D

 

rep + !

15 de novembro de 2011 às 22:38

Simples e bem útil, parabéns.

 

obs: entra no msn.

2 meses depois...
VodkartV
29 de janeiro de 2012 às 18:58

obrigado

quem tiver alguma duvida ou sugestão favor postar

LordedosotsL
31 de janeiro de 2012 às 04:42

parabém muito bom

 

ai Vodkart sei q você e o cara nos Scripting ai queria q você dese uma olada aq para você ver oque asa

http://www.xtibia.com/forum/topic/97343-sistema-de-vomito/

9 meses depois...
soldoranS
15 de outubro de 2012 às 03:09

muito bom mesmo

 

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

 

 

 

e é normal apareçe duplicate? unique id

Editado Outubro 15 por soldoran

VodkartV
16 de outubro de 2012 às 21:16

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

soldoranS
17 de outubro de 2012 às 05:23

entao mas nao tem nenhum repitidos

a num ser a unique do bau como tu coloco ali

 

mas ate tirei e da no mesmo...

 

bau vazio :/

victormoazV
17 de outubro de 2012 às 18:16

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 Outubro 17 por BobStriker

VodkartV
17 de outubro de 2012 às 19:00

Interessante.

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

 

pronto, script editado, só usar o novo

20cm2
17 de outubro de 2012 às 22:22

http://www.xtibia.com/forum/topic/159008-simplificando-quests/

hehe, mas o meu não tinha a capacidade

masok