[Trancado] Juntar vários números em um só.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Trancado] Juntar vários números em um só.

Mensagem por luiz_eldorado em Qua 10 Abr 2013, 20:08

Eu não achei isto em lugar algum... eu queria pegar vários números de todo tipo de tamanho, e juntar um número só. Eu poderia fazer uma ds_list, mas eu acho que é muito complicado para o que eu quero fazer. Arrays? Não, veja como está o código:

Código:
objeto[oCofre,vAberto]=false;
objeto[oCofre,vBlocks]='???';

Não tem como colocar array dentro de array...

Nesse "???" que eu quero colocar esse número. Ali, eu colocaria o id de todos os objetos que são blocks. Essas ids podem ser de qualquer tamanho de número, mas são números.

Então, como eu faço pra pegar vários números e juntar num só?


Última edição por luiz_eldorado em Qui 11 Abr 2013, 15:27, editado 1 vez(es)

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 18
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

Resolvido Re: [Trancado] Juntar vários números em um só.

Mensagem por Rodrigo Santiago em Qua 10 Abr 2013, 20:21

Ah... claro que com ds list é bem fácil, qualé o problema de usá-las, parecem mesmo difíceis, mais são mais fáceis do que você imagina

Rodrigo Santiago

Ranking : Nota B
Número de Mensagens : 1281
Idade : 20
Data de inscrição : 28/07/2012
Notas recebidas : C + C + B
Reputação : 73
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 1
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Trancado] Juntar vários números em um só.

Mensagem por luiz_eldorado em Qua 10 Abr 2013, 20:29

@Rodrigo Santiago: Sim, são fáceis, mas gastaria muitas linhas de código e dificultaria minha vida.
Preciso de um sistema de juntar os números.

Veja como ficaria mais ou menos:
Código:
objeto[oCofre,vBlocks]=ds_list_create();
ds_list_add(objeto[oCofre,vBlocks],2349234);
ds_list_add(objeto[oCofre,vBlocks],78777);
ds_list_add(objeto[oCofre,vBlocks],0);
ds_list_add(objeto[oCofre,vBlocks],-55666);
ds_list_add(objeto[oCofre,vBlocks],89234.171);
ds_list_add(objeto[oCofre,vBlocks],42);

Fica muito complicado

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 18
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

Resolvido Re: [Trancado] Juntar vários números em um só.

Mensagem por PedroX em Qua 10 Abr 2013, 20:57

Transforme-os em string e depois some as strings... Coloque um separador, depois faça um loop que vai excluindo cada parte entre separadores e interpretando.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Trancado] Juntar vários números em um só.

Mensagem por luiz_eldorado em Qua 10 Abr 2013, 21:12

@PedroX: Tá, e como faço isso?

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 18
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

Resolvido Re: [Trancado] Juntar vários números em um só.

Mensagem por Thyago em Qua 10 Abr 2013, 21:23

.Na verdade tem sim como por array dentro de array;

coloque no create de um objeto para criar uma array tridimensional;
Código:
var iii;iii=0;
for(ii=0 iii<100 ii+=1){
objeto[oCofre,iii[ii]]=noone;
if(ii=100){
iii+=1;
}
}

e no create dos objetos que terão sua id na array

Código:
for(ii=0 ii<100 and  instance_exists(objeto[oCofre,object_index[ii]]) ii+=1){}
objeto[oCofre,object_index[ii]]=id;

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 30
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Trancado] Juntar vários números em um só.

Mensagem por Rodrigo Santiago em Qui 11 Abr 2013, 07:52

Sinceramente, é mais fácil usando ds lists.
olha, tem como você adicionar de um por um , sem problema, você pode até procurar por um número dentro usando find_index, dá pra excluir um em qualquer lugar, e os outros se organizam, tem como ver o número de valores, muitas outras possibilidades, eu uso muito ds_list, acho que não ia dificultar e sim facilitar.

Rodrigo Santiago

Ranking : Nota B
Número de Mensagens : 1281
Idade : 20
Data de inscrição : 28/07/2012
Notas recebidas : C + C + B
Reputação : 73
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 1
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Trancado] Juntar vários números em um só.

Mensagem por luiz_eldorado em Qui 11 Abr 2013, 14:53

@Thyago: Acho meio estranho.. não consegui compreender o código!
@Rodrigo Santiago: Pra mim dificultaria. Acho que é da cabeça de cada um.

De qualquer forma, eu preciso de algum script pra fazer o que o PedroX falou, colocar separadores numa string e separá-los depois.

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 18
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

Resolvido Re: [Trancado] Juntar vários números em um só.

Mensagem por PedroX em Qui 11 Abr 2013, 15:25

Uma das coisas mais chatas é trabalhar com strings...

Aqui um script para retornar uma ds_list com as strings separadas:
http://www.gmlscripts.com/script/string_parse

Para formar a string, você pode usar meu script:
Código:
 //script(separador, string1, string2, etc)
var i, r, l;
i=1;
l=string_length(argument0);
r='';
while(is_string(argument[i]))
{
r+=argument[i]+argument0;
i+=1;
}
return (string_delete(r, string_length(r)-l+1, l));


Última edição por PedroX em Qui 11 Abr 2013, 15:27, editado 1 vez(es)

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Trancado] Juntar vários números em um só.

Mensagem por luiz_eldorado em Qui 11 Abr 2013, 15:27

ds_list novamente... tsc.

Bem, acho que podemos dar isso como resolvido.

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 18
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

Resolvido Re: [Trancado] Juntar vários números em um só.

Mensagem por PedroX em Qui 11 Abr 2013, 15:28

A única função que você vai precisar usar é:

Código:
ds_list_find_value(lista, posicao)

Não custa muito tentar.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Trancado] Juntar vários números em um só.

Mensagem por Conteúdo patrocinado Hoje à(s) 11:50


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum