DA
dúvida

Função Math Random.

Por Darkraus, 30 de mar. de 2013 em Scripts

acho que é assim que escreve
resolvido
script
9
1.4k
DarkrausD
30 de março de 2013 às 14:22

Estou com um script aqui, que se não me engano foi feito pelo

Demonbholder em um dos pedidos ai.

 

segue o script :

 

 

function onCastSpell(cid, var)

 

local rune1 = 2287

local rune2 = 2231

local rune3 = 2315

local rune4 = 2281

local rune5 = 2281

local rune6 = 2281

 

if getPlayerLevel(cid) <= 20 then

doPlayerAddItem(cid, rune1, getPlayerLevel(cid))

elseif getPlayerLevel(cid) > 20 and getPlayerLevel(cid) <= 40 then

doPlayerAddItem(cid, rune2, getPlayerLevel(cid))

elseif getPlayerLevel(cid) > 40 and getPlayerLevel(cid) <= 60 then

doPlayerAddItem(cid, rune3, getPlayerLevel(cid))

elseif getPlayerLevel(cid) > 60 and getPlayerLevel(cid) <= 80 then

doPlayerAddItem(cid, rune4, getPlayerLevel(cid))

elseif getPlayerLevel(cid) > 80 and getPlayerLevel(cid) <= 100 then

doPlayerAddItem(cid, rune5, getPlayerLevel(cid))

elseif getPlayerLevel(cid) > 100 then

doPlayerAddItem(cid, rune6, getPlayerLevel(cid))

end

end

 

 

O script vai criar uma runa dependendo do level do player.

 

eu queria saber se é possível usar a função do math random ( não sei se é assim que escreve ) para duas coisas.

colocar 3 tipos de runas possíveis para sair no mesmo level dai a runa que saísse seria aleatória daquele level.

 

fazer com que as runas saiam com cargas variáveis.

 

não sei se deu pra entender, se não tiver me avisem ai.

acho que isso é algo difícil de se fazer.

oBrigado~~

drakylucasD
30 de março de 2013 às 14:49

teste:

 

function onCastSpell(cid, var)
local leveis = {
-- [(level_minimo,level_maximo)] = {runas = {ID1,ID2,ID3,....,IDn}},
[{1,20}] = {runas = {2287,2315,2316}},
[{21,40}] = {runas = {2287,2315,2316}},
[{41,99999}] = {runas = {2287,2315,2316}},
}
for runa, TABLE in pairs(leveis) do
if getPlayerLevel(cid) >= runa[1] and getPlayerLevel(cid) <= runa[2] then
doPlayerAddItem(cid,TABLE.runas[math.random(1,#TABLE.runas)],math.random(1,100))
break
end
end
end

 

by me :D

Editado Março 30 por DrakyLucas

DarkrausD
30 de março de 2013 às 15:51

opa, vlw ai.

 

mas tipo, nao sei se as cargas ai variam conforme ml ou level,

mas se nao tiver, tem como vc me ensinar a por? ou você mesmo por '-'

drakylucasD
30 de março de 2013 às 16:08

nao entendi..

ai ta assim: ele vai randomizar uma das 3 (ou mais, depende de quantas voce colocar) runas da tabela (lado esquerdo da tabela corresponde ao level do jogador)

 

e as cargas da runa q for sorteada é sorteado de 1 até 100..

 

 

você pediu isso:

colocar 3 tipos de runas possíveis para sair no mesmo level dai a runa que saísse seria aleatória daquele level.

 

 

fazer com que as runas saiam com cargas variáveis.

 

o primeiro, vc só precisa colocar as ID's das runas, e o segundo está vindo com cargas variaveis, como o pedido.

se vc quer alteração explique melhor, pois nao entendi sua reply.

DarkrausD
30 de março de 2013 às 16:17

sim sim, vc atendeu perfeitamente,

só que eu queria modificar esse "level" por "ml".

tem como? se nao tiver assim mesmo ja ta bão.

dalvorsnD
30 de março de 2013 às 16:33

sim sim, vc atendeu perfeitamente,

só que eu queria modificar esse "level" por "ml".

tem como? se nao tiver assim mesmo ja ta bão.

 

function onCastSpell(cid, var)
-- by DrakyLucas
local leveis = {

 -- [(lvlMin,lvlMax)]  = {runas = {ID1,ID2,ID3,....,IDn}},
 [{1, 20}] = {runas = {2287,2315,2316}},
 [{21,40}] = {runas = {2287,2315,2316}},
 [{41,99999}] = {runas = {2287,2315,2316}},
}
for runa, TABLE in pairs(leveis) do
 if getPlayerMagLevel(cid) >= runa[1] and getPlayerMagLevel(cid) <= runa[2] then
  doPlayerAddItem(cid,TABLE.runas[math.random(1,#TABLE.runas)],math.random(1,100))
  break
 end
end

return true
end

drakylucasD
30 de março de 2013 às 16:34

tipo, ao invez do level 1~20 dar tal runa, ser do ml 1 ao 20? é isso?

 

mude os dois getPlayerLevel(cid) para getPlayerMagLevel(cid) e pronto :D

 

 

edit: copia o da resposta do dalvorsn q ta certo :p

(respondi alguns segundinhos depois, num vi q ele tinha respondido kk)

Editado Março 30 por DrakyLucas

DarkrausD
30 de março de 2013 às 17:00

Vlw aos 2,

rep+

30 de março de 2013 às 19:00

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