translated and further explained version:
nodes of the text interface:

as seen by the player:

text interface script:
extends CanvasLayer
###----NPS_IMAGE----------
var el_peluca = load("res://beta en godot/NPC/SAPEE/sape.png")
var general = load("res://beta en godot/NPC/general/icon.png")
var miliatr = load("res://beta en godot/NPC/militar/icono.png")
var info = load("res://beta en godot/jugador/texto/basico_enigma.png")
var imagen_1 = load("res://beta.png")
###----NPS_IMAGE----------
func _ready():
set_physics_process(true)
func _physics_process(delta):
_grafico()
func _on_Button_pressed():
Textos._procesar_texto()
func _grafico():
if !Textos.primer_npc == null:
$TextureRect.texture = el_peluca
if !Textos.general_charla == null:
$TextureRect.texture = general
if !Textos.beta_ == null:
$TextureRect.texture = info
if !Textos.militar_loco == null:
$TextureRect.texture = miliatr
if !Textos.militar_loco_2 == null:
$TextureRect.texture = miliatr
if !Textos.militar_loco_3 == null:
$TextureRect.texture = miliatr
if !Textos.anim_primer_1_npc == null:
$TextureRect.texture = el_peluca
if !Textos.anim_primer_2_npc == null:
$TextureRect.texture = el_peluca
if Textos.retreo_separacion_2 == true:
$TextureRect.texture = info
if Textos.retrero_separacion == true:
$TextureRect.texture = info
if Textos.senal_puntas == true:
$TextureRect.texture = info
text script(singleton):
extends Node
#######**TEXTO**#######
var texto_actual = 0
var texto = []
var nombre = []
var nombre_actual = 0
#######**TEXTO**#######
#-----NAME_NPC----------
func _name(num):
nombre.clear()
match(num):
1:#INDICACION DE COMO HABLIR LA CASA#
nombre.append("DATO: ")
2:#BETA#
nombre.append("SATANICO DOCTOR CADILLAC")
3:#MILITAR 1#
nombre.append("MILITAR")
4:#MILITAR 2#
nombre.append("MILITAR")
5:#MILITAR 3#
nombre.append("MILITAR")
6:#GENERAL#
nombre.append("GENERAL")
get_tree().get_nodes_in_group("escrito")[0].get_node("Label").text = nombre[nombre_actual]
nombre_actual = 0
#-----NAME_NPC----------
#------REPRODUCE_TEXT-------
func _reproducir_textos(num):
texto.clear()
get_tree().get_nodes_in_group("escrito")[0].visible = true
get_tree().get_nodes_in_group("player")[0].move = true
match(num):
1:#INDICACION DE COMO HABLIR LA CASA#
texto.append("La puerta se encuentra cerrada...")
texto.append("Adelante hay una cueva en la que se puede encontrar la llave...")
texto.append("que tenga un buen dia")
2:#ANIMACION_1_PARTE_1#
texto.append("QUEEEEE..Sigues vivo.. crei que todos ustedes..")
texto.append("Maldicion, entonces todos fueron ejecutados sin razon")
texto.append("puedes entenderme verdad?")
texto.append(".........................")
texto.append("por supuesto fuistes programado para eso")
texto.append("Quien eres exactemente.. seras C11 o C08")
texto.append("Tendrian que avisar a las autoridades de tu existencia.")
texto.append("Pero esa gente me busca para ejecutarme..como hicieron con mis companeros")
texto.append("....MMMM...")
texto.append("Tengo una idea.. sigueme")
primer_1 = true
#------TEXT_PROCESSING------
func _procesar_texto():
if texto_actual ==texto.size():
get_tree().get_nodes_in_group("escrito")[0].visible = false
get_tree().get_nodes_in_group("player")[0].move = false
leyendo = false
else:
get_tree().get_nodes_in_group("escrito")[0].get_node("Label2").text = texto[texto_actual]
get_tree().get_nodes_in_group("escrito")[0].get_node("AnimationPlayer").play("leer")
tymer.start()
texto_actual +=1
#------TEXT_PROCESSING------