Junior_Djjr
Junior_Djjr
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 25
Localização : Ibitinga - SP
Link : www.MixMods.com.br
http://MixMods.com.br
Qui 28 Jun 2012, 20:01
random, como o nome diz, randomico ou aleatorio, gera um valor aleatorio atribuido a dois valores dados pelo usuario, minimo e maximo.

Os opcodes variam, de float, pra integer, são eles:
Tipo 1
Código:
0098: 0@ = random_float_in_ranges_0.0_to_1.0
0099: 0@ = random_int_in_ranges_0_to_32767

Tipo 2
Código:
0208: 0@ = random_float_in_ranges -0.2 0.2
0209: 0@ = random_int_in_ranges 0 10


Como podem ver, ele vai gerar um numero aleatorio no raio de... numero especificado por nos... na variavel 0@.

Exemplo:
Código:
0209: 0@ = random_int_in_ranges 0 10

Vai gerar um numero de 0 a 10 na variavel 0@, ou seja, 0 1 2 3 4 5 6 7 8 ou 9, pois é, o 10 não vai ser gerador apesar de ser indicado como o numero maximo.

Qual a diferença entre o tipo 1 e o 2?
Como pode perceber o tipo 1 não tem nenhum parametro, ou seja vai gerar somente do numero dito na descrição, sendo assim eu recomendo esquecer o tipo 1, lixo.
Já o segundo, tem dois parametros, o numero minimo e o maximo respectivamente.

Temos um método mais simples, sem opcodes
O Sanny Builder tem uma função dele, que ele converte para o opcode random correspondente a comparação (È, ele identifica se é um random float (decimal) ou um random integer(inteiro)), mas, a variável que vai receber o valor tem de ser declarada.

A Função é esta:
variavel = random(mínimo, máximo)

Lembrando que o máximo não é bem o máximo... se você dizer que o máximo é 10, o numero máximo gerado vai ser 9.

Exemplo Final:
Código:
var
2@ : Integer
end
2@ = random(5, 40) // Gerar um numero de 5 a 40...ou 39 =P? na variavel 2@

Fácil? Sim, nem foi tão grande esta parte não é mesmo?
--
PROXIMA PARTE
Fabio
Fabio
Programador - Avançado
Programador - Avançado
Mensagens : 18271
Reputação : 388
Desde : 04/05/2012
Idade : 24
Link : gtamodvicio.blogspot.com
http://gtamodvicio.blogspot.com
Ter 16 Jul 2013, 04:08
O tipo 1 (mais especificadamente o opcode 0099) gera números dentro da range que o signed short (de x86, 2 bytes) suporta.

O opcode 0098 é a mesma coisa, só que ele retorna em float, pra converter o valor do 0099 para o valor que o 0098 geraria é só dividir o valor retornado do 0099 por 32767, mas tem que converter tudo pra float antes de fazer isso.

É o retorno da função rand(), é com essa função que se cria realmente o número randonomico na range desejada.

O tipo 2 é apenas o produto "final" já colocado na range desejada.




Respondendo isso só por ser uma "curiosidade", sei lá .-.

Espero que ninguém ache que isso é ++mensage

______________________________
6. random number 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
6. random number 76561198069372249
Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
LINK/2012
LINK/2012
Programador - Avançado
Programador - Avançado
Mensagens : 7655
Reputação : 349
Desde : 03/05/2012
Ter 16 Jul 2013, 10:40
naodiga naodiga naodiga naodiga 

Ninguem vai entender o que você disse, se entender (porque ja usou C/C++), ja entendeu quando leu.

______________________________
"Give a man a game engine and he delivers a game. Teach a man to make a game engine and he never delivers anything."

6. random number 2ywzqdu
Fabio
Fabio
Programador - Avançado
Programador - Avançado
Mensagens : 18271
Reputação : 388
Desde : 04/05/2012
Idade : 24
Link : gtamodvicio.blogspot.com
http://gtamodvicio.blogspot.com
Ter 16 Jul 2013, 12:34
@LINK/2012 escreveu:naodiga naodiga naodiga naodiga 

Ninguem vai entender o que você disse, se entender (porque ja usou C/C++), ja entendeu quando leu.

Como você mesmo acabou de dizer, é o único que terá a reação " naodiga " Fuch That Guy Fuch That Guy 

Existe rand e srand em outras linguagens, pelo menos isso a pessoa pode entender sem precisar estudar C/C++

______________________________
6. random number 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
6. random number 76561198069372249
Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
ericksousa
ericksousa
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 50
Reputação : 0
Desde : 28/07/2013
Dom 28 Jul 2013, 18:38
Essa coisa de programaçao e muito complicado

______________________________
Spoiler:
Rumo Ao Beta-Testes
Fabio
Fabio
Programador - Avançado
Programador - Avançado
Mensagens : 18271
Reputação : 388
Desde : 04/05/2012
Idade : 24
Link : gtamodvicio.blogspot.com
http://gtamodvicio.blogspot.com
Dom 28 Jul 2013, 19:52
@ericksousa escreveu:Essa coisa de programaçao e muito complicado

Você já tentou estudar que linguagem?

______________________________
6. random number 226c0ef57f9d7520d171cbadc68b3c56
Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------
6. random number 76561198069372249
Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
ericksousa
ericksousa
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 50
Reputação : 0
Desde : 28/07/2013
Dom 28 Jul 2013, 21:14
@Fabio escreveu:
@ericksousa escreveu:Essa coisa de programaçao e muito complicado

Você já tentou estudar que linguagem?

Ja, mas parece que, o que eu leio hoje, nao lembro amanha...pokerface 

______________________________
Spoiler:
Rumo Ao Beta-Testes
JNRois12
JNRois12
Programador - Básico
Programador - Básico
Mensagens : 6341
Reputação : 65
Desde : 09/07/2012
Idade : 22
Localização : Potim - SP
Link : g1.globo.com/jornal-nacional/
Dom 28 Jul 2013, 21:18
@ericksousa escreveu:
@Fabio escreveu:
@ericksousa escreveu:Essa coisa de programaçao e muito complicado

Você já tentou estudar que linguagem?

Ja, mas parece que, o que eu leio hoje, nao lembro amanha...pokerface 

 Só lendo é difícil lembrar mesmo, faz assim:

Leia tudo, só leia, não faça nada, se não lembrar de alguma coisa, leia 2, 3, 10 vezes, agora tente fazer algum script olhando nos tutoriais, conseguiu? delete-o e tente refazer sem olhar nos tutoriais

Você vai ver que fica muito mais fácil lembrar das coisas desse jeito, mesmo que demore um pouco mais pra aprender.
Conteúdo patrocinado
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum