Conectar-se

Esqueci minha senha

Últimos assuntos
» [Enquete] Concursos GMBR
por Willy Hoje à(s) 19:49

» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

Quem está conectado
21 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 20 Visitantes

Tedi Ripper

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36
Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220919 mensagens em 30412 assuntos

Retornar o nome da variável

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

Retornar o nome da variável

Mensagem por moisesBR em Ter 20 Nov 2012, 09:10

Estou quebrando a cabeça tentando descobrir como fazer para mostrar o ítem que esto manipulando e tambem o valor dele. Eu sei que tem solução, mas não estou conseguindo descobrir e isso tá me deixando frustrado! Apesar de poder se resolvido usando inúmeros ifs, seria muito trabalhoso e tenho certeza que uma ou duas linhas de codes resolve isso! a questão é: quais codes usar ou como elabora-los?

Estou criando este post pois o outro ja está meio saturado(*) por minha própria questão e por que consegui reformular a pergunta:

Num draw_text, podemos usar: draw_text(x,y,string(variavel)) e o resultado é o valor que ela contem!
Mas que code posso usar para retornar o nome da própria variável?

tipo;

variavel1=25
draw_text(x,y,string(variavel1)) resultado: 25
???????????????????????????? resultado: variavel1

(*) Tópicos anteriores: transicao de variaveis entre numero e string,
controlar variaveis atraves de outras variaveis ou transportar


Última edição por moisesBR em Ter 20 Nov 2012, 10:53, editado 1 vez(es) (Razão : inserir lnk pros posts antigos para referência)
avatar
moisesBR

Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Retornar o nome da variável

Mensagem por Luca$ em Ter 20 Nov 2012, 12:30

Amigo,estou sem o GM aqui,mas se não me engano,existe uma função chamada variable_name que retorna o nome da variável.

Mas não estou entendendo uma coisa,pra você saber qual variável pegar o valor,não precisa já saber o nome?Como você vai criar uma variável sem saber o nome?
avatar
Luca$

Ranking : Nota D
Notas recebidas : D-C
Data de inscrição : 10/10/2010
Número de Mensagens : 582
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Retornar o nome da variável

Mensagem por theguitarmester em Ter 20 Nov 2012, 12:36

Não entendi muito bem para que aparecer o nome pela variavel, se você já sabe o nome dela!

sei que você provalvelmente sabe, mas para colocar texto é só colocar assim:
draw_text(x,y,'variavel1') Resultado: Variavel1

Explique mais para ver se consigo entender, vou dar uma olhada nos seus tópicos antigos.


Luca$, pelo menos no gm8 Não existe esta função.
avatar
theguitarmester

Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 1

Ver perfil do usuário http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Retornar o nome da variável

Mensagem por Luca$ em Ter 20 Nov 2012, 12:43

É,realmente,me enganei,era outra função que retornava o nome da key,me desculpe.

Mas,moises,não consigo entender,pra que saber o nome da váriavel?
avatar
Luca$

Ranking : Nota D
Notas recebidas : D-C
Data de inscrição : 10/10/2010
Número de Mensagens : 582
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Retornar o nome da variável

Mensagem por theguitarmester em Ter 20 Nov 2012, 13:01

Luca$, tambem não havia Entendido até olhar o outro Tópico dele: http://gmbr.forumeiros.com/t24736-transicao-de-variaveis-entre-numero-e-string

Moisés, Respondi lá nesse outro tópico.
avatar
theguitarmester

Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 1

Ver perfil do usuário http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Retornar o nome da variável

Mensagem por saim em Ter 20 Nov 2012, 13:36

Não acho que seja possível. Mesmo porque, se houvesse uma função, o que você colocaria como argumento? A menos, claro, que essa variável seja o índice de um objeto ou background ou alguma coisa prevista nas funções *_get_name - aí você pode realmente armazenar um valor e ter um nome correspondente àquele valor.

Olha, eu não li os outros tópicos, não sei se alguém te sugeriu isso, mas tem um jeito que é levemente trabalhoso, mas perfeitamente viável. Grave tanto as variáveis quanto seus respectivos nomes em arrays. Tipo assim:
Código:
var i; i = 0;
variavel[i] = i; nome[i] = "variavel[" + string(i) + "]"; i += 1;
variavel[i] = i; nome[i] = "variavel[" + string(i) + "]"; i += 1;
(continua indefinidamente)
variavel[i] = i; nome[i] = "variavel[" + string(i) + "]"; i += 1;
nVariaveis = i;
Claro que você pode definir o valor que quiser e o nome que quiser pra cada variável, isso aí é só um exemplo.
Aí, se você quiser o valor da variável1, por exemplo, você usa
Código:
draw_text(x, y, string(variavel[1]));
e, se quiser o nome dela, escreve
Código:
draw_text(x, y, nome[1]);

Pra diminuir o trabalho que essa inicialização dá, você pode usar o excell, que tem a opção de concatenar textos, pra escrever o código.

[edit:] Dei uma lida rápida lá, acho que sei o que você quer. Esse método funciona, sim, desde que você entenda como usá-lo. Se por exemplo você escolher a fruta "3" e armazenar essa escolha na variável "frutaEscolhida", pode apresentar o texto como:
Código:
draw_text(x, y, "total de " + nome[frutaEscolhida] + ": " + variavel[frutaEscolhida])
Exemplo de resultado: "Total de mamão: 8"
Mas precisa tomar cuidado com os plurais. Escolhi "mamão" justamente pra mostrar que não é só acrescentar um "s" no final do nome que os casos em que "variavel[frutaEscolhida] > 1" que vai estar resolvido.
avatar
saim

Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 3

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Retornar o nome da variável

Mensagem por moisesBR em Qua 21 Nov 2012, 10:11

Valeu saim mas infelizmente não consegui assimilar suas explicações... Mas de certo modo consegui fazer seguindo o tuto do Cabeção, apesar de resolver, não foi como eu esperava, pois desejo lidar com texto assim igual muitos aqui do forum que vê seus projetos empacarem por esbarrar nessa situação
Não acredito em impossibilidades! O impossível é igual a escuridão se voce acende a chama da esperança que nada mais é que a fé, ilumina o caminho das possibilidades.
Se alguem tiver uma possível solução, se quiser, é claro, faça uma mini engine pra mimnós, baseado no meu objetivo, que é: usar nomes de variaveis, string ou texto para retornar os dados desejados que podem estar num array conforme eu tento fazer aqui:
http://gmbr.forumeiros.com/t24736-transicao-de-variaveis-entre-numero-e-string#183610
avatar
moisesBR

Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Retornar o nome da variável

Mensagem por Rodrigo Santiago em Sex 23 Nov 2012, 13:05

ninguem vai conseguir lhe ajudar porque e um erro logico, tente fazer isso:
recomece seu jogo, os codigos sempre ficam melhores na segunda vez

nao é brincadeira. se foi cometido um erro logico voce deve pensar de uma forma completamente diferente, e refazer se jogo deixa ele mais efttivo porque voce ja tem uma base do que fazer.
eu sei q nao era essa a pergunta mais isso pode lhe ajudar:
dica: padronize as variaveis em todos os objetos semelhantes, por exemplo:

todos os objetos que voce pode selecionar tem a variavel "type_obj" , e todo objeto que tem type_obj="iten" possue a variavel "quantidade"
todo objeto que tem type_obj="enemy" possue a variavel " healt"
voce pode criar switchs com type_obj e criar ifs com quantidade e healt sem erro.
avatar
Rodrigo Santiago

Ranking : Nota B
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Número de Mensagens : 1281
Insígnias de JAM :

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

Prêmios
   : 3
   : 1
   : 3

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Retornar o nome da variável

Mensagem por moisesBR em Sex 23 Nov 2012, 15:32

Ops! esqueci de editar aqui! Ops de novo: tava sem energia aqui por três dias e não pude entrar na net decentemente.

@Luca$ escreveu:Mas,moises,não consigo entender,pra que saber o nome da váriavel?
Luca$, leia o outro tópico que vai entender, mas já adianto um resumo: tenho problemas em associar números à coisas imagine uma imensa lista de ítens e sem ver sua posição como voce saberia qual, ou qual tem qual valor?

Rodrigo:
Meu type_obj é o selecionado! Recomeçar... Já pensei nisso seriamente... tanto é que estou apagando tudo quanto é codes do projeto e fazendo uma varredura geral, e de certo modo refazendo tudo!

Tipo, quando for setar um valor à um item de um arrary ou outra variável, diz a lenda que é assim: Cria-se o array....
Código:
//        Nome                        valor
item[0,0]="uva"          item[0,1]= 10
item[1,0]="laranja"      item[1,1]=12
item[2,0]="melancia"    item[2,1]= 3
Olhando assim parece fácil, mas quando for modificar esse valor o bicho pega, ainda mais se tiver uma lista imensa! A não ser que... Voce tenha duas janelas abertas para ir conferindo toda vez... E no caso que precise adicionar um valor a um ítem normalmente através de outro objeto, faria algo assim (no caso; "laranja"):
Código:
item[1,1] +=1
No meu caso, como disse, criei várias vars correspondentes(global.laranja) a cada ítem, e relacionei o valor à sua posição! e fui setando a principal(global.type_obj) com a nova var, dessa forma:
Código:
global.type_obj = global.laranja
Podem reparar queé muito mais fácil lidar com texto do que números, mesmo que este texto seja vars!

Aí vocé pergunta: como vai mostrar na tela o nome ou valor do item como desejava?
r- ao mostrar a posição na array, ela vai retornar o que estiver lá! nesse caso se for melancia, na array está: item[2,0]="melancia" item[2,1]= 3

Simplismente coloco num evento draw:
Código:
draw_text(y,y,"Selecionado: "+string(itens[global.selecionado,0])+" Qt. valor        : "+string(itens[global.selecionado,1]))
Resultado desse: "selecionado: melancia Qt. valor :3"

Quanto a este problema, foi aparentemente resolvido, como voce pode conferir no outro post, que apesar do nome ser diferente, o objetivo é o mesmo!

Veja o resultado aqui e como resolvi:
http://gmbr.forumeiros.com/t24736-transicao-de-variaveis-entre-numero-e-string#183610

Coloco como resolvido mas, enquanto o tópico estiver em aberto e dentro do prazo, ficarei feliz se novas ideias surgirem. Portanto fiquem a vontade.
A propósito, (pra quem não quiser ir no outro post) A solução(tosca) que encontrei para lidar com nomes das váriáveis:
Criar uma var para cada item com o nome desse item e dar um valor a ela! Valor esse que, resulta na sua posição numa array, que aprendi a usar recentemente!
Ainda usando a variável antiga, ao invés de seta-la com número, como é usado costumeiramente, seto-a no evento desejado que no caso é clique no objeto associado! Mais detalhe e até uma... ouso dize; mini "engine", no tópico do link acima.
No mas, obrigado a todos! Resouvídio!
avatar
moisesBR

Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Retornar o nome da variável

Mensagem por Jiraya em Sex 23 Nov 2012, 15:47


Olhando assim parece fácil, mas quando for modificar esse valor o bicho pega, ainda mais se tiver uma lista imensa! A não ser que... Voce tenha duas janelas abertas para ir conferindo toda vez... E no caso que precise adicionar um valor a um ítem normalmente através de outro objeto, faria algo assim (no caso; "laranja"):

crie um script para alterar os valores mais facilmente

use isso
Código:

//setVal(variavel,valor)
var i;
for(i=0;i<NUMERO_DE_ITENS;i+=1;)
if(item[i,0]==argument0){item[i,1]=argument1;return(1);}
return(0);

para usar
setVal('Laranja',5);

se o valor foi alterado o script retornara ao valor 1, caso contrario a 0, isso significa que voce digitou o nome da variavel errado, ou ela nao existe.

o lado bom:facil
lado ruim:lento

avatar
Jiraya

Ranking : Nota A
Notas recebidas : A+A
Data de inscrição : 20/03/2010
Número de Mensagens : 1134
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 1

Ver perfil do usuário https://www.facebook.com/seito.washiro.7

Voltar ao Topo Ir em baixo

Re: Retornar o nome da variável

Mensagem por moisesBR em Sex 23 Nov 2012, 16:04

Gostei entendi perfeitamente que setVal('Laranja',5); será no evento clique do objeto desejado... Mas como e onde eu colocaria o script?
Código:
//setVal(variavel,valor)
var i;
for(i=0;i<NUMERO_DE_ITENS;i+=1;)
if(item[i,0]==argument0){item[i,1]=argument1;return(1);}
return(0);
Steep?

Exemplo please!
avatar
moisesBR

Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Retornar o nome da variável

Mensagem por PedroX em Sex 23 Nov 2012, 17:30

Você cria um script e coloca esse código lá.
Depois você coloca o nome do script, que é setVal() no evento que vai mudar o valor.

PedroX

Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Retornar o nome da variável

Mensagem por moisesBR em Sex 23 Nov 2012, 18:25

Valeu! Puxa vida! Que complicado estava uma coisa simples!

Isso ocorreu por que eu não trabalhava com arrays! Aff... Mas beleza! é pra isso que estamos aqui aprender, ensinar, ajudar e se beneficiar!

Sei que apesar de já saber muita coisa, ninguém sabe de tudo e muito raramente poderei ajudar voces com codes complicados (falo de Jiraya, saim, Cabeção, Pedro X e outro m,ais e etecéteras) mas de certo modo estou ajudando colocando desafios meios esquisitos que surgem, servindo para todos users, e quebrando barreiras e adaptando ou redescobrindo criando novos meios.
Se eu puder ajudar em algo tenham certeza que tentarei.

A essa altura(rastros) creio que devo criar o tópico do meu projeto que sairá talvez no ano 3000! Ou nem saia! (kkkkkk) que voces acham?
Já deixei bem claro o que penso sobre inutis post, se quiserem opinar, pode ser por MP ou onde bem entenderem.

Mais uma vez obrigado! Tópico resolvido!
avatar
moisesBR

Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário http://inprovise.blogspot.com/

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