Ir para conteúdo
  • 0

Math.radom


eduardo190696

Pergunta

Boa pessoal, tou fazendo uma action bem simples mais que ta me intrigando um pouco com a função math.radom... bem vamos ao script


function onUse(cid, item, fromPosition, itemEx, toPosition)
local sumon = {
["Dragon"] = {chan=50},
["Dragon Lord"] = {chan=30}
}
for k,v in pairs(sumon) do
if math.random(1,50) <= v.chan then
if doPlayerRemoveItem(cid, 2693,1) then
x = doSummonCreature(k, getPlayerPosition(cid))
doConvinceCreature(cid, x)
end
end
end
return true
end

quando eu do use no item tem horas que ele faz 1 dragon ou 1 dragon lord ( Isso ta certo ), MAS tem horas que cria os 2 juntos, eu queria saber como faço para que só crie 1 ou outro, e nunca os 2 juntos... e também qual função devo usar para remover 100 de mana quando da use no script.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

você poderia usar break.

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
local sumon = {
["Dragon"] = {chan=50},
["Dragon Lord"] = {chan=30}
}
for k,v in pairs(sumon) do
if math.random(1,100) >= v.chan then
if doPlayerRemoveItem(cid, 2693,1) then
x = doSummonCreature(k, getPlayerPosition(cid))
doConvinceCreature(cid, x)
break
end
end
end
return true
end

 

 

ou n precisa usar pairs

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
local t = {
{mob="Dragon",chance=50},
{mob="Dragon Lord",chance=30}
}
local m = math.random(1,#t)
if math.random(1,100) <= t[m].chance then
if doPlayerRemoveItem(cid, 2693,1) then
x = doSummonCreature(t[m].mob, getPlayerPosition(cid))
doConvinceCreature(cid, x)
end
end
return true
end

 

ou usando for

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
local t = {
{mob="Dragon",chance=50},
{mob="Dragon Lord",chance=30}
}
for i = 1,#t do
if math.random(1,100) <= t[i].chance then
if doPlayerRemoveItem(cid, 2693,1) then
x = doSummonCreature(t[i].mob, getPlayerPosition(cid))
doConvinceCreature(cid, x)
break
end
end
end
return true
end

 

@sobre mana

você usa um valor negativo, exemplo remover 50 de mana:

 

doCreatureAddMana(cid, -50)

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...