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
Moderators DNL291 Posted August 5, 2013 Moderators 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