Nagi
Nagi
  • Видео 21
  • Просмотров 182 433
How to Add Interaction in Godot 4
Learn how to add objects you can interact with in your game project in Godot 4 using RayCasts, GD Script and a lil bit of reusing old videos-- magic, I meant magic! We'll not only create interactive buttons and doors, but also dabble with moving platforms, keys and chests too. Hey, does it bother anyone that Zelda games have keys in chests, when it should be keys opening chests instead?
Link to the project:
github.com/nagidev/godot-tutorials/tree/godot-4-interaction
If you have questions, comment them down below and I'll try my best to help you! If you enjoyed the video, make sure to eat one tomato!
Do you want to support my content? Consider buying me a coffee! It helps me stay motivated at ...
Просмотров: 32 897

Видео

How To Code Player Health & Fall Damage In Godot 4
Просмотров 7 тыс.Год назад
Learn how to code the player health. Also, while we're at it, let's learn how to add fall damage to the FPS controller and make it interact with the player health. So you'll not only learn how to add player health in Godot 4, but also how to add fall damage in Godot 4. That's right! 2 for the price of 1! It's a Godot 4 player health tutorial Godot 4 fall damage tutorial combo! Also, please stop...
How To Code An FPS Controller In Godot 4
Просмотров 10 тыс.Год назад
Learn how to create a basic FPS controller with crouching (Yeah I forgot about it last time lol) in Godot 4. •Links: Link to the project: github.com/nagidev/godot-tutorials/tree/godot-4-basic-fps If you have questions, comment them down below. If you enjoyed the video, drink apple juice. Do you want to support my content? ko-fi.com/nagidev
Whippid Devlog
Просмотров 1,1 тыс.Год назад
Go through my journey of working on a game, then abandoning it, and then working on it some more, and then abandoning it again, and then working on it even more, until I finally published it! Play the game: play.google.com/store/apps/details?id=org.nagidev.whippid If you enjoyed the video, give a flying kiss to the nearest frog! Do you want to support my content? Consider buying me a coffee! It...
Gamedev Youtuber's Boss Battle #1
Просмотров 1,1 тыс.Год назад
Watch as three game developers create their own unique boss battles. They attempt to create not only the toughest, but also the most fun bosses in the first episode of Gamedev RUclipsr's Boss Battle! Make sure to grab your buckets of popcorn and soda, because this challenge is going to get intense! Links: Play the game: nagidev.itch.io/gybb-1 Nekoto's channel: ruclips.net/user/NekotoArts Leon's...
How to Make Sage's Ice Wall in Godot 3
Просмотров 6 тыс.2 года назад
Learn how to make your game cooler with some ice walls. In this video learn how to use the dark magic of shaders to recreate Sage's ice wall ability from Valorant! Be warned though, shaders can get highly addictive and you might loose touch from reality if you get into them, but hey! Lookatda water VFX!!! (P.S. I'm kidding (about the addictive part, not the rest)) Links: Link to the project: gi...
How to Add Interaction in Godot 3
Просмотров 44 тыс.2 года назад
Learn how to make your fps controller interact with the game world. In this video learn how to add interactive objects like buttons, doors, elevators and NPCs to your fps game using raycasts, gd script and a lil bit of magic! Links: Link to the project: github.com/nagidev/godot-tutorials/tree/godot-3/Interact Tutorial Rayuse's video: ruclips.net/video/kJNvoIaZggw/видео.html If you have question...
How To Code An FPS Controller In Godot 3
Просмотров 28 тыс.2 года назад
Learn how to create the next first person shooter. In this video I will show you how you can create a FPS controller for your game project using GD Script. •Links: Link to the project: github.com/nagidev/godot-tutorials/tree/godot-3/FPS Tutorial If you have questions, comment them down below. If you enjoyed the video, make sure to vote for Sonic The Hedgehog! Wait Do you want to support my cont...
How To Make Dialogues In Godot 3
Просмотров 7 тыс.2 года назад
Learn how to bring your game characters to life using dialogues. In this video I will show you how you can create and use branching dialogues to your game project using the Dialogue Nodes addon. Highly useful for games such as RPGs, and... RPGs wait, hold up, look, almost every game can have dialogues as long it has some story. •Links: Link to the addon: godotengine.org/asset-library/asset/1197...
I made an Add-on for Godot | Dialogue Nodes Devlog
Просмотров 5 тыс.2 года назад
Last month, Mr Eliptik hosted a game jam but for Godot Addon. I created the addon Dialogue Nodes for the jam and polished it further while editing this video. The addon allows for creating branching dialogues with the use of graph nodes. Feel free to use the addon in your game projects! Links: Github : github.com/nagidev/DialogueNodes Itch : nagidev.itch.io/godot-dialogue-nodes Asset Library : ...
I made Zelda Breath of The Wild in Godot
Просмотров 8 тыс.3 года назад
I made Zelda Breath of The Wild in Godot
Love2D Tutorial | Flappy Bird Clone #2 | Make Games on Android
Просмотров 2,2 тыс.4 года назад
Love2D Tutorial | Flappy Bird Clone #2 | Make Games on Android
Love2D Tutorial | Flappy Bird Clone #1 | Make Games on Android
Просмотров 3,3 тыс.4 года назад
Love2D Tutorial | Flappy Bird Clone #1 | Make Games on Android
Game Music for Horror RPG | Cute & Scary
Просмотров 9975 лет назад
Game Music for Horror RPG | Cute & Scary
Love2D Tutorial | Basic Scene Management | Make Games on Android
Просмотров 4,1 тыс.5 лет назад
Love2D Tutorial | Basic Scene Management | Make Games on Android
Love 2D Tutorial | Basic Setup & Start Screen | Make games on a smartphone
Просмотров 2,7 тыс.5 лет назад
Love 2D Tutorial | Basic Setup & Start Screen | Make games on a smartphone
Love 2D Tutorial | Introduction | Make games on a smartphone
Просмотров 15 тыс.5 лет назад
Love 2D Tutorial | Introduction | Make games on a smartphone

Комментарии

  • @DevDuckDD
    @DevDuckDD 2 дня назад

    i want to ask you how you doing that 2d character movement of yourself ? i want to do this too

    • @NagiDev
      @NagiDev День назад

      That's done using Blender. I manually add each key frame lol.

  • @thortor1216
    @thortor1216 2 дня назад

    I don't know if I'm doing it wrong but I'm using Godot 4 and when I try to have multiple dialogues my program only uses the first one I made. Is there anyone who knows what im talking about

    • @NagiDev
      @NagiDev 2 дня назад

      By multiple dialogues, do you mean, multiple dialogue trees with their own StartNodes?

    • @thortor1216
      @thortor1216 День назад

      For example, I made a dialogue tree with the ID "Shop" and when I made the code $DialogueBox("Shop") it ran perfectly well. However, I made a second file and a second dialogue tree with the ID "Fisher", and when I rewrote the code to be $DialogueBox("Fisher") to see what would happen, the dialogue didn't appear. I don't know if I should have more than one dialogue file, or if I'm doing something wrong with trying to call the dialogue tree

    • @NagiDev
      @NagiDev День назад

      Did you change the dialogue file to the second file in the DialogueBox? I usually recommend having all related dialogue trees in a single file and just changing the start ID in the function call.

    • @thortor1216
      @thortor1216 День назад

      @@NagiDev Ok I'll try that

    • @thortor1216
      @thortor1216 День назад

      Ok it worked perfectly this time, thanks a ton! You've saved me a ton of headaches!

  • @andyandrew2453
    @andyandrew2453 5 дней назад

    This tutorial is gold. I tried to implement a stove with burning wood and I honestly I really believed that I could do that making multiple stove with the same script. Thanks GOD I found this life saving tutorial!

  • @Glanten
    @Glanten 11 дней назад

    I was just adding interactive objects to my first real project - my method starts similar to yours, with a RayCast3D, but I was using Groups to check for interactable items... using nodes as classes is a much better way of doing it, and matches what I'm doing with my player's stats and state machine too!

  • @sfmovies.
    @sfmovies. 12 дней назад

    Hello I Want To Display In Label3D But IDK How I Can Do. Does Anyone Know How I Can Do.

    • @NagiDev
      @NagiDev 11 дней назад

      If you just want to use a Label3D to display the dialogue text, you can use the DialogueParser node that comes with the addon. If you want to display the whole dialogue box in 3D space, you would have to use a viewport and viewport texture. An easier method would be to use the DialogueBubble node that comes with the addon.

  • @truenincillo805
    @truenincillo805 12 дней назад

    In the world I have created interaction with a friendly monster and player with a dialogue, but I have a problem, how do I make it so that when I press the button called yes in the dialogue, I want a function of the script (child node) of another scene (battle) to be activated, how do I make a function that I have created in that script (child node) be activated?

    • @NagiDev
      @NagiDev 12 дней назад

      In the dialogue editor, add a SignalNode in your dialogue, connect the dialogue signal function of the dialogueBox to the function you want to run. Hope this helps! If not, I'm here to help

    • @truenincillo805
      @truenincillo805 12 дней назад

      @@NagiDev Hello, I want to know if this method works, auto loading script, name Game signal activar_picapica_global func activar_picapica(): activar_picapica_global.emit() print("Activando picapica") script, name is ui extends Control var picapica_activado : bool = false # Controla si picapica está activado o no var picapica_instanciada : Node = null # Para almacenar la instancia de picapica @onready var picapica = preload("res://Escenas/ParaEquipo/pika_icon.tscn") # Preload de la escena con la animación @onready var posiciones = [ Vector2(350, 45), Vector2(350, 132), Vector2(350, 220), Vector2(350, 308), Vector2(350, 397), Vector2(350, 483) var animaciones_instanciadas = [] # Para hacer seguimiento de las animaciones instanciadas func _ready(): if Game.is_connected("activar_picapica_global", Callable(self, "activar_el_picapica")) == false: Game.connect("activar_picapica_global", Callable(self, "activar_el_picapica")) print("Señal conectada correctamente.") activar_el_picapica(false) func activar_el_picapica(activar: bool = false): print("se activo") if activar: controlar_picapica(true) else: controlar_picapica(false) func controlar_picapica(activar: bool) -> void: if activar and not picapica_activado: instanciar_animacion() # Instanciamos picapica usando el método ya creado picapica_activado = true for i in range(1, 7): mostrar_nodos_vida(i) # Mostrar los nodos de vida mostrar_boton_posicion(i) # Mostrar los botones de posición elif not activar and picapica_activado: if picapica_instanciada: picapica_instanciada.queue_free() # Elimina la animación picapica_instanciada = null # Limpia la referencia de la animación picapica_activado = false for i in range(1, 7): ocultar_nodos_vida(i) # Ocultar los nodos de vida ocultar_boton_posicion(i) # Ocultar los botones de posición actualizar_visibilidad() func instanciar_animacion(): for posicion in posiciones: var libre = true for anim in animaciones_instanciadas: if anim.position == posicion: libre = false break if libre: picapica_instanciada = picapica.instantiate() # Instanciamos la animación picapica_instanciada.position = posicion # Colocamos la animación en la posición libre cambiar.add_child(picapica_instanciada) # Añadimos la animación al nodo Cambiar picapica_instanciada.scale = Vector2(1.5, 1.5) animaciones_instanciadas.append(picapica_instanciada) # Agregamos la animación a la lista break # Salimos del ciclo ya que hemos colocado la animación actualizar_visibilidad() # Actualizamos la visibilidad después de instanciar la animación func actualizar_visibilidad(): for i in range(posiciones.size()): var posicion = posiciones[i] if hay_animacion_en_posicion(posicion): mostrar_nodos_vida(i + 1) # Mostrar los nodos correspondientes mostrar_boton_posicion(i + 1) # Mostrar el botón correspondiente else: ocultar_nodos_vida(i + 1) # Ocultar los nodos si no hay animación ocultar_boton_posicion(i + 1) # Ocultar el botón correspondiente si no hay animación func hay_animacion_en_posicion(posicion: Vector2) -> bool: for anim in animaciones_instanciadas: if anim.position == posicion: return true return false script , name is DialogScreen func _on_si_pressed() -> void: Game.activar_picapica() # Llama a la función global que emitirá la señal _on_no_pressed() # Esto cierra el diálogo si no se activa picapica I want to know if the method of when you press the button called yes from the DialogScreen script works, Game.activate_picapica() is activated, since it is an autoload from the Game script, and with the activate_el_picapica() function from the ui script what it does is a true or false to activate or deactivate (that's what I want), I don't know if it works?

    • @truenincillo805
      @truenincillo805 12 дней назад

      Hello, I want to know if this method works, auto loading script, name Game signal activar_picapica_global func activar_picapica(): activar_picapica_global.emit() print("Activando picapica") script, name is ui extends Control var picapica_activado : bool = false # Controla si picapica está activado o no var picapica_instanciada : Node = null # Para almacenar la instancia de picapica @onready var picapica = preload("res://Escenas/ParaEquipo/pika_icon.tscn") # Preload de la escena con la animación @onready var posiciones = [ Vector2(350, 45), Vector2(350, 132), Vector2(350, 220), Vector2(350, 308), Vector2(350, 397), Vector2(350, 483) var animaciones_instanciadas = [] # Para hacer seguimiento de las animaciones instanciadas func _ready(): if Game.is_connected("activar_picapica_global", Callable(self, "activar_el_picapica")) == false: Game.connect("activar_picapica_global", Callable(self, "activar_el_picapica")) print("Señal conectada correctamente.") activar_el_picapica(false) func activar_el_picapica(activar: bool = false): print("se activo") if activar: controlar_picapica(true) else: controlar_picapica(false) func controlar_picapica(activar: bool) -> void: if activar and not picapica_activado: instanciar_animacion() # Instanciamos picapica usando el método ya creado picapica_activado = true for i in range(1, 7): mostrar_nodos_vida(i) # Mostrar los nodos de vida mostrar_boton_posicion(i) # Mostrar los botones de posición elif not activar and picapica_activado: if picapica_instanciada: picapica_instanciada.queue_free() # Elimina la animación picapica_instanciada = null # Limpia la referencia de la animación picapica_activado = false for i in range(1, 7): ocultar_nodos_vida(i) # Ocultar los nodos de vida ocultar_boton_posicion(i) # Ocultar los botones de posición actualizar_visibilidad() func instanciar_animacion(): for posicion in posiciones: var libre = true for anim in animaciones_instanciadas: if anim.position == posicion: libre = false break if libre: picapica_instanciada = picapica.instantiate() # Instanciamos la animación picapica_instanciada.position = posicion # Colocamos la animación en la posición libre cambiar.add_child(picapica_instanciada) # Añadimos la animación al nodo Cambiar picapica_instanciada.scale = Vector2(1.5, 1.5) animaciones_instanciadas.append(picapica_instanciada) # Agregamos la animación a la lista break # Salimos del ciclo ya que hemos colocado la animación actualizar_visibilidad() # Actualizamos la visibilidad después de instanciar la animación func actualizar_visibilidad(): for i in range(posiciones.size()): var posicion = posiciones[i] if hay_animacion_en_posicion(posicion): mostrar_nodos_vida(i + 1) # Mostrar los nodos correspondientes mostrar_boton_posicion(i + 1) # Mostrar el botón correspondiente else: ocultar_nodos_vida(i + 1) # Ocultar los nodos si no hay animación ocultar_boton_posicion(i + 1) # Ocultar el botón correspondiente si no hay animación func hay_animacion_en_posicion(posicion: Vector2) -> bool: for anim in animaciones_instanciadas: if anim.position == posicion: return true return false script , name is DialogScreen func _on_si_pressed() -> void: Game.activar_picapica() # Llama a la función global que emitirá la señal _on_no_pressed() # Esto cierra el diálogo si no se activa picapica I want to know if the method of when you press the button called yes from the DialogScreen script works, Game.activate_picapica() is activated, since it is an autoload from the Game script, and with the activate_el_picapica() function from the ui script what it does is a true or false to activate or deactivate (that's what I want), I don't know if it works?

    • @truenincillo805
      @truenincillo805 12 дней назад

      @@NagiDev Hello, I want to know if this method works, auto loading script, name Game signal activar_picapica_global func activar_picapica(): activar_picapica_global.emit() print("Activando picapica") script, name is ui extends Control var picapica_activado : bool = false # Controla si picapica está activado o no var picapica_instanciada : Node = null # Para almacenar la instancia de picapica @onready var picapica = preload("res://Escenas/ParaEquipo/pika_icon.tscn") # Preload de la escena con la animación @onready var posiciones = [ Vector2(350, 45), Vector2(350, 132), Vector2(350, 220), Vector2(350, 308), Vector2(350, 397), Vector2(350, 483) var animaciones_instanciadas = [] # Para hacer seguimiento de las animaciones instanciadas func _ready(): if Game.is_connected("activar_picapica_global", Callable(self, "activar_el_picapica")) == false: Game.connect("activar_picapica_global", Callable(self, "activar_el_picapica")) print("Señal conectada correctamente.") activar_el_picapica(false) func activar_el_picapica(activar: bool = false): print("se activo") if activar: controlar_picapica(true) else: controlar_picapica(false) func controlar_picapica(activar: bool) -> void: if activar and not picapica_activado: instanciar_animacion() # Instanciamos picapica usando el método ya creado picapica_activado = true for i in range(1, 7): mostrar_nodos_vida(i) # Mostrar los nodos de vida mostrar_boton_posicion(i) # Mostrar los botones de posición elif not activar and picapica_activado: if picapica_instanciada: picapica_instanciada.queue_free() # Elimina la animación picapica_instanciada = null # Limpia la referencia de la animación picapica_activado = false for i in range(1, 7): ocultar_nodos_vida(i) # Ocultar los nodos de vida ocultar_boton_posicion(i) # Ocultar los botones de posición actualizar_visibilidad() func instanciar_animacion(): for posicion in posiciones: var libre = true for anim in animaciones_instanciadas: if anim.position == posicion: libre = false break if libre: picapica_instanciada = picapica.instantiate() # Instanciamos la animación picapica_instanciada.position = posicion # Colocamos la animación en la posición libre cambiar.add_child(picapica_instanciada) # Añadimos la animación al nodo Cambiar picapica_instanciada.scale = Vector2(1.5, 1.5) animaciones_instanciadas.append(picapica_instanciada) # Agregamos la animación a la lista break # Salimos del ciclo ya que hemos colocado la animación actualizar_visibilidad() # Actualizamos la visibilidad después de instanciar la animación func actualizar_visibilidad(): for i in range(posiciones.size()): var posicion = posiciones[i] if hay_animacion_en_posicion(posicion): mostrar_nodos_vida(i + 1) # Mostrar los nodos correspondientes mostrar_boton_posicion(i + 1) # Mostrar el botón correspondiente else: ocultar_nodos_vida(i + 1) # Ocultar los nodos si no hay animación ocultar_boton_posicion(i + 1) # Ocultar el botón correspondiente si no hay animación func hay_animacion_en_posicion(posicion: Vector2) -> bool: for anim in animaciones_instanciadas: if anim.position == posicion: return true return false script , name is DialogScreen func _on_si_pressed() -> void: Game.activar_picapica() # Llama a la función global que emitirá la señal _on_no_pressed() # Esto cierra el diálogo si no se activa picapica I want to know if the method of when you press the button called yes from the DialogScreen script works, Game.activate_picapica() is activated, since it is an autoload from the Game script, and with the activate_el_picapica() function from the ui script what it does is a true or false to activate or deactivate (that's what I want), I don't know if it works?

  • @weonlydesignonce
    @weonlydesignonce 13 дней назад

    Amazing tutorial! I just implemented the basics for my own interaction system, but was not 100% happy with the result. I also tried to make it as flexible as you, but it had a few unplanned limitations in the end. Your approach is way more elegant, I like it. Also there were some subtle mentions in this vid, that helped me to understand some of Godot's structure and how to best work with it better! Thank you so much and keep up the great work!

  • @herogirlsky2
    @herogirlsky2 15 дней назад

    I have a question, and what if i wanted to hold the object like a flashlight with this system?

    • @NagiDev
      @NagiDev 11 дней назад

      You can have a flashlight scene added to the player and enable/disable it when the player picks it up/throws it down.

  • @zedritian9500
    @zedritian9500 16 дней назад

    If I want to have multiple different keys for different doors, how would I do it?

    • @NagiDev
      @NagiDev 16 дней назад

      If you mean the physical in-game buttons, then just instantiate multiple button scenes, and connect them to the multiple doors, like shown in the tutorial. If you mean buttons as in the keyboard buttons, you just have to change the input action for the door/button from the inspector.

  • @BlueboxHS
    @BlueboxHS 19 дней назад

    my ray isn't going up and down its only going left and right

    • @NagiDev
      @NagiDev 18 дней назад

      did you add the raycast as a child of the head node?

    • @BlueboxHS
      @BlueboxHS 18 дней назад

      @ yes but i solved the problem it was just my camera control script being bad

    • @NagiDev
      @NagiDev 18 дней назад

      oki doki

  • @Anthony_Lara
    @Anthony_Lara 25 дней назад

    empieza en el 2:40

  • @celestialteapot6677
    @celestialteapot6677 26 дней назад

    I almost never comment on videos. I want you to know that this playlist has been extremely helpful to me and has put me on a path to actually completing my game. Thank you so much

  • @ProgrammerPenguin
    @ProgrammerPenguin 29 дней назад

    just because of THAT intro, im subbing.

  • @Whhatt
    @Whhatt Месяц назад

    Very good keep it up

  • @broszurka
    @broszurka Месяц назад

    amazing and adorable ;3

  • @547t_gaming
    @547t_gaming Месяц назад

    Why does this doesnt work on multiplayer only the host can do this

    • @NagiDev
      @NagiDev Месяц назад

      This tutorial only teaches the actual interaction mechanism. For multiplayer games you would have to manage the interaction state across the host and client depending on how you've structured your project.

    • @547t_gaming
      @547t_gaming 28 дней назад

      ​@@NagiDev i found out how to do it i need to connect it from the script it works now yay

  • @DevDuckDD
    @DevDuckDD Месяц назад

    6 months!! has he forgotten that he has to complete the game ?

    • @NagiDev
      @NagiDev Месяц назад

      I'm trying 😭

    • @DevDuckDD
      @DevDuckDD Месяц назад

      @@NagiDev np bro you probably busy with other stuff hope so next vid will be soon and Fantastic 🤙 edit:- please cover these topics - Sprint & stamina, enemy & Npc, it would be helpful

    • @NagiDev
      @NagiDev Месяц назад

      @Husk947 I'm working on NPC tutorial rn lol!

    • @DevDuckDD
      @DevDuckDD Месяц назад

      @@NagiDev maybe i saw a npc interaction in old godot 3 interaction tutorial so if you can make tutorial on enemy would be more important ig although npc is also cool

  • @karmatick4418
    @karmatick4418 Месяц назад

    How do you open it seemlessly?

    • @NagiDev
      @NagiDev Месяц назад

      I'm not sure I understand

  • @karmatick4418
    @karmatick4418 Месяц назад

    Just a question... Aee there apps like droid edit? I cant find it on playstore...

    • @NagiDev
      @NagiDev Месяц назад

      I guess QuickEdit seems like a similar app, although I haven't used it so I can't guarantee it will work

  • @nowl7834
    @nowl7834 Месяц назад

    this video is an actual hidden gem, its not even boring!

  • @codeimagine6824
    @codeimagine6824 Месяц назад

    will it be easy to add this a 2d platformer great tutorial btw

    • @NagiDev
      @NagiDev Месяц назад

      Yes, you'll have to use 2D variants of the nodes and update the code a bit and it should work.

  • @swibsubswab
    @swibsubswab Месяц назад

    For anyone having trouble with dialogues attached to an npc, you can just do an @onready thing instead of a direct reference.

    • @maxgevans
      @maxgevans Месяц назад

      What do you mean by that?

    • @swibsubswab
      @swibsubswab Месяц назад

      @@maxgevanssomething like @onready var db: DialogueBox = $CanvasLayer/DialogueBox

  • @That_0ne_Dev
    @That_0ne_Dev Месяц назад

    It's the spam we like

  • @ArdentCadenza
    @ArdentCadenza Месяц назад

    The Narrative Featuring a Female Human has been my favorite series for a while now, and to see Movement of Various Gasses Through Undomesticated Domains in my game engine is so inspiring.

  • @AzaIndustries
    @AzaIndustries 2 месяца назад

    Started strong and god better. Nice work.

  • @JcommeJeBande
    @JcommeJeBande 2 месяца назад

    where is The ' GameState ' var ?

    • @NagiDev
      @NagiDev 2 месяца назад

      Its an autoload script that I created in the previous tutorial.

    • @JcommeJeBande
      @JcommeJeBande 2 месяца назад

      @NagiDev OK thx ( you r so fast wtf 🤣 )

  • @Sophix-s8m
    @Sophix-s8m 2 месяца назад

    I can not thank you so much for this great video! I looked through your Github project and noticed that you use your GameState.gdscript in the world node on on the Remote instead of Local, how do you do that? I almost got my own lock and key set up.

  • @josueadair5935
    @josueadair5935 2 месяца назад

    I just discover this channel! hope u still active (this help me a lot!)

    • @NagiDev
      @NagiDev 2 месяца назад

      hehe I just have a terrible upload schedule don't worry

  • @Vezu09
    @Vezu09 2 месяца назад

    Impossible to delete a dialogue? - (Found out, read replies :D)

    • @NagiDev
      @NagiDev 2 месяца назад

      Have you tried to select the DialogueNode and press delete key?

    • @Vezu09
      @Vezu09 2 месяца назад

      @@NagiDev Wow thanks for answering so quick :D - Sorry just figured out now. For Mac users, you can't just press Command + Backspace (as used to delete nodes and other things). In this case in particular, to delete Dialogue nodes, I had to press Fn+Backspace, then it worked. Again thanks for answering quick :))

    • @NagiDev
      @NagiDev 2 месяца назад

      @Vezu09 I'm sorry I don't have a mac so I haven't really tested the plugin over there. Feel free to contact me if you need any assistance with the plugin. I'm happy to help!

    • @Vezu09
      @Vezu09 2 месяца назад

      @@NagiDev Thank you for your concern, no problems, all sorted out :)

  • @kipa_chu
    @kipa_chu 2 месяца назад

    It falls apart for big projects. Good for beginner or someone who has never written software. For anyone who is serious just use Unity.

    • @NagiDev
      @NagiDev 2 месяца назад

      skill issue tbh lol

  • @TheRealKaiProton
    @TheRealKaiProton 2 месяца назад

    Fantastic, Im watching while at work lol, Cant wait to get home and try this out. this is the reason I started this playlist, I had a 3d scene with a little dude wandering about, and looking online all the things for switches and signals were mental, wanting global scripts with lists of items for interaction and all kinds of crazy, This is exactly what I wanted, assign a button to an object, and have the button do stuff with the object..

  • @TheRealKaiProton
    @TheRealKaiProton 2 месяца назад

    Another good video.

  • @kipa_chu
    @kipa_chu 2 месяца назад

    amazing, looking for udemy course from you.

  • @quiet5445
    @quiet5445 3 месяца назад

    AYE BRO BEST OF LUCK BROO FOR YOUR GAME IT SEEMS YOU HAVE WORKED QUITE HARD SINCE I CAN SEE REALLY NICE IMPLEMENTATION OF SOME MECHANICS WAITING FOR YOU TO COMPLETE THIS AND VERY BEST OF LUCK BRO !!

  • @_xome4ok_348
    @_xome4ok_348 3 месяца назад

    nice

  • @fr_tian
    @fr_tian 3 месяца назад

    That's the first time I've seen someone creating rough, height and normal maps. This was very educational tysm

  • @fr_tian
    @fr_tian 3 месяца назад

    Welcome back

  • @fr_tian
    @fr_tian 3 месяца назад

    ShapeCast3D bugged so much for me! For some reason it kept running below the ground. If you got this same issue my fix was fixing the shapeCast y position to the head y position - margin (0.10 in my case) in the physics process function.

  • @fr_tian
    @fr_tian 3 месяца назад

    Great tutorial, very good use of inheritance.

    • @fr_tian
      @fr_tian 3 месяца назад

      Now come back, it's been 5 months already 😂

    • @NagiDev
      @NagiDev 3 месяца назад

      I'm trying but video editing is hard 😭

    • @fr_tian
      @fr_tian 3 месяца назад

      @@NagiDev ik, I've been stuck on the intro of my first video for a few weeks now 😭

  • @TiptoeAndDoomsday
    @TiptoeAndDoomsday 3 месяца назад

    Thank you so much for this video, huge help!

  • @BAGG-b1o
    @BAGG-b1o 3 месяца назад

    When I implemented the gravity, there was an error that was that it couldn't convert Vector3 to float: velocity.x = lerp(velocity.x, MoveDir * speed, accel * delta) velocity.z = lerp(velocity.z, MoveDir * speed, accel * delta) velocity = move_and_slide(velocity, Vector3.UP) what did I do wrong?

    • @NagiDev
      @NagiDev 3 месяца назад

      What version of Godot are you using?

    • @BAGG-b1o
      @BAGG-b1o 3 месяца назад

      @@NagiDev 3.5

    • @NagiDev
      @NagiDev 3 месяца назад

      You didn't write .x and .z after MoveDir. You code should look like: velocity.x = lerp(velocity.x, MoveDir.x * speed, accel * delta) velocity.z = lerp(velocity.z, MoveDir.z * speed, accel * delta)

    • @BAGG-b1o
      @BAGG-b1o 3 месяца назад

      @@NagiDev Thank you so much 😁

  • @Dial8Transmition
    @Dial8Transmition 3 месяца назад

    6:00 So I'm a bit confused about the mesh thing. I have models that I've made in blender but can't seem to use them as meshes for my static body. I've tried both gltf and glb files but when I import them they turn into 3DNodes and need inherited scenes

    • @NagiDev
      @NagiDev 3 месяца назад

      The easy method (which I used) is to open the gltf as an inherited scene, copy the mesh instance and paste it in your scene. An even easier solution is to just drag and drop the gltf in your scene.

  • @pandapruitt2542
    @pandapruitt2542 3 месяца назад

    Guide is good, I did find that the way you coded game overs did not have anything about setting the players health back to 100 after restarting right? So I went and tested it and unless I missed something that is the case(I probably missed something) soooo just in case you did not notice that then there you go haha, you respawn with essentially 0 hp

    • @NagiDev
      @NagiDev 3 месяца назад

      yup I missed that part lol

  • @man3d
    @man3d 3 месяца назад

    Hi man!, everything works, but how to do if I want each button to have different sounds? Inheritance with signals breaks the system, and also how to run different streams in the audio player through the code? I'm not really strong in the code so please give me a hint!

    • @casparschoolderman975
      @casparschoolderman975 17 дней назад

      You can make the sound variable exportable so that you can set the sound for each interactable. Just like the messages

  • @squishiestrosie
    @squishiestrosie 3 месяца назад

    I just want to say thank you so much for making these even though Dialogic is like "the go to" add on for this stuff. Like you said in your video, I never really liked the workflow on Dialogic. It felt a bit too cramped and very non-coder-esque if that makes sense. I don't know, I just didn't like how it felt. But I do really like how this one feels, so just thanks for putting it together! Its gonna help me a lot.

  • @mellowmelly9258
    @mellowmelly9258 3 месяца назад

    does the way that one would implement a dialogue box be the same? i.e. would we be able to follow the same steps as the previous tutorial?

    • @NagiDev
      @NagiDev 3 месяца назад

      Pretty much, yeah

  • @Synthverge
    @Synthverge 3 месяца назад

    if i were to interact with a button, how would i go about making it invisible?

    • @NagiDev
      @NagiDev 3 месяца назад

      If you don't want the button to be visible you can just skip the step of adding a mesh to it

    • @Synthverge
      @Synthverge 3 месяца назад

      @@NagiDev i mean, after interacting with it, i want it to go invisible. how exactly would i go about that?

    • @NagiDev
      @NagiDev 3 месяца назад

      To make the button invisible after interaction you can call hide() or $Button.hide() at the end of the _on_interacted() function that is triggered by the interacted signal. However the button would still be interactive even after being invisible. To prevent that, you can simply call queue_free() instead of hide() to delete the button after interaction; or you can create a variable to store whether the object is interactive or not and set it to false on interaction.

  • @stabbedbyapanda
    @stabbedbyapanda 4 месяца назад

    >.> Need more of your First Person tuts <3

    • @NagiDev
      @NagiDev 4 месяца назад

      Will do! I'm just struggling to find motivation to get back to making more tuts

    • @stabbedbyapanda
      @stabbedbyapanda 4 месяца назад

      @@NagiDev ah rip I feel yah, any cool projects or what not?

    • @NagiDev
      @NagiDev 4 месяца назад

      nop, just sitting lol

    • @stabbedbyapanda
      @stabbedbyapanda 4 месяца назад

      @@NagiDev rip :c

  • @pixelgoose98
    @pixelgoose98 4 месяца назад

    THIS WASSS SOOOOOOO HELPFULL!!!!!!!1

  • @pixelgoose98
    @pixelgoose98 4 месяца назад

    THIS WAS SOOOOO HELPFULLLLLL