Ir para conteúdo

Math, A Matemática Por Trás Do Script


Pr0

Posts Recomendados

Math



A matemática por traz do script

 

Introdução:

 

bem, antes de começar a explicar o math em si, acho melhor explicar que:

 

* não é recomendado colocar variáveis como x ou y em uma equação

* alem do exemplo acima, funções lua ou de otserv, não podem ser declaradas como nome de variáveis

* "=" é diferente de "=="

 

para facilitar, de uma olhada nessa tabela com os simbulos matemáticos em lua :

 

 

Citação:

 

+ ---------------------- adição

- ------------------ subtração

*---------------- multiplicação

/ ---------------------- divisão

== ------------------ igualdade

~= -------------- desigualdade

> ----------------- maior que

>= -------- maior ou igual que

< ----------------- menor que

<= -------- menor ou igual que

^ ----------------- potenciação

O math sozinho:

 

O math, sozinho, serve somente para colocar equações e cálculos em geral. ficando assim :

Lua:

 

local var = getPlayerHealth(cid)

local resultado = math((var-(var/2)))

 

 

 

 

no caso, var é a vida do player, e na variavel resultado e math resolve a equação que está em seu parametro.

 

math.random:

 

O math.random, pode pegar um numero aleatorio entre um minimo e um maximo, pegar um numero de uma tabela, ou ate mesmo randomizar frases e etc...

 

randomizando numeros por min/max :

 

observe

Lua:

 

resultado = math.random(1,3)

 

 

 

 

no caso ali, 1 é o numero minimo a ser sorteado, e 3 é o maximo.

 

randomizando por meio de tabelas

 

novamente com um codigo de base :

 

Lua:

 

tabela = {1, "eu sou de...mai...onese!", " tutorial by Eventide =D ", 2, 3, 5}

Sorteio = math.random(1, table.getn(tabela))

resultado = tabela[sorteio]

 

 

 

 

primeiramente, foi feito uma tabela com o que seria sorteado.

depois, declarei que ia sortear em uma variavel (sorteio), usando math.random, o primeiro numero de seu parametro, indica em qual valor da tabela ele começara a contar, o numero pode ser considerado ordinal, mas é escrito como cardinal, veja o exemplo:

 

Lua:

 

table = {

"1° valor (ordinal), é representado por 1 ( cardinal )",

"2° valor (ordinal), é representado por 2 (cardinal)"

}

 

 

 

 

 

outro modo:

Lua:

 

tab = {"sete", "mih", "exemplo" }

R = math.random(1,table.maxn(tab))

rand = tab[R]

 

 

 

assim, você cria uma tabela, randomiza normalmente pelo metodo min/max, sendo que o max é o numero de valores contidos na tabela, e depois na variavel rand, você pega a tabela randomizada, com esse metodo, da pra inserir novos valores na tabela futuramente, sendo que estes tambem serão randomizados...

 

math.fmod(x, y)

 

Retorna o resto da divisão de x por y, caso necessario o valor é arredondado para baixo.

Lua:

 

math.fmod(4,2)

-- retornara 0

 

 

 

 

 

 

math.sqrt (x)

 

Retorna a raiz quadrada de x.

Lua:

 

math.sqrt(9)

-- retornara 3

 

 

 

 

math.pow (x, y)

 

Retorna x elevado a y

 

Lua:

 

math.pow(x, 2)

-- retornara x²

 

 

 

math.abs( )

retorna o valor absoluto do valor contido em seu parametro, ou seja, os números negativos são automaticamente transformados em positivos.

 

Lua:

 

math.abs(-x)

-- retornara x

 

 

 

 

math.floor (x)

 

transorma um numero decimal em inteiro, exemplo, se x for 1,3 depois de passar pelo floor ele se torna 1.

 

Lua:

 

math.floor(1,5)

-- retornara 1

 

 

 

é sempre bom usar isto após uma divisão

 

 

 

 

 

 

 

creditos: (60%)Eventide (30%)Merdamen (10%) Dark (pelas dicas)

 

 

 

Pr.Z :smile_positivo:

Link para o comentário
Compartilhar em outros sites

lawl

já é o segundo tópico meu que eu penso em trazer pro sanduíche tibiano e trazem por mim...

 

só uma dica, coloque os exemplos entre as tags [code.] script[/code.] (sem o "ponto")

 

@tprocheira

quando eu fiz o tuto, essa função ainda não estava em desuso.. :-)

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

  • 4 weeks later...
×
×
  • Criar Novo...