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
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


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