💎Crea un

āđāļŠāļĢāđŒ
āļāļąāļ‡
  • āđ€āļœāļĒāđāļžāļĢāđˆāđ€āļĄāļ·āđˆāļ­ 28 āļ˜.āļ„. 2024

āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™ • 16

  • @axelpessini1270
    @axelpessini1270 4 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

    Codigo C#:
    using Godot;
    using System;
    using System.Collections.Generic;
    public partial class npc_dialogo : Control
    {
    [Export]
    RichTextLabel label;
    Tween Textoanimado;
    private int dialogoIndice,actualNpc;
    public static readonly Dictionary diccionario = new Dictionary
    {
    {0,new []{"HOlaHOlaHOlaHOlaHOlaHOlaHOla","COmoHOlaHOlaHOlaHOla","EstasHOlaHOlaHOla"}},
    {1,new []{"Kie Onda","TOdo","BEm"}}
    };
    public override void _Ready()
    {
    Visible = false;
    _Start(0);
    }
    public void _Start(int npc)
    {
    Visible = true;
    dialogoIndice = 0;
    actualNpc = npc;
    Hablar();
    }
    public void Siguiente()
    {
    if(Textoanimado.IsRunning())
    {
    Textoanimado.Kill();
    label.VisibleRatio = 1;
    return;
    }
    if(diccionario.TryGetValue(actualNpc,out string[] arreglo))
    {
    if(dialogoIndice < arreglo.Length)
    {
    Hablar();
    }
    else
    {
    Visible = false;
    }
    }
    }
    string[] dialogo;
    public override void _Input(InputEvent @event)
    {
    if(Input.IsActionJustPressed("Siguiente"))
    {
    Siguiente();
    }
    }
    public void Hablar()
    {
    dialogo = diccionario[actualNpc]; //me da el arreglo de diccionario
    label.Text = dialogo[dialogoIndice];
    _Animaciontext();
    dialogoIndice += 1;
    }
    public void _Animaciontext()
    {
    label.VisibleRatio = 0;
    Textoanimado = CreateTween(); //ver funcion despues
    float velocidad_Texto = 0.05f * label.Text.Length;
    Textoanimado.TweenProperty(label,"visible_ratio",1,velocidad_Texto);
    }
    public void _on_button_pressed()
    {
    Siguiente();
    }
    }
    Muchas gracias por el tuto !!!!, aca dejo en C# para el que lo quiera usar, [Godot 4.2]

    • @Kyme-Game-Studios
      @Kyme-Game-Studios  3 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

      Tremendo!!, gracias por tomarte el tiempo de dejar este gran aporte!

    • @pollo1291
      @pollo1291 6 āļ§āļąāļ™āļ—āļĩāđˆāļœāđˆāļēāļ™āļĄāļē

      âĪ

  • @stefanygomez371
    @stefanygomez371 āļ§āļąāļ™āļ—āļĩāđˆāļœāđˆāļēāļ™āļĄāļē

    gracias bro eres un god :)))))

  • @numi_sol
    @numi_sol 7 āļ§āļąāļ™āļ—āļĩāđˆāļœāđˆāļēāļ™āļĄāļē

    no he terminado el vídeo, pero necesito agradecerte, he estado de tutorial en tutorial con los diÃĄlogos, pero ninguno me servía, hasta que encontrÃĐ tu vídeo y al fin me estÃĄ funcionando el cÃģdigo, mereces mÃĄs suscriptores!

    • @Kyme-Game-Studios
      @Kyme-Game-Studios  7 āļ§āļąāļ™āļ—āļĩāđˆāļœāđˆāļēāļ™āļĄāļē +1

  • @elma7as948
    @elma7as948 4 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    me parecio super util, gracias por el esfuerzo! aunque digas q un robo de vida, jaja! los sprite de gatitos salvaron la situacion

  • @CuriososSapiens
    @CuriososSapiens 10 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +2

    Amborgeza ðŸĪĢ🍔

    • @Kyme-Game-Studios
      @Kyme-Game-Studios  10 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

      ðŸ”ðŸą
      hice un video explicando maquinas de estado de forma simple, pero prometo que en la proxima serie haremos cosas mas "avanzadas" y ahi si que me extendere con el tema :D
      Lo del spawneo y drop de enemigos es una genial idea! , me lo anoto.

  • @kaiowafull
    @kaiowafull 10 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Genial, me hacía falta. A ver, si que me da toda la pereza lo de los temas, diÃĄlogos, etc.... pero es que un RPG vive de ellos. Pero si, me ha costado ver el vídeo centrado para entender bien y que no se me fuera la cabeza a otro sitio xDD Pero genial, me hacía falta! Muchas gracias!!

    • @Kyme-Game-Studios
      @Kyme-Game-Studios  10 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      con el tema de que te ha costado, te refieres a lo denso del tema o a la edicion? o a ambas? ,admito que abuse del zoom esta vez XD

    • @kaiowafull
      @kaiowafull 10 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      @@Kyme-Game-Studios el tema el tema, entre el anterior video y este, que los vi de una vez, se me hizo denso. Mucha informaciÃģn en un tema que me es mÃĄs pesado/dificil :P Y otra cosa, ya de paso. Estoy haciendo un diÃĄlogo, y consigo que funcione. El problema es que mi cÃĄmara sigue al personaje principal, por lo que claro, el diÃĄlogo queda en un sitio fijo. Estoy intentando mÃĐtodos para que se quede, por ejemplo, a 100px debajo del personaje, o intentando que aparezca en lo que se supone que es el centro de la cÃĄmara...vamos, que si me muevo, cuando toque al npc que tb se mueve, salga en una posiciÃģn fija relativa a la cÃĄmara....pero no lo doy conseguido ... Lo Último que he probado ha sido esto:
      var camera_rect = get_canvas_transform().affine_inverse().basis_xform(get_viewport_rect().size)
      $"../dialogos_npc".set_position(camera_rect)
      Pero tampoco me funciona... la variable "camera_rect" me da el centro relativo de la cÃĄmara, pero igual cuando lo asigno al diÃĄlogo, este se posiciona en una posiciÃģn relativa al mundo...ni idea. Âŋalguna idea para que salga en una posiciÃģn fija relativa a la pantalla de juego visible? ...

    • @kaiowafull
      @kaiowafull 10 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      Olvídalo..... soy tonto. Mientras te escribía lo anterior me dije Âŋy si almaceno la posiciÃģn del body que entra en el area2d y se lo asigno al diÃĄlogo? ...y listo! funcionÃģ!! Prefiero retocarlo porque queda descentrado y feo, pero por lo menos sale... lo que hice:
      var player_pos = body.get_position()
      $"../dialogos_npc".set_position(player_pos)

  • @CuriososSapiens
    @CuriososSapiens 10 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

    Muy buen contenido amigo , estaría genial si haces un video, state machine o spawn de enemigos con drop.

  • @dilphonex
    @dilphonex 7 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™ +1

    e aprendido mucho colega tenkiu 😎😎😎😎

    • @Kyme-Game-Studios
      @Kyme-Game-Studios  6 āļŦāļĨāļēāļĒāđ€āļ”āļ·āļ­āļ™āļāđˆāļ­āļ™

      de nenkiu!!