Avatar do usuário
186557
Membro
Membro
Autor
Mensagens: 27
Registrado em: Ter Nov 27, 2018 11:34 pm
Karma: 15

Problema com caixas de dialogo

Qua Fev 13, 2019 10:41 pm

Sendo bem honesto eu não sei se é um bug do game maker ou eu que acabei modificando o codigo e não vi, mas resumindo,
as caixas de dialogo que fiz estão com um bug em que quando a mensagem toda é mostrada ao inves da caixa fechar a mensagem reinicia, eu realmente não sei oque houve pois esse codigo funcionava perfeitamente até hoje.

eu fiz uma variavel chamada "global.text1" que verifica se a caixa de dialogo está ativada ou não.

Nos create dos npcs tem o codigo

global.text1 = false


Esse é o codigo step do npc onde a variavel checa se a caixa esta ativada ou não, se ela não estiver o "obj_text_mago1" será criado e ele irá controlar as mensagens da caixa.
if distance_to_object(obj_player) < 18 && distance_to_object(obj_player) > 0 {
if (keyboard_check_pressed(ord("S")) && global.text1 = false){
    instance_create(x,y,obj_text_mago1)
    if (sign(obj_npc1.x - obj_player.x)){
        sprite_index = spr_npc2;
        image_speed = 0.07;
         } else if (sign(obj_npc1.x + obj_player.x)){
         sprite_index = spr_npc;
         image_speed = 0.07;
              } 
        }

}


Dentro do create do "obj_text_mago1" tem os codigos:

global.text1 = true

text1 = string("Please iracildo fix the magic of this world.#All of us believe on you.")
text2 = string("Hamburger.")


talk = 1

out = string("")
spd = 0


Dentro do step tem
if talk = 1 {
out = string_copy(text1,1,spd)
spd+=2
}

if talk = 3 {
out = string_copy(text2,1,spd)
spd+=2
}

if keyboard_check_pressed(ord("S")) {
talk+=1;
spd = 0
}

if talk == 2{
     instance_destroy()
     }
     
     if talk == 4{
     instance_destroy()
     }


e por fim no evento Instance Destroy tem:

global.text1 = false


Ou seja caso a caixa esteja desligada o "obj_text_mago1" é criado ao aperta "S" e caso a caixa esteja ligada ao apertar "S" a variavem "talk" recebe um valor a mais para mudar a mensagem. Tem alguma falha no cogido ou é algum bug do Game Maker?

Tags:
 
Avatar do usuário
Cheguevara
Game Designer
Game Designer
Mensagens: 44
Registrado em: Qua Set 28, 2016 3:27 pm
Karma: 106

Re: Problema com caixas de dialogo

Qua Fev 13, 2019 11:37 pm

Eu estou pelo celular, então não tem como eu te ajudar muito agora, mas, eu não entendi direito esse seu código no step do segundo objeto, lembre-se que o game maker faz a leitura de cima para baixo e não ao contrário, tente colocar em switchs ou else if assim que eu chegar em casa dou um salve nesse seu código.
 
Avatar do usuário
186557
Membro
Membro
Autor
Mensagens: 27
Registrado em: Ter Nov 27, 2018 11:34 pm
Karma: 15

Re: Problema com caixas de dialogo

Qui Fev 14, 2019 9:22 pm

Ok. Lembrando que esse codigo veio desse video aqui: https://www.youtube.com/watch?v=VLFneLQB3_k
E ele funcionava perfeitamente até segunda, por isso to em duvida se pode ser algum bug do game maker. Tem alguma configuração sobre as variaveis globais nele?
 
Avatar do usuário
None
Administrador
Administrador
Mensagens: 219
Registrado em: Sáb Abr 14, 2018 8:11 pm
Karma: 521

Re: Problema com caixas de dialogo

Sex Fev 15, 2019 9:22 am

O problema no seu código é que ele está "mal" feito.
Coloque todos os seus textos dentro de um vetor, você então cria uma variável para determinar o índice atual em que você está no vetor, você checa se o índice atual é menor do que o tamanho do seu vetor, se sim então você avança o índice se não então você encerra o texto.
Cachorro-quente!!!

Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
 
Avatar do usuário
186557
Membro
Membro
Autor
Mensagens: 27
Registrado em: Ter Nov 27, 2018 11:34 pm
Karma: 15

Re: Problema com caixas de dialogo

Ter Mar 12, 2019 11:28 pm

Opa! kk já faz um tempo. Eu reogarnizei o codigo e esta funcionando, mas gostaria de saber se tem como "verificar" se a mensagem da caixa esta sendo escrita ou se já terminou?
 
Avatar do usuário
None
Administrador
Administrador
Mensagens: 219
Registrado em: Sáb Abr 14, 2018 8:11 pm
Karma: 521

Re: Problema com caixas de dialogo

Qua Mar 13, 2019 10:34 am

Mesma lógica de antes.
Você vê o tamanho da string e checa se o texto atual é menor que o tamanho total da string final.
Cachorro-quente!!!

Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante