GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21


[Resolvido]Problemas com irandom

5 participantes

Ir para baixo

[Resolvido]Problemas com irandom Empty [Resolvido]Problemas com irandom

Mensagem por Lázaro Games Ter 23 Jul 2013, 12:50

Olá, estou com um problema na função irandom(x)
eu queria criar um ID unico para o jogador, esse ID seria entre 0 e 4294967296 (que é 65536 x 65536), mas toda vez que o ID é gerado seu valor sempre é 0
Tentei dividir o ID em duas partes, cada uma de irandom(65536) e multiplicá-las, mas também sempre dá 0...
Há alguma outra função que possa criar esse ID aleatório? Ou há algum limite para a função irandom(x)?
Aguardo respostas xD
Lázaro Games
Lázaro Games

Games Ranking : Nota C

Notas recebidas : D-B
Data de inscrição : 08/08/2010
Reputação : 0
Número de Mensagens : 70
Prêmios : [Resolvido]Problemas com irandom Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.lzstargames.blogspot.com

Ir para o topo Ir para baixo

[Resolvido]Problemas com irandom Empty Re: [Resolvido]Problemas com irandom

Mensagem por Brother27 Ter 23 Jul 2013, 13:06

Bem... Isso não faz sentido pale 
Mas posta o seu código inteiro, talvez o problema não seja esse...
Brother27
Brother27

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 28/06/2012
Reputação : 14
Número de Mensagens : 253
Prêmios : [Resolvido]Problemas com irandom Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Problemas com irandom Empty Re: [Resolvido]Problemas com irandom

Mensagem por Lázaro Games Ter 23 Jul 2013, 13:10

Primeiro eu tentei: global.PID=irandom(4294967296), e sempre dava 0
Depois eu tentei: global.PID=irandom(65535)*irandom(65535), mas também só dava 0
Lázaro Games
Lázaro Games

Games Ranking : Nota C

Notas recebidas : D-B
Data de inscrição : 08/08/2010
Reputação : 0
Número de Mensagens : 70
Prêmios : [Resolvido]Problemas com irandom Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.lzstargames.blogspot.com

Ir para o topo Ir para baixo

[Resolvido]Problemas com irandom Empty Re: [Resolvido]Problemas com irandom

Mensagem por Zero. Ter 23 Jul 2013, 13:29

Eu testei irandom(65535)*irandom(65535) e funcionou, mas o irandom tem limite msm. Olha ai o teste : https://www.dropbox.com/s/ese3hykbaek2r9l/teste.gmk
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : [Resolvido]Problemas com irandom Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Problemas com irandom Empty Re: [Resolvido]Problemas com irandom

Mensagem por Ralphed Ter 23 Jul 2013, 13:40

Tenta usar isso!
random_range(0,65536)
ele escolhera o numero de 0 a 65536!
Ralphed
Ralphed

Data de inscrição : 18/08/2010
Reputação : 12
Número de Mensagens : 461
Prêmios : [Resolvido]Problemas com irandom Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Godot
  • Outros


Ir para o topo Ir para baixo

[Resolvido]Problemas com irandom Empty Re: [Resolvido]Problemas com irandom

Mensagem por GameMakerTutoriais Ter 23 Jul 2013, 14:25



Cara, muito estranho isso. Essa vai entrar pra lista de bizarrices que eu já vi no Game Maker, mas eu acho que entendi o que aconteceu. ACHO.

Se a gente levar ao pé da letra o que o manual diz sobre "random integer number", a gente poderia *supor* que essa função (irandom) esperasse um valor que coubesse no limite de uma variável integer, o que poderia ser 2 ou 4 bytes (o que também é muita sacanagem o manual não avisar, já que o GM trata o valor de uma forma, mas a função, de outra).

O que rolou foi o seguinte. O valor de 4294967296 (que na verdade deveria ser 4294967295) cabe no limite de um valor double que o Game Maker aloca pra qualquer variável, mas quando a função pega esse valor, ela enxerga isso como um longint e isso pode ser comprovado quando você usa 4294967294, porque a função vai poder retornar um valor negativo (de -2147483648 a 2147483647).

É aí que fica explícita a bagunça que o GM faz com os dois tipos, double e longint (aparentemente, só nessa função). Se você usar 4294967296 ou 4294967295, é entendível que ele retorne 0, porque no longint, como qualquer variável que abrange um range negativo, há dois zeros, um zero negativo (4294967295, o máximo) e um positivo (4294967296, que excede o limite e volta a ser 0). Então, a função vê isso como 0 e obviamente só pode retornar zero.

O jeito aí é apelar pra outra solução. O irandom_range, como os amigos sugeriram aí, é uma boa saída.


----- Edit -----

Eu sei que é exagero, mas apesar da possibilidade ser pequena, usando um número aleatório você pode gerar dois ids iguais. Se você preferir, pode gerar um ID através do IP:

https://gmbr.forumeiros.com/t27333-script-gerar-um-id-de-jogador#202577
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : [Resolvido]Problemas com irandom Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Resolvido]Problemas com irandom Empty Re: [Resolvido]Problemas com irandom

Mensagem por Lázaro Games Ter 23 Jul 2013, 17:42

Muito obrigado a todos!
Tópico resolvido!



Como o tópico ja foi resolvido, ele sera trancado.
Caso o autor deseje inserir mais alguma informação, contacte um moderador.
Att: CRP-Max.
Lázaro Games
Lázaro Games

Games Ranking : Nota C

Notas recebidas : D-B
Data de inscrição : 08/08/2010
Reputação : 0
Número de Mensagens : 70
Prêmios : [Resolvido]Problemas com irandom Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.lzstargames.blogspot.com

Ir para o topo Ir para baixo

[Resolvido]Problemas com irandom Empty Re: [Resolvido]Problemas com irandom

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos