esse script é seu?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

A estrutura sim, as tags parcialmente.
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

então da uma olhada aqui:
http://www.xtibia.co...sente-de-natal/
e compara com o seu
items = {
[0] = {id = 7735, count = 1, chance = 2},
[1] = {id = 7735, count = 1, chance = 5},
[2] = {id = 7735, count = 1, chance = 10},
[3] = {id = 7735, count = 1, chance = 15},
[4] = {id = 7735, count = 1, chance = 30},
[4] = {id = 7735, count = 1, chance = 30},
[5] = {id = 7735, count = 1, 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, 1)
return doCreatureSay(cid, 'Wow Você Ganho! Seu Item e '..getItemNameById(items[i].id)..'!', TALKTYPE_MONSTER)
end
end
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER)
end
Editado Agosto 16 por Vodkart
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Obviamente idênticos, mas editei parcialmente as tags, porem por justa razão darei os merecidos créditos.
Para falar a verdade esse script já estava em meu ot só fiz edita-lo.
Créditos by:
Overllord
Newtonnotwen
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

Não é por nada não, mas quando for criar um tópico com algum código adicione o nome do autor, mesmo que você não souber quem criou coloque:
Autor: desconhecido
ou
Autor: fulano e ciclano
isso evita que te reportem por ripping, e n queremos isso né amg?
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Obviamente.
Obrigado inicialmente pelo aviso e agradecido pelo termo amigo.
Créditos atualizados.
gostei do script vou ussar no meu projeto
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Pronto, melhorei o tutorial para adicionar ou remover mais opções de itens.
Se não tiver bem explicado avisa.
info
Grupo: Marquês
Registrado: 06/11/11
Posts: 1.1k
Reputação: +109
Char no Tibia: Stroked

Dahora, mais sei la ta meio bugado isso, o maximo q vai é uns 3 iten dps n vai sla ta meio estranho..
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Deve ser a chance.
Põe 100% que vem todos.
info
Grupo: Marquês
Registrado: 06/11/11
Posts: 1.1k
Reputação: +109
Char no Tibia: Stroked

Bom, tenho um random item tambem q é mto eficaz e é super na sorte mesmo, n tem valor de tanto de chanse, é pura sorte mesmo:
local PRESENT_BLUE = {2687, 6394, 6280, 6574, 6578, 6575, 6577, 6569, 6576, 6572, 2114}local PRESENT_RED = {2152, 2152, 2152, 2153, 5944, 2112, 6568, 6566, 2492, 2520, 2195, 2114, 2114, 2114, 6394, 6394, 6576, 6576, 6578, 6578, 6574, 6574}
function onUse(cid, item, fromPosition, itemEx, toPosition)
local count = 1
if(item.itemid == 6570) then
local randomChance = math.random(1, #PRESENT_BLUE)
if(randomChance == 1) then
count = 10
elseif(randomChance == 2) then
count = 3
end
doPlayerAddItem(cid, PRESENT_BLUE[randomChance], count)
elseif(item.itemid == 6571) then
local randomChance = math.random(1, #PRESENT_RED)
if randomChance > 0 and randomChance < 4 then
count = 10
end
doPlayerAddItem(cid, PRESENT_RED[randomChance], count)
end
doSendMagicEffect(fromPosition, CONST_ME_GIFT_WRAPS)
doRemoveItem(item.uid, 1)
return true
end
No caso peguei da surpriese bag (em vermelho é o id das surprise bags, são duas)
Em verde é o id dos items que vao vir..
Editado Agosto 27 por GuizitoG
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

if randomChance > 0 and randomChance < 4 then = Tem chance.
info
Grupo: Marquês
Registrado: 06/11/11
Posts: 1.1k
Reputação: +109
Char no Tibia: Stroked

OMG -.-
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Todo script você que escolhe o random cara, esses mesmo:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local count = 1
if(item.itemid == 6570) then
local randomChance = math.random(1, #PRESENT_BLUE)
if(randomChance == 1) then
count = 10
elseif(randomChance == 2) then
count = 3
end
doPlayerAddItem(cid, PRESENT_BLUE[randomChance], count)
elseif(item.itemid == 6571) then
local randomChance = math.random(1, #PRESENT_RED)
if randomChance > 0 and randomChance < 4 then
count = 10
end




info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80
Ao clicar em um item tem chance de vir aleatoriamente outros.
Em actions.xml adicione:
<action itemid="1947" event="script" value="random.lua"/>
Editando:
-Vermelho: Item id
-Verde: nome do arquivo
Em data/actions/scrips crie um arquivo.lua, nomeio para random e adicione:
items = {
[0] = {id = 7735, count = 1, chance = 2},
[1] = {id = 7735, count = 1, chance = 5},
[2] = {id = 7735, count = 1, chance = 10},
[3] = {id = 7735, count = 1, chance = 15},
[4] = {id = 7735, count = 1, chance = 30},
[5] = {id = 7735, count = 1, chance = 100}
}
function onUse(cid, item, fromPos, itemEx, toPos)
for i = 0, #items do
if (items.chance > math.random(1, 100)) then
doPlayerAddItem(cid, items.id, items.count)
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Wow Você Ganho! Seu Item e '..getItemNameById(items.id)..'!', TALKTYPE_MONSTER)
end
end
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER)
end
Editando:
-Vermelho: Id do item
-Verde: Quantidade
-Laranja: Chance (de 0.1 a 100)
-Roxo: Mensagem quando receber o item
-Marrom: Mensagem quando não receber nada
Obs: A chance pode ser 0.1, 0.2... (Apenas UM numero depois do ponto)
Se quiser adicionar mais itens na lista faça o seguinte:
items = {
[0] = {id = 7735, count = 1, chance = 2},
[1] = {id = 7735, count = 1, chance = 5},
[2] = {id = 7735, count = 1, chance = 10},
[3] = {id = 7735, count = 1, chance = 15},
[4] = {id = 7735, count = 1, chance = 30},
[4] = {id = 7735, count = 1, chance = 30},
[5] = {id = 7735, count = 1, chance = 100}
}
function onUse(cid, item, fromPos, itemEx, toPos)
for i = 0, #items do
if (items.chance > math.random(1, 100)) then
doPlayerAddItem(cid, items.id, items.count)
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Wow Você Ganho! Seu Item e '..getItemNameById(items.id)..'!', TALKTYPE_MONSTER)
end
end
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER)
end
Observe que dupliquei a parte laranja, depois faça:
items = {
[0] = {id = 7735, count = 1, chance = 2},
[1] = {id = 7735, count = 1, chance = 5},
[2] = {id = 7735, count = 1, chance = 10},
[3] = {id = 7735, count = 1, chance = 15},
[4] = {id = 7735, count = 1, chance = 30},
[5] = {id = 7735, count = 1, chance = 30},
[6] = {id = 7735, count = 1, chance = 100}
}
function onUse(cid, item, fromPos, itemEx, toPos)
for i = 0, #items do
if (items.chance > math.random(1, 100)) then
doPlayerAddItem(cid, items.id, items.count)
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Wow Você Ganho! Seu Item e '..getItemNameById(items.id)..'!', TALKTYPE_MONSTER)
end
end
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER)
end
-Laranja: Parte adicionada
-Vermelho: Numero alterado
Para retirar:
items = {
[0] = {id = 7735, count = 1, chance = 2},
[1] = {id = 7735, count = 1, chance = 5},
[2] = {id = 7735, count = 1, chance = 10},
[3] = {id = 7735, count = 1, chance = 15},
RETIRADO O NUMERO 4
[5] = {id = 7735, count = 1, chance = 100}
}
function onUse(cid, item, fromPos, itemEx, toPos)
for i = 0, #items do
if (items.chance > math.random(1, 100)) then
doPlayerAddItem(cid, items.id, items.count)
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Wow Você Ganho! Seu Item e '..getItemNameById(items.id)..'!', TALKTYPE_MONSTER)
end
end
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER)
end
Observe que retirei uma parte (em laranja), depois faça:
items = {
[0] = {id = 7735, count = 1, chance = 2},
[1] = {id = 7735, count = 1, chance = 5},
[2] = {id = 7735, count = 1, chance = 10},
[3] = {id = 7735, count = 1, chance = 15},
[4] = {id = 7735, count = 1, chance = 100}
}
function onUse(cid, item, fromPos, itemEx, toPos)
for i = 0, #items do
if (items.chance > math.random(1, 100)) then
doPlayerAddItem(cid, items.id, items.count)
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Wow Você Ganho! Seu Item e '..getItemNameById(items.id)..'!', TALKTYPE_MONSTER)
end
end
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER)
end
-Vermelho: Modifique o numero para o seu antecessor (no caso 5 para 4)
Imagem:
----------------------------------------Editado
Obs: Créditos foram editados por uma analise do Vodkart.
Créditos:
Everllord - Script
Newtonnotwen - Edição e tutorial
Editado Agosto 27 por Newtonnotwen