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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

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

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

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» 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

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


variável global que não funciona com todos os objetos??

3 participantes

Ir para baixo

variável global que não funciona com todos os objetos?? Empty variável global que não funciona com todos os objetos??

Mensagem por Dialga111 Qua 31 Mar 2010, 20:14

Estou tendo uns probleminhas com uns códigos, alguém me helpa?

o que eu to tentando faze é isso: o personagem começa deitado, daí vem umas falas e tal e quando chega em uma parte da conversa ele levanta.

Tá, consegui fazer ele ficar deitado, conversar, levantar, tudo ok. MENOS fazer ele levantar na hora certa...

pra conversa eu usei arrays 1D, que acho mais fácil pra programar, e um código que faz com que a string aumente quando apertar o Z. Quando a string chega em um certo ponto, muda a fala, vai pra outro array. Até aí consigo direito.

Eu pensei o sequinte: se eu fizer com que o código do array da fala que eu quero seja global, o personagem vai perceber quando este código chegar no número certo e vai levantar na hora certa, certo?

Foi o que eu pensei, e foi o que eu fiz. coloquei o global. na frente da variável do array em todos os lugares que ela aparecia no objeto do texto. No objeto do personagem, no evento step coloquei que se a variavel global do array fosse maior que 1, ele ia levantar (o codigo e as sprites pra levantar ja estam ok e funcionando) só que quando eu testo o jogo, ele diz que a variável do array é desconhecida, mas ela tá com o global. na frente em todos os lugares! Me ajudem, plz! não sei o que eu faço!!
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : variável global que não funciona com todos os objetos?? 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

variável global que não funciona com todos os objetos?? Empty Re: variável global que não funciona com todos os objetos??

Mensagem por fonetico Qua 31 Mar 2010, 22:16

Que eu saiba, para fazer uma variável global, deve-se colocar o global. atrás não? Ou com arrays é diferente?
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : variável global que não funciona com todos os objetos?? 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

variável global que não funciona com todos os objetos?? Empty Re: variável global que não funciona com todos os objetos??

Mensagem por Dialga111 Qua 31 Mar 2010, 22:18

eh, foi o que eu pensei, mas não deu certo =/ tentei tudo que eu pude imaginar, mas parece que meu personagem gosta de levanta cedo xD
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : variável global que não funciona com todos os objetos?? 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

variável global que não funciona com todos os objetos?? Empty Re: variável global que não funciona com todos os objetos??

Mensagem por vinians Qua 31 Mar 2010, 22:26

Amigo, isso ja aconteceu comigo, pois tambem uso muitas arrays. Você pode resolver isso fazendo o seguinte.
Crie um objeto e marque ele como persistente. Coloque o nome dele com algo que tenha a ver com aramazenamento, por exemplo objGeral. Depois no evento Create dele cria sua array normalmente. Depois sempre que voce quizer acessar a array em outros objetos, basta acrescentar objGeral.array[] na frente.
Pra ficar melhor ainda voce pode criar uma room só de configuração, pois o GM as vezes executa os eventos numa ordem sinistra. Por exemplo crie uma pequena room por exemplo 100 x 100 e coloque o objGeral nela. E no proprio evento CREATE do objGeral coloque room_goto_next(). Isso faz com que o codigo de declaracao seja executado ANTES de tudo e evita mutos problemas.
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2715
Prêmios : variável global que não funciona com todos os objetos?? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

variável global que não funciona com todos os objetos?? Empty Re: variável global que não funciona com todos os objetos??

Mensagem por Dialga111 Qua 31 Mar 2010, 22:35

hm... isso vai facilitar muito a minha vida xD vlw! Bom, isso me ajuda a simplificar as arrays, mas ainda não resolveu oo problema.

Chamei o objGeral de object_fala2, o array chamei de grey2 (o nome do personagem). Coloquei no evento step do personagem:

if object_fala2.grey2[1]=1
levantando=1 //a variável que eu usei

maaas ele diz que não reconhece a variável grey2 <.<
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : variável global que não funciona com todos os objetos?? 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

variável global que não funciona com todos os objetos?? Empty Re: variável global que não funciona com todos os objetos??

Mensagem por vinians Qua 31 Mar 2010, 22:40

Entendi, mais voce tem que fazer o seguinte. Coloque esse codigo no CREATE do seu objeto object_fala2.
Código:

var i;
for (i = 0; i < 50; i += 1)
  gray2[i] := 0; //valor inicial pode ser string tambem
Isso força a criacao das variaveis do array. Deve ajudar.
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2715
Prêmios : variável global que não funciona com todos os objetos?? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

variável global que não funciona com todos os objetos?? Empty Re: variável global que não funciona com todos os objetos??

Mensagem por Convidad Qua 31 Mar 2010, 22:58

Esse problema é mais comum no Game Maker 6/6.1... também não sei explicar o motivo, pois aparentemente não há nenhum erro. Eu acredito que a melhor saída seja a sugestão do vinians para uma room separada, encarregada da inicialização das globais.

Tente conferir se você não está comparando o conteúdo da variável ao invés do índice. Pode ser esse o problema.

Uma outra saída seria executar o jogo no modo debug (F6), ignorar o erro e tentar prosseguir normalmente. Se a mensagem de erro não for mais mostrada, pode ser que o objeto esteja sendo criado antes da declaração da variável.

Na janela de configurações, você pode pedir ao Game Maker que gere um arquivo de log de erros. Logo, você pode copiar o que está nele e postar pra gente.

Boa sorte!
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

variável global que não funciona com todos os objetos?? Empty Re: variável global que não funciona com todos os objetos??

Mensagem por Dialga111 Qua 31 Mar 2010, 23:01

pois eh, parece que eu sei menos sobre arrays do que eu pensava x.x eu so mesmo mto noob

vlw pela ajuda cara, eu entendi o que vc quer dizer, e tecnicamente sei usar. Vou dar mais uma estudade em arrays antes de continuar tentando, vou tentar por em prática essa ideia do objeto geral persistente também. Pelo que eu entendi isso vai deixar muito mais fácil, pq eu tava criando um objeto pra cada conversa, o que daria MUITO trabalho, acho que sua sugestão vai me ajudar muitooo, vlw!

mais uma coisa, eu mais ou menos sei como trabalhar com arrays e tal, consigo fazer as falas, com os nomes e até mugshots. Até aí eu consigo fazer de boa, mas eu não sei controlar pras falas aparecerem na hora certa, pra cada coisa acontece a seu tempo. Se eu seguir seu conselho de usar um objeto persistente, isso significa que o objeto geral vai estar em todas as rooms, mas eu não sei como "ativar" as falas na hora certa.

Desculpa se eu pareço confuso ou até chato, eu to procurando as palavras pra tenta explica o que eu não sei, mas se eu não sei o que eu não sei fica complicado neh xD
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : variável global que não funciona com todos os objetos?? 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

variável global que não funciona com todos os objetos?? Empty Re: variável global que não funciona com todos os objetos??

Mensagem por vinians Qua 31 Mar 2010, 23:09

Amigo, isso não tem problema nenhum, alias o forum é pra isso aprender e ensinar! Pode perguntar a vontade, tenho certeza que voce tambem vai ajudar muita gente aqui!
Quanto a sua dúvida sobre o momento de ativar as falas existe muitos métodos, tem a ver mais com a estrutura do seu jogo e como voce que que seja ativado.
Pode ser por exemplo usando alarmes, pode usar time lines, pode usar uma variavel que vai contando. Tenta do seu jeito e se não conseguir agente tenta te ajudar!
flw!
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2715
Prêmios : variável global que não funciona com todos os objetos?? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

variável global que não funciona com todos os objetos?? Empty Re: variável global que não funciona com todos os objetos??

Mensagem por Dialga111 Qua 31 Mar 2010, 23:22

Happy' eu fico meio sem graça de pergunta um monte de coisa e enche a paciência de vcs... num gosto de incomoda x.x

Mas já que o fórum é pra isso mesmo, me ajuda numa outra coisa?? Laughing

Eu já tentei fazer isso por timelines, alarmes, variáveis... mas nao consigo aprenser sozinho (aliás, tentei as 3 coisas hj, fui descobrindo como que funcionava e testando xD) mas enfim, não importa o que eu faça não consigo fazer isso de cada coisa acontecer a um tempo.

Vou dar um exemplo do que eu queria fazer:


-o personagem começa deitado
-começa uma conversa
-em certo ponto da conversa o personagem levanta
-a conversa continua sem que o jogador possa mover o personagem enquanto ele fala
-depois que a conversa acaba o personagem anda sozinho até um lugar
-fala mais um pouco
-vc toma o controle do personagem

tecnicamente isso seria fácil se eu usasse timelines, eu consegui fazer com que o personagem deitasse, levantasse e andasse desse jeito. O problema entra na parte em que não tem como prever um tempo específico pras coisas acontecerem, porque o personagem só levanta ou só anda depois de certa fala, mas a conversa não pasa sozinha, você tem que apertar uma tecla pra conversa continua, que nem em jogos de pokémon ou megaman, que o texto vai aparecendo letra por letra e quando chega no final do espaço vc aperta o a pra continua.

E é aí que eu não consigo mais fazer! se é tudo com o tempo acertado, direitinho eu consigo. se é só a conversa, eu tb consigo. Mas se eu tenho que colocar os dois juntos não vai!! x.x

mais uma vez agradeço a ajuda, a compreensão e a paciência de todo mundo xD
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : variável global que não funciona com todos os objetos?? 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

variável global que não funciona com todos os objetos?? Empty Re: variável global que não funciona com todos os objetos??

Mensagem por vinians Qua 31 Mar 2010, 23:43

Ok amigão, isso se encaixa mais em uma FSM (Finite State Machine) ou Maquina de Estados Finitos. Como assim? É o seguinte:
Seu personagem começa no estado 0 (ZERO). A cada momento esse estado vai mudando e ele vai fazendo outra coisa. Quando termina de fazer tal coisa ele muda de estado e o ciclo se repete. Vamos implementar um exemplo:
No Evento Create do seu char coloque isso:

estado = 0; // Estado inicial deitado e mudo heheeheh
contador = 0; //Contador para mudanca de estado.

No evento STEP vamos interpretar a FSM.

switch(estado)
{
case 0:
{
contador += 1;
if (contador == 10)
{
sprite_index = sprite0;
show_message('e ai mano blz???');
estado := 1;
contador := 0;
}
break;
}
case 1:
{
contador += 1;
if (contador == 10)
{
show_message('Acho que vai chover...');
estado := 2;
contador := 0;
}
break;
}
case 2:
{
if (x < 400) x = x + 2 else estado = 3; ///aqui ele começa a andar
break;
}
case 3:
{
contador += 1;
if (contador == 20) //demora mais um pouco
{
show_message('Bom é isso ai vou vazar na maionese...');
estado := 4; //fim da maquina e o personagem volta ao normal
contador := 0;
}
break;
}
}

Como voce pode ver voce não precisa de vetores, da pra fazer tudo na Maquina, voce pode criar quantos estados voce quizer. Isso é muito bom pra animações, AI e dialogos.
flw!
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2715
Prêmios : variável global que não funciona com todos os objetos?? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

variável global que não funciona com todos os objetos?? Empty Re: variável global que não funciona com todos os objetos??

Mensagem por Dialga111 Qui 01 Abr 2010, 00:01

hmm tendi. vlw cara! não vou tentar isso agora pq é meio tarde e eu to com sono, não ia sair nada que preste xD Amanhã eu vou viajar, mas domingo eu to de volta e vejo como funciona isso! vlw pelas dicas cara! vlw mesmo!!
Dialga111
Dialga111

Data de inscrição : 13/03/2010
Reputação : 0
Número de Mensagens : 33
Prêmios : variável global que não funciona com todos os objetos?? 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

variável global que não funciona com todos os objetos?? Empty Re: variável global que não funciona com todos os objetos??

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