Iaaae galera tudo bom? Hoje irei dar umas informações, ensinar mais a respeito do "math.random"!
Introdução
Modos de usá-lo
Finalização
math.random
Bom galera, o math.random é uma função da linguagem Lua, que pertence á biblioteca MATH. Essa função é utilizada para gerar "valores" aleatórios, numa linguagem mais fácil de compreender: ele sorteia os valores! Como utilizar? A função math.random, por narutreza é composta desta forma: math.random(inicial, final) Aonde o "inicial" corresponde ao primeiro valor, e o "final" ao último valor. Exemplo:
math.random (1, 20)
Aqui sorteamos qualquer valor entre 1 e 20. (Valor inicial/final). Um outro exemplo de uso:
doSendAnimatedText(position,"Hail Eks", math.random(1, 255))
Aqui iremos mandar aquelas mensagens coloridas, as cores vão variar de 1 a 255 (Valor inicial/final). Entenderam? Ok, até aqui utilizamos valores "OBRIGATÓRIOS". Mas porque? Dei alguns exemplos acima, como:
math.random(1, 20)
Iremos sortear qualquer valor entre 1 e 20. MAS, e se eu não quiser passar pelo valor 15? Como fazemos? Simples, criamos uma variável com os valores desejados, e outra randomizando, exemplo:
local quero_esses = {2,5,10}random = quero_esses[math.random(1, #quero_esses)]
Vamos entender essa lógica? Na variável "random", especifiquei que quero randomizar entre 2, 5 e 10. que utilizei acima, coloquei o "VALOR INICIAL", que é o primeiro valor, não importa qual, da minha variável/table/array... e usando o símbolo #, verifico o "tamanho da tabela", ou seja, pego todos os valores da mesma. Que no caso estão na variável (quero_esses). Sorteando qualquer valor entre os da minha variável, pode ser 2, 5 ou 10! Podemos também utilizar essa lógica do sorteamento DESEJADO, para quests de sorte. Exemplo de uso:
local possibilidades = {2148, 2450, 2555} -- Possíveis items a ganhar!local randomizar = possibilidades[math.random(1,#possibilidades)]function onUse(cid, item, frompos, item2, topos)if getPlayerStorageValue(cid,2033) == -1 thendoPlayerAddItem(cid,randomizar,1)doPlayerSendTextMessage(cid,27,"Parabéns, o seu prêmio da quest foi sorteado!")setPlayerStorageValue(cid,2033,1)endreturn trueend
Viram? Depois de criar as duas variáveis, uma randomizando e a outra com os valores, basta usar o nome da variável que randomiza, para escolher os valores entre "2148,2450 e 2555" no caso! É isso galera, espero que façam bom uso do math.random, como por exemplo: Sistema de chance de dropar, ou acontecer X coisa Beijo grande.