ED
dúvida

Math.radom

Por eduardo190696, 10 de jul. de 2012 em Scripts

script
2
670
eduardo190696E
10 de julho de 2012 às 03:28

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.

VodkartV
10 de julho de 2012 às 08:07

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 Julho 10 por Vodkart