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.