AN
dúvida

Remover/Adicionar mais de um item

Por AnneMotta, 16 de dez. de 2013 em Scripts

resolvido
10
1.4k
AnneMottaA
16 de dezembro de 2013 às 18:41

Olá abiso e abigas, eu gostaria como faço para adicionar/remover mais de um item sem ter de usar varios doPlayerAddItem...

 

 

Exemplo da maneira que eu iria fazer:

function onUse(cid, item, frompos, item2, topos)
doPlayerAddItem(cid,2160, 100)
doPlayerAddItem(cid,2150, 1)
end

Eu gostaria de saber como eu faço para ao invés de usar 2x doPlayerAddItem usar somente 1x doPlayerAddItem e adicionar 2 itens...

E outra coisa, se eu quiser remover por exemplo: 100 crystal coins e 1 MPA eu iria ter que usar 2x a função getPlayerItemCount, isso eu também queria aprender, como usar apenas 1x o getPlayerItemCount e verificar se tem os 100 crystal coins e a MPA...

 

Caso alguém não entenda pergunte que eu tento simplificar rs

Editado Dezembro 16 por AnneMotta

SkyDangerousS
16 de dezembro de 2013 às 20:18

mas qual o problema de usar o mesmo comando para diferente ids? pra que complicar kakak (:

AnneMottaA
16 de dezembro de 2013 às 20:25

Eu não sei se você entendeu errado mais tipo, é exatamente isso que eu quero o mesmo comando(1x) para todos IDS, não sei se compreendi mal sua resposta mais é isso...

SkyDangerousS
16 de dezembro de 2013 às 21:48

varios comandos para o mesmo id?

 

for i = 1, x do

doPlayerAddItem(cid,2169,100)

end

 

seria isso?

 

ps: to com muito sono

AnneMottaA
16 de dezembro de 2013 às 22:22

Exemplo simples do que eu queria fazer

doPlayerAddItem(cid, 2160,100) <<<< Da forma que sei fazer
doPlayerAddItem(cid, 5151,1) <<<<  Da forma que sei fazer
doPlayerAddItem(cid, 2551,50) <<<< Da forma que sei fazer

doPlayerAddItem(cid, 2160,100 | 5151,1 | 2551, 50) <<<< Exemplo do que eu quero aprender
if getPlayerItemCount(cid, 2160) >= 100 then <<<< Da forma que sei fazer
if getPlayerItemCount(cid, 5151) >= 1 then <<<< Da forma que sei fazer
if getPlayerItemCount(cid, 2551) >= 50 then <<<< Da forma que sei fazer

if getPlayerItemCount(cid, 2160 | 5151 | 2551) >= 100 | 1 | 50 then <<<< Exemplo do que eu quero aprender

Qual quer pessoa que entenda lua sabe que isso é fácil, usei "|" só para separar os ids para entender melhor...

 

 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

Exemplo rapido:

Eu tenho uma quest(bau) que ao dar use eu vou ganhar 3 itens diferente com quantidades diferentes, da forma mais "ruim" eu teria que usar 3x a função doPlayerAddItem, eu quero simplificar isso se só ter que usar 1x a função doPlayerAddItem para os 3 itens.

Editado Dezembro 16 por AnneMotta

zipter98Z
16 de dezembro de 2013 às 23:16

 

local items = {{2160, 100}, {5151, 1}, {2551, 50}}
 
    for _, b in pairs(items) do
        doPlayerAddItem(cid, b[1], b[2])
    end
AnneMottaA
16 de dezembro de 2013 às 23:32

Isso mesmo que eu queria, e tem como fazer a mesma coisa só que para verificar(getPlayerItemCount)?

Verificar Item e count de mais de 1 item em uma função só?

OmegaO
17 de dezembro de 2013 às 00:02

local items = {2152, 2160, 2148}
local count = {}
for i, itemid in pairs(items) do
    count[i] = getPlayerItemCount(cid, itemid)
end

Com isso você vai ter a tabela count com as contagens de cada item na mesma ordem da tabela items.

Recomendo esse tutorial pra aprender melhor:

http://www.xtibia.com/forum/topic/160632-loopings/

AnneMottaA
17 de dezembro de 2013 às 00:14

Obrigado, duvida resolvida!

 

Ocorreu um erro

Você já atingiu seu limite de reputações positivas para hoje

Editado Dezembro 17 por AnneMotta

zipter98Z
17 de dezembro de 2013 às 00:43

Tópico movido para a seção de dúvidas e pedidos resolvidos.