FE
pedido

Dado Que Ganha Itens

Por felipearp, 24 de fev. de 2014 em Scripts

resolvido
tibia
script
otserv
14
1.2k
felipearpF
24 de fevereiro de 2014 às 09:19

Galera eu to presiçando de um script, eu jogava um ot e tinha um evento, la vc ganhava 1 dado(Die.gif Die)

ao clicar nesse dado vc ganhava 1 item entre tantos

eu queria colocar 1kk,2 armors,2legs,2helmets

quando clicar no dado vai vim apenas 1 item

se alguem puder me ajudar agradeço desde ja

24 de fevereiro de 2014 às 09:43
function onUse(cid, item, frompos, item2, topos)

local items = {
[1] = {id = 2160, count = 100, chance = 10},
[2] = {id = 2160, count = 100, chance = 20},
[3] = {id = 2160, count = 100, chance = 30},
[4] = {id = 2160, count = 100, chance = 40},
[5] = {id = 2160, count = 100, chance = 50},
[6] = {id = 2160, count = 100, chance = 60},
[7] = {id = 2160, count = 100, chance = 70}
}

local itemDie = 5792

if item.itemid == itemDie then
   for i = 1, #items do
       if (items[1].chance > math.random(1, 100)) then
          doPlayerAddItem(cid, items[i].id, items[i].count)          
          doPlayerSendTextMessage(cid, "Você Ganhou o item "..getItemNameById(items[i].id).."!", 22)
       else
           doPlayerSendTextMessage(cid, "Você não ganhou nada!", 22)
       end
   end
end

return TRUE
end

e a tag em actions.Xml :

<action fromid="5792" toid="5797" script="NomeDoArquivo.lua"/>

Editado Fevereiro 24 por DuuhCarvalho

felipearpF
24 de fevereiro de 2014 às 09:44

vo testa ake e te falo

24 de fevereiro de 2014 às 09:49

vo testa ake e te falo

 

Ok ! aguardado resposta .

felipearpF
24 de fevereiro de 2014 às 09:55

mano nao funciono , eu clico no dado e to tomando debug

24 de fevereiro de 2014 às 10:36

tenta agora ..

local items = {
[0] = {id = 2160, count = 10, chance = 2},
[1] = {id = 2160, count = 20, chance = 5},
[2] = {id = 2160, count = 30, chance = 10},
[3] = {id = 2160, count = 40, chance = 15},
[4] = {id = 2160, count = 50, chance = 30},
[5] = {id = 2160, count = 70, chance = 90},
[6] = {id = 2160, count = 80, chance = 100}
}

function onUse(cid, item, fromPos, itemEx, toPos)
for i = 0, #items do
    if (items[i].chance > math.random(1, 100)) then
       doPlayerAddItem(cid, items[i].id, items[i].count)
    return doCreatureSay(cid, 'Você Ganho o Item '..getItemNameById(items[i].id)..'!', TALKTYPE_MONSTER)
    end
end

return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER)
end

Editado Fevereiro 25 por DuuhCarvalho

felipearpF
24 de fevereiro de 2014 às 10:46

mano ta funcionando, mais da pra usar toda hr e ficar ganhando item

como por pra usar o dado so 1 vez e ele sumir?

24 de fevereiro de 2014 às 11:07

é so Colocar no Script:

 

doRemoveItem(item.uid)
felipearpF
24 de fevereiro de 2014 às 11:19

nao deu , eu coloquei e paro de vim os itens, agora so fica essas mensagens Felipee rolled a 4.

24 de fevereiro de 2014 às 11:36

Tem que colocar no lugar correto, no caso teria que ficar assim o Script:

 

local items = {
[0] = {id = 2160, count = 10, chance = 2},
[1] = {id = 2160, count = 20, chance = 5},
[2] = {id = 2160, count = 30, chance = 10},
[3] = {id = 2160, count = 40, chance = 15},
[4] = {id = 2160, count = 50, chance = 30},
[5] = {id = 2160, count = 70, chance = 90},
[5] = {id = 2160, count = 80, chance = 100}
}
function onUse(cid, item, fromPos, itemEx, toPos)
for i = 0, #items do
    if (items[i].chance > math.random(1, 100)) then
       doPlayerAddItem(cid, items[i].id, items[i].count)
       doRemoveItem(item.uid)
    return doCreatureSay(cid, 'Você Ganho o Item '..getItemNameById(items[i].id)..'!', TALKTYPE_MONSTER)
    end
end
return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER)
end
24 de fevereiro de 2014 às 12:01

escolhe uma opção ae...

 

ao usar o dado o mesmo será removido.:

 


local items = {
[0] = {id = 2160, count = 10, chance = 2},
[1] = {id = 2160, count = 20, chance = 5},
[2] = {id = 2160, count = 30, chance = 10},
[3] = {id = 2160, count = 40, chance = 15},
[4] = {id = 2160, count = 50, chance = 30},
[5] = {id = 2160, count = 70, chance = 90},
[5] = {id = 2160, count = 80, chance = 100}
}

function onUse(cid, item, fromPos, itemEx, toPos)
for i = 0, #items do
    if (items[i].chance > math.random(1, 100)) then
       doPlayerAddItem(cid, items[i].id, items[i].count)
        doRemoveItem(item.uid)
    return doCreatureSay(cid, 'Você Ganho o Item '..getItemNameById(items[i].id)..'!', TALKTYPE_MONSTER)
    end
end

return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER)
end

 

 

 

esse o player só poderá usar o item 1 vez :


 

 


local items = {
[0] = {id = 2160, count = 10, chance = 2},
[1] = {id = 2160, count = 20, chance = 5},
[2] = {id = 2160, count = 30, chance = 10},
[3] = {id = 2160, count = 40, chance = 15},
[4] = {id = 2160, count = 50, chance = 30},
[5] = {id = 2160, count = 70, chance = 90},
[5] = {id = 2160, count = 80, chance = 100}
}

function onUse(cid, item, fromPos, itemEx, toPos)
for i = 0, #items do
  if getPlayerStorageValue(cid, 12345) <= 0 then
    if (items[i].chance > math.random(1, 100)) then
       doPlayerAddItem(cid, items[i].id, items[i].count)
         setPlayerStorageValue(cid, 12345, 1)
    return doCreatureSay(cid, 'Você Ganho o Item '..getItemNameById(items[i].id)..'!', TALKTYPE_MONSTER)
    end
  else
      doPlayerSendCancel(cid, "Você já usou esse item.")
  end
end

return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER)
end

 

 

 

ou esse , que é por tempo :

 

local items = {
[0] = {id = 2160, count = 10, chance = 2},
[1] = {id = 2160, count = 20, chance = 5},
[2] = {id = 2160, count = 30, chance = 10},
[3] = {id = 2160, count = 40, chance = 15},
[4] = {id = 2160, count = 50, chance = 30},
[5] = {id = 2160, count = 70, chance = 90},
[5] = {id = 2160, count = 80, chance = 100}
}

local time = 15   -- tempo em minutos
local timenow = os.time()
local storage = getPlayerStorageValue(cid, 12345)

function onUse(cid, item, fromPos, itemEx, toPos)
for i = 0, #items do
  if getPlayerStorageValue(cid, 12345) - os.time() <= 0 then
    if (items[i].chance > math.random(1, 100)) then
       doPlayerAddItem(cid, items[i].id, items[i].count)
        local time1 = timenow + time 
         setPlayerStorageValue(cid, 12345, time1)
    return doCreatureSay(cid, 'Você Ganho o Item '..getItemNameById(items[i].id)..'!', TALKTYPE_MONSTER)
    end
  else
      doPlayerSendCancel(cid, "Você só pode usar esse item a cada "..time.." Minutos.")
  end
end

return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER)
end

 

 

 

 

felipearpF
24 de fevereiro de 2014 às 16:07

agora deu tudo certinho muito obrigado pela ajuda

DuuhCarvalho Shoguns
24 de fevereiro de 2014 às 16:12

 

agora deu tudo certinho muito obrigado pela ajuda

DuuhCarvalho Shoguns

 

 

de nada.

 

reportado para que movam !

zipter98Z
24 de fevereiro de 2014 às 18:00

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