Bom dia, amigo! Antes de mais nada, estou digitando isso na marra. Não testei. Se houver algum erro você mesmo deve ajustar ai. Vamos lá: primeiro de tudo, você vai precisar de duas variáveis, uma para armazenar o texto inteiro que você quer digitar, e outra para armazenar o texto que já foi digitado (aos poucos, caractere por caractere). Vamos supor que você nomeie elas como:
Não precisa ser necessariamente do tipo Global, ok? Isso aqui é só para tentar te ajudar com a ideia...
Agora vamos precisar de outra variável e uma timeline. A variável será um inteiro que sempre vamos zerar antes de realizar nosso processo, e a timeline vai servir parar somar +1 à esta variável de tempos em tempos, em uma speed que você mesmo vai definir. A timeline só precisa ter 1 step, que deve ter um código incrementando 1 à variável, bem simples mesmo:
(Primeiro step da Timeline)
Agora vem o código. Eu sugiro escrevê-lo dentro de um script, que você pode usar facilmente como função depois para chamar caixas de diálogo à qualquer momento. Supondo que você vá usar um script, ele ficaria assim:
Código: Selecionar todos
texto = argument0 // O primeiro argumento é o texto completo à ser exibido
maxlinha = 60 // Aqui seria o valor máximo de caracteres que podem ser exibidos por linha. Você pode aumentar ou diminuir para definir as quebras de linha (enter)
px = argument1 // Segundo argumento é o ponto X onde vamos desenhar o texto
py = argument2 // Terceiro argumento é o ponto Y onde vamos desenhar o texto
// Agora começa o processo:
if string_length(global.digitado) < maxlinha // Aqui dizemos: se o tamanho do texto digitado (string_length) for menor que o tamanho máximo permitido (definido acima) prosseguimos
&& string_length(texto) <= global.contador{ // O contador que a timeline está incrementando pra gente não pode ser maior que o tamanho do texto à ser digitado
// pois é ele quem vai dizer a posição do próximo caractere que vamos acrescentar no global.digitado
global.digitado+=string_copy(texto, global.contador, 1) // Aqui estamos adicionando ao texto 'digitado' 1 caractere do texto à ser digitado na posição do global.contador
} else{ Se a linha já ultrapassou o limite permitido, devemos então pular uma linha
global.digitado+="#" // '#' apenas para o draw_text quebrar a linha automaticamente
}
// Agora basta desenha o texto atual (global.digitado) na posição enviada para o script
draw_text(px, py, global.digitado)
Bom, com alguns ajustes deve funcionar... Você deve ter algum objeto que vai ficar só controlando as caixas de diálogo. Provavelmente, deve usar a timeline neste objeto. Sempre que o contador for incrementado, você chama o script e a mágica acontece. Não se esqueça de ZERAR O CONTADOR sempre que for digitar novos textos.
Espero ter ajudado!
Mikasuki