manawydan Posted August 4, 2013 Share Posted August 4, 2013 (edited) EDITADO Ola, hoje tentarei explicar um pouco sobre a funcão math.random. O que ela faz? R: ela sorteia um numero aleatório. exemplo: function MinhaFuncao(thePlayer) local Numero = math.random(1,2) if (Numero == 1) then givePlayerMoney(thePlayer,200) outputChatBox("Você acerto",thePlayer) else killPed(thePlayer) outputChatBox("Você Errou por isso sera morto!",thePlayer) end end addCommandHandler("sorte",MinhaFuncao) Neste Exemplo quando um jogador digitar /sorte sera gerado uma matematica aleatoria (math.random) dos numeros 1 até 2 ou seja 1 ou 2. Em seguida armazenamos esse valor na variavel Numero. Então checamos se o numero gerado é 1, se for o jogador (thePlayer) ganhara R$ 200,00 e uma mensagem sera iniciada dizendo que ele acertou! Caso contrario (else) ele sera morto. Funções usadas: givePlayerMoney adiciona dinheiro a um jogador o 1° argumento é o jogador que você quer dar dinheiro. o 2° argumento é a quantidade ( quantos de dinheiro ele vai ganhar?) outputChatBox Cria uma mensagem no chat. o 1° argumento é a mensagem. o 2° é (opcional) é para quem você vai mandar a mensagem. o 3° é (opcional) que representa a quantidade de cor vermelha que a mensagem tera. o 4° é (opcional) que representa a quantidade de cor verde que a mensagem tera. o 5° é (opcional) que representa a quantidade de cor azul que a mensagem tera. killPed mata um ped/player o 1° argumento se refere a quem sera morto! Bom pessoal foi isso. Qualquer duvida/sugestão/critica fique a vontade para postar. Obrigado! local numeros = { "Um", "Dois", "Três", "Quatro", "Cinco", "Seis", "Sete", "Oito", "Nove", "Dez" } outputChatBox( numeros[math.random(1, #numeros)] ) nesse exemplo que o dnl291 criou, vou tentar explicar algumas coisas (me corrija se tiver errado sou novo com tabelas) Então primeiro é criado uma tabela (numeros) então é adicionado uma caixa de xat para exibir o resultado aleatorio. Então você se pergunta: como vou tirar um numero aleatorio de uma tabela? então é como se cada elemento da tabela correspondesse a um numero. então numeros[1] = "Um" numeros[2] = "Dois" e assim sucessivamente. numeros[1] é o primeiro elemento da tabela numeros. De um jeito logico na math.random é enumerado cada item da tabela e cada item é um numero. Voltando ao script: para que usar o #? R: esse simbolo é usado para obter o comprimento de uma tabela ou string. Como Crio uma tabela? R: você inicia uma tabela com "{" e termina com "}" Um pequeno exemplo: (apenas exemplo) local Semana = {"Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"} function SemanaFuncao() local S = Semana[math.random(1,#Semana)] if (S == "Sábado") or (S == "Domingo") then outputChatBox("Hoje é final de semana, curta seu tempo livre") else outputChatBox("Hoje é dia de trabalhar, o que você esta esperando para começar? um convite?") end end addCommandHandler("Semana",SemanaFuncao) Novamente agradeço a quem leu esse topico, obrigado dnl291 pela sugestão (e correções)! Edited August 12, 2013 by Guest 1 Link to comment
DNL291 Posted August 5, 2013 Share Posted August 5, 2013 Você poderia abordar outras coisas além do comando sorte. como um item aleatório de uma tabela. Exemplo: local numeros = { "Um", "Dois", "Três", "Quatro", "Cinco", "Seis", "Sete", "Oito", "Nove", "Dez" } outputChatBox( numeros[math.random(1, #numeros)] ) No entanto, não sei se você ainda sabe lidar com tabelas. Apesar de ter faltado mais informações básicas sobre math.random (afinal o tutorial está abordando ela assim como givePlayerMoney), é um bom tutorial que poderá ajudar quem tem dúvidas com essas funções. Link to comment
ixjf Posted September 1, 2013 Share Posted September 1, 2013 O que ela faz?R: ela sorteia um numero aleatório. Pseudo-aleatório*, a função usa um seed para "escolher" um número, se o seed for sempre o mesmo, o número escolhido será sempre o mesmo. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now