Muito bom, tutorial bem formatado e explica bem o que você quér ensinar!
APROVADO!!
Por Pr0, 12 de dez. de 2008 em Tutoriais de Scripting
Muito bom, tutorial bem formatado e explica bem o que você quér ensinar!
APROVADO!!
info
Grupo: Conde
Registrado: 23/12/07
Posts: 566
Reputação: +5
Char no Tibia: Tprocheira soldier

Bom tutorial.
Só uma dica, no lugar de
Sorteio = math.random(1, table.getn(tabela))
use
Sorteio = math.random(1, #tabela))
Mais curto ![]()
info
Grupo: Artesão
Registrado: 30/07/07
Posts: 101
Reputação: +1

math(-1+1-1+1*1/1*1/1*2*3/6*6/3/2*666/333/2/666*666+1-1+1-1*9/3/2*4/6) é igual a quanto?
^^
Aprovado!
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 Dezembro 15 por Eventide
info
Grupo: Lenda
Registrado: 10/10/05
Posts: 2.2k
Reputação: +63
Char no Tibia: Master Chequer

Ultraprovadíssimo,
Tutorial bem bacana e diferente.
Está excelente!
info
Grupo: Conde
Registrado: 18/12/05
Posts: 912
Reputação: +86
Gênero: Masculino
Char no Tibia: Kohzete

@up
legal msm
Esse math.floor eu vi acho que no c e não sabia pra que servia
Curti bastante esse
info
Grupo: Campones
Registrado: 03/01/09
Posts: 26
Reputação: 0
Char no Tibia: Locky Pally(hacked)

Muito bom !!! acho que eh o primeiro sobre "math" nos scripts , me ajuda bastante no meu ot !!!
vlwsSS;DD
info
Grupo: Cavaleiro
Registrado: 04/11/08
Posts: 164
Reputação: 0
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: