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
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Ontem à(s) 18:28

» 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

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

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

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16


Array 3D não suportado ?

+2
Gonçalves
Zero.
6 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

Array 3D não suportado ? Empty Array 3D não suportado ?

Mensagem por Zero. Sex 29 Nov 2013, 02:46

Eu tentei usa uma array 3d do tipo : variavel[i,a,o] e qndo executei o jogo apareceu um erro de que não era suportado. por quê ? T-T
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Array 3D não suportado ? 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Gonçalves Sex 29 Nov 2013, 02:58

O GM só suporta arrays bidimensionais mesmo, infelizmente. Tem alguns métodos que encontrei na internet mas achei muito gambiarra, mas caso queira tentar:

http://gmc.yoyogames.com/index.php?showtopic=414085
http://gmc.yoyogames.com/index.php?showtopic=571988
Gonçalves
Gonçalves

Games Ranking : Nota B

Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios : Array 3D não suportado ? Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Zero. Sex 29 Nov 2013, 03:02

Gambiarra é oq eu vou ter q fazer sem poder usar uma array 3D T-T , mas vlw ai.
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Array 3D não suportado ? 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Gonçalves Sex 29 Nov 2013, 03:03

O que você está querendo fazer exatamente? Talvez poderia estar usando ds_map ou grid...
Gonçalves
Gonçalves

Games Ranking : Nota B

Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios : Array 3D não suportado ? Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Zero. Sex 29 Nov 2013, 03:06

tenho o numero jogodador, tenho o monstro do jogador, e a 3º iria ser a habilidade desse monstro do jogador. Só q tem numeros de habs, e talvez eu fosse usar pra outras coisas tb.
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Array 3D não suportado ? 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Gonçalves Sex 29 Nov 2013, 03:10

Seria isso né?

Código:
variable[player_id,monster_id,skill_id]
E o valor dessa var seria o quê? scratch
Gonçalves
Gonçalves

Games Ranking : Nota B

Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios : Array 3D não suportado ? Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Zero. Sex 29 Nov 2013, 03:14

sim, seria um script da habilidade.

tipo assim :
habilidade[1,1,1] = scr_tempestade // o slot 1 do monstros 1 do player 1 , é a habilidade tempestade.
habilidade[1,1,2] = scr_terremoto // o slot 2 do monstros 1 do player 1 , é a habilidade terremoto.

e assim vai Happy .
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Array 3D não suportado ? 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por saim Sex 29 Nov 2013, 09:44

Cara... Eu já precisei achei que fosse precisar de uma array 3D e o brendan me quebrou um galho de forma sensacional.
O que ele fez foi dividir uma array 1D em 3 (ou foram 9?) partes e, num script rápido com 3 argumentos, transformar a array 1D em uma 3D. Eu não lembro o script, vou dar uma procurada, mas a forma de usar era assim:
Código:
função[array3D(i, j, k)] := valor;
Como é pouco provável que você precise dos... 32000? Bom, dos limites da array, é uma solução quase mágica.

Vou procurar a solução de novo e volto a postar aqui.
Edit: achei! Poxa, fiquei me sentindo um mal-agradecido, agora, por só ter mencionado o Brendan. Teve muita gente genial postando naquele tópico, muitas soluções alternativas. Só que eu gravei a do Brendan por dividir o limite da array em partes iguais. Nem sempre é o que você quer.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Array 3D não suportado ? Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Zero. Sáb 30 Nov 2013, 01:45

Saim, eu li o tópico todo! kkkkk achei interessante, mas, me perdi qndo li isso : "é mais fácil elevar o número na potência da razão inversa pra fazer esse cálculo" KKKKKKKKKKKKKK oq é isso cara ? suponho q o Brendan seja o GameMakerTutorias certo ? então, não entendi nada doq ele falou, mas entendi os dos demais (Jiraya). E como usar esse script ?
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Array 3D não suportado ? 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Gabreel Sáb 30 Nov 2013, 02:16

Moço, se você for usar banco de dados, qual a real utilidade de uma array desse tamanho? o.õ
Gabreel
Gabreel

Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios : Array 3D não suportado ? 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
  • Javascript
  • Outros


Ir para o topo Ir para baixo

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Zero. Sáb 30 Nov 2013, 02:18

n entendi gabreel u.u exemplifique pf hauhsuahs
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Array 3D não suportado ? 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Gabreel Sáb 30 Nov 2013, 02:48

FlyAway escreveu:n entendi gabreel u.u exemplifique pf hauhsuahs
Imagino que isso seja pro Vosturia, certo?
Se sim, você vai ter que ter um banco dados, e pode (deve) puxar as habilidades de lá.

Se não, você pode fazer um banco de dados pra fazer a mesma coisa que você faria com as arrays, passando os argumentos correspondentes.

Gabreel
Gabreel

Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios : Array 3D não suportado ? 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
  • Javascript
  • Outros


Ir para o topo Ir para baixo

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Zero. Sáb 30 Nov 2013, 03:00

ah, tendi, mas n é pro vosturia, esse projeto ja era, meu irmão mudou ele inteiro '-' , nem é mais esse o nome hsuahsuash
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Array 3D não suportado ? 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por PedroX Sáb 30 Nov 2013, 08:58

FlyAway escreveu:Saim, eu li o tópico todo! kkkkk achei interessante, mas, me perdi qndo li isso : "é mais fácil elevar o número na potência da razão inversa pra fazer esse cálculo" KKKKKKKKKKKKKK oq é isso cara ? suponho q o Brendan seja o GameMakerTutorias certo ? então, não entendi nada doq ele falou, mas entendi os dos demais (Jiraya). E como usar esse script ?
Elevar o número na potência da razão inversa é o modo nerd de dizer: tirar a raiz quadrada / cúbica / quarta / etc.

No caso, a raiz cúbica de 32000 é 31. Então você pode dizer que cada indice poderia ir de 0 a 30. Ele estava falando sobre o script do Jiraya.

Estou vendo se acho uma solução sem repetições.

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Array 3D não suportado ? Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Zero. Sáb 30 Nov 2013, 10:29

Bem, o saim disse q conseguiu, se n , espero a conclusão, vou realmente precisar de uma array 3d =/
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Array 3D não suportado ? 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por saim Dom 01 Dez 2013, 23:58

Conseguir, não consegui. Só entendi e concordei com a idéia. Como disse, acabei percebendo que não precisava de muitas dimensões, mas de muitas arrays.

É o seguinte... você quer um valor pra cada combinação de índices da sua array, certo? Bom, e se todas as combinações estivessem numa única array? Te atende? Claro que atende, não seja ranzinza!
O que o script faz é pegar os 3 argumentos e espalhar os valores em posições da array. Você divide a array em pedaços suficientes pra garantir que não vai repetir o índice.
Algo como o primeiro índice ser a primeira casa decimal, o segundo ser a segunda casa decimal e assim por diante. A posição da 3D[1, 5, 9] seria, na 1D, [159]. O script divide igualmente o limite de 32000 elementos da array, sem risco de sobreposição. É, fica um monte de espaço em branco na array, mesmo, mas o computador não se importa. É só não usar esses espaços como se eles estivessem preenchidos.

Eu não lembro como isso foi feito, não vou lembrar agora (talvez, outro dia, mas não acho que vá fazer). Lembro que a solução binária foi a que achei mais da hora, me pareceu mais simples e a divisão ficava melhor. Mas pode ser porque ela se adequava melhor à situação. De cabeça, assim, a potenciação me soa mais lógica.

Enfim, jeito tem. Você tem uma prévia de quantos elementos cada índice pode precisar?
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Array 3D não suportado ? Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Zero. Seg 02 Dez 2013, 21:32

Olha, eu quero apenas arrays 3D do tipo, habilidade[i,a,o]. Eu entendi o script do jiraya, mas dependendo dos valores na array havia possibilidade de sobreposição, um certo conflito no índice. O jeito binário eu n entendi mto, pois n conheço o método. Mas agora me veio uma ideia '-' . eu posso usar algo do tipo habilidade[string(i)+string(a)+string(o)] e juntar esses valores, sim claro q eu n faria essa junção de strings no indice da array, eu guardaria em uma var e ela seria o indice da array, mas é possivel ? se o limite for 32000, então nunca chegará nem perto, pq usarei apenas arrays 3D, onde o primeiro valor varia de 1 a 8, o segundo de 1 a 9 e o terceiro de 1 a 5. Esse metódo é válido pro meu caso ? Happy
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Array 3D não suportado ? 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Pit Bull Seg 02 Dez 2013, 22:49

Eu usei ds_list dentro de ds_list dentro de ds_list, ai criei scripts para manusea-las.

Só não te passo as minhas porque elas estão modificadas pro meu jogo(cerca de 60% do código é personalizado).
Pit Bull
Pit Bull

Data de inscrição : 31/08/2010
Reputação : 16
Número de Mensagens : 646
Prêmios : Array 3D não suportado ? 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 :
  • Unity
  • C#
  • Outros


https://discord.gg/ZPM2d6q

Ir para o topo Ir para baixo

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por saim Ter 03 Dez 2013, 11:29

Vamos lá. Eu não tenho certeza se entendi o que você chamou de "primeiro" e "terceiro", então vou tentar o seguinte...
array[a, b, c], onde
"a" varia de 0 a 7,
"b" varia de 0 a 8, e
"c" varia de 0 a 5

Você poderia usar algo assim
array[script(a, b, c)]

O script poderia ser assim:
Código:
var a, b, c;
a := argument0;
b := argument1;
c := argument2;
// o valor máximo de cada argumento será somado de 1, para o cálculo
var max_a, max_b, max_c;
max_a = 8; max_b = 9; max_c = 6; // já somados
return(a + b * max_a + c * max_a * max_b)
Pra verificar que o script não tem chance de retornar valores iguais, você pode criar um objeto-teste com um draw assim:
Código:
var i, j, k, alt;
alt := 20; // um ponto na altura
for(i := 0; i < 8; i += 1){
   for(j := 0; j < 9; j += 1){
      for(k := 0; k < 6; k += 1){
         draw_text(20, alt, "valor[" + string(k) + "," + string(j) + "," + string(i) + "]=" + string(script(k, i, j)));
         alt += 20;
         }
      }
   }
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Array 3D não suportado ? Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Zero. Ter 03 Dez 2013, 14:55

Entendi, vou testar, mas a minha idéia n é valida n ? pq se fosse, n teria como dar nenhum conflito.
Zero.
Zero.

Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios : Array 3D não suportado ? 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

Array 3D não suportado ? Empty Re: Array 3D não suportado ?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 2 1, 2  Seguinte

Ir para o topo

- Tópicos semelhantes

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